@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@700;800;900&display=swap";:root{--bg-dark: #07090f;--bg-gradient: linear-gradient(160deg, #07090f 0%, #0c1020 45%, #090d1a 100%);--accent-primary: #8b5cf6;--accent-secondary: #f59e0b;--accent-tertiary: #38bdf8;--text-main: #e8eaf2;--text-muted: #6b7280;--glass-bg: rgba(255, 255, 255, .035);--glass-border: rgba(255, 255, 255, .09);--glass-glow: rgba(139, 92, 246, .12);--glass-surface-2: rgba(255, 255, 255, .02);--input-bg: rgba(255, 255, 255, .06);--status-positive: #10b981;--status-negative: #ef4444;--status-warning: #f59e0b;--radius: 14px;--sidebar-width: 240px;--header-height: 60px}[data-theme=light]{--bg-dark: #f1f3f7;--bg-gradient: linear-gradient(160deg, #ffffff 0%, #f1f3f7 100%);--accent-primary: #6d28d9;--accent-secondary: #d97706;--accent-tertiary: #0284c7;--text-main: #1e293b;--text-muted: #64748b;--glass-bg: rgba(255, 255, 255, .88);--glass-border: rgba(0, 0, 0, .07);--glass-glow: rgba(109, 40, 217, .08);--glass-surface-2: rgba(248, 250, 252, .95);--input-bg: rgba(255, 255, 255, 1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-main);min-height:100vh;overflow-x:hidden;transition:background .3s ease,color .3s ease}h1,h2,h3,h4{font-family:Outfit,sans-serif;font-weight:700;letter-spacing:-.03em}#root{width:100%;min-height:100vh}.glass{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:0 4px 24px #0000002e,inset 0 1px #ffffff0d}.glass-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.glass-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00000038,0 0 16px var(--glass-glow);border-color:#8b5cf659}.glass-surface-2{background:var(--glass-surface-2);border:1px solid var(--glass-border);border-radius:8px}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,var(--glass-bg) 25%,var(--glass-surface-2) 50%,var(--glass-bg) 75%);background-size:1000px 100%;animation:shimmer 2s infinite linear;border-radius:8px}.skeleton-text{height:1em;width:100%;margin-bottom:.5rem}.skeleton-block{height:120px;width:100%}.text-gradient{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-muted{color:var(--text-muted)}.text-positive{color:var(--status-positive)}.text-negative{color:var(--status-negative)}.text-sm{font-size:.85rem;line-height:1.5}.font-bold{font-weight:700}.text-xs{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;opacity:.7}.metric-number{font-family:Outfit,sans-serif;font-weight:800;letter-spacing:-.01em}.gdp-display{font-family:Outfit,sans-serif;font-weight:900;background:linear-gradient(to bottom,#fff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 30px rgba(139,92,246,.3))}button{font-family:Inter,sans-serif;cursor:pointer;border:none;border-radius:8px;font-weight:600;transition:all .2s ease;font-size:.875rem}.btn-primary{background:linear-gradient(135deg,var(--accent-primary) 0%,#6d28d9 100%);color:#fff;padding:12px 24px;box-shadow:0 4px 14px #8b5cf659;letter-spacing:.01em}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 22px #8b5cf68c;filter:brightness(1.08)}.btn-primary:active{transform:translateY(1px);box-shadow:none}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.login-logo-container{width:120px;height:120px;margin:0 auto 1.5rem;background:#fff;border:4px solid var(--glass-border);border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 10px 25px #0006}.login-logo{width:100%;height:100%;object-fit:contain}.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);padding:8px 16px}.btn-secondary:hover{background:#ffffff14}.btn-danger{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.3);padding:8px 16px}.btn-danger:hover{background:#ef444433}.btn-sm{padding:6px 12px;font-size:.78rem;border-radius:6px}.btn-loading{display:flex;align-items:center;justify-content:center;gap:8px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}input,select,textarea{font-family:Inter,sans-serif;background:var(--input-bg);border:1px solid var(--glass-border);color:var(--text-main);padding:11px 14px;border-radius:8px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;width:100%;font-size:.9rem}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf633;background:var(--glass-surface-2)}textarea{resize:vertical;min-height:80px}#app{width:100%;max-width:1440px;margin:0 auto;padding:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}@keyframes pulseGlow{0%{box-shadow:0 0 #8b5cf666}70%{box-shadow:0 0 0 12px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}.fade-in-up{animation:fadeInUp .5s ease forwards}.login-container{display:flex;align-items:center;justify-content:center;min-height:85vh;position:relative}.login-bg-orb{position:fixed;border-radius:50%;filter:blur(80px);opacity:.15;pointer-events:none;animation:float 12s ease-in-out infinite}.orb-1{width:400px;height:400px;background:var(--accent-primary);top:-100px;left:-100px}.orb-2{width:350px;height:350px;background:var(--accent-secondary);bottom:-80px;right:-80px;animation-delay:4s}.orb-3{width:250px;height:250px;background:var(--accent-tertiary);top:40%;left:60%;animation-delay:8s}.login-card{width:100%;max-width:440px;padding:3rem;text-align:center;background:#0f111acc!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 20px 50px #0009!important}.login-card h1{font-size:2.8rem;margin-bottom:.4rem;color:#fff!important}.login-logo{margin-bottom:1.5rem}.login-logo svg{filter:drop-shadow(0 0 20px rgba(139,92,246,.4))}.login-hints{margin-top:2rem;display:flex;flex-direction:column;gap:.6rem}.hint-card{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-radius:8px;background:#ffffff05;font-size:.8rem}.hint-card code{color:var(--text-muted);font-size:.78rem}.hint-badge{padding:2px 10px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase}.hint-badge.instructor{background:#8b5cf626;color:var(--accent-primary)}.hint-badge.student{background:#3b82f626;color:var(--accent-tertiary)}.dashboard-wrapper{animation:fadeIn .4s ease}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border);flex-wrap:wrap;gap:1rem}.header-week-pill{display:inline-flex;align-items:center;gap:.35rem;padding:4px 12px;border-radius:20px;background:#8b5cf61f;border:1px solid rgba(139,92,246,.3);color:#c4b5fd;font-size:.78rem;font-weight:700;letter-spacing:.02em}.header-week-pill.lobby{background:#6b72801f;border-color:#6b72804d;color:var(--text-muted)}.header-week-pill.instructor{background:#f59e0b1a;border-color:#f59e0b4d;color:#fcd34d}.header-balance{display:flex;flex-direction:column;align-items:flex-end;font-size:.82rem;gap:.1rem}.header-balance .balance-value{font-family:Outfit,sans-serif;font-weight:700;font-size:1rem;color:var(--status-positive)}.header-title-area h1{font-size:1.8rem}.header-title-area .subtitle{color:var(--accent-primary);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:.25rem}.user-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.header-balance{display:flex;flex-direction:column;align-items:flex-end;font-size:.85rem}.logout-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text-muted);padding:8px 16px}.logout-btn:hover{color:#fff;border-color:#ffffff4d}.section-manager{margin-bottom:1.5rem}.section-tabs-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.section-tabs{display:flex;gap:.5rem}.section-tab{display:flex;align-items:center;gap:.5rem;padding:10px 20px;border-radius:10px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-muted);font-weight:600;transition:all .2s}.section-tab.active{background:#8b5cf61a;border-color:var(--accent-primary);color:var(--accent-primary)}.section-tab-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.section-tab.active .section-tab-dot{background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary)}.section-tab-count{font-size:.7rem;opacity:.6;margin-left:.25rem}.section-actions{display:flex;gap:.5rem}.section-config{display:flex;align-items:center;gap:1.5rem;margin-top:1rem;padding:1rem;border-radius:10px;background:#ffffff04;flex-wrap:wrap}.group-count-selector{display:flex;gap:.4rem}.count-btn{padding:6px 16px;border-radius:8px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-muted);font-weight:600;font-size:.8rem}.count-btn.active{background:#8b5cf61f;border-color:var(--accent-primary);color:var(--accent-primary)}.section-week-badge{padding:4px 14px;border-radius:20px;background:#10b9811a;color:var(--status-positive);font-size:.8rem;font-weight:600}.nav-tabs{display:flex;gap:.75rem;margin:1.5rem 0 2rem;overflow-x:auto;padding:4px;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{display:flex;align-items:center;gap:.6rem;padding:10px 18px;border-radius:12px;background:transparent;border:1px solid transparent;color:var(--text-muted);font-weight:600;white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9rem}.nav-tab:hover{color:var(--text-main);background:#ffffff08}.nav-tab.active{background:#8b5cf61a;border:1px solid rgba(139,92,246,.4);color:var(--accent-primary);box-shadow:0 4px 15px #0003}.nav-tab-icon{font-size:1.2rem}.online-dot{width:9px;height:9px;border-radius:50%;background:var(--status-positive);box-shadow:0 0 #10b98199;animation:onlinePulse 2s ease-in-out infinite;flex-shrink:0}.offline-dot{width:9px;height:9px;border-radius:50%;background:var(--glass-border);flex-shrink:0}@keyframes onlinePulse{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.week-badge-row{display:flex;gap:.4rem;flex-wrap:wrap}.completion-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:8px;font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.completion-badge.done{background:#10b9811f;color:var(--status-positive);border:1px solid rgba(16,185,129,.2)}.completion-badge.pending{background:#6b72801a;color:var(--text-muted);border:1px solid rgba(107,114,128,.15)}.category-section{margin-bottom:2rem}.category-header{margin-bottom:1rem}.category-label{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:1px}.category-dot{width:10px;height:10px;border-radius:50%}.category-count{font-size:.75rem;opacity:.6;font-weight:400}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.group-card{padding:1.25rem;cursor:pointer;position:relative;overflow:hidden}.group-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.group-id{width:36px;height:36px;border-radius:10px;background:#8b5cf61a;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;color:var(--accent-primary)}.group-name{font-weight:700;font-size:1.05rem;flex:1}.group-card-body{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;margin-bottom:1rem}.group-stat{display:flex;justify-content:space-between;align-items:center}.group-card-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.progress-bar-container{height:4px;border-radius:4px;background:#ffffff0d;overflow:hidden;margin-bottom:.4rem}.progress-bar{height:100%;border-radius:4px;transition:width .5s ease}.progress-label{font-size:.72rem;text-align:right}.finalized-badge{padding:3px 10px;border-radius:12px;background:#10b9811f;color:var(--status-positive);font-size:.72rem;font-weight:700}.pending-badge{padding:3px 10px;border-radius:12px;background:#f59e0b1a;color:var(--status-warning);font-size:.72rem;font-weight:700}.category-badge{padding:4px 14px;border-radius:20px;border:1px solid;font-size:.78rem;font-weight:600}.category-badge-sm{font-size:.72rem;font-weight:600}.group-detail{max-width:900px}.back-btn{margin-bottom:1.5rem}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.detail-balance{text-align:right}.detail-section{padding:1.5rem;margin-bottom:1.25rem}.detail-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.detail-section-header h3{font-size:1.1rem}.detail-field{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--glass-border)}.leaders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.leader-card{padding:1rem;border-radius:10px;background:#ffffff05;border:1px solid var(--glass-border)}.leader-role{font-size:.78rem;color:var(--text-muted);margin-bottom:.35rem}.leader-name{font-weight:700;font-size:1rem}.industries-list{display:flex;flex-direction:column;gap:1rem}.industry-item{padding:1rem;border-radius:10px;background:#ffffff04;border:1px solid var(--glass-border)}.industry-name{display:flex;align-items:center;gap:.5rem;font-weight:700;margin-bottom:.75rem}.industry-icon{font-size:1.2rem}.products-list{display:flex;gap:.5rem;flex-wrap:wrap}.product-chip{padding:4px 12px;border-radius:20px;background:#8b5cf614;color:var(--accent-primary);font-size:.78rem;font-weight:500;border:1px solid rgba(139,92,246,.15)}.finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.finance-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;border-radius:8px;background:#ffffff04}.scenario-post-card{padding:2rem;margin-bottom:2rem}.scenario-post-card h3{display:flex;align-items:center;gap:.5rem;font-size:1.15rem}.scenario-icon{font-size:1.3rem}.scenario-textarea{background:#0000004d;border:1px solid var(--glass-border);color:#fff;padding:1rem;border-radius:10px;width:100%;font-size:.9rem;line-height:1.6;resize:vertical;min-height:120px}.scenario-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b5cf626}.timeline{display:flex;flex-direction:column;gap:1rem;position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--glass-border)}.timeline-item{padding:1.25rem;position:relative}.timeline-dot{position:absolute;left:-2rem;top:1.5rem;width:14px;height:14px;border-radius:50%;border:2px solid var(--bg-dark)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.timeline-week{font-weight:800;color:var(--accent-primary);font-size:.9rem}.timeline-body{color:var(--text-muted);line-height:1.6;font-size:.9rem}.scenario-banner{padding:1.25rem 1.5rem;margin-bottom:1.5rem;border-left:4px solid var(--accent-primary);background:#8b5cf60a}.scenario-banner-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:700}.scenario-banner p{color:var(--text-muted);line-height:1.5;font-size:.9rem}.deadline-banner{padding:1.25rem 1.5rem;margin-bottom:1.5rem;border-left:4px solid var(--accent-tertiary);background:#3b82f60a;display:flex;flex-direction:column;gap:.5rem}.deadline-banner-label{font-weight:700;font-size:.95rem}.deadline-banner-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.9rem}.deadline-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.deadline-display{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--glass-border);display:flex;align-items:center;gap:.5rem;font-size:.9rem}.timeline-deadlines{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.deadline-tag{padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;border:1px solid}.deadline-tag.open{background:#10b9811a;color:var(--status-positive);border-color:#10b98140}.deadline-tag.locked{background:#ef44441a;color:var(--status-negative);border-color:#ef444440}.empty-state{padding:3rem 2rem;text-align:center;color:var(--text-muted)}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.setup-category-badge{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;font-weight:600}.setup-section{padding:1.5rem;margin-bottom:1.25rem}.setup-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.setup-section-header h3{font-size:1.05rem}.locked-display{display:flex;flex-direction:column;gap:.25rem}.locked-value{font-size:1.5rem;font-weight:700;font-family:Outfit,sans-serif}.leaders-form{display:flex;flex-direction:column;gap:1rem}.industries-form{display:flex;flex-direction:column;gap:1.5rem}.industry-form-group{padding:1.25rem;border-radius:10px;background:#ffffff04;border:1px solid var(--glass-border)}.industries-locked{display:flex;flex-direction:column;gap:1rem}.industry-locked-item{padding:1rem;border-radius:10px;background:#ffffff04;border:1px solid var(--glass-border)}.form-group{margin-bottom:1rem;text-align:left}.form-group label{display:block;margin-bottom:.4rem;font-size:.82rem;font-weight:500;color:var(--text-muted)}.pricing-tables{display:flex;flex-direction:column;gap:1.5rem}.pricing-industry{padding:1.5rem}.trade-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem}.trade-table th{padding:10px 14px;text-align:center;color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--glass-border);white-space:nowrap;position:sticky;top:0;background:#07090ff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.trade-table td{padding:9px 14px;text-align:center;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s}.trade-table tbody tr:nth-child(2n) td{background:#ffffff04}.trade-table tbody tr:hover td{background:#8b5cf60f}.trade-table td:first-child,.trade-table th:first-child{text-align:left}.country-cell,.industry-cell{font-weight:700;vertical-align:top}.mono{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.val-pos{color:var(--status-positive);font-weight:600}.val-neg{color:var(--status-negative);font-weight:600}.val-neutral{color:var(--text-muted)}input[type=number]{font-family:JetBrains Mono,Fira Code,monospace;text-align:right;font-variant-numeric:tabular-nums}select{font-family:Inter,sans-serif;background:var(--input-bg);border:1px solid var(--glass-border);color:var(--text-main);padding:8px 14px;border-radius:8px;outline:none;cursor:pointer;transition:border-color .2s,background .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}select:focus{border-color:var(--accent-primary);background:var(--glass-surface-2)}.price-input{width:90px;padding:6px 8px;font-size:.82rem;text-align:right;background:var(--input-bg);border:1px solid var(--glass-border);border-radius:6px;color:var(--text-main);font-family:monospace}.price-input:focus{border-color:var(--accent-primary)}.order-sellers{display:flex;flex-direction:column;gap:1.5rem}.order-seller-card{padding:1.5rem}.order-seller-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.order-seller-header h4{font-size:1.05rem}.orders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.order-card{padding:1rem;border-radius:10px}.order-card h5{font-weight:700;margin-bottom:.25rem}.world-view .groups-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.world-industry{display:flex;flex-direction:column;gap:.4rem;padding:.6rem 0;border-bottom:1px solid var(--glass-border)}.world-industry:last-child{border-bottom:none}.world-products{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}.metric-value{font-size:2rem;font-family:Outfit,sans-serif;font-weight:700}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{width:100%;max-width:500px;padding:2.5rem;position:relative;transform:translateY(20px) scale(.95);transition:transform .3s cubic-bezier(.4,0,.2,1)}.modal-overlay.active .modal-content{transform:translateY(0) scale(1)}.modal-close{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;color:var(--text-muted);font-size:1.5rem}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:2000;pointer-events:none}.toast{padding:.85rem 1.25rem;background:#0f111ae6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:10px;box-shadow:0 8px 25px #0006;color:#fff;animation:slideInRight .35s ease forwards;display:flex;align-items:center;gap:.6rem;font-size:.88rem;border:1px solid var(--glass-border);pointer-events:auto}.toast-icon{font-size:1rem;font-weight:700}.toast-success{border-left:4px solid var(--status-positive)}.toast-error{border-left:4px solid var(--status-negative)}.toast-info{border-left:4px solid var(--accent-primary)}@media (max-width:768px){#app{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start}.groups-grid,.leaders-grid{grid-template-columns:1fr}.nav-tabs{gap:.25rem}.nav-tab{padding:8px 14px;font-size:.8rem}.detail-header{flex-direction:column}.detail-balance{text-align:left}.section-config{flex-direction:column;align-items:flex-start}}.dashboard-wrapper{display:flex;min-height:100vh;position:relative;overflow-x:hidden}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;animation:fadeIn .3s ease}.dashboard-sidebar{position:fixed;top:0;left:calc(-1 * var(--sidebar-width));width:var(--sidebar-width);height:100vh;z-index:100;transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;border-radius:0 16px 16px 0!important;border-left:none!important;background:#07090ff2!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;border-right:1px solid var(--glass-border)!important;box-shadow:4px 0 30px #0006!important}.dashboard-sidebar.open{transform:translate(var(--sidebar-width))}@media (min-width: 1024px){.dashboard-sidebar{left:0!important;transform:none!important;border-radius:0!important;border-right:1px solid var(--glass-border)!important;box-shadow:none!important}.main-content{margin-left:var(--sidebar-width)}.sidebar-toggle-btn,.sidebar-close,.sidebar-overlay{display:none!important}.sticky-header{margin-left:0}}.sidebar-header{padding:1.5rem 1.25rem 1.25rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--glass-border)}.sidebar-logo{display:flex;align-items:center;gap:.6rem}.sidebar-logo img{height:28px;filter:drop-shadow(0 0 8px var(--accent-primary))}.sidebar-logo span{font-family:Outfit,sans-serif;font-weight:900;font-size:1.25rem;background:linear-gradient(135deg,#fff 30%,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.sidebar-close{background:transparent;color:var(--text-muted);font-size:1.2rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.sidebar-nav{padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto}.sidebar-nav-group-label{padding:.75rem .75rem .25rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);opacity:.6;margin-top:.5rem}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:10px 12px;border-radius:10px;background:transparent;border:none;color:var(--text-muted);font-weight:500;font-size:.875rem;transition:all .2s ease;text-align:left;width:100%;position:relative}.sidebar-nav-item:hover{background:#ffffff0a;color:var(--text-main)}.sidebar-nav-item.active{background:#8b5cf61a;color:#c4b5fd;font-weight:600;border-left:3px solid var(--accent-primary);padding-left:9px;border-radius:0 10px 10px 0}.sidebar-nav-item.active .nav-tab-icon{filter:drop-shadow(0 0 6px var(--accent-primary))}[data-role=instructor] .sidebar-nav-item.active{background:#f59e0b1a;color:#fcd34d;border-left-color:var(--accent-secondary)}[data-role=instructor] .sidebar-nav-item.active .nav-tab-icon{filter:drop-shadow(0 0 6px var(--accent-secondary))}[data-role=instructor] .sidebar-logo span{background:linear-gradient(135deg,#fff 30%,#fcd34d);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-footer{padding:1rem .75rem;border-top:1px solid var(--glass-border);display:flex;align-items:center;gap:.75rem}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:.8rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.main-content{flex:1;width:100%;padding:2rem;min-width:0;transition:margin-left .35s ease}.sidebar-toggle-btn{width:45px;height:45px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;border-radius:10px}.hamburger-line{width:20px;height:2px;background:var(--accent-primary);border-radius:2px;transition:.3s}.sidebar-toggle-btn:hover .hamburger-line:nth-child(1){transform:translateY(-1px)}.sidebar-toggle-btn:hover .hamburger-line:nth-child(3){transform:translateY(1px)}@media (max-width: 768px){.main-content{padding:1rem}.dashboard-header{flex-direction:row;align-items:center}.header-title-area .subtitle{display:none}.header-title-area h1{font-size:1.4rem!important}.user-controls{gap:.5rem}}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass-bg);cursor:pointer;transition:all .2s ease;color:var(--text-main);font-weight:600;font-size:.8rem;text-align:center}.quick-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.panel-header{padding:1.75rem 2rem;position:relative;overflow:hidden;margin-bottom:1.5rem}.panel-header-bg{position:absolute;top:-40px;right:-40px;opacity:.04;pointer-events:none;line-height:1}.panel-header-body{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:1.25rem;flex-wrap:wrap}.panel-header-title{font-size:1.55rem;font-weight:900;display:flex;align-items:center;gap:.7rem;margin-bottom:.4rem;flex-wrap:wrap}.panel-week-badge{font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:20px;background:#8b5cf61f;border:1px solid rgba(139,92,246,.25);color:#c4b5fd;letter-spacing:.05em;text-transform:uppercase;font-family:Inter,sans-serif}.panel-header-sub{color:var(--text-muted);font-size:.875rem;line-height:1.6;max-width:500px}.panel-deadline-pill{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.82rem;font-weight:600;padding:.6rem 1rem;border-radius:10px;flex-shrink:0;line-height:1.4}.panel-deadline-pill.open{background:#10b98114;color:var(--status-positive);border:1px solid rgba(16,185,129,.2)}.panel-deadline-pill.locked{background:#ef444414;color:var(--status-negative);border:1px solid rgba(239,68,68,.2)}.panel-deadline-pill svg{display:inline;vertical-align:middle;margin-right:3px}.pill-label{font-size:.62rem;opacity:.65;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.floating-save-bar{position:fixed;bottom:1.5rem;right:1.5rem;left:calc(var(--sidebar-width) + 1.5rem);background:#080a12f7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(139,92,246,.35);border-radius:14px;padding:.875rem 1.25rem;display:flex;align-items:center;justify-content:space-between;z-index:200;box-shadow:0 8px 32px #00000080,0 0 0 1px #8b5cf614;animation:slideUpFade .25s ease}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.save-bar-hint{font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.save-bar-hint:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-secondary);animation:pulseGlow 2s ease infinite;flex-shrink:0}@media (max-width: 1023px){.floating-save-bar{left:1rem;right:1rem;bottom:1rem}}.grid-responsive{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.grid-responsive-sm{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.sticky-header{position:sticky;top:0;z-index:50;background:#07090fd9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:1rem 1.5rem;margin:-2rem -2rem 2rem;border-bottom:1px solid var(--glass-border);border-radius:0;min-height:var(--header-height);display:flex;align-items:center}.sticky-header .dashboard-header{width:100%;margin-bottom:0;padding-bottom:0;border-bottom:none}@media (max-width: 768px){.sticky-header{margin:-1rem -1rem 1rem;padding:.75rem 1rem}}.table-glass{width:100%;border-collapse:separate;border-spacing:0}.table-glass th{padding:12px 16px;text-align:center;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--glass-border);white-space:nowrap}.table-glass td{padding:10px 16px;text-align:center;border-bottom:1px solid var(--glass-surface-2);transition:background .2s}.table-glass tr:hover td{background:var(--glass-surface-2)}.empty-state-card{padding:3rem 2rem;text-align:center;color:var(--text-muted);border:1px dashed var(--glass-border);border-radius:var(--radius);background:var(--glass-surface-2)}
