:root{color-scheme:light;--bg:#f6f7fb;--card:#fff;--text:#1a1f2b;--muted:#5b6474;--accent:#4f46e5;--accent-soft:rgba(79,70,229,.12);--border:#e2e6f0;--success:#22c55e;--warning:#f97316;--danger:#ef4444;--cool:#3b82f6;--cool-soft:rgba(59,130,246,.16);--warm:#f97316;--hot:#ef4444}[data-theme=dark]{color-scheme:dark;--bg:#0f1218;--card:#171b24;--text:#e8edf7;--muted:#9aa6bd;--accent:#7c6cf2;--accent-soft:rgba(124,108,242,.16);--border:#262c3c}[data-theme=pastel]{color-scheme:light;--bg:#fbf8ff;--card:#fff;--text:#2c243d;--muted:#6f6486;--accent:#c084fc;--accent-soft:rgba(192,132,252,.18);--border:#ece1f4}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at top,rgba(79,70,229,.08),transparent 45%),radial-gradient(circle at 20% 20%,rgba(34,197,94,.08),transparent 40%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}main{padding:32px}.container{max-width:1200px;margin:0 auto}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 14px 30px rgba(16,24,40,.08)}.grid{display:grid;grid-gap:20px;gap:20px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.kpi{display:flex;flex-direction:column;gap:8px}.kpi h3{margin:0;font-size:14px;color:var(--muted);font-weight:500}.kpi strong{font-size:28px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;background:var(--accent-soft);color:var(--accent);font-weight:600}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{padding:12px 8px;text-align:left;border-bottom:1px solid var(--border)}.table th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table tbody tr{cursor:pointer;transition:background .2s ease}.table tbody tr:hover{background:rgba(79,70,229,.06)}.table tbody tr.active{background:rgba(79,70,229,.12)}.task-priority{font-weight:600}.task-priority.high{color:var(--danger)}.task-priority.medium{color:var(--warning)}.task-priority.low{color:var(--success)}.button{border:none;background:var(--accent);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer}.button.secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.text-button{border:none;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;padding:4px 0}.text-button.danger{color:var(--danger)}.table-actions{display:flex}.inline,.table-actions{align-items:center;gap:12px}.inline{display:inline-flex}.nav{display:flex;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.nav,.nav-links{align-items:center}.nav-links{display:inline-flex;gap:10px;padding:6px;border-radius:999px;background:var(--card);border:1px solid var(--border);margin-left:16px}.nav-links a{padding:8px 14px;border-radius:999px;font-size:13px;color:var(--muted);font-weight:600}.nav-links a.active{background:var(--accent);color:#fff}.brand{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.brand-subtitle{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.theme-toggle{display:inline-flex;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:4px}.theme-toggle button{border:none;background:transparent;color:var(--muted);padding:6px 12px;border-radius:999px;cursor:pointer;font-size:12px}.theme-toggle button.active{background:var(--accent);color:#fff}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title h2{margin:0;font-size:18px}.comment-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.comment-button{background:transparent;border:1px dashed var(--border);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--muted);cursor:pointer}.panel{background:linear-gradient(135deg,rgba(79,70,229,.16),rgba(124,108,242,.08));border-radius:20px;padding:24px;border:1px solid var(--border)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{margin:0;font-size:24px}.page-subtitle{margin:4px 0 0;color:var(--muted)}.chip{display:inline-flex;gap:8px;padding:6px 12px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:var(--card);color:var(--muted)}.chip,.stat-row{align-items:center}.stat-row{display:flex;justify-content:space-between;gap:12px;margin:12px 0}.stat-row strong{font-size:18px}.auth-shell{min-height:calc(100vh - 40px);display:flex;align-items:center;justify-content:center;padding:40px 16px}.auth-card{max-width:520px;width:100%}.auth-header h1{margin:12px 0 0}.department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:20px;gap:20px}.department-card h3{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.department-body{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:20px;gap:20px}.priority-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.priority{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);font-weight:600}.priority-pill{font-size:11px;letter-spacing:.05em;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-weight:600}.priority-pill.critical{background:rgba(37,99,235,.16);border-color:rgba(37,99,235,.4);color:#1d4ed8}.priority-pill.high{background:rgba(14,165,233,.14);border-color:rgba(14,165,233,.3);color:#0284c7}.priority-pill.medium{background:rgba(14,116,144,.14);border-color:rgba(14,116,144,.3);color:#0e7490}.priority-pill.low{background:rgba(148,163,184,.18);border-color:rgba(148,163,184,.4);color:#475569}.priority.critical{background:rgba(37,99,235,.18);border-color:rgba(37,99,235,.4);color:#1d4ed8}.priority.high{background:rgba(14,165,233,.16);border-color:rgba(14,165,233,.3);color:#0284c7}.priority.medium{background:rgba(14,116,144,.16);border-color:rgba(14,116,144,.3);color:#0e7490}.priority.low{background:rgba(148,163,184,.2);border-color:rgba(148,163,184,.4);color:#475569}.pie-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}.pie-chart{position:relative;width:120px;height:120px;margin:0 auto 12px}.pie-chart svg{width:120px;height:120px;transform:rotate(-90deg)}.pie-bg{fill:none;stroke:rgba(148,163,184,.2);stroke-width:14}.pie-value{fill:none;stroke:var(--cool);stroke-width:14;stroke-linecap:round}.pie-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600}.pie-center strong{font-size:20px}.pie-footer{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.legend{margin-top:24px}.legend-items{display:flex;gap:12px;flex-wrap:wrap}.open-task-card{margin-top:24px}.open-task-list{display:grid;grid-gap:12px;gap:12px}.open-task-line{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:16px;gap:16px;padding:12px 16px 12px 24px;border-radius:12px;border:1px solid var(--border);background:var(--card);position:relative}.open-task-line:before{content:"";position:absolute;left:10px;top:10px;bottom:10px;width:4px;border-radius:999px;background:var(--cool)}.open-task-content{display:flex;flex-direction:column;gap:4px}.open-task-line strong{display:block}.open-task-line.critical:before{background:#1d4ed8}.open-task-line.high:before{background:#0284c7}.open-task-line.medium:before{background:#0e7490}.open-task-line.low:before{background:#475569}.analysis-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.analysis-metrics{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.heat.cool td{background:rgba(59,130,246,.08)}.heat.neutral td{background:rgba(148,163,184,.12)}.heat.warm td{background:rgba(249,115,22,.12)}.heat.hot td{background:rgba(239,68,68,.16)}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.skill-tags span{padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--muted)}.skill-checklist{display:grid;grid-gap:8px;gap:8px;padding:16px;border-radius:16px;border:1px solid var(--border);background:rgba(79,70,229,.06)}.skill-checklist h3{margin:0 0 6px}.skill-row{justify-content:space-between;gap:12px}.input-with-icon,.skill-row{display:flex;align-items:center}.input-with-icon{gap:8px}.icon-button{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:8px 10px;cursor:pointer}.helper-text{font-size:12px;color:var(--muted)}.checklist{display:grid;grid-gap:10px;gap:10px}.divider{height:1px;background:var(--border);margin:16px 0}.assignment-card{border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:12px;background:rgba(79,70,229,.05)}.assignment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.assignment-head .chip{margin-top:6px;display:inline-flex}.assignment-stack{display:flex;flex-direction:column;gap:4px}.score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:4px 10px;border-radius:999px;background:rgba(59,130,246,.16);color:var(--text);font-weight:600;font-size:12px;flex-direction:column;gap:2px}.score-pill span{line-height:1}.score-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.score-value{font-size:13px}.assignment-card p{margin:6px 0 12px;color:var(--muted)}.edit-panel{margin-top:16px;padding:16px;border-radius:14px;border:1px dashed var(--border);background:rgba(79,70,229,.04)}.chart{height:180px;width:100%}.chart svg{width:100%;height:100%}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.form-group label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text)}.add-skill-row input{flex:1 1}.form-actions{display:flex;gap:12px;margin-top:16px}.notice{padding:12px;border-radius:12px;background:rgba(34,197,94,.12);color:var(--success);font-size:12px;font-weight:600}.footer{margin-top:24px;color:var(--muted);font-size:12px}