:root{--primary: #004BA0;--primary-hover: #003370;--primary-light: #4A7FCB;--primary-soft: rgba(0,75,160,.08);--primary-softer: rgba(0,75,160,.15);--bg: #F0F4FB;--bg-tint: radial-gradient(circle at 0% 0%, rgba(0,75,160,.06), transparent 50%), radial-gradient(circle at 100% 100%, rgba(74,127,203,.05), transparent 50%), #F0F4FB;--surface: #ffffff;--surface-2: #F8F9FA;--surface-3: #F1F3F5;--border: #DEE2E6;--border-strong: #CED4DA;--text: #333333;--text-dim: #666666;--text-muted: #6C757D;--accent: #004BA0;--accent-2: #003370;--accent-hover: #003370;--primary-grad: linear-gradient(135deg, #004BA0 0%, #003370 100%);--primary-grad-hover: linear-gradient(135deg, #4A7FCB 0%, #004BA0 100%);--accent-grad: var(--primary-grad);--accent-grad-soft: linear-gradient(135deg, rgba(0,75,160,.1), rgba(74,127,203,.12));--success: #28A745;--warning: #FF9800;--danger: #DC3545;--info: #2196F3;--good: #28A745;--good-grad: linear-gradient(135deg, #34CE57 0%, #28A745 100%);--mid: #FF9800;--mid-grad: linear-gradient(135deg, #FFB547 0%, #FF9800 100%);--bad: #DC3545;--bad-grad: linear-gradient(135deg, #E4606D 0%, #DC3545 100%);--mi-gold: #D1AB3E;--mi-gold-light: #E6C870;--mi-gold-grad: linear-gradient(135deg, #E6C870 0%, #D1AB3E 100%);--purple: #D1AB3E;--purple-grad: linear-gradient(135deg, #E6C870 0%, #D1AB3E 100%);--blue: #2196F3;--gray: #6C757D;--radius: 16px;--radius-sm: 10px;--radius-xs: 8px;--radius-lg: 20px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 2px 6px rgba(0,0,0,.05);--shadow: 0 4px 20px rgba(0,0,0,.08);--shadow-lg: 0 12px 28px rgba(0,0,0,.12);--shadow-xl: 0 24px 48px rgba(0,0,0,.16);--ring: 0 0 0 3px rgba(0,75,160,.2)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-tint);color:var(--text);line-height:1.55;font-size:14px;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}.icon{flex-shrink:0;stroke-width:1.75}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b8c9e2,#9eb5d6);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9eb5d6,#85a0c8)}.app{display:grid;grid-template-columns:260px 1fr;height:100vh}.sidebar{background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 0 16px;overflow-y:auto;position:relative}.sidebar-brand{padding:0 20px 22px;border-bottom:1px solid var(--border);margin-bottom:18px;display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--primary-grad);color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px #004ba059,inset 0 1px #ffffff4d,0 0 0 2px var(--mi-gold);flex-shrink:0}.sidebar-brand .brand-text h1{font-size:15px;font-weight:700;letter-spacing:.6px;color:var(--text);line-height:1.1}.sidebar-brand .tagline{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.1px;margin-top:3px;font-weight:600}.nav-group{padding:0 12px;margin-bottom:6px}.nav-group-label{font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--text-muted);padding:12px 10px 8px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:13.5px;font-weight:500;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s,transform .1s;border:1px solid transparent;position:relative;margin-bottom:2px}.nav-item:hover{background:var(--primary-soft);color:var(--text)}.nav-item.active{background:var(--primary-softer);color:var(--primary);font-weight:600}.nav-item.active:after{content:"";position:absolute;right:0;top:6px;bottom:6px;width:3px;background:var(--primary);border-radius:3px 0 0 3px}.nav-item .icon{opacity:.85}.nav-item.active .icon{opacity:1;color:var(--primary)}.sidebar-footer{margin-top:auto;padding:16px 20px 4px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted)}.sidebar-footer>div:first-child{text-transform:uppercase;letter-spacing:.9px;font-weight:600;margin-bottom:6px}.mode-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-xs);font-size:11px;font-weight:600;letter-spacing:.3px}.mode-pill.mock{background:#ff980024;color:#b26a00;border:1px solid rgba(255,152,0,.35)}.mode-pill.real{background:#28a7451f;color:#1e7e34;border:1px solid rgba(40,167,69,.35)}.main{display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;gap:14px;padding:14px 28px;border-bottom:1px solid rgba(255,255,255,.15);background:var(--primary-grad);color:#fff;box-shadow:0 4px 14px #004ba040}.topbar .title{font-size:17px;font-weight:700;flex-shrink:0;letter-spacing:-.01em;color:#fff}.topbar .search{flex:1;max-width:460px;position:relative}.topbar .search input{width:100%;padding:9px 14px 9px 38px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);color:#fff;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.topbar .search input::placeholder{color:#ffffffb3}.topbar .search input:focus{border-color:#ffffff8c;background:#ffffff38;box-shadow:0 0 0 3px #ffffff2e}.topbar .search .search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#fffc;pointer-events:none;display:flex}.topbar .date-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:#fff3;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);font-size:12px;color:#fff;font-weight:600}.topbar .refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;letter-spacing:.2px;transition:transform .12s,background .15s,box-shadow .15s}.topbar .refresh-btn:hover{transform:translateY(-1px);background:#ffffff4d;box-shadow:0 4px 12px #0000001f}.topbar .refresh-btn:active{transform:translateY(0)}.topbar .generate-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#ffffffe6;color:#1a1a2e;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;font-family:inherit;letter-spacing:.2px;transition:transform .12s,background .15s,box-shadow .15s}.topbar .generate-btn:hover:not(:disabled){transform:translateY(-1px);background:#fff;box-shadow:0 4px 14px #0000002e}.topbar .generate-btn:active:not(:disabled){transform:translateY(0)}.topbar .generate-btn:disabled{opacity:.75;cursor:not-allowed;background:#fff9}.topbar .run-error{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:#ef444440;color:#fecaca;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius-sm);font-size:12px;font-weight:600}.spinner{width:12px;height:12px;border:2px solid rgba(26,26,46,.3);border-top-color:#1a1a2e;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.content{flex:1;overflow-y:auto;padding:28px 32px;background:var(--bg-tint)}.view{animation:fadeIn .25s}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-title{font-size:1.75rem;font-weight:700;margin-bottom:6px;letter-spacing:-.01em;display:flex;align-items:center;gap:12px;color:var(--text)}.page-title .icon{width:30px;height:30px;padding:6px;background:var(--primary-grad);color:#fff;border-radius:10px;box-shadow:0 4px 12px #004ba059}.page-subtitle{color:var(--text-dim);margin-bottom:28px;font-size:14px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:28px}.kpi{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}.kpi:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-grad)}.kpi.good:before{background:var(--good-grad)}.kpi.mid:before{background:var(--mid-grad)}.kpi.bad:before{background:var(--bad-grad)}.kpi.purple:before{background:var(--mi-gold-grad)}.kpi.gray:before{background:linear-gradient(135deg,#adb5bd,#6c757d)}.kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.kpi .label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:700}.kpi-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;box-shadow:0 4px 10px #00000014}.kpi-icon.accent{background:var(--primary-grad);box-shadow:0 4px 10px #004ba059}.kpi-icon.good{background:var(--good-grad);box-shadow:0 4px 10px #28a7454d}.kpi-icon.mid{background:var(--mid-grad);box-shadow:0 4px 10px #ff98004d}.kpi-icon.bad{background:var(--bad-grad);box-shadow:0 4px 10px #dc35454d}.kpi-icon.purple{background:var(--mi-gold-grad);box-shadow:0 4px 10px #d1ab3e59;color:#5c4a12}.kpi-icon.gray{background:linear-gradient(135deg,#adb5bd,#6c757d)}.kpi .value{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--text)}.kpi .sub{font-size:12px;color:var(--text-dim);margin-top:6px;font-weight:500}.section{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);padding:22px 24px;margin-bottom:20px;box-shadow:var(--shadow)}.section h2{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:18px;display:flex;align-items:center;gap:8px;letter-spacing:-.005em}.section h2 .icon{color:var(--primary)}.score-bars{display:flex;flex-direction:column;gap:12px}.score-bar{display:grid;grid-template-columns:140px 1fr auto;gap:14px;align-items:center;font-size:13px;font-weight:500}.score-bar .bar-wrap{height:10px;background:var(--surface-3);border-radius:5px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.score-bar .bar-fill{height:100%;border-radius:5px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px #ffffff4d}.score-bar .bar-fill.good{background:var(--good-grad)}.score-bar .bar-fill.mid{background:var(--mid-grad)}.score-bar .bar-fill.bad{background:var(--bad-grad)}.score-bar .bar-value{color:var(--text-dim);font-size:12px;font-weight:700;min-width:58px;text-align:right}.risk-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;background:var(--surface-2);transition:border-color .12s,transform .12s,background .12s}.risk-row:last-child{margin-bottom:0}.risk-row:hover{border-color:var(--primary-light);transform:translate(2px);background:var(--primary-soft)}.risk-row .summary-text{margin-left:10px;color:var(--text-dim);font-size:12.5px}.filters{display:flex;flex-wrap:wrap;gap:14px;padding:16px 18px;background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);margin-bottom:18px;align-items:flex-end;box-shadow:var(--shadow-sm)}.filter{display:flex;flex-direction:column;gap:5px}.filter label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.9px}.filter select,.filter input[type=text]{padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;outline:none;min-width:150px;transition:border-color .15s,box-shadow .15s,background .15s}.filter select:focus,.filter input[type=text]:focus{border-color:var(--primary);background:#fff;box-shadow:var(--ring)}.filter input[type=range]{width:170px;accent-color:var(--primary);cursor:pointer}.results-count{margin-left:auto;font-size:12px;padding:8px 12px;background:var(--primary-soft);border-radius:var(--radius-sm);border:1px solid var(--primary-softer);color:var(--primary);font-weight:600}.clear-btn{padding:8px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;transition:all .15s}.clear-btn:hover{border-color:var(--danger);color:var(--danger);background:#fdf2f3}.table-wrap{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;font-size:13px}th{background:var(--surface-2);text-align:left;padding:13px 18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s,background .12s}th:hover{color:var(--primary);background:#f1f3f5}th .sort-indicator{font-size:9px;margin-left:5px;opacity:.5}td{padding:15px 18px;border-bottom:1px solid var(--border);color:var(--text);font-weight:500}tr:last-child td{border-bottom:none}tr{transition:background .12s}tr:hover td{background:#004ba00f}tr.inactive td{opacity:.55}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:var(--radius-xs);font-size:11px;font-weight:600;border:1px solid;letter-spacing:.2px}.badge.risk-none{background:#28a7451f;color:#1e7e34;border-color:#28a74559}.badge.risk-low_effort{background:#ff980024;color:#b26a00;border-color:#ff980059}.badge.risk-possible_copy,.badge.risk-incomplete_work{background:#dc35451f;color:#b21f2d;border-color:#dc354559}.badge.status-active{background:#28a7451f;color:#1e7e34;border-color:#28a74559}.badge.status-active:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px #28a74540;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 2px #28a74540}50%{box-shadow:0 0 0 4px #28a74526}}.badge.status-inactive{background:#e9ecef;color:#495057;border-color:#ced4da}.score-chip{display:inline-block;padding:4px 11px;border-radius:var(--radius-xs);font-weight:600;font-size:12px;letter-spacing:.2px}.score-chip.good{background:#28a7451f;color:#1e7e34;border:1px solid rgba(40,167,69,.25)}.score-chip.mid{background:#ff980024;color:#b26a00;border:1px solid rgba(255,152,0,.3)}.score-chip.bad{background:#dc35451f;color:#b21f2d;border:1px solid rgba(220,53,69,.3)}.score-chip.gray{background:var(--surface-2);color:var(--gray);border:1px solid var(--border)}.link{color:var(--primary);text-decoration:none;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:color .12s}.link:hover{color:var(--primary-hover);text-decoration:underline}.link .icon{opacity:.8}.report-card{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);padding:24px 26px;margin-bottom:18px;box-shadow:var(--shadow);transition:box-shadow .18s,transform .18s}.report-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.report-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}.report-head .who{display:flex;align-items:center;gap:14px}.report-head .who .avatar{width:44px;height:44px;border-radius:12px;background:var(--primary-grad);color:#fff;display:grid;place-items:center;font-size:17px;font-weight:700;box-shadow:0 6px 14px #004ba052,inset 0 1px #ffffff4d;flex-shrink:0}.report-head .who h3{font-size:18px;font-weight:700;margin-bottom:2px;letter-spacing:-.01em;color:var(--text)}.report-head .who .gh{font-size:12px;color:var(--text-muted);font-weight:500}.report-head .meta{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.report-summary{font-size:14px;color:var(--text);margin-bottom:20px;padding:14px 18px;background:var(--primary-soft);border-left:3px solid var(--primary);border-radius:var(--radius-sm);line-height:1.55}.scores-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}.score-box{padding:12px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.score-box .lbl{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;font-weight:700;margin-bottom:5px}.score-box .val{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.section-title{font-size:11px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--text-muted);margin:16px 0 10px;display:flex;align-items:center;gap:6px}.section-title .icon{width:14px;height:14px}.section-title.strengths{color:var(--success)}.section-title.mistakes{color:var(--danger)}.section-title.suggestions{color:var(--primary)}.teacher-list{padding-left:22px}.teacher-list li{padding:6px 0;color:var(--text);font-size:13px;line-height:1.65}.mentor-note{padding:14px 18px;background:var(--primary-soft);border-left:3px solid var(--primary);border-radius:var(--radius-sm);font-style:italic;color:#0a2c5e;font-size:13px;margin-top:14px;display:flex;gap:10px;align-items:flex-start}.mentor-note .icon{color:var(--primary);flex-shrink:0;margin-top:2px}.repo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.repo-card{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.repo-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-grad);opacity:.6}.repo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.repo-card:hover:before{opacity:1}.repo-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.repo-avatar{width:38px;height:38px;border-radius:10px;background:var(--primary-softer);color:var(--primary);display:grid;place-items:center;flex-shrink:0}.repo-card h3{font-size:15.5px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.repo-card .gh-handle{font-size:12px;color:var(--text-muted);margin-top:1px}.repo-card a{color:var(--primary);text-decoration:none;font-size:12px;display:inline-flex;align-items:center;gap:5px;margin-top:12px;padding:7px 11px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);word-break:break-all;transition:all .12s;font-weight:500}.repo-card a:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}.repo-card .meta-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.settings-list dl{display:grid;grid-template-columns:240px 1fr;gap:14px 24px}.settings-list dt{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.9px;font-weight:700;padding-top:3px;display:flex;align-items:center;gap:6px}.settings-list dd{font-size:13px;word-break:break-all;color:var(--text);font-weight:500}.empty-state{padding:60px 30px;text-align:center;color:var(--text-muted)}.empty-state code{background:var(--primary-soft);padding:4px 10px;border-radius:6px;color:var(--primary);font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;border:1px solid var(--primary-softer)}.empty-state .icon{width:48px;height:48px;color:var(--primary);opacity:.55;margin:0 auto 14px;display:block}.empty-state .empty-title{font-size:15px;font-weight:600;color:var(--text-dim);margin-bottom:6px}.date-range-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:18px 20px;background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);margin-bottom:18px;box-shadow:var(--shadow)}.date-field{display:flex;flex-direction:column;gap:6px}.date-field label{font-size:12px;font-weight:600;color:var(--text-dim);letter-spacing:.2px}.date-input-wrap{position:relative;display:flex;align-items:center}.date-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--primary);pointer-events:none;z-index:1}.date-field input[type=date]{padding:10px 14px 10px 36px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;font-weight:600;min-width:180px;outline:none;transition:border-color .15s,box-shadow .15s;cursor:pointer}.date-field input[type=date]:focus,.date-field input[type=date]:hover{border-color:var(--primary);box-shadow:var(--ring)}.date-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity .15s}.date-field input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.show-btn{padding:10px 22px;background:var(--primary-grad);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;letter-spacing:.3px;transition:transform .12s,box-shadow .15s,opacity .15s,background .15s}.show-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--primary-grad-hover);box-shadow:0 4px 12px #004ba059}.show-btn:active:not(:disabled){transform:translateY(0)}.show-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.date-range-bar .clear-btn{padding:10px 16px;font-size:13px}.date-range-bar .entries-count{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--primary);padding:10px 14px;background:var(--primary-soft);border:1px solid var(--primary-softer);border-radius:var(--radius-sm)}.feedback-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:18px}.summary-stat{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.summary-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-grad)}.summary-stat.good:before{background:var(--good-grad)}.summary-stat.bad:before{background:var(--bad-grad)}.summary-stat.gold:before{background:var(--mi-gold-grad)}.summary-stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.summary-stat-body{display:flex;flex-direction:column;min-width:0}.summary-stat-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.summary-stat-value{font-size:28px;font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1.15;margin-top:2px}.summary-stat-sub{font-size:12px;font-weight:500;color:var(--text-dim);margin-top:4px}.summary-stat-icon{flex-shrink:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--primary-grad);color:#fff;box-shadow:0 4px 10px #004ba040}.summary-stat-icon.good{background:var(--good-grad);box-shadow:0 4px 10px #28a74540}.summary-stat-icon.bad{background:var(--bad-grad);box-shadow:0 4px 10px #dc354540}.summary-stat-icon.gold{background:var(--mi-gold-grad);box-shadow:0 4px 10px #d1ab3e4d;color:#5c4a12}.intern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:18px;margin-bottom:20px}.intern-card{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.intern-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.intern-card.expanded{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.intern-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease}.intern-card-head:hover{background:var(--primary-soft)}.intern-card.expanded .intern-card-head{border-bottom:1px solid var(--border)}.intern-card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.day-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding:14px 18px 10px;border-top:1px solid var(--border)}.day-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-2);min-height:74px;transition:border-color .12s ease,transform .12s ease}.day-cell.active{border-color:#004ba04d;background:linear-gradient(180deg,#004ba00a,#004ba014)}.day-cell.inactive{opacity:.62;background:var(--surface-3)}.day-cell:hover{border-color:var(--primary);transform:translateY(-2px)}.day-cell-date{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px}.day-cell-commits{font-size:12px;color:var(--text-dim);font-weight:600}.day-cell-placeholder{font-size:11px;color:var(--text-muted)}.progress-footer{display:flex;flex-wrap:wrap;gap:14px;padding:12px 18px 14px;background:var(--surface-2);border-top:1px solid var(--border)}.progress-stat{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-dim)}.progress-stat strong{color:var(--text);font-weight:700}.progress-stat .icon{color:var(--primary)}.progress-stat.flag strong{font-weight:600}.progress-stat.ok strong{color:var(--success)}.progress-stat.warn strong{color:var(--danger)}.intern-card .expansion{padding:16px 18px 20px;background:var(--surface-2);border-top:1px solid var(--border);animation:fadeIn .25s ease}.help-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#004ba00f,#4a7fcb1a);border:1px solid var(--primary-softer);border-left:3px solid var(--primary);border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px;color:var(--text)}.help-banner-icon{flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--primary-grad);color:#fff;display:grid;place-items:center;box-shadow:0 3px 8px #004ba04d}.help-banner-body{display:flex;flex-direction:column;gap:4px;line-height:1.55}.help-banner-body>strong:first-child{color:var(--primary-hover);font-weight:700;font-size:12.5px;letter-spacing:.2px;margin-bottom:2px}.help-banner-body span{color:var(--text-dim);font-size:12.5px}.help-banner-body span strong{color:var(--text);font-weight:600}.intern-list{display:flex;flex-direction:column;gap:10px}.intern-row{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .18s,border-color .18s,transform .18s}.intern-row:hover{border-color:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.intern-row.expanded{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.intern-row-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s}.intern-row-head:hover{background:var(--primary-soft)}.intern-row.expanded .intern-row-head{background:var(--primary-soft);border-bottom:1px solid var(--border)}.intern-left{display:flex;align-items:center;gap:14px}.avatar.small{width:38px;height:38px;border-radius:10px;background:var(--primary-grad);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700;box-shadow:0 4px 10px #004ba04d,inset 0 1px #ffffff4d;flex-shrink:0}.intern-name{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.005em}.intern-handle{font-size:12px;color:var(--text-muted);margin-top:2px}.intern-right{display:flex;align-items:center;gap:12px}.reports-count{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-dim);font-weight:600;padding:5px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.chevron{color:var(--text-muted);transition:transform .2s,color .15s}.intern-row.expanded .chevron{color:var(--primary);transform:rotate(90deg)}.expansion{padding:18px 20px 22px;background:#f5f8fd;animation:fadeIn .25s}.date-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;box-shadow:var(--shadow-xs)}.date-filter label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.9px}.date-filter select{padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;font-weight:600;outline:none;min-width:220px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.date-filter select:focus{border-color:var(--primary);background:#fff;box-shadow:var(--ring)}.entries-count{margin-left:auto;font-size:12px;color:var(--text-dim);font-weight:500}.day-report{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-sm);margin-bottom:14px}.day-report:last-child{margin-bottom:0}.day-report.empty{opacity:.85}.day-report-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.timeline-date{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary-grad);color:#fff;border-radius:var(--radius-xs);font-size:12px;font-weight:700;letter-spacing:.3px;box-shadow:0 3px 8px #004ba04d}.day-report-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.commit-count{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-dim);font-weight:600;padding:4px 9px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-xs)}@media (max-width: 900px){.app{grid-template-columns:68px 1fr}.sidebar-brand .brand-text,.nav-item .label,.nav-group-label,.sidebar-footer{display:none}.sidebar-brand{justify-content:center;padding:0 0 20px}.nav-item{justify-content:center;padding:11px}.nav-item.active:after{right:0}.scores-row{grid-template-columns:repeat(2,1fr)}.content{padding:20px}.settings-list dl{grid-template-columns:1fr;gap:6px}.topbar{padding:12px 18px;gap:10px}.topbar .title{font-size:15px}}
