@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=Rajdhani:wght@500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=Rajdhani:wght@500;600;700&display=swap";:root{--bg:#0b1220;--bg-alt:#111b2d;--surface:#162338;--surface-2:#1b2a42;--surface-3:#213455;--border:#ffffff1f;--border-strong:#fff3;--text:#f4f7ff;--muted:#c1cadc;--muted-2:#aab7d1;--accent:#4ade80;--accent-2:#7cc4ff;--amber:#f5b63a;--danger:#ef4444;--radius-lg:18px;--radius:14px;--radius-sm:10px;--shadow-soft:0 20px 60px #00000047;--shadow-strong:0 24px 70px #0006;--backdrop:blur(10px);--gradient-hero:radial-gradient(circle at 18% 20%,#7cc4ff42,transparent 36%),radial-gradient(circle at 70% 10%,#4ade8033,transparent 42%),linear-gradient(145deg,#0d1626 0%,#111b2d 45%,#0c1321 100%)}body{background:var(--gradient-hero);color:var(--text)}.page-loader{min-height:60vh;color:var(--muted);place-items:center;display:grid}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg-pattern{pointer-events:none;background:radial-gradient(circle at 20% 30%,#4ade8014,#0000 40%),radial-gradient(circle at 80% 70%,#7cc4ff14,#0000 40%),radial-gradient(circle,#f5b63a08,#0000 60%);position:absolute;inset:0}.login-container{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:1100px;min-height:600px;box-shadow:var(--shadow-strong);z-index:1;grid-template-columns:1fr 1fr;margin:2rem;display:grid;position:relative;overflow:hidden}.login-branding{background:linear-gradient(145deg,var(--surface-2)0%,var(--surface-3)100%);border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;padding:3rem;display:flex}.branding-content{flex:1}.brand-logo{align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.brand-logo .logo-icon{font-size:2.5rem}.brand-logo .logo-text{color:var(--accent);letter-spacing:2px;font-family:Rajdhani,sans-serif;font-size:2rem;font-weight:700}.login-branding h1{color:var(--text);margin:0 0 1rem;font-size:1.75rem;font-weight:600}.login-branding>.branding-content>p{color:var(--muted);margin:0 0 2.5rem;line-height:1.6}.brand-features{flex-direction:column;gap:1rem;display:flex}.feature-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff08;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.feature-item .feature-icon{font-size:1.25rem}.feature-item span:last-child{color:var(--muted);font-size:.9rem}.branding-footer{border-top:1px solid var(--border);padding-top:1.5rem}.branding-footer p{color:var(--muted);margin:0;font-size:.8rem}.mobile-app-link{color:var(--accent);background:#6366f11a;border:1px solid #6366f140;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.mobile-app-link:hover{border-color:var(--accent);background:#6366f133}.mobile-app-link .beta-chip{color:#fff;letter-spacing:.3px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:10px;margin-left:auto;padding:.125rem .5rem;font-size:.65rem;font-weight:700}.login-form-section{background:var(--bg-alt);justify-content:center;align-items:center;padding:3rem;display:flex}.login-form-wrapper{width:100%;max-width:380px}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{color:var(--text);margin:0 0 .5rem;font-size:1.75rem}.login-header p{color:var(--muted);margin:0;font-size:.95rem}.login-error{border-radius:var(--radius-sm);color:var(--danger);background:#ef44441a;border:1px solid #ef44444d;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;display:flex}.login-error .error-icon{flex-shrink:0}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-form .form-group{flex-direction:column;gap:.5rem;display:flex}.login-form label{color:var(--text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.login-form .label-icon{font-size:1rem}.login-form .input-wrapper{position:relative}.login-form input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.875rem 1rem;font-size:1rem;transition:all .2s}.login-form input::placeholder{color:var(--muted)}.login-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4ade8026}.login-form .password-input{position:relative}.login-form .password-input input{padding-right:3rem}.password-toggle{cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1.1rem;transition:opacity .2s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{opacity:1}.login-submit-btn{background:var(--accent);width:100%;color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.login-submit-btn:hover:not(:disabled){background:#5eeb9d;transform:translateY(-1px);box-shadow:0 4px 15px #4ade804d}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-submit-btn .btn-arrow{transition:transform .2s}.login-submit-btn:hover:not(:disabled) .btn-arrow{transform:translate(3px)}.login-submit-btn .spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-help{border-top:1px solid var(--border);text-align:center;margin-top:2rem;padding-top:1.5rem}.login-help p{color:var(--text);margin:0 0 .25rem;font-size:.9rem}.login-help .help-text{color:var(--muted);font-size:.8rem}.landing-page{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.landing-container{text-align:center;max-width:500px}.landing-logo{filter:drop-shadow(0 8px 24px #0000004d);width:140px;height:auto;margin-bottom:1.5rem}.landing-title{letter-spacing:.15em;color:var(--text);margin:0 0 .5rem;font-family:Rajdhani,sans-serif;font-size:2.5rem;font-weight:700}.landing-subtitle{color:var(--muted);margin:0 0 2.5rem;font-size:1.1rem}.landing-features{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:2.5rem;padding:1.5rem 2rem}.landing-features p{color:var(--muted-2);text-align:left;margin:.75rem 0;font-size:1rem}.landing-login-btn{background:linear-gradient(135deg,var(--accent)0%,#22c55e 100%);color:#000;border-radius:var(--radius);cursor:pointer;border:none;padding:1rem 3rem;font-size:1.1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 20px #4ade804d}.landing-login-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #4ade8066}.landing-footer{color:var(--muted);margin-top:3rem;font-size:.85rem}.login-page-simple{background:var(--gradient-hero)}.login-simple-container{background:var(--surface);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow-strong);padding:2.5rem}.login-simple-container .back-btn{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.5rem 1rem;font-size:.95rem;transition:all .2s;position:absolute;top:1.5rem;left:1.5rem}.login-simple-container .back-btn:hover{background:var(--surface-2);color:var(--text)}.login-logo{width:80px;height:auto;margin-bottom:1rem}.login-simple-container h2{color:var(--text);margin:0 0 1.5rem;font-family:Rajdhani,sans-serif;font-size:1.8rem;font-weight:600}.login-simple-container .form-group{text-align:left;margin-bottom:1.25rem}.login-simple-container .form-group label{color:var(--muted);margin-bottom:.5rem;font-size:.9rem;display:block}.login-simple-container .form-group input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.85rem 1rem;font-size:1rem;transition:border-color .2s}.login-simple-container .form-group input:focus{border-color:var(--accent);outline:none}.login-simple-container .login-submit-btn{width:100%;margin-top:.5rem}@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:linear-gradient(135deg,var(--accent),var(--accent-2));color:#041205;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.85rem;font-weight:600;display:grid}.mobile-close{display:none}.sidebar-overlay{z-index:150;background:#0009;display:none;position:fixed;inset:0}.app-sidebar{border-right:1px solid var(--border);z-index:200;background:linear-gradient(#0d1420 0%,#0a0e16 100%);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--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:40px;height:40px}.brand-name{font-size:1.1rem;font-weight:700;display:block}.brand-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-group{margin-bottom:.5rem}.nav-group.has-active .nav-group-header{color:var(--text)}.nav-group-header{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.7rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.nav-group-header:hover{color:var(--text);background:#ffffff05}.nav-group-label{flex:1}.nav-group-chevron{opacity:.6;font-size:.65rem;transition:transform .2s}.nav-group-chevron.expanded{transform:rotate(0)}.nav-group-items{padding:.25rem 0 .5rem}.nav-item{color:var(--muted-2);border-left:2px solid #0000;align-items:center;gap:.6rem;padding:.6rem 1.25rem .6rem 2.5rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:var(--text);background:#ffffff08}.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:#4ade8014}.nav-badge{background:var(--error);color:#fff;text-align:center;border-radius:10px;min-width:1.2rem;margin-left:auto;padding:.15rem .4rem;font-size:.7rem;font-weight:600;line-height:1.2}.nav-icon{opacity:.85;font-size:1rem}.nav-chevron{font-size:.6rem}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.user-card{align-items:center;gap:.75rem;display:flex}.user-avatar{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#041205;border-radius:50%;place-items:center;width:40px;height:40px;font-size:.85rem;font-weight:600;display:grid;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{font-size:.9rem;font-weight:600}.user-info .user-role{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.logout-btn{justify-content:flex-start;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.85rem;display:flex}.app-main{background:var(--gradient-hero);flex-direction:column;min-height:100vh;display:flex}.main-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0003;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:relative}.breadcrumb{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.breadcrumb-item{color:var(--muted);text-decoration:none;transition:color .15s}.breadcrumb-item:hover{color:var(--text)}.breadcrumb-item.current{color:var(--text);font-weight:600}.breadcrumb-sep{color:var(--muted);opacity:.5}.header-greeting{color:var(--muted);font-size:.9rem}.header-greeting strong{color:var(--text)}.main-content{flex:1;padding:2rem;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}.main-header{padding:.75rem 1rem}.main-content{padding:1rem}.breadcrumb{font-size:.8rem}}.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,#4ade801f,#60a5fa1f);box-shadow:0 10px 30px #4ade801f}.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:linear-gradient(180deg,#ffffff05,#ffffff03),var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft),inset 0 1px 0 #ffffff0a;-webkit-backdrop-filter:var(--backdrop);backdrop-filter:var(--backdrop);padding:clamp(1.25rem,3vw,1.75rem)}.panel.full{width:100%}.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}.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{border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);letter-spacing:.02em;cursor:pointer;background:#ffffff05;padding:.7rem 1.1rem;font-weight:600;transition:all .2s}.btn.primary{color:#041205;background:linear-gradient(120deg,#4ade80,#22c55e);border:1px solid #22c55e80;box-shadow:0 12px 30px #22c55e3d}.btn.secondary{color:#041021;background:linear-gradient(120deg,#60a5fa,#2563eb);border-color:#60a5fa80}.btn.ghost{border-color:var(--border);color:var(--text);background:#ffffff0a}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0000004d}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.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,#60a5fa29,#4ade801f)}.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:#befae0;background:#4ade8014;border-color:#4ade8066}.status-chip.warning{color:#ffe7b8;background:#f59e0b1f;border-color:#f59e0b80}.status-chip.danger{color:#ffd3d3;background:#ef44441f;border-color:#ef444480}.status-chip.neutral{color:var(--muted)}.status-chip.ghost{border-color:var(--border);color:var(--muted)}.status-chip.info{color:#dceeff;background:#60a5fa1f;border-color:#60a5fa80}.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}.mc-hero{background:linear-gradient(135deg,var(--surface)0%,#4ade8014 50%,#22d3ee14 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:all .2s;display:flex}.mc-stat-pill:hover{border-color:var(--accent-2);transform:translateY(-2px)}.mc-stat-pill.active{border-color:var(--amber);background:#f5b63a14}.mc-stat-pill.success{border-color:var(--accent);background:#4ade8014}.mc-stat-pill.qual{border-color:var(--accent-2);background:#60a5fa14}.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:all .2s;display:flex}.mc-tab:hover{color:var(--text);background:#ffffff0a}.mc-tab.active{color:var(--accent);background:#4ade801a}.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:all .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:#4ade800d}.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:#60a5fa26;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:#f5b63a26}.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),#22c55e);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:all .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:#60a5fa1f;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:all .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:#4ade800d;border-color:#4ade804d}.mc-qual-stat.failed{background:#ef44440d;border-color:#ef44444d}.mc-qual-stat.retest{background:#f5b63a0d;border-color:#f5b63a4d}.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:all .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:#4ade8026}.mc-qual-badge.failed{color:var(--danger);background:#ef444426}.mc-qual-badge.retest{color:var(--amber);background:#f5b63a26}.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:#60a5fa26;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),#22c55e);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:#4ade801a;border:1px solid #4ade804d}.mc-modal-qual.failed{background:#ef44441a;border:1px solid #ef44444d}.mc-modal-qual.retest{background:#f5b63a1a;border:1px solid #f5b63a4d}.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,#fbbf241a,#fbbf240d);border:1px solid #fbbf244d;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:#60a5fa1f}.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:40;background:#0009;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.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);color:#e0e0e0;background:#1e1e2e;width:100%;padding:.75rem .85rem}.form select option{color:#e0e0e0;background-color:#1e1e2e}.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:50;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:#4ade8080}.toast.error{border-color:#ef444499}.toast.info{border-color:#60a5fa80}.toast button{color:var(--text);cursor:pointer;background:0 0;border:none}.force-reset-overlay{background:#060a12bf}.force-reset-modal{max-width:520px}.reset-confirm-inline{border-radius:var(--radius-sm);background:#ef44441a;border:1px solid #ef44444d;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);color:#e0e0e0;cursor:pointer;appearance:none;background-color:#1e1e2e;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{color:#e0e0e0;background-color:#1e1e2e;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 #64b4ff33}.filter-group input[type=date]{border:1px solid var(--border);border-radius:var(--radius);color:#e0e0e0;cursor:pointer;background-color:#1e1e2e;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 #64b4ff33}.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:all .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}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger:hover{background:#c0392b}.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:#f39c12;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:#4ade8026;border:1px solid #4ade804d;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}.btn.large{padding:.9rem 1.8rem;font-size:1rem}.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:all .15s;display:flex}.quick-link:hover{background:var(--surface-3);border-color:var(--accent)}.quick-link.highlight{background:linear-gradient(120deg,#4ade801f,#60a5fa1f);border-color:#4ade804d}.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:#fbbf241a;border:1px solid #fbbf244d;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:#fbbf24;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));color:#041205;border-radius:50%;flex-shrink:0;place-items:center;width:80px;height:80px;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 #4ade804d}.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:all .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:#dc2626;transform:scale(1.1)}.avatar-btn:disabled{opacity:.6;cursor:not-allowed}.delete-avatar{cursor:pointer;background:#ef4444e6;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:#ef4444;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:#4ade8026;border:1px solid #4ade804d;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:all .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:#041205;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:#60a5fa26;border:1px solid #60a5fa4d;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.blood-type-badge{color:#ef4444;background:#ef444426;border:1px solid #ef44444d;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,#60a5fa33,#8b5cf633);border:1px solid #60a5fa66;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{color:var(--muted);font-size:.8rem;font-weight:600}.form-field input{border:1px solid var(--border);border-radius:var(--radius-sm);color:#e0e0e0;background:#1e1e2e;padding:.7rem .9rem;font-size:.95rem;transition:border-color .15s}.form-field input:focus{border-color:var(--accent);outline:none}.form-field input::placeholder{color:var(--muted);opacity:.6}.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 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:#4ade801a;border:1px solid #4ade804d}.cotisation-status.warning{background:#f5b63a1a;border:1px solid #f5b63a4d}.cotisation-status.expired{background:#ef44441a;border:1px solid #ef44444d}.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:all .2s;display:flex}.qualification-badge.active,.license-badge.active{color:var(--accent);background:#4ade8026;border:1px solid #4ade8066}.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:all .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:#4ade8026;border:1px solid #4ade804d}.badge.info{color:var(--accent-2);background:#7cc4ff26;border:1px solid #7cc4ff4d}.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:#4ade8026}.stat-card-large.warning .stat-icon{color:var(--amber);background:#f59e0b26}.stat-card-large.danger .stat-icon{color:var(--danger);background:#ef444426}.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{border:1px solid var(--border);border-radius:var(--radius-sm);color:#e0e0e0;background:#1e1e2e;min-width:250px;padding:.6rem .75rem .6rem 2.25rem;font-size:.9rem}.search-box input:focus{border-color:var(--accent);outline:none}.filter-select{border:1px solid var(--border);border-radius:var(--radius-sm);color:#e0e0e0;cursor:pointer;appearance:none;background:#1e1e2e 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") right .6rem center no-repeat;padding:.6rem 2rem .6rem .75rem;font-size:.9rem}.filter-select option{color:#e0e0e0;background:#1e1e2e}.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-avatar{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#041205;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;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-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 strong{color:var(--accent)}.unit-group{align-items:center;gap:.5rem;display:flex}.group-tag{color:var(--accent-2);background:#60a5fa26;border:1px solid #60a5fa4d;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),#22c55e)}.readiness-fill.readiness-mid{background:linear-gradient(90deg,var(--amber),#f59e0b)}.readiness-fill.readiness-low{background:linear-gradient(90deg,var(--danger),#dc2626)}.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:#60a5fa26;border:1px solid #60a5fa4d;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:#4ade801a;border:1px solid #4ade804d;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:#4ade8033;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:#2ecc71;background:#2ecc7133}.member-detail-page h1 .status-badge.inactive{color:#e74c3c;background:#e74c3c33}.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,#3498db,#2ecc71);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:all .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 #3498db4d}.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{color:#e74c3c;background:0 0;border:1px solid #e74c3c}.quick-actions-grid button.danger:hover{background:#e74c3c1a}.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:all .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 #3498db26}.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:all .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:#e74c3c;background:#e74c3c26;border:1px solid #e74c3c4d}.alert.success{color:#2ecc71;background:#2ecc7126;border:1px solid #2ecc714d}.edit-form-grid .form-group select,.edit-form-grid .form-group select option{color:#e0e0e0!important;background-color:#1a1a2e!important}.edit-form-grid .form-group select:focus{background-color:#1e1e32!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%,#3498db0d 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:all .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:#4ade801a;border:1px solid #4ade804d}.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:#4ade8033}.quiz-score-item .quiz-score.fail{color:var(--danger);background:#ef444433}.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:all .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:#22c55e26}.attendance-status .status-badge.danger{color:var(--danger);background:#ef444426}.attendance-status .status-badge.warning{color:var(--warning);background:#fbbf2426}.attendance-status .status-badge.info{color:var(--info);background:#3b82f626}.attendance-status .status-badge.muted{color:var(--muted);background:#6b728026}.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:#22c55e26}.paf-badge.pending{color:var(--warning);background:#fbbf2426}.paf-badge.unpaid{color:var(--danger);background:#ef444426}.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:all .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),#fbbf240d)}.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:all .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);color:#e0e0e0;background:#1a1a2e;border-radius:8px;width:100%;padding:.65rem .85rem;font-size:.9rem}.modal-body .form-group select option{color:#e0e0e0;background-color:#1a1a2e}.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:all .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:#3498db;text-transform:uppercase;letter-spacing:.5px;background:#3498db33;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:#3498db;text-transform:uppercase;vertical-align:middle;background:#3498db33;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,#4ade8014,#60a5fa14);border:1px solid #4ade8033;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:#4ade8026}.qual-badge.failed{color:var(--danger);background:#ef444426}.qual-badge.retest{color:var(--amber);background:#f5b63a26}.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:#4ade8033}.qual-indicator.failed{color:var(--danger);background:#ef444433}.qual-indicator.retest{color:var(--amber);background:#f5b63a33}.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:all .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:#ef444426;border:1px solid #ef44444d;padding:.35rem .5rem;font-size:.8rem}.document-actions .btn.danger.small:hover{background:#ef444440}.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:all .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:#4ade8033}.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}.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:1rem;padding:1.25rem;transition:all .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}.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:all .2s;display:flex}.upload-dropzone:hover{border-color:var(--accent);background:#4ade800d}.upload-dropzone.has-file{border-style:solid;border-color:var(--accent);background:#4ade801a}.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}@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,#4ade801a 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:#4ade801a}.quiz-options input{accent-color:var(--accent)}.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:all .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:#4ade800d}.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 #22c55e80}.chip-register-btn{cursor:pointer;background:#ffffff40;border:none;border-radius:3px;padding:1px 4px;font-size:.6rem;line-height:1;transition:all .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}.event-card{background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;transition:all .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}.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-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:#22c55e26;border:1px solid #22c55e4d}.reg-badge.warning{color:var(--warning);background:#fbbf2426;border:1px solid #fbbf244d}.event-actions .attendance-btn{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.event-actions .attendance-btn:hover{background:#c8e6c9}.event-actions .patracdr-btn{color:#1565c0;background:#e3f2fd;border:1px solid #90caf9}.event-actions .patracdr-btn:hover{background:#bbdefb}.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:#22c55e1a;border-radius:8px}.registration-status.waitlist{background:#fbbf241a;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:all .2s;display:flex}.participant-options label:hover{border-color:var(--accent)}.participant-options label.selected{border-color:var(--accent);color:var(--accent);background:#4ade8026}.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:#f59e0b1a;border:1px solid #f59e0b4d;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:#f59e0b1a;border:1px solid #f59e0b4d;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:#f59e0b;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:#4ade801a}.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:all .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:all .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:#4ade8026}.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:all .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:all .2s;display:flex}.course-notes-page .course-item:hover{border-color:var(--accent)}.course-notes-page .course-item.active{border-color:var(--accent);background:#4ade801a}.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:all .2s;display:flex}.course-notes-page .module-checkbox:hover{border-color:var(--accent)}.course-notes-page .module-checkbox.active{border-color:var(--accent);background:#4ade801a}.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:all .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:all .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:#4ade8014}.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:#f5b63a4d;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{background:#4ade801a;border-color:#4ade80}.admin-cotisations-page .stat-card.stat-warning{background:#fbbf241a;border-color:#fbbf24}.admin-cotisations-page .stat-card.stat-error{background:#f871711a;border-color:#f87171}.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:all .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}}.download-page{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.download-container{width:100%;max-width:400px}.download-header{margin-bottom:2rem}.back-link{color:#94a3b8;font-size:.9rem;text-decoration:none;transition:color .2s}.download-main{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293bcc;border:1px solid #6366f14d;border-radius:20px;margin-bottom:1.5rem;padding:2.5rem}.app-logo{margin-bottom:1rem;font-size:4rem}.download-main h1{color:#fff;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.beta-badge{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:20px;margin-bottom:1.5rem;padding:.25rem .75rem;font-size:.7rem;font-weight:700;display:inline-block}.app-description{color:#94a3b8;margin:0 0 2rem;font-size:.95rem;line-height:1.6}.download-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:none;border-radius:12px;width:100%;margin-bottom:1rem;padding:1rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .2s;display:block}.download-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f166}.version-text{color:#64748b;font-size:.8rem}.beta-notice{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.25rem}.beta-notice strong{color:#fbbf24;font-size:.9rem}.beta-notice p{color:#94a3b8;margin:.5rem 0 0;font-size:.85rem;line-height:1.5}.install-steps{background:#1e293b99;border:1px solid #334155;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.install-steps h3{color:#e2e8f0;margin:0 0 .75rem;font-size:.95rem}.install-steps ol{color:#94a3b8;margin:0;padding-left:1.25rem;font-size:.85rem;line-height:1.8}.requirements{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.requirements span{color:#64748b;font-size:.8rem}@media (max-width:480px){.download-page{padding:1rem}.download-main{padding:2rem 1.5rem}.requirements{flex-direction:column;align-items:center;gap:.5rem}}.notification-center{z-index:9999;position:relative}.notification-trigger{border:1px solid var(--border);cursor:pointer;border-radius:var(--radius-sm);color:var(--muted);background:0 0;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:1.1rem;transition:all .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:#4ade801a}.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 #ef444466}.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);letter-spacing:.5px;margin:0;font-family:Rajdhani,sans-serif;font-size:.95rem;font-weight:600}.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:all .2s}.mark-all-read-btn:hover:not(:disabled){border-color:var(--accent-2);background:#7cc4ff1a}.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:#4ade800d}.notification-item.unread:hover{background:#4ade801a}.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 #4ade8080}.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:all .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:#22c55e26}.notification-actions .reg-status.warning{color:var(--warning);background:#fbbf2426}@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:all .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:#ef444426;border-radius:4px;margin-top:8px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .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:all .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}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.image-cropper-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.image-cropper-modal{background:var(--surface-2);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow:hidden}.image-cropper-header{border-bottom:1px solid var(--border);text-align:center;padding:1.5rem}.image-cropper-header h3{color:var(--foreground);margin:0 0 .5rem;font-size:1.25rem}.image-cropper-header p{color:var(--muted);margin:0;font-size:.9rem}.image-cropper-container{background:var(--surface-1);flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex;overflow:auto}.image-cropper-container .ReactCrop{max-width:100%}.image-cropper-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.ReactCrop__crop-selection{border:2px solid var(--accent)!important;box-shadow:0 0 0 9999em #0009!important}.ReactCrop__drag-handle{background-color:var(--accent)!important;border:2px solid var(--background)!important}.ReactCrop__drag-handle:after{background-color:var(--accent)!important}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}@media (max-width:600px){.image-cropper-modal{border-radius:0;max-height:100vh}.image-cropper-header,.image-cropper-container,.image-cropper-actions{padding:1rem}.image-cropper-actions{flex-direction:column}.image-cropper-actions button{width:100%}}.rich-text-editor{border:2px solid var(--border,#e2e8f0);background:var(--surface-1,#fff);border-radius:16px;flex-direction:column;transition:all .25s;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000a}.rich-text-editor:focus-within{border-color:var(--accent,#3b82f6);box-shadow:0 0 0 4px #3b82f61a,0 4px 20px #00000014}.rich-text-editor.editable{min-height:300px}.rich-text-editor.readonly{box-shadow:none;background:0 0;border:none}.rich-text-editor.fullscreen{z-index:99999!important;border:none!important;border-radius:0!important;width:100vw!important;height:100vh!important;min-height:100vh!important;max-height:100vh!important;margin:0!important;position:fixed!important;inset:0!important}.rich-text-editor.fullscreen .editor-toolbar{flex-shrink:0}.rich-text-editor.fullscreen .editor-content{flex:1!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important}.editor-toolbar{background:linear-gradient(180deg,var(--surface-2,#f8fafc)0%,var(--surface-1,#fff)100%);border-bottom:1px solid var(--border,#e2e8f0);flex-wrap:wrap;gap:6px;padding:12px 16px;display:flex}.toolbar-group{background:var(--surface-3,#f1f5f9);border-radius:10px;gap:3px;padding:4px 6px;display:flex}.toolbar-group:last-child{border-right:none}.toolbar-group.toolbar-actions{background:0 0;border-right:none;margin-left:auto;padding-left:8px;padding-right:0}.editor-toolbar button{cursor:pointer;min-width:36px;height:36px;color:var(--text,#475569);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.editor-toolbar button:hover{background:var(--surface-3,#e2e8f0);color:var(--text,#1e293b);transform:translateY(-1px)}.editor-toolbar button.active{background:var(--accent,#3b82f6);color:#fff;box-shadow:0 2px 8px #3b82f64d}.editor-toolbar button:disabled{opacity:.35;cursor:not-allowed;transform:none}.toolbar-input-popup{background:var(--surface-2,#f8fafc);border-bottom:1px solid var(--border,#e2e8f0);gap:10px;padding:12px 16px;animation:.2s slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toolbar-input-popup input{border:2px solid var(--border,#e2e8f0);background:var(--surface-1,#fff);color:var(--text,#1e293b);border-radius:10px;flex:1;padding:10px 14px;font-size:.925rem;transition:all .2s}.toolbar-input-popup input:focus{border-color:var(--accent,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.toolbar-input-popup button{background:var(--accent,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s}.toolbar-input-popup button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f640}.toolbar-input-popup button:last-child{background:var(--surface-3,#e2e8f0);color:var(--text,#475569)}.toolbar-input-popup button:last-child:hover{background:var(--surface-3,#cbd5e1);box-shadow:none}.table-controls{background:var(--surface-2,#f8fafc);border-bottom:1px solid var(--border,#e2e8f0);flex-wrap:wrap;gap:6px;padding:10px 16px;display:flex}.table-controls button{border:1px solid var(--border,#e2e8f0);background:var(--surface-1,#fff);color:var(--text,#475569);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:.8rem;transition:all .2s}.table-controls button:hover{background:var(--accent,#3b82f6);color:#fff;border-color:var(--accent,#3b82f6)}.bubble-menu,.floating-menu{background:var(--surface-1,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;gap:3px;padding:6px;display:flex;box-shadow:0 4px 16px #0000001f,0 1px 4px #00000014}.bubble-menu button,.floating-menu button{cursor:pointer;min-width:32px;height:32px;color:var(--text,#475569);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.85rem;font-weight:600;transition:all .15s;display:flex}.bubble-menu button:hover,.floating-menu button:hover{background:var(--surface-3,#f1f5f9);color:var(--text,#1e293b)}.bubble-menu button.active,.floating-menu button.active{background:var(--accent,#3b82f6);color:#fff}.editor-content{background:var(--surface-1,#fff);min-height:200px;padding:28px 32px;overflow-y:auto}.editor-content .tiptap{height:100%;min-height:180px;color:var(--text,#374151);outline:none;font-size:1.0625rem;line-height:1.85}.editor-content .tiptap>*+*{margin-top:.875em}.editor-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--muted,#94a3b8);pointer-events:none;height:0;font-style:italic}.editor-content h1{color:var(--text,#1e293b);letter-spacing:-.025em;margin-top:2rem;margin-bottom:1rem;font-size:2.25rem;font-weight:800;line-height:1.2}.editor-content h2{color:var(--text,#1e293b);letter-spacing:-.02em;border-bottom:2px solid var(--border,#e2e8f0);margin-top:1.75rem;margin-bottom:.875rem;padding-bottom:.5rem;font-size:1.75rem;font-weight:700;line-height:1.3}.editor-content h3{color:var(--text,#1e293b);letter-spacing:-.01em;margin-top:1.5rem;margin-bottom:.625rem;font-size:1.375rem;font-weight:600;line-height:1.4}.editor-content p{color:var(--text,#374151);margin:1rem 0;font-size:1.0625rem;line-height:1.85}.editor-content strong{color:var(--text,#1e293b);font-weight:700}.editor-content em{font-style:italic}.editor-content u{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.editor-content s{opacity:.7;text-decoration:line-through}.editor-content a,.editor-content .editor-link{color:var(--accent,#3b82f6);cursor:pointer;border-bottom:2px solid #0000;font-weight:500;text-decoration:none;transition:all .2s}.editor-content a:hover{color:var(--accent,#2563eb);border-bottom-color:var(--accent,#3b82f6)}.editor-content ul,.editor-content ol{margin:1.25rem 0;padding-left:1.75rem}.editor-content ul{list-style-type:none}.editor-content ul>li{padding-left:.5rem;position:relative}.editor-content ul>li:before{content:"•";color:var(--accent,#3b82f6);font-size:1.2em;font-weight:700;position:absolute;left:-1.25rem}.editor-content ol{counter-reset:item;list-style-type:none}.editor-content ol>li{counter-increment:item;padding-left:.5rem;position:relative}.editor-content ol>li:before{content:counter(item)".";color:var(--accent,#3b82f6);font-size:.95em;font-weight:700;position:absolute;left:-1.5rem}.editor-content li{margin:.5rem 0;line-height:1.75}.editor-content li p{margin:0}.editor-content blockquote{border-left:4px solid var(--accent,#3b82f6);color:var(--muted,#64748b);background:linear-gradient(135deg,var(--surface-2,#f8fafc)0%,#3b82f60d 100%);border-radius:0 12px 12px 0;margin:1.5rem 0;padding:1.25rem 1.5rem;font-style:italic;position:relative}.editor-content blockquote:before{content:"“";color:var(--accent,#3b82f6);opacity:.15;font-family:Georgia,serif;font-size:3.5rem;line-height:1;position:absolute;top:-8px;left:16px}.editor-content blockquote p{margin:0}.editor-content code{background:var(--surface-2,#f1f5f9);border:1px solid var(--border,#e2e8f0);color:var(--accent,#e11d48);border-radius:6px;padding:.2rem .5rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875em}.editor-content pre,.editor-content .editor-code-block{color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:12px;margin:1.5rem 0;padding:1.25rem 1.5rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9rem;line-height:1.65;overflow-x:auto;box-shadow:inset 0 1px #ffffff0d,0 4px 16px #00000026}.editor-content pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}.editor-content .hljs-comment,.editor-content .hljs-quote{color:#64748b;font-style:italic}.editor-content .hljs-keyword,.editor-content .hljs-selector-tag,.editor-content .hljs-built_in{color:#c084fc}.editor-content .hljs-string,.editor-content .hljs-attr{color:#86efac}.editor-content .hljs-number{color:#fbbf24}.editor-content .hljs-function,.editor-content .hljs-title{color:#60a5fa}.editor-content .hljs-variable,.editor-content .hljs-class{color:#5eead4}.editor-content mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(120deg,#fef08a 0%,#fde047 100%);border-radius:4px;padding:.1rem .3rem}.editor-content hr{background:linear-gradient(90deg,transparent 0%,var(--border,#e2e8f0)20%,var(--border,#e2e8f0)80%,transparent 100%);border:none;border-radius:3px;height:3px;margin:2rem 0}.editor-content .editor-image,.editor-content img{border-radius:12px;max-width:100%;height:auto;margin:1.5rem 0;transition:transform .2s;display:block;box-shadow:0 4px 20px #0000001a}.editor-content img:hover{transform:scale(1.01)}.editor-content img.ProseMirror-selectednode{outline:3px solid var(--accent,#3b82f6);outline-offset:2px}.editor-content .editor-youtube,.editor-content iframe{aspect-ratio:16/9;border-radius:12px;width:100%;max-width:720px;margin:1.5rem 0;box-shadow:0 4px 20px #0000001f}.editor-content table,.editor-content .editor-table{border-collapse:collapse;background:var(--surface-1,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;width:100%;margin:1.5rem 0;overflow:hidden;box-shadow:0 2px 8px #0000000f}.editor-content th,.editor-content td{border:1px solid var(--border,#e2e8f0);text-align:left;vertical-align:top;padding:12px 16px;line-height:1.6}.editor-content th{background:var(--surface-2,#f8fafc);color:var(--text,#1e293b);font-weight:600}.editor-content tr:hover td{background:var(--surface-2,#f8fafc)}.editor-content .selectedCell:after{content:"";pointer-events:none;z-index:2;background:#3b82f61a;position:absolute;inset:0}.editor-content td,.editor-content th{position:relative}.editor-content [style*="text-align: left"]{text-align:left}.editor-content [style*="text-align: center"]{text-align:center}.editor-content [style*="text-align: right"]{text-align:right}.rich-text-viewer .editor-content{min-height:auto;padding:0}.rich-text-viewer .tiptap{min-height:auto}@media (max-width:768px){.editor-toolbar{gap:4px;padding:10px 12px}.toolbar-group{border-radius:8px;padding:3px 5px}.editor-toolbar button{border-radius:6px;min-width:32px;height:32px;font-size:.85rem}.editor-content{padding:20px 18px}.editor-content .tiptap{font-size:1rem}.editor-content h1{font-size:1.75rem}.editor-content h2{font-size:1.5rem}.editor-content h3{font-size:1.25rem}.editor-content p{font-size:1rem}}@media (max-width:480px){.editor-toolbar{padding:8px}.toolbar-group{margin-bottom:4px}.editor-content{padding:16px 14px}.editor-content pre{padding:1rem;font-size:.85rem}}.equipment-page{padding:0}.equipment-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.equipment-header .header-content h1{color:var(--text);margin:0;font-family:Rajdhani,sans-serif;font-size:1.8rem;font-weight:600}.equipment-header .header-content p{color:var(--muted);margin:.25rem 0 0}.equipment-filters{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.equipment-filters .filter-group{flex:1;min-width:180px}.equipment-filters input,.equipment-filters select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.75rem 1rem;font-size:.95rem}.equipment-filters input:focus,.equipment-filters select:focus{border-color:var(--accent);outline:none}.equipment-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.equipment-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.25rem;transition:all .2s}.equipment-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.equipment-card .card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.equipment-card .category-icon{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;display:flex}.equipment-card .status-badge{color:#000;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.equipment-card h3{color:var(--text);margin:0 0 .5rem;font-family:Rajdhani,sans-serif;font-size:1.2rem;font-weight:600}.equipment-card .description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .75rem;font-size:.9rem;display:-webkit-box;overflow:hidden}.equipment-card .card-details{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.equipment-card .detail{color:var(--muted-2);font-size:.85rem}.equipment-card .card-actions{gap:.5rem;display:flex}.equipment-card .btn{border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:.6rem 1rem;font-weight:600;transition:all .2s}.equipment-card .btn.primary{background:var(--accent);color:#000}.equipment-card .btn.primary:hover{background:#22c55e}.equipment-card .btn.disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.my-reservations-panel{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1.5rem;padding:1.5rem}.my-reservations-panel h2{color:var(--text);margin:0 0 1rem;font-family:Rajdhani,sans-serif;font-size:1.3rem}.reservations-list{flex-direction:column;gap:.75rem;display:flex}.reservation-card{background:var(--surface-2);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.reservation-info{flex-direction:column;gap:.25rem;display:flex}.reservation-info .equipment-name{color:var(--text);font-weight:600}.reservation-info .reservation-dates{color:var(--muted);font-size:.85rem}.reservation-info .reservation-qty{color:var(--accent-2);font-size:.8rem}.reservation-status{align-items:center;gap:.75rem;display:flex}.reservation-status .status-badge{color:#000;border-radius:12px;padding:.3rem .75rem;font-size:.75rem;font-weight:600}.btn-cancel{border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.4rem .75rem;font-size:.8rem;transition:all .2s}.btn-cancel:hover{background:var(--danger);color:#fff}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:var(--text);margin:0;font-family:Rajdhani,sans-serif;font-size:1.3rem}.modal-header .close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem}.modal-content form{padding:1.5rem}.modal-content .form-group{margin-bottom:1.25rem}.modal-content .form-group label{color:var(--muted);margin-bottom:.5rem;font-size:.9rem;display:block}.modal-content .form-group label .hint{color:var(--amber);font-size:.8rem}.modal-content .form-group input,.modal-content .form-group textarea,.modal-content .form-group select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.75rem 1rem;font-size:.95rem}.modal-content .form-group textarea{resize:vertical;min-height:80px}.modal-content .form-group input:focus,.modal-content .form-group textarea:focus{border-color:var(--accent);outline:none}.modal-content .info-message{border:1px solid var(--amber);border-radius:var(--radius-sm);color:var(--amber);background:#f5b63a1a;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.modal-actions{justify-content:flex-end;gap:1rem;display:flex}.modal-actions .btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.75rem 1.5rem;font-weight:600}.modal-actions .btn.secondary{background:var(--surface-2);color:var(--text)}.modal-actions .btn.primary{background:var(--accent);color:#000}.modal-actions .btn.primary:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;color:var(--muted);padding:4rem 2rem}.empty-state .empty-icon{margin-bottom:1rem;font-size:4rem;display:block}.empty-message{color:var(--muted);text-align:center;padding:2rem}.loading{text-align:center;color:var(--muted);padding:3rem}.my-equipment-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.my-equipment-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem;transition:all .2s}.my-equipment-card:hover{border-color:var(--accent)}.equipment-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.quantity-badge{background:var(--accent);color:#000;border-radius:8px;padding:.25rem .6rem;font-size:.85rem;font-weight:600}.equipment-name{color:var(--text);margin:0 0 .5rem;font-family:Rajdhani,sans-serif;font-size:1.25rem;font-weight:600}.equipment-description{color:var(--muted);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.equipment-details{background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem 1rem}.detail-row{justify-content:space-between;padding:.35rem 0;font-size:.9rem;display:flex}.detail-row:not(:last-child){border-bottom:1px solid var(--border)}.detail-label{color:var(--muted)}.detail-value{color:var(--text);font-weight:500}.assignment-info{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1rem}.info-row{color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.85rem;display:flex}.info-row .info-icon{font-size:.9rem}.info-row.notes{color:var(--text);margin-top:.5rem;font-style:italic}.loading-state{text-align:center;color:var(--muted);padding:3rem}@media (max-width:768px){.equipment-header{flex-direction:column;align-items:flex-start}.equipment-filters{flex-direction:column}.equipment-grid,.my-equipment-grid{grid-template-columns:1fr}.reservation-card{flex-direction:column;align-items:flex-start}}.my-loadouts-page{max-width:1400px;margin:0 auto;padding:1.5rem}.my-loadouts-page.loading{min-height:400px;color:var(--muted);justify-content:center;align-items:center;display:flex}.my-loadouts-page .page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.my-loadouts-page .header-content h1{color:var(--text);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.my-loadouts-page .subtitle{color:var(--muted);margin:0;font-size:.95rem}.my-loadouts-page .loadouts-layout{grid-template-columns:280px 1fr;gap:1.5rem;min-height:600px;display:grid}.my-loadouts-page .loadouts-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);height:fit-content;padding:1.25rem;position:sticky;top:1rem}.my-loadouts-page .loadouts-sidebar h3{color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.75rem;font-size:.9rem;font-weight:600}.my-loadouts-page .empty-loadouts{text-align:center;color:var(--muted);padding:1.5rem 0}.my-loadouts-page .empty-loadouts p{margin-bottom:1rem}.my-loadouts-page .loadouts-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.my-loadouts-page .loadout-item{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:.875rem 1rem;transition:all .2s}.my-loadouts-page .loadout-item:hover{border-color:var(--accent);background:var(--surface-2)}.my-loadouts-page .loadout-item.active{border-color:var(--accent);background:#4caf501a}.my-loadouts-page .loadout-info{flex-direction:column;gap:.25rem;display:flex}.my-loadouts-page .loadout-name{color:var(--text);font-size:.95rem;font-weight:500}.my-loadouts-page .loadout-meta{color:var(--muted);font-size:.75rem}.my-loadouts-page .loadout-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-height:500px;padding:1.5rem}.my-loadouts-page .no-loadout-selected{height:100%;min-height:400px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.my-loadouts-page .no-loadout-selected .icon{opacity:.5;margin-bottom:1rem;font-size:4rem}.my-loadouts-page .loadout-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.my-loadouts-page .loadout-title h2{color:var(--text);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.5rem;font-weight:600;display:flex}.my-loadouts-page .default-badge{color:#ffc107;background:#ffc10733;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:500}.my-loadouts-page .loadout-title .description{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.my-loadouts-page .visibility-badge{border-radius:4px;padding:.25rem .6rem;font-size:.75rem;display:inline-block}.my-loadouts-page .visibility-badge.public{color:var(--success);background:#22c55e26}.my-loadouts-page .visibility-badge.private{color:var(--muted);background:#6b728026}.my-loadouts-page .loadout-actions{flex-wrap:wrap;gap:.5rem;display:flex}.my-loadouts-page .loadout-items{margin-top:1.5rem}.my-loadouts-page .items-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.my-loadouts-page .items-header h3{color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.my-loadouts-page .no-items{text-align:center;color:var(--muted);background:var(--background);border-radius:var(--radius-md);border:1px dashed var(--border);padding:3rem}.my-loadouts-page .no-items p{margin-bottom:1rem}.my-loadouts-page .items-by-type{flex-direction:column;gap:2rem;display:flex}.my-loadouts-page .item-type-section h4{color:var(--accent);border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.5rem;font-size:.9rem;font-weight:600}.my-loadouts-page .items-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.my-loadouts-page .equipment-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;transition:all .2s}.my-loadouts-page .equipment-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #00000026}.my-loadouts-page .equipment-card .card-header{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.my-loadouts-page .equipment-card .item-icon{flex-shrink:0;font-size:1.5rem}.my-loadouts-page .equipment-card .item-main-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.my-loadouts-page .equipment-card .item-name{color:var(--text);font-size:1rem;font-weight:600}.my-loadouts-page .equipment-card .custom-label{color:var(--accent-2);font-size:.8rem;font-weight:500}.my-loadouts-page .equipment-card .item-brand-model{color:var(--muted);gap:.5rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.my-loadouts-page .equipment-card .brand{font-weight:500}.my-loadouts-page .equipment-card .item-description{color:var(--muted);margin:.5rem 0;font-size:.85rem;line-height:1.4}.my-loadouts-page .equipment-card .item-specs{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.my-loadouts-page .equipment-card .spec-tag{background:var(--surface-2);color:var(--text);border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.my-loadouts-page .equipment-card .spec-tag strong{color:var(--muted);font-weight:500}.my-loadouts-page .equipment-card .card-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.my-loadouts-page .btn-primary{background:var(--accent);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.6rem 1.25rem;font-weight:500;transition:all .2s}.my-loadouts-page .btn-primary:hover:not(:disabled){filter:brightness(1.1)}.my-loadouts-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.my-loadouts-page .btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:.6rem 1.25rem;font-weight:500;transition:all .2s}.my-loadouts-page .btn-secondary:hover{background:var(--border)}.my-loadouts-page .btn-danger{color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:#ef444426;border:1px solid #ef44444d;padding:.6rem 1.25rem;font-weight:500;transition:all .2s}.my-loadouts-page .btn-danger:hover{background:#ef444440}.my-loadouts-page .btn-sm{padding:.4rem .75rem;font-size:.85rem}.my-loadouts-page .btn-icon{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.4rem;font-size:1rem;transition:background .2s}.my-loadouts-page .btn-icon:hover{background:var(--surface-2)}.my-loadouts-page .btn-icon.danger:hover{background:#ef444426}.my-loadouts-page .modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.my-loadouts-page .modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;position:relative;overflow:hidden}.my-loadouts-page .modal.modal-large{max-width:650px}.my-loadouts-page .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 3.5rem 1.25rem 1.5rem;display:flex;position:relative}.my-loadouts-page .modal-header h2{color:var(--text);margin:0;font-size:1.25rem;font-weight:600}.my-loadouts-page .modal-close{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.my-loadouts-page .modal-close:hover{border-color:var(--danger);color:var(--danger);background:#ef444426}.my-loadouts-page .modal-body{flex:1;padding:1.5rem;overflow-y:auto}.my-loadouts-page .modal-footer{border-top:1px solid var(--border);background:var(--background);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.my-loadouts-page .form-group{margin-bottom:1.25rem}.my-loadouts-page .form-group label{color:var(--text);margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.my-loadouts-page .form-group input,.my-loadouts-page .form-group select,.my-loadouts-page .form-group textarea{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.65rem .875rem;font-size:.95rem}.my-loadouts-page .form-group input:focus,.my-loadouts-page .form-group select:focus,.my-loadouts-page .form-group textarea:focus{border-color:var(--accent);outline:none}.my-loadouts-page .form-group textarea{resize:vertical;min-height:80px}.my-loadouts-page .form-hint{color:var(--muted);margin-top:.375rem;font-size:.8rem;display:block}.my-loadouts-page .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.my-loadouts-page .checkbox-group label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.my-loadouts-page .checkbox-group input[type=checkbox]{width:auto}.my-loadouts-page .specs-list{flex-direction:column;gap:.5rem;display:flex}.my-loadouts-page .spec-row{align-items:center;gap:.5rem;display:flex}.my-loadouts-page .spec-row input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);flex:1;padding:.5rem .75rem;font-size:.9rem}.my-loadouts-page .spec-row input:first-child{max-width:150px}@media (max-width:1024px){.my-loadouts-page .loadouts-layout{grid-template-columns:1fr}.my-loadouts-page .loadouts-sidebar{position:static}.my-loadouts-page .loadouts-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}}@media (max-width:768px){.my-loadouts-page{padding:1rem}.my-loadouts-page .page-header{flex-direction:column;align-items:stretch}.my-loadouts-page .loadout-header{flex-direction:column}.my-loadouts-page .loadout-actions{justify-content:flex-start}.my-loadouts-page .form-row,.my-loadouts-page .items-grid{grid-template-columns:1fr}}.my-loadouts-page .equipment-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.my-loadouts-page .equipment-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #0003}.my-loadouts-page .card-image-section{background:var(--surface-2);position:relative}.my-loadouts-page .item-thumbnail{cursor:pointer;width:100%;height:160px;position:relative;overflow:hidden}.my-loadouts-page .item-thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.my-loadouts-page .item-thumbnail:hover img{transform:scale(1.05)}.my-loadouts-page .thumbnail-overlay{opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.my-loadouts-page .item-thumbnail:hover .thumbnail-overlay{opacity:1}.my-loadouts-page .thumbnail-overlay span{color:#fff;font-size:2rem}.my-loadouts-page .item-no-image{background:linear-gradient(135deg,var(--surface-2)0%,var(--background)100%);justify-content:center;align-items:center;width:100%;height:120px;display:flex}.my-loadouts-page .item-no-image span{opacity:.5;font-size:3rem}.my-loadouts-page .image-actions{opacity:0;gap:.25rem;transition:opacity .2s;display:flex;position:absolute;bottom:.5rem;right:.5rem}.my-loadouts-page .card-image-section:hover .image-actions{opacity:1}.my-loadouts-page .btn-icon.small{color:#fff;background:#000000b3;border-radius:4px;padding:.35rem;font-size:.85rem}.my-loadouts-page .btn-icon.small:hover{background:#000000e6}.my-loadouts-page .btn-icon.small.danger:hover{background:#ef4444e6}.my-loadouts-page .card-content{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex}.my-loadouts-page .card-content .card-header{margin-bottom:.25rem}.my-loadouts-page .card-content .item-main-info{flex-direction:column;gap:.15rem;display:flex}.my-loadouts-page .card-content .item-name{color:var(--text);font-size:1.05rem;font-weight:600;line-height:1.3}.my-loadouts-page .card-content .custom-label{color:var(--accent-2);font-size:.8rem;font-weight:500}.my-loadouts-page .card-content .item-brand-model{color:var(--muted);flex-wrap:wrap;gap:.75rem;font-size:.8rem;display:flex}.my-loadouts-page .card-content .brand,.my-loadouts-page .card-content .model{align-items:center;gap:.25rem;display:flex}.my-loadouts-page .card-content .item-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.my-loadouts-page .card-content .item-specs{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.my-loadouts-page .card-content .spec-tag{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.2rem .5rem;font-size:.7rem}.my-loadouts-page .card-content .spec-tag strong{color:var(--accent);font-weight:600}.my-loadouts-page .card-content .card-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.my-loadouts-page .lightbox-overlay{z-index:2000;cursor:pointer;background:#000000e6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.my-loadouts-page .lightbox-content{cursor:default;max-width:90vw;max-height:90vh;display:inline-block;position:relative}.my-loadouts-page .lightbox-content img{border-radius:var(--radius-md);max-width:100%;max-height:85vh;display:block;box-shadow:0 8px 32px #00000080}.my-loadouts-page .lightbox-close{color:#fff;cursor:pointer;z-index:10;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;transition:background .2s;display:flex;position:absolute;top:10px;right:10px}.my-loadouts-page .lightbox-close:hover{background:#ef4444e6}.quiz-editor{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;overflow:hidden}.quiz-editor-header{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.quiz-editor-header h4{margin:0;font-size:.95rem;font-weight:600}.quiz-empty{text-align:center;padding:2rem}.quiz-questions{padding:.5rem}.quiz-question-card{border:1px solid var(--border);background:var(--surface-1);border-radius:6px;margin-bottom:.5rem;overflow:hidden}.quiz-question-card:last-child{margin-bottom:0}.quiz-question-card.expanded{border-color:var(--accent)}.quiz-question-header{cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background .15s;display:flex}.quiz-question-header:hover{background:var(--surface-2)}.question-number{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:600;display:flex}.question-preview{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;overflow:hidden}.question-meta{color:var(--muted);flex-shrink:0;font-size:.75rem}.question-actions{gap:4px;display:flex}.question-actions .btn-icon{cursor:pointer;width:28px;height:28px;color:var(--text);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.85rem;display:flex}.question-actions .btn-icon:hover{background:var(--surface-3)}.question-actions .btn-icon:disabled{opacity:.3;cursor:not-allowed}.question-actions .btn-icon.danger:hover{color:#ef4444;background:#ef44441a}.quiz-question-body{border-top:1px solid var(--border);background:var(--surface-2);padding:1rem}.quiz-question-body .form-group{margin-bottom:1rem}.quiz-question-body .form-group:last-child{margin-bottom:0}.quiz-question-body label{color:var(--text);margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.quiz-question-body input[type=text],.quiz-question-body textarea{border:1px solid var(--border);background:var(--surface-1);width:100%;color:var(--text);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.quiz-question-body input[type=text]:focus,.quiz-question-body textarea:focus{border-color:var(--accent);outline:none}.quiz-options{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.quiz-option{border:1px solid var(--border);background:var(--surface-1);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;transition:all .15s;display:flex}.quiz-option.correct{background:#22c55e1a;border-color:#22c55e}.quiz-option input[type=radio]{cursor:pointer;accent-color:#22c55e;width:18px;height:18px}.quiz-option input[type=text]{background:0 0;border:none;flex:1;padding:0}.quiz-option input[type=text]:focus{border:none;outline:none}.quiz-option .btn-icon{cursor:pointer;width:24px;height:24px;color:var(--muted);opacity:0;background:0 0;border:none;border-radius:4px;padding:0;font-size:.75rem;transition:opacity .15s}.quiz-option:hover .btn-icon{opacity:1}.quiz-option .btn-icon:hover{color:#ef4444}.quiz-player{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;overflow:hidden}.quiz-player-header{background:var(--surface-2);border-bottom:1px solid var(--border);padding:1.25rem}.quiz-player-header h2{margin:0 0 .5rem;font-size:1.25rem}.quiz-player-header p{color:var(--muted);margin:0;font-size:.9rem}.quiz-progress-bar{background:var(--surface-3);border-radius:999px;height:4px;margin-top:1rem;overflow:hidden}.quiz-progress-fill{background:var(--accent);height:100%;transition:width .3s}.quiz-questions-list{padding:1.25rem}.quiz-question-item{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.5rem}.quiz-question-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.quiz-question-text{gap:.75rem;margin-bottom:1rem;display:flex}.quiz-question-text .q-number{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:600;display:flex}.quiz-question-text p{margin:0;padding-top:4px;font-size:1rem;line-height:1.5}.quiz-answers{flex-direction:column;gap:.5rem;margin-left:44px;display:flex}.quiz-answer{border:2px solid var(--border);background:var(--surface-1);cursor:pointer;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .15s;display:flex}.quiz-answer:hover{border-color:var(--accent);background:var(--surface-2)}.quiz-answer.selected{border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}.quiz-answer.correct{background:#22c55e1a;border-color:#22c55e}.quiz-answer.incorrect{background:#ef44441a;border-color:#ef4444}.quiz-answer.correct .answer-indicator,.quiz-answer.incorrect .answer-indicator{display:flex}.quiz-answer input[type=radio]{width:20px;height:20px;accent-color:var(--accent)}.quiz-answer .answer-text{flex:1;font-size:.95rem}.answer-indicator{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;display:none}.quiz-answer.correct .answer-indicator{color:#fff;background:#22c55e}.quiz-answer.incorrect .answer-indicator{color:#fff;background:#ef4444}.quiz-explanation{color:var(--text);background:#22c55e1a;border-left:3px solid #22c55e;border-radius:0 6px 6px 0;margin-top:.75rem;margin-left:44px;padding:.75rem 1rem;font-size:.9rem}.quiz-player-footer{background:var(--surface-2);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.quiz-stats{color:var(--muted);font-size:.9rem}.quiz-result{text-align:center;padding:2rem}.quiz-result-icon{margin-bottom:1rem;font-size:4rem}.quiz-result h2{margin:0 0 .5rem;font-size:1.5rem}.quiz-result .score{color:var(--accent);margin:1rem 0;font-size:3rem;font-weight:700}.quiz-result .score.passing{color:#22c55e}.quiz-result .score.failing{color:#ef4444}.quiz-result p{color:var(--muted);margin-bottom:1.5rem}.quiz-result .btn{min-width:200px}.docs-page{background:linear-gradient(135deg,var(--background)0%,var(--surface-1)100%);min-height:100vh;padding:2rem}.docs-header{margin-bottom:2rem}.docs-header-content{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.docs-title-section h1{color:var(--text);margin:0 0 .5rem;font-size:2rem;font-weight:700}.docs-subtitle{color:var(--muted);margin:0;font-size:1rem}.docs-upload-btn{background:linear-gradient(135deg,var(--accent)0%,var(--accent-hover)100%);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #6366f140}.docs-upload-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f159}.docs-upload-btn.small{padding:.75rem 1.25rem;font-size:.875rem}.upload-icon{font-size:1.25rem;font-weight:300}.docs-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.stat-card{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;align-items:center;gap:1rem;padding:1.25rem 1.5rem;transition:all .2s;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.stat-icon{font-size:2rem}.stat-value{color:var(--text);font-size:1.75rem;font-weight:700;line-height:1}.stat-label{color:var(--muted);margin-top:.25rem;font-size:.85rem}.docs-tabs{background:var(--surface-2);border-radius:12px;gap:.5rem;width:fit-content;margin-bottom:1.5rem;padding:.5rem;display:flex}.docs-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.docs-tab:hover{color:var(--text);background:var(--surface-3)}.docs-tab.active{background:var(--accent);color:#fff}.docs-section{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:1.5rem}.docs-filters{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.search-box{flex:1;min-width:250px;position:relative}.search-icon{pointer-events:none;font-size:1rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-box input{background:var(--surface-3);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:.875rem 1rem .875rem 2.75rem;font-size:.95rem;transition:all .2s}.search-box input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6366f126}.category-select{background:var(--surface-3);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:10px;min-width:200px;padding:.875rem 1.25rem;font-size:.95rem}.category-select:focus{border-color:var(--accent);outline:none}.docs-loading,.docs-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.loading-spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}.empty-icon{margin-bottom:1rem;font-size:4rem}.docs-empty h3{color:var(--text);margin:0 0 .5rem;font-size:1.25rem}.docs-empty p{color:var(--muted);margin:0 0 1.5rem}.docs-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.doc-card{background:var(--surface-3);border:1px solid var(--border);border-radius:16px;flex-direction:column;padding:1.25rem;transition:all .2s;display:flex}.doc-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.doc-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.doc-icon{font-size:2.5rem}.visibility-badge{border-radius:20px;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.visibility-badge.all{color:#22c55e;background:#22c55e26}.visibility-badge.member{color:#3b82f6;background:#3b82f626}.visibility-badge.instructor{color:#a855f7;background:#a855f726}.doc-card-body{flex:1;margin-bottom:1rem}.doc-title{color:var(--text);margin:0 0 .5rem;font-size:1.1rem;font-weight:600;line-height:1.3}.doc-category{color:var(--accent);margin:0 0 .5rem;font-size:.85rem}.doc-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.doc-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.doc-meta{flex-direction:column;gap:.25rem;display:flex}.doc-type{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.doc-date{color:var(--muted);font-size:.75rem}.doc-actions{gap:.5rem;display:flex}.doc-action-btn{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:all .2s;display:flex}.doc-action-btn:hover{transform:scale(1.1)}.doc-action-btn.preview:hover{background:#3b82f626;border-color:#3b82f6}.doc-action-btn.download:hover{background:#22c55e26;border-color:#22c55e}.doc-action-btn.delete:hover{background:#ef444426;border-color:#ef4444}.doc-action-btn:disabled{opacity:.5;cursor:not-allowed}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.category-card{background:var(--surface-3);border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:all .2s}.category-card-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.category-icon{font-size:2rem}.category-info h4{color:var(--text);margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.category-count{color:var(--muted);font-size:.85rem}.category-roles{margin-bottom:1rem}.roles-label{color:var(--muted);margin-bottom:.5rem;font-size:.8rem;display:block}.role-chips{flex-wrap:wrap;gap:.5rem;display:flex}.role-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:20px;padding:.5rem .875rem;font-size:.8rem;transition:all .2s}.role-chip:hover{border-color:var(--accent)}.role-chip.active{border-color:var(--accent);color:var(--accent);background:#6366f126}.role-chip:disabled{opacity:.6;cursor:wait}.category-actions{justify-content:flex-end;display:flex}.delete-category-btn{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.delete-category-btn:hover:not(:disabled){background:#ef44441a}.delete-category-btn:disabled{opacity:.4;cursor:not-allowed}.add-category-form{background:var(--surface-3);border:2px dashed var(--border);border-radius:16px;padding:1.5rem}.add-category-form h4{color:var(--text);margin:0 0 1rem;font-size:1rem}.form-row{gap:.75rem;margin-bottom:1rem;display:flex}.add-category-form input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;flex:1;padding:.875rem 1rem;font-size:.95rem}.add-category-form input:focus{border-color:var(--accent);outline:none}.add-category-form button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.875rem 1.5rem;font-weight:600;transition:all .2s}.add-category-form button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.add-category-form button[type=submit]:disabled{opacity:.6;cursor:wait}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-close{background:var(--surface-3);border:1px solid var(--border);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:10px;font-size:1.5rem;transition:all .2s;position:absolute;top:1rem;right:1rem}.modal-close:hover{background:var(--danger);border-color:var(--danger);color:#fff}.upload-modal{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;width:100%;max-width:500px;padding:2rem;position:relative}.upload-modal h2{color:var(--text);margin:0 0 1.5rem;font-size:1.5rem}.form-group input,.form-group select,.form-group textarea{background:var(--surface-3);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:.875rem 1rem;font-size:.95rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6366f126}.file-drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;padding:2rem;transition:all .2s}.file-drop-zone:hover{border-color:var(--accent);background:#6366f10d}.drop-placeholder span{margin-bottom:.75rem;font-size:2.5rem;display:block}.drop-placeholder p{color:var(--text);margin:0 0 .25rem}.drop-placeholder small{color:var(--muted);font-size:.8rem}.selected-file{background:var(--surface-2);border-radius:10px;align-items:center;gap:1rem;padding:1rem;display:flex}.selected-file .file-icon{font-size:2rem}.selected-file .file-info{text-align:left;flex:1}.selected-file .file-name{color:var(--text);font-weight:500;display:block}.selected-file .file-size{color:var(--muted);font-size:.8rem}.selected-file .remove-file{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:8px;width:32px;height:32px;font-size:1.25rem}.form-actions{gap:1rem;margin-top:1.5rem;display:flex}.btn-cancel{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:.875rem;font-weight:500;transition:all .2s}.btn-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:2;padding:.875rem;font-weight:600;transition:all .2s}.btn-submit:hover:not(:disabled){background:var(--accent-hover)}.preview-modal{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;position:relative;overflow:hidden}.preview-header{border-bottom:1px solid var(--border);padding:1.5rem}.preview-header h3{color:var(--text);margin:0 0 .25rem;font-size:1.25rem}.preview-header p{color:var(--muted);margin:0;font-size:.9rem}.pdf-preview{background:var(--surface-3);border:none;flex:1;width:100%;min-height:500px}.no-preview{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem;display:flex}.no-preview span{margin-bottom:1rem;font-size:3rem}.no-preview p{color:var(--muted)}.preview-actions{border-top:1px solid var(--border);gap:1rem;padding:1.5rem;display:flex}.btn-download{background:var(--accent);color:#fff;text-align:center;border:none;border-radius:10px;flex:1;padding:.875rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-download:hover{background:var(--accent-hover)}.btn-close{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;padding:.875rem 1.5rem;font-weight:500;transition:all .2s}.btn-close:hover{background:var(--surface-3)}@media (max-width:768px){.docs-page{padding:1rem}.docs-header-content{flex-direction:column}.docs-upload-btn{justify-content:center;width:100%}.docs-tabs{width:100%}.docs-tab{text-align:center;flex:1}.docs-grid,.categories-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.modal-overlay{padding:1rem}.upload-modal,.preview-modal{border-radius:16px}}.event-attendance-page{max-width:1200px;margin:0 auto;padding:1.5rem}.attendance-loading,.attendance-error{text-align:center;color:var(--muted);padding:3rem}.attendance-error{color:var(--danger)}.attendance-error button{background:var(--accent);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:1rem;padding:.6rem 1.25rem;font-weight:500}.attendance-header{margin-bottom:2rem}.header-nav{margin-bottom:1rem}.back-btn{color:var(--accent-2);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;transition:color .2s}.back-btn:hover{color:var(--accent)}.event-info h1{color:var(--text);margin:0 0 .5rem;font-family:Rajdhani,sans-serif;font-size:1.5rem}.event-meta{color:var(--muted);flex-wrap:wrap;gap:1rem;font-size:.9rem;display:flex}.event-type{background:var(--surface-2);color:var(--accent-2);border:1px solid #7cc4ff4d;border-radius:15px;padding:.25rem .75rem;font-weight:500}.attendance-summary{grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;border-left:3px solid;padding:1rem}.summary-card.summary-total{border-left-color:var(--accent-2)}.summary-card.summary-present{border-left-color:var(--accent)}.summary-card.summary-late{border-left-color:var(--amber)}.summary-card.summary-excused{border-left-color:#a78bfa}.summary-card.summary-absent{border-left-color:var(--danger)}.summary-card.summary-pending{border-left-color:var(--muted)}.summary-value{color:var(--text);font-family:Rajdhani,sans-serif;font-size:1.5rem;font-weight:700;display:block}.summary-label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:.75rem}.bulk-actions{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.selection-actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn-secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--accent-2)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.bulk-apply{align-items:center;gap:.75rem;display:flex}.bulk-status-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.5rem .75rem;font-size:.9rem}.btn-primary{background:var(--accent);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s}.btn-primary:hover:not(:disabled){background:#5eeb9d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.attendance-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.attendance-table{border-collapse:collapse;width:100%}.attendance-table th{background:var(--surface-2);text-align:left;color:var(--text);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;padding:1rem;font-size:.85rem;font-weight:600}.attendance-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:.85rem 1rem}.attendance-table tr:last-child td{border-bottom:none}.attendance-table tr:hover{background:var(--surface-2)}.attendance-table input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.member-cell{align-items:center;gap:.75rem;display:flex}.member-avatar{background:var(--surface-3);border:1px solid var(--border);width:36px;height:36px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.member-info{flex-direction:column;display:flex}.member-name{font-size:.9rem;font-weight:500}.member-meta{color:var(--muted);font-size:.75rem}.status-badge{border-radius:15px;align-items:center;padding:.3rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.status-badge.status-present{color:var(--accent);background:#4ade8026;border:1px solid #4ade804d}.status-badge.status-absent{color:var(--danger);background:#ef444426;border:1px solid #ef44444d}.status-badge.status-excused{color:#a78bfa;background:#a78bfa26;border:1px solid #a78bfa4d}.status-badge.status-late{color:var(--amber);background:#f5b63a26;border:1px solid #f5b63a4d}.status-badge.status-pending{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.status-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;min-width:120px;padding:.4rem .6rem;font-size:.85rem}.status-select:focus{border-color:var(--accent);outline:none}.notes-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.4rem .6rem;font-size:.85rem}.notes-input:focus{border-color:var(--accent);outline:none}.notes-input::placeholder{color:var(--muted)}.actions-cell{gap:.5rem;display:flex}.btn-icon{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);background:0 0;padding:.4rem .6rem;transition:all .2s}.btn-icon:hover{background:var(--surface-2);color:var(--text);border-color:var(--accent-2)}.btn-icon.saving{opacity:.5;cursor:wait}.no-participants{text-align:center;color:var(--muted);padding:3rem}.export-section{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.col-paf{min-width:100px}.paf-paid{color:var(--accent);font-weight:500}.paf-na{color:var(--muted)}.btn-confirm-paf{color:#f59e0b;border-radius:var(--radius-sm);cursor:pointer;background:#f59e0b33;border:1px solid #f59e0b66;padding:.35rem .75rem;font-size:.85rem;font-weight:500;transition:all .2s}.btn-confirm-paf:hover{background:#f59e0b4d;border-color:#f59e0b}.btn-confirm-paf:disabled{opacity:.5;cursor:not-allowed}.event-attendance-page .modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.event-attendance-page .add-member-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;overflow:hidden}.event-attendance-page .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.event-attendance-page .modal-header h2{color:var(--text);margin:0;font-size:1.25rem;font-weight:600}.event-attendance-page .modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1;transition:color .2s}.event-attendance-page .modal-close:hover{color:var(--danger)}.event-attendance-page .modal-body{flex:1;padding:1.5rem;overflow-y:auto}.event-attendance-page .search-section{margin-bottom:1.25rem}.event-attendance-page .search-input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.75rem 1rem;font-size:.95rem}.event-attendance-page .search-input:focus{border-color:var(--accent);outline:none}.event-attendance-page .add-member-options{gap:1rem;margin-bottom:1.25rem;display:flex}.event-attendance-page .option-group{flex-direction:column;flex:1;gap:.5rem;display:flex}.event-attendance-page .option-group label{color:var(--muted);font-size:.85rem;font-weight:500}.event-attendance-page .option-group select,.event-attendance-page .option-group .note-input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.6rem .75rem;font-size:.9rem}.event-attendance-page .members-list{min-height:200px;max-height:300px;overflow-y:auto}.event-attendance-page .loading-members,.event-attendance-page .no-members{text-align:center;color:var(--muted);padding:2rem;font-size:.9rem}.event-attendance-page .available-members{margin:0;padding:0;list-style:none}.event-attendance-page .available-member{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;transition:border-color .2s;display:flex}.event-attendance-page .available-member:hover{border-color:var(--accent)}.event-attendance-page .member-info{flex-direction:column;gap:.25rem;display:flex}.event-attendance-page .member-name{color:var(--text);font-weight:500}.event-attendance-page .member-details{color:var(--muted);font-size:.8rem}.event-attendance-page .btn-add-member{background:var(--accent);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.event-attendance-page .btn-add-member:hover{filter:brightness(1.1)}.event-attendance-page .btn-add-member:disabled{opacity:.5;cursor:not-allowed}@media (max-width:1024px){.attendance-summary{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.event-attendance-page{padding:1rem}.attendance-summary{grid-template-columns:repeat(2,1fr)}.bulk-actions{flex-direction:column;align-items:stretch}.bulk-apply{justify-content:space-between}.attendance-table{display:block;overflow-x:auto}.event-attendance-page .add-member-options{flex-direction:column}}.admin-dashboard{max-width:1400px;margin:0 auto;padding:1.5rem}.admin-dashboard-header{margin-bottom:2rem}.admin-dashboard-header h1{color:var(--text);letter-spacing:1px;margin:0 0 .5rem;font-family:Rajdhani,sans-serif;font-size:1.75rem}.dashboard-subtitle{color:var(--muted);margin:0;font-size:.95rem}.admin-dashboard-loading,.admin-dashboard-error{text-align:center;color:var(--muted);padding:4rem 2rem}.admin-dashboard-error{color:var(--danger)}.dashboard-alerts{border-radius:var(--radius);background:#f5b63a14;border:1px solid #f5b63a4d;margin-bottom:2rem;padding:1.5rem}.dashboard-alerts h2{color:var(--amber);align-items:center;gap:.5rem;margin:0 0 1rem;font-family:Rajdhani,sans-serif;font-size:1.1rem;display:flex}.alerts-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.alert-card{background:var(--surface);border-radius:var(--radius-sm);border-left:4px solid;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:1rem 1.25rem}.alert-card.alert-warning{border-left-color:var(--amber)}.alert-card.alert-info{border-left-color:var(--accent-2)}.alert-card h3{color:var(--text);margin:0 0 .75rem;font-size:.9rem}.alert-card ul{margin:0;padding:0;list-style:none}.alert-card li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.alert-card li:last-child{border-bottom:none}.alert-card a{color:var(--accent-2);text-decoration:none;transition:color .2s}.alert-card a:hover{color:var(--accent)}.alert-badge{background:var(--amber);color:var(--bg);border-radius:10px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.dashboard-stats-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid;align-items:center;gap:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;display:flex}.stat-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.stat-card.stat-primary{border-left-color:var(--accent-2)}.stat-card.stat-success{border-left-color:var(--accent)}.stat-card.stat-warning{border-left-color:var(--amber)}.stat-card.stat-info{border-left-color:#a78bfa}.stat-card.stat-accent{border-left-color:#f472b6}.stat-card.stat-danger{border-left-color:var(--danger)}.stat-icon{opacity:.85;font-size:2rem}.stat-value{color:var(--text);font-family:Rajdhani,sans-serif;font-size:1.5rem;font-weight:700}.stat-label{color:var(--muted);font-size:.85rem;font-weight:500}.stat-sub{color:var(--muted-2);margin-top:.25rem;font-size:.75rem}.dashboard-details-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.dashboard-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.dashboard-section h2{color:var(--text);letter-spacing:.5px;border-bottom:1px solid var(--border);margin:0 0 1.25rem;padding-bottom:.75rem;font-family:Rajdhani,sans-serif;font-size:1rem}.details-subsection{margin-bottom:1.25rem}.details-subsection:last-child{margin-bottom:0}.details-subsection h3{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem;font-size:.85rem}.distribution-bars{flex-direction:column;gap:.6rem;display:flex}.distribution-item{grid-template-columns:120px 1fr 45px;align-items:center;gap:.75rem;display:grid}.distribution-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.distribution-bar-container{background:var(--bg);border-radius:4px;height:8px;overflow:hidden}.distribution-bar{background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:4px;min-width:4px;height:100%;transition:width .3s}.distribution-count{color:var(--text);text-align:right;font-family:Rajdhani,sans-serif;font-size:.85rem;font-weight:600}.qualification-grid,.license-grid{flex-wrap:wrap;gap:.5rem;display:flex}.qualification-chip,.license-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;align-items:center;gap:.5rem;padding:.4rem .85rem;display:flex}.license-chip{background:#7cc4ff1a;border-color:#7cc4ff4d}.chip-label{color:var(--text);font-size:.8rem}.chip-count{background:var(--accent-2);color:var(--bg);text-align:center;border-radius:10px;min-width:22px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.license-chip .chip-count{background:var(--accent-2)}.cotisation-overview{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.cotisation-stat{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border);padding:1rem .5rem}.cotisation-stat.cotisation-valid{background:#4ade801a;border-color:#4ade804d}.cotisation-stat.cotisation-expiring{background:#f5b63a1a;border-color:#f5b63a4d}.cotisation-stat.cotisation-expired{background:#ef44441a;border-color:#ef44444d}.cotisation-stat.cotisation-none{background:var(--surface-2)}.cotisation-count{color:var(--text);font-family:Rajdhani,sans-serif;font-size:1.5rem;font-weight:700;display:block}.cotisation-label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:.7rem}.events-list{flex-direction:column;gap:.6rem;display:flex}.event-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.event-info{flex-direction:column;display:flex}.event-title{color:var(--text);font-size:.9rem;font-weight:600}.event-date{color:var(--muted);font-size:.8rem}.event-participants{color:var(--accent-2);background:#7cc4ff1a;border:1px solid #7cc4ff33;border-radius:10px;padding:.3rem .65rem;font-size:.8rem}.elearning-stats{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.elearning-stat{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem .5rem}.elearning-stat.highlight{background:#4ade801a;border-color:#4ade804d}.elearning-value{color:var(--text);font-family:Rajdhani,sans-serif;font-size:1.25rem;font-weight:700;display:block}.elearning-label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:.7rem}.view-all-link{color:var(--accent-2);align-items:center;gap:.35rem;margin-top:1rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.view-all-link:hover{color:var(--accent)}.dashboard-quick-actions{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.dashboard-quick-actions h2{color:var(--text);letter-spacing:.5px;margin:0 0 1.25rem;font-family:Rajdhani,sans-serif;font-size:1rem}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.quick-action-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.quick-action-btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent);transform:translateY(-2px)}@media (max-width:768px){.admin-dashboard{padding:1rem}.dashboard-stats-cards{grid-template-columns:repeat(2,1fr)}.dashboard-details-grid{grid-template-columns:1fr}.distribution-item{grid-template-columns:80px 1fr 35px}.cotisation-overview,.elearning-stats{grid-template-columns:repeat(2,1fr)}.stat-card{text-align:center;flex-direction:column}}.attendance-management-page{max-width:1400px;margin:0 auto;padding:2rem}.attendance-management-page .page-header{margin-bottom:2rem}.attendance-management-page .header-content h1{color:var(--text);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.attendance-management-page .subtitle{color:var(--muted);font-size:.95rem}.attendance-management-page .filters-bar{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.attendance-management-page .filter-group{flex-direction:column;gap:.25rem;display:flex}.attendance-management-page .filter-group label{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.attendance-management-page .filter-group select,.attendance-management-page .filter-group input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);color:var(--text);min-width:150px;padding:.5rem .75rem;font-size:.875rem}.attendance-management-page .filter-group.search{flex:1;min-width:200px}.attendance-management-page .filter-group.search input{width:100%}.attendance-management-page .stats-summary{gap:1rem;margin-bottom:1.5rem;display:flex}.attendance-management-page .stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:1rem 1.5rem;display:flex}.attendance-management-page .stat-value{color:var(--accent);font-size:1.75rem;font-weight:700}.attendance-management-page .stat-label{color:var(--muted);font-size:.8rem}.attendance-management-page .events-table-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.attendance-management-page .events-table{border-collapse:collapse;width:100%}.attendance-management-page .events-table th{text-align:left;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);padding:1rem;font-size:.75rem;font-weight:600}.attendance-management-page .events-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:1rem}.attendance-management-page .events-table tbody tr:last-child td{border-bottom:none}.attendance-management-page .events-table tbody tr:hover{background:var(--surface-2)}.attendance-management-page .events-table tbody tr.past{opacity:.7}.attendance-management-page .event-title{align-items:center;gap:.5rem;font-weight:500;display:flex}.attendance-management-page .event-emoji{font-size:1.2rem}.attendance-management-page .type-badge{color:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.attendance-management-page .event-date{color:var(--muted);white-space:nowrap;font-size:.85rem}.attendance-management-page .status-badge{border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.attendance-management-page .status-badge.scheduled{color:#3b82f6;background:#3b82f626}.attendance-management-page .status-badge.completed{color:var(--success);background:#22c55e26}.attendance-management-page .status-badge.cancelled{color:var(--danger);background:#ef444426}.attendance-management-page .stat-cell{text-align:center}.attendance-management-page .pending-count{color:var(--warning);background:#fbbf2426;border-radius:12px;padding:.25rem .6rem;font-size:.8rem;font-weight:600}.attendance-management-page .presence-stats{gap:.5rem;font-size:.75rem;display:flex}.attendance-management-page .presence-stats span{white-space:nowrap}.attendance-management-page .presence-stats .present{color:var(--success)}.attendance-management-page .presence-stats .late{color:var(--warning)}.attendance-management-page .presence-stats .absent{color:var(--danger)}.attendance-management-page .presence-stats .excused{color:var(--muted)}.attendance-management-page .rate-cell{min-width:100px}.attendance-management-page .rate-bar{background:var(--surface-2);border-radius:3px;height:6px;margin-bottom:.25rem;overflow:hidden}.attendance-management-page .rate-fill{border-radius:3px;height:100%;transition:width .3s}.attendance-management-page .rate-value{color:var(--muted);font-size:.75rem;font-weight:600}.attendance-management-page .actions-cell{text-align:right}.attendance-management-page .actions-cell .btn{white-space:nowrap}.attendance-management-page .loading,.attendance-management-page .empty-state{text-align:center;color:var(--muted);padding:3rem}.attendance-management-page .empty-icon{margin-bottom:1rem;font-size:3rem;display:block}@media (max-width:1024px){.attendance-management-page .events-table-container{overflow-x:auto}.attendance-management-page .events-table{min-width:900px}}@media (max-width:768px){.attendance-management-page{padding:1rem}.attendance-management-page .filters-bar{flex-direction:column}.attendance-management-page .filter-group,.attendance-management-page .filter-group select,.attendance-management-page .filter-group input{width:100%}.attendance-management-page .stats-summary{flex-direction:column}}.admin-equipment-page{padding:0}.admin-equipment-page .page-header{margin-bottom:1.5rem}.admin-equipment-page .page-header h1{color:var(--text);margin:0;font-family:Rajdhani,sans-serif;font-size:1.8rem;font-weight:600}.tabs{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.tab{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm)var(--radius-sm)0 0;background:0 0;border:none;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;transition:all .2s}.tab:hover{color:var(--text);background:var(--surface)}.tab.active{color:var(--accent);background:var(--surface);border-bottom:2px solid var(--accent)}.tab-content{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem}.tab-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.tab-header h2{color:var(--text);margin:0;font-family:Rajdhani,sans-serif;font-size:1.3rem;font-weight:600}.tab-header select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.5rem 1rem}.table-container{overflow-x:auto}.admin-equipment-page table{border-collapse:collapse;width:100%}.admin-equipment-page th,.admin-equipment-page td{text-align:left;border-bottom:1px solid var(--border);padding:.85rem 1rem}.admin-equipment-page th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.admin-equipment-page td{color:var(--text);font-size:.95rem}.admin-equipment-page td strong{display:block}.admin-equipment-page td .sub-text{color:var(--muted);font-size:.8rem}.category-badge{color:#000;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.8rem;font-weight:500;display:inline-flex}.status-tag{border-radius:6px;padding:.25rem .6rem;font-size:.8rem;font-weight:500;display:inline-block}.status-tag.available{color:var(--accent);background:#4ade8033}.status-tag.in_use{color:var(--amber);background:#f5b63a33}.status-tag.maintenance{color:var(--danger);background:#ef444433}.status-tag.out_of_service{color:var(--muted);background:#ffffff1a}.action-buttons{gap:.5rem;display:flex}.btn-icon{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.btn-icon:hover{background:var(--surface-3)}.btn-icon.danger:hover{border-color:var(--danger);background:#ef444433}.empty-cell{color:var(--muted);text-align:center!important;padding:2rem!important}.purpose-cell,.notes-cell{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.header-actions{align-items:center;gap:.75rem;display:flex}.category-card{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border);padding:1.25rem;transition:all .2s}.category-card.inactive{opacity:.5}.category-card:hover{border-color:var(--border-strong)}.category-header{gap:1rem;margin-bottom:.75rem;display:flex}.category-card .category-icon{border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.category-info h3{color:var(--text);margin:0;font-family:Rajdhani,sans-serif;font-size:1.1rem;font-weight:600}.category-info .equipment-count{color:var(--muted);font-size:.85rem}.category-desc{color:var(--muted-2);margin:0 0 .75rem;font-size:.9rem}.category-settings{color:var(--muted);flex-direction:column;gap:.35rem;margin-bottom:1rem;font-size:.85rem;display:flex}.category-actions{justify-content:flex-end;gap:.5rem;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.6rem 1.25rem;font-weight:600;transition:all .2s}.btn.primary{background:var(--accent);color:#000}.btn.primary:hover{background:#22c55e}.btn.primary:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{background:var(--surface-2);color:var(--text)}.btn.small{padding:.4rem .75rem;font-size:.85rem}.btn.success{background:var(--accent);color:#000}.btn.danger{background:var(--danger);color:#fff}.checkbox-group label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}@media (max-width:768px){.tabs{overflow-x:auto}.form-row{grid-template-columns:1fr}.action-buttons{flex-direction:column}}.admin-shop-page{max-width:1400px;margin:0 auto}.admin-shop-page .header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-shop-page .filters-bar{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.admin-shop-page .filter-group{align-items:center;gap:.5rem;display:flex}.admin-shop-page .filter-group label{color:var(--muted);font-weight:500}.admin-shop-page .filter-group select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:6px;padding:.5rem 1rem}.products-table-container{overflow-x:auto}.products-table{border-collapse:collapse;background:var(--surface-2);border-radius:12px;width:100%;overflow:hidden}.products-table th,.products-table td{text-align:left;border-bottom:1px solid var(--border);padding:1rem}.products-table th{background:var(--surface-3);color:var(--muted);text-transform:uppercase;font-size:.85rem;font-weight:600}.products-table tr:last-child td{border-bottom:none}.products-table tr.inactive{opacity:.6}.products-table tr:hover{background:var(--surface-3)}.col-image{width:60px}.col-image img{object-fit:cover;border-radius:6px;width:50px;height:50px}.col-image .no-image{background:var(--surface-3);opacity:.3;border-radius:6px;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;display:flex}.col-name strong{display:block}.col-name .description{color:var(--muted);margin-top:.25rem;font-size:.8rem;display:block}.col-price{color:var(--primary);font-weight:600}.stock-controls{align-items:center;gap:.5rem;display:flex}.stock-btn{border:1px solid var(--border);background:var(--surface-3);cursor:pointer;width:28px;height:28px;color:var(--text);border-radius:4px;justify-content:center;align-items:center;font-size:1rem;display:flex}.stock-btn:hover:not(:disabled){background:var(--surface-4)}.stock-btn:disabled{opacity:.4;cursor:not-allowed}.stock-value{text-align:center;min-width:30px;font-weight:600}.stock-value.out{color:var(--danger)}.stock-value.low{color:var(--warning)}.status-badge.active{color:var(--success);background:#22c55e26;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.status-badge.inactive{color:var(--muted);background:#6b728026;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.col-actions{white-space:nowrap}.col-actions .btn{margin-right:.5rem}.col-actions .btn:last-child{margin-right:0}.product-form-modal{max-width:600px}.product-form-modal .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.product-form-modal .form-group{margin-bottom:1rem}.product-form-modal label{margin-bottom:.5rem;font-weight:500;display:block}.product-form-modal input[type=text],.product-form-modal input[type=number],.product-form-modal select,.product-form-modal textarea{border:1px solid var(--border);background:var(--surface-3);width:100%;color:var(--text);border-radius:6px;padding:.75rem}.product-form-modal textarea{resize:vertical}.image-upload{width:100%}.image-preview{border-radius:8px;width:200px;height:200px;position:relative;overflow:hidden}.image-preview img{object-fit:cover;width:100%;height:100%}.image-preview .remove-image{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.2rem;display:flex;position:absolute;top:.5rem;right:.5rem}.upload-placeholder{border:2px dashed var(--border);cursor:pointer;width:200px;height:200px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.upload-placeholder:hover{border-color:var(--primary);color:var(--primary)}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-label input[type=checkbox]{width:18px;height:18px}.admin-shop-page .empty-state{text-align:center;background:var(--surface-2);border-radius:12px;padding:4rem 2rem}.admin-shop-page .empty-icon{margin-bottom:1rem;font-size:4rem;display:block}@media (max-width:768px){.products-table th:nth-child(2),.products-table td:nth-child(2){min-width:150px}.product-form-modal .form-row{grid-template-columns:1fr}}.admin-orders-page{max-width:1200px;margin:0 auto}.orders-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--surface-2);border:1px solid var(--border);text-align:center;border-radius:12px;padding:1.5rem}.stat-card.pending{border-left:4px solid var(--warning)}.stat-card.paid{border-left:4px solid var(--info)}.stat-card.delivered{border-left:4px solid var(--success)}.stat-value{color:var(--text);font-size:2rem;font-weight:700;display:block}.stat-label{color:var(--muted);margin-top:.25rem;font-size:.9rem;display:block}.admin-orders-page .filters-bar{flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;display:flex}.admin-orders-page .filter-group{align-items:center;gap:.5rem;display:flex}.admin-orders-page .filter-group label{color:var(--muted);font-weight:500}.admin-orders-page .filter-group select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:6px;padding:.5rem 1rem}.order-header{cursor:pointer;grid-template-columns:180px 1fr auto auto 30px;align-items:center;gap:1rem;padding:1rem;transition:background .2s;display:grid}.order-header:hover{background:var(--surface-3)}.order-main-info{flex-direction:column;display:flex}.order-number{font-size:1.1rem}.order-date{color:var(--muted);font-size:.8rem}.order-user{flex-direction:column;display:flex}.user-name{font-weight:500}.user-username{color:var(--muted);font-size:.85rem}.user-deleted{color:var(--danger);font-style:italic}.order-amount strong{color:var(--primary);font-size:1.1rem}.order-statuses{gap:.5rem;display:flex}.status-badge{white-space:nowrap;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.status-badge.payment.pending{color:var(--warning);background:#fbbf2426}.status-badge.payment.paid{color:var(--success);background:#22c55e26}.status-badge.payment.cancelled{color:var(--danger);background:#ef444426}.status-badge.delivery.waiting-payment{color:var(--muted);background:#6b728026}.status-badge.delivery.ready-for-pickup{color:var(--info);background:#3b82f626}.status-badge.delivery.delivered{color:var(--success);background:#22c55e26}.expand-icon{color:var(--muted);font-size:.8rem}.order-details{border-top:1px solid var(--border);background:var(--surface-3);padding:1rem}.order-details h4{color:var(--muted);text-transform:uppercase;margin:0 0 .75rem;font-size:.9rem}.order-items{background:var(--surface-2);border-radius:8px;margin-bottom:1rem;padding:1rem}.order-item{border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto auto;gap:1rem;padding:.5rem 0;display:grid}.order-item:last-of-type{border-bottom:none}.item-name{font-weight:500}.item-qty,.item-unit{color:var(--muted)}.item-subtotal{font-weight:600}.order-total{border-top:2px solid var(--border);justify-content:space-between;margin-top:.5rem;padding-top:.75rem;font-size:1.1rem;display:flex}.order-total strong{color:var(--primary)}.order-notes{background:var(--surface-2);border-radius:8px;margin-bottom:1rem;padding:1rem}.order-notes p{color:var(--text);margin:0}.order-history{background:var(--surface-2);border-radius:8px;margin-bottom:1rem;padding:1rem}.history-item{border-bottom:1px solid var(--border);justify-content:space-between;padding:.5rem 0;font-size:.9rem;display:flex}.history-item:last-child{border-bottom:none}.history-item span:last-child{color:var(--muted)}.order-actions{flex-wrap:wrap;gap:.75rem;display:flex}.order-actions .btn{padding:.75rem 1.5rem}.btn.success{background:var(--success);color:#fff;border:none}.btn.success:hover{background:#16a34a}.delivered-badge{color:var(--success);background:#22c55e26;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}.admin-orders-page .empty-state{text-align:center;background:var(--surface-2);border-radius:12px;padding:4rem 2rem}.admin-orders-page .empty-icon{margin-bottom:1rem;font-size:4rem;display:block}@media (max-width:900px){.order-header{grid-template-rows:auto auto;grid-template-columns:1fr auto}.order-main-info{grid-column:1}.expand-icon{grid-area:1/2/3}.order-user{grid-column:1/3}.order-amount{display:none}.order-statuses{grid-column:1/3;justify-content:flex-start}}@media (max-width:600px){.orders-stats{grid-template-columns:1fr}.order-item{grid-template-columns:1fr auto}.item-unit{display:none}}.patracdr-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.patracdr-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;box-shadow:0 20px 60px #0006}.patracdr-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--accent)0%,var(--accent-hover)100%);border-radius:12px 12px 0 0;padding:1.5rem;position:relative}.patracdr-header-info{align-items:center;gap:1rem;display:flex}.patracdr-header h2{color:#fff;margin:0;font-size:1.5rem}.patracdr-event-badge{color:#fff;text-transform:uppercase;background:#fff3;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.patracdr-event-title{color:#ffffffe6;margin:.5rem 0 0;font-size:.95rem}.patracdr-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:background .2s;display:flex;position:absolute;top:1rem;right:1rem}.patracdr-close:hover{background:#ffffff4d}.patracdr-responsable{background:var(--surface-alt);border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.patracdr-responsable label{color:var(--text);white-space:nowrap;font-size:.9rem;font-weight:600}.patracdr-responsable input{border:1px solid var(--border);background:var(--background);color:var(--text);border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.9rem}.patracdr-responsable input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1a4d1a33}.patracdr-content{flex:1;display:flex;overflow:hidden}.patracdr-nav{background:var(--surface-alt);border-right:1px solid var(--border);width:200px;padding:1rem 0;overflow-y:auto}.patracdr-nav-item{width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .2s;display:flex}.patracdr-nav-item:hover{background:var(--surface);color:var(--text)}.patracdr-nav-item.active{background:var(--accent);color:#fff}.patracdr-nav-item.filled:not(.active){color:var(--accent)}.patracdr-nav-letter{background:var(--surface);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:flex}.patracdr-nav-item.active .patracdr-nav-letter{color:#fff;background:#fff3}.patracdr-nav-label{flex:1;font-size:.85rem}.patracdr-nav-check{color:var(--accent);font-size:.9rem}.patracdr-nav-item.active .patracdr-nav-check{color:#fff}.patracdr-editor{flex:1;padding:1.5rem;overflow-y:auto}.patracdr-section{display:none}.patracdr-section.active{display:block}.patracdr-section-header{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.patracdr-section-letter{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;font-weight:700;display:flex}.patracdr-section-header h3{color:var(--text);margin:0;font-size:1.25rem}.patracdr-section-header p{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.patracdr-section textarea{border:1px solid var(--border);background:var(--background);width:100%;min-height:200px;color:var(--text);resize:vertical;border-radius:8px;padding:1rem;font-family:inherit;font-size:.95rem;line-height:1.6}.patracdr-section textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1a4d1a33}.patracdr-section textarea::placeholder{color:var(--text-muted)}.patracdr-footer{border-top:1px solid var(--border);background:var(--surface-alt);border-radius:0 0 12px 12px;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.patracdr-progress{color:var(--text-muted);font-size:.85rem}.patracdr-actions{gap:.75rem;display:flex}.patracdr-actions .btn-secondary{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:.6rem 1.25rem;font-size:.9rem;transition:all .2s}.patracdr-actions .btn-secondary:hover:not(:disabled){background:var(--surface)}.patracdr-actions .btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s}.patracdr-actions .btn-primary:hover:not(:disabled){background:var(--accent-hover)}.patracdr-actions button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.patracdr-content{flex-direction:column}.patracdr-nav{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;width:100%;padding:.5rem;overflow-x:auto}.patracdr-nav-item{flex-direction:column;gap:.25rem;min-width:60px;padding:.5rem}.patracdr-nav-label{text-align:center;font-size:.7rem}.patracdr-nav-check{display:none}.patracdr-footer{flex-direction:column;gap:1rem}.patracdr-actions{width:100%}.patracdr-actions button{flex:1}}.shop-page{max-width:1400px;margin:0 auto}.shop-page .page-header{margin-bottom:2rem}.shop-page .subtitle{color:var(--muted);margin-top:.5rem}.shop-tabs{border-bottom:2px solid var(--border);gap:.5rem;margin-bottom:2rem;padding-bottom:0;display:flex}.shop-tabs .tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.75rem 1.5rem;font-weight:600;transition:color .2s;position:relative}.shop-tabs .tab-btn:hover{color:var(--text)}.shop-tabs .tab-btn.active{color:var(--primary)}.shop-tabs .tab-btn.active:after{content:"";background:var(--primary);height:2px;position:absolute;bottom:-2px;left:0;right:0}.shop-tabs .cart-badge{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:.5rem;padding:0 6px;font-size:.75rem;display:inline-flex}.category-filter{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.category-filter .filter-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:20px;padding:.5rem 1rem;transition:all .2s}.category-filter .filter-btn:hover{background:var(--surface-3)}.category-filter .filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.products-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;display:grid}.product-card{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.product-card.out-of-stock{opacity:.7}.product-image{aspect-ratio:1;background:var(--surface-3);justify-content:center;align-items:center;display:flex;position:relative}.product-image img{object-fit:cover;width:100%;height:100%}.product-image .no-image{opacity:.3;font-size:4rem}.product-image .stock-overlay{color:#fff;background:#000000b3;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.product-image .low-stock-badge{background:var(--warning);color:#000;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;position:absolute;top:.5rem;right:.5rem}.product-info{padding:1rem}.product-category{color:var(--muted);text-transform:uppercase;font-size:.75rem}.product-name{margin:.5rem 0;font-size:1.1rem}.product-price{color:var(--primary);margin:0;font-size:1.25rem;font-weight:700}.add-to-cart-btn{border-radius:0;width:100%;margin-top:0}.cart-section{max-width:800px;margin:0 auto}.cart-items{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.cart-item{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.cart-item-image{background:var(--surface-3);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.cart-item-image img{object-fit:cover;width:100%;height:100%}.cart-item-image .no-image{opacity:.3;font-size:2rem}.cart-item-info{flex:1}.cart-item-info h4{margin:0 0 .25rem}.cart-item-info .item-price{color:var(--muted);margin:0}.cart-item-quantity{align-items:center;gap:.5rem;display:flex}.qty-btn{border:1px solid var(--border);background:var(--surface-3);cursor:pointer;width:32px;height:32px;color:var(--text);border-radius:4px;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.qty-btn:hover:not(:disabled){background:var(--surface-4)}.qty-btn:disabled{opacity:.5;cursor:not-allowed}.qty-value{text-align:center;min-width:30px;font-weight:600}.cart-item-subtotal{text-align:right;min-width:80px;font-weight:600}.remove-btn{cursor:pointer;opacity:.6;background:0 0;border:none;padding:.5rem;font-size:1.2rem;transition:opacity .2s}.remove-btn:hover{opacity:1}.cart-summary{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.cart-total{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;font-size:1.2rem;display:flex}.total-amount{color:var(--primary);font-size:1.5rem;font-weight:700}.checkout-info{margin-bottom:1.5rem}.checkout-info p{color:var(--muted);margin:.5rem 0;font-size:.9rem}.checkout-btn{width:100%}.orders-list{flex-direction:column;gap:1rem;display:flex}.order-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;overflow:hidden}.order-card.pending{border-left:4px solid var(--warning)}.order-card.paid{border-left:4px solid var(--success)}.order-card.cancelled{border-left:4px solid var(--danger);opacity:.7}.order-header{background:var(--surface-3);justify-content:space-between;align-items:flex-start;padding:1rem;display:flex}.order-number strong{font-size:1.1rem}.order-date{color:var(--muted);font-size:.85rem;display:block}.order-status{gap:.5rem;display:flex}.order-status .status-badge{border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.status-badge.pending{color:var(--warning);background:#fbbf2426}.status-badge.paid{color:var(--success);background:#22c55e26}.status-badge.cancelled{color:var(--danger);background:#ef444426}.status-badge.waiting-payment{color:var(--warning);background:#fbbf2426}.status-badge.ready-for-pickup{color:var(--info);background:#3b82f626}.status-badge.delivered{color:var(--success);background:#22c55e26}.order-items{border-bottom:1px solid var(--border);padding:1rem}.order-item{justify-content:space-between;padding:.5rem 0;display:flex}.order-item .item-name{flex:1}.order-item .item-qty{color:var(--muted);margin:0 1rem}.order-item .item-price{font-weight:600}.order-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.order-total strong{color:var(--primary);font-size:1.1rem}.order-actions{align-items:center;gap:.5rem;display:flex}.pickup-notice{color:var(--info);font-weight:500}.delivered-info{color:var(--success)}.product-modal .modal-body{gap:2rem;display:flex}.product-detail-image{background:var(--surface-3);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:300px;height:300px;display:flex;overflow:hidden}.product-detail-image img{object-fit:cover;width:100%;height:100%}.product-detail-image .no-image.large{opacity:.3;font-size:6rem}.product-detail-info{flex:1}.product-description{color:var(--muted);margin:1rem 0;line-height:1.6}.product-price-large{color:var(--primary);margin:1rem 0;font-size:2rem;font-weight:700}.product-stock{color:var(--muted)}.shop-page .empty-state{text-align:center;padding:4rem 2rem}.shop-page .empty-icon{margin-bottom:1rem;font-size:4rem;display:block}@media (max-width:768px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.product-modal .modal-body{flex-direction:column}.product-detail-image{width:100%;height:250px}.cart-item{flex-wrap:wrap}.cart-item-info{width:calc(100% - 100px)}.cart-item-quantity,.cart-item-subtotal{margin-left:96px}.order-header{flex-direction:column;gap:.5rem}.order-footer{flex-direction:column;align-items:stretch}.order-actions{flex-direction:column}}.member-loadouts-page{max-width:1400px;margin:0 auto;padding:1.5rem}.member-loadouts-page.loading{min-height:400px;color:var(--muted);justify-content:center;align-items:center;display:flex}.member-loadouts-page .page-header{margin-bottom:2rem}.member-loadouts-page .header-content h1{color:var(--text);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.member-loadouts-page .subtitle{color:var(--muted);margin:0;font-size:.95rem}.member-loadouts-page .search-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.member-loadouts-page .search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:250px;color:var(--text);flex:1;padding:.75rem 1rem;font-size:.95rem}.member-loadouts-page .search-input:focus{border-color:var(--accent);outline:none}.member-loadouts-page .results-count{color:var(--muted);font-size:.9rem}.member-loadouts-page .no-loadouts{text-align:center;color:var(--muted);padding:4rem 2rem}.member-loadouts-page .no-loadouts .icon{opacity:.5;margin-bottom:1rem;font-size:4rem;display:block}.member-loadouts-page .no-loadouts .hint{margin-top:.5rem;font-size:.9rem}.member-loadouts-page .loadouts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.member-loadouts-page .loadout-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.member-loadouts-page .loadout-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.member-loadouts-page .card-user{align-items:center;gap:.75rem;display:flex}.member-loadouts-page .user-avatar{background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.member-loadouts-page .user-avatar img{object-fit:cover;width:100%;height:100%}.member-loadouts-page .user-avatar span{color:var(--bg);font-size:.85rem;font-weight:600}.member-loadouts-page .user-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.member-loadouts-page .user-name{color:var(--text);font-size:.9rem;font-weight:500;text-decoration:none}.member-loadouts-page .user-name:hover{color:var(--accent)}.member-loadouts-page .user-meta{color:var(--muted);font-size:.75rem}.member-loadouts-page .card-content{flex:1}.member-loadouts-page .loadout-name{color:var(--text);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.1rem;font-weight:600;display:flex}.member-loadouts-page .default-star{font-size:.9rem}.member-loadouts-page .loadout-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.member-loadouts-page .items-preview{flex-wrap:wrap;gap:.5rem;display:flex}.member-loadouts-page .item-chip{background:var(--background);border:1px solid var(--border);color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;max-width:150px;padding:.3rem .6rem;font-size:.75rem;overflow:hidden}.member-loadouts-page .more-items{color:var(--muted);padding:.3rem .6rem;font-size:.75rem}.member-loadouts-page .card-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding-top:1rem;font-size:.75rem;display:flex}.member-loadouts-page .modal-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.member-loadouts-page .loadout-detail-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:700px;max-height:85vh;display:flex;position:relative;overflow:hidden}.member-loadouts-page .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:1.5rem 3.5rem 1.5rem 1.5rem;display:flex;position:relative}.member-loadouts-page .modal-title h2{color:var(--text);margin:0 0 .25rem;font-size:1.35rem;font-weight:600}.member-loadouts-page .loadout-owner{color:var(--accent);font-size:.9rem;text-decoration:none}.member-loadouts-page .loadout-owner:hover{text-decoration:underline}.member-loadouts-page .modal-close{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.member-loadouts-page .modal-close:hover{border-color:var(--danger);color:var(--danger);background:#ef444426}.member-loadouts-page .modal-body{flex:1;padding:1.5rem;overflow-y:auto}.member-loadouts-page .loadout-full-description{color:var(--muted);border-bottom:1px solid var(--border);margin:0 0 1.5rem;padding-bottom:1.5rem;font-size:.95rem;line-height:1.5}.member-loadouts-page .loadout-items-detail{flex-direction:column;gap:2rem;display:flex}.member-loadouts-page .item-type-group h4{color:var(--accent);border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.member-loadouts-page .items-list{flex-direction:column;gap:1rem;display:flex}.member-loadouts-page .item-detail{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem}.member-loadouts-page .item-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.member-loadouts-page .item-detail .item-name{color:var(--text);font-size:1rem;font-weight:600}.member-loadouts-page .item-detail .custom-label{color:var(--accent-2);background:#4caf501a;border-radius:4px;padding:.15rem .5rem;font-size:.8rem}.member-loadouts-page .item-brand-model{color:var(--muted);margin-bottom:.5rem;font-size:.85rem}.member-loadouts-page .item-brand-model .brand{font-weight:500}.member-loadouts-page .item-detail .item-description{color:var(--muted);margin:.5rem 0;font-size:.85rem;line-height:1.4}.member-loadouts-page .item-specs{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.member-loadouts-page .spec-tag{background:var(--surface-2);color:var(--text);border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.member-loadouts-page .spec-tag strong{color:var(--muted);font-weight:500}@media (max-width:768px){.member-loadouts-page{padding:1rem}.member-loadouts-page .loadouts-grid{grid-template-columns:1fr}.member-loadouts-page .search-bar{flex-direction:column;align-items:stretch}.member-loadouts-page .search-input{min-width:unset}.member-loadouts-page .loadout-detail-modal{max-height:90vh}}.member-loadouts-page .item-detail{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:row;gap:0;padding:0;display:flex;overflow:hidden}.member-loadouts-page .item-image{cursor:pointer;flex-shrink:0;width:120px;min-width:120px;height:120px;position:relative;overflow:hidden}.member-loadouts-page .item-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.member-loadouts-page .item-image:hover img{transform:scale(1.05)}.member-loadouts-page .image-overlay{opacity:0;background:#00000080;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.member-loadouts-page .item-image:hover .image-overlay{opacity:1}.member-loadouts-page .image-overlay span{color:#fff;font-size:.85rem;font-weight:500}.member-loadouts-page .item-info{flex:1;min-width:0;padding:1rem}.member-loadouts-page .item-detail .item-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.member-loadouts-page .lightbox-overlay{z-index:2000;cursor:pointer;background:#000000e6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.member-loadouts-page .lightbox-content{cursor:default;max-width:90vw;max-height:90vh;display:inline-block;position:relative}.member-loadouts-page .lightbox-content img{border-radius:var(--radius-md);max-width:100%;max-height:85vh;display:block;box-shadow:0 8px 32px #00000080}.member-loadouts-page .lightbox-close{color:#fff;cursor:pointer;z-index:10;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;transition:background .2s;display:flex;position:absolute;top:10px;right:10px}.member-loadouts-page .lightbox-close:hover{background:#ef4444e6}@media (max-width:600px){.member-loadouts-page .item-detail{flex-direction:column}.member-loadouts-page .item-image{width:100%;height:150px}}.roster-page{background:var(--surface-primary);min-height:100vh;padding:0}.roster-page.loading,.roster-page.error{justify-content:center;align-items:center;min-height:60vh;display:flex}.loader{text-align:center}.loader .spinner{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:48px;height:48px;margin:0 auto 1rem;animation:1s linear infinite spin}.loader p,.error-box p{color:var(--text-secondary);font-size:1rem}.error-box{text-align:center}.error-box span{margin-bottom:1rem;font-size:3rem;display:block}.roster-main{max-width:1000px;margin:0 auto;padding:1.5rem}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{opacity:.5;margin-bottom:1rem;font-size:4rem;display:block}.empty-state h3{color:var(--text-primary);margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);margin:0}.units-list{flex-direction:column;gap:1.25rem;display:flex}.unit-section{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:12px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 8px #0000000a}.unit-section:hover{box-shadow:0 4px 16px #00000014}.unit-section.unassigned{background:var(--surface-tertiary);opacity:.85;border-style:dashed}.unit-header{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;position:relative;overflow:hidden}.unit-header:before{content:"";background:linear-gradient(90deg,#0000,#ffffff14);width:100px;height:100%;position:absolute;top:0;right:0;transform:skew(-15deg)}.unit-section.unassigned .unit-header{background:linear-gradient(135deg,#64748b 0%,#475569 100%)}.unit-title{align-items:center;gap:.6rem;display:flex}.unit-icon{font-size:1.25rem}.unit-header h2{letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:600}.unit-count{background:#fff3;border-radius:12px;padding:.3rem .75rem;font-size:.8rem;font-weight:500}.unit-members{flex-direction:column;display:flex}.member-row{border-bottom:1px solid var(--border-color);align-items:center;gap:.875rem;padding:.75rem 1.25rem;transition:background .15s;display:flex}.member-row:last-child{border-bottom:none}.member-row:hover{background:var(--surface-tertiary)}.member-avatar-small{flex-shrink:0;position:relative}.member-avatar-small img{object-fit:cover;border:2px solid var(--border-color);border-radius:50%;width:44px;height:44px;transition:border-color .2s}.member-row:hover .member-avatar-small img{border-color:var(--primary-color)}.avatar-placeholder-small{color:#fff;border:2px solid var(--border-color);background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:.95rem;font-weight:600;display:flex}.cotisation-dot{border:2px solid var(--surface-secondary);border-radius:50%;width:14px;height:14px;position:absolute;bottom:-2px;right:-2px}.cotisation-dot.paid{background:#22c55e}.cotisation-dot.expired{background:#ef4444}.member-main-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.member-row .member-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.member-callsign{color:var(--text-muted);font-size:.8rem}.member-badges{flex-shrink:0;gap:.4rem;display:flex}.rank-badge{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #0003;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex;box-shadow:0 2px 4px #00000026}.role-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-items:center;padding:.4rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex;box-shadow:0 2px 4px #00000026}.group-tag{color:var(--text-secondary);background:var(--surface-primary);border:1px solid var(--border-color);border-radius:6px;flex-shrink:0;padding:.35rem .7rem;font-size:.8rem;font-weight:500}@media (max-width:768px){.roster-main{padding:1rem}.units-list{gap:1rem}.unit-section:hover{transform:none}.unit-header{padding:.75rem 1rem}.unit-header h2{font-size:1rem}.member-row{flex-wrap:wrap;gap:.5rem;padding:.75rem}.member-badges{flex-wrap:wrap;order:3;width:100%}.group-tag{order:4}.member-avatar-small img,.avatar-placeholder-small{width:40px;height:40px}}@media (max-width:480px){.member-avatar-small img,.avatar-placeholder-small{width:36px;height:36px;font-size:.8rem}.member-row .member-name{font-size:.85rem}.rank-badge{padding:.25rem .5rem;font-size:.65rem}.role-badge{padding:.25rem .45rem;font-size:.6rem}.group-tag{padding:.25rem .5rem;font-size:.7rem}}.forum-page{background:var(--surface-primary);min-height:100vh}.forum-loading{min-height:60vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.forum-hero{background:linear-gradient(135deg,var(--primary-color)0%,#6366f1 100%);justify-content:space-between;align-items:center;padding:3rem 2rem;display:flex;position:relative;overflow:hidden}.forum-hero:before{content:"";background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.forum-hero-content{z-index:1;max-width:600px;position:relative}.forum-hero-content h1{color:#fff;text-shadow:0 2px 4px #0000001a;margin:0 0 .75rem;font-size:2.5rem;font-weight:800}.forum-hero-content p{color:#ffffffe6;margin:0 0 1.5rem;font-size:1.125rem;line-height:1.6}.forum-hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.forum-hero-actions a{border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-new-topic{color:var(--primary-color);background:#fff;box-shadow:0 4px 14px #00000026}.btn-new-topic:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn-search{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff4d}.btn-search:hover{background:#ffffff40}.btn-admin{color:#fff;background:#ffffff1a;border:1px solid #fff3}.btn-admin:hover{background:#fff3}.forum-hero-illustration{width:200px;height:200px;position:relative}.hero-shape{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;animation:3s ease-in-out infinite float;display:flex;position:absolute}.shape-1{width:80px;height:80px;animation-delay:0s;top:0;left:50%}.shape-2{width:60px;height:60px;animation-delay:.5s;top:60%;left:10%}.shape-3{width:50px;height:50px;animation-delay:1s;top:40%;right:0}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.forum-stats-bar{background:var(--surface-secondary);border-bottom:1px solid var(--border-color);justify-content:center;align-items:center;gap:2rem;padding:1.5rem 2rem;display:flex}.stat-item{align-items:center;gap:.75rem;display:flex}.stat-item .stat-icon{font-size:1.5rem}.stat-content{flex-direction:column;display:flex}.stat-content .stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.stat-content .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.stat-divider{background:var(--border-color);width:1px;height:40px}.forum-content{grid-template-columns:1fr 320px;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem;display:grid}.forum-main{min-width:0}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-header h2{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem;display:grid}.category-card{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.category-card:before{content:"";background:var(--category-color,var(--primary-color));opacity:0;width:4px;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.category-card:hover{border-color:#0000;transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.category-card:hover:before{opacity:1}.category-card-header{gap:1rem;margin-bottom:1rem;display:flex}.category-icon{border:2px solid #0000;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;transition:transform .3s;display:flex}.category-card:hover .category-icon{transform:scale(1.1)rotate(5deg)}.category-info{flex:1;min-width:0}.category-info h3{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .25rem;font-size:1.125rem;font-weight:700;overflow:hidden}.category-info p{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;display:-webkit-box;overflow:hidden}.category-card-stats{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);gap:1.5rem;margin-bottom:1rem;padding:1rem 0;display:flex}.category-stat{flex-direction:column;display:flex}.category-stat .stat-num{color:var(--text-primary);font-size:1.25rem;font-weight:700}.category-stat .stat-txt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.category-last-activity{align-items:flex-start;gap:.75rem;display:flex}.last-activity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.last-activity-info{flex:1;min-width:0}.last-activity-topic{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;display:block;overflow:hidden}.last-activity-meta{color:var(--text-muted);font-size:.75rem}.last-activity-meta strong{color:var(--text-secondary)}.forum-sidebar{flex-direction:column;gap:1.5rem;display:flex}.sidebar-section{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem}.sidebar-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:1rem;font-weight:700}.recent-topics-list{margin:0;padding:0;list-style:none}.recent-topics-list li{border-bottom:1px solid var(--border-color)}.recent-topics-list li:last-child{border-bottom:none}.recent-topics-list a{padding:.75rem 0;text-decoration:none;transition:background .2s;display:block}.recent-topics-list a:hover .topic-title{color:var(--primary-color)}.recent-topics-list .topic-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.875rem;font-weight:500;transition:color .2s;display:block;overflow:hidden}.recent-topics-list .topic-meta{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.topic-author{font-weight:500}.topic-time:before{content:"·";margin-right:.5rem}.quick-links{flex-direction:column;gap:.5rem;display:flex}.quick-link{background:var(--surface-primary);color:var(--text-secondary);border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.quick-link:hover{background:var(--surface-hover);color:var(--primary-color)}.quick-link.admin{background:linear-gradient(135deg,rgba(var(--primary-rgb),.1)0%,#6366f11a 100%);border:1px solid rgba(var(--primary-rgb),.2)}.quick-link.admin:hover{background:linear-gradient(135deg,rgba(var(--primary-rgb),.2)0%,#6366f133 100%)}.link-icon{font-size:1rem}.sidebar-section.rules ul{margin:0;padding:0;list-style:none}.sidebar-section.rules li{color:var(--text-secondary);padding:.5rem 0 .5rem 1.25rem;font-size:.85rem;position:relative}.sidebar-section.rules li:before{content:"•";color:var(--primary-color);font-weight:700;position:absolute;left:0}.forum-empty-state{text-align:center;background:var(--surface-secondary);border:2px dashed var(--border-color);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.forum-empty-state .empty-icon{margin-bottom:1rem;font-size:4rem}.forum-empty-state h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.forum-empty-state p{color:var(--text-muted);margin:0 0 1.5rem;font-size:.9rem}.btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.btn-primary:hover{background:var(--primary-hover)}.forum-fab{background:var(--primary-color);color:#fff;width:60px;height:60px;box-shadow:0 6px 20px rgba(var(--primary-rgb),.4);z-index:100;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;text-decoration:none;transition:all .3s;display:none;position:fixed;bottom:2rem;right:2rem}.forum-fab:hover{box-shadow:0 8px 30px rgba(var(--primary-rgb),.5);transform:scale(1.1)}.back-link{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--primary-color)}.forum-admin-page .forum-header{background:var(--surface-secondary);border-bottom:1px solid var(--border-color);padding:2rem}.forum-admin-page .forum-header-content h1{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.forum-admin-page .forum-header-content p{color:var(--text-muted);margin:.25rem 0 0}.admin-stats{background:var(--surface-secondary);border-bottom:1px solid var(--border-color);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;padding:1.5rem 2rem;display:grid}.admin-stat-card{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:1rem;padding:1rem;display:flex}.admin-stat-card .stat-icon{font-size:2rem}.admin-stat-card .stat-info{flex-direction:column;display:flex}.admin-stat-card .stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.admin-stat-card .stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem}.admin-form-container{background:var(--surface-primary);border-bottom:1px solid var(--border-color);padding:2rem}.admin-form{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:16px;max-width:800px;margin:0 auto;padding:1.5rem}.admin-form h2{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.25rem;font-weight:700}.form-row{grid-template-columns:1fr 120px;gap:1rem;display:grid}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-color);background:var(--surface-primary);width:100%;color:var(--text-primary);border-radius:8px;padding:.75rem 1rem;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);outline:none}.form-group textarea{resize:vertical;min-height:80px}.icon-picker,.color-picker{flex-wrap:wrap;gap:.5rem;display:flex}.icon-option{border:2px solid var(--border-color);background:var(--surface-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;transition:all .2s;display:flex}.icon-option:hover{border-color:var(--primary-color)}.icon-option.active{border-color:var(--primary-color);background:rgba(var(--primary-rgb),.1)}.color-option{cursor:pointer;border:3px solid #0000;border-radius:8px;width:32px;height:32px;transition:all .2s}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:var(--text-primary);transform:scale(1.15)}.form-preview{margin-bottom:1.5rem}.category-preview{background:var(--surface-primary);border:1px solid var(--border-color);border-left-width:4px;border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.preview-icon{border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;display:flex}.preview-info h4{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.preview-info p{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.btn-cancel{background:var(--surface-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.btn-cancel:hover{background:var(--surface-hover)}.btn-submit{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-submit:hover{background:var(--primary-hover)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-add-category{background:linear-gradient(135deg,var(--primary-color)0%,#6366f1 100%);color:#fff;cursor:pointer;width:fit-content;box-shadow:0 4px 14px rgba(var(--primary-rgb),.3);border:none;border-radius:12px;margin:2rem auto;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:block}.btn-add-category:hover{box-shadow:0 6px 20px rgba(var(--primary-rgb),.4);transform:translateY(-2px)}.admin-categories-section{padding:2rem}.admin-categories-section h2{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.25rem;font-weight:700}.admin-categories-list{flex-direction:column;gap:1rem;display:flex}.admin-category-card{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:12px;transition:box-shadow .2s;display:flex;overflow:hidden}.admin-category-card:hover{box-shadow:0 4px 12px #00000014}.category-color-bar{flex-shrink:0;width:6px}.admin-category-content{flex:1;padding:1.25rem}.admin-category-header{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.admin-category-header .category-icon{border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;display:flex}.admin-category-header .category-info h3{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.admin-category-header .category-info p{color:var(--text-muted);margin:.25rem 0 0;font-size:.875rem}.admin-category-stats{color:var(--text-secondary);gap:1.5rem;margin-bottom:1rem;font-size:.85rem;display:flex}.admin-category-actions{gap:.75rem;display:flex}.btn-edit,.btn-delete{border:1px solid var(--border-color);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.btn-edit{background:var(--surface-primary);color:var(--text-secondary)}.btn-edit:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-delete{background:var(--surface-primary);color:var(--danger-color);border-color:var(--danger-color)}.btn-delete:hover{background:var(--danger-color);color:#fff}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.admin-empty{text-align:center;color:var(--text-muted);background:var(--surface-secondary);border:2px dashed var(--border-color);border-radius:12px;padding:2rem}.forum-page.category-page .forum-header{background:var(--surface-secondary);border-bottom:1px solid var(--border-color);padding:1.5rem 2rem}.category-header-content{align-items:center;gap:1rem;margin-top:1rem;display:flex}.category-header-content .category-icon{border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;display:flex}.category-header-content .category-info h1{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.category-header-content .category-info p{color:var(--text-muted);margin:.25rem 0 0;font-size:.9rem}.category-actions{margin-top:1rem}.topics-container{max-width:1200px;margin:0 auto;padding:2rem}.topics-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.topics-header h2{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.topics-list{flex-direction:column;gap:.75rem;display:flex}.topic-card{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;transition:all .2s;display:flex}.topic-card:hover{border-color:var(--primary-color);transform:translate(4px);box-shadow:0 4px 12px #00000014}.topic-card-main{flex:1;min-width:0}.topic-title-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.topic-title-row h3{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.badge{border-radius:4px;justify-content:center;align-items:center;padding:.125rem .375rem;font-size:.75rem;display:inline-flex}.badge.announcement{color:#d97706;background:#fef3c7}.badge.pinned{color:#2563eb;background:#dbeafe}.badge.locked{color:#dc2626;background:#fecaca}.topic-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.topic-card-stats{text-align:center;gap:1.5rem;display:flex}.topic-card-stats .stat{flex-direction:column;display:flex}.topic-card-stats .stat-value{color:var(--text-primary);font-size:1rem;font-weight:700}.topic-card-stats .stat-label{color:var(--text-muted);font-size:.75rem}.topic-tags{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}.tag{background:var(--surface-tertiary);color:var(--text-secondary);border-radius:100px;align-items:center;padding:.25rem .625rem;font-size:.75rem;display:inline-flex}.topic-page .topic-detail{max-width:900px;margin:0 auto;padding:2rem}.topic-detail-header{margin-bottom:2rem}.topic-detail-header h1{color:var(--text-primary);margin:.5rem 0;font-size:1.75rem;font-weight:700;line-height:1.3}.topic-badges{gap:.5rem;margin-bottom:.5rem;display:flex}.topic-badge{border-radius:6px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.topic-badge.announcement{color:#d97706;background:#fef3c7}.topic-badge.pinned{color:#2563eb;background:#dbeafe}.topic-badge.locked{color:#dc2626;background:#fecaca}.topic-detail-meta{color:var(--text-muted);flex-wrap:wrap;gap:1rem;font-size:.875rem;display:flex}.post-card{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:16px;margin-bottom:1rem;padding:1.5rem}.post-card.original-post{border-left:4px solid var(--primary-color)}.post-author{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.post-avatar{object-fit:cover;border-radius:50%;width:48px;height:48px}.post-avatar-placeholder{background:var(--surface-tertiary);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;display:flex}.post-author-info{flex-direction:column;display:flex}.post-author-name{color:var(--text-primary);font-weight:600}.post-author-role,.post-author-grade{color:var(--text-muted);font-size:.75rem}.post-content{color:var(--text-primary);line-height:1.7}.post-content p{margin:.5rem 0}.post-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;display:flex}.post-meta{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.post-edited{font-style:italic}.post-actions{align-items:center;gap:.75rem;display:flex}.post-reactions{gap:.25rem;display:flex}.reaction-btn{background:var(--surface-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:100px;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.875rem;transition:all .2s;display:flex}.reaction-btn:hover{background:var(--surface-hover)}.reaction-btn.active{background:rgba(var(--primary-rgb),.1);border-color:var(--primary-color)}.reaction-btn span{color:var(--text-secondary);font-size:.75rem}.reply-btn{background:var(--surface-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:.375rem .75rem;font-size:.8rem;transition:all .2s}.reply-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.post-menu-container{position:relative}.post-menu-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:1.25rem;transition:all .2s;display:flex}.post-menu-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.post-menu{background:var(--surface-secondary);border:1px solid var(--border-color);z-index:10;border-radius:8px;min-width:140px;padding:.5rem;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.post-menu button{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;transition:all .2s;display:flex}.post-menu button:hover{background:var(--surface-hover);color:var(--text-primary)}.post-menu button.delete:hover{color:var(--danger-color);background:#ef44441a}.post-edit-form{margin-top:1rem}.post-edit-form textarea{border:1px solid var(--border-color);background:var(--surface-primary);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;padding:1rem;font-size:.9rem}.post-edit-form textarea:focus{border-color:var(--primary-color);outline:none}.post-edit-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.btn-save{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.posts-list{margin-top:2rem}.posts-list h2{color:var(--text-primary);margin:0 0 1rem;font-size:1.125rem;font-weight:600}.reply-form{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:16px;margin-top:2rem;padding:1.5rem}.reply-form h3{color:var(--text-primary);justify-content:space-between;align-items:center;margin:0 0 1rem;font-size:1rem;font-weight:600;display:flex}.cancel-reply{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .75rem;font-size:.75rem}.reply-form textarea{border:1px solid var(--border-color);background:var(--surface-primary);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;margin-bottom:1rem;padding:1rem;font-size:.9rem}.reply-form textarea:focus{border-color:var(--primary-color);outline:none}.topic-locked-notice{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:1rem;margin-top:2rem;padding:1.5rem;display:flex}.topic-locked-notice span{font-size:2rem}.topic-locked-notice p{color:#dc2626;margin:0;font-weight:500}.new-topic-form-container{max-width:800px;margin:2rem auto;padding:0 2rem}.new-topic-form-container h1{color:var(--text-primary);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.form-description{color:var(--text-muted);margin-bottom:2rem}.form-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.new-topic-form{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem}.new-topic-form .form-group{margin-bottom:1.5rem}.new-topic-form .form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.new-topic-form .form-group input,.new-topic-form .form-group textarea,.new-topic-form .form-group select{border:1px solid var(--border-color);background:var(--surface-primary);width:100%;color:var(--text-primary);border-radius:8px;padding:.875rem 1rem;font-size:.9rem;transition:border-color .2s}.new-topic-form .form-group input:focus,.new-topic-form .form-group textarea:focus,.new-topic-form .form-group select:focus{border-color:var(--primary-color);outline:none}.char-count{text-align:right;color:var(--text-muted);margin-top:.25rem;font-size:.75rem;display:block}.help-text{color:var(--text-muted);margin-top:.25rem;font-size:.75rem;display:block}.tags-input-container{flex-direction:column;gap:.5rem;display:flex}.tags-list{flex-wrap:wrap;gap:.375rem;display:flex}.tag-remove{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:.375rem;font-size:1rem}.tag-remove:hover{opacity:1}.tag-input-wrapper{gap:.5rem;display:flex}.tag-input-wrapper input{flex:1}.btn-add-tag{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;width:40px;font-size:1.25rem}.btn-add-tag:disabled{opacity:.5;cursor:not-allowed}.form-guidelines{background:rgba(var(--primary-rgb),.05);border:1px solid rgba(var(--primary-rgb),.15);border-radius:12px;margin:1.5rem 0;padding:1.25rem}.form-guidelines h3{color:var(--text-primary);margin:0 0 .75rem;font-size:.9rem;font-weight:600}.form-guidelines ul{margin:0;padding:0;list-style:none}.form-guidelines li{color:var(--text-secondary);padding:.375rem 0 .375rem 1.25rem;font-size:.85rem;position:relative}.form-guidelines li:before{content:"✓";color:var(--primary-color);position:absolute;left:0}.search-container{text-align:center;max-width:700px;margin:0 auto;padding:3rem 2rem 2rem}.search-container h1{color:var(--text-primary);margin:0 0 1.5rem;font-size:2rem;font-weight:700}.search-form{max-width:500px;margin:0 auto}.search-input-wrapper{gap:.5rem;display:flex}.search-input{border:2px solid var(--border-color);background:var(--surface-secondary);color:var(--text-primary);border-radius:12px;flex:1;padding:1rem 1.25rem;font-size:1rem;transition:border-color .2s}.search-input:focus{border-color:var(--primary-color);outline:none}.search-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:1rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s}.search-btn:hover{background:var(--primary-hover)}.search-help{color:var(--text-muted);margin-top:.75rem;font-size:.85rem}.search-results{max-width:900px;margin:0 auto;padding:0 2rem 2rem}.search-results-header{margin-bottom:1.5rem}.search-results-header h2{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.results-count{color:var(--text-muted);margin-left:.5rem;font-weight:400}.search-no-results{text-align:center;background:var(--surface-secondary);border-radius:16px;padding:3rem 2rem}.no-results-icon{margin-bottom:1rem;font-size:3rem}.search-no-results h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem}.search-no-results p{color:var(--text-muted);margin:0 0 1.5rem}.search-tips{text-align:left;background:var(--surface-primary);border-radius:8px;max-width:300px;margin:0 auto;padding:1rem}.search-tips h4{color:var(--text-primary);margin:0 0 .5rem;font-size:.85rem;font-weight:600}.search-tips ul{margin:0;padding:0;list-style:none}.search-tips li{color:var(--text-secondary);padding:.25rem 0;font-size:.8rem}.search-initial{text-align:center;flex-direction:column;align-items:center;padding:4rem 2rem;display:flex}.search-initial-icon{opacity:.5;margin-bottom:1rem;font-size:4rem}.search-initial h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem}.search-initial p{color:var(--text-muted);margin:0}.pagination{border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding-top:2rem;display:flex}.pagination-btn{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.625rem 1.25rem;font-size:.85rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{gap:.25rem;display:flex}.pagination-page{background:var(--surface-secondary);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:.9rem;transition:all .2s;display:flex}.pagination-page:hover{background:var(--surface-hover)}.pagination-page.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media (max-width:1024px){.forum-content{grid-template-columns:1fr}.forum-sidebar{order:-1;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}}@media (max-width:768px){.forum-hero{padding:2rem 1.5rem}.forum-hero-content h1{font-size:1.75rem}.forum-hero-illustration{display:none}.forum-stats-bar{gap:1rem;padding:1rem}.stat-divider{display:none}.forum-content{padding:1.5rem}.categories-grid{grid-template-columns:1fr}.forum-fab{display:flex}.topic-card{flex-direction:column;align-items:flex-start}.topic-card-stats{border-top:1px solid var(--border-color);justify-content:flex-start;width:100%;margin-top:1rem;padding-top:1rem}.admin-stats,.form-row{grid-template-columns:1fr}}.forum-editor{border:2px solid var(--border-color,#e2e8f0);background:var(--surface-primary,#fff);border-radius:16px;transition:all .25s;overflow:hidden;box-shadow:0 2px 8px #0000000a}.forum-editor:focus-within{border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 4px #3b82f61a,0 4px 16px #00000014}.forum-editor-toolbar{background:linear-gradient(180deg,var(--surface-secondary,#f8fafc)0%,var(--surface-primary,#fff)100%);border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;align-items:center;gap:6px;padding:12px 16px;display:flex}.toolbar-group{background:var(--surface-tertiary,#f1f5f9);border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex}.toolbar-divider{background:var(--border-color,#e2e8f0);opacity:.6;width:1px;height:28px;margin:0 8px}.toolbar-btn{min-width:36px;height:36px;color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.toolbar-btn:hover{background:var(--surface-hover,#e2e8f0);color:var(--text-primary,#1e293b);transform:translateY(-1px)}.toolbar-btn.active{background:var(--primary-color,#3b82f6);color:#fff;box-shadow:0 2px 8px #3b82f64d}.toolbar-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.toolbar-btn span{font-size:1rem}.toolbar-input-container{background:var(--surface-tertiary,#f1f5f9);border-bottom:1px solid var(--border-color,#e2e8f0);align-items:center;gap:10px;padding:12px 16px;animation:.2s slideDown;display:flex}.toolbar-input{border:2px solid var(--border-color,#e2e8f0);background:var(--surface-primary,#fff);color:var(--text-primary,#1e293b);border-radius:10px;flex:1;padding:10px 14px;font-size:.925rem;transition:all .2s}.toolbar-input:focus{border-color:var(--primary-color,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.toolbar-input::placeholder{color:var(--text-muted,#94a3b8)}.toolbar-input-btn{background:var(--primary-color,#3b82f6);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s}.toolbar-input-btn:hover{background:var(--primary-hover,#2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f640}.toolbar-input-btn.danger{background:var(--danger-color,#ef4444)}.toolbar-input-btn.danger:hover{background:var(--danger-hover,#dc2626);box-shadow:0 4px 12px #ef444440}.forum-editor-content{background:var(--surface-primary,#fff);padding:24px 28px;overflow-y:auto}.forum-editor-content .tiptap{min-height:100%;color:var(--text-primary,#1e293b);outline:none;font-size:1.0625rem;line-height:1.8}.forum-editor-content .tiptap>:first-child{margin-top:0}.forum-editor-content .tiptap>:last-child{margin-bottom:0}.forum-editor-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted,#94a3b8);pointer-events:none;height:0;font-style:italic}.forum-editor-content .tiptap h2{color:var(--text-primary,#1e293b);letter-spacing:-.02em;border-bottom:2px solid var(--border-color,#e2e8f0);margin:2rem 0 1rem;padding-bottom:.5rem;font-size:1.625rem;font-weight:700;line-height:1.3}.forum-editor-content .tiptap h3{color:var(--text-primary,#1e293b);letter-spacing:-.01em;margin:1.75rem 0 .75rem;font-size:1.375rem;font-weight:600;line-height:1.4}.forum-editor-content .tiptap p{color:var(--text-primary,#374151);margin:1rem 0;font-size:1.0625rem;line-height:1.85}.forum-editor-content .tiptap strong{color:var(--text-primary,#1e293b);font-weight:700}.forum-editor-content .tiptap em{color:inherit;font-style:italic}.forum-editor-content .tiptap u{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.forum-editor-content .tiptap s{opacity:.7;text-decoration:line-through}.forum-editor-content .tiptap mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(120deg,#fef08a 0%,#fde047 100%);border-radius:4px;padding:.1rem .35rem}.forum-editor-content .tiptap ul,.forum-editor-content .tiptap ol{margin:1.25rem 0;padding-left:1.75rem}.forum-editor-content .tiptap ul{list-style-type:none}.forum-editor-content .tiptap ul>li{padding-left:.5rem;position:relative}.forum-editor-content .tiptap ul>li:before{content:"•";color:var(--primary-color,#3b82f6);font-size:1.2em;font-weight:700;position:absolute;left:-1.25rem}.forum-editor-content .tiptap ol{counter-reset:item;list-style-type:none}.forum-editor-content .tiptap ol>li{counter-increment:item;padding-left:.5rem;position:relative}.forum-editor-content .tiptap ol>li:before{content:counter(item)".";color:var(--primary-color,#3b82f6);font-size:.95em;font-weight:700;position:absolute;left:-1.5rem}.forum-editor-content .tiptap li{margin:.5rem 0;line-height:1.7}.forum-editor-content .tiptap li>p{margin:0}.forum-editor-content .tiptap blockquote{border-left:4px solid var(--primary-color,#3b82f6);background:linear-gradient(135deg,var(--surface-secondary,#f8fafc)0%,#3b82f60d 100%);color:var(--text-secondary,#475569);border-radius:0 12px 12px 0;margin:1.5rem 0;padding:1.25rem 1.5rem;font-style:italic;position:relative}.forum-editor-content .tiptap blockquote:before{content:"“";color:var(--primary-color,#3b82f6);opacity:.2;font-family:Georgia,serif;font-size:3.5rem;line-height:1;position:absolute;top:-10px;left:16px}.forum-editor-content .tiptap blockquote p{margin:0;font-size:1.05rem;line-height:1.75}.forum-editor-content .tiptap code{background:var(--surface-tertiary,#f1f5f9);border:1px solid var(--border-color,#e2e8f0);color:var(--accent-color,#e11d48);white-space:nowrap;border-radius:6px;padding:.25rem .5rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875em}.forum-editor-content .tiptap pre{background:#1e293b;border:1px solid #334155;border-radius:12px;margin:1.5rem 0;padding:1.25rem 1.5rem;overflow-x:auto;box-shadow:inset 0 1px #ffffff0d,0 4px 16px #00000026}.forum-editor-content .tiptap pre code{color:#e2e8f0;white-space:pre;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1.65}.forum-editor-content .tiptap pre .hljs-comment{color:#64748b}.forum-editor-content .tiptap pre .hljs-keyword{color:#c084fc}.forum-editor-content .tiptap pre .hljs-string{color:#86efac}.forum-editor-content .tiptap pre .hljs-number{color:#fbbf24}.forum-editor-content .tiptap pre .hljs-function{color:#60a5fa}.forum-editor-content .tiptap a,.forum-editor-content .tiptap .forum-link{color:var(--primary-color,#3b82f6);border-bottom:2px solid #0000;font-weight:500;text-decoration:none;transition:all .2s}.forum-editor-content .tiptap a:hover,.forum-editor-content .tiptap .forum-link:hover{color:var(--primary-hover,#2563eb);border-bottom-color:var(--primary-color,#3b82f6)}.forum-editor-content .tiptap .forum-image,.forum-editor-content .tiptap img{border-radius:12px;max-width:100%;height:auto;margin:1.5rem 0;transition:transform .2s;box-shadow:0 4px 20px #0000001a}.forum-editor-content .tiptap img:hover{transform:scale(1.01)}.forum-editor-content .tiptap hr{background:linear-gradient(90deg,transparent 0%,var(--border-color,#e2e8f0)20%,var(--border-color,#e2e8f0)80%,transparent 100%);border:none;border-radius:3px;height:3px;margin:2rem 0}.forum-editor-footer{background:var(--surface-secondary,#f8fafc);border-top:1px solid var(--border-color,#e2e8f0);justify-content:flex-end;align-items:center;padding:10px 16px;display:flex}.char-count{color:var(--text-muted,#94a3b8);font-size:.8rem;font-weight:500}@media (max-width:768px){.forum-editor-toolbar{gap:4px;padding:10px 12px}.toolbar-group{border-radius:8px;padding:3px}.toolbar-divider{height:24px;margin:0 4px}.toolbar-btn{border-radius:6px;min-width:32px;height:32px;font-size:.85rem}.forum-editor-content{padding:16px 18px}.forum-editor-content .tiptap{font-size:1rem}.forum-editor-content .tiptap h2{font-size:1.4rem}.forum-editor-content .tiptap h3{font-size:1.2rem}.toolbar-input-container{flex-wrap:wrap;gap:8px}.toolbar-input{min-width:100%}.toolbar-input-btn{text-align:center;flex:1}}@media (max-width:480px){.forum-editor-toolbar{padding:8px}.toolbar-divider{display:none}.toolbar-group{margin-bottom:4px}.forum-editor-content{padding:14px}}.messages-page{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);height:calc(100vh - 120px);display:flex;overflow:hidden}.conversations-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:320px;display:flex}.sidebar-header{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.sidebar-header h2{letter-spacing:.5px;color:var(--text);margin:0;font-family:Rajdhani,sans-serif;font-size:1.1rem}.new-conv-btn{border-radius:var(--radius-sm);border:1px solid var(--accent);width:36px;height:36px;color:var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:1.25rem;transition:all .2s;display:flex}.new-conv-btn:hover{background:var(--accent);color:var(--bg)}.conversations-list{flex:1;overflow-y:auto}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:var(--bg)}.conversations-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.no-conversations{text-align:center;color:var(--muted);padding:2.5rem 1.5rem}.no-conversations button{color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-top:1rem;padding:.6rem 1.25rem;font-weight:500;transition:all .2s}.no-conversations button:hover{background:var(--accent);color:var(--bg)}.conversation-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.85rem 1.25rem;transition:background .2s;display:flex}.conversation-item:hover{background:var(--surface-2)}.conversation-item.active{background:var(--surface-3);border-left:3px solid var(--accent)}.conversation-item.unread{background:#4ade800d}.conv-avatar{background:var(--surface-3);border:1px solid var(--border);width:46px;height:46px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex;overflow:hidden}.conv-avatar .conv-avatar-img{object-fit:cover;width:100%;height:100%}.conv-info{flex:1;min-width:0}.conv-header{justify-content:space-between;align-items:baseline;margin-bottom:.3rem;display:flex}.conv-name{color:var(--text);font-size:.9rem;font-weight:600}.conv-time{color:var(--muted-2);font-size:.7rem}.conv-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;overflow:hidden}.unread-badge{background:var(--accent);color:var(--bg);text-align:center;border-radius:10px;min-width:20px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.chat-area{background:var(--bg-alt);flex-direction:column;flex:1;display:flex}.no-conversation-selected{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.placeholder-icon{opacity:.4;margin-bottom:1rem;font-size:4rem}.no-conversation-selected h3{color:var(--text);margin:0 0 .5rem}.no-conversation-selected p{margin:0;font-size:.9rem}.chat-header{border-bottom:1px solid var(--border);background:var(--surface);padding:1rem 1.5rem}.chat-header h3{color:var(--text);margin:0;font-family:Rajdhani,sans-serif;font-size:1.05rem}.participants-count{color:var(--muted);font-size:.8rem}.messages-container{flex-direction:column;flex:1;gap:.6rem;padding:1.25rem;display:flex;overflow-y:auto}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:0 0}.messages-container::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.loading-messages,.no-messages{color:var(--muted);flex:1;justify-content:center;align-items:center;display:flex}.message-wrapper{flex-direction:column;max-width:70%;display:flex}.message-wrapper.own{align-self:flex-end}.message-wrapper.other{align-self:flex-start}.message-sender{color:var(--muted);margin-bottom:.3rem;margin-left:.5rem;font-size:.75rem}.message-bubble{border-radius:var(--radius-sm);padding:.65rem 1rem;position:relative}.message-wrapper.own .message-bubble{background:var(--accent);color:var(--bg);border-bottom-right-radius:4px}.message-wrapper.other .message-bubble{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.message-content{word-wrap:break-word;margin:0;font-size:.9rem;line-height:1.45}.message-time{opacity:.7;text-align:right;margin-top:.3rem;font-size:.65rem;display:block}.message-form{border-top:1px solid var(--border);background:var(--surface);gap:.75rem;padding:1rem 1.25rem;display:flex}.message-input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:24px;outline:none;flex:1;padding:.75rem 1.25rem;font-size:.9rem;transition:border-color .2s}.message-input::placeholder{color:var(--muted)}.message-input:focus{border-color:var(--accent)}.send-btn{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:24px;padding:.75rem 1.75rem;font-weight:600;transition:all .2s}.send-btn:hover:not(:disabled){background:#5eeb9d;transform:translateY(-1px)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.message-form.disabled{justify-content:center}.no-write-permission{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);text-align:center;border-radius:24px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.25rem;font-size:.85rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.new-conversation-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:480px;max-height:80vh;box-shadow:var(--shadow-strong);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.modal-header h3{color:var(--text);margin:0;font-family:Rajdhani,sans-serif}.close-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:.25rem;font-size:1.5rem;transition:color .2s}.close-btn:hover{color:var(--text)}.modal-body{padding:1.25rem;overflow-y:auto}.search-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.search-input::placeholder{color:var(--muted)}.search-input:focus{border-color:var(--accent)}.group-name-input{margin-bottom:1rem}.group-name-input input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:.75rem 1rem;font-size:.9rem}.group-name-input input:focus{border-color:var(--accent)}.users-list{max-height:300px;margin-bottom:1rem;overflow-y:auto}.user-item{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:.75rem;padding:.75rem;transition:background .2s;display:flex}.user-item:hover{background:var(--surface-2)}.user-item.selected{border-color:var(--accent);background:#4ade801a}.user-avatar{background:var(--surface-3);border:1px solid var(--border);width:40px;height:40px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-info{flex:1}.user-name{color:var(--text);font-weight:500;display:block}.user-meta{color:var(--muted);font-size:.8rem;display:block}.check-mark{color:var(--accent);font-size:1.25rem}.create-group-btn{background:var(--accent);width:100%;color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-bottom:1rem;padding:.85rem;font-weight:600;transition:all .2s}.create-group-btn:hover:not(:disabled){background:#5eeb9d}.create-group-btn:disabled{opacity:.4;cursor:not-allowed}.modal-hint{color:var(--muted);text-align:center;margin:0;font-size:.8rem}.conversation-type-tabs{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.type-tab{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:1;padding:.6rem .8rem;font-size:.8rem;font-weight:500;transition:all .2s}.type-tab:hover{border-color:var(--accent);color:var(--text)}.type-tab.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.special-conv-form{flex-direction:column;gap:1rem;display:flex}.special-conv-desc{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text);margin:0;padding:1rem;font-size:.85rem;line-height:1.5}.special-conv-desc strong{color:var(--accent)}.ranks-list{max-height:250px;overflow-y:auto}.ranks-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.8rem}.rank-item{border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-2);justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.75rem 1rem;transition:all .15s;display:flex}.rank-item:hover{background:var(--bg)}.rank-item.selected{border:1px solid var(--accent);background:#4ecd8d26}.rank-name{color:var(--text);font-weight:500}.no-ranks{text-align:center;color:var(--muted);padding:2rem;font-size:.9rem}@media (max-width:768px){.conversations-sidebar{z-index:100;width:100%;transition:transform .3s;position:fixed;top:56px;bottom:0;left:0;transform:translate(-100%)}.conversations-sidebar.open{transform:translate(0)}.messages-page{flex-direction:column;height:calc(100vh - 56px)}.message-wrapper{max-width:85%}.conversation-type-tabs{flex-wrap:wrap}.type-tab{flex:45%}}.chat-header{justify-content:space-between;align-items:center;display:flex}.settings-btn{border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:36px;height:36px;font-size:1.1rem;transition:all .2s}.settings-btn:hover{background:var(--surface-2);border-color:var(--accent)}.write-roles-badge{color:var(--accent);background:var(--accent-transparent);border-radius:10px;margin-left:.5rem;padding:2px 8px;font-size:.75rem}.settings-modal{max-width:450px}.settings-section{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.5rem}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h4{color:var(--text);margin:0 0 .75rem;font-family:Rajdhani,sans-serif;font-size:.95rem}.settings-desc{color:var(--muted);margin:0 0 .75rem;font-size:.8rem}.avatar-upload-section{align-items:center;gap:1rem;display:flex}.current-avatar{background:var(--surface-2);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;display:flex;overflow:hidden}.current-avatar img,.avatar-preview{object-fit:cover;width:100%;height:100%}.avatar-placeholder{color:var(--muted)}.upload-avatar-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.upload-avatar-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.upload-avatar-btn:disabled{opacity:.5;cursor:not-allowed}.roles-selection{flex-direction:column;gap:.5rem;display:flex}.role-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:all .2s;display:flex}.role-item:hover{border-color:var(--accent);background:var(--surface)}.role-item.selected{border-color:var(--accent);background:var(--accent-transparent)}.role-item .check-mark{color:var(--accent);font-weight:700}:root{color:#e6ecf1;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--camo-dark:#050608;--camo-panel:#10161f;--camo-panel-soft:#0c1119;--camo-panel-strong:#1a232f;--camo-stroke:#94a3b82e;--camo-olive:#8da06f;--camo-amber:#c7a853;--camo-danger:#ef4444;--camo-muted:#e2e8f099;--muted-text:#e2e8f0a6;background-color:#050608;font-family:Space Grotesk,Rajdhani,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.4}body{background:radial-gradient(circle at 20% -10%,#8da06f2e,transparent 45%),radial-gradient(circle at 80% 0%,#57687a2e,transparent 50%),var(--camo-dark);color:#e6ecf1;min-height:100vh;margin:0}*,:before,:after{box-sizing:border-box}a{color:inherit;text-decoration:none}input,textarea,select{font-family:inherit}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--camo-amber);margin-bottom:.75rem;font-size:.75rem}.muted{color:var(--muted-text);margin:.25rem 0}.label{text-transform:uppercase;letter-spacing:.2em;color:var(--camo-muted);font-size:.75rem}.aux-tag{text-transform:uppercase;letter-spacing:.25em;color:var(--camo-muted);font-size:.7rem}::selection{background:var(--camo-olive);color:#050608}
