@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0, 0, var(--toastify-z-index));width:var(--toastify-toast-width);box-sizing:border-box;color:#fff;padding:4px;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (width<=480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0;padding:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y:0;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;border-radius:var(--toastify-toast-bd-radius);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;z-index:0;direction:ltr;justify-content:space-between;margin-bottom:1rem;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.Toastify__toast--stacked{width:100%;transform:translate3d(0, var(--y), 0) scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g) * 1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{flex:auto;align-items:center;margin:auto 0;padding:6px;display:flex}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;flex-shrink:0;width:20px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (width<=480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;align-self:flex-start;padding:0;transition:all .3s}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:0;border-bottom-left-radius:var(--toastify-toast-bd-radius);position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, var(--y), 0)}to{opacity:0;transform:translate3d(2000px, var(--y), 0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, var(--y), 0)}to{opacity:0;transform:translate3d(-2000px, var(--y), 0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0,0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0, var(--y), 0) scale3d(.3, .3, .3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0, var(--y), 0) perspective(400px)}30%{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(110%, var(--y), 0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(-110%, var(--y), 0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-page{background:linear-gradient(160deg, var(--brand-navy) 0%, #122b4a 30%, var(--brand-blue) 70%, var(--brand-sky) 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle,#1a8dcb40 0%,#0000 65%);border-radius:50%;width:700px;height:700px;animation:10s ease-in-out infinite glow-drift;position:absolute;top:-250px;right:-200px}.login-page:after{content:"";background:radial-gradient(circle,#d354001a 0%,#0000 65%);border-radius:50%;width:500px;height:500px;animation:12s ease-in-out infinite reverse glow-drift;position:absolute;bottom:-200px;left:-100px}@keyframes glow-drift{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-20px)scale(1.08)}}.login-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:10;background:#fffffff7;border-radius:24px;flex-direction:column;width:100%;max-width:430px;padding:48px 44px;animation:.6s cubic-bezier(.16,1,.3,1) both card-enter;display:flex;position:relative;box-shadow:0 4px 6px #0000000d,0 20px 60px #0003}.login-card:before{content:"";background:var(--accent-gradient);border-radius:0 0 4px 4px;height:4px;position:absolute;top:0;left:40px;right:40px}@keyframes card-enter{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.login-logo{text-align:center;margin-bottom:36px}.login-logo-icon{background:var(--primary-gradient);color:#fff;border-radius:20px;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 18px;font-size:1.85rem;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 8px 24px #155a8a4d,0 2px 8px #155a8a26}.login-logo-icon:hover{transform:scale(1.05)rotate(-3deg);box-shadow:0 12px 32px #155a8a59,0 4px 12px #155a8a33}.login-logo h1{letter-spacing:-.03em;background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:2.4rem;font-weight:800}.login-logo p{color:#6b7b8d;letter-spacing:.01em;font-size:.9rem;font-weight:500}.login-form{flex-direction:column;gap:20px;display:flex}.login-field{flex-direction:column;gap:7px;display:flex}.login-field label{color:#3d5168;letter-spacing:.02em;font-size:.85rem;font-weight:600}.login-input-wrapper{position:relative}.login-field-icon{color:#94a3b8;font-size:1.05rem;transition:color .25s;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.login-field input{color:#1e293b;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:14px 18px 14px 48px;font-size:.95rem;transition:all .25s}.login-field input::placeholder{color:#a0aec0}.login-field input:hover{background:var(--bg-elevated);border-color:#cbd5e1}.login-field input:focus{border-color:var(--primary);background:var(--bg-elevated);outline:none;box-shadow:0 0 0 4px #155a8a1a}.login-field input:focus~.login-field-icon,.login-field input:focus+.login-field-icon{color:var(--primary)}.login-btn{background:var(--primary-gradient);color:var(--text-inverse);cursor:pointer;letter-spacing:.02em;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-top:12px;padding:15px;font-size:1rem;font-weight:700;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #155a8a4d}.login-btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.login-btn:hover:after{left:100%}.login-btn:hover{background:linear-gradient(135deg,#1a6fa0 0%,#1e8ecc 100%);transform:translateY(-2px);box-shadow:0 8px 28px #155a8a66}.login-btn:active{transform:translateY(0);box-shadow:0 2px 8px #155a8a4d}.login-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.login-separator{color:#fff6;align-items:center;gap:12px;margin:20px 0 16px;font-size:.85rem;display:flex}.login-separator:before,.login-separator:after{content:"";background:#ffffff26;flex:1;height:1px}.login-btn-helpstock{border:none;width:100%;margin-top:0;background:linear-gradient(135deg,#f97316,#ea580c)!important}.login-btn-helpstock:hover{box-shadow:0 4px 16px #f9731659;background:linear-gradient(135deg,#fb923c,#f97316)!important}.login-hint{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-tertiary);text-align:left;margin:16px 0 0;padding:12px 14px;font-size:.8rem;line-height:1.5}.login-hint strong{color:var(--text-secondary);font-weight:600}.not-found-card{text-align:center;max-width:420px}.not-found-code{background:var(--primary-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:4.5rem;font-weight:800;line-height:1}.not-found-title{color:var(--text-primary);margin:12px 0 8px;font-size:1.35rem;font-weight:700}.not-found-text{color:var(--text-tertiary);margin:0 0 28px;font-size:.95rem;line-height:1.5}@media (width<=480px){.login-page{padding:16px}.login-card{border-radius:20px;padding:36px 24px}.login-logo h1{font-size:2rem}.login-card:before{left:24px;right:24px}}.confirm-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.confirm-box{background:var(--bg-card,#fff);text-align:center;border-radius:12px;width:90%;max-width:400px;padding:2rem;animation:.2s slideUp;box-shadow:0 20px 60px #0000004d}.confirm-icon{margin-bottom:1rem;font-size:2.5rem}.confirm-icon--danger{color:var(--danger,#ef4444)}.confirm-icon--warning{color:var(--warning,#f59e0b)}.confirm-title{color:var(--text-primary,#1e293b);margin:0 0 .5rem;font-size:1.15rem}.confirm-message{color:var(--text-secondary,#64748b);margin:0 0 1.5rem;font-size:.95rem;line-height:1.5}.confirm-actions{justify-content:center;gap:.75rem;display:flex}.confirm-actions .btn{cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.confirm-actions .btn:hover{opacity:.85}.confirm-actions .btn-secondary{background:var(--bg-secondary,#f1f5f9);color:var(--text-primary,#1e293b)}.confirm-actions .btn-danger{background:var(--danger,#ef4444);color:#fff}.confirm-actions .btn-warning{background:var(--warning,#f59e0b);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{min-height:100%;padding:0}.dash-main-content{margin-top:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.titles{flex-direction:column;gap:.25rem;display:flex}.titles h2{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:800}.dash-header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.profile-area{align-items:center;gap:1.25rem;display:flex}.avatar-main{background:var(--primary-gradient);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-colored);border-radius:16px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.gGreetings p{color:var(--text-tertiary);margin:0;font-size:.875rem}.gGreetings h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.header-actions{align-items:center;gap:1.5rem;display:flex}.notif-bell{background:var(--bg-elevated);width:44px;height:44px;color:var(--text-tertiary);border:1.5px solid var(--border-color);cursor:pointer;transition:all var(--t-base);border-radius:14px;justify-content:center;align-items:center;display:flex;position:relative}.notif-bell:hover{border-color:var(--primary);color:var(--primary)}.red-dot{background:var(--accent-rose);border:2px solid #fff;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot;position:absolute;top:10px;right:12px}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.current-date-box{background:var(--bg-elevated);color:var(--text-secondary);border:1.5px solid var(--border-color);border-radius:14px;align-items:center;gap:.75rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.glass-morph{background:var(--bg-elevated);border:1px solid #e5e7ebcc;border-radius:20px;padding:1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.glass-morph:before{content:"";background:var(--primary-gradient);opacity:0;border-radius:20px 20px 0 0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.glass-morph:hover:before{opacity:1}.dash-grid-5{grid-template-columns:repeat(5,1fr);gap:1.25rem;margin-bottom:2rem;display:grid}.dash-grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.75rem;margin-bottom:2.5rem;display:grid}.stat-card{cursor:default}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.stat-card.warning:before{opacity:1;background:linear-gradient(90deg,#f59e0b,#f97316)}.stat-card.info:before{opacity:1;background:linear-gradient(90deg,#06b6d4,#0ea5e9)}.stat-card.success:before{opacity:1;background:linear-gradient(90deg,#10b981,#34d399)}.stat-header{justify-content:space-between;margin-bottom:1.25rem;display:flex}.stat-icon-wrapper{border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.3rem;display:flex}.stat-icon-wrapper.blue{color:var(--primary);background:linear-gradient(135deg,#e8f4fc,#d1e8f8)}.stat-icon-wrapper.orange{color:#ea580c;background:linear-gradient(135deg,#fff7ed,#ffedd5)}.stat-icon-wrapper.green{color:#059669;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.stat-icon-wrapper.amber{color:#d97706;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.stat-icon-wrapper.cyan{color:#0891b2;background:linear-gradient(135deg,#ecfeff,#cffafe)}.stat-icon-wrapper.white-icon{color:#fff;background:#fff3}.stat-badge{border-radius:8px;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.75rem;font-weight:600;display:flex}.stat-badge.positive{color:#166534;background:#dcfce7}.stat-main h3{color:var(--text-primary);margin-bottom:.25rem;font-size:2.25rem;font-weight:800}.stat-main p{color:var(--text-tertiary);margin-bottom:.75rem;font-size:.875rem}.primary-gradient{color:#fff;background:var(--primary-gradient)!important;border:none!important}.primary-gradient:before{display:none}.primary-gradient h3{color:#fff}.primary-gradient p{color:#ffffffd9}.role-chip{background:var(--primary-gradient);color:#fff;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;border-radius:8px;margin-left:.5rem;padding:3px 10px;font-size:.65rem;font-weight:700}.dash-header-btns{align-items:center;gap:.75rem;display:flex}.btn-outline{background:var(--bg-elevated);color:var(--text-secondary);border:1.5px solid var(--border-color);cursor:pointer;transition:all var(--t-base);border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;display:flex}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.admin-panels{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:.5rem;display:grid}.panel-card{padding:1.5rem}.panel-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.panel-header h3{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:700;display:flex}.btn-link{color:var(--primary);cursor:pointer;transition:all var(--t-base);background:0 0;border:none;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.btn-link:hover{opacity:.7}.type-bars{flex-direction:column;gap:.85rem;display:flex}.type-bar-row{align-items:center;gap:.75rem;display:flex}.type-bar-label{min-width:130px;color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.type-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.type-bar-track{background:#f1f5f9;border-radius:4px;flex:1;height:8px;overflow:hidden}.type-bar-fill{border-radius:4px;min-width:4px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.type-bar-count{color:var(--text-primary);text-align:right;min-width:70px;font-size:.85rem;font-weight:700}.type-bar-count small{color:var(--text-tertiary);font-weight:500}.activity-list{flex-direction:column;display:flex}.activity-item{cursor:pointer;transition:all var(--t-base);border-bottom:1px solid #f1f5f9;align-items:center;gap:.85rem;padding:.75rem 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f8fafc;margin:0 -1.5rem;padding-left:2.35rem;padding-right:1.5rem}.activity-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.activity-content{flex-direction:column;flex:1;gap:2px;display:flex}.activity-patient{color:var(--text-primary);font-size:.9rem;font-weight:600}.activity-meta{color:var(--text-tertiary);font-size:.78rem}.activity-time{color:var(--text-quaternary);white-space:nowrap;font-size:.75rem}.status-tag{border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:600}.status-tag.EN_COURS{color:#92400e;background:#fef3c7}.status-tag.ATTENTE_PHARMACIEN{color:#9d174d;background:#fce7f3}.status-tag.ATTENTE_SECRETARIAT{color:#1e40af;background:#dbeafe}.status-tag.COMPLETE,.status-tag.ARCHIVE{color:#166534;background:#dcfce7}.welcome-banner{background:linear-gradient(135deg, #0f3460 0%, var(--primary) 40%, #1a8dcb 70%, #1a9fd6 100%);color:#fff;border-radius:24px;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding:3rem;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #155a8a40}.welcome-banner:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;right:-20%}.welcome-banner:after{content:"";background:radial-gradient(circle,#ffffff0f 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;bottom:-30%;left:10%}.welcome-text{z-index:1;position:relative}.welcome-text h2{margin-bottom:.5rem;font-size:1.75rem;font-weight:800}.welcome-text p{opacity:.9;font-size:1.05rem}.btn-white{background:var(--bg-elevated);color:var(--primary);transition:all var(--t-base);z-index:1;border-radius:14px;align-items:center;gap:.75rem;padding:.85rem 1.75rem;font-weight:700;display:flex;position:relative;box-shadow:0 4px 16px #0000001a}.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.quick-stats-row{gap:1.5rem;margin-bottom:2.5rem;display:flex}.q-stat{background:var(--bg-elevated);border:1px solid var(--border-color);transition:all var(--t-base);border-radius:18px;flex:1;align-items:center;gap:1rem;padding:1.5rem;display:flex}.q-stat:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.q-stat .icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.5rem;display:flex}.q-stat .icon.indigo{color:var(--primary);background:#e8f4fc}.q-stat .icon.amber{color:#d97706;background:#fef3c7}.q-stat .icon.pink{color:#db2777;background:#fce7f3}.q-stat .icon.green{color:#16a34a;background:#dcfce7}.q-val{color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1;display:block}.q-label{color:var(--text-tertiary);font-size:.8rem;font-weight:500}.completed-item{opacity:.75}.completed-item:hover{opacity:1}.success-box{color:#16a34a!important;background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important}.inter-section{margin-bottom:2rem}.inter-section h3{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.15rem;font-weight:700;display:flex}.inter-section h3:before{content:"";background:var(--primary-gradient);border-radius:4px;width:4px;height:20px}.intervention-modern-list{flex-direction:column;gap:1rem;display:flex}.inter-item{background:var(--bg-elevated);cursor:pointer;border:1px solid var(--border-color);border-radius:18px;align-items:center;gap:1.25rem;padding:1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.inter-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translate(6px)}.inter-icon-box{width:52px;height:52px;color:var(--primary);background:linear-gradient(135deg,#e8f4fc,#d1e8f8);border-radius:14px;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.inter-details{flex:1}.inter-details .top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.inter-details h4{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.inter-details .bottom{color:var(--text-tertiary);gap:1.5rem;font-size:.8rem;display:flex}.chevron{color:var(--text-quaternary);transition:all var(--t-base);font-size:1rem}.inter-item:hover .chevron{color:var(--primary);transform:translate(4px)}.badge-status{text-transform:uppercase;letter-spacing:.02em;border-radius:20px;padding:5px 12px;font-size:.7rem;font-weight:700}.badge-status.EN_COURS{color:#92400e;background:#fef3c7}.badge-status.COMPLETE{color:#065f46;background:#d1fae5}.empty-msg{text-align:center;color:var(--text-quaternary);padding:3rem;font-size:1rem;font-weight:500}.pharma-header-modern{justify-content:space-between;align-items:flex-end;margin-bottom:2rem;display:flex}.pharma-section-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:1.5rem 0 1rem;font-size:1.05rem;font-weight:700;display:flex}.pre-title{color:var(--accent-violet);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:700}.notif-badge-large{border-radius:14px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;display:flex}.notif-badge-large.neon{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fff7ed);border:1px solid #fde68a}.pharma-tabs{border-bottom:2px solid var(--border-color);gap:1rem;margin-bottom:2rem;padding-bottom:0;display:flex}.pharma-tabs button{color:var(--text-tertiary);cursor:pointer;transition:all var(--t-base);background:0 0;border:none;padding:.85rem 1.25rem;font-weight:600;position:relative}.pharma-tabs button.active{color:var(--primary)}.pharma-tabs button.active:after{content:"";background:var(--primary-gradient);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-2px;left:0;right:0}.pharma-tabs button:hover{color:var(--primary)}.pharma-grid-main{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.75rem;display:grid}.pharma-card{cursor:pointer;border-radius:20px;padding:1.75rem;transition:all .25s}.pharma-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.warning-border{border-left:4px solid var(--accent-amber)!important}.card-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cat-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:8px;padding:4px 12px;font-size:.7rem;font-weight:700}.cat-tag.o2{color:#1e40af;background:linear-gradient(135deg,#dbeafe,#eff6ff)}.date-tag{color:var(--text-tertiary);font-size:.8rem}.card-footer{justify-content:space-between;align-items:center;margin-top:1.25rem;display:flex}.tech-name{color:var(--text-tertiary);font-size:.8rem;font-weight:500}.btn-validate{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-colored);transition:all var(--t-base);border:none;border-radius:10px;padding:8px 16px;font-size:.8rem;font-weight:700}.btn-validate:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4f46e540}.dash-header-actions{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.dash-header-actions h2{color:var(--text-primary);font-size:1.5rem;font-weight:800}.empty-state-full{text-align:center;flex-direction:column;grid-column:1/-1;align-items:center;gap:1rem;padding:3rem;display:flex}.empty-pharma-box{text-align:center;color:var(--text-quaternary);flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}.status-label.verified{color:var(--success);align-items:center;gap:4px;font-weight:600;display:flex}.ready-to-download{border-left:4px solid var(--success)}.actions-secretaire{align-items:center;gap:.5rem;display:flex}.btn-dl{background:var(--success-light);color:var(--success-dark);transition:all var(--t-base);border:1px solid #d1fae5;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;display:flex}.btn-dl:hover{background:var(--success);color:#fff}.btn-cloture-final{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--t-base);border-radius:10px;padding:8px 14px;font-size:.8rem;font-weight:600}.btn-cloture-final:hover{background:var(--bg-secondary)}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.shake{animation:.5s ease-in-out 3 shake}@media (width<=1024px){.dash-grid-5{grid-template-columns:repeat(3,1fr)}.admin-panels{grid-template-columns:1fr}}@media (width<=768px){.dashboard-container{padding:0}.dash-header{flex-direction:column;align-items:stretch;gap:1rem}.welcome-banner{text-align:center;flex-direction:column;gap:1.5rem;padding:2rem}.quick-stats-row{flex-direction:column}.pharma-grid-main{grid-template-columns:1fr}.dash-grid-5{grid-template-columns:repeat(2,1fr)}.dash-header-btns{flex-wrap:wrap}.type-bar-label{min-width:100px}.inter-item{flex-wrap:wrap;gap:.75rem}.actions-secretaire{justify-content:flex-end;width:100%}}.dash-loading{justify-content:center;align-items:center;min-height:50vh;display:flex}.dash-loading .spinner{border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;animation:.7s linear infinite loader-spin}@keyframes loader-spin{to{transform:rotate(360deg)}}.tech-progress-card{margin-bottom:2rem;padding:1.5rem 2rem!important}.tech-progress-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.tech-progress-header h3{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:700;display:flex}.tech-progress-bar-container{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.tech-progress-bar{background:#f1f5f9;border-radius:6px;flex:1;height:12px;overflow:hidden}.tech-progress-fill{background:linear-gradient(90deg,#10b981,#34d399);border-radius:6px;min-width:4px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.tech-progress-pct{color:#10b981;text-align:right;min-width:48px;font-size:1.25rem;font-weight:800}.tech-progress-legend{color:var(--text-tertiary);gap:1.5rem;font-size:.8rem;font-weight:500;display:flex}.legend-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:.35rem;display:inline-block}.green-dot{background:#10b981}.amber-dot{background:#f59e0b}.pink-dot{background:#db2777}.tech-two-cols{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.urgent-card{animation:2s ease-in-out infinite pulse-urgent;border-left-color:#ef4444!important}@keyframes pulse-urgent{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 4px #ef44441a}}.urgent-item{border-left:4px solid #ef4444}.wait-tag{color:var(--text-tertiary);align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}.wait-tag.urgent{color:#ef4444;font-weight:700}.wait-tag-inline{color:var(--text-tertiary);align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}.wait-tag-inline.urgent{color:#ef4444;font-weight:700}.pharma-patient-info{color:var(--text-tertiary);margin:.25rem 0 .5rem;font-size:.8rem}@media (width<=768px){.tech-two-cols{grid-template-columns:1fr}.tech-progress-legend{flex-wrap:wrap;gap:.75rem}}.dash-subtitle{color:var(--text-tertiary);margin:.35rem 0 0;font-size:.92rem}.dash-refresh-btn{border:1.5px solid var(--border-color);background:var(--bg-elevated);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:all var(--t-base);border-radius:14px;justify-content:center;align-items:center;display:flex}.dash-refresh-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.dash-refresh-btn:disabled{opacity:.6;cursor:wait}.role-chip.role-admin{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.role-chip.role-technicien{background:linear-gradient(135deg,#059669,#047857)}.role-chip.role-responsable{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.role-chip.role-secretaire{background:linear-gradient(135deg,#d97706,#b45309)}.role-chip.role-pharmacien{background:linear-gradient(135deg,#db2777,#be185d)}.dash-quick-actions{flex-wrap:wrap;gap:12px;margin-bottom:2rem;display:flex}.dash-quick-action{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--t-base);align-items:center;gap:10px;padding:12px 18px;font-size:.88rem;font-weight:600;display:inline-flex}.dash-quick-action:hover{border-color:var(--qa-accent,var(--primary));color:var(--qa-accent,var(--primary));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dash-quick-action-icon{background:color-mix(in srgb, var(--qa-accent,var(--primary)) 12%, white);width:32px;height:32px;color:var(--qa-accent,var(--primary));border-radius:10px;justify-content:center;align-items:center;font-size:.95rem;display:flex}.dash-pipeline{margin-bottom:2rem;padding:1.25rem 1.5rem!important}.dash-pipeline-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.95rem;font-weight:700;display:flex}.dash-pipeline-track{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dash-pipeline-stage{border-radius:var(--radius-md);background:color-mix(in srgb, var(--stage-color) 10%, white);border:1px solid color-mix(in srgb, var(--stage-color) 25%, transparent);text-align:center;flex:1;min-width:120px;padding:14px 16px}.dash-pipeline-stage strong{color:var(--stage-color);font-size:1.5rem;font-weight:800;line-height:1.2;display:block}.dash-pipeline-stage span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.dash-pipeline-arrow{color:var(--text-quaternary);flex-shrink:0;font-size:.85rem}.dash-alerts{flex-direction:column;gap:10px;margin-bottom:1.5rem;display:flex}.dash-alert-item{border-radius:var(--radius-md);color:#92400e;background:#fffbeb;border:1px solid #fde68a;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;font-weight:600;display:flex}.sec-welcome-banner{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;padding-bottom:.5rem;display:flex}.notif-badge-large.sec-badge{color:#0e7490;background:linear-gradient(135deg,#ecfeff,#cffafe);border:1px solid #a5f3fc}.welcome-warning{color:#fde68a;align-items:center;gap:8px;margin-top:.75rem;font-size:.88rem;display:flex}.inter-patient-city{color:var(--text-quaternary);margin:2px 0 6px;font-size:.78rem}.inter-row-extra{flex-shrink:0;align-items:center;gap:12px;display:flex}.stale-item{border-left:4px solid #f59e0b!important}.team-workload-panel{margin-top:-.5rem;margin-bottom:2rem}.team-workload-list{flex-direction:column;gap:12px;display:flex}.team-workload-row{grid-template-columns:140px 1fr 36px;align-items:center;gap:12px;display:grid}.team-workload-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.team-workload-bar{background:var(--bg-secondary);border-radius:999px;height:8px;overflow:hidden}.team-workload-fill{background:var(--primary-gradient);border-radius:999px;height:100%;transition:width .5s}.team-workload-count{color:var(--primary);text-align:right;font-weight:800}.q-stat .icon.cyan{color:#0891b2;background:#ecfeff}.pharma-box{color:#db2777!important;background:linear-gradient(135deg,#fce7f3,#fdf2f8)!important}.secr-box{color:#2563eb!important;background:linear-gradient(135deg,#dbeafe,#eff6ff)!important}@media (width<=768px){.dash-pipeline-track{flex-direction:column;align-items:stretch}.dash-pipeline-arrow{display:none}.team-workload-row{grid-template-columns:1fr 48px}.team-workload-bar{order:3;grid-column:1/-1}.sec-welcome-banner{flex-direction:column;align-items:flex-start}}@media print{.dash-header,.welcome-banner .btn-white,.dash-header-btns,.actions-secretaire,.btn-validate,.chevron{display:none!important}.welcome-banner{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:var(--primary)!important;margin-bottom:1rem!important;padding:1.5rem!important}.glass-morph,.stat-card,.inter-item,.pharma-card{break-inside:avoid;box-shadow:none!important}}.new-inter-page{max-width:760px;margin:0 auto;padding:12px 16px 40px;animation:.5s fadeSlideUp}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.form-container{width:100%}.form-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.form-header h1{color:var(--secondary);background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.65rem;font-weight:800}.stepper-simple{align-items:center;gap:0;display:flex}.stepper-simple .step{background:var(--bg-secondary);width:38px;height:38px;color:var(--text-quaternary);border:2px solid var(--border-color);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.stepper-simple .step.active{background:var(--primary-gradient);color:#fff;border-color:#0000;transform:scale(1.08);box-shadow:0 4px 16px #155a8a59}.stepper-simple .connector{background:var(--border-color);border-radius:2px;width:48px;height:3px;transition:background .3s}.modern-form{background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:36px;transition:box-shadow .3s;position:relative;overflow:hidden}.modern-form:before{content:"";background:var(--accent-gradient);border-radius:4px 4px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.modern-form:hover{box-shadow:var(--shadow-md)}.shadow-xl{box-shadow:0 20px 48px #155a8a14,0 4px 12px #0000000a}.step-content{animation:.3s fadeIn}.step-content h3{color:var(--secondary);align-items:center;gap:10px;margin:0 0 20px;font-size:1.1rem;font-weight:700;display:flex}.step-content h3:before{content:"";background:var(--primary-gradient);border-radius:3px;flex-shrink:0;width:4px;height:20px}.patient-mode-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;gap:6px;margin-bottom:16px;padding:6px;display:inline-flex}.patient-mode-toggle .mode-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.patient-mode-toggle .mode-btn.active{color:#fff;background:var(--primary-gradient);box-shadow:0 4px 14px #155a8a33}.patient-mode-toggle .mode-btn:not(.active):hover{background:#155a8a14}.type-selector{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:8px;display:grid}.type-card{border-radius:var(--radius-lg);border:2px solid var(--border-color);background:var(--bg-elevated);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.type-card:before{content:"";background:var(--card-color);opacity:0;border-radius:inherit;transition:opacity .3s;position:absolute;inset:0}.type-card svg{color:var(--card-color);z-index:1;font-size:1.5rem;transition:all .3s;position:relative}.type-card span{color:var(--text-secondary);z-index:1;font-size:.8rem;font-weight:600;transition:all .3s;position:relative}.type-card:hover{border-color:var(--card-color);transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.type-card.selected{border-color:var(--card-color);background:var(--card-color);box-shadow:0 8px 28px color-mix(in srgb, var(--card-color) 35%, transparent);transform:translateY(-3px)}.type-card.selected:before{opacity:1}.type-card.selected svg{color:#fff;transform:scale(1.15)}.type-card.selected span{color:#fff;font-weight:700}.fumeur-toggle{border-radius:var(--radius-md);background:linear-gradient(135deg,#fef2f2,#fff1f2);border:1px solid #fecaca;align-items:center;gap:12px;margin-top:16px;padding:14px 18px;transition:all .25s;display:flex}.fumeur-toggle:hover{border-color:#f87171;box-shadow:0 2px 12px #ef44441a}.fumeur-toggle input[type=checkbox]{accent-color:#ef4444;cursor:pointer;flex-shrink:0;width:18px;height:18px}.fumeur-toggle label{color:#991b1b;cursor:pointer;font-size:.9rem;font-weight:500}.patient-search-box{margin-bottom:20px;position:relative}.patient-search-input{position:relative}.patient-search-input .icon{color:var(--text-light);font-size:.9rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.patient-search-input input{border:2px dashed var(--border);background:#f8fafc;border-radius:12px;width:100%;padding:12px 16px 12px 42px;font-size:.92rem;transition:border-color .2s,background .2s}.patient-search-input input:focus{border-color:var(--primary);background:var(--bg-elevated);border-style:solid;outline:none;box-shadow:0 0 0 3px #155a8a1a}.patient-search-results{z-index:50;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;max-height:260px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.patient-search-item{cursor:pointer;align-items:center;gap:12px;padding:10px 16px;transition:background .12s;display:flex}.patient-search-item:hover{background:#155a8a0f}.patient-search-item:not(:last-child){border-bottom:1px solid #f1f5f9}.psr-avatar{background:var(--primary-gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:700;display:flex}.psr-info{flex-direction:column;display:flex}.psr-name{color:var(--text);font-size:.9rem;font-weight:600}.psr-meta{color:var(--text-light);font-size:.78rem}.patient-selected-badge{border:1.5px solid var(--primary);background:#155a8a0f;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;display:flex}.patient-selected-badge svg:first-child{color:var(--primary);font-size:1.1rem}.patient-selected-badge span{color:var(--text);flex:1;font-size:.92rem}.patient-selected-badge button{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:1rem;transition:color .15s}.patient-selected-badge button:hover{color:var(--danger,#ef4444)}.row-civilite{grid-template-columns:100px 1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field-full{grid-column:1/-1}.field label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.field input,.field textarea,.field select{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:var(--bg-elevated);font-size:.95rem;font-family:var(--font-sans);outline:none;padding:12px 16px;transition:all .25s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.field input::placeholder,.field textarea::placeholder{color:var(--text-quaternary)}.field textarea{resize:vertical;min-height:100px}.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .icon{color:var(--text-quaternary);pointer-events:none;z-index:1;font-size:.9rem;position:absolute;left:14px}.input-with-icon input{padding-left:40px}.required{color:var(--danger);font-weight:700}.input-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px #f43f5e1f!important}.field-error{color:var(--danger);align-items:center;gap:5px;margin-top:4px;font-size:.78rem;font-weight:500;animation:.3s shakeIn;display:flex}.field-error svg{flex-shrink:0;font-size:.72rem}@keyframes shakeIn{0%{opacity:0;transform:translate(-6px)}50%{transform:translate(3px)}to{opacity:1;transform:translate(0)}}.row-3{grid-template-columns:1.5fr 1fr;gap:20px;margin-top:4px;display:grid}.recap-type{border-radius:var(--radius-md);background:linear-gradient(135deg,#e8f4fc,#d1e8f8);border:1px solid #a5c8e0;align-items:center;gap:12px;margin-bottom:24px;padding:14px 18px;font-size:.95rem;transition:all .25s;display:flex}.recap-type svg{color:var(--primary);font-size:1.2rem}.recap-type strong{color:var(--secondary)}.recap-type span{color:var(--text-tertiary)}.email-toggle-option{border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-top:20px;padding:18px 20px;transition:all .25s;display:flex}.email-toggle-option.glass-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#e8f4fc,#d1e8f8);border:1px solid #a5c8e0}.email-toggle-option:hover{border-color:var(--primary);box-shadow:0 4px 16px #155a8a1a}.toggle-info{align-items:center;gap:14px;display:flex}.toggle-info .accent-icon{color:var(--primary);flex-shrink:0;font-size:1.25rem}.toggle-info strong{color:var(--secondary);margin-bottom:2px;font-size:.9rem;font-weight:700;display:block}.toggle-info p{color:var(--text-tertiary);margin:0;font-size:.8rem}.email-toggle-option input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.form-actions{border-top:1px solid var(--bg-secondary);justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;display:flex}.form-actions .btn-primary{border-radius:var(--radius-md);color:#fff;background:var(--primary-gradient);cursor:pointer;border:none;align-items:center;gap:8px;padding:13px 28px;font-size:.95rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 16px #155a8a40}.form-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #155a8a59}.form-actions .btn-primary:active{transform:translateY(0)}.form-actions .btn-primary.success{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 16px #10b98140}.form-actions .btn-primary.success:hover{box-shadow:0 8px 28px #10b98159}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.form-actions .btn-secondary{border-radius:var(--radius-md);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;align-items:center;gap:8px;padding:13px 24px;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-flex}.form-actions .btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.consommables-section{border-top:1.5px solid var(--border-color);margin-top:28px;padding-top:24px}.consommables-section h3{color:var(--secondary);align-items:center;gap:8px;margin-bottom:6px;font-size:1rem;font-weight:700;display:flex}.consommables-hint{color:var(--text-tertiary);margin-bottom:16px;font-size:.82rem}.consommables-selected{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.consommable-row.selected{border-radius:var(--radius-sm);background:#eff6ff;border:1.5px solid #bfdbfe;align-items:center;gap:12px;padding:10px 14px;display:flex}.consommable-ref{color:var(--primary);min-width:80px;font-size:.78rem;font-weight:700}.consommable-name{color:var(--text);flex:1;font-size:.88rem}.consommable-qty{align-items:center;gap:8px;display:flex}.consommable-qty button{border:1.5px solid var(--border-color);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:.75rem;transition:all .15s;display:flex}.consommable-qty button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.consommable-qty span{color:var(--primary);text-align:center;min-width:20px;font-size:.95rem;font-weight:700}.consommable-remove{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:6px;padding:4px;font-size:.9rem;transition:color .15s}.consommable-remove:hover{color:var(--danger,#ef4444)}.consommables-loading,.consommables-empty{border-radius:var(--radius-sm);color:var(--text-tertiary);background:var(--bg-secondary);align-items:center;gap:8px;padding:14px 16px;font-size:.88rem;display:flex}.consommables-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.consommable-card{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-elevated);flex-direction:column;gap:4px;padding:12px 14px;transition:all .2s;display:flex;position:relative}.consommable-card:hover:not(.out-of-stock){border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px #155a8a1a}.consommable-card.in-cart{background:#eff6ff;border-color:#3b82f6}.consommable-card.out-of-stock{opacity:.45;cursor:not-allowed}.cc-ref{color:var(--primary);text-transform:uppercase;font-size:.72rem;font-weight:700}.cc-name{color:var(--text);font-size:.84rem;font-weight:500;line-height:1.3}.cc-dispo{color:var(--text-tertiary);margin-top:4px;font-size:.75rem}.cc-dispo.low{color:#f59e0b;font-weight:600}.cc-badge{color:#3b82f6;background:var(--bg-elevated);border:1px solid #bfdbfe;border-radius:10px;align-items:center;gap:4px;padding:2px 7px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.inter-page{max-width:1000px;margin:0 auto;padding:8px 0}.inter-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.inter-header-info h1{color:var(--text-primary);margin:0;font-size:1.6rem;font-weight:800}@media (width<=768px){.new-inter-page{padding:8px 8px 32px}.form-header{flex-direction:column;align-items:flex-start;gap:12px}.form-header h1{font-size:1.3rem}.modern-form{border-radius:var(--radius-lg);padding:24px 18px}.type-selector{grid-template-columns:repeat(2,1fr);gap:10px}.type-card{padding:16px 10px}.form-grid,.row-3{grid-template-columns:1fr;gap:16px}.row-civilite{grid-template-columns:1fr;gap:12px}.form-actions{flex-direction:column-reverse;gap:10px}.form-actions .btn-primary,.form-actions .btn-secondary{justify-content:center;width:100%}.inter-grid{grid-template-columns:1fr}.stepper-simple .step{width:32px;height:32px;font-size:.8rem}.stepper-simple .connector{width:32px}.email-toggle-option{text-align:center;flex-direction:column;gap:14px}.toggle-info{flex-direction:column;gap:8px}}@media (width<=480px){.type-selector{grid-template-columns:1fr 1fr}.type-card svg{font-size:1.25rem}.type-card span{font-size:.75rem}}.comments-section{margin-top:0}.comments-empty{color:#999;text-align:center;padding:16px 0;font-size:13px}.comments-list{flex-direction:column;gap:12px;max-height:400px;margin-bottom:16px;padding-right:4px;display:flex;overflow-y:auto}.comment-item{background:#f9fafb;border-radius:10px;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.comment-item:hover{background:#f0f6fc}.comment-own{background:#eef7ff}.comment-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:flex}.comment-body{flex:1;min-width:0}.comment-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.comment-author{color:#222;font-size:13px;font-weight:600}.comment-role-badge{font-size:11px;font-weight:600}.comment-time{color:#aaa;font-size:11px}.comment-delete{color:#ccc;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 4px;font-size:11px;transition:color .15s}.comment-delete:hover{color:#e74c3c}.comment-content{color:#444;white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:1.5}.comment-form{border-top:1px solid #eee;padding-top:12px}.comment-input{resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;min-height:60px;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.comment-input:focus{border-color:#155a8a;outline:none;box-shadow:0 0 0 3px #155a8a14}.comment-form-footer{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.comment-charcount{color:#bbb;font-size:11px}.comment-submit{color:#fff;cursor:pointer;background:#155a8a;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.comment-submit:hover:not(:disabled){background:#0e4a73}.comment-submit:disabled{opacity:.5;cursor:default}@media (width<=768px){.comments-list{max-height:300px}}.cartes-photos-form{flex-direction:column;gap:20px;display:flex}.cartes-photos-intro{border-radius:var(--radius-md);background:var(--primary-gradient-soft);color:var(--text-secondary);border:1px solid #155a8a1f;align-items:flex-start;gap:10px;margin:0;padding:14px 18px;font-size:.92rem;line-height:1.5;display:flex}.cartes-photos-intro svg{color:var(--primary);flex-shrink:0;margin-top:2px}.cartes-photos-progress{color:var(--text-tertiary);font-size:.85rem;font-weight:600}.cartes-photos-progress .active{color:var(--primary)}.cartes-photos-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}@media (width<=768px){.cartes-photos-grid{grid-template-columns:1fr}}.cartes-photo-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px}.cartes-photo-label{color:var(--text-secondary);margin-bottom:12px;font-size:.85rem;font-weight:600;display:block}.cartes-capture{min-height:140px}.cartes-photos-actions{flex-wrap:wrap;gap:12px;padding-top:8px;display:flex}.dossier-intervention-card .dossier-intervention-hint{color:var(--text-secondary);margin:0 0 16px;font-size:.875rem;line-height:1.5}.dossier-section{border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden}.dossier-section-header{background:var(--bg-secondary);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border:none;align-items:center;gap:10px;padding:14px 16px;font-size:.9rem;font-weight:700;display:flex}.dossier-section-body{background:var(--bg-elevated);padding:16px}.dossier-save-btn{margin-top:8px}.inter-page,.new-inter-page{max-width:1000px;margin:0 auto;padding:8px 0}.inter-header,.new-inter-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.inter-header-info h1,.new-inter-header h1{color:var(--text-primary);margin:0;font-size:1.6rem;font-weight:800}.inter-header-type{text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.inter-progress-card{background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding:28px;display:flex;position:relative;overflow:hidden}.inter-progress-card:before{content:"";background:var(--primary-gradient);height:3px;position:absolute;top:0;left:0;right:0}.progress-info h3{color:var(--secondary);margin-bottom:8px;font-size:1.125rem;font-weight:700}.progress-info p{color:var(--text-secondary);font-size:.875rem}.progress-bar-container{flex:1;max-width:300px}.progress-bar{background:var(--bg-secondary);border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.progress-fill{background:var(--accent-gradient);border-radius:4px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-percent{color:var(--text-secondary);text-align:right;font-size:.75rem;font-weight:600;display:block}.inter-grid{grid-template-columns:1fr 1.5fr;gap:24px;display:grid}@media (width<=768px){.inter-grid{grid-template-columns:1fr}}.inter-card{background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);height:fit-content;transition:box-shadow var(--t-base);padding:28px}.inter-card:hover{box-shadow:var(--shadow-md)}.inter-card-title{color:var(--secondary);border-bottom:1px solid var(--bg-secondary);align-items:center;gap:10px;margin-bottom:20px;padding-bottom:12px;font-size:1rem;font-weight:700;display:flex}.inter-card-title svg{color:var(--primary)}.patient-link-banner{color:var(--primary);cursor:pointer;background:linear-gradient(135deg,#e8f4fd,#dbeafe);border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.patient-link-banner:hover{border-color:var(--primary);background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.patient-link-banner svg:last-child{margin-left:auto;font-size:.75rem}.info-row{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.info-row svg{color:var(--text-quaternary);margin-top:3px;font-size:.9rem}.info-label{color:var(--text-tertiary);text-transform:uppercase;font-size:.75rem;font-weight:600;display:block}.info-value{color:var(--text-primary);font-size:.9375rem;font-weight:500}.docs-list{flex-direction:column;gap:12px;display:flex}.doc-item{background:var(--bg-secondary);border-radius:var(--radius-lg);transition:all var(--t-base);cursor:pointer;border:1px solid #0000;align-items:center;gap:16px;padding:16px;display:flex}.doc-item:hover{background:var(--bg-elevated);border-color:var(--primary-light);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.doc-icon{width:48px;height:48px;color:var(--primary);background:linear-gradient(135deg,#e8f4fc,#d1e8f8);border-radius:14px;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.doc-info{flex:1}.doc-name{color:var(--secondary);margin-bottom:4px;font-size:.9375rem;font-weight:600;display:block}.doc-status-badge{border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-brouillon{color:#c2410c;background:#fff7ed;border:1px solid #ffedd5}.status-en_attente_pharmacien{color:#8b5cf6;background:#f5f3ff;border:1px solid #ede9fe}.status-signe{color:#15803d;background:#f0fdf4;border:1px solid #dcfce7}.status-valide{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe}.doc-actions{gap:8px;display:flex}.btn-doc-pdf{border-radius:var(--radius-md);background:var(--bg-elevated);width:36px;height:36px;color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--t-base);justify-content:center;align-items:center;display:flex}.btn-doc-pdf:hover{color:#ef4444;background:#fef2f2;border-color:#fecaca}.new-inter-card{background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow var(--t-base);padding:36px}.form-section{margin-bottom:32px}.form-section-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.form-section-header h2{color:var(--secondary);margin:0;font-size:1.125rem;font-weight:700}.form-section-header span{background:var(--primary-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:flex;box-shadow:0 4px 12px #155a8a33}.new-inter-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:16px;margin-top:40px;padding-top:24px;display:flex}.danger-zone{border-radius:var(--radius-xl);background:#fef2f2;border:1px solid #fee2e2;justify-content:space-between;align-items:center;margin-top:40px;padding:24px;display:flex}.danger-text h3{color:#991b1b;margin-bottom:4px;font-size:1rem;font-weight:700}.danger-text p{color:#b91c1c;font-size:.875rem}.btn-danger-outline{border-radius:var(--radius-md);color:#dc2626;transition:all var(--t-base);background:0 0;border:1.5px solid #dc2626;padding:10px 20px;font-size:.875rem;font-weight:600}.btn-danger-outline:hover{color:#fff;background:#dc2626}.inter-card+.inter-card{margin-top:24px}.inter-actions-row{flex-wrap:wrap;gap:12px;display:flex}.btn-download-all,.btn-archive-green{cursor:pointer;color:#fff;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.btn-download-all{background:var(--primary)}.btn-download-all:hover{background:#0e4a73}.btn-archive-green{background:#22c55e}.btn-archive-green:hover{background:#16a34a}.text-danger{color:#ef4444}.text-danger-bold{color:#ef4444;font-weight:600}.consommables-list-view{flex-direction:column;gap:10px;margin-top:4px;display:flex}.consommable-view-row{background:#f8faff;border:1.5px solid #e0eaf7;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.cv-info{flex-direction:column;gap:2px;display:flex}.cv-ref{color:var(--primary);text-transform:uppercase;font-size:.72rem;font-weight:700}.cv-name{color:var(--text);font-size:.88rem;font-weight:500}.cv-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.cv-qty{color:var(--text-secondary);font-size:.9rem;font-weight:700}.cv-badge{border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;font-weight:600;display:flex}.cv-badge.ok{color:#16a34a;background:#dcfce7}.cv-badge.warn{color:#d97706;background:#fef3c7}.docform-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.docform-back-btn{background:var(--bg-secondary);width:40px;height:40px;color:var(--text-secondary);transition:all var(--t-base);border:1px solid var(--border-color);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.docform-back-btn:hover{background:var(--primary);color:#fff;transform:scale(1.05)}.docform-header-info h1{color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:1.35rem;font-weight:800}.docform-patient{color:var(--text-tertiary);margin-top:2px;font-size:.85rem}.docform-save-draft{background:var(--primary);color:#fff;border-radius:var(--radius-md);transition:all var(--t-base);box-shadow:var(--shadow-sm);white-space:nowrap;cursor:pointer;border:none;align-items:center;gap:8px;margin-left:auto;padding:10px 20px;font-size:.85rem;font-weight:700;display:inline-flex}.docform-save-draft:hover{background:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.docform-signed-banner{color:#065f46;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #10b98140;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:16px 20px;display:flex}.docform-signed-left{align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.docform-signed-left svg{color:#10b981;font-size:1.25rem}.docform-pdf-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:all var(--t-base);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:700;display:inline-flex}.docform-pdf-btn:hover{background:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.docform-waiting-banner{color:#92400e;border-radius:var(--radius-lg);background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b4d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:16px 20px;display:flex}.docform-waiting-banner.pharma{color:#9d174d;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#ec48994d}.docform-waiting-left{align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.docform-waiting-left svg{font-size:1.25rem}.docform-waiting-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#ec4899;border-radius:999px;padding:6px 14px;font-size:.75rem;font-weight:800;animation:2s infinite pulse-badge}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.readonly-badge{color:#0e4a73;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(135deg,#d1e8f8,#a5c8e0);border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:4px 12px;font-size:.7rem;font-weight:700;display:inline-flex}.btn-pharma-send{color:#fff;border-radius:var(--radius-md);transition:all var(--t-base);cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #8b5cf64d}.btn-pharma-send:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf666}.pharma-status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:.7rem;font-weight:700}.pharma-status-badge.pending{color:#92400e;background:#fef3c7}.pharma-status-badge.waiting{color:#9d174d;background:#fce7f3}.docform-nav-actions{gap:12px;display:flex}.docform-progress-wrapper{align-items:center;gap:14px;margin-bottom:12px;display:flex}.docform-progress-bar{background:var(--bg-secondary);border-radius:999px;flex:1;height:6px;overflow:hidden}.docform-progress-fill{background:var(--accent-gradient);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.docform-progress-text{color:var(--text-tertiary);white-space:nowrap;font-size:.75rem;font-weight:700}.docform-stepper{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--primary-light) transparent;align-items:stretch;gap:6px;margin-bottom:24px;padding:8px;display:flex;overflow-x:auto}.docform-stepper::-webkit-scrollbar{height:4px}.docform-stepper::-webkit-scrollbar-track{background:0 0}.docform-stepper::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:999px}.stepper-pill{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;min-width:0;padding:6px 12px;transition:all .2s;display:flex}.stepper-pill:disabled{cursor:default;opacity:.5}.stepper-pill-num{background:var(--bg-secondary);width:24px;height:24px;color:var(--text-quaternary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:800;transition:all .2s;display:flex}.stepper-pill-label{color:var(--text-tertiary);text-overflow:ellipsis;max-width:120px;font-size:.7rem;font-weight:600;transition:color .2s;overflow:hidden}.stepper-pill.active{background:linear-gradient(135deg,#e8f4fc,#d1e8f8)}.stepper-pill.active .stepper-pill-num{background:var(--primary-gradient);color:#fff;box-shadow:0 0 0 3px var(--primary-light)}.stepper-pill.active .stepper-pill-label{color:var(--primary);font-weight:700}.stepper-pill.done .stepper-pill-num{background:var(--success);color:#fff}.stepper-pill.done .stepper-pill-label{color:#065f46}.stepper-pill.done:hover{background:var(--bg-secondary)}.docform-section{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow var(--t-base);margin-bottom:28px;padding:32px;animation:.35s cubic-bezier(.4,0,.2,1) fadeIn}.docform-section:hover{box-shadow:var(--shadow-md)}.section-title{color:var(--secondary);border-bottom:2px solid var(--border-color);align-items:center;gap:12px;margin-bottom:24px;padding-bottom:14px;font-size:1.15rem;font-weight:700;display:flex}.section-title svg{color:var(--primary);font-size:1.25rem}@media (width<=768px){.form-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;display:flex}.form-group.full-width{grid-column:1/-1}.form-group.has-error .form-input,.form-group.has-error .form-select,.form-group.has-error .form-textarea{border-color:var(--danger);background:#fef2f2}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem;font-weight:700}.form-input,.form-select,.form-textarea{border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-primary);width:100%;padding:10px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--bg-secondary);color:var(--text-tertiary);cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.error-message{color:var(--danger);margin-top:4px;font-size:.72rem;font-weight:600}.photo-capture-zone{cursor:pointer;color:#64748b;background:#f8fafc;border:2px dashed #94a3b8;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px 20px;font-size:.88rem;font-weight:500;transition:all .25s;display:flex}.photo-capture-zone:hover{border-color:var(--primary);color:var(--primary);background:#155a8a0a}.photo-capture-zone.disabled{opacity:.5;pointer-events:none;cursor:default}.photo-capture-icon{color:#94a3b8;font-size:1.8rem;transition:color .25s}.photo-capture-zone:hover .photo-capture-icon{color:var(--primary)}.photo-preview-wrapper{max-width:100%;display:inline-block;position:relative}.photo-preview-img{object-fit:contain;border:2px solid #e2e8f0;border-radius:12px;max-width:100%;max-height:300px;box-shadow:0 4px 12px #00000014}.photo-remove-btn{color:#fff;cursor:pointer;background:#ef4444e6;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;transition:all .2s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000026}.photo-remove-btn:hover{background:#dc2626;transform:scale(1.1)}.docform-info-box{border-radius:var(--radius-md);color:#1e40af;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;padding:14px 18px;font-size:.85rem;font-weight:500;line-height:1.5}.form-radio-group{flex-wrap:wrap;gap:8px;display:flex}.form-radio-label{border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);background:var(--bg-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.form-radio-label:hover{border-color:var(--primary);background:#e8f4fc}.form-radio-label.selected{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);background:linear-gradient(135deg,#e8f4fc,#d1e8f8);font-weight:700}.form-radio-label input[type=radio]{display:none}.form-radio-custom{border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:all .2s;display:flex}.form-radio-label.selected .form-radio-custom{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px #fff}.form-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 0;display:flex}.form-checkbox{display:none}.form-checkbox-custom{border:2px solid var(--border-color);background:var(--bg-primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.form-checkbox:checked+.form-checkbox-custom{background:var(--primary);border-color:var(--primary)}.form-checkbox:checked+.form-checkbox-custom:after{content:"✓";color:#fff;font-size:14px;font-weight:900}.form-checkbox-label:hover .form-checkbox-custom{border-color:var(--primary)}.form-checkbox-text{color:var(--text-primary);font-size:.9rem;font-weight:500;line-height:1.3}.docform-signatures{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (width<=600px){.docform-signatures{grid-template-columns:1fr}}.signature-box{background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-lg);text-align:center;transition:all var(--t-base);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:170px;padding:24px;display:flex}.signature-box p{color:var(--text-tertiary);margin:0;font-size:.85rem;font-weight:600}.signature-box:hover{border-color:var(--primary);background:var(--bg-primary)}.signature-box.signed{border-style:solid;border-color:var(--success);background:var(--bg-primary)}.signature-placeholder-icon{color:var(--text-quaternary);font-size:2.5rem}.signature-placeholder-icon.pharma{color:#ec4899}.signature-img{object-fit:contain;max-width:100%;max-height:120px}.docform-nav{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:20px;display:flex}.btn-icon-left{margin-right:6px}.btn-icon-right{margin-left:6px}.pharma-comment-section{border-radius:var(--radius-lg);background:linear-gradient(135deg,#fdf2f8,#fce7f3);border:1.5px solid #f9a8d4;margin-bottom:2rem;padding:1.5rem}.pharma-comment-header{color:#be185d;align-items:center;gap:10px;margin-bottom:1rem;display:flex}.pharma-comment-header h3{margin:0;font-size:1rem;font-weight:700}.pharma-comment-textarea{background:var(--bg-elevated);border-color:#f9a8d4}.pharma-comment-textarea:focus{border-color:#ec4899;box-shadow:0 0 0 3px #ec48991a}.pharma-comment-footer{margin-top:1rem}.pharma-comment-footer .form-select{border-color:#f9a8d4}.signature-box.pharma-sign{background:#fdf2f8;border-color:#f9a8d4}.signature-box.pharma-sign:hover{background:#fce7f3;border-color:#ec4899}.signature-box.pharma-sign.signed{background:var(--bg-elevated);border-style:solid;border-color:#ec4899}.pharma-scoring-grid{margin-bottom:1.25rem}.pharma-scoring-header{color:#1e8449;align-items:center;gap:8px;margin-bottom:.75rem;display:flex}.pharma-scoring-header h4{margin:0;font-size:.92rem;font-weight:700}.pharma-scoring-table{border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.pharma-scoring-row{border-bottom:1px solid #e5e7eb;grid-template-columns:2fr 1fr .7fr .7fr;align-items:center;padding:6px 10px;font-size:.82rem;display:grid}.pharma-scoring-row:last-child{border-bottom:none}.pharma-scoring-row.header-row{color:#374151;text-transform:uppercase;letter-spacing:.3px;background:#f3f4f6;font-size:.78rem;font-weight:700}.pharma-scoring-row.total-row{color:#1e8449;background:#d5f5e3;font-size:.9rem;font-weight:700}.pharma-scoring-label{color:#1f2937}.pharma-scoring-rule{color:#6b7280;font-size:.75rem}.pharma-scoring-value{text-align:center;color:#4b5563;font-weight:600}.pharma-scoring-input{text-align:center}.pharma-score-input{text-align:center;color:#1e8449;background:var(--bg-elevated);border:1.5px solid #a7f3d0;border-radius:6px;outline:none;width:50px;padding:4px 6px;font-size:.88rem;font-weight:700;transition:border-color .2s}.pharma-score-input:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98126}.pharma-score-input:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.pharma-total{color:#1e8449;font-size:1.1rem;font-weight:800}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.signature-modal{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:520px;overflow:hidden;box-shadow:0 25px 50px #0003}.signature-modal-header{background:var(--primary-gradient);color:#fff;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.signature-modal-header h3{margin:0;font-size:1.05rem;font-weight:700}.signature-modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:background .2s;display:flex}.signature-modal-close:hover{background:#ffffff59}.signature-canvas-wrapper{background:#f9fafb;padding:20px 24px}.signature-canvas-wrapper canvas{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-elevated);width:100%;display:block}.signature-modal-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}@media (width<=640px){.docform-header{gap:10px}.docform-header-info h1{font-size:1.1rem}.docform-section{padding:20px 16px}.docform-stepper{gap:4px;padding:6px}.stepper-pill{padding:4px 8px}.stepper-pill-label{display:none}.stepper-pill-num{width:28px;height:28px;font-size:.75rem}.docform-nav{flex-direction:column}.docform-nav .btn{justify-content:center;width:100%}}.pharma-comment-section{margin-top:24px}.pharma-sign-wrapper{margin-top:16px}.repeater-field .repeater-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.repeater-field .repeater-header .form-label{margin-bottom:0}.repeater-field .repeater-count{color:var(--primary);text-transform:none;letter-spacing:0;font-weight:600}.repeater-field .repeater-add-btn{border:1.5px dashed var(--primary);background:var(--primary-light,#eff6ff);color:var(--primary);flex-shrink:0;align-self:flex-start;padding:8px 16px;font-size:.85rem}.repeater-field .repeater-add-btn:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm);border-style:solid;transform:none}.repeater-field .repeater-add-bottom{margin-top:8px}.repeater-field .repeater-row{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary,#f8fafc);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;padding:12px 12px 12px 8px;display:flex}.repeater-field .repeater-row-num{color:var(--text-tertiary,#94a3b8);text-align:center;flex:0 0 28px;align-self:center;font-size:.75rem;font-weight:700}.repeater-field .repeater-cell{flex:1;min-width:140px}.repeater-field .form-label-sm{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.repeater-field .repeater-remove{flex-shrink:0;margin-bottom:2px;padding:10px 12px}.tmp-pwd-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1100;background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tmp-pwd-modal{text-align:center;background:#fff;border-radius:18px;width:100%;max-width:420px;padding:36px 32px 28px;position:relative;box-shadow:0 20px 60px #0000002e}.tmp-pwd-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1.1rem;transition:all .15s;position:absolute;top:14px;right:16px}.tmp-pwd-close:hover{color:#475569;background:#f1f5f9}.tmp-pwd-icon{color:#b45309;background:#fffbeb;border:2px solid #fde68a;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:1.5rem;display:flex}.tmp-pwd-title{color:#1e293b;margin:0 0 8px;font-size:1.2rem;font-weight:700}.tmp-pwd-subtitle{color:#64748b;margin:0 0 20px;font-size:.88rem;line-height:1.5}.tmp-pwd-box{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;margin-bottom:6px;padding:12px 14px;display:flex}.tmp-pwd-value{color:#1e293b;letter-spacing:.05em;word-break:break-all;text-align:left;flex:1;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700}.tmp-pwd-copy{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;transition:all .2s;display:flex}.tmp-pwd-copy:hover{color:#1e293b;background:#f1f5f9}.tmp-pwd-copy.copied{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.tmp-pwd-copied-msg{color:#047857;margin:4px 0 16px;font-size:.78rem}.tmp-pwd-ok{color:#fff;cursor:pointer;background:#1e293b;border:none;border-radius:10px;width:100%;margin-top:20px;padding:11px;font-size:.95rem;font-weight:600;transition:background .2s}.tmp-pwd-ok:hover{background:#0f172a}.users-header{background:linear-gradient(135deg, #0f3460 0%, var(--primary) 40%, #1a8dcb 70%, #1a9fd6 100%);border-radius:var(--radius-xl);color:#fff;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2.5rem 2.5rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #155a8a40}.users-header:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);border-radius:50%;width:350px;height:350px;position:absolute;top:-60%;right:-15%}.users-header:after{content:"";background:radial-gradient(circle,#ffffff0f 0%,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;bottom:-40%;left:10%}.users-header-info{z-index:1;position:relative}.users-header-info h1{letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.75rem;font-weight:800}.users-header-info p{color:#fffc;font-size:.95rem;font-weight:400}.users-header-actions{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.btn-add-user{border-radius:var(--radius-md);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#fff3;border:1.5px solid #ffffff4d;align-items:center;gap:10px;padding:12px 26px;font-size:.9375rem;font-weight:700;transition:all .25s;display:inline-flex}.btn-add-user:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.users-search-bar{width:280px;position:relative}.users-search-bar input{border-radius:var(--radius-full);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1.5px solid #ffffff40;width:100%;padding:10px 16px 10px 42px;font-size:.875rem;transition:all .25s}.users-search-bar input::placeholder{color:#ffffff8c}.users-search-bar input:focus{background:#fff3;border-color:#fff6;box-shadow:0 0 0 4px #ffffff14}.users-search-icon{color:#ffffff8c;font-size:.95rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.users-kpi-grid{grid-template-columns:repeat(6,1fr);gap:1.25rem;margin-bottom:2rem;display:grid}.users-kpi-card{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-color);cursor:default;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.users-kpi-card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:4px;position:absolute;top:0;left:0;right:0}.users-kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.users-kpi-card.kpi-total:before{background:linear-gradient(90deg, var(--primary), #1a8dcb)}.users-kpi-card.kpi-admin:before{background:linear-gradient(90deg,#8b5cf6,#a855f7)}.users-kpi-card.kpi-tech:before{background:linear-gradient(90deg,#10b981,#34d399)}.users-kpi-card.kpi-secr:before{background:linear-gradient(90deg,#f59e0b,#f97316)}.users-kpi-card.kpi-resp:before{background:linear-gradient(90deg, var(--primary), #1a8dcb)}.users-kpi-card.kpi-pharma:before{background:linear-gradient(90deg,#ec4899,#f43f5e)}.users-kpi-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.users-kpi-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15rem;display:flex}.kpi-total .users-kpi-icon{color:var(--primary);background:linear-gradient(135deg,#e8f4fc,#d1e8f8)}.kpi-admin .users-kpi-icon{color:#7c3aed;background:linear-gradient(135deg,#f3e8ff,#ede9fe)}.kpi-tech .users-kpi-icon{color:#059669;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.kpi-secr .users-kpi-icon{color:#d97706;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.kpi-resp .users-kpi-icon{color:var(--primary);background:linear-gradient(135deg,#e8f4fc,#d1e8f8)}.kpi-pharma .users-kpi-icon{color:#db2777;background:linear-gradient(135deg,#fdf2f8,#fce7f3)}.users-kpi-value{color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1}.users-kpi-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.users-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.user-card{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.4s both fadeInCard;position:relative;overflow:hidden}.user-card:first-child{animation-delay:20ms}.user-card:nth-child(2){animation-delay:40ms}.user-card:nth-child(3){animation-delay:60ms}.user-card:nth-child(4){animation-delay:80ms}.user-card:nth-child(5){animation-delay:.1s}.user-card:nth-child(6){animation-delay:.12s}@keyframes fadeInCard{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.user-card:before{content:"";background:var(--primary-gradient);opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.user-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover);transform:translateY(-4px)}.user-card:hover:before{opacity:1}.user-card-top{align-items:center;gap:14px;margin-bottom:1rem;display:flex}.user-avatar{color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.1rem;font-weight:700;display:flex;box-shadow:0 4px 12px #0000001a}.user-avatar.role-admin{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.user-avatar.role-tech{background:linear-gradient(135deg,#10b981,#34d399)}.user-avatar.role-secr{background:linear-gradient(135deg,#f59e0b,#f97316)}.user-avatar.role-resp{background:linear-gradient(135deg, var(--primary), #1a8dcb)}.user-avatar.role-pharma{background:linear-gradient(135deg,#ec4899,#f43f5e)}.user-card-info{flex:1;min-width:0}.user-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;overflow:hidden}.user-card-email{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.825rem;overflow:hidden}.user-card-bottom{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.user-role-badge{border-radius:var(--radius-full);align-items:center;gap:6px;padding:5px 14px;font-size:.75rem;font-weight:600;display:inline-flex}.user-role-badge.role-admin{color:#6d28d9;background:#ede9fe}.user-role-badge.role-tech{color:#047857;background:#ecfdf5}.user-role-badge.role-secr{color:#b45309;background:#fffbeb}.user-role-badge.role-resp{color:#1d4ed8;background:#eff6ff}.user-role-badge.role-pharma{color:#be185d;background:#fdf2f8}.user-role-dot{border-radius:50%;width:7px;height:7px}.role-admin .user-role-dot{background:#8b5cf6}.role-tech .user-role-dot{background:#10b981}.role-secr .user-role-dot{background:#f59e0b}.role-resp .user-role-dot{background:#3b82f6}.role-pharma .user-role-dot{background:#ec4899}.user-card-actions{gap:6px;display:flex}.user-card-actions button{border:1.5px solid var(--border-color);background:var(--bg-elevated);width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:.85rem;transition:all .2s;display:flex}.user-card-actions .btn-card-edit:hover{color:var(--primary);background:#e8f4fc;border-color:#a5c8e0}.user-card-actions .btn-card-delete:hover{color:#e11d48;background:#fff1f2;border-color:#fecdd3}.user-card-actions .btn-card-reset-pwd:hover{color:#b45309;background:#fffbeb;border-color:#fde68a}.user-badge-inactive{color:#64748b;background:#f1f5f9;border:1.5px solid #cbd5e1;border-radius:20px;align-items:center;gap:5px;margin:0 0 4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.user-badge-temp-pwd{color:#b45309;background:#fffbeb;border:1.5px solid #fde68a;border-radius:20px;align-items:center;gap:5px;margin:0 0 8px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.user-badge-pwd-ok{color:#047857;background:#ecfdf5;border:1.5px solid #a7f3d0;border-radius:20px;align-items:center;gap:5px;margin:0 0 8px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.users-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-modal);background:#0f172a80;justify-content:center;align-items:center;padding:20px;animation:.25s fadeOverlayIn;display:flex;position:fixed;inset:0}@keyframes fadeOverlayIn{0%{opacity:0}to{opacity:1}}.users-modal{background:var(--bg-elevated);border-radius:var(--radius-xl);width:100%;max-width:540px;box-shadow:var(--shadow-xl);animation:.3s cubic-bezier(.4,0,.2,1) modalSlideIn;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.users-modal-header{background:linear-gradient(135deg, var(--primary), #1a8dcb);color:#fff;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;display:flex}.users-modal-header h3{font-size:1.15rem;font-weight:700}.users-modal-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;transition:all .2s;display:flex}.users-modal-close:hover{background:#ffffff40}.users-modal-body{padding:1.75rem}.users-modal-body .form-group{margin-bottom:1.25rem}.users-modal-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.users-modal-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);justify-content:flex-end;gap:10px;padding:1.25rem 1.75rem;display:flex}.users-empty{text-align:center;color:var(--text-tertiary);padding:4rem 2rem}.users-empty-icon{color:var(--primary);opacity:.4;margin-bottom:1rem;font-size:3.5rem}.users-empty h3{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.15rem;font-weight:600}@media (width<=1200px){.users-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.users-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.75rem}.users-header-actions{flex-direction:column;width:100%}.users-search-bar{width:100%}.users-kpi-grid{grid-template-columns:repeat(2,1fr)}.users-grid,.users-modal-grid{grid-template-columns:1fr}}.stats-page{padding:0}.stats-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.stats-header h1{color:var(--text-primary);align-items:center;gap:.75rem;font-size:1.6rem;font-weight:800;display:flex}.stats-header h1 svg{color:var(--primary)}.stats-header p{color:#64748b;margin-top:.25rem;font-size:.875rem}.period-selector{background:var(--bg-elevated);border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:.5rem;padding:.35rem;display:flex}.period-selector svg{color:#94a3b8;margin:0 .5rem}.period-selector button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.period-selector button.active{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px #155a8a4d}.period-selector button:hover:not(.active){background:#f1f5f9}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.kpi-card{background:var(--bg-elevated);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:20px;align-items:center;gap:1.5rem;padding:1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";border-radius:20px 20px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.kpi-card:first-child:before{background:linear-gradient(90deg, var(--primary), #1a8dcb)}.kpi-card:nth-child(2):before{background:linear-gradient(90deg,#06b6d4,#0ea5e9)}.kpi-card:nth-child(3):before{background:linear-gradient(90deg,#8b5cf6,#a855f7)}.kpi-card:nth-child(4):before{background:linear-gradient(90deg,#10b981,#34d399)}.kpi-card:nth-child(5):before{background:linear-gradient(90deg,#f59e0b,#f97316)}.kpi-card:nth-child(6):before{background:linear-gradient(90deg,#ec4899,#f43f5e)}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.kpi-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.kpi-icon.blue{color:var(--primary);background:linear-gradient(135deg,#e8f4fc,#d1e8f8)}.kpi-icon.cyan{color:#0891b2;background:linear-gradient(135deg,#ecfeff,#cffafe)}.kpi-icon.purple{color:#7c3aed;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.kpi-icon.green{color:#059669;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.kpi-icon.orange{color:#ea580c;background:linear-gradient(135deg,#fff7ed,#ffedd5)}.kpi-icon.pink{color:#db2777;background:linear-gradient(135deg,#fdf2f8,#fce7f3)}.kpi-icon.teal{color:#0d9488;background:linear-gradient(135deg,#f0fdfa,#ccfbf1)}.kpi-value{color:#1e293b;font-size:1.75rem;font-weight:800;display:block}.kpi-label{color:#94a3b8;font-size:.8rem}.charts-row{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.chart-card{background:var(--bg-elevated);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:20px;padding:2rem;transition:box-shadow .3s}.chart-card:hover{box-shadow:var(--shadow-md)}.chart-card.full-width{grid-column:1/-1}.chart-card h3{color:#1e293b;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1rem;font-weight:700;display:flex}.donut-chart{justify-content:center;align-items:center;gap:2rem;display:flex}.donut{border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;display:flex;position:relative}.donut-center{background:var(--bg-elevated);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:absolute}.donut-center strong{color:#1e293b;font-size:1.75rem;font-weight:800}.donut-center span{color:#94a3b8;font-size:.7rem}.legend{flex-direction:column;gap:.75rem;display:flex}.legend-item{color:#475569;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.dot{border-radius:4px;width:12px;height:12px}.dot.blue{background:var(--primary)}.dot.purple{background:#8b5cf6}.dot.green{background:#10b981}.dot.orange{background:#f97316}.dot.pink{background:#ec4899}.pipeline{justify-content:space-around;align-items:flex-end;height:200px;padding-top:1rem;display:flex}.pipe-step{flex-direction:column;flex:1;align-items:center;gap:.5rem;display:flex}.pipe-bar{background:linear-gradient(180deg, var(--primary), #0e4a73);border-radius:10px 10px 0 0;justify-content:center;align-items:flex-start;width:52px;min-height:20px;padding-top:.5rem;transition:height .5s;display:flex}.pipe-bar span{color:#fff;font-size:.8rem;font-weight:700}.pipe-bar.orange{background:linear-gradient(#f59e0b,#d97706)}.pipe-bar.cyan{background:linear-gradient(#06b6d4,#0891b2)}.pipe-bar.green{background:linear-gradient(#10b981,#059669)}.pipe-step label{color:#64748b;font-size:.75rem;font-weight:600}.tech-ranking-table{width:100%}.ranking-header{color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-radius:10px;grid-template-columns:40px 2fr 1fr .8fr .8fr .8fr .8fr .8fr .8fr .8fr;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.75rem;font-weight:700;display:grid}.ranking-row{color:#334155;border-radius:10px;grid-template-columns:40px 2fr 1fr .8fr .8fr .8fr .8fr .8fr .8fr .8fr;align-items:center;padding:.85rem 1rem;font-size:.875rem;transition:background .2s;display:grid}.ranking-row:hover{background:#f8fafc}.ranking-row.gold{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a}.ranking-row.silver{background:#f8fafc;border:1px solid #e2e8f0}.ranking-row.bronze{background:#fffaf5;border:1px solid #fed7aa}.rank{color:#1e293b;font-weight:800}.tech-name-cell{align-items:center;gap:.75rem;font-weight:600;display:flex}.mini-avatar{background:var(--primary-gradient);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;font-weight:700;display:flex}.bold{font-weight:700}.perf-bar-container{background:#e2e8f0;border-radius:4px;width:100%;height:8px;overflow:hidden}.perf-bar{background:linear-gradient(90deg, var(--primary), #1a8dcb, #2196a8);border-radius:4px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.empty-msg{text-align:center;color:#94a3b8;padding:2rem}@media (width<=768px){.stats-header{flex-direction:column}.period-selector{flex-wrap:wrap}.charts-row{grid-template-columns:1fr}.donut-chart{flex-direction:column}.ranking-header,.ranking-row{grid-template-columns:30px 1.5fr .8fr .7fr .7fr .7fr .7fr .7fr .7fr .7fr;font-size:.7rem}}.btn-csv{align-items:center;gap:6px;margin-left:8px;display:flex}.btn-excel{border-radius:8px;align-items:center;gap:6px;margin-left:4px;padding:.5rem 1rem;font-weight:700;display:flex;color:#fff!important;background:linear-gradient(135deg,#059669,#10b981)!important}.btn-excel:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 12px #0596694d}.btn-excel:disabled{opacity:.6;cursor:not-allowed}.trend-chart{flex-direction:column;gap:1rem;display:flex}.trend-bars{align-items:flex-end;gap:4px;height:180px;padding:.5rem 0;display:flex}.trend-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.trend-bar-stack{background:linear-gradient(180deg, var(--primary), #1a8dcb);border-radius:6px 6px 0 0;width:100%;max-width:32px;min-height:4px;transition:height .5s;position:relative;overflow:hidden}.trend-bar-closed{background:linear-gradient(#10b981,#059669);border-radius:0;transition:height .5s;position:absolute;bottom:0;left:0;right:0}.trend-count{color:#1e293b;font-size:.65rem;font-weight:700}.trend-label{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.6rem;overflow:hidden}.trend-legend{color:#64748b;justify-content:center;gap:1.5rem;font-size:.8rem;display:flex}.trend-legend span{align-items:center;gap:.4rem;display:flex}.doc-stats{flex-direction:column;gap:1.25rem;display:flex}.doc-stat-row{justify-content:space-between;align-items:center;display:flex}.doc-stat-label{color:#64748b;font-size:.875rem;font-weight:600}.doc-stat-value{color:#1e293b;font-size:1.5rem;font-weight:800}.doc-progress-stack{background:#f1f5f9;border-radius:8px;height:14px;display:flex;overflow:hidden}.doc-bar-segment{height:100%;transition:width .5s}.doc-bar-segment.valide{background:linear-gradient(90deg,#10b981,#34d399)}.doc-bar-segment.signe{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.doc-bar-segment.attente{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.doc-bar-segment.brouillon{background:#cbd5e1}.doc-legend{color:#475569;flex-wrap:wrap;gap:1rem;font-size:.8rem;display:flex}.doc-legend span{align-items:center;gap:.4rem;display:flex}.doc-kpis{grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem;display:grid}.doc-kpi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:.75rem;padding:1rem;display:flex}.doc-kpi svg{flex-shrink:0;font-size:1.3rem}.doc-kpi strong{color:#1e293b;font-size:1.25rem;font-weight:800;display:block}.doc-kpi span{color:#94a3b8;font-size:.75rem}.avg-days{color:#64748b;font-size:.8rem;font-style:italic}@media (width<=768px){.doc-kpis{grid-template-columns:1fr}.trend-bars{height:140px}}.patients-page{max-width:1440px;margin:0 auto}.patients-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.patients-header-left{align-items:center;gap:14px;display:flex}.header-icon-wrap{background:var(--primary-gradient);color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;display:flex}.patients-header-left h1{color:var(--text);margin:0;font-size:1.45rem;font-weight:700}.patients-header-left p{color:var(--text-light);margin:2px 0 0;font-size:.82rem}.patients-toolbar{align-items:stretch;gap:12px;margin-bottom:20px;display:flex}.patients-search{flex:1;position:relative}.patients-search .search-icon{color:var(--text-light);pointer-events:none;font-size:.85rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.patients-search input{border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:12px;width:100%;padding:11px 40px;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.patients-search input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #155a8a14}.search-clear{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:4px;font-size:.85rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.search-clear:hover{color:var(--text)}.sort-select select{border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;border-radius:12px;min-width:140px;padding:11px 14px;font-size:.88rem}.sort-select select:focus{border-color:var(--primary);outline:none}.patients-content{grid-template-columns:400px 1fr;gap:20px;min-height:520px;display:grid}.patients-list{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;max-height:75vh;overflow-y:auto;box-shadow:0 1px 3px #0000000a}.patients-loading{text-align:center;color:var(--text-light);flex-direction:column;align-items:center;gap:14px;padding:60px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.patients-empty{text-align:center;color:var(--text-light);flex-direction:column;align-items:center;gap:10px;padding:60px 20px;display:flex}.patients-empty svg{opacity:.2;font-size:2.5rem}.patients-empty p{margin:0;font-size:.95rem;font-weight:500}.patients-empty span{font-size:.82rem}.patient-card{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.patient-card:last-child{border-bottom:none}.patient-card:hover{background:#f8fafc}.patient-card.active{border-left:3px solid var(--primary);background:#155a8a0f;padding-left:13px}.patient-card-avatar{background:var(--primary-gradient);color:#fff;letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.8rem;font-weight:700;display:flex}.patient-card-info{flex:1;min-width:0}.patient-card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;display:block;overflow:hidden}.patient-card-metas{gap:12px;margin-top:3px;display:flex}.patient-card-meta{color:var(--text-light);align-items:center;gap:4px;font-size:.75rem;display:flex}.patient-card-meta svg{font-size:.65rem}.patient-card-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.card-etat{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:.68rem;font-weight:600}.patient-card-arrow{color:#cbd5e1;font-size:.7rem}.patient-detail{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;min-height:400px;max-height:75vh;padding:28px;overflow-y:auto;box-shadow:0 1px 3px #0000000a}.detail-placeholder{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:40px;display:flex}.detail-placeholder svg{opacity:.2;font-size:3rem}.detail-placeholder p{font-size:.95rem}.detail-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.detail-avatar{background:var(--primary-gradient);color:#fff;letter-spacing:1px;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.15rem;font-weight:700;display:flex}.detail-header-info{flex:1;min-width:0}.detail-header-info h2{color:var(--text);margin:0 0 4px;font-size:1.2rem;font-weight:700}.detail-header-sub{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-dob,.detail-dossier{color:var(--text-light);align-items:center;gap:5px;font-size:.8rem;display:inline-flex}.detail-dob svg,.detail-dossier svg{font-size:.72rem}.etat-badge{border-radius:6px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.detail-actions{flex-shrink:0;gap:8px;margin-top:2px;display:flex}.btn-icon{border:1px solid var(--border);background:var(--bg-elevated);width:36px;height:36px;color:var(--text-light);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:.85rem;transition:all .15s;display:flex}.btn-icon:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-icon.danger:hover{background:#ef4444;border-color:#ef4444}.detail-section{border-bottom:1px solid #f1f5f9;margin-bottom:22px;padding-bottom:18px}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{color:var(--primary);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:8px;margin:0 0 14px;font-size:.88rem;font-weight:700;display:flex}.section-title svg{font-size:.82rem}.detail-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.detail-item{align-items:flex-start;gap:10px;display:flex}.detail-item.full{grid-column:1/-1}.detail-item svg{color:var(--primary);opacity:.7;flex-shrink:0;margin-top:3px;font-size:.82rem}.detail-item label{color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;margin-bottom:1px;font-size:.72rem;font-weight:600;display:block}.detail-item span{color:var(--text);word-break:break-word;font-size:.9rem;font-weight:500}.materiel-text{background:#f8fafc;border-radius:6px;padding:4px 8px;font-family:SF Mono,Fira Code,monospace;display:inline-block;color:var(--text-light)!important;font-size:.85rem!important}.inter-list{flex-direction:column;gap:6px;display:flex}.inter-row{cursor:pointer;background:#f8fafc;border-radius:10px;grid-template-columns:60px 90px 1fr 120px 20px;align-items:center;gap:10px;padding:10px 14px;transition:all .15s;display:grid}.inter-row:hover{background:#155a8a0f;transform:translate(2px)}.inter-type{text-align:center;white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:700}.inter-date{color:var(--text-light);font-size:.8rem}.inter-tech{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;overflow:hidden}.inter-status{text-align:center;white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:.72rem;font-weight:600}.inter-arrow{color:#cbd5e1;font-size:.65rem}.no-inter{color:var(--text-light);margin:0;font-size:.88rem;font-style:italic}.edit-form h3{color:var(--text);align-items:center;gap:8px;margin:0 0 20px;font-size:1.1rem;font-weight:600;display:flex}.edit-form h3 svg{color:var(--primary)}.edit-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.edit-grid .field{flex-direction:column;gap:4px;display:flex}.edit-grid .field.full{grid-column:1/-1}.edit-grid .field label{color:var(--text-light);font-size:.78rem;font-weight:600}.edit-grid .field input,.edit-grid .field select{border:1.5px solid var(--border);background:#f8fafc;border-radius:10px;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.edit-grid .field input:focus,.edit-grid .field select:focus{border-color:var(--primary);background:var(--bg-elevated);outline:none}.edit-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-elevated);border-radius:20px;width:100%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px #0000002e}.modal-header{border-bottom:1px solid var(--border);background:var(--primary-gradient);color:#fff;border-radius:20px 20px 0 0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.modal-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .15s;display:flex}.modal-close:hover{background:#ffffff40}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}@media (width<=960px){.patients-content{grid-template-columns:1fr}.patient-detail:not(.visible){display:none}.detail-grid{grid-template-columns:1fr}.inter-row{grid-template-columns:50px 80px 1fr 20px}.inter-status{display:none}}.detail-back-mobile{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-bottom:14px;padding:8px 0;font-size:.88rem;font-weight:600;display:none}.detail-quick-actions{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.btn-sm{align-items:center;gap:6px;text-decoration:none;display:inline-flex;border-radius:10px!important;padding:8px 14px!important;font-size:.82rem!important}.detail-chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.detail-chip{border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600}.detail-chip-blue{color:#1d4ed8;background:#dbeafe}.detail-chip-slate{color:#334155;background:#e2e8f0}.detail-chip-amber{color:#b45309;background:#fef3c7}.detail-chip-rose{color:#be123c;background:#ffe4e6}.detail-inter-count{color:var(--text-light);background:#f1f5f9;border-radius:6px;align-items:center;gap:5px;padding:3px 10px;font-size:.78rem;display:inline-flex}.dossier-main-section .dossier-panel-section{border-bottom:1px dashed #e2e8f0;margin-bottom:16px;padding-bottom:14px}.dossier-main-section .dossier-panel-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.dossier-kv-grid .detail-item>div{width:100%}.dossier-empty-hint{color:var(--text-light);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;flex-direction:column;gap:6px;padding:16px;font-size:.88rem;display:flex}.dossier-empty-hint svg{color:var(--primary);font-size:1.1rem}.dossier-empty-hint p{color:var(--text);margin:0;font-weight:600}.dossier-empty-hint span{font-size:.8rem;line-height:1.4}.dossier-photos-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.dossier-photos-head .section-title{margin:0}.dossier-rgpd-hint{color:#64748b;font-size:.72rem;font-weight:600}.patient-photo-card-wrap{flex-direction:column;gap:6px;display:flex}.patient-photo-download{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.patient-photo-download:hover:not(:disabled){background:#dbeafe}.patient-photo-download:disabled{opacity:.6;cursor:not-allowed}.photo-lightbox-download{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 16px;font-weight:700;display:inline-flex}.photo-lightbox-download:hover:not(:disabled){background:#1d4ed8}.photo-lightbox-download:disabled{opacity:.6}.patient-photo-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.patient-photo-card{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;text-align:left;border-radius:12px;padding:0;transition:box-shadow .15s,transform .15s;overflow:hidden}.patient-photo-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #155a8a1f}.patient-photo-card img{object-fit:cover;background:#f1f5f9;width:100%;height:90px;display:block}.patient-photo-card span{color:var(--text-light);padding:8px 10px;font-size:.72rem;font-weight:600;display:block}.photo-lightbox{z-index:1100;background:#0f172abf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.photo-lightbox-inner{background:var(--bg-elevated);border-radius:16px;max-width:min(92vw,720px);max-height:90vh;padding:12px}.photo-lightbox-inner img{border-radius:10px;max-width:100%;max-height:calc(90vh - 60px);display:block}.photo-lightbox-inner p{color:var(--text);margin:10px 4px 4px;font-size:.85rem;font-weight:600}.edit-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.edit-tabs button{border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--text-light);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600}.edit-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.dossier-edit-sections{flex-direction:column;gap:18px;display:flex}.dossier-edit-block h4{color:var(--primary);margin:0 0 12px;font-size:.9rem;font-weight:700}.field-checkbox{justify-content:flex-end;padding-top:18px}.checkbox-inline,.radio-inline{cursor:pointer;align-items:center;gap:8px;font-size:.88rem;display:flex}.radio-row{flex-wrap:wrap;gap:14px;margin-top:6px;display:flex}.dossier-edit-block textarea{border:1.5px solid var(--border);resize:vertical;background:#f8fafc;border-radius:10px;min-height:72px;padding:10px 14px;font-family:inherit;font-size:.9rem}.dossier-edit-block textarea:focus{border-color:var(--primary);background:var(--bg-elevated);outline:none}.dossier-photo-field .photo-capture-zone{border:2px dashed var(--border);cursor:pointer;text-align:center;min-height:120px;color:var(--text-light);background:#f8fafc;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:.82rem;transition:border-color .2s,background .2s;display:flex}.dossier-photo-field .photo-capture-zone:hover{border-color:var(--primary);color:var(--primary);background:#eff6ff}.dossier-photo-field .photo-capture-icon{font-size:1.4rem}.dossier-photo-field .photo-preview-wrapper{border:1px solid var(--border);border-radius:12px;max-width:280px;position:relative;overflow:hidden}.dossier-photo-field .photo-preview-img{object-fit:cover;width:100%;max-height:180px;display:block}.dossier-photo-field .photo-remove-btn{color:#fff;cursor:pointer;background:#ef4444eb;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:8px;right:8px}.dossier-photo-field .photo-remove-btn:hover{background:#dc2626}@media (width<=960px){.detail-back-mobile{display:inline-flex}.patients-list{max-height:42vh}}@media (width<=600px){.patients-header{flex-direction:column;align-items:flex-start}.patients-toolbar{flex-direction:column}.edit-grid{grid-template-columns:1fr}.detail-header{flex-direction:column}.detail-actions{margin-left:0}.patient-detail.visible{margin-top:8px}}.audit-page{max-width:1200px;margin:0 auto}.audit-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.audit-header-left{align-items:center;gap:14px;display:flex}.audit-header-icon{color:var(--primary);font-size:28px}.audit-header h1{color:#0e4a73;margin:0;font-size:22px}.audit-subtitle{color:#888;margin:2px 0 0;font-size:13px}.audit-header-actions{gap:10px;display:flex}.audit-quick-search{margin-bottom:14px}.audit-quick-search input{color:#1f2937;background:var(--bg-elevated);border:1px solid #d9e2ec;border-radius:8px;width:100%;padding:9px 12px;font-size:13px}.audit-quick-search input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #155a8a1f}.audit-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.audit-btn-primary{background:var(--primary);color:#fff}.audit-btn-primary:hover:not(:disabled){background:#0e4a73}.audit-btn-primary:disabled{opacity:.5;cursor:default}.audit-btn-outline{background:var(--bg-elevated);color:var(--primary);border:1px solid var(--primary)}.audit-btn-outline:hover{background:#f0f6fc}.audit-filters{background:#f9fafb;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:20px;padding:16px;animation:.2s auditSlide;display:flex}@keyframes auditSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.audit-filter-group{flex-direction:column;gap:4px;display:flex}.audit-filter-group label{text-transform:uppercase;letter-spacing:.5px;color:#555;font-size:11px;font-weight:700}.audit-filter-group select,.audit-filter-group input{background:var(--bg-elevated);border:1px solid #ddd;border-radius:6px;min-width:160px;padding:7px 10px;font-size:13px}.audit-btn-clear{color:#d35400;cursor:pointer;background:0 0;border:none;align-self:flex-end;padding:8px 12px;font-size:12px;font-weight:600}.audit-btn-clear:hover{text-decoration:underline}.audit-table-wrap{background:var(--bg-elevated);border-radius:10px;overflow-x:auto;box-shadow:0 2px 12px #0000000f}.audit-loading,.audit-empty{text-align:center;color:#888;padding:40px;font-size:14px}.audit-table{border-collapse:collapse;width:100%;font-size:13px}.audit-table thead{background:var(--primary);color:#fff}.audit-table th{text-align:left;white-space:nowrap;padding:10px 14px;font-weight:600}.audit-sort-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.audit-sort-btn:hover{text-decoration:underline}.audit-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:10px 14px}.audit-table tbody tr:hover{background:#f8fbff}.audit-td-date{white-space:nowrap;color:#555;font-size:12px}.audit-user{color:#222;font-weight:600;display:block}.audit-role{color:#888;font-size:11px;display:block}.audit-target-badge{color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.audit-td-details{text-overflow:ellipsis;white-space:nowrap;color:#555;max-width:250px;overflow:hidden}.audit-td-target-id{text-overflow:ellipsis;white-space:nowrap;color:#666;max-width:140px;font-family:monospace;font-size:12px;overflow:hidden}.audit-td-ip{color:#888;font-family:monospace;font-size:12px}.audit-pagination{color:#555;justify-content:center;align-items:center;gap:16px;margin-top:20px;font-size:14px;display:flex}.audit-pagination button{background:var(--bg-elevated);cursor:pointer;border:1px solid #ddd;border-radius:8px;padding:8px 14px;font-size:13px;transition:all .15s}.audit-pagination button:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.audit-pagination button:disabled{opacity:.4;cursor:default}@media (width<=768px){.audit-header{flex-direction:column;align-items:flex-start}.audit-filters{flex-direction:column}.audit-filter-group select,.audit-filter-group input{width:100%;min-width:auto}}.planning-page{padding:0}.planning-hero{box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 55%,#fff 100%);border:1px solid #e2e8f0;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem;display:flex}.planning-hero-text h1{color:var(--text-primary);align-items:center;gap:.65rem;margin:0;font-size:1.5rem;font-weight:800;display:flex}.planning-hero-text h1 svg{color:var(--primary)}.planning-hero-text p{color:#64748b;margin:.35rem 0 0;font-size:.875rem}.planning-hero-actions{align-items:center;gap:.6rem;display:flex}.planning-btn-ghost{background:var(--bg-elevated);color:#475569;cursor:pointer;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.planning-btn-ghost:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.planning-btn-ghost:disabled{opacity:.6;cursor:not-allowed}.planning-btn-ghost .spin{animation:.8s linear infinite spin}.planning-btn-primary{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.45rem;padding:.6rem 1.1rem;font-size:.85rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #2563eb40}.planning-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #2563eb52}.planning-toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.view-toggle{background:var(--bg-elevated);border:1px solid #e2e8f0;border-radius:12px;display:flex;overflow:hidden}.view-toggle button{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.view-toggle button.active{background:var(--primary-gradient);color:#fff}.view-toggle button:hover:not(.active){background:#f1f5f9}.nav-controls{align-items:center;gap:.4rem;display:flex}.nav-btn{background:var(--bg-elevated);cursor:pointer;color:#475569;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.nav-btn:hover{border-color:var(--primary);color:var(--primary)}.today-btn{border:1px solid var(--primary);background:var(--bg-elevated);color:var(--primary);cursor:pointer;border-radius:10px;padding:.45rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.today-btn:hover{background:var(--primary);color:#fff}.current-period{color:#1e293b;flex:1;min-width:180px;margin:0;font-size:1.1rem;font-weight:700}.planning-filters{background:var(--bg-elevated);border:1px solid #e2e8f0;border-radius:14px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.65rem .9rem;display:flex}.planning-filters-icon{color:#94a3b8;font-size:.85rem}.planning-filter-select{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.45rem .75rem;font-size:.8rem;font-weight:600}.planning-filter-select:focus{border-color:#93c5fd;outline:none}.planning-filter-clear{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.planning-filter-clear:hover{background:#fee2e2}.planning-stats{flex-wrap:wrap;gap:.65rem;margin-bottom:1.25rem;display:flex}.pstat{background:var(--bg-elevated);border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.1rem;min-width:72px;padding:.55rem .9rem;display:flex;box-shadow:0 1px 3px #0000000a}.pstat-num{color:#1e293b;font-size:1.05rem;font-weight:800;line-height:1.1}.pstat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:600}.pstat.en-cours .pstat-num{color:var(--primary)}.pstat.att-pharma .pstat-num{color:#f59e0b}.pstat.att-sec .pstat-num{color:#06b6d4}.pstat.complete .pstat-num{color:#10b981}.pstat.notes .pstat-num{color:#c2410c}.planning-body{grid-template-columns:1fr 340px;gap:1.25rem;min-height:520px;display:grid}.calendar-container{background:var(--bg-elevated);box-shadow:var(--shadow-sm);border:1px solid #e2e8f0;border-radius:20px;position:relative;overflow:hidden}.cal-loading{z-index:10;background:#ffffffbf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.month-grid{flex-direction:column;height:100%;display:flex}.day-headers{background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:repeat(7,1fr);display:grid}.day-header{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.05em;padding:.7rem;font-size:.72rem;font-weight:700}.week-row{border-bottom:1px solid #f1f5f9;flex:1;grid-template-columns:repeat(7,1fr);display:grid}.week-row:last-child{border:none}.day-cell{cursor:pointer;border-right:1px solid #f1f5f9;flex-direction:column;min-height:96px;padding:.4rem;transition:background .15s;display:flex}.day-cell:last-child{border-right:none}.day-cell:hover{background:#f8fafc}.day-cell.selected{background:#eff6ff;box-shadow:inset 0 0 0 2px #93c5fd}.day-cell.other-month{opacity:.38}.day-cell.today{background:#f0fdf4}.day-cell.weekend{background:#fafafa}.day-cell.has-events .day-num{font-weight:800}.day-topline{justify-content:space-between;align-items:flex-start;gap:.35rem;margin-bottom:.2rem;display:flex}.day-topline-right{align-items:center;gap:.25rem;display:flex}.day-count-badge{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.58rem;font-weight:800;display:inline-flex}.day-note-pill,.week-note-pill{color:#c2410c;letter-spacing:.04em;text-transform:uppercase;background:#fff7ed;border-radius:999px;align-items:center;width:fit-content;margin-bottom:.25rem;padding:.12rem .45rem;font-size:.62rem;font-weight:700;display:inline-flex}.day-num{color:#475569;font-size:.8rem;font-weight:600}.day-cell.today .day-num{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;display:flex}.day-quick-create{color:#2563eb;cursor:pointer;opacity:0;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;padding:0;transition:opacity .15s,transform .15s,background .15s,border-color .15s;display:inline-flex;transform:translateY(-1px)scale(.96)}.day-cell:hover .day-quick-create,.day-cell:focus-within .day-quick-create,.week-day-col:hover .day-quick-create,.week-day-col:focus-within .day-quick-create{opacity:1}.day-quick-create:hover{background:#dbeafe;border-color:#93c5fd;transform:translateY(-1px)scale(1)}.day-quick-create--week{width:1.2rem;height:1.2rem}.wdh-actions{align-items:center;gap:.35rem;display:flex}.day-events{flex-direction:column;flex:1;gap:2px;display:flex;overflow:hidden}.cal-event{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-left:3px solid;border-radius:4px;align-items:center;gap:.25rem;padding:2px 5px;font-size:.65rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.cal-event:hover{transform:scale(1.02);box-shadow:0 2px 6px #00000014}.ev-time{color:#64748b;flex-shrink:0;font-weight:700}.ev-label{color:#1e293b;text-overflow:ellipsis;overflow:hidden}.cal-more{color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:none;padding:1px 5px;font-size:.6rem;font-weight:700}.cal-more:hover{text-decoration:underline}.week-grid{grid-template-columns:repeat(7,1fr);min-height:420px;display:grid}.week-day-col{cursor:pointer;border-right:1px solid #f1f5f9;flex-direction:column;transition:background .15s;display:flex}.week-day-col:last-child{border:none}.week-day-col:hover{background:#f8fafc}.week-day-col.today{background:#f0fdf4}.week-day-col.selected{background:#eff6ff;box-shadow:inset 0 0 0 2px #93c5fd}.week-day-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.wdh-name{color:#64748b;text-transform:uppercase;font-size:.72rem;font-weight:700}.wdh-num{color:#1e293b;font-size:.9rem;font-weight:700}.wdh-num.today-badge{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.week-day-events{flex-direction:column;flex:1;gap:.5rem;padding:.5rem;display:flex;overflow-y:auto}.week-event{cursor:pointer;border-left:3px solid;border-radius:8px;padding:.6rem;transition:transform .15s,box-shadow .15s}.week-event:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.we-top{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.3rem;display:flex}.we-type{font-size:.7rem;font-weight:700}.we-time{color:#64748b;margin-left:auto;font-size:.68rem;font-weight:700}.we-patient{color:#1e293b;font-size:.8rem;font-weight:600}.we-tech{color:#64748b;align-items:center;gap:.3rem;margin-top:.2rem;font-size:.7rem;display:flex}.week-empty{text-align:center;color:#cbd5e1;padding:2rem .5rem;font-size:.8rem}.day-detail-panel{background:var(--bg-elevated);box-shadow:var(--shadow-sm);border:1px solid #e2e8f0;border-radius:20px;max-height:640px;padding:1.25rem;overflow-y:auto}.ddp-title{color:#1e293b;border-bottom:2px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1rem;padding-bottom:.75rem;font-size:.95rem;font-weight:700;display:flex}.ddp-title svg{color:var(--primary)}.ddp-today-tag{text-transform:uppercase;letter-spacing:.04em;color:#166534;background:#dcfce7;border-radius:999px;padding:.15rem .45rem;font-size:.65rem;font-weight:800}.ddp-actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;display:grid}.ddp-create-btn,.ddp-inter-btn{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .6rem;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.ddp-create-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.ddp-create-btn:hover{background:#dbeafe;border-color:#93c5fd}.ddp-inter-btn{background:var(--primary-gradient);color:#fff;border:none}.ddp-inter-btn:hover{opacity:.92}.ddp-note-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;margin-bottom:1rem;padding:.9rem}.ddp-note-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.ddp-note-head strong{color:#9a3412;font-size:.82rem}.ddp-note-edit{color:#c2410c;cursor:pointer;background:0 0;border:none;font-size:.75rem;font-weight:700;text-decoration:underline}.ddp-note-row{color:#334155;align-items:center;gap:.5rem;padding:.2rem 0;font-size:.82rem;display:flex}.ddp-note-row svg{color:#c2410c;flex:none}.rdv-modal-backdrop{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.rdv-modal{background:var(--bg-elevated);border:1px solid #e2e8f0;border-radius:22px;width:min(560px,100%);overflow:hidden;box-shadow:0 24px 80px #0f172a47}.rdv-modal-header{background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.25rem 1rem;display:flex}.rdv-modal-header h3{color:#0f172a;margin:0;font-size:1.05rem;font-weight:800}.rdv-modal-header p{color:#64748b;margin-top:.2rem;font-size:.82rem}.rdv-modal-close{color:#475569;cursor:pointer;background:#e2e8f0;border:0;border-radius:999px;width:2rem;height:2rem;font-size:1.3rem;line-height:1}.rdv-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;padding:1.2rem 1.25rem;display:grid}.rdv-field{flex-direction:column;gap:.35rem;display:flex}.rdv-field--full{grid-column:1/-1}.rdv-field span{color:#475569;font-size:.75rem;font-weight:700}.rdv-field input,.rdv-field select{width:100%;font:inherit;color:#0f172a;background:var(--bg-elevated);border:1px solid #cbd5e1;border-radius:12px;padding:.75rem .85rem}.rdv-field input:focus,.rdv-field select:focus{border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #3b82f61f}.rdv-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;padding:0 1.25rem 1.25rem;display:flex}.rdv-btn{cursor:pointer;border:0;border-radius:12px;padding:.7rem 1rem;font-size:.82rem;font-weight:800}.rdv-btn-outline{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.rdv-btn-outline:hover{background:#d1fae5}.rdv-btn-primary{color:#fff;background:#2563eb}.rdv-btn-primary:hover{background:#1d4ed8}.rdv-btn-secondary{color:#334155;background:#e2e8f0}.rdv-btn-secondary:hover{background:#cbd5e1}.ddp-empty{text-align:center;color:#94a3b8;padding:2.5rem 1rem}.ddp-empty svg{color:#e2e8f0;margin-bottom:.75rem;font-size:2.2rem}.ddp-empty p{margin:0 0 1rem;font-size:.875rem}.ddp-empty-cta{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.55rem 1rem;font-size:.82rem;font-weight:700}.ddp-empty-cta:hover{background:#dbeafe}.ddp-count{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.72rem;font-weight:600;display:block}.ddp-list{flex-direction:column;gap:.75rem;display:flex}.ddp-card{cursor:pointer;background:#f8fafc;border-left:4px solid;border-radius:12px;padding:1rem;transition:all .2s}.ddp-card:hover{background:#f1f5f9;transform:translate(4px)}.ddp-card-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.ddp-type-badge{border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.7rem;font-weight:700;display:flex}.ddp-status{text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}.ddp-patient{color:#1e293b;margin-bottom:.4rem;font-size:.92rem;font-weight:700}.ddp-meta{color:#64748b;align-items:center;gap:.4rem;margin-top:.2rem;font-size:.78rem;display:flex}.planning-legend{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.25rem;display:flex}.legend-chip{border:1px solid;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.72rem;font-weight:700;display:flex}@media (width<=1024px){.planning-body{grid-template-columns:1fr}.day-detail-panel{max-height:420px}}@media (width<=768px){.planning-hero{flex-direction:column;padding:1rem}.planning-hero-actions{justify-content:space-between;width:100%}.planning-btn-primary{flex:1;justify-content:center}.planning-toolbar{flex-direction:column;align-items:stretch}.current-period{text-align:center}.planning-filters{flex-direction:column;align-items:stretch}.planning-filter-select{width:100%}.week-grid{grid-template-columns:1fr}.week-day-col{border-bottom:1px solid #f1f5f9;border-right:none}.day-cell{min-height:72px}.planning-stats{gap:.45rem}.pstat{min-width:64px;padding:.4rem .65rem}.ddp-actions,.rdv-modal-grid{grid-template-columns:1fr}.rdv-modal-actions{flex-direction:column}.rdv-btn{width:100%}}.stock-page{max-width:1400px;margin:0 auto}.stock-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.stock-header h1{color:var(--primary);align-items:center;gap:10px;margin:0;font-size:1.6rem;display:flex}.stock-subtitle{color:#64748b;margin:4px 0 0;font-size:.9rem}.stock-header-actions{gap:10px;display:flex}.stock-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.stock-btn-primary{background:var(--primary);color:#fff}.stock-btn-primary:hover{background:#0e4a73}.stock-btn-secondary{color:#334155;background:#e2e8f0}.stock-btn-secondary:hover{background:#cbd5e1}.stock-btn-danger{color:#ef4444!important}.stock-kpi-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.stock-kpi{background:var(--bg-elevated);border-left:4px solid var(--primary);border-radius:10px;flex:1;min-width:130px;padding:14px 20px;box-shadow:0 1px 4px #0000000f}.stock-kpi-value{color:#1e293b;font-size:1.5rem;font-weight:700;display:block}.stock-kpi-label{color:#64748b;align-items:center;gap:4px;font-size:.78rem;display:flex}.stock-kpi-alert{background:#fef2f2;border-left-color:#ef4444}.stock-kpi-alert .stock-kpi-value{color:#ef4444}.stock-alerts{background:var(--bg-elevated)beb;border:1px solid #fbbf24;border-radius:10px;margin-bottom:20px;padding:14px 18px}.stock-alerts h3{color:#92400e;align-items:center;gap:6px;margin:0 0 10px;font-size:.95rem;display:flex}.stock-alerts-list{flex-wrap:wrap;gap:8px;display:flex}.stock-alert-item{background:var(--bg-elevated);border:1px solid #fde68a;border-radius:6px;align-items:center;gap:10px;padding:6px 12px;font-size:.85rem;display:flex}.stock-alert-ref{color:#92400e;font-weight:700}.stock-alert-qty{color:#ef4444;font-weight:600}.stock-filters{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.stock-search-box{background:var(--bg-elevated);border:1px solid #e2e8f0;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:200px;padding:0 12px;display:flex}.stock-search-box svg{color:#94a3b8;flex-shrink:0}.stock-search-box input{border:none;outline:none;flex:1;padding:10px 0;font-size:.9rem}.stock-search-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:4px}.stock-filters select{background:var(--bg-elevated);cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;font-size:.9rem}.stock-vehicule-card{background:var(--bg-elevated)fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:16px}.stock-vehicule-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.stock-vehicule-header h3{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.stock-vehicule-name{color:#475569;margin:10px 0 14px;font-size:.9rem}.stock-vehicule-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.stock-vehicule-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.stock-vehicule-ref{color:var(--primary);font-family:monospace;font-size:.8rem;font-weight:700}.stock-vehicule-designation{color:#334155;font-size:.85rem}.stock-vehicule-intentions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.stock-vehicule-intention-badge{color:var(--primary);background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;align-items:center;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.stock-vehicule-qty{text-align:center;color:#0f172a;background:#e2e8f0;border-radius:999px;min-width:36px;padding:4px 8px;font-weight:700}.stock-vehicule-qty.low{color:#b45309;background:#ffedd5}.stock-vehicule-empty{padding:24px 12px}.stock-table-wrapper{background:var(--bg-elevated);border-radius:10px;overflow-x:auto;box-shadow:0 1px 4px #0000000f}.stock-table{border-collapse:collapse;width:100%}.stock-table th{text-align:left;text-transform:uppercase;letter-spacing:.3px;color:#64748b;white-space:nowrap;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:12px 14px;font-size:.78rem}.stock-table td{border-bottom:1px solid #f1f5f9;padding:10px 14px;font-size:.88rem}.stock-table tbody tr:hover{background:#f8fafc}.stock-row-alert{background:#fef2f2!important}.stock-row-alert:hover{background:#fee2e2!important}.stock-cell-ref{color:var(--primary);cursor:pointer;font-weight:700}.stock-cell-ref:hover{text-decoration:underline}.stock-cell-name{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.stock-cell-muted{color:#64748b;font-size:.82rem}.stock-cell-qty{text-align:center;font-weight:700}.stock-cell-actions{gap:6px;display:flex}.stock-cell-actions button{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:4px;padding:4px 6px;transition:all .15s}.stock-cell-actions button:hover{color:var(--primary);background:#f1f5f9}.stock-badge{color:#fff;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.stock-badge-statut{white-space:nowrap;background:0 0;border:1.5px solid;border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.stock-pagination{justify-content:center;align-items:center;gap:16px;margin-top:16px;padding:12px;display:flex}.stock-pagination button{background:var(--bg-elevated);cursor:pointer;border:1px solid #e2e8f0;border-radius:6px;padding:6px 14px;font-size:.85rem}.stock-pagination button:disabled{opacity:.4;cursor:default}.stock-pagination span{color:#64748b;font-size:.85rem}.stock-loading{text-align:center;color:#64748b;padding:60px 20px}.stock-empty{text-align:center;color:#94a3b8;padding:60px 20px}.stock-empty svg{margin-bottom:12px;font-size:3rem}.stock-empty-text{text-align:center;color:#94a3b8;padding:20px}.stock-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.stock-modal{background:var(--bg-elevated);border-radius:14px;width:100%;max-width:600px;animation:.2s stockSlideIn;box-shadow:0 20px 60px #00000026}.stock-modal-lg{max-width:900px}.stock-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.stock-modal-header h2{color:var(--primary);align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.stock-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.2rem}.stock-form{padding:20px 24px}.stock-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.stock-form-full{grid-column:1/-1}.stock-form-field label{color:#334155;margin-bottom:4px;font-size:.82rem;font-weight:600;display:block}.stock-form-field input,.stock-form-field select,.stock-form-field textarea{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:7px;width:100%;padding:9px 12px;font-size:.9rem;transition:border-color .15s}.stock-form-field input:focus,.stock-form-field select:focus,.stock-form-field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #155a8a14}.stock-form-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.stock-detail-body{padding:20px 24px}.stock-detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stock-detail-grid>div{flex-direction:column;gap:2px;display:flex}.stock-detail-grid strong{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:.78rem}.stock-detail-notes{color:#334155;background:#f8fafc;border-radius:8px;margin-top:14px;padding:10px 14px;font-size:.88rem}.stock-detail-actions-row{gap:10px;margin-top:16px;display:flex}.stock-detail-history{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:18px}.stock-detail-history h3{color:#334155;align-items:center;gap:6px;margin:0 0 14px;font-size:1rem;display:flex}.stock-mvt-list{flex-direction:column;gap:10px;max-height:400px;display:flex;overflow-y:auto}.stock-mvt-item{background:#f8fafc;border-radius:8px;gap:12px;padding:10px;display:flex}.stock-mvt-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;display:flex}.stock-mvt-content{flex:1}.stock-mvt-title{align-items:center;gap:6px;font-size:.9rem;display:flex}.stock-mvt-qty{background:#e2e8f0;border-radius:4px;padding:1px 6px;font-size:.78rem}.stock-mvt-patient{color:var(--primary);margin-top:2px;font-size:.82rem}.stock-mvt-notes{color:#64748b;margin-top:2px;font-size:.82rem;font-style:italic}.stock-mvt-meta{color:#94a3b8;margin-top:4px;font-size:.75rem}.stock-patient-search{position:relative}.stock-patient-results{background:var(--bg-elevated);z-index:10;border:1px solid #e2e8f0;border-radius:8px;max-height:160px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.stock-patient-option{cursor:pointer;padding:8px 12px;font-size:.88rem}.stock-patient-option:hover{background:#f1f5f9}.stock-patient-selected{color:var(--primary);align-items:center;gap:6px;margin-top:6px;font-size:.85rem;font-weight:600;display:flex}.stock-history-body{max-height:70vh;padding:20px 24px;overflow-y:auto}.stock-table-history td{font-size:.82rem}@keyframes stockSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.stock-header,.stock-kpi-row{flex-direction:column}.stock-kpi{min-width:auto}.stock-filters{flex-direction:column}.stock-form-grid,.stock-detail-grid{grid-template-columns:1fr}.stock-modal{max-width:95vw}.stock-table th:nth-child(4),.stock-table td:nth-child(4),.stock-table th:nth-child(5),.stock-table td:nth-child(5){display:none}}.notif-bell-wrapper{position:relative}.notif-bell-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:8px;font-size:1.25rem;transition:background .2s,color .2s;display:flex;position:relative}.notif-bell-btn:hover{color:#155a8a;background:#e2e8f0}.notif-bell-badge{color:#fff;background:#e74c3c;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;animation:.3s notif-badge-pop;display:flex;position:absolute;top:2px;right:2px;box-shadow:0 1px 3px #0003}@keyframes notif-badge-pop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.notif-dropdown{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;width:380px;max-height:480px;animation:.2s notif-slide-in;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 40px #00000026}@keyframes notif-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.notif-dropdown-title{color:#0f172a;font-size:1rem;font-weight:700}.notif-read-all-btn{color:#155a8a;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:600;transition:background .2s}.notif-read-all-btn:hover{background:#e0f0ff}.notif-dropdown-list{flex:1;max-height:400px;overflow-y:auto}.notif-empty{text-align:center;color:#94a3b8;padding:40px 16px;font-size:.9rem}.notif-item{cursor:pointer;border-bottom:1px solid #f8fafc;align-items:flex-start;gap:12px;padding:12px 16px;transition:background .15s;display:flex;position:relative}.notif-item:hover{background:#f8fafc}.notif-item.unread{background:#eff8ff}.notif-item.unread:hover{background:#e0f0ff}.notif-item-icon{flex-shrink:0;margin-top:2px;font-size:1.3rem}.notif-item-content{flex:1;min-width:0}.notif-item-title{color:#1e293b;margin-bottom:2px;font-size:.85rem;font-weight:600}.notif-item-message{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.3;display:-webkit-box;overflow:hidden}.notif-item-time{color:#94a3b8;margin-top:4px;font-size:.7rem}.notif-item-dot{background:#155a8a;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}@media (width<=480px){.notif-dropdown{width:calc(100vw - 32px);right:-60px}}.gsearch-wrap{flex:0 380px;min-width:180px;position:relative}.gsearch-bar{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;transition:all .2s;display:flex}.gsearch-bar:focus-within,.gsearch-bar-active{background:#ffffff38;border-color:#ffffff59;box-shadow:0 2px 12px #0000001f}.gsearch-icon{color:#fff9;flex-shrink:0;font-size:14px}.gsearch-input{color:#fff;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.gsearch-input::placeholder{color:#ffffff80}.gsearch-clear{color:#fff9;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;font-size:13px;transition:color .15s;display:flex}.gsearch-clear:hover{color:#fff}.gsearch-spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite gspin}@keyframes gspin{to{transform:rotate(360deg)}}.gsearch-dropdown{z-index:1100;background:#fff;border-radius:10px;max-height:420px;animation:.18s ease-out gslide;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 32px #0000002e}@keyframes gslide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.gsearch-empty{text-align:center;color:#888;padding:20px;font-size:14px}.gsearch-section{padding:4px 0}.gsearch-section+.gsearch-section{border-top:1px solid #eee}.gsearch-section-title{text-transform:uppercase;letter-spacing:.5px;color:#155a8a;align-items:center;gap:6px;padding:8px 14px 4px;font-size:11px;font-weight:700;display:flex}.gsearch-item{cursor:pointer;padding:10px 14px;transition:background .12s}.gsearch-item:hover,.gsearch-item-active{background:#f0f6fc}.gsearch-item-main{color:#222;align-items:center;gap:8px;font-size:14px;display:flex}.gsearch-item-badge{color:#155a8a;background:#e3f0fa;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.gsearch-status-badge{color:#fff;white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.gsearch-item-sub{color:#777;gap:12px;margin-top:2px;font-size:12px;display:flex}@media (width<=768px){.gsearch-wrap{flex:1;min-width:120px}.gsearch-input::placeholder{font-size:13px}.gsearch-dropdown{max-height:calc(100vh - 80px);position:fixed;top:60px;left:8px;right:8px}}.offline-banner{z-index:9999;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);justify-content:center;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;animation:.3s slideDown;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #f59e0b4d}.offline-banner svg{flex-shrink:0;font-size:1.1rem}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.install-banner{z-index:9998;background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;gap:1.5rem;width:calc(100% - 2rem);max-width:520px;padding:1rem 1.5rem;animation:.4s cubic-bezier(.4,0,.2,1) slideUp;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000026}.install-content{align-items:center;gap:1rem;display:flex}.install-icon{color:#155a8a;flex-shrink:0;font-size:2rem}.install-text{flex-direction:column;display:flex}.install-text strong{color:#1e293b;font-size:.95rem}.install-text span{color:#64748b;margin-top:.15rem;font-size:.78rem}.install-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.install-btn{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .2s}.install-btn:hover{filter:brightness(1.1);box-shadow:0 4px 12px #155a8a4d}.install-dismiss{color:#94a3b8;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.install-dismiss:hover{color:#475569;background:#e2e8f0}.update-banner{z-index:9997;color:#fff;background:#155a8a;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;animation:.4s cubic-bezier(.4,0,.2,1) slideUp2;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 8px 24px #155a8a4d}@keyframes slideUp2{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.update-banner svg{flex-shrink:0}.update-btn{color:#155a8a;cursor:pointer;background:#fff;border:none;border-radius:8px;margin-left:.5rem;padding:.35rem .85rem;font-size:.8rem;font-weight:700;transition:all .2s}.update-btn:hover{background:#f1f5f9}@media (width<=600px){.install-banner{flex-direction:column;gap:.75rem}.install-actions{justify-content:flex-end;width:100%}}:root{--brand-navy:#0c3d5c;--brand-blue:#155a8a;--brand-sky:#1a8dcb;--brand-orange:#e67e22;--brand-orange-dark:#c0651a;--primary:var(--brand-blue);--primary-dark:#0e4a73;--primary-light:#155a8a1a;--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-600:var(--brand-blue);--primary-700:var(--primary-dark);--primary-gradient:linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-blue) 45%, var(--brand-sky) 100%);--primary-gradient-soft:linear-gradient(135deg, #155a8a1f, #1a8dcb14);--accent-gradient:linear-gradient(90deg, var(--brand-blue), var(--brand-sky), var(--brand-orange));--secondary:#0f172a;--secondary-light:#334155;--secondary-accent:var(--brand-blue);--secondary-600:var(--brand-blue);--secondary-700:var(--primary-dark);--accent-rose:#e11d48;--accent-orange:var(--brand-orange);--accent-amber:#f59e0b;--accent-emerald:#059669;--accent-teal:#0d9488;--accent-cyan:#0891b2;--accent-violet:#7c3aed;--accent-pink:#db2777;--success:#059669;--success-light:#ecfdf5;--success-dark:#047857;--danger:#e11d48;--danger-light:#fff1f2;--danger-dark:#be123c;--warning:#d97706;--warning-light:#fffbeb;--warning-dark:#b45309;--info:#0284c7;--info-light:#f0f9ff;--info-dark:#0369a1;--bg-page:#f4f7fb;--bg-primary:#fff;--bg-secondary:#f1f5f9;--bg-tertiary:#e2e8f0;--bg-elevated:#fff;--bg-accent:linear-gradient(145deg, #f8fafc 0%, #eef4fa 45%, #f8fafc 100%);--surface-glass:#ffffffd1;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-quaternary:#94a3b8;--text-muted:#94a3b8;--text-inverse:#fff;--border-color:#e2e8f0;--border-hover:#94c4e8;--border-focus:var(--brand-blue);--border-subtle:#f1f5f9;--border-light:#f1f5f9;--sidebar-width:272px;--sidebar-width-collapsed:76px;--header-height:68px;--content-max:1440px;--gap-1:.5rem;--gap-2:1rem;--gap-3:1.5rem;--gap-4:2rem;--gap-5:2.5rem;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 8px #0f172a0f;--shadow-md:0 8px 24px #0f172a14;--shadow-lg:0 16px 40px #0f172a1a;--shadow-xl:0 24px 48px #0f172a1f;--shadow-colored:0 8px 22px #155a8a38;--shadow-inset:inset 0 1px 0 #fff9;--t-fast:.15s ease;--t-base:.22s ease;--t-slow:.35s cubic-bezier(.4, 0, .2, 1);--z-header:50;--z-sidebar:100;--z-overlay:150;--z-modal:200;--z-toast:10000;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text:var(--text-primary);--text-light:var(--text-tertiary);--border:var(--border-color)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(120% 80% at 0 -10%,#155a8a12 0%,#0000 55%),radial-gradient(90% 60% at 100% 0,#1a8dcb0d 0%,#0000 50%),radial-gradient(70% 50% at 85% 100%,#e67e220a 0%,#0000 55%);font-size:16px;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-quaternary)}::selection{color:var(--text-primary);background:#155a8a26}a{color:inherit;transition:var(--t-base);text-decoration:none}button{cursor:pointer;transition:var(--t-base);border:none;outline:none;font-family:inherit}input,textarea,select{transition:var(--t-base);outline:none;font-family:inherit}.app-loading{min-height:100vh;color:var(--text-tertiary);background:var(--bg-page);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:1rem;font-weight:600;display:flex}.app-loading:before{content:"";border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.app-container{min-height:100vh;display:flex}.app-main-wrapper{margin-left:var(--sidebar-width);transition:margin-left var(--t-base);flex-direction:column;flex:1;min-width:0;display:flex}.app-main-wrapper.sidebar-collapsed{margin-left:var(--sidebar-width-collapsed)}.app-sidebar{width:var(--sidebar-width);height:100dvh;color:var(--text-primary);z-index:var(--z-sidebar);box-shadow:1px 0 0 var(--border-color), 6px 0 24px #0f172a0d;border-right:1px solid var(--border-color);background:linear-gradient(#fff 0%,#f8fafc 55%,#f1f5f9 100%);flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden}.app-sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--z-sidebar) - 1);background:#00000080;animation:.3s fadeOverlay;position:fixed;inset:0}@keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}.sidebar-logo{height:var(--header-height);flex-shrink:0;align-items:center;gap:14px;padding:0 20px;display:flex;position:relative}.sidebar-logo:after{content:"";background:linear-gradient(90deg, transparent, var(--border-color), transparent);height:1px;position:absolute;bottom:0;left:20px;right:20px}.sidebar-logo-icon{border-radius:var(--radius-md);background:var(--primary-gradient);width:42px;height:42px;color:var(--text-inverse);box-shadow:var(--shadow-colored);flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.sidebar-logo-text{flex-direction:column;min-width:0;display:flex}.sidebar-logo h2{letter-spacing:-.025em;color:var(--text-primary);font-size:1.35rem;font-weight:800;line-height:1.2}.sidebar-logo-sub{color:var(--text-tertiary);letter-spacing:.02em;white-space:nowrap;font-size:.7rem;font-weight:500}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#00000014 transparent;flex-direction:column;flex:1;gap:24px;padding:20px 12px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#00000014;border-radius:4px}.sidebar-group{flex-direction:column;gap:2px;display:flex}.sidebar-group-title{color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;margin-bottom:8px;padding:0 12px;font-size:.6875rem;font-weight:700}.sidebar-item{color:var(--text-secondary);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.sidebar-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-item.active{background:var(--primary-light);color:var(--primary-dark);font-weight:600}.sidebar-item.active:before{content:"";background:var(--accent-gradient);border-radius:0 4px 4px 0;width:4px;height:60%;position:absolute;top:50%;left:-12px;transform:translateY(-50%);box-shadow:0 0 10px #155a8a40}.sidebar-item.active .sidebar-item-icon{color:var(--primary)}.sidebar-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;font-size:1.15rem;transition:color .2s;display:flex}.sidebar-item-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-item-shortcut{background:var(--bg-secondary);color:var(--text-quaternary);border:1px solid var(--border-color);border-radius:4px;margin-left:auto;padding:2px 6px;font-size:.65rem;font-weight:600}.sidebar-footer{border-top:1px solid var(--border-color);flex-shrink:0;padding:12px}.sidebar-user-profile{border-radius:var(--radius-md);background:var(--bg-secondary);align-items:center;gap:10px;margin-bottom:8px;padding:10px;transition:background .2s;display:flex}.sidebar-user-profile:hover{background:var(--bg-tertiary)}.sidebar-user-profile.collapsed{justify-content:center;padding:10px 6px}.sidebar-user-avatar{border-radius:var(--radius-sm);background:var(--primary-gradient);width:36px;height:36px;color:var(--text-inverse);flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex;box-shadow:0 2px 8px #155a8a40}.sidebar-user-info{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;line-height:1.3;overflow:hidden}.sidebar-user-role{border-radius:var(--radius-full);background:var(--bg-tertiary);width:fit-content;color:var(--text-tertiary);margin-top:2px;padding:1px 6px;font-size:.65rem;font-weight:600;display:inline-block}.sidebar-user-role.role-admin{color:#7c3aed;background:#8b5cf61a}.sidebar-user-role.role-tech{color:#059669;background:#10b9811a}.sidebar-user-role.role-resp{color:#2563eb;background:#3b82f61a}.sidebar-user-role.role-secr{color:#d97706;background:#f59e0b1a}.sidebar-user-role.role-pharma{color:#db2777;background:#ec48991a}.sidebar-logout-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-quaternary);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;transition:all .2s;display:flex}.sidebar-logout-btn:hover{color:#dc2626;background:#ef444414}.sidebar-collapse-btn{width:100%;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:10px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex;background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important}.sidebar-collapse-btn:hover{color:var(--text-secondary);background:var(--bg-tertiary)!important}.app-sidebar.collapsed .sidebar-item-label,.app-sidebar.collapsed .sidebar-group-title,.app-sidebar.collapsed .sidebar-collapse-btn span,.app-sidebar.collapsed .sidebar-item-shortcut{display:none}.app-sidebar.collapsed .sidebar-logo{justify-content:center;padding:0}.app-sidebar.collapsed .sidebar-logo:after{display:none}.app-sidebar.collapsed .sidebar-item{justify-content:center;padding:10px 8px}.app-sidebar.collapsed .sidebar-nav{padding:20px 8px}.app-sidebar.collapsed .sidebar-user-info,.app-sidebar.collapsed .sidebar-logout-btn{display:none}@media (width<=768px){.app-sidebar{transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translate(-100%)}.app-sidebar.mobile-open{width:var(--sidebar-width);transform:translate(0)}.app-sidebar.collapsed{width:var(--sidebar-width)}.app-main-wrapper,.app-main-wrapper.sidebar-collapsed{margin-left:0}.app-header-toggle{display:flex!important}}.app-header{height:var(--header-height);background:var(--surface-glass);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-color);z-index:var(--z-header);box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.app-header-left{align-items:center;gap:16px;display:flex}.app-header-right{align-items:center;gap:8px;display:flex}.app-header-breadcrumb{align-items:center;display:flex}.app-header-title{color:var(--text-primary);letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.app-header-toggle{border-radius:var(--radius-md);background:var(--bg-secondary);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:1.1rem;display:none}.app-header-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (width<=768px){.app-header{padding:0 16px}.app-header-toggle{display:flex}}.app-content{max-width:var(--content-max);flex:1;width:100%;margin:0 auto;padding:36px 40px}@media (width<=768px){.app-content{padding:20px 16px}}.card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), var(--shadow-inset);transition:all var(--t-base);margin-bottom:28px;padding:28px}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md), var(--shadow-inset)}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:all var(--t-base);justify-content:center;align-items:center;gap:10px;padding:12px 28px;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-colored)}.btn-primary:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 12px 28px #155a8a47}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.btn-ghost{color:var(--primary);background:0 0;border:1px solid #0000;padding:10px 18px}.btn-ghost:hover{background:var(--primary-light);border-color:#155a8a26}.btn-danger{background:var(--danger);color:var(--text-inverse);box-shadow:0 6px 16px #e11d4833}.btn-danger:hover:not(:disabled){filter:brightness(1.05)}.sidebar-badge{background:var(--danger);min-width:20px;height:20px;color:var(--text-inverse);border-radius:10px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:.7rem;font-weight:700;display:flex}.modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:90%;max-width:400px;box-shadow:var(--shadow-xl);padding:32px}.modal-title{color:var(--text-primary);margin:0 0 20px;font-size:1.15rem;font-weight:700}.modal-field{margin-bottom:16px}.modal-field:last-of-type{margin-bottom:24px}.modal-label{color:var(--text-secondary);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.modal-input{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;background:var(--bg-primary);width:100%;color:var(--text-primary);padding:10px 14px;font-size:.9rem}.modal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.modal-hint{color:var(--text-quaternary);margin-top:4px;font-size:.75rem}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-btn-cancel{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;color:var(--text-secondary);padding:10px 20px;font-size:.9rem;font-weight:600}.modal-btn-cancel:hover{background:var(--bg-secondary)}.modal-btn-submit{border-radius:var(--radius-sm);background:var(--primary-gradient);color:var(--text-inverse);cursor:pointer;box-shadow:var(--shadow-colored);border:none;padding:10px 20px;font-size:.9rem;font-weight:600}.modal-btn-submit:hover{filter:brightness(1.04)}.modal-btn-submit:disabled{opacity:.7;cursor:not-allowed}.form-group{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.form-required{color:var(--accent-rose);margin-left:4px}.form-input,.form-select,.form-textarea{border:1.5px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--bg-primary);transition:all var(--t-base);padding:14px 18px;font-size:1rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-hover)}.form-input::placeholder{color:var(--text-quaternary)}.form-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (width<=768px){.form-grid{grid-template-columns:1fr}}.badge{border-radius:var(--radius-full);align-items:center;gap:6px;padding:5px 14px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-light);color:var(--success-dark)}.badge-warning{background:var(--warning-light);color:var(--warning-dark)}.badge-danger{background:var(--danger-light);color:var(--danger-dark)}.badge-info{background:var(--info-light);color:var(--info-dark)}.fade-in{animation:.4s cubic-bezier(.4,0,.2,1) fadeIn}.slide-up{animation:.5s cubic-bezier(.4,0,.2,1) slideUp}.Toastify__toast-container{z-index:var(--z-toast)}.Toastify__toast{font-family:var(--font-sans);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-height:52px;font-size:.9rem;font-weight:500}.Toastify__toast--success{background:linear-gradient(135deg,#047857,#059669)}.Toastify__toast--error{background:linear-gradient(135deg,#be123c,#e11d48)}.Toastify__toast--warning{background:linear-gradient(135deg,#b45309,#d97706)}.Toastify__toast--info{background:var(--primary-gradient)}.Toastify__progress-bar{background:#ffffff73}.page-canvas{animation:.35s both fadeIn}.page-header-icon{border-radius:var(--radius-md);background:var(--primary-gradient-soft);width:48px;height:48px;color:var(--primary);border:1px solid #155a8a1f;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex}.page-stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.page-stat-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--t-base), box-shadow var(--t-base);padding:20px 22px}.page-stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.page-stat-card strong{color:var(--text-primary);font-size:1.65rem;font-weight:800;line-height:1.2;display:block}.page-stat-card span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.page-header{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.page-title{color:var(--text-primary);align-items:center;gap:12px;margin:0;font-size:1.8rem;font-weight:800;display:flex}.page-subtitle{color:var(--text-tertiary);margin:6px 0 0;font-size:.95rem}.filters-bar{background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm), var(--shadow-inset);border:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:28px;padding:20px 22px;display:flex}.search-group{flex:1;min-width:250px;position:relative}.search-group .search-icon{color:var(--text-quaternary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-group .form-input{margin-bottom:0;padding-left:40px}.filters-bar .form-select,.filters-bar .form-input{margin-bottom:0}.filter-select{width:180px}.filter-date{width:160px}.list-grid{grid-template-columns:1fr;gap:14px;display:grid}.list-card{background:var(--bg-elevated);border-radius:var(--radius-lg);cursor:pointer;border:1px solid var(--border-color);transition:all var(--t-base);box-shadow:var(--shadow-xs);align-items:center;gap:20px;padding:20px 24px;display:flex}.list-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);background:linear-gradient(90deg, var(--bg-elevated) 0%, #155a8a05 100%);transform:translate(3px)}.list-card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:700;display:flex}.list-card-body{flex:1;min-width:0}.list-card-title{align-items:center;gap:8px;margin-bottom:4px;display:flex}.list-card-title strong{color:var(--secondary);font-size:1.05rem}.list-card-id{color:var(--text-quaternary);font-size:.8rem}.list-card-meta{color:var(--text-secondary);gap:16px;font-size:.85rem;display:flex}.list-card-meta span{align-items:center;gap:4px;display:flex}.list-card-meta svg{opacity:.6}.list-card-badge{white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:700;display:flex}.list-card-chevron{color:var(--text-quaternary);transition:all var(--t-base);flex-shrink:0}.list-card:hover .list-card-chevron{color:var(--primary);transform:translate(3px)}.empty-state{text-align:center;background:var(--bg-elevated);border-radius:var(--radius-xl);border:2px dashed var(--border-color);box-shadow:var(--shadow-xs);padding:72px 24px}.empty-state-icon{color:var(--text-quaternary);opacity:.5;margin-bottom:16px;font-size:3rem}.empty-state h3{color:var(--secondary);margin-bottom:8px;font-weight:700}.empty-state p{color:var(--text-secondary);max-width:400px;margin:0 auto}.profil-container{max-width:720px;margin:0 auto}.profil-card{background:var(--bg-elevated);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:20px;margin-bottom:24px;padding:32px}.profil-header{align-items:center;gap:24px;margin-bottom:28px;display:flex}.profil-avatar{background:var(--primary-gradient);width:72px;height:72px;color:var(--text-inverse);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.6rem;font-weight:700;display:flex}.profil-name{color:var(--secondary);margin:0;font-size:1.4rem}.profil-role-badge{color:#6d28d9;background:#ede9fe;border-radius:20px;align-items:center;gap:4px;margin-top:6px;padding:4px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.profil-info-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.profil-info-item span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.profil-info-item p{color:var(--secondary);margin:4px 0 0;font-size:1rem;font-weight:500}.profil-info-full{grid-column:span 2}.profil-icon-inline{margin-right:4px}.profil-security-header{justify-content:space-between;align-items:center;display:flex}.profil-security-header.profil-security-open{margin-bottom:24px}.profil-security-header h3{color:var(--secondary);align-items:center;gap:8px;margin:0;display:flex}.profil-btn-outline{border:1px solid var(--border-color);background:var(--bg-elevated);cursor:pointer;color:var(--primary);transition:all var(--t-base);border-radius:10px;padding:8px 18px;font-size:.85rem;font-weight:600}.profil-btn-outline:hover{border-color:var(--primary);background:var(--primary-light)}.profil-pwd-form{margin-top:24px}.profil-pwd-form .form-group{margin-bottom:16px}.profil-pwd-form .form-label{margin-bottom:6px;display:block}.profil-pwd-form small{color:var(--text-quaternary);font-size:.75rem}.profil-password-rules{gap:6px;margin-top:10px;display:grid}.profil-password-rule{align-items:center;gap:6px;font-size:.8rem;font-weight:500;display:flex}.profil-password-rule.ok{color:#047857}.profil-password-rule.ko{color:#b91c1c}.profil-form-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.profil-btn-cancel{border:1px solid var(--border-color);background:var(--bg-elevated);cursor:pointer;transition:all var(--t-base);border-radius:10px;padding:10px 20px;font-size:.85rem}.profil-btn-cancel:hover{background:var(--bg-secondary)}.profil-btn-submit{background:var(--primary);color:#fff;cursor:pointer;transition:all var(--t-base);border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 20px;font-size:.85rem;font-weight:600;display:flex}.profil-btn-submit:hover{background:var(--primary-dark);transform:translateY(-1px)}.profil-btn-submit:disabled{opacity:.7;cursor:not-allowed;background:#94a3b8;transform:none}.loading-page{min-height:300px;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite loader-spin}@media (width<=768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.filters-bar{flex-direction:column;gap:12px}.search-group{min-width:100%}.filter-select,.filter-date,.filter-sort{width:100%}.list-card{gap:16px;padding:16px 20px}.list-card-meta{flex-direction:column;gap:4px}.list-card-badge{padding:4px 10px;font-size:.7rem}.profil-info-grid{grid-template-columns:1fr}.profil-info-full{grid-column:span 1}.profil-header{text-align:center;flex-direction:column}}.btn-clear-filters{border:1px solid var(--danger);background:var(--danger-light);color:var(--danger);cursor:pointer;white-space:nowrap;transition:all var(--t-base);border-radius:10px;padding:8px 16px;font-size:.8rem;font-weight:600}.btn-clear-filters:hover{background:var(--danger);color:#fff}.filter-sort{width:160px}.profil-vehicule-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.profil-vehicule-header h3{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;display:flex}.profil-vehicule-nom{color:var(--text-secondary);background:var(--bg-secondary);border-radius:10px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 14px;font-size:.9rem;display:flex}.profil-vehicule-nom svg{color:var(--primary)}.profil-stock-loading{color:var(--text-secondary);align-items:center;gap:8px;padding:12px 0;font-size:.88rem;display:flex}.profil-stock-empty{color:var(--text-quaternary);align-items:center;gap:8px;padding:12px 0;font-size:.88rem;display:flex}.profil-stock-list{flex-direction:column;gap:6px;display:flex}.profil-stock-row{background:var(--bg-secondary);border:1px solid var(--border-light);transition:background var(--t-base);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.profil-stock-row.low{background:#fff7ed;border-color:#fed7aa}.psr-info{flex-direction:column;gap:2px;display:flex}.psr-ref{color:var(--primary);font-family:monospace;font-size:.78rem;font-weight:600}.psr-name{color:var(--text-primary);font-size:.88rem}.psr-qty{color:var(--text-secondary);align-items:center;gap:5px;font-size:.85rem;display:flex}.psr-qty.low{color:#f97316}.psr-qty strong{color:var(--text-primary);font-size:1rem}.psr-qty.low strong{color:#f97316}.spin{animation:1s linear infinite spin}.profil-logout-card{text-align:center}.profil-btn-logout{border:1px solid var(--danger);background:var(--bg-elevated);color:var(--danger);cursor:pointer;transition:all var(--t-base);border-radius:12px;align-items:center;gap:10px;padding:12px 28px;font-size:.95rem;font-weight:600;display:inline-flex}.profil-btn-logout:hover{background:var(--danger);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px #f43f5e33}@media print{.app-sidebar,.app-header,.sidebar-overlay,.filters-bar,.btn,.btn-clear-filters,.list-card-chevron,.profil-btn-logout,.profil-btn-outline,.profil-btn-submit,.profil-btn-cancel{display:none!important}.app-main-wrapper,.app-main-wrapper.sidebar-collapsed{margin-left:0!important}.app-content{max-width:100%!important;padding:0!important}.list-card{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important;border-radius:8px!important}.page-title{font-size:1.4rem}body{background:var(--bg-elevated)!important}}
