.notification-center{z-index:9999;position:relative}.notification-trigger{border:1px solid var(--border);cursor:pointer;border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--muted);background:0 0;justify-content:center;align-items:center;padding:.5rem;font-size:1.1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex;position:relative}.notification-trigger:hover{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.notification-trigger.has-unread{color:var(--accent);border-color:var(--accent)}.notification-trigger.has-unread:hover{background:#8a9c761a}.notification-badge{background:var(--danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 8px #dc5a5466}.notification-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:380px;max-height:500px;box-shadow:var(--shadow-strong);z-index:99999;flex-direction:column;display:flex;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden}.notification-header{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.notification-header h3{color:var(--text);font-size:.95rem;font-weight:600;font-family:var(--cpt-font-title);letter-spacing:.5px;margin:0}.mark-all-read-btn{border:1px solid var(--border);color:var(--accent-2);cursor:pointer;border-radius:var(--radius-sm);background:0 0;padding:.35rem .75rem;font-size:.75rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.mark-all-read-btn:hover:not(:disabled){border-color:var(--accent-2);background:#7b98c91a}.mark-all-read-btn:disabled{opacity:.4;cursor:not-allowed}.notification-list{flex:1;max-height:380px;overflow-y:auto}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:var(--bg)}.notification-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.notification-loading,.notification-empty{text-align:center;color:var(--muted);padding:2.5rem 1.5rem}.notification-empty span{opacity:.6;margin-bottom:.75rem;font-size:2.5rem;display:block}.notification-empty p{margin:0;font-size:.9rem}.notification-item{border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--surface-2)}.notification-item.unread{background:#8a9c760d}.notification-item.unread:hover{background:#8a9c761a}.notification-link,.notification-body{color:inherit;gap:.75rem;padding:1rem 1.25rem;text-decoration:none;display:flex}.notification-icon{flex-shrink:0;font-size:1.5rem}.notification-content{flex:1;min-width:0}.notification-title{color:var(--text);margin-bottom:.3rem;font-size:.9rem;font-weight:600;line-height:1.3;display:block}.notification-message{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-time{color:var(--muted-2);margin-top:.35rem;font-size:.7rem;display:block}.unread-dot{background:var(--accent);border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px;box-shadow:0 0 8px #8a9c7680}.notification-item.priority-urgent{border-left:3px solid var(--danger)}.notification-item.priority-high{border-left:3px solid var(--amber)}.notification-item.priority-normal{border-left:3px solid #0000}.notification-item.priority-low{opacity:.8;border-left:3px solid #0000}.notification-footer{text-align:center;border-top:1px solid var(--border);background:var(--surface-2);padding:.85rem 1.25rem}.notification-footer a{color:var(--accent-2);font-size:.85rem;font-weight:500;text-decoration:none;transition:color .2s}.notification-footer a:hover{color:var(--accent)}.notification-actions{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.notification-actions .register-btn{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.notification-actions .register-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.notification-actions .register-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.notification-actions .reg-status{border-radius:4px;padding:.25rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.notification-actions .reg-status.success{color:var(--success);background:#8a9c7626}.notification-actions .reg-status.warning{color:var(--warning);background:#b8934e26}@media (max-width:480px){.notification-dropdown{width:calc(100vw - 24px);right:-60px}}.notification-toasts{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;max-width:380px;display:flex;position:fixed;top:80px;right:20px}.notification-toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);pointer-events:auto;cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;animation:.3s slideInRight;display:flex;box-shadow:0 8px 24px #0006}.notification-toast:hover{border-color:var(--border-strong);transform:translate(-4px)}.notification-toast.leaving{animation:.3s forwards slideOutRight}.notification-toast.priority-high,.notification-toast.priority-urgent{border-left:3px solid var(--danger)}.notification-toast.priority-normal{border-left:3px solid var(--accent)}.notification-toast.priority-low{border-left:3px solid var(--muted)}.toast-icon{flex-shrink:0;font-size:1.4rem}.toast-content{flex:1;min-width:0}.toast-title{color:var(--text);margin-bottom:4px;font-size:.9rem;font-weight:600}.toast-message{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.toast-cancel-btn{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:#dc5a5426;border-radius:4px;margin-top:8px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.toast-cancel-btn:hover{background:var(--danger);color:#fff}.toast-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.4rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.toast-close:hover{background:var(--surface-2);color:var(--text)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media (max-width:480px){.notification-toasts{max-width:none;left:10px;right:10px}}.notifications-page{gap:var(--cpt-space-2);flex-direction:column;max-width:760px;display:flex}.notifications-page-header{justify-content:space-between;align-items:flex-end;gap:var(--cpt-space-2);flex-wrap:wrap;display:flex}.notifications-page-header h1{font-family:var(--cpt-font-title);font-size:var(--cpt-text-h1);text-transform:uppercase;letter-spacing:.04em;margin:0}.notifications-page-header .cpt-eyebrow{margin-bottom:var(--cpt-space-1)}.notifications-page-header .muted{margin:.25rem 0 0}.notifications-page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.notifications-filter{border:1px solid var(--cpt-border);border-radius:var(--cpt-radius-md);background:var(--cpt-graphite);gap:4px;width:fit-content;padding:4px;display:inline-flex}.notifications-filter button{border-radius:var(--cpt-radius-sm);min-height:36px;color:var(--cpt-silver);font-size:var(--cpt-text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0 .9rem;font-weight:600;display:inline-flex}.notifications-filter button[aria-pressed=true]{background:var(--cpt-anthracite);color:var(--cpt-white)}.notifications-filter button span{background:var(--amber);min-width:18px;color:var(--cpt-black);border-radius:999px;padding:0 5px;font-size:.75rem}.notifications-page-list{border:1px solid var(--cpt-border);border-radius:var(--cpt-radius-md);background:var(--cpt-graphite);max-height:none;overflow:visible}.notifications-more{align-self:center}:root{--bg:var(--cpt-black);--bg-alt:var(--cpt-graphite);--surface:var(--cpt-graphite);--surface-2:var(--cpt-anthracite);--surface-3:var(--cpt-surface-hover);--border:var(--cpt-border);--border-strong:var(--cpt-border-strong);--text:var(--cpt-white);--muted:var(--cpt-silver);--muted-2:var(--cpt-silver);--accent:var(--cpt-white);--accent-2:var(--cpt-blue-bright);--ok:#8a9c76;--amber:#b8934e;--danger:#dc5a54;--info:#7b98c9;--ok-soft:#8a9c7624;--amber-soft:#b8934e24;--danger-soft:#dc5a5424;--info-soft:#7b98c924;--radius-lg:8px;--radius:8px;--radius-sm:4px;--shadow-soft:0 1px 2px #0006;--shadow-strong:0 8px 24px #0000008c;--backdrop:blur(8px);--gradient-hero:var(--cpt-black)}body{background:var(--cpt-black);color:var(--text)}.page-loader{min-height:60vh;color:var(--muted);font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.2em;place-items:center;display:grid}.landing{background:var(--cpt-black);min-height:100vh}.landing-hero{min-height:100vh;padding:var(--cpt-space-6)var(--cpt-space-3)var(--cpt-space-7);text-align:center;background:radial-gradient(ellipse 90% 60% at 50% 0%,#232220 0%,transparent 60%),linear-gradient(180deg,var(--cpt-graphite)0%,var(--cpt-black)100%);place-items:center;display:grid;position:relative;overflow:hidden}.landing-hero:after{content:"";background:linear-gradient(90deg,transparent 0%,var(--cpt-blue)15%,var(--cpt-white)50%,var(--cpt-red)85%,transparent 100%);width:min(420px,60vw);height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.landing-hero-inner{z-index:1;flex-direction:column;align-items:center;max-width:720px;display:flex;position:relative}.landing-patch{width:clamp(150px,22vw,220px);height:auto;margin-bottom:var(--cpt-space-4)}.landing-title{font-family:var(--cpt-font-title);font-size:var(--cpt-text-hero);letter-spacing:.02em;text-transform:uppercase;color:var(--cpt-white);margin:0 0 var(--cpt-space-3);font-weight:700;line-height:.98}.landing-baseline{max-width:52ch;color:var(--cpt-silver);margin:0 0 var(--cpt-space-5);font-size:1.0625rem;line-height:1.7}.landing-actions{gap:var(--cpt-space-2);flex-wrap:wrap;justify-content:center;display:flex}.landing-scroll{bottom:var(--cpt-space-4);color:var(--cpt-steel);pointer-events:none;font-size:1.25rem;position:absolute;left:50%;transform:translate(-50%)}.landing-section{padding:var(--cpt-space-8)var(--cpt-space-3);max-width:var(--cpt-content-width);margin-inline:auto}.landing-section-alt{background:var(--cpt-graphite);border-top:1px solid var(--cpt-border);border-bottom:1px solid var(--cpt-border);max-width:none}.landing-section-alt>*{max-width:var(--cpt-content-width);margin-inline:auto}.landing-section-head{margin-bottom:var(--cpt-space-5)}.landing-section-head h2{font-size:var(--cpt-text-h1);margin:0}.landing-values{gap:var(--cpt-space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.landing-value h3{font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.08em;color:var(--cpt-white);margin:var(--cpt-space-2)0 var(--cpt-space-1);font-size:1.375rem;font-weight:700}.landing-value p{color:var(--cpt-silver);margin:0;font-size:.9375rem}.landing-cards{gap:var(--cpt-space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.landing-card h3{font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.08em;margin:var(--cpt-space-1)0 var(--cpt-space-1);font-size:1.25rem}.landing-card p{color:var(--cpt-silver);margin:0;font-size:.9375rem}.landing-footer{align-items:center;gap:var(--cpt-space-2);padding:var(--cpt-space-6)var(--cpt-space-3);text-align:center;border-top:1px solid var(--cpt-border);color:var(--cpt-silver);flex-direction:column;font-size:.9375rem;display:flex}.landing-footer p{margin:0}.landing-footer strong{font-family:var(--cpt-font-title);letter-spacing:.16em;color:var(--cpt-white);font-size:1.125rem}.landing-footer-legal{font-size:var(--cpt-text-caption);color:var(--cpt-steel)}@media (max-width:600px){.landing-hero{min-height:auto;padding-block:var(--cpt-space-6)}.landing-section{padding-block:var(--cpt-space-6)}.landing-actions .btn{width:100%}}.login-gate{min-height:100vh;padding:var(--cpt-space-4)var(--cpt-space-3);background:radial-gradient(ellipse 80% 50% at 50% 0%,#232220 0%,transparent 60%),linear-gradient(180deg,var(--cpt-graphite)0%,var(--cpt-black)100%);place-items:center;display:grid}.login-gate:before{content:"";background:linear-gradient(90deg,transparent 0%,var(--cpt-blue)15%,var(--cpt-white)50%,var(--cpt-red)85%,transparent 100%);width:min(420px,70vw);height:3px;position:fixed;top:0;left:50%;transform:translate(-50%)}.login-gate-inner{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:420px;display:flex}.login-gate-patch{width:clamp(140px,30vw,200px);height:auto;margin-bottom:var(--cpt-space-3)}.login-gate-title{font-family:var(--cpt-font-title);letter-spacing:.18em;text-transform:uppercase;color:var(--cpt-white);margin:0 0 var(--cpt-space-1);text-indent:.18em;font-size:clamp(3rem,12vw,4.5rem);font-weight:700;line-height:1}.login-gate-baseline{color:var(--cpt-silver);margin:0 0 var(--cpt-space-4);font-size:1.0625rem}.login-gate-footer{margin-top:var(--cpt-space-4);font-size:var(--cpt-text-caption);color:var(--cpt-steel)}.login-form-panel{background:var(--cpt-graphite);border:1px solid var(--cpt-border);border-radius:var(--cpt-radius-md);padding:var(--cpt-space-5)var(--cpt-space-4)var(--cpt-space-4);position:relative}.login-form-panel .back-btn{top:var(--cpt-space-2);left:var(--cpt-space-2);position:absolute}.login-logo{width:80px;height:auto;margin-bottom:var(--cpt-space-2)}.login-form-panel h2{font-size:var(--cpt-text-h2);margin:0}.login-rule{margin:var(--cpt-space-2)auto var(--cpt-space-3)}.login-form{gap:var(--cpt-space-2);text-align:left;flex-direction:column;width:100%;display:flex}.login-form .form-group{flex-direction:column;gap:.4rem;display:flex}.login-form label{font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.14em;color:var(--cpt-silver);font-size:.8125rem;font-weight:600}.login-form .input-wrapper{display:flex;position:relative}.login-form input{width:100%}.login-form .password-input input{padding-right:3rem}.password-toggle{width:44px;height:100%;color:var(--cpt-silver);cursor:pointer;transition:color var(--cpt-transition);background:0 0;border:none;place-items:center;display:grid;position:absolute;top:0;right:0}.password-toggle:hover{color:var(--cpt-white)}.login-submit-btn{width:100%;margin-top:var(--cpt-space-1)}.login-submit-btn .spinner{border:2px solid;border-color:currentColor currentColor #0000 #0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.login-error{width:100%;margin-bottom:var(--cpt-space-2);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--cpt-radius-sm);color:var(--cpt-white);text-align:left;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.9375rem;display:flex}.login-error .error-icon{color:var(--danger);flex-shrink:0;font-size:1.1rem}.login-success{width:100%;margin-bottom:var(--cpt-space-2);background:var(--ok-soft);border:1px solid var(--ok);border-radius:var(--cpt-radius-sm);color:var(--cpt-white);text-align:left;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.9375rem;display:flex}.login-success .success-icon{color:var(--ok);flex-shrink:0;font-size:1.1rem}.login-hint{margin:0 0 var(--cpt-space-2);color:var(--cpt-silver);text-align:left;font-size:.9375rem;line-height:1.5}.login-link{color:var(--cpt-silver);text-underline-offset:3px;align-self:center;padding:.5rem;font-size:.875rem;text-decoration:underline}.login-link:hover{color:var(--cpt-white)}@media (max-width:900px){.login-container{grid-template-columns:1fr;max-width:480px;margin:1rem}.login-branding{display:none}.login-form-section{padding:2rem}}@media (max-width:480px){.login-form-section{padding:1.5rem}.login-header h2{font-size:1.5rem}}.app-layout{background:var(--bg);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.mobile-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 1rem;display:none;position:fixed;top:0;left:0;right:0}.mobile-title{font-size:1.1rem;font-weight:600}.mobile-header-right{align-items:center;gap:.75rem;display:flex}.mobile-user{background:var(--cpt-anthracite);border:1px solid var(--cpt-border);width:36px;height:36px;font-family:var(--cpt-font-title);color:var(--cpt-white);border-radius:50%;place-items:center;font-size:.85rem;font-weight:700;display:grid;overflow:hidden}.mobile-close{display:none!important}.sidebar-overlay{z-index:150;background:#0009;display:none;position:fixed;inset:0}.app-sidebar{background:var(--cpt-graphite);border-right:1px solid var(--cpt-border);z-index:200;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.app-sidebar:after{content:"";background:linear-gradient(180deg,var(--cpt-blue)0 33%,var(--cpt-white)33% 66%,var(--cpt-red)66% 100%);opacity:.5;width:2px;height:100%;position:absolute;top:0;right:0}.sidebar-header{border-bottom:1px solid var(--cpt-border);justify-content:space-between;align-items:center;padding:1.5rem 1.25rem;display:flex}.sidebar-brand{align-items:center;gap:.75rem;display:flex}.brand-logo{color:var(--accent);font-size:1.5rem}.brand-logo-img{object-fit:contain;width:44px;height:44px;margin-right:4px}.brand-name{font-family:var(--cpt-font-title);letter-spacing:.12em;text-transform:uppercase;color:var(--cpt-white);font-size:1.375rem;font-weight:700;line-height:1;display:block}.brand-sub{font-family:var(--cpt-font-title);color:var(--cpt-silver);text-transform:uppercase;letter-spacing:.24em;font-size:.6875rem;font-weight:500}.sidebar-nav{flex:1;padding:1rem 0 1.5rem;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 32px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 32px),#0000 100%)}.sidebar-nav:hover{-webkit-mask-image:none;mask-image:none}.nav-group{margin-bottom:.5rem}.nav-group.has-active .nav-group-header{color:var(--text)}.nav-group-header{width:100%;min-height:44px;color:var(--cpt-silver);font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.14em;cursor:pointer;transition:color var(--cpt-transition),background-color var(--cpt-transition);text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.7rem 1.25rem;font-size:.9375rem;font-weight:600;display:flex}.nav-group-header:hover{color:var(--cpt-white);background:var(--cpt-anthracite)}.nav-group-label{flex:1}.nav-group-chevron{opacity:.5;transition:transform var(--cpt-transition);font-size:.6rem}.nav-group-items{padding:.25rem 0 .5rem}.nav-item{min-height:44px;color:var(--cpt-silver);transition:color var(--cpt-transition),background-color var(--cpt-transition);border-left:2px solid #0000;align-items:center;gap:.6rem;padding:.6rem 1.25rem .6rem 2.5rem;font-size:.9375rem;font-weight:400;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--cpt-white);background:var(--cpt-anthracite)}.nav-item.active{color:var(--cpt-white);background:var(--cpt-anthracite);border-left-color:var(--cpt-white);font-weight:500}.nav-item.active:after{content:"";background:var(--cpt-white);width:4px;height:4px;position:absolute;right:1rem;transform:rotate(45deg)}.nav-badge{background:var(--danger);color:var(--cpt-white);font-family:var(--cpt-font-title);border-radius:var(--cpt-radius-sm);text-align:center;min-width:1.25rem;margin-left:auto;margin-right:1rem;padding:.1rem .4rem;font-size:.75rem;font-weight:700;line-height:1.4}.nav-icon{opacity:.75;width:20px;height:20px;transition:opacity var(--cpt-transition);flex-shrink:0}.nav-item:hover .nav-icon,.nav-item.active .nav-icon,.nav-group-header:hover .nav-icon{opacity:1}.nav-group-chevron .nav-icon{width:14px;height:14px}.nav-chevron{font-size:.6rem}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.mobile-app-link{border:1px solid var(--cpt-border);border-radius:var(--cpt-radius-sm);min-height:44px;color:var(--cpt-silver);transition:color var(--cpt-transition),border-color var(--cpt-transition),background-color var(--cpt-transition);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.mobile-app-link:hover{color:var(--cpt-white);border-color:var(--cpt-steel);background:var(--cpt-anthracite)}.beta-chip{border:1px solid var(--cpt-border);border-radius:var(--cpt-radius-sm);font-family:var(--cpt-font-title);letter-spacing:.1em;color:var(--cpt-silver);margin-left:auto;padding:.1rem .35rem;font-size:.6875rem;font-weight:600}.user-card{align-items:center;gap:.75rem;display:flex}.user-avatar{background:var(--cpt-anthracite);border:1px solid var(--cpt-border-strong);width:42px;height:42px;font-family:var(--cpt-font-title);letter-spacing:.04em;color:var(--cpt-white);border-radius:50%;flex-shrink:0;place-items:center;font-size:.9rem;font-weight:700;display:grid;position:relative;overflow:hidden}.user-avatar-img,.mobile-user-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.user-info{flex-direction:column;display:flex}.user-info .user-name{color:var(--cpt-white);font-size:.9375rem;font-weight:500}.user-info .user-role{font-family:var(--cpt-font-title);color:var(--cpt-silver);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:600}.logout-btn{justify-content:flex-start;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.85rem;display:flex}.app-main{background:radial-gradient(ellipse 120% 80% at 50% -10%,#14140f 0%,transparent 55%),var(--cpt-black);isolation:isolate;flex-direction:column;min-width:0;min-height:100vh;display:flex;position:relative}.app-main:before{content:"";z-index:-2;pointer-events:none;background-image:url(/bg-compass.svg),var(--cpt-topo);opacity:.09;background-position:right -160px top -120px,50%;background-repeat:no-repeat,repeat;background-size:620px 620px,320px 320px;position:fixed;inset:0}.app-main:after{content:"";z-index:-1;pointer-events:none;opacity:.75;background-image:-webkit-image-set(url(/bg-mountains.webp) 1x type("image/webp")),url(/bg-ridge.svg);background-image:image-set("/bg-mountains.webp" 1x type("image/webp")),url(/bg-ridge.svg);background-position:bottom,bottom;background-repeat:no-repeat,no-repeat;background-size:cover,100%;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000 8%,#00000073 38%,#000000d9 70%,#000 100%);mask-image:linear-gradient(#0000 8%,#00000073 38%,#000000d9 70%,#000 100%)}@media (max-width:700px){.app-main:before{background-image:var(--cpt-topo);opacity:.05;background-position:50%;background-repeat:repeat;background-size:320px 320px}.app-main:after{opacity:.32;background-image:-webkit-image-set(url(/bg-mountains-sm.webp) 1x type("image/webp")),url(/bg-ridge.svg);background-image:image-set("/bg-mountains-sm.webp" 1x type("image/webp")),url(/bg-ridge.svg)}}.main-header{justify-content:space-between;align-items:center;gap:var(--cpt-space-2);background:var(--cpt-graphite);border-bottom:1px solid var(--cpt-border);z-index:100;min-height:64px;padding:1rem 2rem;display:flex;position:relative}.breadcrumb{font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:.5rem;min-width:0;font-size:.875rem;font-weight:500;display:flex}.breadcrumb-item{color:var(--cpt-silver);transition:color var(--cpt-transition);white-space:nowrap;text-decoration:none}.breadcrumb-item:hover{color:var(--cpt-white)}.breadcrumb-item.current{color:var(--cpt-white);text-overflow:ellipsis;font-weight:600;overflow:hidden}.breadcrumb-sep{color:var(--cpt-steel);font-size:.7rem}.header-actions{flex-shrink:0;align-items:center;gap:1rem;display:flex}.header-greeting{color:var(--cpt-silver);white-space:nowrap;font-size:.875rem}.header-greeting strong{color:var(--cpt-white);font-weight:500}.main-content{width:100%;max-width:var(--cpt-content-width);padding:var(--cpt-space-4)var(--cpt-space-4)var(--cpt-space-7);flex:1;margin-inline:auto;overflow-y:auto}@media (max-width:900px){.app-layout{grid-template-columns:1fr}.mobile-header{display:flex}.app-main{padding-top:56px}.app-sidebar{width:280px;transition:left .3s;position:fixed;top:0;left:-280px}.app-sidebar.open{left:0}.sidebar-overlay{display:block}.mobile-close{display:flex!important}.main-header{padding:.75rem 1rem}.main-content{padding:1rem}.breadcrumb{font-size:.8rem}}.mobile-tabbar{display:none}.mobile-header-logo{flex-shrink:0;width:32px;height:32px}@media (max-width:900px){:root{--cpt-header-height:calc(56px + env(safe-area-inset-top));--cpt-tabbar-height:calc(64px + env(safe-area-inset-bottom))}.mobile-header{height:var(--cpt-header-height);padding:env(safe-area-inset-top)1rem 0;gap:.75rem}.mobile-title{font-family:var(--cpt-font-title);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;flex:1;font-size:1.125rem;font-weight:700;overflow:hidden}.mobile-user{text-decoration:none}.app-main{padding-top:var(--cpt-header-height)}.main-header{display:none}.main-content{padding-bottom:calc(var(--cpt-tabbar-height) + var(--cpt-space-3))}.app-sidebar{bottom:var(--cpt-tabbar-height);height:auto;padding-top:env(safe-area-inset-top)}.sidebar-overlay{bottom:var(--cpt-tabbar-height)}.mobile-tabbar{z-index:180;height:var(--cpt-tabbar-height);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--cpt-border-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171716f5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-tab{min-width:0;color:var(--cpt-silver);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:.6875rem;font-weight:600;line-height:1.2;text-decoration:none;display:flex}.mobile-tab.active{color:var(--cpt-white)}.mobile-tab.active .mobile-tab-icon:before{content:"";background:linear-gradient(90deg,var(--cpt-blue)0 33%,var(--cpt-white)33% 66%,var(--cpt-red)66% 100%);width:24px;height:2px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.mobile-tab-icon{place-items:center;display:grid;position:relative}.mobile-tab-badge{border:2px solid var(--cpt-graphite);background:var(--danger);min-width:18px;height:18px;color:var(--cpt-white);text-align:center;border-radius:999px;padding:0 5px;font-size:.625rem;font-weight:700;line-height:14px;position:absolute;top:-6px;left:calc(100% - 6px)}.mobile-tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}.app-grid,.dashboard-shell{background:var(--gradient-hero);min-height:100vh}.dashboard-shell{grid-template-columns:280px 1fr;display:grid}.dashboard-nav{border-right:1px solid var(--border);height:100vh;box-shadow:inset -1px 0 0 #ffffff05,var(--shadow-soft);background:linear-gradient(#131a28e6,#0a0e16f5);flex-direction:column;gap:2rem;padding:2.25rem 1.75rem;display:flex;position:sticky;top:0}.brand-title{letter-spacing:.04em;text-transform:none;font-size:1.1rem;font-weight:700}.nav-link{border-radius:var(--radius);color:var(--muted);text-transform:none;letter-spacing:.02em;border:1px solid #0000;align-items:center;gap:.65rem;padding:.8rem 1rem;font-weight:600;transition:all .18s;display:flex}.nav-link:hover{color:var(--text);background:#ffffff0a}.nav-link.active{color:#fff;border-color:var(--border-strong);background:linear-gradient(120deg,#8a9c761f,#7b98c91f);box-shadow:0 10px 30px #8a9c761f}.dashboard-content{padding:2.5rem clamp(1.5rem,3vw,3rem)}.dashboard-header{margin-bottom:1.5rem}.dashboard-body{flex-direction:column;gap:1.25rem;display:flex}.panel{background:var(--cpt-graphite);border:1px solid var(--cpt-border);border-radius:var(--cpt-radius-md);transition:border-color var(--cpt-transition),background-color var(--cpt-transition),transform var(--cpt-transition);padding:clamp(1.25rem,3vw,1.75rem);position:relative}.panel.full{width:100%}.panel.featured:before,.panel.highlight:before{content:"";border-radius:var(--cpt-radius-md)var(--cpt-radius-md)0 0;background:linear-gradient(90deg,var(--cpt-blue)0 33%,var(--cpt-white)33% 66%,var(--cpt-red)66% 100%);height:2px;position:absolute;top:0;left:0;right:0}.panel.interactive:hover,a.panel:hover{border-color:var(--cpt-steel);background:var(--cpt-anthracite);transform:translateY(-2px)}input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=tel],input[type=url],select,textarea{background:var(--cpt-black);border:1px solid var(--cpt-border);border-radius:var(--cpt-radius-sm);min-height:44px;color:var(--cpt-white);font-family:var(--cpt-font-body);transition:border-color var(--cpt-transition),background-color var(--cpt-transition);padding:.65rem .85rem;font-size:1rem;line-height:1.5}textarea{resize:vertical;min-height:96px}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--cpt-steel)}input:focus,select:focus,textarea:focus{border-color:var(--cpt-silver);background:var(--cpt-graphite);outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cpt-white);outline-offset:1px}input::placeholder,textarea::placeholder{color:var(--cpt-silver);opacity:.55}input:disabled,select:disabled,textarea:disabled{opacity:.45;cursor:not-allowed}select{cursor:pointer}select option{background:var(--cpt-graphite);color:var(--cpt-white)}input[type=checkbox],input[type=radio]{accent-color:var(--cpt-white);cursor:pointer;width:18px;height:18px;min-height:0}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.75);cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.75);cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.75);cursor:pointer}label{color:var(--cpt-silver);font-size:.875rem}table{border-collapse:collapse;width:100%}th{font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.14em;color:var(--cpt-silver);text-align:left;border-bottom:1px solid var(--cpt-border-strong);white-space:nowrap;padding:.75rem 1rem;font-size:.8125rem;font-weight:600}td{border-bottom:1px solid var(--cpt-border);color:var(--cpt-white);padding:.75rem 1rem;font-size:.9375rem}tbody tr{transition:background-color var(--cpt-transition)}tbody tr:hover{background:var(--cpt-anthracite)}tbody tr:last-child td{border-bottom:none}.badge,.status-badge,.chip{border-radius:var(--cpt-radius-sm);border:1px solid var(--cpt-border);background:var(--cpt-anthracite);color:var(--cpt-white);font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.8125rem;font-weight:600;display:inline-flex}.badge.ok,.status-badge.ok,.chip.ok,.badge.success,.status-badge.success,.chip.success{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.badge.warning,.status-badge.warning,.chip.warning,.badge.pending,.status-badge.pending,.chip.pending{color:var(--amber);border-color:var(--amber);background:var(--amber-soft)}.badge.danger,.status-badge.danger,.chip.danger,.badge.error,.status-badge.error,.chip.error,.badge.expired,.status-badge.expired,.chip.expired{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.badge.info,.status-badge.info,.chip.info{color:var(--info);border-color:var(--info);background:var(--info-soft)}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h3,.panel h3,.panel h4,.hero h1{letter-spacing:.015em;text-transform:none;margin:0}.label{text-transform:none;letter-spacing:.04em;color:var(--muted);font-size:.78rem}.aux-tag{text-transform:none;letter-spacing:.04em;color:var(--muted);font-size:.7rem}.eyebrow{text-transform:none;letter-spacing:.08em;color:var(--accent-2);margin:0 0 .6rem;font-size:.8rem}.hero{gap:1.5rem;margin-bottom:2rem;display:grid}.hero p{color:var(--muted);max-width:72ch}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn{min-height:44px;font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border:1px solid var(--cpt-border-strong);border-radius:var(--cpt-radius-sm);color:var(--cpt-white);cursor:pointer;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);transition:background-color var(--cpt-transition),border-color var(--cpt-transition),color var(--cpt-transition),transform var(--cpt-transition);background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:1rem;font-weight:600;display:inline-flex}.btn .cpt-chevron,.btn .nav-chevron{transition:transform var(--cpt-transition)}.btn:hover .cpt-chevron{transform:translate(3px)}.btn.primary{background:var(--cpt-white);color:var(--cpt-black);border-color:var(--cpt-white)}.btn.primary:hover{background:var(--cpt-white);border-color:var(--cpt-white)}.btn.secondary,.btn.ghost{border-color:var(--cpt-border-strong);color:var(--cpt-white);background:0 0}.btn.secondary:hover,.btn.ghost:hover{background:var(--cpt-anthracite);border-color:var(--cpt-silver)}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.danger:hover{background:var(--danger);color:var(--cpt-white);border-color:var(--danger)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.small{letter-spacing:.06em;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%);min-height:36px;padding:.4rem .85rem;font-size:.875rem}.btn.large{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);min-height:52px;padding:.9rem 1.75rem;font-size:1.0625rem}.btn.icon-btn{clip-path:none;min-width:44px;min-height:44px;padding:0}.link-button{color:var(--accent-2);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.pill,.tab-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff08;border-radius:999px;padding:.45rem .9rem;font-weight:600;transition:all .2s}.pill.active,.tab-button.active{border-color:var(--accent-2);color:#fff;background:linear-gradient(120deg,#7b98c929,#8a9c761f)}.tab-toggle{flex-wrap:wrap;gap:.5rem;display:flex}.status-chip{letter-spacing:.02em;border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.status-chip.success{color:var(--ok-soft);background:#8a9c7614;border-color:#8a9c7666}.status-chip.warning{color:var(--amber-soft);background:#b8934e1f;border-color:#b8934e80}.status-chip.danger{color:var(--danger-soft);background:#dc5a541f;border-color:#dc5a5480}.status-chip.neutral{color:var(--muted)}.status-chip.ghost{border-color:var(--border);color:var(--muted)}.status-chip.info{color:var(--info-soft);background:#7b98c91f;border-color:#7b98c980}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;display:grid}.grid.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;display:grid}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.list,.intel-list,.timeline,.timeline.enhanced,.document-category-card ul,.module-list,.available-list,.qualification-list,.validated-list,.course-feed ul,.document-tile-list,.documents-list{margin:0;padding:0;list-style:none}.home-wrapper{background:var(--gradient-hero);min-height:100vh;padding:clamp(2.5rem,5vw,4rem)}.home-console{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;max-width:1200px;margin:0 auto;display:grid}.hero-slab{border:1px solid var(--border-strong);box-shadow:var(--shadow-strong);background:linear-gradient(140deg,#101a2ceb,#0e131edb);border-radius:24px;grid-column:1/-1;padding:clamp(2rem,4vw,3rem)}.hero-topline{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.tag{letter-spacing:.04em;text-transform:none;color:var(--muted);font-size:.9rem}.uptime{color:var(--muted);border-left:1px solid var(--border);padding-left:.9rem;font-size:.9rem}.hero-lead{color:var(--muted);max-width:78ch;line-height:1.7}.hero-readiness{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.readiness-card{border-radius:var(--radius);border:1px solid var(--border);background:#ffffff08;padding:1rem 1.2rem}.readiness-card strong{margin:.2rem 0;font-size:1.8rem;display:block}.readiness-card span{color:var(--accent);letter-spacing:.04em;font-weight:700}.feature-grid,.protocol-stack{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.feature-card,.protocol-stack article{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#ffffff05;padding:1.4rem}.intel-brief{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);grid-column:1/-1;padding:1.5rem}.status-feed{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);padding:1.4rem}.status-feed li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.9rem 0;display:flex}.status-feed li:last-child{border-bottom:none}.status-feed .code{letter-spacing:.06em;text-transform:none;font-weight:700}.status-feed .window{color:var(--muted);font-size:.9rem}.mc-page{max-width:1100px;margin:0 auto;padding:1.5rem}.mc-loading{min-height:50vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.mc-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mc-hero{background:linear-gradient(135deg,var(--surface)0%,#8a9c7614 50%,#7b98c914 100%);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem;padding:2rem;display:flex}.mc-hero-content h1{background:linear-gradient(90deg,var(--text),var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.mc-hero-content p{color:var(--muted);font-size:.95rem}.mc-hero-gauge{flex-shrink:0;width:100px;height:100px;position:relative}.mc-gauge-svg{width:100%;height:100%}.mc-gauge-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mc-gauge-value{color:var(--accent);font-size:1.5rem;font-weight:700}.mc-gauge-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.mc-stats-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.mc-stat-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.mc-stat-pill:hover{border-color:var(--accent-2);transform:translateY(-2px)}.mc-stat-pill.active{border-color:var(--amber);background:#b8934e14}.mc-stat-pill.success{border-color:var(--accent);background:#8a9c7614}.mc-stat-pill.qual{border-color:var(--accent-2);background:#7b98c914}.mc-stat-icon{font-size:1rem}.mc-stat-num{font-size:1.1rem;font-weight:700}.mc-stat-text{color:var(--muted);font-size:.8rem}.mc-tabs{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.mc-tab{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.mc-tab:hover{color:var(--text);background:#ffffff0a}.mc-tab.active{color:var(--accent);background:#8a9c761a}.mc-tab-icon{font-size:1rem}.mc-tab-badge{background:var(--accent);color:var(--bg);border-radius:999px;padding:.15rem .4rem;font-size:.7rem;font-weight:700}.mc-content{flex-direction:column;gap:1.5rem;display:flex}.mc-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.mc-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.mc-section-header h2{color:var(--text);font-size:1rem;font-weight:600}.mc-section-count{color:var(--muted);background:#ffffff0f;border-radius:999px;padding:.2rem .6rem;font-size:.75rem}.mc-modules-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.mc-module-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.mc-module-card:hover{border-color:var(--accent-2);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.mc-module-card.selected{border-color:var(--accent);background:#8a9c760d}.mc-module-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.mc-module-level{color:var(--accent-2);text-transform:uppercase;letter-spacing:.03em;background:#7b98c926;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.mc-module-status{border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.mc-module-status.in-progress{color:var(--amber);background:#b8934e26}.mc-module-title{margin-bottom:.75rem;font-size:.95rem;font-weight:600;line-height:1.4}.mc-module-progress{align-items:center;gap:.75rem;display:flex}.mc-progress-track{background:#ffffff14;border-radius:999px;flex:1;height:6px;overflow:hidden}.mc-progress-fill{background:linear-gradient(90deg,var(--accent),var(--ok));border-radius:999px;height:100%;transition:width .3s}.mc-progress-text{color:var(--accent);min-width:35px;font-size:.8rem;font-weight:600}.mc-module-due{color:var(--muted);align-items:center;gap:.35rem;margin-top:.75rem;font-size:.8rem;display:flex}.mc-due-icon{font-size:.75rem}.mc-validated-grid{flex-direction:column;gap:.5rem;display:flex}.mc-validated-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.mc-validated-card:hover{border-color:var(--accent)}.mc-validated-icon{font-size:1.25rem}.mc-validated-info{flex-direction:column;flex:1;gap:.15rem;display:flex}.mc-validated-title{font-size:.9rem;font-weight:500}.mc-validated-meta{color:var(--muted);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.mc-level-tag{color:var(--accent-2);text-transform:uppercase;background:#7b98c91f;border-radius:3px;padding:.1rem .4rem;font-size:.65rem;font-weight:600}.mc-validated-badge{background:var(--accent);width:24px;height:24px;color:var(--bg);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid}.mc-available-list{flex-direction:column;gap:.5rem;display:flex}.mc-available-item{background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.mc-available-item.clickable{cursor:pointer}.mc-available-item.clickable:hover{border-color:var(--accent);background:var(--surface);transform:translate(4px)}.mc-available-right{align-items:center;gap:.75rem;display:flex}.mc-view-icon{opacity:.5;font-size:1rem;transition:opacity .2s}.mc-available-item.clickable:hover .mc-view-icon{opacity:1}.mc-available-content{flex-direction:column;gap:.15rem;display:flex}.mc-available-title{font-size:.9rem;font-weight:500}.mc-available-desc{color:var(--muted);font-size:.8rem}.mc-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:3rem 2rem}.mc-empty-icon{opacity:.6;margin-bottom:.75rem;font-size:2.5rem}.mc-empty h3{margin-bottom:.35rem;font-size:1.1rem}.mc-empty p{color:var(--muted);max-width:300px;margin:0 auto;font-size:.9rem}.mc-qual-summary{gap:1rem;margin-bottom:1rem;display:flex}.mc-qual-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:1rem;display:flex}.mc-qual-stat.passed{background:#8a9c760d;border-color:#8a9c764d}.mc-qual-stat.failed{background:#dc5a540d;border-color:#dc5a544d}.mc-qual-stat.retest{background:#b8934e0d;border-color:#b8934e4d}.mc-qual-stat-icon{font-size:1.25rem}.mc-qual-stat-num{font-size:1.5rem;font-weight:700}.mc-qual-stat-label{color:var(--muted);font-size:.75rem}.mc-qual-grid{flex-direction:column;gap:.75rem;display:flex}.mc-qual-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.mc-qual-card:hover{transform:translate(4px)}.mc-qual-card.passed{border-left:3px solid var(--accent)}.mc-qual-card.failed{border-left:3px solid var(--danger)}.mc-qual-card.retest{border-left:3px solid var(--amber)}.mc-qual-card-icon{font-size:1.5rem}.mc-qual-card-content{flex-direction:column;flex:1;gap:.15rem;display:flex}.mc-qual-card-title{font-size:.95rem;font-weight:500}.mc-qual-card-level{color:var(--muted);font-size:.75rem}.mc-qual-card-right{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.mc-qual-badge{border-radius:999px;padding:.25rem .6rem;font-size:.7rem;font-weight:600}.mc-qual-badge.passed{color:var(--accent);background:#8a9c7626}.mc-qual-badge.failed{color:var(--danger);background:#dc5a5426}.mc-qual-badge.retest{color:var(--amber);background:#b8934e26}.mc-qual-card-date{color:var(--muted);font-size:.75rem}.mc-modal-overlay{z-index:50;background:#000000b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.mc-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(500px,95vw);max-height:85vh;overflow:auto;box-shadow:0 24px 64px #0006}.mc-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.mc-modal-title-group h3{margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.mc-modal-level{color:var(--accent-2);background:#7b98c926;border-radius:4px;padding:.2rem .5rem;font-size:.7rem}.mc-modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1;transition:color .2s}.mc-modal-close:hover{color:var(--text)}.mc-modal-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.mc-modal-stat-row{flex-wrap:wrap;gap:1rem;display:flex}.mc-modal-stat{flex-direction:column;flex:1;gap:.25rem;min-width:100px;display:flex}.mc-modal-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.mc-modal-stat-value{font-size:.95rem;font-weight:600}.mc-modal-stat-value.status-validated{color:var(--accent)}.mc-modal-stat-value.status-in_progress{color:var(--amber)}.mc-modal-stat-value.status-failed{color:var(--danger)}.mc-modal-progress-bar{background:#ffffff14;border-radius:999px;height:8px;overflow:hidden}.mc-modal-progress-fill{background:linear-gradient(90deg,var(--accent),var(--ok));border-radius:999px;height:100%}.mc-modal-description{background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem}.mc-modal-description p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}.mc-modal-steps{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.mc-modal-steps-title{color:var(--text);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:block}.mc-modal-steps-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.mc-modal-step{background:var(--surface-2);border-radius:var(--radius-sm);padding:.75rem}.mc-modal-step-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.mc-modal-step-number{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;display:flex}.mc-modal-step-title{color:var(--text);font-size:.9rem;font-weight:500}.mc-modal-step-desc{color:var(--muted);margin:.25rem 0 0 2rem;font-size:.8rem;line-height:1.5}.mc-modal-substeps{flex-direction:column;gap:.35rem;margin:.5rem 0 0 2rem;padding:0;list-style:none;display:flex}.mc-modal-substep{align-items:flex-start;gap:.5rem;display:flex}.mc-modal-substep-bullet{color:var(--accent);flex-shrink:0;font-size:.9rem;line-height:1.3}.mc-modal-substep-content{flex-direction:column;gap:.1rem;display:flex}.mc-modal-substep-title{color:var(--text-secondary);font-size:.8rem}.mc-modal-substep-desc{color:var(--muted);font-size:.75rem;line-height:1.4}.mc-modal-notes{background:var(--surface-2);border-radius:var(--radius-sm);padding:.75rem}.mc-modal-notes-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem;font-size:.75rem;display:block}.mc-modal-notes p{font-size:.9rem;line-height:1.5}.mc-modal-qual{border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.75rem;display:flex}.mc-modal-qual.passed{background:#8a9c761a;border:1px solid #8a9c764d}.mc-modal-qual.failed{background:#dc5a541a;border:1px solid #dc5a544d}.mc-modal-qual.retest{background:#b8934e1a;border:1px solid #b8934e4d}.mc-modal-qual-icon{font-size:1.5rem}.mc-modal-qual-info{flex-direction:column;gap:.1rem;display:flex}.mc-modal-qual-status{font-size:.9rem;font-weight:600}.mc-modal-qual-date{color:var(--muted);font-size:.75rem}.mc-modal-timeline{border-top:1px solid var(--border);padding-top:1rem}.mc-modal-timeline-title{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.75rem;font-size:.75rem;display:block}.mc-modal-timeline-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.mc-modal-timeline-item{align-items:flex-start;gap:.75rem;display:flex}.mc-modal-timeline-dot{background:var(--accent-2);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.35rem}.mc-modal-timeline-content{flex:1;justify-content:space-between;display:flex}.mc-modal-timeline-status{font-size:.85rem}.mc-modal-timeline-date{color:var(--muted);font-size:.75rem}.mc-modal-loading{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.mc-modal-error{text-align:center;color:var(--muted);padding:2rem}.mc-modal-qual-info{border-radius:var(--radius-sm);background:linear-gradient(135deg,#b8934e1a,#b8934e0d);border:1px solid #b8934e4d;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.mc-modal-qual-info .mc-modal-qual-icon{font-size:1.25rem}.mc-modal-qual-text{flex-direction:column;gap:.25rem;display:flex}.mc-modal-qual-text strong{color:var(--warning);font-size:.9rem}.mc-modal-qual-text p{color:var(--muted);margin:0;font-size:.8rem}.mc-modal-footer-info{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.mc-info-badge{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;display:inline-flex}@media (max-width:768px){.mc-page{padding:1rem}.mc-hero{text-align:center;flex-direction:column;gap:1.5rem;padding:1.5rem}.mc-stats-row,.mc-tabs{justify-content:center}.mc-modules-grid{grid-template-columns:1fr}.mc-qual-summary,.mc-modal-stat-row{flex-direction:column}}.course-feed{grid-template-columns:320px 1fr;gap:1rem;display:grid}.course-feed-sidebar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.75rem;padding:1.1rem;display:flex}.course-feed-sidebar input[type=search]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-3);color:var(--text);padding:.75rem}.category-pills{flex-direction:column;gap:.4rem;display:flex}.course-feed ul li{margin:0}.course-feed ul li button{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;background:#ffffff05;border:1px solid #0000;padding:.75rem}.course-feed ul li.active button{border-color:var(--accent-2);background:#7b98c91f}.course-feed-content{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:60vh;box-shadow:var(--shadow-soft);padding:1.4rem}.category-chip,.tag-chip{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .75rem;display:inline-flex}.tag-chip{color:var(--muted);font-size:.85rem}.course-article{color:var(--text);line-height:1.7}.article-image{border-radius:var(--radius);border:1px solid var(--border);width:100%}.article-media{margin:1rem 0}.article-image-caption{color:var(--muted);font-size:.9rem;display:block}.document-board{flex-direction:column;gap:1rem;display:flex}.document-board-body{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:1rem}.document-tile-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.document-tile{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-3);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.document-category-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.document-category-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:1rem}.doc-actions{align-items:center;gap:.6rem;display:flex}.pdf-frame{border-radius:var(--radius);border:none;width:100%;height:70vh}.modal-overlay{z-index:1000;background:#0009;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.app-layout:has([class*=modal-overlay]) .app-main{z-index:1}.app-layout:has([class*=modal-overlay]) :is(.app-sidebar,.mobile-header,.mobile-tabbar){z-index:0}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);width:min(720px,95vw);max-width:720px;max-height:90vh;padding:1.5rem;overflow-y:auto}.modal-card.wide{width:min(960px,95vw);max-height:90vh;overflow-y:auto}.close-button{color:var(--text);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;width:34px;height:34px}.form{gap:.85rem;display:grid}.form.two-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem 1rem}.form label{color:var(--muted-2);letter-spacing:.02em;font-weight:600}.form input,.form textarea,.form select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--cpt-graphite);width:100%;color:var(--cpt-white);padding:.75rem .85rem}.form select option{background-color:var(--cpt-graphite);color:var(--cpt-white)}.form textarea{resize:vertical}.inline-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.table-wrapper{border-radius:var(--radius);border:1px solid var(--border);overflow:auto}.table-wrapper table{border-collapse:collapse;width:100%}.table-wrapper th,.table-wrapper td{border-bottom:1px solid var(--border);text-align:left;color:var(--text);padding:.85rem 1rem}.table-wrapper th{color:var(--muted);letter-spacing:.02em;font-weight:700}.toast-viewport{z-index:1100;flex-direction:column;gap:.6rem;display:flex;position:fixed;bottom:1.2rem;right:1.2rem}.toast{border-radius:var(--radius);border:1px solid var(--border);min-width:260px;box-shadow:var(--shadow-soft);background:#ffffff14;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;display:flex}.toast.success{border-color:#8a9c7680}.toast.error{border-color:#dc5a5499}.toast.info{border-color:#7b98c980}.toast button{color:var(--text);cursor:pointer;background:0 0;border:none}.force-reset-overlay{background:#010201bf}.force-reset-modal{max-width:520px}.reset-confirm-inline{border-radius:var(--radius-sm);background:#dc5a541a;border:1px solid #dc5a544d;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem;display:flex}.reset-confirm-inline .warning-text{color:var(--danger);font-weight:500}.temporary-password-box{background:var(--surface-3);border:1px solid var(--accent);border-radius:var(--radius-sm);align-items:center;gap:1rem;padding:1rem;display:flex}.temporary-password-box code{color:var(--accent);letter-spacing:.1em;flex:1;font-family:Fira Code,monospace;font-size:1.4rem;font-weight:700}.modal-content.small{max-width:480px}.course-post-composer textarea#post-content{min-height:180px}.composer-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.chip-row{flex-wrap:wrap;gap:.6rem;display:flex}.modules-screen,.courses-screen{flex-direction:column;gap:1rem;display:flex}.module-builder{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:1.2rem}.module-row{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-3);justify-content:space-between;gap:1rem;padding:.9rem;display:flex}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.35rem .65rem;font-weight:600;display:inline-flex}.badge.ghost{background:#ffffff08}.mini-bar{background:#ffffff0f;border-radius:999px;height:8px;overflow:hidden}.badge-grid,.tag-row,.audience-pills{flex-wrap:wrap;gap:.4rem;display:flex}.small{font-size:.9rem}.label+h3{margin-top:.15rem}.finance-board{flex-direction:column;gap:1rem;display:flex}.finance-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.finance-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.ledger-summary{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.metric-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-soft);padding:1.2rem}.metric-value{letter-spacing:.02em;margin:.2rem 0;font-size:2.1rem}.metric-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;display:grid}.metric-sub{margin:.1rem 0;font-weight:700}.amount-positive{color:var(--accent);font-weight:700}.amount-negative{color:var(--danger);font-weight:700}.ledger-form .full-row{grid-column:1/-1}.ledger-form .file-input input[type=file]{margin-top:.4rem}.ledger-table table td{vertical-align:middle}.ledger-table .status-chip{text-transform:none;letter-spacing:.02em}.ledger-toolbar{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.toolbar-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar-actions{align-items:center;gap:.5rem;display:flex}.filter-group{flex-direction:column;gap:.2rem;display:flex}.filter-group .filter-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.7rem;font-weight:600}.filter-group select{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--cpt-graphite);color:var(--cpt-white);cursor:pointer;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='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;min-width:100px;padding:.45rem 2rem .45rem .7rem;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.filter-group select option{background-color:var(--cpt-graphite);color:var(--cpt-white);padding:.5rem}.filter-group select:hover{border-color:var(--accent)}.filter-group select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #7b98c933}.filter-group input[type=date]{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--cpt-graphite);color:var(--cpt-white);cursor:pointer;min-width:130px;padding:.45rem .7rem;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.filter-group input[type=date]:hover{border-color:var(--accent)}.filter-group input[type=date]:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #7b98c933}.filter-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer}.ledger-toolbar .icon-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-1);justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s,opacity .15s;display:flex}.ledger-toolbar .icon-btn:hover{background:var(--surface-3);border-color:var(--accent)}.modern-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.modern-table th.sortable:hover{color:var(--accent)}.delete-confirm{align-items:center;gap:.3rem;display:flex}.modern-table{border-collapse:collapse;width:100%}.modern-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:2px solid var(--border);padding:.75rem .6rem;font-size:.75rem;font-weight:600}.modern-table td{border-bottom:1px solid var(--border);padding:.7rem .6rem}.modern-table tbody tr:hover{background:var(--surface-2)}.modern-table .nowrap{white-space:nowrap}.modern-table .text-right{text-align:right}.modern-table .empty-row{text-align:center;color:var(--muted);padding:2rem}.entry-title{font-weight:600}.entry-sub{color:var(--muted);font-size:.9em}.entry-note{color:var(--muted)}.category-tag{background:var(--surface-3);color:var(--text);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.pill{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.pill-default{background:var(--surface-3);color:var(--text)}.pill-warning{color:var(--amber);background:#f39c1226}.link-icon{font-size:1.1rem;text-decoration:none;transition:transform .15s}.link-icon:hover{transform:scale(1.15)}.badge{border-radius:var(--radius);background:var(--surface-3);padding:.2rem .6rem;font-size:.75rem;display:inline-block}.badge.muted{color:var(--muted)}.metric-card.highlight{background:linear-gradient(135deg,var(--surface-2),var(--surface-3));border-color:var(--accent)}.slide-in{animation:.25s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ledger-add-action{justify-content:flex-end;display:flex}.form.compact-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.form.compact-grid .span-2{grid-column:span 2}.form.compact-grid label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.form.compact-grid input,.form.compact-grid select,.form.compact-grid textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);color:var(--text);padding:.5rem .6rem;font-size:.9rem}.form.compact-grid input:focus,.form.compact-grid select:focus,.form.compact-grid textarea:focus{border-color:var(--accent);outline:none}.file-badge{background:var(--surface-3);border-radius:var(--radius);color:var(--text);margin-top:.3rem;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.form.compact-grid .form-actions{justify-content:flex-start;gap:.5rem;padding-top:.5rem;display:flex}@media (max-width:900px){.form.compact-grid{grid-template-columns:repeat(2,1fr)}.form.compact-grid .span-2{grid-column:span 2}}@media (max-width:600px){.form.compact-grid{grid-template-columns:1fr}.form.compact-grid .span-2{grid-column:span 1}.ledger-toolbar{flex-direction:column;align-items:stretch}.toolbar-filters{justify-content:space-between}.toolbar-actions{justify-content:flex-end}}@media (max-width:1024px){.dashboard-shell{grid-template-columns:1fr}.dashboard-nav{border-right:none;border-bottom:1px solid var(--border);height:auto;position:relative}.course-feed,.member-grid,.home-console{grid-template-columns:1fr}}@media (max-width:720px){.panel{padding:1rem}.dashboard-content{padding:1.4rem 1rem}.course-feed-sidebar{padding:1rem}.hero-slab{padding:1.6rem}}.home-page{background:var(--gradient-hero);min-height:100vh}.home-container{max-width:1100px;margin:0 auto;padding:3rem 2rem}.home-hero{grid-template-columns:1fr auto;align-items:center;gap:3rem;padding:4rem 0;display:grid}.hero-content{max-width:600px}.hero-badge{color:var(--accent);background:#8a9c7626;border:1px solid #8a9c764d;border-radius:999px;margin-bottom:1.5rem;padding:.4rem .9rem;font-size:.8rem;font-weight:600;display:inline-block}.home-hero h1{color:var(--text);margin:0 0 1rem;font-size:clamp(2rem,4vw,2.8rem);line-height:1.2}.hero-description{color:var(--muted);margin:0 0 2rem;font-size:1.1rem;line-height:1.6}.hero-buttons{flex-wrap:wrap;gap:1rem;display:flex}.hero-visual{justify-content:center;display:flex}.hero-card{background:linear-gradient(135deg,var(--surface-2),var(--surface-3));border:1px solid var(--border);width:180px;height:180px;box-shadow:var(--shadow-soft);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.hero-card-icon{color:var(--accent);font-size:3rem}.hero-card span{color:var(--muted);font-size:.85rem;font-weight:600}.home-features{padding:3rem 0}.home-features h2{text-align:center;color:var(--text);margin:0 0 2rem;font-size:1.5rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.feature-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:1.5rem;transition:transform .2s,box-shadow .2s}.feature-box:hover{box-shadow:var(--shadow-strong);transform:translateY(-4px)}.feature-icon{margin-bottom:.75rem;font-size:2rem;display:block}.feature-box h3{color:var(--text);margin:0 0 .5rem;font-size:1.1rem}.feature-box p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.home-quick-access{padding:2rem 0}.home-quick-access h2{color:var(--text);margin:0 0 1.5rem;font-size:1.3rem}.quick-links{flex-wrap:wrap;gap:1rem;display:flex}.quick-link{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);align-items:center;gap:.6rem;padding:.9rem 1.3rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s,opacity .15s;display:flex}.quick-link:hover{background:var(--surface-3);border-color:var(--accent)}.quick-link.highlight{background:linear-gradient(120deg,#8a9c761f,#7b98c91f);border-color:#8a9c764d}.quick-icon{font-size:1.2rem}.home-footer{text-align:center;color:var(--muted);padding:3rem 0 1rem;font-size:.85rem}@media (max-width:768px){.home-hero{text-align:center;grid-template-columns:1fr;padding:2rem 0}.hero-content{max-width:none}.hero-buttons{justify-content:center}.hero-visual{order:-1}.hero-card{width:140px;height:140px}.hero-card-icon{font-size:2.5rem}}.profile-page{max-width:900px;margin:0 auto}.profile-warning-banner{border-radius:var(--radius-lg);background:#b8934e1a;border:1px solid #b8934e4d;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.profile-warning-banner .warning-icon{flex-shrink:0;font-size:1.5rem}.profile-warning-banner .warning-content{flex:1}.profile-warning-banner .warning-content strong{color:var(--amber);margin-bottom:.25rem;display:block}.profile-warning-banner .warning-content p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.4}.profile-warning-banner .btn.small{flex-shrink:0}.profile-loading{min-height:300px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.profile-header-card{background:linear-gradient(135deg,var(--surface-2),var(--surface-3));border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:2rem;display:flex;position:relative}.profile-avatar-large{background:linear-gradient(135deg,var(--accent),var(--accent-2));width:80px;height:80px;color:var(--cpt-black);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.8rem;font-weight:700;display:grid;position:relative;overflow:hidden}.profile-avatar-large.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.profile-avatar-large.clickable:hover{transform:scale(1.05);box-shadow:0 4px 16px #8a9c764d}.profile-avatar-large .avatar-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.profile-avatar-large .avatar-overlay{opacity:0;background:#0009;justify-content:center;align-items:center;font-size:1.5rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.profile-avatar-large.clickable:hover .avatar-overlay{opacity:1}.avatar-admin-actions{opacity:0;gap:.5rem;transition:opacity .2s;display:flex;position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%)}.profile-avatar-large:hover .avatar-admin-actions{opacity:1}.avatar-btn{border:2px solid var(--surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.avatar-btn.upload{background:var(--accent);color:#fff}.avatar-btn.upload:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.1)}.avatar-btn.delete{background:var(--danger);color:#fff}.avatar-btn.delete:hover:not(:disabled){background:var(--danger);transform:scale(1.1)}.avatar-btn:disabled{opacity:.6;cursor:not-allowed}.delete-avatar{cursor:pointer;background:#dc5a54e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;transition:background .2s,transform .2s;display:flex;position:absolute;top:.5rem;left:6.5rem}.delete-avatar:hover{background:var(--danger);transform:scale(1.1)}.profile-header-info h1{margin:0 0 .5rem;font-size:1.6rem}.profile-subtitle{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.95rem;display:flex}.callsign-badge{color:var(--accent);background:#8a9c7626;border:1px solid #8a9c764d;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.profile-meta{flex-wrap:wrap;gap:1.25rem;display:flex}.meta-item{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.meta-icon{font-size:.95rem}.profile-tabs{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:0;display:flex}.profile-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.9rem 1.25rem;font-size:.9rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s,opacity .15s;display:flex}.profile-tab:hover{color:var(--text)}.profile-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-icon{font-size:1rem}.tab-badge{background:var(--accent);color:var(--cpt-black);border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.profile-content{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden}.profile-section{padding:1.75rem}.section-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.section-header h2{margin:0 0 .25rem;font-size:1.2rem}.section-description{color:var(--muted);margin:0;font-size:.9rem}.info-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.info-section-title{color:var(--accent);border-bottom:1px solid var(--border);margin:.5rem 0 0;padding-bottom:.5rem;font-size:.9rem;font-weight:600}.info-section-title.full-width{grid-column:1/-1}.form-section-title{color:var(--accent);border-bottom:1px solid var(--border);margin:.5rem 0;padding-bottom:.5rem;font-size:.9rem;font-weight:600}.form-section-title.full-width{grid-column:1/-1}.info-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.75rem;font-weight:600}.info-value{color:var(--text);font-size:1rem}.info-value .empty{color:var(--muted);font-style:italic}.role-badge{color:var(--accent-2);background:#7b98c926;border:1px solid #7b98c94d;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.blood-type-badge{color:var(--danger);background:#dc5a5426;border:1px solid #dc5a544d;border-radius:4px;padding:.2rem .5rem;font-size:.85rem;font-weight:700;display:inline-block}.member-number-badge{color:var(--accent-2);letter-spacing:.05em;background:linear-gradient(135deg,#7b98c933,#8b5cf633);border:1px solid #7b98c966;border-radius:6px;padding:.25rem .6rem;font-family:Roboto Mono,monospace;font-size:.9rem;font-weight:700;display:inline-block}.form-hint{color:var(--muted);margin-top:.25rem;font-size:.75rem;font-style:italic;display:block}.profile-form,.password-form{flex-direction:column;gap:1.25rem;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-field.full-width{grid-column:1/-1}.form-field label{font-family:var(--cpt-font-title);text-transform:uppercase;letter-spacing:.12em;color:var(--cpt-silver);font-size:.8125rem;font-weight:600}.form-field input{background:var(--cpt-black);border:1px solid var(--cpt-border);border-radius:var(--cpt-radius-sm);min-height:44px;color:var(--cpt-white);transition:border-color var(--cpt-transition);padding:.7rem .9rem;font-size:1rem}.form-field input:focus{border-color:var(--cpt-silver);outline:none}.form-field input::placeholder{color:var(--cpt-silver);opacity:.55}.security-card{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.security-card-header{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.security-icon{font-size:1.5rem}.security-card-header h3{margin:0 0 .25rem;font-size:1rem}.security-card-header p{color:var(--muted);margin:0;font-size:.85rem}.documents-grid{flex-direction:column;gap:.75rem;display:flex}.document-card{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1rem 1.25rem;transition:border-color .15s;display:flex}.document-card:hover{border-color:var(--accent)}.document-icon{font-size:1.5rem}.document-info{flex:1}.document-info h4{margin:0 0 .25rem;font-size:.95rem}.document-meta{gap:.75rem;margin:0;display:flex}.doc-category,.doc-type{color:var(--muted);font-size:.75rem}.empty-state{text-align:center;padding:3rem 1rem}.empty-icon{opacity:.6;margin-bottom:1rem;font-size:3rem;display:block}.empty-state h3{color:var(--text);margin:0 0 .5rem;font-size:1.1rem}.empty-state p{color:var(--muted);margin:0;font-size:.9rem}.cotisation-status-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem}.cotisation-status{border-radius:var(--radius-sm);align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.cotisation-status.valid{background:#8a9c761a;border:1px solid #8a9c764d}.cotisation-status.warning{background:#b8934e1a;border:1px solid #b8934e4d}.cotisation-status.expired{background:#dc5a541a;border:1px solid #dc5a544d}.cotisation-status .status-icon{flex-shrink:0;font-size:1.8rem}.cotisation-status .status-info strong{margin-bottom:.25rem;font-size:1.1rem;display:block}.cotisation-status .status-info p{color:var(--muted);margin:0;font-size:.9rem}.cotisation-status .status-info .days-remaining{color:var(--accent);font-weight:600}.cotisation-actions{text-align:center}.paypal-btn{align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;display:inline-flex}.paypal-btn .paypal-icon{font-size:1.2rem}.payment-note{color:var(--muted);margin-top:.75rem;font-size:.85rem}.cotisation-history{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem}.cotisation-history h3{margin:0 0 1rem;font-size:1.1rem}.cotisation-table{border-collapse:collapse;width:100%}.cotisation-table th,.cotisation-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem}.cotisation-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.cotisation-table tbody tr:hover{background:var(--surface-3)}.qualifications-section,.licenses-section{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem}.qualifications-section h3,.licenses-section h3{margin:0 0 1rem;font-size:1.1rem}.qualifications-grid,.licenses-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.qualification-badge,.license-badge{border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.qualification-badge.active,.license-badge.active{color:var(--accent);background:#8a9c7626;border:1px solid #8a9c7666}.qualification-badge.inactive,.license-badge.inactive{background:var(--surface);border:1px solid var(--border);color:var(--muted);opacity:.6}.section-note{color:var(--muted);margin:0;font-size:.85rem;font-style:italic}.qualifications-edit-section{gap:1.5rem;display:grid}.qualifications-edit-section .edit-group h4,.qualifications-display .info-group h4{color:var(--text);margin:0 0 .75rem;font-size:.95rem}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;display:grid}.checkbox-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.checkbox-item:hover{background:var(--surface-2);border-color:var(--accent)}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.qualifications-display{gap:1.5rem;display:grid}.qualifications-display .info-group{margin-bottom:0}.badge-list{flex-wrap:wrap;gap:.5rem;display:flex}.badge{border-radius:20px;align-items:center;padding:.35rem .75rem;font-size:.85rem;font-weight:500;display:inline-flex}.badge.success{color:var(--accent);background:#8a9c7626;border:1px solid #8a9c764d}.badge.info{color:var(--accent-2);background:#7b98c926;border:1px solid #7b98c94d}.profile-fir-tab .fir-content{gap:1.5rem;display:grid}.profile-fir-tab .fir-section{border-bottom:1px solid var(--border);padding-bottom:1rem}.profile-fir-tab .fir-section:last-child{border-bottom:none;padding-bottom:0}.profile-fir-tab .fir-section h3{color:var(--accent-2);margin:0 0 1rem;font-size:1rem}.info-item.full-width{grid-column:1/-1}@media (max-width:600px){.profile-header-card{text-align:center;flex-direction:column}.profile-subtitle,.profile-meta{justify-content:center}.profile-tabs{overflow-x:auto}.profile-tab{padding:.7rem 1rem;font-size:.85rem}.info-grid,.form-grid{grid-template-columns:1fr}.info-item.full-width,.form-field.full-width{grid-column:1}}.members-page{flex-direction:column;gap:1.5rem;display:flex}.members-stats{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.stat-card-large{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:1rem;padding:1.25rem 1.5rem;transition:transform .15s,box-shadow .15s;display:flex}.stat-card-large:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.stat-card-large .stat-icon{background:#ffffff0d;border-radius:12px;place-items:center;width:48px;height:48px;font-size:1.3rem;display:grid}.stat-card-large.success .stat-icon{color:var(--accent);background:#8a9c7626}.stat-card-large.warning .stat-icon{color:var(--amber);background:#b8934e26}.stat-card-large.danger .stat-icon{color:var(--danger);background:#dc5a5426}.stat-card-large .stat-content{flex-direction:column;display:flex}.stat-card-large .stat-value{font-size:1.8rem;font-weight:700;line-height:1}.stat-card-large .stat-label{color:var(--muted);margin-top:.25rem;font-size:.8rem}.members-toolbar{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.toolbar-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar-right{align-items:center;gap:1rem;display:flex}.search-box{align-items:center;display:flex;position:relative}.search-icon{opacity:.6;font-size:.9rem;position:absolute;left:.75rem}.search-box input{background:var(--cpt-graphite);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:250px;color:var(--cpt-white);padding:.6rem .75rem .6rem 2.25rem;font-size:.9rem}.search-box input:focus{border-color:var(--accent);outline:none}.filter-select{background:var(--cpt-graphite);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--cpt-white);cursor:pointer;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='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;padding:.6rem 2rem .6rem .75rem;font-size:.9rem}.filter-select option{background:var(--cpt-graphite);color:var(--cpt-white)}.results-count{color:var(--muted);font-size:.85rem}.members-table-wrapper{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.table-loading,.table-error,.table-empty{text-align:center;color:var(--muted);padding:3rem 1rem}.table-empty .empty-icon{opacity:.5;margin-bottom:1rem;font-size:3rem;display:block}.members-table{border-collapse:collapse;width:100%}.members-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);background:#0003;padding:.9rem 1rem;font-size:.75rem;font-weight:600}.members-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.members-table th.sortable:hover{color:var(--text)}.members-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.9rem 1rem}.members-table tbody tr:hover{background:#ffffff05}.members-table tbody tr:last-child td{border-bottom:none}.member-cell{align-items:center;gap:.75rem;display:flex}.member-avatar{background:linear-gradient(135deg,var(--accent),var(--accent-2));width:40px;height:40px;color:var(--cpt-black);border-radius:50%;flex-shrink:0;place-items:center;font-size:.85rem;font-weight:600;display:grid;position:relative;overflow:hidden}.member-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-warning-badge{background:var(--surface-2);border-radius:50%;place-items:center;width:16px;height:16px;font-size:.7rem;display:grid;position:absolute;bottom:-2px;right:-2px}.member-info{flex-direction:column;display:flex}.member-name{align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.incomplete-badge{opacity:.8;cursor:help;font-size:.75rem}.member-meta{color:var(--muted);font-size:.8rem}.member-meta strong{color:var(--accent)}.unit-group{align-items:center;gap:.5rem;display:flex}.group-tag{color:var(--accent-2);background:#7b98c926;border:1px solid #7b98c94d;border-radius:999px;padding:.15rem .4rem;font-size:.7rem}.readiness-cell{justify-content:center;align-items:center;gap:.75rem;display:flex}.readiness-bar{background:#ffffff1a;border-radius:999px;width:80px;height:6px;overflow:hidden}.readiness-fill{border-radius:999px;height:100%;transition:width .3s}.readiness-fill.readiness-high{background:linear-gradient(90deg,var(--accent),var(--ok))}.readiness-fill.readiness-mid{background:linear-gradient(90deg,var(--amber),var(--amber))}.readiness-fill.readiness-low{background:linear-gradient(90deg,var(--danger),var(--danger))}.readiness-value{min-width:40px;font-size:.85rem;font-weight:600}.readiness-value.readiness-high{color:var(--accent)}.readiness-value.readiness-mid{color:var(--amber)}.readiness-value.readiness-low{color:var(--danger)}.modules-badge{min-width:24px;height:24px;color:var(--accent-2);background:#7b98c926;border:1px solid #7b98c94d;border-radius:999px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.8rem;font-weight:600;display:inline-flex}.creation-result-banner{border-radius:var(--radius);background:#8a9c761a;border:1px solid #8a9c764d;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.result-content{align-items:center;gap:1rem;display:flex}.result-icon{width:40px;height:40px;color:var(--accent);background:#8a9c7633;border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.result-content p{margin:0}.result-content code{background:#0000004d;border-radius:4px;padding:.15rem .4rem;font-family:monospace;font-size:.9rem}.create-member-form{flex-direction:column;gap:1rem;display:flex}.form-row .form-field.full{grid-column:1/-1}.modal-header{margin-bottom:1.5rem}.modal-header h2{margin:0 0 .25rem;font-size:1.3rem}.modal-header .muted{margin:0}@media (max-width:1024px){.members-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.members-stats{grid-template-columns:1fr}.members-toolbar,.toolbar-left,.toolbar-right{flex-direction:column;align-items:stretch}.search-box input{min-width:100%}.members-table-wrapper{overflow-x:auto}.members-table{min-width:700px}.form-row{grid-template-columns:1fr}}.member-profile-page{flex-direction:column;gap:1.5rem;max-width:1000px;margin:0 auto;display:flex}.profile-back{margin-bottom:.5rem}.profile-loading,.profile-error{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3rem 1rem}.profile-error h2{margin:0 0 .5rem}.profile-error p{color:var(--muted);margin:0 0 1.5rem}.profile-status{margin-left:auto}.profile-stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.profile-stats-grid .stat-card-large{flex-direction:column;align-items:flex-start;gap:.75rem}.profile-stats-grid .stat-card-large .stat-content{width:100%}.readiness-bar.large{width:100%;height:8px;margin-top:.5rem}.profile-details-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem}.profile-details-card h2{margin:0 0 1.5rem;font-size:1.2rem}@media (max-width:900px){.profile-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.profile-stats-grid{grid-template-columns:1fr}.profile-header-card{text-align:center;flex-direction:column}.profile-status{margin-top:1rem;margin-left:0}}.member-detail-page{max-width:1400px;margin:0 auto;padding:2rem}.member-detail-page h1{align-items:center;gap:1rem;margin-bottom:2rem;font-size:1.8rem;display:flex}.member-detail-page h1 .status-badge{border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.member-detail-page h1 .status-badge.active{color:var(--ok);background:#8a9c7633}.member-detail-page h1 .status-badge.inactive{color:var(--danger);background:#dc5a5433}.member-detail-stats{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.detail-stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;border-radius:12px;padding:1.5rem}.detail-stat-card .stat-value{color:var(--text-primary);margin-bottom:.25rem;font-size:2rem;font-weight:700}.detail-stat-card .stat-label{color:var(--text-secondary);font-size:.85rem}.member-detail-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.member-detail-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.member-detail-section h2{border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.1rem;display:flex}.member-info-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.info-item{flex-direction:column;gap:.25rem;display:flex}.info-item label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.info-item span{color:var(--text-primary);font-size:.95rem;font-weight:500}.module-progress-list{flex-direction:column;gap:1rem;max-height:400px;display:flex;overflow-y:auto}.module-progress-card{background:var(--bg-tertiary);border-radius:8px;padding:1rem}.module-progress-card h4{align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.95rem;display:flex}.module-progress-card .progress-bar-container{background:#ffffff1a;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.module-progress-card .progress-bar{background:linear-gradient(90deg,var(--info),var(--ok));border-radius:4px;height:100%;transition:width .3s}.module-progress-card .progress-info{color:var(--text-secondary);justify-content:space-between;font-size:.8rem;display:flex}.module-progress-card .progress-info span:first-child{color:var(--text-primary);font-weight:600}.timeline{flex-direction:column;gap:1rem;max-height:400px;display:flex;overflow-y:auto}.timeline-item{gap:1rem;padding-left:1rem;display:flex;position:relative}.timeline-item:before{content:"";background:var(--accent-color);border-radius:50%;width:8px;height:8px;position:absolute;top:.5rem;left:0}.timeline-item:after{content:"";background:var(--border-color);width:2px;height:calc(100% + .5rem);position:absolute;top:1rem;left:3px}.timeline-item:last-child:after{display:none}.timeline-content{flex:1}.timeline-content p{margin-bottom:.25rem;font-size:.9rem}.timeline-content .timeline-date{color:var(--text-secondary);font-size:.75rem}.quick-actions-section{margin-top:2rem}.quick-actions-section h2{margin-bottom:1rem;font-size:1.1rem}.quick-actions-grid{flex-wrap:wrap;gap:1rem;display:flex}.quick-actions-grid button{cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.quick-actions-grid button.primary{background:var(--accent-color);color:#fff;border:none}.quick-actions-grid button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7b98c94d}.quick-actions-grid button.secondary{border:1px solid var(--border-color);color:var(--text-primary);background:0 0}.quick-actions-grid button.secondary:hover{background:var(--bg-tertiary)}.quick-actions-grid button.danger{border:1px solid var(--danger);color:var(--danger);background:0 0}.quick-actions-grid button.danger:hover{background:#dc5a541a}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem}.empty-state p{font-size:.95rem}@media (max-width:1024px){.member-detail-stats{grid-template-columns:repeat(2,1fr)}.member-detail-grid{grid-template-columns:1fr}}@media (max-width:600px){.member-detail-page{padding:1rem}.member-detail-stats,.member-info-grid{grid-template-columns:1fr}.quick-actions-grid{flex-direction:column}.quick-actions-grid button{justify-content:center;width:100%}}.section-header-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.section-header-row h2{border:none;margin:0;padding:0}.edit-form-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.edit-form-grid .form-group{flex-direction:column;gap:.4rem;display:flex}.edit-form-grid .form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.edit-form-grid .form-group input[type=text],.edit-form-grid .form-group select{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);border-radius:8px;padding:.65rem .85rem;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.edit-form-grid .form-group input[type=text]:focus,.edit-form-grid .form-group select:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #7b98c926}.edit-form-grid .form-group input::placeholder{color:var(--text-muted)}.edit-form-grid .checkbox-group{flex-direction:row;align-items:center}.edit-form-grid .checkbox-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:.6rem;font-size:.9rem;display:flex}.edit-form-grid .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-color);cursor:pointer}.edit-form-grid .form-actions{border-top:1px solid var(--border-color);grid-column:1/-1;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.edit-form-grid .form-actions button{cursor:pointer;border-radius:8px;padding:.6rem 1.5rem;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.edit-form-grid .form-actions button:disabled{opacity:.6;cursor:not-allowed}.alert{border-radius:8px;padding:.75rem 1rem;font-size:.9rem}.alert.error{color:var(--danger);background:#dc5a5426;border:1px solid #dc5a544d}.alert.success{color:var(--ok);background:#8a9c7626;border:1px solid #8a9c764d}.edit-form-grid .form-group select,.edit-form-grid .form-group select option{background-color:var(--cpt-graphite)!important;color:var(--cpt-white)!important}.edit-form-grid .form-group select:focus{background-color:var(--cpt-graphite)!important}.profile-main-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}.profile-left-column,.profile-right-column{flex-direction:column;gap:1.5rem;display:flex}.profile-section-card.details-card{border:2px solid var(--accent-color);background:linear-gradient(135deg,var(--bg-secondary)0%,#7b98c90d 100%)}.profile-section-card.modules-card{max-height:600px;overflow-y:auto}.info-grid.compact{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.info-grid.compact .info-item{background:var(--bg-tertiary);border-radius:8px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.info-grid.compact .info-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.info-grid.compact .info-value{color:var(--text-primary);font-size:.95rem;font-weight:500}.info-grid.compact .info-value .empty{color:var(--text-muted);font-style:italic;font-weight:400}@media (max-width:1024px){.profile-main-grid{grid-template-columns:1fr}.profile-section-card.modules-card{max-height:400px}}.profile-tabs{background:var(--surface-2);border-radius:var(--radius-lg);border:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding:.5rem;display:flex}.profile-tabs .tab-btn{color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.profile-tabs .tab-btn:hover{background:var(--surface-3);color:var(--text)}.profile-tabs .tab-btn.active{background:var(--accent);color:#fff}.profile-tab-content{margin-top:1.5rem}.profile-edition-tab,.profile-documents-tab,.profile-modules-tab,.profile-courses-tab{flex-direction:column;gap:1.5rem;display:flex}.courses-summary{gap:1rem;margin-bottom:1.5rem;display:flex}.courses-summary .summary-item{background:var(--surface-3);border-radius:var(--radius-sm);flex-direction:column;gap:.25rem;padding:1rem 1.5rem;display:flex}.courses-summary .summary-item.success{background:#8a9c761a;border:1px solid #8a9c764d}.courses-summary .summary-value{color:var(--text);font-size:1.5rem;font-weight:700}.courses-summary .summary-item.success .summary-value{color:var(--accent)}.courses-summary .summary-label{color:var(--muted);font-size:.85rem}.courses-list{flex-direction:column;gap:1rem;display:flex}.course-progress-card{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.25rem}.course-progress-card .course-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.course-progress-card .course-info h4{margin:0 0 .5rem;font-size:1rem}.course-progress-card .course-category{font-size:.75rem}.course-progress-bar{margin-bottom:1rem}.course-progress-bar .progress-bar-track{background:var(--surface-1);border-radius:4px;width:100%;height:8px;overflow:hidden}.course-progress-bar .progress-bar-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.course-progress-bar .progress-text{color:var(--muted);margin-top:.5rem;font-size:.85rem;display:block}.quiz-scores{background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:1rem;padding:1rem}.quiz-scores h5{color:var(--text);margin:0 0 .75rem;font-size:.9rem}.quiz-scores-list{flex-direction:column;gap:.5rem;display:flex}.quiz-score-item{background:var(--surface-1);border-radius:var(--radius-xs);align-items:center;gap:.75rem;padding:.5rem;display:flex}.quiz-score-item .quiz-title{flex:1;font-size:.85rem}.quiz-score-item .quiz-score{border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-weight:600}.quiz-score-item .quiz-score.pass{color:var(--accent);background:#8a9c7633}.quiz-score-item .quiz-score.fail{color:var(--danger);background:#dc5a5433}.quiz-score-item .quiz-score.pending{background:var(--surface-3);color:var(--muted);font-weight:400}.quiz-score-item .quiz-attempts{font-size:.75rem}.course-progress-card .course-dates{flex-wrap:wrap;gap:.5rem;display:flex}.profile-presence-tab .profile-section-card h2{margin-bottom:1.5rem}.presence-summary{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:1.25rem;display:flex}.presence-summary .summary-item{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:1;align-items:center;min-width:100px;padding:.75rem;display:flex}.presence-summary .summary-value{color:var(--text);font-size:1.75rem;font-weight:700}.presence-summary .summary-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem;font-size:.75rem}.presence-summary .summary-item.success .summary-value{color:var(--success)}.presence-summary .summary-item.warning .summary-value{color:var(--warning)}.presence-summary .summary-item.danger .summary-value{color:var(--danger)}.presence-summary .summary-item.info .summary-value{color:var(--info)}.presence-summary .summary-item.accent .summary-value{color:var(--accent)}.attendance-list{flex-direction:column;gap:.75rem;display:flex}.attendance-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.attendance-card:hover{border-color:var(--accent);background:var(--surface-2)}.attendance-card.present{border-left:4px solid var(--success)}.attendance-card.absent{border-left:4px solid var(--danger)}.attendance-card.late{border-left:4px solid var(--warning)}.attendance-card.excused{border-left:4px solid var(--info)}.attendance-card.pending{border-left:4px solid var(--muted)}.attendance-status{min-width:100px}.attendance-status .status-badge{border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.attendance-status .status-badge.success{color:var(--success);background:#8a9c7626}.attendance-status .status-badge.danger{color:var(--danger);background:#dc5a5426}.attendance-status .status-badge.warning{color:var(--warning);background:#b8934e26}.attendance-status .status-badge.info{color:var(--info);background:#7b98c926}.attendance-status .status-badge.muted{color:var(--muted);background:#56534c26}.attendance-event{flex-direction:column;flex:1;gap:.25rem;display:flex}.attendance-event .event-title{color:var(--text);font-weight:600}.attendance-event .event-date,.attendance-event .event-location{font-size:.85rem}.attendance-notes{background:var(--surface-2);border-radius:6px;width:100%;margin-top:.5rem;padding:.5rem .75rem;font-style:italic}.attendance-paf{background:var(--surface-2);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;padding:.5rem .75rem;display:flex}.paf-badge{border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.paf-badge.paid{color:var(--success);background:#8a9c7626}.paf-badge.pending{color:var(--warning);background:#b8934e26}.paf-badge.unpaid{color:var(--danger);background:#dc5a5426}.attendance-paf .paf-pay-btn{padding:.35rem .75rem;font-size:.8rem}@media (max-width:768px){.presence-summary{gap:.5rem}.presence-summary .summary-item{min-width:80px;padding:.5rem}.presence-summary .summary-value{font-size:1.25rem}.attendance-card{flex-direction:column;align-items:flex-start}}.profile-presence-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.profile-presence-section h3{color:var(--text);margin:0 0 1.5rem;font-size:1.25rem}.profile-presence-section h4{color:var(--text);margin:1.5rem 0 1rem;font-size:1rem}.profile-presence-section .pending-events{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin-bottom:2rem;padding:1rem}.profile-presence-section .pending-events h4{color:var(--accent);margin:0 0 1rem}.profile-presence-section .loading-state{text-align:center;color:var(--muted);padding:2rem}.profile-presence-section .empty-state{text-align:center;padding:2rem}.profile-presence-section .empty-icon{margin-bottom:.5rem;font-size:2.5rem;display:block}.profile-presence-section .empty-state h4{color:var(--text);margin:.5rem 0}.profile-presence-section .empty-state p{color:var(--muted);margin:0}@media (max-width:768px){.profile-tabs{justify-content:center}.profile-tabs .tab-btn{padding:.5rem 1rem;font-size:.85rem}.courses-summary{flex-direction:column}}.profile-loadouts-tab .profile-section-card h2{margin-bottom:1.5rem}.loadouts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.loadout-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.loadout-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #00000026}.loadout-card.default{border-color:var(--warning);background:linear-gradient(135deg,var(--surface),#b8934e0d)}.loadout-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.loadout-card-header h3{color:var(--text);align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600;display:flex}.loadout-card-header .default-badge{color:var(--warning);font-size:.9rem}.loadout-card-header .item-count{color:var(--muted);background:var(--surface-2);border-radius:12px;padding:.25rem .6rem;font-size:.8rem}.loadout-description{margin-bottom:1rem;font-size:.9rem;line-height:1.4}.loadout-items-preview{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.item-preview{background:var(--surface-2);border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.item-preview .item-type-icon{text-align:center;min-width:24px;font-size:1.1rem}.item-preview .item-info{flex-direction:column;flex:1;gap:.15rem;display:flex}.item-preview .item-info strong{color:var(--text);font-weight:600}.item-preview.primary{border-left:3px solid var(--accent)}.item-preview.secondary{border-left:3px solid var(--info)}.item-preview.gear{border-left:3px solid var(--success)}.item-preview.misc{border-left:3px solid var(--muted)}.loadout-card-footer{border-top:1px solid var(--border);padding-top:.75rem}@media (max-width:768px){.loadouts-grid{grid-template-columns:1fr}.loadout-card-header{flex-direction:column;gap:.5rem}.edit-form-grid{grid-template-columns:1fr}.section-header-row{flex-direction:column;align-items:flex-start;gap:.75rem}.info-grid.compact{grid-template-columns:1fr}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-header h3{margin:0;font-size:1.25rem}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.5rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{margin-bottom:1.5rem}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-group label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.modal-body .form-group select,.modal-body .form-group input,.modal-body .form-group textarea{border:1px solid var(--border-color);background:var(--cpt-graphite);width:100%;color:var(--cpt-white);border-radius:8px;padding:.65rem .85rem;font-size:.9rem}.modal-body .form-group select option{background-color:var(--cpt-graphite);color:var(--cpt-white)}.modal-body .form-group textarea{resize:vertical;min-height:80px}.modal-body .form-hint{margin-top:.35rem;font-size:.8rem}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.module-item.clickable{cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.module-item.clickable:hover{background:var(--bg-tertiary);transform:translate(4px)}.module-item-info{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.module-title{font-weight:500}.module-level.badge{color:var(--info);text-transform:uppercase;letter-spacing:.5px;background:#7b98c933;border-radius:4px;padding:.2rem .5rem;font-size:.7rem}.edit-hint{opacity:0;font-size:.85rem;transition:opacity .2s}.module-item.clickable:hover .edit-hint{opacity:1}.modal-title-main{margin-right:.75rem}.modal-title-badge{color:var(--info);text-transform:uppercase;vertical-align:middle;background:#7b98c933;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:500}.progress-edit-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.progress-edit-left,.progress-edit-right{flex-direction:column;gap:1rem;display:flex}.progress-edit-right>label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:500}.progress-summary{background:var(--bg-tertiary);border-radius:8px;margin-top:.5rem;padding:1rem}.progress-summary-item{align-items:center;gap:1rem;display:flex}.progress-summary-item .label{color:var(--text-secondary);min-width:140px;font-size:.85rem}.progress-summary-item .readiness-bar.large{flex:1;height:10px}.progress-summary-item .value{text-align:right;min-width:45px;font-weight:600}.checklist-container{border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:8px;max-height:350px;padding:.75rem;overflow-y:auto}.checklist-step{margin-bottom:.75rem}.checklist-step:last-child{margin-bottom:0}.checklist-item{cursor:pointer;align-items:flex-start;gap:.6rem;padding:.4rem 0;display:flex}.checklist-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-color);cursor:pointer;flex-shrink:0;margin-top:2px}.checklist-item.step-item{font-weight:500}.checklist-item.step-item .step-title{color:var(--text-primary)}.checklist-substeps{border-left:2px solid var(--border-color);margin-left:1.75rem;padding-left:.75rem}.checklist-item.substep-item{color:var(--text-secondary);font-size:.9rem}.checklist-item.substep-item span{transition:color .2s}.checklist-item input:checked+span{color:var(--text-primary);opacity:.7;text-decoration:line-through}@media (max-width:768px){.progress-edit-grid{grid-template-columns:1fr}.checklist-container{max-height:250px}}.qualification-section{border-radius:var(--radius);background:linear-gradient(135deg,#8a9c7614,#7b98c914);border:1px solid #8a9c7633;margin-top:1rem;padding:1.25rem}.qualification-section h4{color:var(--text);margin-bottom:.5rem;font-size:1rem;font-weight:600}.qualification-description{margin-bottom:1rem;font-size:.85rem;line-height:1.5}.qual-select{transition:border-color .2s}.qual-select.qual-passed{border-color:var(--accent)!important}.qual-select.qual-failed{border-color:var(--danger)!important}.qual-select.qual-retest{border-color:var(--amber)!important}.current-qualification{border-top:1px dashed var(--border);align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;font-size:.85rem;display:flex}.current-qual-label{color:var(--muted)}.qual-badge{border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.qual-badge.passed{color:var(--accent);background:#8a9c7626}.qual-badge.failed{color:var(--danger);background:#dc5a5426}.qual-badge.retest{color:var(--amber);background:#b8934e26}.qual-date{color:var(--muted);font-size:.8rem}.qual-indicator{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:inline-flex}.qual-indicator.passed{color:var(--accent);background:#8a9c7633}.qual-indicator.failed{color:var(--danger);background:#dc5a5433}.qual-indicator.retest{color:var(--amber);background:#b8934e33}.documents-card{background:var(--surface)}.documents-list{flex-direction:column;gap:.75rem;display:flex}.document-item{background:var(--bg-alt);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.document-item:hover{border-color:var(--border-strong);background:var(--surface-2)}.document-info{flex:1;min-width:0}.document-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-weight:500;display:block;overflow:hidden}.document-meta{color:var(--muted);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.document-category.badge{background:var(--surface-3);color:var(--accent-2);text-transform:uppercase;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.document-actions{flex-shrink:0;gap:.5rem;display:flex}.document-actions .btn.ghost.small{padding:.35rem .65rem;font-size:.8rem}.document-actions .btn.danger.small{color:var(--danger);background:#dc5a5426;border:1px solid #dc5a544d;padding:.35rem .5rem;font-size:.8rem}.document-actions .btn.danger.small:hover{background:#dc5a5440}.modal-body input[type=file]{background:var(--bg-alt);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;padding:.75rem}.modal-body input[type=file]:hover{border-color:var(--accent)}.modal-body input[type=file]::file-selector-button{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:6px;margin-right:1rem;padding:.5rem 1rem;font-weight:500}.modal-body input[type=file]::file-selector-button:hover{background:var(--accent-2)}.member-documents-page{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.docs-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.docs-header-content h1{margin:0 0 .25rem;font-size:1.75rem}.docs-header-content .muted{margin:0}.docs-stats-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.docs-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1.25rem;display:flex}.docs-stat-card .stat-icon{font-size:2rem}.docs-stat-card .stat-info{flex-direction:column;display:flex}.docs-stat-card .stat-value{color:var(--text);font-size:1.5rem;font-weight:600}.docs-stat-card .stat-label{color:var(--muted);font-size:.85rem}.docs-tabs{border-bottom:2px solid var(--border);gap:.5rem;padding-bottom:0;display:flex}.docs-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.25rem;font-size:.95rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.docs-tab:hover{color:var(--text)}.docs-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.docs-tab .tab-icon{font-size:1.1rem}.docs-tab .tab-count{background:var(--surface-2);border-radius:10px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.docs-tab.active .tab-count{color:var(--accent);background:#8a9c7633}.docs-content{min-height:300px}.docs-empty-state{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.docs-empty-state .empty-icon{opacity:.5;margin-bottom:1rem;font-size:4rem}.docs-empty-state h3{color:var(--text);margin:0 0 .5rem}.docs-empty-state .muted{margin:0 0 1.5rem}.docs-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:1rem;padding:1.25rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.doc-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.doc-card-icon{flex-shrink:0;font-size:2.5rem}.doc-card-content{flex:1;min-width:0}.doc-card-content .doc-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .35rem;font-size:1rem;font-weight:600;overflow:hidden}.doc-card-content .doc-meta{color:var(--muted);gap:.35rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.doc-card-content .doc-category{color:var(--accent-2)}.doc-card-content .doc-description{color:var(--muted-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:.5rem 0;font-size:.85rem;display:-webkit-box;overflow:hidden}.doc-card-content .doc-footer{color:var(--muted);font-size:.75rem}.doc-card-actions{flex-direction:column;justify-content:center;gap:.5rem;display:flex}.docs-categories-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.docs-category-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.docs-category-card .category-header{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.docs-category-card .category-header h3{margin:0;font-size:1.1rem}.docs-category-card .category-count{color:var(--muted);background:var(--bg-alt);border-radius:10px;padding:.2rem .6rem;font-size:.8rem}.category-docs-list{margin:0;padding:0;list-style:none}.category-doc-item{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.875rem 1.25rem;transition:background .15s;display:flex}.category-doc-item:last-child{border-bottom:none}.category-doc-item:hover{background:var(--bg-alt)}.doc-item-icon{flex-shrink:0;font-size:1.5rem}.doc-item-info{flex:1;min-width:0}.doc-item-title{color:var(--text);word-wrap:break-word;overflow-wrap:break-word;font-weight:500;display:block}.doc-item-sub{color:var(--muted);font-size:.8rem;display:block}.doc-item-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.visibility-badge{text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.visibility-badge.all{color:var(--accent);background:#8a9c7626}.visibility-badge.member{color:var(--accent-2);background:#7b98c926}.visibility-badge.instructor{color:var(--amber);background:#b8934e26}.upload-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-alt);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-bottom:1.5rem;padding:2rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.upload-dropzone:hover{border-color:var(--accent);background:#8a9c760d}.upload-dropzone.has-file{border-style:solid;border-color:var(--accent);background:#8a9c761a}.upload-dropzone .dropzone-icon{opacity:.6;margin-bottom:.5rem;font-size:3rem}.upload-dropzone p{color:var(--text);margin:0 0 .25rem}.upload-dropzone .dropzone-hint{color:var(--muted);font-size:.8rem}.dropzone-file{align-items:center;gap:1rem;width:100%;display:flex}.dropzone-file .file-icon{font-size:2.5rem}.dropzone-file .file-info{text-align:left;flex:1}.dropzone-file .file-name{color:var(--text);word-break:break-all;font-weight:500;display:block}.dropzone-file .file-size{color:var(--muted);font-size:.8rem}.dropzone-file .remove-file{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.2rem;line-height:1;display:flex}.dropzone-file .remove-file:hover{opacity:.8}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.pdf-preview-body{min-height:500px;padding:0}.pdf-preview-frame{border-radius:var(--radius-sm);border:none;width:100%;height:60vh;min-height:400px}.preview-unavailable{height:200px;color:var(--muted);justify-content:center;align-items:center;display:flex}@media (max-width:768px){.docs-page-header{flex-direction:column;align-items:stretch}.docs-tabs{overflow-x:auto}.docs-grid,.docs-categories-grid{grid-template-columns:1fr}}.elearning-admin{grid-template-columns:320px 1fr;gap:0;min-height:100%;display:grid}.elearning-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.elearning-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.elearning-sidebar-header h2{margin:0;font-size:1.1rem;font-weight:600}.elearning-course-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.elearning-course-list li{border-bottom:1px solid var(--border)}.elearning-course-list li.active{background:var(--surface-2)}.elearning-course-list button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:1rem 1.5rem;transition:background .15s}.elearning-course-list button:hover{background:var(--surface-2)}.course-item-main{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.course-item-main strong{font-size:.95rem}.course-item-meta{color:var(--muted);gap:.75rem;font-size:.75rem;display:flex}.elearning-main{padding:2rem;overflow-y:auto}.elearning-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.welcome-icon{margin-bottom:1rem;font-size:4rem}.elearning-welcome h2{margin-bottom:.5rem;font-size:1.5rem}.elearning-welcome .muted{margin-bottom:1.5rem}.elearning-course-editor{max-width:1000px}.course-editor-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.course-title-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.course-title-row h1{margin:0;font-size:1.75rem}.course-badges{gap:.5rem;display:flex}.level-chip{background:var(--accent-2);color:var(--bg);text-transform:uppercase;border-radius:999px;padding:.25rem .75rem;font-size:.7rem;font-weight:600}.course-description{color:var(--muted);margin-bottom:1rem}.course-objectives{background:var(--surface-2);border-radius:var(--radius-sm);padding:1rem;font-size:.85rem}.course-objectives strong{margin-bottom:.5rem;display:block}.course-objectives ul{margin:0;padding-left:1.5rem}.course-objectives li{margin-bottom:.25rem}.course-actions{flex-shrink:0;gap:.5rem;display:flex}.course-stats-bar{background:var(--surface);border-radius:var(--radius);gap:2rem;margin-bottom:2rem;padding:1.5rem;display:flex}.course-stats-bar .stat{text-align:center}.course-stats-bar .stat-value{color:var(--accent);font-size:1.75rem;font-weight:700;display:block}.course-stats-bar .stat-label{color:var(--muted);text-transform:uppercase;font-size:.75rem}.chapters-section .section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.chapters-section h2{margin:0;font-size:1.2rem}.chapters-list{flex-direction:column;gap:1rem;display:flex}.chapter-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.chapter-header{cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:background .15s;display:flex}.chapter-header:hover{background:var(--surface-2)}.chapter-toggle{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.toggle-icon{color:var(--muted);font-size:.75rem}.chapter-number{color:var(--accent);text-transform:uppercase;font-size:.75rem;font-weight:600}.chapter-info{flex:1}.chapter-info h3{margin:0;font-size:1rem}.chapter-info .muted{margin-top:.25rem}.chapter-meta{flex-shrink:0;align-items:center;gap:1rem;display:flex}.lesson-count{color:var(--muted);font-size:.8rem}.chapter-content{border-top:1px solid var(--border);background:var(--bg-alt)}.lessons-list{margin:0;padding:0;list-style:none}.lesson-item{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem 1.5rem .75rem 3rem;transition:background .15s;display:flex}.lesson-item:last-child{border-bottom:none}.lesson-item:hover{background:var(--surface)}.lesson-icon{font-size:1.2rem}.lesson-info{flex:1;align-items:center;gap:.5rem;display:flex}.lesson-number{color:var(--muted);font-size:.85rem}.lesson-type-badge{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.15rem .5rem;font-size:.65rem}.lesson-actions{align-items:center;gap:.25rem;display:flex}.add-lesson-btn{margin:.5rem 1.5rem .5rem 3rem}.elearning-catalog{padding:0}.catalog-hero{background:linear-gradient(135deg,var(--surface)0%,var(--surface-2)100%);border-radius:var(--radius-lg);margin-bottom:2rem;padding:3rem 2rem;position:relative;overflow:hidden}.catalog-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#8a9c761a 0%,#0000 60%);width:60%;height:200%;position:absolute;top:-50%;right:-20%}.hero-content{z-index:1;position:relative}.catalog-hero h1{margin:0 0 .5rem;font-size:2.25rem}.hero-subtitle{color:var(--muted);margin-bottom:2rem;font-size:1.1rem}.hero-stats{gap:3rem;display:flex}.hero-stat{text-align:center}.hero-stat .stat-value{color:var(--accent);font-size:2rem;font-weight:700;display:block}.hero-stat .stat-label{color:var(--muted);font-size:.85rem}.catalog-section{margin-bottom:2.5rem;padding:0 1rem}.catalog-section h2{margin-bottom:1rem;font-size:1.25rem}.catalog-section .section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.catalog-filters{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);min-width:200px;padding:.5rem 1rem}.courses-carousel{scroll-snap-type:x mandatory;gap:1.5rem;padding-bottom:1rem;display:flex;overflow-x:auto}.courses-carousel .course-card{scroll-snap-align:start;flex-shrink:0;width:300px}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.course-card{background:var(--surface);border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);transition:transform .2s,box-shadow .2s;overflow:hidden}.course-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-4px)}.course-card.completed{border-color:var(--accent)}.course-card-header{background:var(--surface-2);justify-content:center;align-items:center;height:140px;display:flex;position:relative}.course-cover{object-fit:cover;width:100%;height:100%}.course-cover-placeholder{opacity:.3;font-size:3rem}.completed-badge{background:var(--accent);color:var(--bg);border-radius:999px;padding:.25rem .75rem;font-size:.7rem;font-weight:600;position:absolute;top:.75rem;right:.75rem}.course-progress-ring{background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:absolute;top:.5rem;right:.5rem}.course-progress-ring svg{width:44px;height:44px;transform:rotate(-90deg)}.course-progress-ring .ring-bg{fill:none;stroke:var(--surface-2);stroke-width:3px}.course-progress-ring .ring-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.course-progress-ring .ring-text{color:var(--accent);font-size:.6rem;font-weight:700;position:absolute}.course-card-body{padding:1rem}.course-meta{gap:.5rem;margin-bottom:.75rem;display:flex}.course-card-body h3{margin:0 0 .5rem;font-size:1rem;line-height:1.3}.course-stats{color:var(--muted);gap:1rem;margin-top:.75rem;font-size:.75rem;display:flex}.course-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.course-card-footer .enroll-btn{text-align:center;width:100%}.lesson-progress{color:var(--muted);font-size:.8rem}.progress-bar{background:var(--surface-2);border-radius:999px;flex:1;height:4px;margin-right:.75rem;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.progress-text{color:var(--accent);flex-shrink:0;font-size:.75rem}.elearning-course{max-width:1100px;margin:0 auto}.course-header{margin-bottom:2rem}.back-btn{margin-bottom:1rem}.course-header-content{background:var(--surface);border-radius:var(--radius-lg);grid-template-columns:1fr 280px;gap:2rem;padding:2rem;display:grid}.course-header-info .course-meta-row{gap:.5rem;margin-bottom:1rem;display:flex}.course-header-info h1{margin:0 0 .75rem;font-size:1.75rem}.course-header-info .course-description{font-size:.95rem;line-height:1.6}.course-objectives{background:var(--surface-2);border-radius:var(--radius-sm);margin-top:1.5rem;padding:1rem}.course-objectives h4{margin:0 0 .75rem;font-size:.9rem}.course-objectives ul{margin:0;padding:0;list-style:none}.course-objectives li{color:var(--muted);margin-bottom:.35rem;font-size:.85rem}.course-header-stats{flex-direction:column;align-items:center;display:flex}.progress-card{text-align:center}.progress-circle{width:120px;height:120px;margin:0 auto 1rem;position:relative}.progress-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle .bg{fill:none;stroke:var(--surface-2);stroke-width:8px}.progress-circle .fill{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;transition:stroke-dasharray .5s}.progress-circle .percent{color:var(--accent);font-size:1.5rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-info p{color:var(--muted);margin-bottom:1rem;font-size:.9rem}.completed-tag{background:var(--accent);color:var(--bg);border-radius:var(--radius-sm);padding:.5rem 1rem;font-weight:600;display:inline-block}.course-content h2{margin-bottom:1rem;font-size:1.25rem}.chapters-accordion{flex-direction:column;gap:1rem;display:flex}.chapter-item{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.chapter-item.completed{border-color:var(--accent)}.chapter-item .chapter-header{background:var(--surface);align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.chapter-item .chapter-number{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--accent);text-transform:uppercase;padding:.25rem .75rem;font-size:.7rem}.chapter-item .chapter-header h3{flex:1;margin:0;font-size:1rem}.chapter-progress{color:var(--muted);font-size:.8rem}.check-icon{color:var(--accent);font-size:1.25rem}.chapter-item .lessons-list{border-top:1px solid var(--border)}.chapter-item .lesson-item{cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:background .15s;display:flex}.chapter-item .lesson-item:hover{background:var(--surface-2)}.chapter-item .lesson-item.completed{opacity:.7}.chapter-item .lesson-item.completed .lesson-icon{color:var(--accent)}.chapter-item .lesson-icon{text-align:center;width:28px;font-size:1.2rem}.chapter-item .lesson-number{color:var(--muted);font-size:.85rem}.chapter-item .lesson-title{flex:1;font-size:.95rem}.chapter-item .lesson-duration{color:var(--muted);font-size:.8rem}.elearning-lesson{max-width:900px;margin:0 auto}.lesson-header{margin-bottom:2rem}.lesson-header-info{background:var(--surface);border-radius:var(--radius);padding:1.5rem 2rem}.elearning-lesson .lesson-type-badge{background:var(--surface-2);border-radius:999px;margin-bottom:.75rem;padding:.35rem 1rem;font-size:.8rem;display:inline-block}.lesson-header-info h1{margin:0;font-size:1.5rem}.lesson-content{background:var(--surface);border-radius:var(--radius);overflow:hidden}.video-container{background:#000;width:100%;padding-top:56.25%;position:relative}.video-container iframe,.video-container video{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.lesson-article{padding:2rem;font-size:1rem;line-height:1.7}.lesson-article h1,.lesson-article h2,.lesson-article h3{margin-top:1.5rem;margin-bottom:.75rem}.lesson-article p{margin-bottom:1rem}.lesson-article ul,.lesson-article ol{margin-bottom:1rem;padding-left:1.5rem}.lesson-article code{background:var(--surface-2);border-radius:4px;padding:.15rem .4rem;font-size:.9em}.lesson-article pre{background:var(--bg-alt);border-radius:var(--radius-sm);margin-bottom:1rem;padding:1rem;overflow-x:auto}.lesson-article pre code{background:0 0;padding:0}.quiz-container{padding:2rem}.quiz-container h2{margin-bottom:.5rem;font-size:1.25rem}.quiz-question{background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:1.5rem;padding:1.5rem}.quiz-question h4{color:var(--accent);margin:0 0 .75rem;font-size:.85rem}.quiz-question>p{margin-bottom:1rem;font-size:1.05rem}.quiz-options{flex-direction:column;gap:.5rem;display:flex}.quiz-options label{background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background .15s,border-color .15s;display:flex}.quiz-options label:hover{background:var(--surface-3)}.quiz-options label.selected{border-color:var(--accent);background:#8a9c761a}.quiz-options input{accent-color:var(--accent)}.quiz-result{text-align:center;padding:2rem}.quiz-result h2{margin-bottom:.5rem;font-size:1.5rem}.quiz-result.success h2{color:var(--accent)}.quiz-result.failed h2{color:var(--danger)}.quiz-result .score{margin-bottom:1rem;font-size:2rem;font-weight:700}.quiz-result.success .score{color:var(--accent)}.quiz-result.failed .score{color:var(--danger)}.quiz-actions{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.quiz-actions .action-prompt{color:var(--text);margin-bottom:1rem;font-weight:500}.quiz-actions .action-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.quiz-actions .action-buttons .btn{min-width:180px}.correct-answers{text-align:left;background:var(--surface-2);border-radius:var(--radius-sm);margin-top:1.5rem;padding:1.5rem}.correct-answers h4{margin-bottom:1rem}.answer-item{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:1rem}.answer-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.answer-item.correct{border-left:3px solid var(--accent);padding-left:1rem}.answer-item.incorrect{border-left:3px solid var(--danger);padding-left:1rem}.answer-item .question-text{margin-bottom:.5rem}.answer-item .user-answer{margin:.25rem 0}.answer-item .user-answer.correct{color:var(--accent);border:none;padding:0}.answer-item .user-answer.incorrect{color:var(--danger);border:none;padding:0}.answer-item .correct-answer{color:var(--accent);margin:.25rem 0;font-weight:500}.answer-item .correct{color:var(--accent);margin-top:.25rem}.answer-item .explanation{color:var(--muted);background:var(--surface-3);border-radius:var(--radius-xs);margin-top:.5rem;padding:.5rem;font-size:.85rem;font-style:italic}.quiz-final-actions{border-top:1px solid var(--border);text-align:center;margin-top:1.5rem;padding-top:1.5rem}.lesson-resources{border-top:1px solid var(--border);padding:1.5rem 2rem}.lesson-resources h3{margin-bottom:1rem;font-size:1rem}.lesson-resources ul{margin:0;padding:0;list-style:none}.lesson-resources li{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.lesson-resources a{color:var(--accent-2)}.lesson-footer{text-align:center;margin-top:2rem}.lesson-footer .btn.large{padding:1rem 3rem;font-size:1rem}.completed-message{background:var(--surface);border-radius:var(--radius);color:var(--accent);padding:1rem 2rem;font-weight:600;display:inline-block}.loading-state,.error-state{min-height:40vh;color:var(--muted);justify-content:center;align-items:center;display:flex}@media (max-width:1024px){.elearning-admin{grid-template-columns:260px 1fr}.course-header-content{grid-template-columns:1fr}.course-header-stats{flex-direction:row;gap:2rem}}@media (max-width:768px){.elearning-admin{grid-template-columns:1fr}.elearning-sidebar{display:none}.catalog-hero{padding:2rem 1rem}.catalog-hero h1{font-size:1.75rem}.hero-stats{flex-wrap:wrap;gap:1.5rem}.courses-grid{grid-template-columns:1fr}.course-header-content,.lesson-article,.quiz-container{padding:1.5rem}}.calendar-page{padding:1.5rem 2rem}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.calendar-nav{align-items:center;gap:1rem;display:flex}.calendar-nav h1{text-align:center;min-width:200px;margin:0;font-size:1.5rem;font-weight:600}.calendar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filter-select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:.5rem 1rem;font-size:.875rem}.view-toggle{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;overflow:hidden}.view-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:.875rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.view-toggle button.active{background:var(--accent);color:var(--bg)}.view-toggle button:hover:not(.active){color:var(--text)}.calendar-grid{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.calendar-weekdays{background:var(--surface-2);border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.weekday{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.75rem .5rem;font-size:.75rem;font-weight:600}.calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;min-height:120px;padding:.5rem;transition:background .2s}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover:not(.empty){background:var(--surface-2)}.calendar-day.empty{background:var(--bg);cursor:default}.calendar-day.today{background:#8a9c760d}.calendar-day.today .day-number{background:var(--accent);color:var(--bg);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.day-number{color:var(--muted);margin-bottom:.5rem;font-size:.875rem;font-weight:500}.day-events{flex-direction:column;gap:2px;display:flex}.event-chip{color:#fff;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:4px;padding:2px 6px;font-size:.7rem;display:flex;overflow:hidden}.event-chip-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.event-chip-status{flex-shrink:0;align-items:center;font-size:.65rem;display:flex}.event-chip.registered{box-shadow:0 0 0 2px #8a9c7680}.chip-register-btn{cursor:pointer;background:#ffffff40;border:none;border-radius:3px;padding:1px 4px;font-size:.6rem;line-height:1;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.chip-register-btn:hover{background:#fff6;transform:scale(1.1)}.chip-register-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.event-chip:hover{filter:brightness(1.1)}.more-events{color:var(--muted);padding:2px 4px;font-size:.7rem}.events-list-view{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);min-height:400px;padding:1rem}.events-list{flex-direction:column;gap:.75rem;display:flex}.event-card{background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex;overflow:hidden}.event-card:hover{background:var(--surface-3);transform:translateY(-1px)}.event-card.cancelled{opacity:.6}.event-color-bar{flex-shrink:0;width:4px}.event-content{flex:1;padding:1rem 1.25rem}.event-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.event-type{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.status-badge{border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:500}.status-badge.cancelled{color:var(--danger);background:#dc5a5433}.discord-badge{margin-left:auto;font-size:.9rem}.event-content h3{color:var(--text);margin:0 0 .5rem;font-size:1rem;font-weight:600}.event-meta{color:var(--muted);flex-wrap:wrap;gap:1rem;font-size:.8rem;display:flex}.event-participants{flex-wrap:wrap;gap:.25rem;margin-top:.5rem;display:flex}.participant-chip{background:var(--surface);color:var(--muted-2);border-radius:12px;padding:2px 8px;font-size:.7rem}.event-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.registration-btns{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.reg-badge{border-radius:4px;align-items:center;gap:.25rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.reg-badge.success{color:var(--success);background:#8a9c7626;border:1px solid #8a9c764d}.reg-badge.warning{color:var(--warning);background:#b8934e26;border:1px solid #b8934e4d}.event-actions .attendance-btn{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok)}.event-actions .attendance-btn:hover{background:var(--ok-soft)}.event-actions .patracdr-btn{background:var(--info-soft);color:var(--info);border:1px solid var(--info)}.event-actions .patracdr-btn:hover{background:var(--info-soft)}.event-detail-content{padding:0 0 1rem}.event-detail-row{border-bottom:1px solid var(--border);gap:1rem;padding:.75rem 0;display:flex}.event-detail-row:last-child{border-bottom:none}.detail-label{min-width:120px;color:var(--muted);font-size:.875rem;font-weight:600}.detail-value{color:var(--text);flex:1}.event-type-badge{color:#fff;border-radius:6px;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.event-registration-section{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin-top:1.5rem;padding:1.25rem}.event-registration-section h3{color:var(--text);margin:0 0 1rem;font-size:1rem}.registration-status{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex}.registration-status .status-icon{font-size:2rem}.registration-status .status-text{color:var(--text);font-size:.9rem}.registration-status.registered{background:#8a9c761a;border-radius:8px}.registration-status.waitlist{background:#b8934e1a;border-radius:8px}.registration-status.not-registered{padding:1.5rem}.registration-status .btn{margin-top:.5rem}.event-form .form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.event-form .form-group.full{grid-column:1/-1}.event-form .checkbox-inline{align-items:center;gap:.5rem;display:flex}.event-form .checkbox-inline label{cursor:pointer;color:var(--muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.event-form .checkbox-inline input[type=checkbox]{width:16px;height:16px}.participants-selector{background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);padding:1rem}.participant-group{margin-bottom:1rem}.participant-group:last-child{margin-bottom:0}.participant-group h4{color:var(--muted);margin:0 0 .5rem;font-size:.8rem;font-weight:600}.participant-options{flex-wrap:wrap;gap:.5rem;display:flex}.participant-options label{background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);align-items:center;gap:.25rem;padding:.35rem .75rem;font-size:.8rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.participant-options label:hover{border-color:var(--accent)}.participant-options label.selected{border-color:var(--accent);color:var(--accent);background:#8a9c7626}.participant-options label input[type=checkbox]{display:none}.form-hint{color:var(--muted);margin-top:.5rem;font-size:.75rem}.paf-section{border-radius:var(--radius-sm);background:#b8934e1a;border:1px solid #b8934e4d;padding:1rem}.paf-section .checkbox-inline{margin-bottom:.75rem}.paf-amount{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.paf-amount label{color:var(--muted);font-size:.9rem}.paf-amount input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:120px;color:var(--text);padding:.5rem;font-size:1rem}.paf-info-section{border-radius:var(--radius-sm);background:#b8934e1a;border:1px solid #b8934e4d;margin-top:1rem;padding:1rem}.paf-info-section h3{color:var(--text);margin:0 0 .75rem;font-size:1rem}.paf-info-content{flex-direction:column;gap:.75rem;display:flex}.paf-amount-display{color:var(--amber);font-size:1.5rem;font-weight:700}.paf-status{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.paf-status.paid{color:var(--accent)}.paf-status.pending{color:var(--muted)}.paf-pay-btn{margin-top:.5rem}.paf-note{color:var(--muted);width:100%;margin-top:.25rem;font-size:.8rem;display:block}@media (max-width:768px){.calendar-page{padding:1rem}.calendar-header{flex-direction:column;align-items:stretch}.calendar-nav,.calendar-actions{justify-content:center}.calendar-day{min-height:80px}.event-chip{padding:1px 4px;font-size:.6rem}.event-form .form-grid{grid-template-columns:1fr}}.course-notes-page{max-width:1400px;margin:0 auto;padding:1.5rem 2rem}.course-notes-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem;display:flex}.course-notes-page .header-content h1{margin:0 0 .25rem;font-size:1.75rem}.course-notes-page .header-stats{gap:1rem;display:flex}.course-notes-page .stat-card{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);text-align:center;min-width:100px;padding:1rem 1.5rem}.course-notes-page .stat-card.success{border-color:var(--accent);background:#8a9c761a}.course-notes-page .stat-value{color:var(--text);font-size:1.5rem;font-weight:700;display:block}.course-notes-page .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.course-notes-page .tabs-nav{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.course-notes-page .tab{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.75rem 1.25rem;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.course-notes-page .tab:hover{color:var(--text);background:var(--surface)}.course-notes-page .tab.active{background:var(--accent);color:var(--bg);font-weight:600}.course-notes-page .editor-section{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem}.course-notes-page .note-form .form-header{margin-bottom:1.5rem}.course-notes-page .note-form .form-row{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.course-notes-page .note-form .form-group{flex:1;min-width:200px}.course-notes-page .note-form .form-group.flex-2{flex:2;min-width:300px}.course-notes-page .note-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.course-notes-page .note-form input,.course-notes-page .note-form select,.course-notes-page .note-form textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.75rem 1rem;font-size:.9rem}.course-notes-page .note-form input:focus,.course-notes-page .note-form select:focus,.course-notes-page .note-form textarea:focus{border-color:var(--accent);outline:none}.course-notes-page .audience-pills{flex-wrap:wrap;gap:.5rem;display:flex}.course-notes-page .audience-pills .pill{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.85rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.course-notes-page .audience-pills .pill input{display:none}.course-notes-page .audience-pills .pill.active{border-color:var(--accent);color:var(--accent);background:#8a9c7626}.course-notes-page .editor-container{margin-bottom:1.5rem}.course-notes-page .editor-container>label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.course-notes-page .form-actions{justify-content:flex-end;gap:1rem;display:flex}.course-notes-page .posts-section{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem}.course-notes-page .posts-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.course-notes-page .posts-list{flex-direction:column;gap:1rem;display:flex}.course-notes-page .post-card{background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;overflow:hidden}.course-notes-page .post-card.expanded{border-color:var(--accent)}.course-notes-page .post-header{cursor:pointer;justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:background .2s;display:flex}.course-notes-page .post-header:hover{background:var(--surface-2)}.course-notes-page .post-info h3{color:var(--text);margin:0 0 .25rem;font-size:1rem}.course-notes-page .post-summary{color:var(--muted);margin:0 0 .5rem;font-size:.85rem}.course-notes-page .post-meta{align-items:center;gap:.75rem;font-size:.8rem;display:flex}.course-notes-page .post-meta .date{color:var(--muted)}.course-notes-page .expand-icon{color:var(--muted);font-size:.75rem}.course-notes-page .post-content{border-top:1px solid var(--border);background:var(--surface);padding:1.25rem}.course-notes-page .post-content .tag-row{margin-bottom:.75rem}.course-notes-page .post-content .audience-info{color:var(--muted);margin-bottom:1rem;font-size:.8rem}.course-notes-page .content-preview{background:var(--bg);border-radius:var(--radius-sm);max-height:400px;margin-bottom:1rem;padding:1.25rem;overflow-y:auto}.course-notes-page .post-actions{flex-wrap:wrap;gap:.75rem;display:flex}.course-notes-page .modules-section{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem}.course-notes-page .modules-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.course-notes-page .courses-panel,.course-notes-page .modules-panel{background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);padding:1rem}.course-notes-page .courses-panel h3,.course-notes-page .modules-panel h3{color:var(--text);margin:0 0 1rem;font-size:1rem}.course-notes-page .course-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.course-notes-page .course-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.course-notes-page .course-item:hover{border-color:var(--accent)}.course-notes-page .course-item.active{border-color:var(--accent);background:#8a9c761a}.course-notes-page .course-info strong{color:var(--text);font-size:.9rem;display:block}.course-notes-page .course-info .muted{font-size:.75rem}.course-notes-page .current-course{color:var(--muted);margin-bottom:1rem;font-size:.85rem}.course-notes-page .module-checkbox-grid{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.course-notes-page .module-checkbox{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;display:flex}.course-notes-page .module-checkbox:hover{border-color:var(--accent)}.course-notes-page .module-checkbox.active{border-color:var(--accent);background:#8a9c761a}.course-notes-page .module-checkbox input{display:none}.course-notes-page .module-info{flex:1}.course-notes-page .module-info strong{color:var(--text);font-size:.9rem;display:block}.course-notes-page .module-info .muted{font-size:.75rem}.member-courses-page{flex-direction:column;height:calc(100vh - 60px);display:flex;overflow:hidden}.member-courses-page .courses-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.member-courses-page .header-content h1{margin:0;font-size:1.25rem}.member-courses-page .header-content .muted{font-size:.8rem}.member-courses-page .header-actions .view-toggle{background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;overflow:hidden}.member-courses-page .header-actions .view-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.5rem .75rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.member-courses-page .header-actions .view-toggle button.active{background:var(--accent);color:var(--bg)}.member-courses-page .courses-layout{flex:1;display:flex;overflow:hidden}.member-courses-page .courses-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:320px;display:flex;overflow:hidden}.member-courses-page .sidebar-search{border-bottom:1px solid var(--border);padding:1rem}.member-courses-page .sidebar-search input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.75rem 1rem;font-size:.9rem}.member-courses-page .sidebar-search input:focus{border-color:var(--accent);outline:none}.member-courses-page .courses-sidebar .category-pills{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding:1rem;display:flex}.member-courses-page .courses-sidebar .pill{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;padding:.35rem .75rem;font-size:.75rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.member-courses-page .courses-sidebar .pill.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.member-courses-page .posts-nav{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.member-courses-page .post-nav-item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;width:100%;padding:1rem 1.25rem;transition:background .2s;display:block}.member-courses-page .post-nav-item:hover{background:var(--surface-2)}.member-courses-page .post-nav-item.active{border-left:3px solid var(--accent);background:#8a9c7614}.member-courses-page .post-nav-content strong{color:var(--text);margin-bottom:.25rem;font-size:.9rem;display:block}.member-courses-page .post-nav-meta{align-items:center;gap:.75rem;margin-bottom:.25rem;font-size:.75rem;display:flex}.member-courses-page .post-nav-meta .category{color:var(--accent)}.member-courses-page .post-nav-meta .date{color:var(--muted)}.member-courses-page .post-nav-summary{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;display:-webkit-box;overflow:hidden}.member-courses-page .courses-content{background:var(--bg);flex:1;padding:2rem;overflow-y:auto}.member-courses-page .course-article{max-width:800px;margin:0 auto}.member-courses-page .article-header{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.member-courses-page .article-breadcrumb{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.member-courses-page .article-header h1{margin:0 0 .75rem;font-size:2rem;line-height:1.3}.member-courses-page .article-summary{color:var(--muted);margin:0 0 1rem;font-size:1.1rem;line-height:1.6}.member-courses-page .article-meta{color:var(--muted);align-items:center;gap:1.5rem;font-size:.85rem;display:flex}.member-courses-page .article-body{color:var(--text);font-size:1rem;line-height:1.7}.rich-content h1,.rich-content h2,.rich-content h3,.rich-content h4{color:var(--text);margin-top:1.5em;margin-bottom:.75em;font-weight:600}.rich-content h1{font-size:1.75rem}.rich-content h2{font-size:1.5rem}.rich-content h3{font-size:1.25rem}.rich-content h4{font-size:1.1rem}.rich-content p{margin-bottom:1em}.rich-content ul,.rich-content ol{margin-bottom:1em;padding-left:1.5em}.rich-content li{margin-bottom:.5em}.rich-content blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1em 0;padding-left:1rem;font-style:italic}.rich-content pre{background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:1em;padding:1rem;overflow-x:auto}.rich-content code{background:var(--surface-2);border-radius:4px;padding:.15em .4em;font-family:Fira Code,monospace;font-size:.9em}.rich-content pre code{background:0 0;padding:0}.rich-content img{border-radius:var(--radius-sm);max-width:100%;height:auto;margin:1em 0}.rich-content table{border-collapse:collapse;width:100%;margin-bottom:1em}.rich-content th,.rich-content td{border:1px solid var(--border);text-align:left;padding:.75rem}.rich-content th{background:var(--surface-2);font-weight:600}.rich-content a{color:var(--accent-2);text-decoration:underline}.rich-content a:hover{color:var(--accent)}.rich-content hr{border:none;border-top:1px solid var(--border);margin:2em 0}.rich-content mark{background:#b8934e4d;border-radius:2px;padding:.1em .2em}.rich-content iframe{border-radius:var(--radius-sm);max-width:100%;margin:1em 0}.member-courses-page.list .courses-sidebar{border:none;width:100%;max-width:600px;margin:0 auto}.member-courses-page.list .courses-content{display:none}@media (max-width:900px){.course-notes-page .modules-grid{grid-template-columns:1fr}.member-courses-page .courses-sidebar{width:280px}}@media (max-width:768px){.course-notes-page{padding:1rem}.course-notes-page .page-header{flex-direction:column;align-items:stretch}.course-notes-page .header-stats{justify-content:center}.course-notes-page .tabs-nav{overflow-x:auto}.member-courses-page .courses-layout{flex-direction:column}.member-courses-page .courses-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:300px}.member-courses-page .courses-content{padding:1rem}.member-courses-page .article-header h1{font-size:1.5rem}}.admin-cotisations-page{max-width:1400px;margin:0 auto;padding:1.5rem 2rem}.admin-cotisations-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem;display:flex}.admin-cotisations-page .page-header h1{margin:.25rem 0;font-size:1.75rem}.admin-cotisations-page .page-header .label{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.admin-cotisations-page .page-header .muted{color:var(--muted);font-size:.875rem}.admin-cotisations-page .stats-row{gap:1rem;display:flex}.admin-cotisations-page .stat-card{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);text-align:center;min-width:100px;padding:1rem 1.5rem}.admin-cotisations-page .stat-card strong{color:var(--text);font-size:1.5rem;display:block}.admin-cotisations-page .stat-card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.admin-cotisations-page .stat-card.stat-success{border-color:var(--ok);background:#8a9c761a}.admin-cotisations-page .stat-card.stat-warning{border-color:var(--amber);background:#b8934e1a}.admin-cotisations-page .stat-card.stat-error{border-color:var(--danger);background:#f871711a}.admin-cotisations-page .content-section{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.admin-cotisations-page .filter-tabs{border-bottom:1px solid var(--border);background:var(--bg);gap:0;display:flex}.admin-cotisations-page .filter-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-size:.875rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}.admin-cotisations-page .filter-tabs button:hover{color:var(--text);background:var(--surface)}.admin-cotisations-page .filter-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}.admin-cotisations-page .data-table{border-collapse:collapse;width:100%}.admin-cotisations-page .data-table th,.admin-cotisations-page .data-table td{text-align:left;border-bottom:1px solid var(--border);padding:1rem}.admin-cotisations-page .data-table th{background:var(--bg);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.75rem;font-weight:600}.admin-cotisations-page .data-table tbody tr:hover{background:var(--bg)}.admin-cotisations-page .member-info{flex-direction:column;gap:.25rem;display:flex}.admin-cotisations-page .member-info strong{color:var(--text)}.admin-cotisations-page .member-info .muted{color:var(--muted);font-size:.75rem}.admin-cotisations-page .empty-state{text-align:center;color:var(--muted);padding:3rem!important}.admin-cotisations-page .btn-sm{padding:.5rem 1rem;font-size:.8rem}.admin-cotisations-page .modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.admin-cotisations-page .modal-content{background:var(--surface);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:0 25px 50px -12px #00000040}.admin-cotisations-page .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.admin-cotisations-page .modal-header h2{margin:0;font-size:1.25rem}.admin-cotisations-page .btn-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.admin-cotisations-page .btn-close:hover{color:var(--text)}.admin-cotisations-page .modal-body{padding:1.5rem}.admin-cotisations-page .modal-body .member-name{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1rem}.admin-cotisations-page .form-group{margin-bottom:1rem}.admin-cotisations-page .form-group label{color:var(--text);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.admin-cotisations-page .form-group input,.admin-cotisations-page .form-group select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.75rem 1rem;font-size:.95rem}.admin-cotisations-page .form-group input:focus,.admin-cotisations-page .form-group select:focus{border-color:var(--accent);outline:none}.admin-cotisations-page .info-text{color:var(--muted);background:var(--bg);border-radius:var(--radius-sm);margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}.admin-cotisations-page .info-text strong{color:var(--accent)}.admin-cotisations-page .modal-footer{border-top:1px solid var(--border);background:var(--bg);justify-content:flex-end;gap:1rem;padding:1.25rem 1.5rem;display:flex}@media (max-width:768px){.admin-cotisations-page{padding:1rem}.admin-cotisations-page .page-header{flex-direction:column;align-items:stretch}.admin-cotisations-page .stats-row{flex-wrap:wrap;justify-content:center}.admin-cotisations-page .filter-tabs{overflow-x:auto}.admin-cotisations-page .data-table{display:block;overflow-x:auto}}.route-loader{min-height:60vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.route-loader-spinner{border:3px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.route-loader-label{letter-spacing:.04em;font-size:.9rem}@media (prefers-reduced-motion:reduce){.route-loader-spinner{animation-duration:2s}}@media (max-width:640px){.ledger-table,.ledger-table tbody{display:block}.ledger-table thead{display:none}.ledger-table tr{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.75rem .5rem;display:flex}.ledger-table td{border:0;padding:0}.ledger-table .empty-row{text-align:center;flex:100%}.ledger-table .ledger-title{flex:calc(100% - 7.5rem);order:1;min-width:0}.ledger-table .ledger-amount{white-space:nowrap;flex:0 0 6.9rem;order:2;font-weight:600}.ledger-table .ledger-date,.ledger-table .ledger-cat,.ledger-table .ledger-kind,.ledger-table .ledger-invoice{color:var(--muted);order:3;font-size:.8rem}.ledger-table .ledger-invoice{margin-left:auto}.ledger-table .ledger-actions{order:3}}.cot-date-label{display:none}@media (max-width:640px){.admin-cotisations-page .stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.admin-cotisations-page .stat-card{min-width:0;padding:.75rem}.admin-cotisations-page .filter-tabs button{white-space:nowrap;flex-shrink:0}.cotisations-table,.cotisations-table tbody{display:block}.cotisations-table thead{display:none}.admin-cotisations-page .cotisations-table tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"member status""unit date""action action";gap:.35rem .75rem;padding:.85rem 1rem;display:grid}.admin-cotisations-page .cotisations-table td{border:0;padding:0}.cotisations-table .cot-member{grid-area:member;min-width:0}.cotisations-table .cot-status{grid-area:status;justify-self:end}.cotisations-table .cot-unit{color:var(--muted);grid-area:unit;font-size:.8rem}.cotisations-table .cot-date{color:var(--muted);grid-area:date;justify-self:end;font-size:.8rem}.cotisations-table .cot-action{grid-area:action}.cotisations-table .cot-action .btn{width:100%;min-height:40px}.cotisations-table .cot-date-label{display:inline}.cotisations-table .member-info .muted{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;display:block;overflow:hidden}.cotisations-table .empty-state{grid-column:1/-1}}.pwa-update{left:50%;bottom:calc(var(--cpt-tabbar-height,0px) + 16px + env(safe-area-inset-bottom));z-index:400;border:1px solid var(--cpt-border-strong);border-radius:var(--cpt-radius-md);background:var(--cpt-anthracite);width:max-content;max-width:calc(100vw - 32px);box-shadow:var(--shadow-strong);color:var(--cpt-white);font-size:var(--cpt-text-sm);align-items:center;gap:1rem;padding:.75rem .75rem .75rem 1rem;display:flex;position:fixed;transform:translate(-50%)}@media (max-width:480px){.pwa-update{flex-wrap:wrap;justify-content:space-between}}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cpt-black:#010201;--cpt-graphite:#171716;--cpt-anthracite:#2a2927;--cpt-steel:#56534c;--cpt-silver:#a29e96;--cpt-white:#e2ddd7;--cpt-blue:#273855;--cpt-red:#a52523;--cpt-blue-bright:#7b98c9;--cpt-red-bright:#dc5a54;--cpt-border:#56534c73;--cpt-border-strong:#56534cbf;--cpt-surface-hover:#32312e;--cpt-font-title:"Barlow Condensed","Arial Narrow",sans-serif;--cpt-font-body:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--cpt-text-hero:clamp(2.5rem,5vw,4rem);--cpt-text-h1:clamp(1.875rem,3.5vw,2.5rem);--cpt-text-h2:clamp(1.5rem,2.5vw,1.875rem);--cpt-text-h3:1.25rem;--cpt-text-body:1rem;--cpt-text-sm:.875rem;--cpt-text-caption:.8125rem;--cpt-space:8px;--cpt-space-1:8px;--cpt-space-2:16px;--cpt-space-3:24px;--cpt-space-4:32px;--cpt-space-5:48px;--cpt-space-6:64px;--cpt-space-7:80px;--cpt-space-8:120px;--cpt-radius-sm:4px;--cpt-radius-md:8px;--cpt-content-width:1280px;--cpt-transition:.2s ease;--cpt-transition-slow:.4s ease;--cpt-topo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%2356534c' stroke-width='1' opacity='0.5'%3E%3Cpath d='M-20 60 Q 60 20 120 60 T 260 60'/%3E%3Cpath d='M-20 90 Q 60 50 120 90 T 260 90'/%3E%3Cpath d='M-20 120 Q 60 80 120 120 T 260 120'/%3E%3Cpath d='M-20 150 Q 60 110 120 150 T 260 150'/%3E%3Cpath d='M-20 180 Q 60 140 120 180 T 260 180'/%3E%3C/g%3E%3C/svg%3E");--cpt-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");font-family:var(--cpt-font-body);color:var(--cpt-white);background-color:var(--cpt-black);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:16px;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}body{background-color:var(--cpt-black);min-height:100vh;color:var(--cpt-white);font-family:var(--cpt-font-body);margin:0;overflow-x:hidden}body:before{content:"";background-image:var(--cpt-grain);opacity:.035;pointer-events:none;z-index:9999;mix-blend-mode:overlay;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:var(--cpt-font-title);letter-spacing:.02em;color:var(--cpt-white);margin:0;font-weight:700;line-height:1.1}h1{font-size:var(--cpt-text-h1);text-transform:uppercase;letter-spacing:.03em}h2{font-size:var(--cpt-text-h2);text-transform:uppercase;letter-spacing:.03em}h3{font-size:var(--cpt-text-h3);font-weight:600}h4{font-size:1.125rem;font-weight:600}p{margin:0 0 var(--cpt-space-2);color:var(--cpt-white)}a{color:inherit;transition:color var(--cpt-transition);text-decoration:none}small{font-size:var(--cpt-text-caption)}input,textarea,select,button{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--cpt-white);outline-offset:2px;border-radius:var(--cpt-radius-sm)}::selection{background:var(--cpt-steel);color:var(--cpt-white)}*{scrollbar-width:thin;scrollbar-color:var(--cpt-steel)transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--cpt-steel);border:3px solid var(--cpt-black);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--cpt-silver)}.cpt-rule{align-items:center;gap:3px;width:fit-content;display:flex}.cpt-rule:before,.cpt-rule:after,.cpt-rule span{content:"";width:20px;height:2px;display:block}.cpt-rule:before{background:var(--cpt-blue)}.cpt-rule span{background:var(--cpt-white)}.cpt-rule:after{background:var(--cpt-red)}.cpt-rule-wide{align-items:center;gap:var(--cpt-space-2);grid-template-columns:1fr auto 1fr;width:100%;display:grid}.cpt-rule-wide:before,.cpt-rule-wide:after{content:"";background:linear-gradient(90deg,transparent,var(--cpt-border));height:1px}.cpt-rule-wide:after{background:linear-gradient(90deg,var(--cpt-border),transparent)}.cpt-eyebrow{align-items:center;gap:var(--cpt-space-1);font-family:var(--cpt-font-title);font-size:var(--cpt-text-caption);text-transform:uppercase;letter-spacing:.22em;color:var(--cpt-silver);margin-bottom:var(--cpt-space-2);font-weight:600;display:inline-flex}.cpt-eyebrow:before{content:"";background:linear-gradient(90deg,var(--cpt-blue)0 33%,var(--cpt-white)33% 66%,var(--cpt-red)66% 100%);width:24px;height:2px}.cpt-chevron{transition:transform var(--cpt-transition);display:inline-block}:hover>.cpt-chevron,:hover .cpt-chevron{transform:translate(4px)}.cpt-dial{border:1px solid var(--cpt-border);width:72px;height:72px;font-family:var(--cpt-font-title);color:var(--cpt-white);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;position:relative}.cpt-dial:before{content:"";border:1px solid var(--cpt-border);opacity:.5;border-radius:50%;position:absolute;inset:4px}.cpt-dial:after{content:"";background:var(--cpt-white);width:10px;height:2px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.cpt-topo-bg{isolation:isolate;position:relative}.cpt-topo-bg:before{content:"";background-image:var(--cpt-topo);opacity:.06;pointer-events:none;z-index:-1;background-size:240px 240px;position:absolute;inset:0}.cpt-container{width:100%;max-width:var(--cpt-content-width);padding-inline:var(--cpt-space-3);margin-inline:auto}.muted{color:var(--cpt-silver);margin:.25rem 0}.label,.eyebrow,.aux-tag{font-family:var(--cpt-font-title);text-transform:uppercase;font-size:var(--cpt-text-caption);letter-spacing:.2em;color:var(--cpt-silver);font-weight:600}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
