@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: rgba(255, 255, 255, .7);--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));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.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 (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin: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;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.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:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.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:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius: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;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.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{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}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:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}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:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(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:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}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:translate3d(0,2000px,0)}}.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%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}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) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}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:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.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-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#0a1628,#122b4a 30%,#155a8a 70%,#1a8dcb);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(26,141,203,.25) 0%,transparent 65%);top:-250px;right:-200px;animation:glow-drift 10s ease-in-out infinite}.login-page:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(211,84,0,.1) 0%,transparent 65%);bottom:-200px;left:-100px;animation:glow-drift 12s ease-in-out infinite reverse}@keyframes glow-drift{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.08)}}.login-card{background:#fffffff7;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:24px;padding:48px 44px;width:100%;max-width:430px;box-shadow:0 4px 6px #0000000d,0 20px 60px #0003;position:relative;z-index:10;display:flex;flex-direction:column;animation:card-enter .6s cubic-bezier(.16,1,.3,1) both}.login-card:before{content:"";position:absolute;top:0;left:40px;right:40px;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#155a8a,#1a8dcb,#d35400)}@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{width:68px;height:68px;margin:0 auto 18px;border-radius:20px;background:linear-gradient(145deg,#155a8a,#1a8dcb);display:flex;align-items:center;justify-content:center;font-size:1.85rem;color:#fff;box-shadow:0 8px 24px #155a8a4d,0 2px 8px #155a8a26;transition:transform .3s ease,box-shadow .3s ease}.login-logo-icon:hover{transform:scale(1.05) rotate(-3deg);box-shadow:0 12px 32px #155a8a59,0 4px 12px #155a8a33}.login-logo h1{font-size:2.4rem;font-weight:800;letter-spacing:-.03em;margin-bottom:6px;background:linear-gradient(135deg,#0f3460,#155a8a,#1a8dcb);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-logo p{font-size:.9rem;color:#6b7b8d;font-weight:500;letter-spacing:.01em}.login-form{display:flex;flex-direction:column;gap:20px}.login-field{display:flex;flex-direction:column;gap:7px}.login-field label{font-size:.85rem;font-weight:600;color:#3d5168;letter-spacing:.02em}.login-input-wrapper{position:relative}.login-field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.05rem;transition:color .25s ease}.login-field input{width:100%;padding:14px 18px 14px 48px;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;color:#1e293b;background:#f8fafc;transition:all .25s ease}.login-field input::placeholder{color:#a0aec0}.login-field input:hover{border-color:#cbd5e1;background:#fff}.login-field input:focus{outline:none;border-color:#155a8a;background:#fff;box-shadow:0 0 0 4px #155a8a1a}.login-field input:focus~.login-field-icon,.login-field input:focus+.login-field-icon{color:#155a8a}.login-btn{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;padding:15px;background:linear-gradient(135deg,#155a8a,#1a7ab5);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #155a8a4d;letter-spacing:.02em;position:relative;overflow:hidden}.login-btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.login-btn:hover:after{left:100%}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #155a8a66;background:linear-gradient(135deg,#1a6fa0,#1e8ecc)}.login-btn:active{transform:translateY(0);box-shadow:0 2px 8px #155a8a4d}.login-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.login-separator{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:#fff6;font-size:.85rem}.login-separator:before,.login-separator:after{content:"";flex:1;height:1px;background:#ffffff26}.login-btn-helpstock{background:linear-gradient(135deg,#f97316,#ea580c)!important;width:100%;border:none;margin-top:0}.login-btn-helpstock:hover{background:linear-gradient(135deg,#fb923c,#f97316)!important;box-shadow:0 4px 16px #f9731659}@media (max-width: 480px){.login-page{padding:16px}.login-card{padding:36px 24px;border-radius:20px}.login-logo h1{font-size:2rem}.login-card:before{left:24px;right:24px}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s ease}.confirm-box{background:var(--bg-card, #fff);border-radius:12px;padding:2rem;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease}.confirm-icon{font-size:2.5rem;margin-bottom:1rem}.confirm-icon--danger{color:var(--danger, #ef4444)}.confirm-icon--warning{color:var(--warning, #f59e0b)}.confirm-title{margin:0 0 .5rem;font-size:1.15rem;color:var(--text-primary, #1e293b)}.confirm-message{margin:0 0 1.5rem;color:var(--text-secondary, #64748b);font-size:.95rem;line-height:1.5}.confirm-actions{display:flex;gap:.75rem;justify-content:center}.confirm-actions .btn{padding:.6rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;border:none;font-size:.9rem;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 slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dashboard-container{padding:0;min-height:100%}.dash-main-content{margin-top:0}.fade-in{animation:fadeInUp .4s ease both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.titles{display:flex;flex-direction:column;gap:.25rem}.titles h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0}.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.profile-area{display:flex;align-items:center;gap:1.25rem}.avatar-main{width:56px;height:56px;background:var(--primary-gradient);color:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;box-shadow:var(--shadow-colored)}.gGreetings p{font-size:.875rem;color:var(--text-tertiary);margin:0}.gGreetings h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.header-actions{display:flex;align-items:center;gap:1.5rem}.notif-bell{position:relative;width:44px;height:44px;background:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border:1.5px solid var(--border-color);cursor:pointer;transition:all var(--t-base)}.notif-bell:hover{border-color:var(--primary);color:var(--primary)}.red-dot{position:absolute;top:10px;right:12px;width:8px;height:8px;background:var(--accent-rose);border-radius:50%;border:2px solid white;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.current-date-box{background:#fff;padding:.6rem 1.25rem;border-radius:14px;display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:.875rem;font-weight:500;border:1.5px solid var(--border-color)}.glass-morph{background:#fff;border:1px solid rgba(229,231,235,.8);border-radius:20px;padding:1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.glass-morph:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:20px 20px 0 0;background:var(--primary-gradient);opacity:0;transition:opacity .3s}.glass-morph:hover:before{opacity:1}.dash-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem;margin-bottom:2rem}.dash-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.75rem;margin-bottom:2.5rem}.stat-card{cursor:default}.stat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.stat-card.warning:before{background:linear-gradient(90deg,#f59e0b,#f97316);opacity:1}.stat-card.info:before{background:linear-gradient(90deg,#06b6d4,#0ea5e9);opacity:1}.stat-card.success:before{background:linear-gradient(90deg,#10b981,#34d399);opacity:1}.stat-header{display:flex;justify-content:space-between;margin-bottom:1.25rem}.stat-icon-wrapper{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.stat-icon-wrapper.blue{background:linear-gradient(135deg,#e8f4fc,#d1e8f8);color:#155a8a}.stat-icon-wrapper.orange{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#ea580c}.stat-icon-wrapper.green{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}.stat-icon-wrapper.amber{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706}.stat-icon-wrapper.cyan{background:linear-gradient(135deg,#ecfeff,#cffafe);color:#0891b2}.stat-icon-wrapper.white-icon{background:#fff3;color:#fff}.stat-badge{padding:.3rem .6rem;border-radius:8px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.stat-badge.positive{background:#dcfce7;color:#166534}.stat-main h3{font-size:2.25rem;font-weight:800;color:var(--text-primary);margin-bottom:.25rem}.stat-main p{color:var(--text-tertiary);font-size:.875rem;margin-bottom:.75rem}.primary-gradient{background:var(--primary-gradient)!important;color:#fff;border:none!important}.primary-gradient:before{display:none}.primary-gradient h3{color:#fff}.primary-gradient p{color:#ffffffd9}.role-chip{font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:8px;background:var(--primary-gradient);color:#fff;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;margin-left:.5rem}.dash-header-btns{display:flex;gap:.75rem;align-items:center}.btn-outline{padding:.6rem 1.25rem;border-radius:12px;font-weight:600;font-size:.85rem;background:#fff;color:var(--text-secondary);border:1.5px solid var(--border-color);display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all var(--t-base)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.admin-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:.5rem}.panel-card{padding:1.5rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.panel-header h3{font-size:1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin:0}.btn-link{background:none;border:none;color:var(--primary);font-weight:600;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:all var(--t-base)}.btn-link:hover{opacity:.7}.type-bars{display:flex;flex-direction:column;gap:.85rem}.type-bar-row{display:flex;align-items:center;gap:.75rem}.type-bar-label{min-width:130px;font-size:.85rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.type-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.type-bar-track{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.type-bar-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1);min-width:4px}.type-bar-count{font-size:.85rem;font-weight:700;color:var(--text-primary);min-width:70px;text-align:right}.type-bar-count small{color:var(--text-tertiary);font-weight:500}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:center;gap:.85rem;padding:.75rem 0;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:all var(--t-base)}.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{width:10px;height:10px;border-radius:50%;flex-shrink:0}.activity-content{flex:1;display:flex;flex-direction:column;gap:2px}.activity-patient{font-size:.9rem;font-weight:600;color:var(--text-primary)}.activity-meta{font-size:.78rem;color:var(--text-tertiary)}.activity-time{font-size:.75rem;color:var(--text-quaternary);white-space:nowrap}.status-tag{padding:2px 8px;border-radius:6px;font-size:.7rem;font-weight:600}.status-tag.EN_COURS{background:#fef3c7;color:#92400e}.status-tag.ATTENTE_PHARMACIEN{background:#fce7f3;color:#9d174d}.status-tag.ATTENTE_SECRETARIAT{background:#dbeafe;color:#1e40af}.status-tag.COMPLETE,.status-tag.ARCHIVE{background:#dcfce7;color:#166534}.welcome-banner{background:linear-gradient(135deg,#0f3460,#155a8a 40%,#1a8dcb,#1a9fd6);padding:3rem;border-radius:24px;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;box-shadow:0 16px 40px #155a8a40;position:relative;overflow:hidden}.welcome-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.welcome-banner:after{content:"";position:absolute;bottom:-30%;left:10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);border-radius:50%}.welcome-text{position:relative;z-index:1}.welcome-text h2{margin-bottom:.5rem;font-weight:800;font-size:1.75rem}.welcome-text p{opacity:.9;font-size:1.05rem}.btn-white{background:#fff;color:#155a8a;padding:.85rem 1.75rem;border-radius:14px;font-weight:700;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 16px #0000001a;transition:all var(--t-base);position:relative;z-index:1}.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.quick-stats-row{display:flex;gap:1.5rem;margin-bottom:2.5rem}.q-stat{flex:1;background:#fff;padding:1.5rem;border-radius:18px;display:flex;align-items:center;gap:1rem;border:1px solid var(--border-color);transition:all var(--t-base)}.q-stat:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.q-stat .icon{font-size:1.5rem;height:46px;width:46px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0}.q-stat .icon.indigo{background:#e8f4fc;color:#155a8a}.q-stat .icon.amber{background:#fef3c7;color:#d97706}.q-stat .icon.pink{background:#fce7f3;color:#db2777}.q-stat .icon.green{background:#dcfce7;color:#16a34a}.q-val{font-size:1.5rem;font-weight:800;color:var(--text-primary);display:block;line-height:1}.q-label{font-size:.8rem;color:var(--text-tertiary);font-weight:500}.completed-item{opacity:.75}.completed-item:hover{opacity:1}.success-box{background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;color:#16a34a!important}.inter-section{margin-bottom:2rem}.inter-section h3{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.inter-section h3:before{content:"";width:4px;height:20px;border-radius:4px;background:var(--primary-gradient)}.intervention-modern-list{display:flex;flex-direction:column;gap:1rem}.inter-item{background:#fff;padding:1.5rem;border-radius:18px;display:flex;align-items:center;gap:1.25rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color)}.inter-item:hover{transform:translate(6px);border-color:var(--primary);box-shadow:var(--shadow-md)}.inter-icon-box{width:52px;height:52px;background:linear-gradient(135deg,#e8f4fc,#d1e8f8);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#155a8a}.inter-details{flex:1}.inter-details .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.inter-details h4{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0}.inter-details .bottom{display:flex;gap:1.5rem;font-size:.8rem;color:var(--text-tertiary)}.chevron{color:var(--text-quaternary);font-size:1rem;transition:all var(--t-base)}.inter-item:hover .chevron{color:var(--primary);transform:translate(4px)}.badge-status{padding:5px 12px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.badge-status.EN_COURS{background:#fef3c7;color:#92400e}.badge-status.COMPLETE{background:#d1fae5;color:#065f46}.empty-msg{text-align:center;color:var(--text-quaternary);padding:3rem;font-size:1rem;font-weight:500}.pharma-header-modern{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem}.pharma-section-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:1.5rem 0 1rem;display:flex;align-items:center;gap:.5rem}.pre-title{font-size:.8rem;font-weight:700;color:var(--accent-violet);letter-spacing:.1em;text-transform:uppercase}.notif-badge-large{padding:.5rem 1rem;border-radius:14px;font-size:.85rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.notif-badge-large.neon{background:linear-gradient(135deg,#fef3c7,#fff7ed);color:#92400e;border:1px solid #fde68a}.pharma-tabs{display:flex;gap:1rem;border-bottom:2px solid var(--border-color);margin-bottom:2rem;padding-bottom:0}.pharma-tabs button{padding:.85rem 1.25rem;background:none;border:none;font-weight:600;color:var(--text-tertiary);cursor:pointer;position:relative;transition:all var(--t-base)}.pharma-tabs button.active{color:var(--primary)}.pharma-tabs button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:var(--primary-gradient);border-radius:3px 3px 0 0}.pharma-tabs button:hover{color:var(--primary)}.pharma-grid-main{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.75rem}.pharma-card{border-radius:20px;padding:1.75rem;cursor:pointer;transition:all .25s}.pharma-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.warning-border{border-left:4px solid var(--accent-amber)!important}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cat-tag{padding:4px 12px;border-radius:8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cat-tag.o2{background:linear-gradient(135deg,#dbeafe,#eff6ff);color:#1e40af}.date-tag{font-size:.8rem;color:var(--text-tertiary)}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem}.tech-name{font-size:.8rem;color:var(--text-tertiary);font-weight:500}.btn-validate{padding:8px 16px;border-radius:10px;font-size:.8rem;font-weight:700;background:var(--primary-gradient);color:#fff;border:none;box-shadow:var(--shadow-colored);transition:all var(--t-base)}.btn-validate:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4f46e540}.dash-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dash-header-actions h2{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.empty-state-full{grid-column:1 / -1;text-align:center;padding:3rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.empty-pharma-box{text-align:center;padding:3rem;color:var(--text-quaternary);display:flex;flex-direction:column;align-items:center;gap:1rem}.status-label.verified{color:var(--success);font-weight:600;display:flex;align-items:center;gap:4px}.ready-to-download{border-left:4px solid var(--success)}.actions-secretaire{display:flex;gap:.5rem;align-items:center}.btn-dl{padding:8px 14px;border-radius:10px;font-size:.8rem;font-weight:600;background:var(--success-light);color:var(--success-dark);border:1px solid #d1fae5;display:flex;align-items:center;gap:6px;transition:all var(--t-base)}.btn-dl:hover{background:var(--success);color:#fff}.btn-cloture-final{padding:8px 14px;border-radius:10px;font-size:.8rem;font-weight:600;background:#fff;color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--t-base)}.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:shake .5s ease-in-out 3}@media (max-width: 1024px){.dash-grid-5{grid-template-columns:repeat(3,1fr)}.admin-panels{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-container{padding:0}.dash-header{flex-direction:column;align-items:stretch;gap:1rem}.welcome-banner{flex-direction:column;text-align:center;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{width:100%;justify-content:flex-end}}.dash-loading{display:flex;align-items:center;justify-content:center;min-height:50vh}.dash-loading .spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:loader-spin .7s linear infinite}.tech-progress-card{margin-bottom:2rem;padding:1.5rem 2rem!important}.tech-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tech-progress-header h3{font-size:1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin:0}.tech-progress-bar-container{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.tech-progress-bar{flex:1;height:12px;background:#f1f5f9;border-radius:6px;overflow:hidden}.tech-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:6px;transition:width .8s cubic-bezier(.4,0,.2,1);min-width:4px}.tech-progress-pct{font-size:1.25rem;font-weight:800;color:#10b981;min-width:48px;text-align:right}.tech-progress-legend{display:flex;gap:1.5rem;font-size:.8rem;color:var(--text-tertiary);font-weight:500}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;vertical-align:middle}.green-dot{background:#10b981}.amber-dot{background:#f59e0b}.pink-dot{background:#db2777}.tech-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.pharma-box{background:linear-gradient(135deg,#fce7f3,#fbcfe8)!important;color:#db2777!important}.secr-box{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;color:#1e40af!important}.q-stat .icon.cyan{background:linear-gradient(135deg,#ecfeff,#cffafe);color:#0891b2}.urgent-card{border-left-color:#ef4444!important;animation:pulse-urgent 2s ease-in-out infinite}@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{font-size:.75rem;font-weight:600;color:var(--text-tertiary);display:flex;align-items:center;gap:.3rem}.wait-tag.urgent{color:#ef4444;font-weight:700}.wait-tag-inline{font-size:.75rem;font-weight:600;color:var(--text-tertiary);display:flex;align-items:center;gap:.3rem}.wait-tag-inline.urgent{color:#ef4444;font-weight:700}.pharma-patient-info{font-size:.8rem;color:var(--text-tertiary);margin:.25rem 0 .5rem}@media (max-width: 768px){.tech-two-cols{grid-template-columns:1fr}.tech-progress-legend{flex-wrap:wrap;gap:.75rem}}@media print{.dash-header,.welcome-banner .btn-white,.dash-header-btns,.actions-secretaire,.btn-validate,.chevron{display:none!important}.welcome-banner{background:#155a8a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:1.5rem!important;margin-bottom:1rem!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:fadeSlideUp .5s ease}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.form-container{width:100%}.form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:16px}.form-header h1{font-size:1.65rem;font-weight:800;color:var(--secondary);margin:0;background:linear-gradient(135deg,#155a8a,#1a8dcb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stepper-simple{display:flex;align-items:center;gap:0}.stepper-simple .step{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;background:var(--bg-secondary);color:var(--text-quaternary);border:2px solid var(--border-color);transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.stepper-simple .step.active{background:var(--primary-gradient);color:#fff;border-color:transparent;box-shadow:0 4px 16px #155a8a59;transform:scale(1.08)}.stepper-simple .connector{width:48px;height:3px;background:var(--border-color);border-radius:2px;transition:background .3s ease}.modern-form{background:#fff;border-radius:var(--radius-xl);padding:36px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:box-shadow .3s ease}.modern-form:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#155a8a,#1a8dcb,#d35400);border-radius:4px 4px 0 0}.modern-form:hover{box-shadow:var(--shadow-md)}.shadow-xl{box-shadow:0 20px 48px #155a8a14,0 4px 12px #0000000a}.step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.step-content h3{font-size:1.1rem;font-weight:700;color:var(--secondary);margin:0 0 20px;display:flex;align-items:center;gap:10px}.step-content h3:before{content:"";width:4px;height:20px;background:var(--primary-gradient);border-radius:3px;flex-shrink:0}.type-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:8px}.type-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;border-radius:var(--radius-lg);border:2px solid var(--border-color);background:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.type-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--card-color);opacity:0;transition:opacity .3s ease;border-radius:inherit}.type-card svg{font-size:1.5rem;color:var(--card-color);transition:all .3s ease;position:relative;z-index:1}.type-card span{font-size:.8rem;font-weight:600;color:var(--text-secondary);transition:all .3s ease;position:relative;z-index:1}.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);transform:translateY(-3px);box-shadow:0 8px 28px color-mix(in srgb,var(--card-color) 35%,transparent)}.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{margin-top:16px;display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#fef2f2,#fff1f2);border-radius:var(--radius-md);border:1px solid #fecaca;transition:all .25s ease}.fumeur-toggle:hover{border-color:#f87171;box-shadow:0 2px 12px #ef44441a}.fumeur-toggle input[type=checkbox]{width:18px;height:18px;accent-color:#ef4444;cursor:pointer;flex-shrink:0}.fumeur-toggle label{font-size:.9rem;color:#991b1b;font-weight:500;cursor:pointer}.patient-search-box{position:relative;margin-bottom:20px}.patient-search-input{position:relative}.patient-search-input .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:.9rem}.patient-search-input input{width:100%;padding:12px 16px 12px 42px;border-radius:12px;border:2px dashed var(--border);background:#f8fafc;font-size:.92rem;transition:border-color .2s,background .2s}.patient-search-input input:focus{border-color:var(--primary);border-style:solid;background:#fff;outline:none;box-shadow:0 0 0 3px #155a8a1a}.patient-search-results{position:absolute;top:100%;left:0;right:0;z-index:50;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0000001f;margin-top:4px;max-height:260px;overflow-y:auto}.patient-search-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background .12s}.patient-search-item:hover{background:#155a8a0f}.patient-search-item:not(:last-child){border-bottom:1px solid #f1f5f9}.psr-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#155a8a,#1a8dcb);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.psr-info{display:flex;flex-direction:column}.psr-name{font-weight:600;font-size:.9rem;color:var(--text)}.psr-meta{font-size:.78rem;color:var(--text-light)}.patient-selected-badge{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:#155a8a0f;border:1.5px solid var(--primary)}.patient-selected-badge svg:first-child{color:var(--primary);font-size:1.1rem}.patient-selected-badge span{font-size:.92rem;color:var(--text);flex:1}.patient-selected-badge button{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:1rem;padding:4px;border-radius:6px;transition:color .15s}.patient-selected-badge button:hover{color:var(--danger, #ef4444)}.row-civilite{display:grid;grid-template-columns:100px 1fr 1fr;gap:16px;margin-bottom:20px}.field{display:flex;flex-direction:column;gap:6px}.field-full{grid-column:1 / -1}.field label{font-size:.8rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.field input,.field textarea,.field select{width:100%;padding:12px 16px;border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;color:var(--text-primary);background:#fff;transition:all .25s ease;font-family:var(--font-sans);outline:none}.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{-webkit-appearance:none;-moz-appearance:none;appearance:none;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-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .icon{position:absolute;left:14px;color:var(--text-quaternary);font-size:.9rem;pointer-events:none;z-index:1}.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{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:500;color:var(--danger);margin-top:4px;animation:shakeIn .3s ease}.field-error svg{font-size:.72rem;flex-shrink:0}@keyframes shakeIn{0%{transform:translate(-6px);opacity:0}50%{transform:translate(3px)}to{transform:translate(0);opacity:1}}.row-3{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:4px}.recap-type{padding:14px 18px;border-radius:var(--radius-md);background:linear-gradient(135deg,#e8f4fc,#d1e8f8);border:1px solid #a5c8e0;margin-bottom:24px;display:flex;align-items:center;gap:12px;font-size:.95rem;transition:all .25s ease}.recap-type svg{font-size:1.2rem;color:var(--primary)}.recap-type strong{color:var(--secondary)}.recap-type span{color:var(--text-tertiary)}.email-toggle-option{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-radius:var(--radius-lg);margin-top:20px;transition:all .25s ease}.email-toggle-option.glass-card{background:linear-gradient(135deg,#e8f4fc,#d1e8f8);border:1px solid #a5c8e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.email-toggle-option:hover{border-color:var(--primary);box-shadow:0 4px 16px #155a8a1a}.toggle-info{display:flex;align-items:center;gap:14px}.toggle-info .accent-icon{font-size:1.25rem;color:var(--primary);flex-shrink:0}.toggle-info strong{display:block;font-size:.9rem;font-weight:700;color:var(--secondary);margin-bottom:2px}.toggle-info p{font-size:.8rem;color:var(--text-tertiary);margin:0}.email-toggle-option input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--bg-secondary)}.form-actions .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;color:#fff;background:var(--primary-gradient);border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);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{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all .25s ease}.form-actions .btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.inter-page{max-width:1000px;margin:0 auto;padding:8px 0}.inter-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.inter-header-info h1{font-size:1.6rem;font-weight:800;color:var(--text-primary);margin:0}.form-section-header span{width:32px;height:32px;background:var(--primary-gradient);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;box-shadow:0 4px 12px #4f46e533}@media (max-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{padding:24px 18px;border-radius:var(--radius-lg)}.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{width:100%;justify-content:center}.inter-grid{grid-template-columns:1fr}.stepper-simple .step{width:32px;height:32px;font-size:.8rem}.stepper-simple .connector{width:32px}.email-toggle-option{flex-direction:column;gap:14px;text-align:center}.toggle-info{flex-direction:column;gap:8px}}@media (max-width: 480px){.type-selector{grid-template-columns:1fr 1fr}.type-card svg{font-size:1.25rem}.type-card span{font-size:.75rem}}.conso-section{margin-top:1.5rem;padding:1rem;background:#fafbfc;border:1px solid #e5e7eb;border-radius:12px}.conso-section h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.conso-section input[type=number]::-webkit-outer-spin-button,.conso-section input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.conso-section input[type=number]{-moz-appearance:textfield}.spin{animation:spin-anim 1s linear infinite}@keyframes spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.comments-section{margin-top:0}.comments-empty{color:#999;font-size:13px;text-align:center;padding:16px 0}.comments-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;max-height:400px;overflow-y:auto;padding-right:4px}.comment-item{display:flex;gap:10px;padding:10px 12px;border-radius:10px;background:#f9fafb;transition:background .15s}.comment-item:hover{background:#f0f6fc}.comment-own{background:#eef7ff}.comment-avatar{width:36px;height:36px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.comment-author{font-weight:600;font-size:13px;color:#222}.comment-role-badge{font-size:11px;font-weight:600}.comment-time{font-size:11px;color:#aaa}.comment-delete{background:none;border:none;color:#ccc;cursor:pointer;font-size:11px;padding:2px 4px;margin-left:auto;transition:color .15s}.comment-delete:hover{color:#e74c3c}.comment-content{margin:0;font-size:13.5px;color:#444;line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-form{border-top:1px solid #eee;padding-top:12px}.comment-input{width:100%;border:1px solid #ddd;border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .15s;box-sizing:border-box}.comment-input:focus{outline:none;border-color:#155a8a;box-shadow:0 0 0 3px #155a8a14}.comment-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.comment-charcount{font-size:11px;color:#bbb}.comment-submit{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#155a8a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.comment-submit:hover:not(:disabled){background:#0e4a73}.comment-submit:disabled{opacity:.5;cursor:default}@media (max-width: 768px){.comments-list{max-height:300px}}.conso-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.conso-modal{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.conso-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.conso-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:#1f2937}.conso-title svg{color:#3b82f6}.conso-close{background:none;border:none;font-size:1.2rem;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:6px;transition:all .15s}.conso-close:hover{background:#f3f4f6;color:#1f2937}.conso-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:3rem;color:#6b7280}.conso-error{margin:.75rem 1.25rem;padding:.75rem;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:.9rem}.conso-vehicule{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#f0f9ff;color:#0369a1;font-size:.85rem;font-weight:500}.conso-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem;color:#9ca3af}.conso-empty svg{font-size:2rem}.conso-search{margin:.75rem 1.25rem 0;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;outline:none;transition:border-color .15s}.conso-search:focus{border-color:#3b82f6}.conso-list{flex:1;overflow-y:auto;padding:.75rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.conso-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border:1px solid #e5e7eb;border-radius:8px;transition:all .15s}.conso-item.selected{border-color:#3b82f6;background:#eff6ff}.conso-item-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.conso-item-name{font-weight:500;font-size:.9rem;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conso-item-ref{font-size:.75rem;color:#6b7280}.conso-item-stock{font-size:.75rem;color:#9ca3af}.conso-item-controls{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.conso-btn-qty{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.75rem;color:#374151;transition:all .15s}.conso-btn-qty:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.conso-btn-qty:disabled{opacity:.3;cursor:not-allowed}.conso-qty-input{width:42px;height:28px;text-align:center;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;font-weight:600;outline:none;-moz-appearance:textfield}.conso-qty-input::-webkit-outer-spin-button,.conso-qty-input::-webkit-inner-spin-button{-webkit-appearance:none}.conso-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid #e5e7eb;gap:.75rem}.conso-total{font-size:.85rem;color:#6b7280}.conso-actions{display:flex;gap:.5rem}.conso-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;border:none;transition:all .15s}.conso-btn.cancel{background:#f3f4f6;color:#374151}.conso-btn.cancel:hover{background:#e5e7eb}.conso-btn.confirm{background:#3b82f6;color:#fff}.conso-btn.confirm:hover:not(:disabled){background:#2563eb}.conso-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.spin{animation:conso-spin 1s linear infinite}@keyframes conso-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 600px){.conso-modal{max-height:95vh}.conso-footer{flex-direction:column;align-items:stretch}.conso-total{text-align:center}.conso-actions{justify-content:stretch}.conso-btn{flex:1;justify-content:center}}.inter-page,.new-inter-page{max-width:1000px;margin:0 auto;padding:8px 0}.inter-header,.new-inter-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.inter-header-info h1,.new-inter-header h1{font-size:1.6rem;font-weight:800;color:var(--text-primary);margin:0}.inter-header-type{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;display:block}.inter-progress-card{background:#fff;border-radius:var(--radius-xl);padding:28px;margin-bottom:28px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden}.inter-progress-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient)}.progress-info h3{font-size:1.125rem;font-weight:700;color:var(--secondary);margin-bottom:8px}.progress-info p{font-size:.875rem;color:var(--text-secondary)}.progress-bar-container{flex:1;max-width:300px}.progress-bar{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#155a8a,#1a8dcb);border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-percent{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-align:right;display:block}.inter-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:24px}@media (max-width: 768px){.inter-grid{grid-template-columns:1fr}}.inter-card{background:#fff;border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);height:fit-content;transition:box-shadow var(--t-base)}.inter-card:hover{box-shadow:var(--shadow-md)}.inter-card-title{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:700;color:var(--secondary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--bg-secondary)}.inter-card-title svg{color:var(--primary)}.patient-link-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:16px;background:linear-gradient(135deg,#e8f4fd,#dbeafe);border:1px solid #93c5fd;border-radius:8px;color:var(--primary);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.patient-link-banner:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:var(--primary)}.patient-link-banner svg:last-child{margin-left:auto;font-size:.75rem}.info-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.info-row svg{margin-top:3px;color:var(--text-quaternary);font-size:.9rem}.info-label{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;display:block}.info-value{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.docs-list{display:flex;flex-direction:column;gap:12px}.doc-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid transparent;transition:all var(--t-base);cursor:pointer}.doc-item:hover{background:#fff;border-color:var(--primary-light);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.doc-icon{width:48px;height:48px;background:linear-gradient(135deg,#e8f4fc,#d1e8f8);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#155a8a}.doc-info{flex:1}.doc-name{display:block;font-weight:600;font-size:.9375rem;color:var(--secondary);margin-bottom:4px}.doc-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:20px}.status-brouillon{background:#fff7ed;color:#c2410c;border:1px solid #ffedd5}.status-en_attente_pharmacien{background:#f5f3ff;color:#8b5cf6;border:1px solid #ede9fe}.status-signe{background:#f0fdf4;color:#15803d;border:1px solid #dcfce7}.status-valide{background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe}.doc-actions{display:flex;gap:8px}.btn-doc-pdf{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:#fff;color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--t-base)}.btn-doc-pdf:hover{color:#ef4444;border-color:#fecaca;background:#fef2f2}.new-inter-card{background:#fff;border-radius:var(--radius-xl);padding:36px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow var(--t-base)}.form-section{margin-bottom:32px}.form-section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.form-section-header h2{font-size:1.125rem;font-weight:700;color:var(--secondary);margin:0}.form-section-header span{width:32px;height:32px;background:var(--primary-gradient);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;box-shadow:0 4px 12px #155a8a33}.new-inter-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid var(--border-color)}.danger-zone{margin-top:40px;padding:24px;background:#fef2f2;border:1px solid #fee2e2;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:space-between}.danger-text h3{font-size:1rem;font-weight:700;color:#991b1b;margin-bottom:4px}.danger-text p{font-size:.875rem;color:#b91c1c}.btn-danger-outline{padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;background:transparent;color:#dc2626;border:1.5px solid #dc2626;transition:all var(--t-base)}.btn-danger-outline:hover{background:#dc2626;color:#fff}.inter-card+.inter-card{margin-top:24px}.inter-actions-row{display:flex;gap:12px;flex-wrap:wrap}.btn-download-all,.btn-archive-green{padding:10px 16px;font-size:14px;display:flex;align-items:center;gap:6px;border:none;border-radius:8px;cursor:pointer;color:#fff;font-weight:500}.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}.docform-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.docform-back-btn{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all var(--t-base);border:1px solid var(--border-color);flex-shrink:0;cursor:pointer}.docform-back-btn:hover{background:var(--primary);color:#fff;transform:scale(1.05)}.docform-header-info h1{font-size:1.35rem;font-weight:800;color:var(--text-primary);letter-spacing:-.025em;margin:0}.docform-patient{font-size:.85rem;color:var(--text-tertiary);margin-top:2px}.docform-save-draft{margin-left:auto;background:var(--primary);color:#fff;padding:10px 20px;border-radius:var(--radius-md);font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;gap:8px;transition:all var(--t-base);box-shadow:var(--shadow-sm);white-space:nowrap;border:none;cursor:pointer}.docform-save-draft:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.docform-signed-banner{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46;border-radius:var(--radius-lg);margin-bottom:20px;border:1px solid rgba(16,185,129,.25);flex-wrap:wrap;gap:12px}.docform-signed-left{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.9rem}.docform-signed-left svg{font-size:1.25rem;color:#10b981}.docform-pdf-btn{background:var(--primary);color:#fff;padding:10px 20px;border-radius:var(--radius-md);font-weight:700;font-size:.85rem;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;gap:8px;transition:all var(--t-base);border:none;cursor:pointer}.docform-pdf-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.docform-waiting-banner{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-radius:var(--radius-lg);margin-bottom:20px;border:1px solid rgba(245,158,11,.3);flex-wrap:wrap;gap:12px}.docform-waiting-banner.pharma{background:linear-gradient(135deg,#fdf2f8,#fce7f3);color:#9d174d;border-color:#ec48994d}.docform-waiting-left{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.9rem}.docform-waiting-left svg{font-size:1.25rem}.docform-waiting-badge{background:#ec4899;color:#fff;padding:6px 14px;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.readonly-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#d1e8f8,#a5c8e0);color:#0e4a73;font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:999px;margin-left:auto;text-transform:uppercase;letter-spacing:.04em}.btn-pharma-send{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;gap:8px;transition:all var(--t-base);box-shadow:0 4px 12px #8b5cf64d;border:none;cursor:pointer}.btn-pharma-send:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf666}.pharma-status-badge{font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:999px;margin-left:auto;text-transform:uppercase;letter-spacing:.04em}.pharma-status-badge.pending{background:#fef3c7;color:#92400e}.pharma-status-badge.waiting{background:#fce7f3;color:#9d174d}.docform-nav-actions{display:flex;gap:12px}.docform-progress-wrapper{display:flex;align-items:center;gap:14px;margin-bottom:12px}.docform-progress-bar{flex:1;height:6px;background:var(--bg-secondary);border-radius:999px;overflow:hidden}.docform-progress-fill{height:100%;background:linear-gradient(90deg,#155a8a,#1a8dcb,#2196a8);border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.docform-progress-text{font-size:.75rem;font-weight:700;color:var(--text-tertiary);white-space:nowrap}.docform-stepper{display:flex;align-items:stretch;gap:6px;margin-bottom:24px;padding:8px;background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--primary-light) transparent}.docform-stepper::-webkit-scrollbar{height:4px}.docform-stepper::-webkit-scrollbar-track{background:transparent}.docform-stepper::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:999px}.stepper-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;min-width:0}.stepper-pill:disabled{cursor:default;opacity:.5}.stepper-pill-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;background:var(--bg-secondary);color:var(--text-quaternary);transition:all .2s;flex-shrink:0}.stepper-pill-label{font-size:.7rem;font-weight:600;color:var(--text-tertiary);transition:color .2s;overflow:hidden;text-overflow:ellipsis;max-width:120px}.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);padding:32px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);margin-bottom:28px;animation:fadeIn .35s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--t-base)}.docform-section:hover{box-shadow:var(--shadow-md)}.section-title{display:flex;align-items:center;gap:12px;font-size:1.15rem;font-weight:700;color:var(--secondary);margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid var(--border-color)}.section-title svg{color:var(--primary);font-size:1.25rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column}.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{font-size:.8rem;font-weight:700;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.form-required{color:var(--danger);margin-left:4px}.form-input,.form-select,.form-textarea{padding:10px 14px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-primary);background:var(--bg-primary);transition:border-color .2s,box-shadow .2s;width:100%}.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);font-size:.72rem;font-weight:600;margin-top:4px}.photo-capture-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 20px;border:2px dashed #94a3b8;border-radius:14px;background:#f8fafc;cursor:pointer;transition:all .25s ease;color:#64748b;font-size:.88rem;font-weight:500}.photo-capture-zone:hover{border-color:var(--primary);background:#155a8a0a;color:var(--primary)}.photo-capture-zone.disabled{opacity:.5;pointer-events:none;cursor:default}.photo-capture-icon{font-size:1.8rem;color:#94a3b8;transition:color .25s}.photo-capture-zone:hover .photo-capture-icon{color:var(--primary)}.photo-preview-wrapper{position:relative;display:inline-block;max-width:100%}.photo-preview-img{max-width:100%;max-height:300px;border-radius:12px;border:2px solid #e2e8f0;box-shadow:0 4px 12px #00000014;object-fit:contain}.photo-remove-btn{position:absolute;top:8px;right:8px;background:#ef4444e6;color:#fff;border:none;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:all .2s;box-shadow:0 2px 8px #00000026}.photo-remove-btn:hover{background:#dc2626;transform:scale(1.1)}.docform-info-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:var(--radius-md);padding:14px 18px;font-size:.85rem;color:#1e40af;line-height:1.5;font-weight:500}.form-radio-group{display:flex;flex-wrap:wrap;gap:8px}.form-radio-label{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.85rem;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);-webkit-user-select:none;user-select:none}.form-radio-label:hover{border-color:var(--primary);background:#e8f4fc}.form-radio-label.selected{border-color:var(--primary);background:linear-gradient(135deg,#e8f4fc,#d1e8f8);color:var(--primary);font-weight:700;box-shadow:0 0 0 2px var(--primary-light)}.form-radio-label input[type=radio]{display:none}.form-radio-custom{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.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{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 0}.form-checkbox{display:none}.form-checkbox-custom{width:22px;height:22px;border-radius:6px;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;background:var(--bg-primary)}.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{font-size:.9rem;font-weight:500;color:var(--text-primary);line-height:1.3}.docform-signatures{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-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);padding:24px;text-align:center;transition:all var(--t-base);cursor:pointer;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.signature-box p{font-size:.85rem;color:var(--text-tertiary);font-weight:600;margin:0}.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{font-size:2.5rem;color:var(--text-quaternary)}.signature-placeholder-icon.pharma{color:#ec4899}.signature-img{max-width:100%;max-height:120px;object-fit:contain}.docform-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:20px;border-top:1px solid var(--border-color);gap:16px}.btn-icon-left{margin-right:6px}.btn-icon-right{margin-left:6px}.pharma-comment-section{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border:1.5px solid #f9a8d4;border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem}.pharma-comment-header{display:flex;align-items:center;gap:10px;margin-bottom:1rem;color:#be185d}.pharma-comment-header h3{font-size:1rem;font-weight:700;margin:0}.pharma-comment-textarea{border-color:#f9a8d4;background:#fff}.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{border-color:#f9a8d4;background:#fdf2f8}.signature-box.pharma-sign:hover{border-color:#ec4899;background:#fce7f3}.signature-box.pharma-sign.signed{border-style:solid;border-color:#ec4899;background:#fff}.pharma-scoring-grid{margin-bottom:1.25rem}.pharma-scoring-header{display:flex;align-items:center;gap:8px;margin-bottom:.75rem;color:#1e8449}.pharma-scoring-header h4{font-size:.92rem;font-weight:700;margin:0}.pharma-scoring-table{border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.pharma-scoring-row{display:grid;grid-template-columns:2fr 1fr .7fr .7fr;align-items:center;border-bottom:1px solid #e5e7eb;padding:6px 10px;font-size:.82rem}.pharma-scoring-row:last-child{border-bottom:none}.pharma-scoring-row.header-row{background:#f3f4f6;font-weight:700;font-size:.78rem;color:#374151;text-transform:uppercase;letter-spacing:.3px}.pharma-scoring-row.total-row{background:#d5f5e3;font-weight:700;font-size:.9rem;color:#1e8449}.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{width:50px;padding:4px 6px;border:1.5px solid #a7f3d0;border-radius:6px;text-align:center;font-size:.88rem;font-weight:700;color:#1e8449;background:#fff;outline:none;transition:border-color .2s}.pharma-score-input:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98126}.pharma-score-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.pharma-total{font-size:1.1rem;font-weight:800;color:#1e8449}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.signature-modal{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:520px;box-shadow:0 25px 50px #0003;overflow:hidden}.signature-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:linear-gradient(135deg,#155a8a,#1a8dcb);color:#fff}.signature-modal-header h3{font-size:1.05rem;font-weight:700;margin:0}.signature-modal-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:background .2s}.signature-modal-close:hover{background:#ffffff59}.signature-canvas-wrapper{padding:20px 24px;background:#f9fafb}.signature-canvas-wrapper canvas{border:2px solid var(--border-color);border-radius:var(--radius-md);background:#fff;display:block;width:100%}.signature-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-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{width:100%;justify-content:center}}.pharma-comment-section{margin-top:24px}.pharma-sign-wrapper{margin-top:16px}.users-header{background:linear-gradient(135deg,#0f3460,#155a8a 40%,#1a8dcb,#1a9fd6);padding:2.5rem 2.5rem 2rem;border-radius:var(--radius-xl);color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;box-shadow:0 16px 40px #155a8a40;position:relative;overflow:hidden}.users-header:before{content:"";position:absolute;top:-60%;right:-15%;width:350px;height:350px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.users-header:after{content:"";position:absolute;bottom:-40%;left:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);border-radius:50%}.users-header-info{position:relative;z-index:1}.users-header-info h1{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.35rem}.users-header-info p{font-size:.95rem;color:#fffc;font-weight:400}.users-header-actions{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.btn-add-user{display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border-radius:var(--radius-md);font-size:.9375rem;font-weight:700;background:#fff3;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.3);cursor:pointer;transition:all .25s ease}.btn-add-user:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.users-search-bar{position:relative;width:280px}.users-search-bar input{width:100%;padding:10px 16px 10px 42px;border-radius:var(--radius-full);border:1.5px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;font-size:.875rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .25s ease}.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{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#ffffff8c;font-size:.95rem}.users-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem;margin-bottom:2rem}.users-kpi-card{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;position:relative;overflow:hidden;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default}.users-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.users-kpi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.users-kpi-card.kpi-total:before{background:linear-gradient(90deg,#155a8a,#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,#155a8a,#1a8dcb)}.users-kpi-card.kpi-pharma:before{background:linear-gradient(90deg,#ec4899,#f43f5e)}.users-kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.users-kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.15rem}.kpi-total .users-kpi-icon{background:linear-gradient(135deg,#e8f4fc,#d1e8f8);color:#155a8a}.kpi-admin .users-kpi-icon{background:linear-gradient(135deg,#f3e8ff,#ede9fe);color:#7c3aed}.kpi-tech .users-kpi-icon{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}.kpi-secr .users-kpi-icon{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706}.kpi-resp .users-kpi-icon{background:linear-gradient(135deg,#e8f4fc,#d1e8f8);color:#155a8a}.kpi-pharma .users-kpi-icon{background:linear-gradient(135deg,#fdf2f8,#fce7f3);color:#db2777}.users-kpi-value{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1}.users-kpi-label{font-size:.8rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-bottom:2rem}.user-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:fadeInCard .4s ease both}.user-card:nth-child(1){animation-delay:.02s}.user-card:nth-child(2){animation-delay:.04s}.user-card:nth-child(3){animation-delay:.06s}.user-card:nth-child(4){animation-delay:.08s}.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:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient);opacity:0;transition:opacity .3s}.user-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.user-card:hover:before{opacity:1}.user-card-top{display:flex;align-items:center;gap:14px;margin-bottom:1rem}.user-avatar{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;flex-shrink:0;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,#155a8a,#1a8dcb)}.user-avatar.role-pharma{background:linear-gradient(135deg,#ec4899,#f43f5e)}.user-card-info{flex:1;min-width:0}.user-card-name{font-size:1.05rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card-email{font-size:.825rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.user-card-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border-color)}.user-role-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.user-role-badge.role-admin{background:#ede9fe;color:#6d28d9}.user-role-badge.role-tech{background:#ecfdf5;color:#047857}.user-role-badge.role-secr{background:#fffbeb;color:#b45309}.user-role-badge.role-resp{background:#eff6ff;color:#1d4ed8}.user-role-badge.role-pharma{background:#fdf2f8;color:#be185d}.user-role-dot{width:7px;height:7px;border-radius:50%}.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{display:flex;gap:6px}.user-card-actions button{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.85rem;border:1.5px solid var(--border-color);background:#fff;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease}.user-card-actions .btn-card-edit:hover{background:#e8f4fc;border-color:#a5c8e0;color:#155a8a}.user-card-actions .btn-card-delete:hover{background:#fff1f2;border-color:#fecdd3;color:#e11d48}.users-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fadeOverlayIn .25s ease;padding:20px}@keyframes fadeOverlayIn{0%{opacity:0}to{opacity:1}}.users-modal{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:540px;box-shadow:var(--shadow-xl);animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);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,#155a8a,#1a8dcb);padding:1.5rem 1.75rem;display:flex;align-items:center;justify-content:space-between;color:#fff}.users-modal-header h3{font-size:1.15rem;font-weight:700}.users-modal-close{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#ffffff26;color:#fff;font-size:.95rem;cursor:pointer;transition:all .2s ease;border:none}.users-modal-close:hover{background:#ffffff40}.users-modal-body{padding:1.75rem}.users-modal-body .form-group{margin-bottom:1.25rem}.users-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.users-modal-footer{padding:1.25rem 1.75rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:10px;background:var(--bg-secondary)}.users-empty{text-align:center;padding:4rem 2rem;color:var(--text-tertiary)}.users-empty-icon{font-size:3.5rem;margin-bottom:1rem;color:var(--primary);opacity:.4}.users-empty h3{font-size:1.15rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}@media (max-width: 1200px){.users-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.users-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.75rem}.users-header-actions{width:100%;flex-direction:column}.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{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.stats-header h1{font-size:1.6rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.stats-header h1 svg{color:var(--primary)}.stats-header p{color:#64748b;font-size:.875rem;margin-top:.25rem}.period-selector{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.35rem;border-radius:12px;border:1px solid #e2e8f0}.period-selector svg{color:#94a3b8;margin:0 .5rem}.period-selector button{padding:.5rem 1rem;border:none;background:none;border-radius:8px;font-size:.8rem;font-weight:600;color:#64748b;cursor:pointer;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{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.kpi-card{background:#fff;border-radius:20px;padding:1.75rem;display:flex;align-items:center;gap:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:20px 20px 0 0}.kpi-card:nth-child(1):before{background:linear-gradient(90deg,#155a8a,#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{transform:translateY(-4px);box-shadow:var(--shadow-md)}.kpi-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.kpi-icon.blue{background:linear-gradient(135deg,#e8f4fc,#d1e8f8);color:#155a8a}.kpi-icon.cyan{background:linear-gradient(135deg,#ecfeff,#cffafe);color:#0891b2}.kpi-icon.purple{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#7c3aed}.kpi-icon.green{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}.kpi-icon.orange{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#ea580c}.kpi-icon.pink{background:linear-gradient(135deg,#fdf2f8,#fce7f3);color:#db2777}.kpi-icon.teal{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);color:#0d9488}.kpi-value{display:block;font-size:1.75rem;font-weight:800;color:#1e293b}.kpi-label{font-size:.8rem;color:#94a3b8}.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.chart-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow .3s}.chart-card:hover{box-shadow:var(--shadow-md)}.chart-card.full-width{grid-column:1 / -1}.chart-card h3{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.donut-chart{display:flex;align-items:center;justify-content:center;gap:2rem}.donut{width:160px;height:160px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center}.donut-center{width:100px;height:100px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute}.donut-center strong{font-size:1.75rem;font-weight:800;color:#1e293b}.donut-center span{font-size:.7rem;color:#94a3b8}.legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#475569}.dot{width:12px;height:12px;border-radius:4px}.dot.blue{background:#155a8a}.dot.purple{background:#8b5cf6}.dot.green{background:#10b981}.dot.orange{background:#f97316}.dot.pink{background:#ec4899}.pipeline{display:flex;justify-content:space-around;align-items:flex-end;height:200px;padding-top:1rem}.pipe-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1}.pipe-bar{width:52px;min-height:20px;background:linear-gradient(180deg,#155a8a,#0e4a73);border-radius:10px 10px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem;transition:height .5s ease}.pipe-bar span{font-size:.8rem;font-weight:700;color:#fff}.pipe-bar.orange{background:linear-gradient(180deg,#f59e0b,#d97706)}.pipe-bar.cyan{background:linear-gradient(180deg,#06b6d4,#0891b2)}.pipe-bar.green{background:linear-gradient(180deg,#10b981,#059669)}.pipe-step label{font-size:.75rem;color:#64748b;font-weight:600}.tech-ranking-table{width:100%}.ranking-header{display:grid;grid-template-columns:40px 2fr 1fr .8fr .8fr .8fr .8fr .8fr .8fr .8fr;padding:.75rem 1rem;background:#f8fafc;border-radius:10px;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.ranking-row{display:grid;grid-template-columns:40px 2fr 1fr .8fr .8fr .8fr .8fr .8fr .8fr .8fr;padding:.85rem 1rem;border-radius:10px;align-items:center;font-size:.875rem;color:#334155;transition:background .2s}.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{font-weight:800;color:#1e293b}.tech-name-cell{display:flex;align-items:center;gap:.75rem;font-weight:600}.mini-avatar{width:34px;height:34px;background:var(--primary-gradient);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.bold{font-weight:700}.perf-bar-container{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.perf-bar{height:100%;background:linear-gradient(90deg,#155a8a,#1a8dcb,#2196a8);border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.empty-msg{text-align:center;color:#94a3b8;padding:2rem}@media (max-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{margin-left:8px;display:flex;align-items:center;gap:6px}.btn-excel{margin-left:4px;display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#059669,#10b981)!important;color:#fff!important;padding:.5rem 1rem;border-radius:8px;font-weight:700}.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{display:flex;flex-direction:column;gap:1rem}.trend-bars{display:flex;align-items:flex-end;gap:4px;height:180px;padding:.5rem 0}.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.trend-bar-stack{width:100%;max-width:32px;min-height:4px;background:linear-gradient(180deg,#155a8a,#1a8dcb);border-radius:6px 6px 0 0;position:relative;transition:height .5s ease;overflow:hidden}.trend-bar-closed{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#10b981,#059669);border-radius:0;transition:height .5s ease}.trend-count{font-size:.65rem;font-weight:700;color:#1e293b}.trend-label{font-size:.6rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.trend-legend{display:flex;gap:1.5rem;justify-content:center;font-size:.8rem;color:#64748b}.trend-legend span{display:flex;align-items:center;gap:.4rem}.doc-stats{display:flex;flex-direction:column;gap:1.25rem}.doc-stat-row{display:flex;justify-content:space-between;align-items:center}.doc-stat-label{font-size:.875rem;color:#64748b;font-weight:600}.doc-stat-value{font-size:1.5rem;font-weight:800;color:#1e293b}.doc-progress-stack{display:flex;height:14px;border-radius:8px;overflow:hidden;background:#f1f5f9}.doc-bar-segment{height:100%;transition:width .5s ease}.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{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:#475569}.doc-legend span{display:flex;align-items:center;gap:.4rem}.doc-kpis{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}.doc-kpi{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.doc-kpi svg{font-size:1.3rem;flex-shrink:0}.doc-kpi strong{display:block;font-size:1.25rem;font-weight:800;color:#1e293b}.doc-kpi span{font-size:.75rem;color:#94a3b8}.avg-days{font-size:.8rem;color:#64748b;font-style:italic}@media (max-width: 768px){.doc-kpis{grid-template-columns:1fr}.trend-bars{height:140px}}.patients-page{max-width:1440px;margin:0 auto}.patients-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:16px}.patients-header-left{display:flex;align-items:center;gap:14px}.header-icon-wrap{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#155a8a,#1a8dcb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.patients-header-left h1{font-size:1.45rem;font-weight:700;color:var(--text);margin:0}.patients-header-left p{font-size:.82rem;color:var(--text-light);margin:2px 0 0}.patients-toolbar{display:flex;gap:12px;margin-bottom:20px;align-items:stretch}.patients-search{position:relative;flex:1}.patients-search .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:.85rem;pointer-events:none}.patients-search input{width:100%;padding:11px 40px;border-radius:12px;border:1.5px solid var(--border);background:#fff;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.patients-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #155a8a14;outline:none}.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-light);cursor:pointer;font-size:.85rem;padding:4px}.search-clear:hover{color:var(--text)}.sort-select select{padding:11px 14px;border-radius:12px;border:1.5px solid var(--border);background:#fff;font-size:.88rem;color:var(--text);cursor:pointer;min-width:140px}.sort-select select:focus{border-color:var(--primary);outline:none}.patients-content{display:grid;grid-template-columns:400px 1fr;gap:20px;min-height:520px}.patients-list{background:#fff;border-radius:16px;border:1px solid var(--border);overflow-y:auto;max-height:75vh;box-shadow:0 1px 3px #0000000a}.patients-loading{padding:60px;text-align:center;color:var(--text-light);display:flex;flex-direction:column;align-items:center;gap:14px}.loading-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.patients-empty{padding:60px 20px;text-align:center;color:var(--text-light);display:flex;flex-direction:column;align-items:center;gap:10px}.patients-empty svg{font-size:2.5rem;opacity:.2}.patients-empty p{font-size:.95rem;font-weight:500;margin:0}.patients-empty span{font-size:.82rem}.patient-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.patient-card:last-child{border-bottom:none}.patient-card:hover{background:#f8fafc}.patient-card.active{background:#155a8a0f;border-left:3px solid var(--primary);padding-left:13px}.patient-card-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#155a8a,#1a8dcb);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;letter-spacing:.5px}.patient-card-info{flex:1;min-width:0}.patient-card-name{display:block;font-weight:600;font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-card-metas{display:flex;gap:12px;margin-top:3px}.patient-card-meta{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-light)}.patient-card-meta svg{font-size:.65rem}.patient-card-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.card-etat{font-size:.68rem;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap}.patient-card-arrow{color:#cbd5e1;font-size:.7rem}.patient-detail{background:#fff;border-radius:16px;border:1px solid var(--border);padding:28px;min-height:400px;overflow-y:auto;max-height:75vh;box-shadow:0 1px 3px #0000000a}.detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8;gap:12px;padding:40px}.detail-placeholder svg{font-size:3rem;opacity:.2}.detail-placeholder p{font-size:.95rem}.detail-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.detail-avatar{width:56px;height:56px;border-radius:14px;flex-shrink:0;background:linear-gradient(135deg,#155a8a,#1a8dcb);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;letter-spacing:1px}.detail-header-info{flex:1;min-width:0}.detail-header-info h2{font-size:1.2rem;font-weight:700;color:var(--text);margin:0 0 4px}.detail-header-sub{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.detail-dob,.detail-dossier{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:var(--text-light)}.detail-dob svg,.detail-dossier svg{font-size:.72rem}.etat-badge{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:6px;display:inline-block}.detail-actions{display:flex;gap:8px;flex-shrink:0;margin-top:2px}.btn-icon{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:.85rem}.btn-icon:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-icon.danger:hover{background:#ef4444;border-color:#ef4444}.detail-section{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #f1f5f9}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;color:var(--primary);margin:0 0 14px;text-transform:uppercase;letter-spacing:.3px}.section-title svg{font-size:.82rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-item{display:flex;align-items:flex-start;gap:10px}.detail-item.full{grid-column:1 / -1}.detail-item svg{color:var(--primary);margin-top:3px;flex-shrink:0;font-size:.82rem;opacity:.7}.detail-item label{font-size:.72rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;font-weight:600;display:block;margin-bottom:1px}.detail-item span{font-size:.9rem;color:var(--text);font-weight:500;word-break:break-word}.materiel-text{font-size:.85rem!important;color:var(--text-light)!important;font-family:SF Mono,Fira Code,monospace;background:#f8fafc;padding:4px 8px;border-radius:6px;display:inline-block}.inter-list{display:flex;flex-direction:column;gap:6px}.inter-row{display:grid;grid-template-columns:60px 90px 1fr 120px 20px;gap:10px;align-items:center;padding:10px 14px;border-radius:10px;background:#f8fafc;cursor:pointer;transition:all .15s}.inter-row:hover{background:#155a8a0f;transform:translate(2px)}.inter-type{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:6px;text-align:center;white-space:nowrap}.inter-date{font-size:.8rem;color:var(--text-light)}.inter-tech{font-size:.82rem;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inter-status{font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:8px;text-align:center;white-space:nowrap}.inter-arrow{color:#cbd5e1;font-size:.65rem}.no-inter{color:var(--text-light);font-size:.88rem;font-style:italic;margin:0}.edit-form h3{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 20px}.edit-form h3 svg{color:var(--primary)}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.edit-grid .field{display:flex;flex-direction:column;gap:4px}.edit-grid .field.full{grid-column:1 / -1}.edit-grid .field label{font-size:.78rem;font-weight:600;color:var(--text-light)}.edit-grid .field input,.edit-grid .field select{padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:.9rem;background:#f8fafc;transition:border-color .2s}.edit-grid .field input:focus,.edit-grid .field select:focus{border-color:var(--primary);outline:none;background:#fff}.edit-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px #0000002e}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#155a8a,#1a8dcb);color:#fff;border-radius:20px 20px 0 0}.modal-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1.05rem}.modal-close{background:#ffffff26;border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:background .15s}.modal-close:hover{background:#ffffff40}.modal-body{padding:24px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border)}@media (max-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}}@media (max-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}}.audit-page{max-width:1200px;margin:0 auto}.audit-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.audit-header-left{display:flex;align-items:center;gap:14px}.audit-header-icon{font-size:28px;color:#155a8a}.audit-header h1{margin:0;font-size:22px;color:#0e4a73}.audit-subtitle{margin:2px 0 0;font-size:13px;color:#888}.audit-header-actions{display:flex;gap:10px}.audit-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.audit-btn-primary{background:#155a8a;color:#fff}.audit-btn-primary:hover:not(:disabled){background:#0e4a73}.audit-btn-primary:disabled{opacity:.5;cursor:default}.audit-btn-outline{background:#fff;color:#155a8a;border:1px solid #155a8a}.audit-btn-outline:hover{background:#f0f6fc}.audit-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;padding:16px;background:#f9fafb;border-radius:10px;margin-bottom:20px;animation:auditSlide .2s ease}@keyframes auditSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.audit-filter-group{display:flex;flex-direction:column;gap:4px}.audit-filter-group label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555}.audit-filter-group select,.audit-filter-group input{padding:7px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;min-width:160px;background:#fff}.audit-btn-clear{background:none;border:none;color:#d35400;font-size:12px;font-weight:600;cursor:pointer;padding:8px 12px;align-self:flex-end}.audit-btn-clear:hover{text-decoration:underline}.audit-table-wrap{background:#fff;border-radius:10px;box-shadow:0 2px 12px #0000000f;overflow-x:auto}.audit-loading,.audit-empty{padding:40px;text-align:center;color:#888;font-size:14px}.audit-table{width:100%;border-collapse:collapse;font-size:13px}.audit-table thead{background:#155a8a;color:#fff}.audit-table th{padding:10px 14px;text-align:left;font-weight:600;white-space:nowrap}.audit-table td{padding:10px 14px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.audit-table tbody tr:hover{background:#f8fbff}.audit-td-date{white-space:nowrap;color:#555;font-size:12px}.audit-user{display:block;font-weight:600;color:#222}.audit-role{display:block;font-size:11px;color:#888}.audit-target-badge{display:inline-block;padding:2px 8px;border-radius:10px;color:#fff;font-size:11px;font-weight:600}.audit-td-details{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#555}.audit-td-ip{font-family:monospace;font-size:12px;color:#888}.audit-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;font-size:14px;color:#555}.audit-pagination button{background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 14px;cursor:pointer;transition:all .15s;font-size:13px}.audit-pagination button:hover:not(:disabled){background:#155a8a;color:#fff;border-color:#155a8a}.audit-pagination button:disabled{opacity:.4;cursor:default}@media (max-width: 768px){.audit-header{flex-direction:column;align-items:flex-start}.audit-filters{flex-direction:column}.audit-filter-group select,.audit-filter-group input{min-width:auto;width:100%}}.planning-page{padding:0}.planning-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.planning-title h1{font-size:1.6rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.planning-title h1 svg{color:var(--primary)}.planning-title p{color:#64748b;font-size:.875rem;margin-top:.25rem}.planning-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.view-toggle{display:flex;background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.view-toggle button{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;background:none;font-size:.8rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.view-toggle button.active{background:var(--primary-gradient);color:#fff}.view-toggle button:hover:not(.active){background:#f1f5f9}.nav-controls{display:flex;align-items:center;gap:.4rem}.nav-btn{width:36px;height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#475569;transition:all .2s}.nav-btn:hover{border-color:var(--primary);color:var(--primary)}.today-btn{padding:.45rem 1rem;border:1px solid var(--primary);border-radius:10px;background:#fff;color:var(--primary);font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s}.today-btn:hover{background:var(--primary);color:#fff}.current-period{font-size:1.15rem;font-weight:700;color:#1e293b;min-width:200px}.planning-stats{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.pstat{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.pstat-num{font-weight:800;font-size:1.1rem;color:#1e293b}.pstat-label{font-size:.75rem;color:#94a3b8;font-weight:600}.pstat.en-cours .pstat-num{color:#155a8a}.pstat.att-pharma .pstat-num{color:#f59e0b}.pstat.att-sec .pstat-num{color:#06b6d4}.pstat.complete .pstat-num{color:#10b981}.planning-body{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;min-height:500px}.calendar-container{position:relative;background:#fff;border-radius:20px;border:1px solid #e2e8f0;box-shadow:var(--shadow-sm);overflow:hidden}.cal-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:10}.month-grid{height:100%;display:flex;flex-direction:column}.day-headers{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:1px solid #e2e8f0}.day-header{padding:.75rem;text-align:center;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.week-row{display:grid;grid-template-columns:repeat(7,1fr);flex:1;border-bottom:1px solid #f1f5f9}.week-row:last-child{border:none}.day-cell{min-height:90px;padding:.4rem;border-right:1px solid #f1f5f9;cursor:pointer;transition:background .15s;display:flex;flex-direction:column}.day-cell:last-child{border-right:none}.day-cell:hover{background:#f8fafc}.day-cell.selected{background:#eff6ff}.day-cell.other-month{opacity:.4}.day-cell.today{background:#f0fdf4}.day-num{font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.25rem}.day-cell.today .day-num{background:var(--primary);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem}.day-events{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden}.cal-event{padding:2px 5px;border-left:3px solid;border-radius:4px;font-size:.65rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:transform .15s,box-shadow .15s}.cal-event:hover{transform:scale(1.03);box-shadow:0 2px 6px #00000014}.ev-label{color:#1e293b}.cal-more{font-size:.6rem;color:var(--primary);font-weight:700;padding:1px 5px;cursor:pointer}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);height:100%}.week-day-col{border-right:1px solid #f1f5f9;display:flex;flex-direction:column;cursor:pointer;transition:background .15s}.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}.week-day-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.wdh-name{font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase}.wdh-num{font-size:.9rem;font-weight:700;color:#1e293b}.wdh-num.today-badge{background:var(--primary);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.week-day-events{padding:.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto}.week-event{padding:.6rem;border-left:3px solid;border-radius:8px;cursor:pointer;transition:transform .15s,box-shadow .15s}.week-event:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.we-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.we-type{font-size:.7rem;font-weight:700}.we-patient{font-size:.8rem;font-weight:600;color:#1e293b}.we-tech{font-size:.7rem;color:#64748b;display:flex;align-items:center;gap:.3rem;margin-top:.2rem}.week-empty{text-align:center;color:#cbd5e1;padding:2rem 0;font-size:1.2rem}.day-detail-panel{background:#fff;border-radius:20px;border:1px solid #e2e8f0;box-shadow:var(--shadow-sm);padding:1.5rem;overflow-y:auto;max-height:600px}.ddp-title{font-size:1rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #f1f5f9}.ddp-title svg{color:var(--primary)}.ddp-empty{text-align:center;color:#94a3b8;padding:3rem 1rem}.ddp-empty svg{font-size:2.5rem;margin-bottom:1rem;color:#e2e8f0}.ddp-empty p{font-size:.875rem}.ddp-count{display:block;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.ddp-list{display:flex;flex-direction:column;gap:.75rem}.ddp-card{padding:1rem;border-left:4px solid;border-radius:12px;background:#f8fafc;cursor:pointer;transition:all .2s}.ddp-card:hover{background:#f1f5f9;transform:translate(4px)}.ddp-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.ddp-type-badge{display:flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700}.ddp-status{font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:6px;text-transform:uppercase}.ddp-status.status-en_cours{background:#dbeafe;color:#1e40af}.ddp-status.status-attente_pharmacien{background:#fef3c7;color:#92400e}.ddp-status.status-attente_secretariat{background:#cffafe;color:#155e75}.ddp-status.status-complete{background:#d1fae5;color:#065f46}.ddp-status.status-archive{background:#f3f4f6;color:#4b5563}.ddp-patient{font-size:.95rem;font-weight:700;color:#1e293b;margin-bottom:.4rem}.ddp-meta{font-size:.78rem;color:#64748b;display:flex;align-items:center;gap:.4rem;margin-top:.2rem}.planning-legend{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap;justify-content:center}.legend-chip{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:700;border:1px solid}@media (max-width: 1024px){.planning-body{grid-template-columns:1fr}.day-detail-panel{max-height:400px}}@media (max-width: 768px){.planning-header{flex-direction:column}.planning-controls{flex-direction:column;align-items:flex-start}.week-grid{grid-template-columns:1fr}.week-day-col{border-right:none;border-bottom:1px solid #f1f5f9}.day-cell{min-height:70px}.planning-stats{gap:.5rem}.pstat{padding:.4rem .75rem}}.stock-page{max-width:1400px;margin:0 auto}.stock-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.stock-header h1{font-size:1.6rem;color:#155a8a;display:flex;align-items:center;gap:10px;margin:0}.stock-subtitle{color:#64748b;margin:4px 0 0;font-size:.9rem}.stock-header-actions{display:flex;gap:10px}.stock-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s}.stock-btn-primary{background:#155a8a;color:#fff}.stock-btn-primary:hover{background:#0e4a73}.stock-btn-secondary{background:#e2e8f0;color:#334155}.stock-btn-secondary:hover{background:#cbd5e1}.stock-btn-danger{color:#ef4444!important}.stock-kpi-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.stock-kpi{background:#fff;border-radius:10px;padding:14px 20px;border-left:4px solid #155a8a;box-shadow:0 1px 4px #0000000f;min-width:130px;flex:1}.stock-kpi-value{display:block;font-size:1.5rem;font-weight:700;color:#1e293b}.stock-kpi-label{font-size:.78rem;color:#64748b;display:flex;align-items:center;gap:4px}.stock-kpi-alert{border-left-color:#ef4444;background:#fef2f2}.stock-kpi-alert .stock-kpi-value{color:#ef4444}.stock-alerts{background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;padding:14px 18px;margin-bottom:20px}.stock-alerts h3{margin:0 0 10px;font-size:.95rem;color:#92400e;display:flex;align-items:center;gap:6px}.stock-alerts-list{display:flex;flex-wrap:wrap;gap:8px}.stock-alert-item{background:#fff;border-radius:6px;padding:6px 12px;display:flex;align-items:center;gap:10px;font-size:.85rem;border:1px solid #fde68a}.stock-alert-ref{font-weight:700;color:#92400e}.stock-alert-qty{color:#ef4444;font-weight:600}.stock-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.stock-search-box{display:flex;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:0 12px;flex:1;min-width:200px;gap:8px}.stock-search-box svg{color:#94a3b8;flex-shrink:0}.stock-search-box input{border:none;outline:none;padding:10px 0;flex:1;font-size:.9rem}.stock-search-clear{background:none;border:none;cursor:pointer;color:#94a3b8;padding:4px}.stock-filters select{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer}.stock-table-wrapper{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f}.stock-table{width:100%;border-collapse:collapse}.stock-table th{background:#f8fafc;padding:12px 14px;text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.3px;color:#64748b;border-bottom:2px solid #e2e8f0;white-space:nowrap}.stock-table td{padding:10px 14px;font-size:.88rem;border-bottom:1px solid #f1f5f9}.stock-table tbody tr:hover{background:#f8fafc}.stock-row-alert{background:#fef2f2!important}.stock-row-alert:hover{background:#fee2e2!important}.stock-cell-ref{font-weight:700;color:#155a8a;cursor:pointer}.stock-cell-ref:hover{text-decoration:underline}.stock-cell-name{cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-cell-muted{color:#64748b;font-size:.82rem}.stock-cell-qty{font-weight:700;text-align:center}.stock-cell-actions{display:flex;gap:6px}.stock-cell-actions button{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:4px;color:#64748b;transition:all .15s}.stock-cell-actions button:hover{background:#f1f5f9;color:#155a8a}.stock-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;white-space:nowrap}.stock-badge-statut{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;border:1.5px solid;background:transparent;white-space:nowrap}.stock-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:16px;padding:12px}.stock-pagination button{padding:6px 14px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:.85rem}.stock-pagination button:disabled{opacity:.4;cursor:default}.stock-pagination span{font-size:.85rem;color:#64748b}.stock-loading{text-align:center;padding:60px 20px;color:#64748b}.stock-empty{text-align:center;padding:60px 20px;color:#94a3b8}.stock-empty svg{font-size:3rem;margin-bottom:12px}.stock-empty-text{text-align:center;color:#94a3b8;padding:20px}.stock-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;z-index:1000;overflow-y:auto}.stock-modal{background:#fff;border-radius:14px;width:100%;max-width:600px;box-shadow:0 20px 60px #00000026;animation:stockSlideIn .2s ease}.stock-modal-lg{max-width:900px}.stock-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #e2e8f0}.stock-modal-header h2{margin:0;font-size:1.1rem;color:#155a8a;display:flex;align-items:center;gap:8px}.stock-modal-close{background:none;border:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:4px}.stock-form{padding:20px 24px}.stock-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stock-form-full{grid-column:1 / -1}.stock-form-field label{display:block;font-size:.82rem;font-weight:600;color:#334155;margin-bottom:4px}.stock-form-field input,.stock-form-field select,.stock-form-field textarea{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:7px;font-size:.9rem;transition:border-color .15s;box-sizing:border-box}.stock-form-field input:focus,.stock-form-field select:focus,.stock-form-field textarea:focus{outline:none;border-color:#155a8a;box-shadow:0 0 0 3px #155a8a14}.stock-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}.stock-detail-body{padding:20px 24px}.stock-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stock-detail-grid>div{display:flex;flex-direction:column;gap:2px}.stock-detail-grid strong{font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.stock-detail-notes{margin-top:14px;padding:10px 14px;background:#f8fafc;border-radius:8px;font-size:.88rem;color:#334155}.stock-detail-actions-row{display:flex;gap:10px;margin-top:16px}.stock-detail-history{margin-top:24px;border-top:1px solid #e2e8f0;padding-top:18px}.stock-detail-history h3{font-size:1rem;color:#334155;display:flex;align-items:center;gap:6px;margin:0 0 14px}.stock-mvt-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.stock-mvt-item{display:flex;gap:12px;padding:10px;background:#f8fafc;border-radius:8px}.stock-mvt-icon{width:32px;height:32px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0}.stock-mvt-content{flex:1}.stock-mvt-title{display:flex;align-items:center;gap:6px;font-size:.9rem}.stock-mvt-qty{font-size:.78rem;background:#e2e8f0;padding:1px 6px;border-radius:4px}.stock-mvt-patient{font-size:.82rem;color:#155a8a;margin-top:2px}.stock-mvt-notes{font-size:.82rem;color:#64748b;margin-top:2px;font-style:italic}.stock-mvt-meta{font-size:.75rem;color:#94a3b8;margin-top:4px}.stock-patient-search{position:relative}.stock-patient-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:160px;overflow-y:auto;box-shadow:0 4px 12px #0000001a;z-index:10}.stock-patient-option{padding:8px 12px;cursor:pointer;font-size:.88rem}.stock-patient-option:hover{background:#f1f5f9}.stock-patient-selected{margin-top:6px;display:flex;align-items:center;gap:6px;font-size:.85rem;color:#155a8a;font-weight:600}.stock-history-body{padding:20px 24px;max-height:70vh;overflow-y:auto}.stock-table-history td{font-size:.82rem}@keyframes stockSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-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{background:none;border:none;color:#475569;font-size:1.25rem;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;position:relative;transition:background .2s,color .2s}.notif-bell-btn:hover{background:#e2e8f0;color:#155a8a}.notif-bell-badge{position:absolute;top:2px;right:2px;background:#e74c3c;color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;box-shadow:0 1px 3px #0003;animation:notif-badge-pop .3s ease}@keyframes notif-badge-pop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:480px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 40px #00000026;z-index:1000;display:flex;flex-direction:column;animation:notif-slide-in .2s ease}@keyframes notif-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #f1f5f9}.notif-dropdown-title{font-weight:700;font-size:1rem;color:#0f172a}.notif-read-all-btn{background:none;border:none;color:#155a8a;font-size:.8rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s}.notif-read-all-btn:hover{background:#e0f0ff}.notif-dropdown-list{overflow-y:auto;flex:1;max-height:400px}.notif-empty{padding:40px 16px;text-align:center;color:#94a3b8;font-size:.9rem}.notif-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f8fafc;position:relative}.notif-item:hover{background:#f8fafc}.notif-item.unread{background:#eff8ff}.notif-item.unread:hover{background:#e0f0ff}.notif-item-icon{font-size:1.3rem;flex-shrink:0;margin-top:2px}.notif-item-content{flex:1;min-width:0}.notif-item-title{font-weight:600;font-size:.85rem;color:#1e293b;margin-bottom:2px}.notif-item-message{font-size:.8rem;color:#64748b;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-time{font-size:.7rem;color:#94a3b8;margin-top:4px}.notif-item-dot{width:8px;height:8px;border-radius:50%;background:#155a8a;flex-shrink:0;margin-top:6px}@media (max-width: 480px){.notif-dropdown{width:calc(100vw - 32px);right:-60px}}.gsearch-wrap{position:relative;flex:0 1 380px;min-width:180px}.gsearch-bar{display:flex;align-items:center;gap:8px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:6px 12px;transition:all .2s}.gsearch-bar:focus-within,.gsearch-bar-active{background:#ffffff38;border-color:#ffffff59;box-shadow:0 2px 12px #0000001f}.gsearch-icon{color:#fff9;font-size:14px;flex-shrink:0}.gsearch-input{flex:1;border:none;background:transparent;color:#fff;font-size:14px;outline:none;min-width:0}.gsearch-input::placeholder{color:#ffffff80}.gsearch-clear{background:none;border:none;color:#fff9;cursor:pointer;padding:2px;font-size:13px;display:flex;align-items:center;transition:color .15s}.gsearch-clear:hover{color:#fff}.gsearch-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:gspin .6s linear infinite;flex-shrink:0}@keyframes gspin{to{transform:rotate(360deg)}}.gsearch-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000002e;max-height:420px;overflow-y:auto;z-index:1100;animation:gslide .18s ease-out}@keyframes gslide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.gsearch-empty{padding:20px;text-align:center;color:#888;font-size:14px}.gsearch-section{padding:4px 0}.gsearch-section+.gsearch-section{border-top:1px solid #eee}.gsearch-section-title{display:flex;align-items:center;gap:6px;padding:8px 14px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#155a8a}.gsearch-item{padding:10px 14px;cursor:pointer;transition:background .12s}.gsearch-item:hover,.gsearch-item-active{background:#f0f6fc}.gsearch-item-main{display:flex;align-items:center;gap:8px;font-size:14px;color:#222}.gsearch-item-badge{font-size:11px;color:#155a8a;background:#e3f0fa;padding:1px 6px;border-radius:4px;font-weight:600}.gsearch-status-badge{font-size:10px;color:#fff;padding:2px 8px;border-radius:10px;font-weight:600;white-space:nowrap}.gsearch-item-sub{display:flex;gap:12px;font-size:12px;color:#777;margin-top:2px}@media (max-width: 768px){.gsearch-wrap{flex:1;min-width:120px}.gsearch-input::placeholder{font-size:13px}.gsearch-dropdown{position:fixed;top:60px;left:8px;right:8px;max-height:calc(100vh - 80px)}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.6rem 1rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.85rem;font-weight:600;box-shadow:0 4px 12px #f59e0b4d;animation:slideDown .3s ease}.offline-banner svg{font-size:1.1rem;flex-shrink:0}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.install-banner{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:9998;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.5rem;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;border:1px solid #e2e8f0;max-width:520px;width:calc(100% - 2rem);animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.install-content{display:flex;align-items:center;gap:1rem}.install-icon{font-size:2rem;color:#155a8a;flex-shrink:0}.install-text{display:flex;flex-direction:column}.install-text strong{font-size:.95rem;color:#1e293b}.install-text span{font-size:.78rem;color:#64748b;margin-top:.15rem}.install-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.install-btn{padding:.5rem 1.25rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:10px;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s}.install-btn:hover{filter:brightness(1.1);box-shadow:0 4px 12px #155a8a4d}.install-dismiss{width:32px;height:32px;border:none;background:#f1f5f9;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.install-dismiss:hover{background:#e2e8f0;color:#475569}.update-banner{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9997;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#155a8a;color:#fff;border-radius:12px;box-shadow:0 8px 24px #155a8a4d;font-size:.85rem;font-weight:600;animation:slideUp2 .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp2{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.update-banner svg{flex-shrink:0}.update-btn{padding:.35rem .85rem;background:#fff;color:#155a8a;border:none;border-radius:8px;font-weight:700;font-size:.8rem;cursor:pointer;margin-left:.5rem;transition:all .2s}.update-btn:hover{background:#f1f5f9}@media (max-width: 600px){.install-banner{flex-direction:column;gap:.75rem}.install-actions{width:100%;justify-content:flex-end}}:root{--primary: #155a8a;--primary-dark: #0e4a73;--primary-light: rgba(21, 90, 138, .08);--primary-600: #155a8a;--primary-700: #0e4a73;--primary-gradient: linear-gradient(135deg, #155a8a, #1a8dcb);--secondary: #1e293b;--secondary-light: #334155;--secondary-accent: #155a8a;--secondary-600: #155a8a;--secondary-700: #0e4a73;--accent-rose: #f43f5e;--accent-orange: #d35400;--accent-amber: #f59e0b;--accent-emerald: #10b981;--accent-teal: #14b8a6;--accent-cyan: #06b6d4;--accent-violet: #8b5cf6;--accent-pink: #ec4899;--success: #10b981;--success-light: #ecfdf5;--success-dark: #059669;--danger: #f43f5e;--danger-light: #fff1f2;--danger-dark: #e11d48;--warning: #f59e0b;--warning-light: #fffbeb;--warning-dark: #d97706;--info: #06b6d4;--info-light: #ecfeff;--info-dark: #0891b2;--bg-page: #f8f9fc;--bg-primary: #ffffff;--bg-secondary: #f1f5f9;--bg-tertiary: #e2e8f0;--bg-accent: linear-gradient(135deg, #f8f9fc 0%, #eef2ff 50%, #fdf4ff 100%);--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #64748b;--text-quaternary: #94a3b8;--border-color: #e5e7eb;--border-hover: #a5c8e0;--border-focus: #155a8a;--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: 2.5rem;--gap-5: 3rem;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 8px 24px rgba(0,0,0,.08);--shadow-lg: 0 16px 40px rgba(0,0,0,.08);--shadow-xl: 0 24px 48px rgba(0,0,0,.12);--shadow-colored: 0 8px 24px rgba(21, 90, 138, .15);--t-fast: .15s ease;--t-base: .25s ease;--t-slow: .35s cubic-bezier(.4, 0, .2, 1);--z-header: 50;--z-sidebar: 100;--z-overlay: 150;--z-modal: 200;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}html,body{font-family:var(--font-sans);background:var(--bg-page);background-image:radial-gradient(ellipse at 20% 0%,rgba(21,90,138,.04) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(211,84,0,.03) 0%,transparent 60%),radial-gradient(ellipse at 60% 50%,rgba(20,184,166,.02) 0%,transparent 50%);color:var(--text-primary);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::selection{background:#155a8a26;color:var(--text-primary)}a{text-decoration:none;color:inherit;transition:var(--t-base)}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:var(--t-base)}input,textarea,select{font-family:inherit;outline:none;transition:var(--t-base)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;font-size:1rem;color:var(--text-tertiary);font-weight:600;gap:16px;background:var(--bg-page)}.app-loading:before{content:"";width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:app-spin .7s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}.app-container{display:flex;min-height:100vh}.app-main-wrapper{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-width);transition:margin-left var(--t-base);min-width:0}.app-main-wrapper.sidebar-collapsed{margin-left:var(--sidebar-width-collapsed)}.app-sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100dvh;background:#fff;color:var(--text-primary);z-index:var(--z-sidebar);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);box-shadow:1px 0 0 var(--border-color),4px 0 16px #0000000a;overflow:hidden;border-right:1px solid var(--border-color)}.app-sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--z-sidebar) - 1);animation:fadeOverlay .3s ease}@keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}.sidebar-logo{display:flex;align-items:center;gap:14px;height:var(--header-height);padding:0 20px;flex-shrink:0;position:relative}.sidebar-logo:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.sidebar-logo-icon{width:42px;height:42px;border-radius:var(--radius-md);background:linear-gradient(135deg,#155a8a,#1a8dcb);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #155a8a4d}.sidebar-logo-text{display:flex;flex-direction:column;min-width:0}.sidebar-logo h2{font-size:1.35rem;font-weight:800;letter-spacing:-.025em;color:var(--text-primary);line-height:1.2}.sidebar-logo-sub{font-size:.7rem;font-weight:500;color:var(--text-tertiary);letter-spacing:.02em;white-space:nowrap}.sidebar-nav{flex:1;overflow-y:auto;padding:20px 12px;display:flex;flex-direction:column;gap:24px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#00000014;border-radius:4px}.sidebar-group{display:flex;flex-direction:column;gap:2px}.sidebar-group-title{padding:0 12px;margin-bottom:8px;font-size:.6875rem;font-weight:700;color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-secondary);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;text-decoration:none;position:relative;transition:all .2s ease}.sidebar-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-item.active{background:#155a8a14;color:#0e4a73}.sidebar-item.active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:4px;height:60%;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#155a8a,#1a8dcb);box-shadow:0 0 8px #155a8a4d}.sidebar-item.active .sidebar-item-icon{color:#155a8a}.sidebar-item-icon{font-size:1.15rem;width:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s ease}.sidebar-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-shortcut{margin-left:auto;font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--bg-secondary);color:var(--text-quaternary);border:1px solid var(--border-color)}.sidebar-footer{padding:12px;flex-shrink:0;border-top:1px solid var(--border-color)}.sidebar-user-profile{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-md);background:var(--bg-secondary);margin-bottom:8px;transition:background .2s ease}.sidebar-user-profile:hover{background:var(--bg-tertiary)}.sidebar-user-profile.collapsed{justify-content:center;padding:10px 6px}.sidebar-user-avatar{width:36px;height:36px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#155a8a,#1a8dcb);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0;box-shadow:0 2px 8px #155a8a40}.sidebar-user-info{flex:1;display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-size:.8rem;font-weight:600;color:var(--text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:var(--radius-full);display:inline-block;width:fit-content;margin-top:2px;background:var(--bg-tertiary);color:var(--text-tertiary)}.sidebar-user-role.role-admin{background:#8b5cf61a;color:#7c3aed}.sidebar-user-role.role-tech{background:#10b9811a;color:#059669}.sidebar-user-role.role-resp{background:#3b82f61a;color:#2563eb}.sidebar-user-role.role-secr{background:#f59e0b1a;color:#d97706}.sidebar-user-role.role-pharma{background:#ec48991a;color:#db2777}.sidebar-logout-btn{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-quaternary);font-size:.9rem;flex-shrink:0;transition:all .2s ease}.sidebar-logout-btn:hover{background:#ef444414;color:#dc2626}.sidebar-collapse-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-secondary)!important;color:var(--text-tertiary);padding:10px;border:1px solid var(--border-color)!important;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:4px}.sidebar-collapse-btn:hover{background:var(--bg-tertiary)!important;color:var(--text-secondary)}.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 (max-width: 768px){.app-sidebar{transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.app-sidebar.mobile-open{transform:translate(0);width:var(--sidebar-width)}.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(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:var(--z-header);box-shadow:0 1px 3px #0000000a}.app-header-left{display:flex;align-items:center;gap:16px}.app-header-right{display:flex;align-items:center;gap:8px}.app-header-breadcrumb{display:flex;align-items:center}.app-header-title{font-size:1.25rem;font-weight:700;color:var(--secondary);letter-spacing:-.02em}.app-header-toggle{display:none;width:40px;height:40px;border-radius:var(--radius-md);align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary);font-size:1.1rem;border:none;cursor:pointer}.app-header-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 768px){.app-header{padding:0 16px}.app-header-toggle{display:flex}}.app-content{flex:1;padding:36px 40px;max-width:var(--content-max);width:100%;margin:0 auto}@media (max-width: 768px){.app-content{padding:20px 16px}}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;margin-bottom:28px;box-shadow:var(--shadow-sm);transition:all var(--t-base)}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 28px;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--t-base)}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-colored)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px #155a8a40}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.sidebar-badge{min-width:20px;height:20px;border-radius:10px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;margin-left:auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content{background:#fff;border-radius:16px;padding:32px;width:90%;max-width:400px;box-shadow:0 20px 60px #0000004d}.modal-title{margin:0 0 20px;font-size:20px;color:#1e293b}.modal-field{margin-bottom:16px}.modal-field:last-of-type{margin-bottom:24px}.modal-label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#475569}.modal-input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;box-sizing:border-box}.modal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.modal-hint{color:#94a3b8;font-size:12px;margin-top:4px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-btn-cancel{padding:10px 20px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:14px}.modal-btn-cancel:hover{background:#f8fafc}.modal-btn-submit{padding:10px 20px;border-radius:8px;border:none;background:var(--primary);color:#fff;cursor:pointer;font-size:14px}.modal-btn-submit:hover{background:var(--primary-dark, #0e4a73)}.modal-btn-submit:disabled{opacity:.7;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.form-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.form-required{color:var(--accent-rose);margin-left:4px}.form-input,.form-select,.form-textarea{width:100%;padding:14px 18px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;color:var(--text-primary);background:var(--bg-primary);transition:all var(--t-base)}.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{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.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:fadeIn .4s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .5s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.page-title{margin:0;font-size:1.8rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:12px}.page-subtitle{color:var(--text-tertiary);margin:6px 0 0;font-size:.95rem}.filters-bar{display:flex;gap:16px;margin-bottom:28px;padding:22px 24px;background:#fff;border-radius:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);align-items:center;flex-wrap:wrap}.search-group{flex:1;position:relative;min-width:250px}.search-group .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-quaternary);pointer-events:none}.search-group .form-input{padding-left:40px;margin-bottom:0}.filters-bar .form-select,.filters-bar .form-input{margin-bottom:0}.filter-select{width:180px}.filter-date{width:160px}.list-grid{display:grid;grid-template-columns:1fr;gap:14px}.list-card{background:#fff;padding:22px 28px;border-radius:18px;display:flex;align-items:center;gap:24px;cursor:pointer;border:1px solid var(--border-color);transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-xs)}.list-card:hover{transform:translate(4px);border-color:var(--primary);box-shadow:var(--shadow-md)}.list-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.list-card-body{flex:1;min-width:0}.list-card-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.list-card-title strong{font-size:1.05rem;color:var(--secondary)}.list-card-id{font-size:.8rem;color:var(--text-quaternary)}.list-card-meta{display:flex;gap:16px;font-size:.85rem;color:var(--text-secondary)}.list-card-meta span{display:flex;align-items:center;gap:4px}.list-card-meta svg{opacity:.6}.list-card-badge{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.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;padding:80px 20px;background:#fff;border-radius:24px;border:2px dashed var(--border-color)}.empty-state-icon{font-size:3rem;color:var(--text-quaternary);margin-bottom:16px;opacity:.5}.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:#fff;border-radius:20px;padding:32px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);margin-bottom:24px}.profil-header{display:flex;align-items:center;gap:24px;margin-bottom:28px}.profil-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#155a8a,#1a8dcb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:700;flex-shrink:0}.profil-name{margin:0;font-size:1.4rem;color:var(--secondary)}.profil-role-badge{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 14px;border-radius:20px;font-size:.8rem;font-weight:600;background:#ede9fe;color:#6d28d9}.profil-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profil-info-item span{font-size:.8rem;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.profil-info-item p{margin:4px 0 0;font-size:1rem;color:var(--secondary);font-weight:500}.profil-info-full{grid-column:span 2}.profil-icon-inline{margin-right:4px}.profil-security-header{display:flex;justify-content:space-between;align-items:center}.profil-security-header.profil-security-open{margin-bottom:24px}.profil-security-header h3{margin:0;display:flex;align-items:center;gap:8px;color:var(--secondary)}.profil-btn-outline{padding:8px 18px;border-radius:10px;border:1px solid var(--border-color);background:#fff;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--primary);transition:all var(--t-base)}.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{display:block;margin-bottom:6px}.profil-pwd-form small{color:var(--text-quaternary);font-size:.75rem}.profil-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.profil-btn-cancel{padding:10px 20px;border-radius:10px;border:1px solid var(--border-color);background:#fff;cursor:pointer;font-size:.85rem;transition:all var(--t-base)}.profil-btn-cancel:hover{background:var(--bg-secondary)}.profil-btn-submit{padding:10px 20px;border-radius:10px;border:none;background:var(--primary);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px;transition:all var(--t-base)}.profil-btn-submit:hover{background:var(--primary-dark);transform:translateY(-1px)}.profil-btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;color:var(--text-tertiary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:loader-spin .7s linear infinite}@keyframes loader-spin{to{transform:rotate(360deg)}}@media (max-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{padding:16px 20px;gap:16px}.list-card-meta{flex-direction:column;gap:4px}.list-card-badge{font-size:.7rem;padding:4px 10px}.profil-info-grid{grid-template-columns:1fr}.profil-info-full{grid-column:span 1}.profil-header{flex-direction:column;text-align:center}}.btn-clear-filters{padding:8px 16px;border-radius:10px;border:1px solid var(--danger);background:var(--danger-light);color:var(--danger);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--t-base)}.btn-clear-filters:hover{background:var(--danger);color:#fff}.filter-sort{width:160px}.profil-logout-card{text-align:center}.profil-btn-logout{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;border-radius:12px;border:1px solid var(--danger);background:#fff;color:var(--danger);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--t-base)}.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{padding:0!important;max-width:100%!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:#fff!important}}
