@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh;background:var(--bg);color:var(--text);font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;transition:background .3s ease,color .3s ease}.app-sidebar{display:flex;flex-direction:column;gap:24px;padding:24px 18px;background:var(--sidebar-bg, var(--surface));border-right:1px solid var(--sidebar-border, var(--border));box-shadow:var(--shadow-sm);z-index:10;transition:background .3s ease,border-color .3s ease}.sidebar-brand{display:flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.brand-logo-wrapper{width:44px;height:44px;border-radius:14px;padding:0;display:flex;align-items:center;justify-content:center}.sidebar-logo{width:100%;height:100%;border-radius:11px;object-fit:cover}.brand-title{margin:0;font-size:1.25rem;font-weight:800;color:var(--text);letter-spacing:-.02em}.brand-subtitle{margin:2px 0 0;color:var(--muted);font-size:.82rem;font-weight:500}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:14px;text-decoration:none;color:var(--muted);font-size:.92rem;font-weight:600;background:transparent;border:1px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-icon{font-size:1.15rem;transition:transform .2s ease}.nav-link:hover{background:var(--surface-2);color:var(--text);transform:translate(3px)}.nav-link:hover .nav-icon{transform:scale(1.15)}.nav-link.active{background:var(--accent);color:#fff;box-shadow:0 6px 18px #0003;border-color:transparent}.nav-link.active .nav-icon{transform:scale(1.1)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:background .3s ease,border-color .3s ease}.user-profile-summary{display:flex;align-items:center;gap:12px;position:relative}.user-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--surface);box-shadow:var(--shadow-sm)}.user-info{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden}.user-name{font-weight:700;font-size:.92rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:2px 8px;border-radius:999px;background:#6366f126;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.05em}.theme-quick-btn{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s ease;flex-shrink:0}.theme-quick-btn:hover{transform:scale(1.15);border-color:var(--accent)}.sidebar-footer-actions{display:flex;gap:8px;margin-top:4px}.settings-quick-button{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.settings-quick-button:hover{background:var(--surface-2);border-color:var(--accent);color:var(--accent)}.logout-button{flex:1;padding:8px 12px;border:1px solid #fecdd3;border-radius:12px;background:#fff1f2;color:#e11d48;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#ffe4e6;border-color:#fda4af;color:#be123c;transform:translateY(-1px)}.app-main{padding:32px 36px;overflow-y:auto}.app-content{max-width:1240px;margin:0 auto}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.app-sidebar{border-right:none;border-bottom:1px solid var(--border)}.app-main{padding:20px 16px}}.tasks-container{display:flex;flex-direction:column;gap:24px}.tasks-header-bar{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.tasks-title-group h2{font-size:1.75rem;font-weight:700;margin:0 0 6px;color:var(--text)}.tasks-title-group p{margin:0;color:var(--muted);font-size:.95rem}.tasks-header-actions{display:flex;align-items:center;gap:12px}.view-mode-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:4px;gap:4px}.mode-btn{padding:8px 16px;border-radius:999px;border:none;background:transparent;color:var(--muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.mode-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #2563eb40}.tasks-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.stat-box{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 14px #00000005;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.stat-box:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.stat-box.active{border-color:var(--accent);background:#f0f6ff}.stat-icon-wrapper{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.stat-icon-wrapper.upcoming{background:#e0f2fe;color:#0284c7}.stat-icon-wrapper.submitted{background:#dcfce7;color:#16a34a}.stat-icon-wrapper.overdue{background:#fee2e2;color:#dc2626}.stat-icon-wrapper.all{background:#f3e8ff;color:#9333ea}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.6rem;font-weight:700;line-height:1.2;color:var(--text)}.stat-label{font-size:.85rem;font-weight:500;color:var(--muted)}.student-tabs-nav{display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--border);padding-bottom:0;margin-top:8px;overflow-x:auto}.tab-button.upcoming.active{color:#0284c7;border-bottom-color:#0284c7}.tab-button.submitted.active{color:#16a34a;border-bottom-color:#16a34a}.tab-button.overdue.active{color:#dc2626;border-bottom-color:#dc2626}.tab-button.upcoming.active .tab-badge{background:#0284c726;color:#0284c7}.tab-button.submitted.active .tab-badge{background:#16a34a26;color:#16a34a}.tab-button.overdue.active .tab-badge{background:#dc262626;color:#dc2626}.task-controls-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.classroom-select-wrapper{min-width:220px}.classroom-select-wrapper select{width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:.9rem;color:var(--text)}.tasks-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.student-task-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;box-shadow:0 4px 16px #00000008;transition:all .25s ease;position:relative;overflow:hidden}.student-task-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #00000014}.student-task-card.status-upcoming{border-left:5px solid #0284c7}.student-task-card.status-submitted{border-left:5px solid #16a34a}.student-task-card.status-overdue{border-left:5px solid #dc2626;background:linear-gradient(180deg,#fffbfb,#fff)}.task-card-top{display:flex;flex-direction:column;gap:10px}.task-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.classroom-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.78rem;font-weight:600}.due-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.due-badge.upcoming{background:#e0f2fe;color:#0369a1}.due-badge.today{background:#fef3c7;color:#b45309}.due-badge.overdue{background:#fee2e2;color:#b91c1c}.due-badge.submitted{background:#dcfce7;color:#15803d}.due-badge.graded{background:#f3e8ff;color:#7e22ce}.task-card-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text);line-height:1.35}.task-card-details{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-submission-info{background:var(--surface-2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--border)}.submission-meta-line{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--muted)}.submission-text-preview{font-size:.88rem;color:var(--text);font-style:italic;margin:0;word-break:break-word}.grade-badge-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:#22c55e;color:#fff;font-size:.78rem;font-weight:700}.teacher-feedback-note{font-size:.82rem;color:#0f766e;background:#e6fffa;padding:6px 10px;border-radius:8px;margin-top:4px}.task-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px dashed var(--border)}.submit-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border-radius:12px;border:none;background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn-primary:hover{background:#1d4ed8;transform:translateY(-1px)}.submit-btn-primary.late-submit{background:#dc2626}.submit-btn-primary.late-submit:hover{background:#b91c1c}.view-sub-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.view-sub-btn:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.task-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.task-modal-card{background:var(--surface);border-radius:24px;width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000002e;border:1px solid var(--border);display:flex;flex-direction:column}.modal-header-custom{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header-custom h3{margin:0;font-size:1.25rem;font-weight:700}.modal-close-btn{border:none;background:var(--surface-2);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--muted);cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{background:var(--border);color:var(--text)}.modal-body-custom{padding:24px;display:flex;flex-direction:column;gap:18px}.modal-task-summary{background:var(--surface-2);padding:14px 18px;border-radius:14px;border-left:4px solid var(--accent)}.modal-task-summary h4{margin:0 0 4px;font-size:1rem}.modal-task-summary p{margin:0;color:var(--muted);font-size:.88rem}.modal-form-group{display:flex;flex-direction:column;gap:8px}.modal-form-group label{font-size:.88rem;font-weight:600;color:var(--text)}.modal-form-group textarea,.modal-form-group input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-family:inherit;font-size:.92rem;color:var(--text)}.modal-form-group textarea:focus,.modal-form-group input:focus{outline:2px solid var(--accent)}.tasks-empty-state{text-align:center;padding:48px 24px;background:var(--surface-2);border-radius:20px;border:1px dashed var(--border);margin-top:12px}.empty-icon{font-size:3rem;margin-bottom:12px}.tasks-empty-state h3{margin:0 0 6px;font-size:1.2rem}.tasks-empty-state p{margin:0;color:var(--muted);font-size:.92rem}.sa-container{display:flex;flex-direction:column;gap:24px}.sa-header-bar{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.sa-title-group h2{font-size:1.75rem;font-weight:700;margin:0 0 6px;color:var(--text)}.sa-title-group p{margin:0;color:var(--muted);font-size:.95rem}.sa-header-actions{display:flex;align-items:center;gap:12px}.sa-tabs-nav{display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--border);padding-bottom:0;margin-top:8px;overflow-x:auto}.tab-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:transparent;color:var(--muted);font-size:.95rem;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s ease;white-space:nowrap}.tab-button:hover{color:var(--text)}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-button.sa.active{color:#16a34a;border-bottom-color:#16a34a}.tab-button.completed.active{color:#0284c7;border-bottom-color:#0284c7}.tab-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--surface-2);color:var(--muted)}.tab-button.active .tab-badge{background:#2563eb26;color:var(--accent)}.sa-controls-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.search-input-wrapper{flex:1;min-width:240px}.search-input-wrapper input{width:100%;padding:10px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:.9rem;color:var(--text)}.sa-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.sa-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;box-shadow:0 4px 16px #00000008;transition:all .25s ease}.sa-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #00000014}.sa-card.status-sa{border-left:5px solid #16a34a}.sa-card.status-completed{border-left:5px solid #0284c7}.sa-card-top{display:flex;flex-direction:column;gap:10px}.sa-card-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text)}.sa-card-details{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.sa-submission-preview{background:var(--surface-2);border-radius:12px;padding:12px;margin-top:8px;border:1px solid var(--border)}.submission-meta{display:flex;justify-content:space-between;font-size:.8rem;font-weight:600;margin-bottom:6px}.status-badge{padding:2px 6px;border-radius:4px;font-size:.7rem}.status-badge.completed{background:#dcfce7;color:#166534}.status-badge.verified{background:#eff6ff;color:#1e40af}.reflection-text{font-size:.85rem;font-style:italic;margin:4px 0}.teacher-feedback{font-size:.8rem;color:#166534;background:#f0fdf4;padding:6px;border-radius:6px;margin-top:6px}.sa-teacher-list{display:flex;flex-direction:column;gap:20px}.sa-teacher-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:20px}.sa-teacher-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:12px}.sa-teacher-submissions{display:flex;flex-direction:column;gap:12px}.submission-row{background:var(--surface-2);padding:16px;border-radius:12px;border:1px solid var(--border)}.sub-header{display:flex;justify-content:space-between;margin-bottom:8px}.verification-form{margin-top:12px;display:flex;flex-direction:column;gap:8px}.verification-form input{padding:8px 12px;border-radius:8px;border:1px solid var(--border)}.verification-form .actions{display:flex;justify-content:flex-end;gap:8px}.verified-tag{color:#166534;font-weight:600;font-size:.9rem}.verify-btn{background:var(--accent);color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:var(--surface);padding:24px;border-radius:20px;width:90%;max-width:500px;box-shadow:0 10px 25px #0003}.form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.9rem;font-weight:600}.form-group input,.form-group textarea{padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.success-msg{color:#166534;background:#dcfce7;padding:8px;border-radius:6px;text-align:center}.empty-state{text-align:center;padding:40px;color:var(--muted)}:root,[data-theme=light]{color-scheme:light;--bg: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);--surface: #ffffff;--surface-2: #f1f5f9;--border: #e2e8f0;--border-focus: #818cf8;--text: #0f172a;--muted: #64748b;--accent: #4f46e5;--accent-hover: #4338ca;--accent-2: #0d9488;--accent-3: #f59e0b;--accent-4: #8b5cf6;--danger: #ef4444;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px -4px rgba(15, 23, 42, .06), 0 4px 12px -2px rgba(15, 23, 42, .03);--shadow-lg: 0 20px 40px -12px rgba(15, 23, 42, .1);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 24px;--sidebar-bg: #ffffff;--sidebar-border: rgba(226, 232, 240, .8)}[data-theme=dark]{color-scheme:dark;--bg: linear-gradient(135deg, #0b1329 0%, #0f172a 50%, #1e293b 100%);--surface: #1e293b;--surface-2: #334155;--border: #334155;--border-focus: #818cf8;--text: #f8fafc;--muted: #94a3b8;--accent: #6366f1;--accent-hover: #818cf8;--accent-2: #14b8a6;--accent-3: #fbbf24;--accent-4: #a78bfa;--danger: #f87171;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .5);--sidebar-bg: #0f172a;--sidebar-border: #1e293b}[data-theme=emerald]{color-scheme:light;--bg: linear-gradient(135deg, #f0fdf4 0%, #e6f4ea 50%, #dcfce7 100%);--surface: #ffffff;--surface-2: #e6f4ea;--border: #bbf7d0;--border-focus: #10b981;--text: #064e3b;--muted: #047857;--accent: #059669;--accent-hover: #047857;--shadow-sm: 0 2px 8px rgba(5, 150, 105, .08);--shadow-md: 0 8px 24px rgba(5, 150, 105, .12);--shadow-lg: 0 20px 40px rgba(5, 150, 105, .18);--sidebar-bg: #ffffff;--sidebar-border: #bbf7d0}[data-theme=sunset]{color-scheme:light;--bg: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);--surface: #ffffff;--surface-2: #ffedd5;--border: #fed7aa;--border-focus: #f97316;--text: #431407;--muted: #c2410c;--accent: #ea580c;--accent-hover: #c2410c;--shadow-sm: 0 2px 8px rgba(234, 88, 12, .08);--shadow-md: 0 8px 24px rgba(234, 88, 12, .12);--shadow-lg: 0 20px 40px rgba(234, 88, 12, .18);--sidebar-bg: #ffffff;--sidebar-border: #fed7aa}[data-theme=midnight]{color-scheme:dark;--bg: linear-gradient(135deg, #050811 0%, #090d16 50%, #111827 100%);--surface: #111827;--surface-2: #1f2937;--border: #1f2937;--border-focus: #ec4899;--text: #f9fafb;--muted: #9ca3af;--accent: #ec4899;--accent-hover: #db2777;--shadow-sm: 0 2px 8px rgba(236, 72, 153, .2);--shadow-md: 0 8px 24px rgba(236, 72, 153, .25);--shadow-lg: 0 20px 40px rgba(236, 72, 153, .35);--sidebar-bg: #090d16;--sidebar-border: #1f2937}*{box-sizing:border-box}body{margin:0;font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;min-height:100vh;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}.page-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px 24px}.auth-card{width:min(480px,100%);padding:40px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.auth-card h1{margin:0 0 10px;font-size:2.1rem;font-weight:800;letter-spacing:-.025em;color:var(--text)}.auth-card p{margin:0 0 24px;line-height:1.6;color:var(--muted);font-size:.95rem}.google-button,.secondary-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 22px;border-radius:999px;border:1px solid transparent;background:var(--accent);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:0 4px 14px #00000026;transition:all .2s cubic-bezier(.4,0,.2,1)}.google-button:hover,.secondary-button:hover,.primary-button:hover{transform:translateY(-2px);background:var(--accent-hover);box-shadow:0 8px 20px #00000040}.secondary-button{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.secondary-button:hover{background:var(--surface-2);border-color:var(--border-focus);color:var(--accent);box-shadow:var(--shadow-md)}.google-button:disabled,.secondary-button:disabled,.primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.status-text{margin-top:16px;font-size:.9rem;color:var(--accent);font-weight:600}.error-text{margin-top:16px;font-size:.9rem;color:var(--danger);font-weight:600}.page-section{width:100%;max-width:1140px;padding:32px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.dashboard-page{border-left:5px solid var(--accent)}.tutorials-page{border-left:5px solid var(--accent-2)}.tasks-page{border-left:5px solid var(--accent-3)}.grades-page{border-left:5px solid var(--accent-4)}.schedule-page{border-left:5px solid #10b981}.discussions-page{border-left:5px solid #ef4444}.classrooms-page{border-left:5px solid #06b6d4}.settings-page{border-left:5px solid var(--accent)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.page-header h2{margin:0 0 6px;font-size:1.75rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.page-header p{margin:0;color:var(--muted);font-size:.95rem}.panel-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:28px}.panel-card,.stat-card,.placeholder-card{padding:24px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all .25s ease}.panel-card:hover,.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-focus)}.panel-card h3,.stat-card strong{margin:0 0 8px;font-size:1.1rem;font-weight:700;color:var(--text)}.panel-card p,.placeholder-card p{margin:0;color:var(--muted);line-height:1.6;font-size:.92rem}.stat-card{display:flex;flex-direction:column;gap:8px;border-top:3px solid var(--accent)}.stat-card strong{font-size:1.8rem;font-weight:800;color:var(--accent);margin:0}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.profile-card{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:20px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}.avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--surface-2);box-shadow:var(--shadow-sm)}.role-row{display:flex;gap:12px;margin-bottom:22px}.role-button{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted);cursor:pointer;font-weight:700;font-size:.9rem;transition:all .2s ease}.role-button:hover{color:var(--text);background:var(--surface)}.role-button.active{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 4px 12px #0003}.entity-form{display:grid;gap:14px;margin-bottom:28px;padding:24px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border)}.entity-form h3{margin:0 0 4px;font-size:1.15rem;font-weight:700;color:var(--text)}.entity-form input,.entity-form textarea,.entity-form select{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:.92rem;transition:border-color .2s ease,box-shadow .2s ease}.entity-form input:focus,.entity-form textarea:focus,.entity-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}.entity-form textarea{min-height:100px;resize:vertical}.entity-list{display:grid;gap:18px}.entity-card{padding:22px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all .25s ease}.entity-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-focus)}.entity-card h3{margin:0 0 8px;font-size:1.15rem;font-weight:700;color:var(--text)}.entity-card p{margin:0 0 12px;color:var(--muted);line-height:1.6;font-size:.92rem}.entity-card span,.entity-card a{color:var(--accent);font-weight:600;font-size:.9rem;text-decoration:none}.entity-card a:hover{text-decoration:underline}.form-note{color:var(--muted);padding:8px 0;font-size:.9rem}@media (max-width: 760px){.page-section{padding:20px;border-radius:18px}.page-container{padding:16px}}
