:root{--bg:#f5f7f5;--surface:#fff;--surface-2:#eef2f0;--border:#d9e1dd;--text:#152420;--text-muted:#5b6e67;--accent:#0e7a6b;--accent-soft:#dff0ec;--accent-ink:#063d35;--grade4:#2e8b4f;--grade4-soft:#e3f3e7;--grade3:#2e72b8;--grade3-soft:#e4eef9;--grade2:#b87f1e;--grade2-soft:#f8eedc;--grade1:#b8453a;--grade1-soft:#f8e4e1;--warn:#b8453a;--warn-soft:#f8e4e1;--shadow:0 1px 2px #0f28200f, 0 8px 24px -12px #0f28202e;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#101513;--surface:#171f1c;--surface-2:#1e2724;--border:#2b3733;--text:#e9f1ec;--text-muted:#93a39c;--accent:#3fbfa8;--accent-soft:#173630;--accent-ink:#b7ede0;--grade4:#5fc583;--grade4-soft:#1b3323;--grade3:#6fa9e8;--grade3-soft:#1b2c3d;--grade2:#e0ac4e;--grade2-soft:#3a2e15;--grade1:#e37b70;--grade1-soft:#3b211d;--warn:#e37b70;--warn-soft:#3b211d;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080}}:root[data-theme=dark]{--bg:#101513;--surface:#171f1c;--surface-2:#1e2724;--border:#2b3733;--text:#e9f1ec;--text-muted:#93a39c;--accent:#3fbfa8;--accent-soft:#173630;--accent-ink:#b7ede0;--grade4:#5fc583;--grade4-soft:#1b3323;--grade3:#6fa9e8;--grade3-soft:#1b2c3d;--grade2:#e0ac4e;--grade2-soft:#3a2e15;--grade1:#e37b70;--grade1-soft:#3b211d;--warn:#e37b70;--warn-soft:#3b211d;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080}:root[data-theme=light]{--bg:#f5f7f5;--surface:#fff;--surface-2:#eef2f0;--border:#d9e1dd;--text:#152420;--text-muted:#5b6e67;--accent:#0e7a6b;--accent-soft:#dff0ec;--accent-ink:#063d35;--grade4:#2e8b4f;--grade4-soft:#e3f3e7;--grade3:#2e72b8;--grade3-soft:#e4eef9;--grade2:#b87f1e;--grade2-soft:#f8eedc;--grade1:#b8453a;--grade1-soft:#f8e4e1;--warn:#b8453a;--warn-soft:#f8e4e1;--shadow:0 1px 2px #0f28200f, 0 8px 24px -12px #0f28202e}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;text-wrap:balance;margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:700}a{color:inherit}.tabular{font-variant-numeric:tabular-nums}.wrap{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.banner{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn);border-radius:var(--radius);align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:12.5px;display:flex}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:18px;margin-bottom:22px;padding-bottom:20px;display:flex}.brand{flex-direction:column;gap:2px;margin-right:auto;display:flex}.brand .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.brand h1{font-size:22px}.field{flex-direction:column;gap:4px;display:flex}.field label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:11px}select,input[type=number],input[type=email],input[type=password],input[type=text]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 10px}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%235B6E67' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}select#monthSel,select#agentSel{min-height:36px}select:focus,input:focus,button:focus,.agentlink:focus{outline:2px solid var(--accent);outline-offset:1px}.tabs{background:var(--surface-2);border-radius:9px;gap:4px;padding:4px;display:flex}.tabs a,.tabs button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 14px;font-weight:600;text-decoration:none;display:inline-block}.tabs a.active,.tabs button.active{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow)}.summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat .k{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px}.stat .v{margin-top:4px;font-size:24px;font-weight:600}.stat .v small{color:var(--text-muted);font-size:13px;font-weight:500}.tablewrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%}#rankTable{min-width:1500px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}thead th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;position:sticky;top:0}thead th.num,td.num{text-align:right}thead th:hover{color:var(--text)}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.agentlink{font:inherit;color:var(--text);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:600}.agentlink:hover{color:var(--accent-ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.pill{border-radius:99px;justify-content:center;align-items:center;min-width:22px;padding:2px 7px;font-size:12px;font-weight:700;display:inline-flex}.g4{background:var(--grade4-soft);color:var(--grade4)}.g3{background:var(--grade3-soft);color:var(--grade3)}.g2{background:var(--grade2-soft);color:var(--grade2)}.g1{background:var(--grade1-soft);color:var(--grade1)}.gx{background:var(--surface-2);color:var(--text-muted)}.total-cell{font-weight:700}.mini-input{border-radius:6px;width:64px;padding:4px 6px}.rank-num{color:var(--text-muted);font-variant-numeric:tabular-nums}.system-note{color:var(--text-muted);margin-top:10px;font-size:12px}.scorecard-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}.card-title{letter-spacing:-.01em;color:var(--text);margin-bottom:20px;font-size:21px;font-weight:700}.meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.meta div .k{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px}.meta div .v{margin-top:2px;font-size:16px;font-weight:600}table.score{border-collapse:collapse;width:100%}table.score th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:left;border:1px solid var(--border);padding:9px 10px;font-size:11px}table.score td{border:1px solid var(--border);vertical-align:middle;padding:10px}table.score td.num{text-align:right}table.score td.center{text-align:center}.cat-cell{color:var(--accent-ink);font-weight:700}.total-row td{background:var(--surface-2);font-size:15px;font-weight:700}.total-score-cell{text-align:center;font-size:18px}.note-box{clear:both;margin-top:18px}.note-box .k{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;font-size:11px}.note-box textarea{width:100%;min-height:64px;font:inherit;background:var(--surface-2);border:1px solid var(--border);color:var(--text);resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px}.note-print{white-space:pre-wrap;font-size:13px;line-height:1.6;display:none}.legend{color:var(--text-muted);flex-wrap:wrap;gap:10px;margin-top:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:3px;width:9px;height:9px;display:inline-block}.logo{flex:none;width:auto;height:26px}.card-actions{gap:8px;display:flex}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent);filter:brightness(1.05)}.paramtable{border-top:1px solid var(--border);margin-top:46px;padding-top:18px}.paramtable h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-family:inherit;font-size:11px;font-weight:600}table.params{border-collapse:collapse;width:100%;color:var(--text-muted);font-size:12px}table.params th,table.params td{border:none;border-bottom:1px solid var(--border);text-align:left;padding:7px 10px}table.params th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;background:0 0;font-size:11px;font-weight:600}table.params td.lvl{font-weight:700}.paramtable .tablewrap{box-shadow:none;border:none;border-radius:0}.print-logo{width:auto;height:22px;margin-bottom:18px;display:none}@page{margin:0}@media print{html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff!important}.appbar,.topbar,.scorecard-head,.btn-actions-noprint{display:none!important}.wrap{box-sizing:border-box;max-width:none;padding:16mm 14mm}.card{box-shadow:none;border:none;border-radius:0;padding:0}table.score,table.params{table-layout:fixed;width:100%}table.score th,table.score td,table.params th,table.params td{white-space:normal;word-break:break-word}.print-logo{display:block}.note-box textarea{display:none}.note-print{display:block}}.login-page{background:radial-gradient(720px 420px at 12% -8%, var(--accent-soft) 0%, transparent 60%), radial-gradient(640px 480px at 108% 108%, var(--accent-soft) 0%, transparent 55%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.35;pointer-events:none;background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(600px 500px at 50% 20%,#000 0%,#0000 75%);mask-image:radial-gradient(600px 500px at 50% 20%,#000 0%,#0000 75%)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:36px 34px 32px;position:relative;box-shadow:0 2px 4px #0f28200f,0 24px 48px -20px #0f282047}.login-logo{width:auto;height:30px;margin-bottom:22px}.login-brand{margin-bottom:26px}.login-brand-mark{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.login-brand h1{margin-top:6px;font-size:23px}.login-brand p{color:var(--text-muted);margin-top:7px;font-size:13px;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:6px;font-size:11px;font-weight:600;display:flex}.login-form input{border-radius:9px;padding:11px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.login-form button{font:inherit;letter-spacing:.01em;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 8px 20px -10px var(--accent);border-radius:9px;margin-top:6px;padding:11px 14px;font-weight:700;transition:filter .15s,transform .1s}.login-form button:hover:not(:disabled){filter:brightness(1.06)}.login-form button:active:not(:disabled){transform:translateY(1px)}.login-form button:disabled{opacity:.6;cursor:default;box-shadow:none}.login-error{background:var(--grade1-soft);color:var(--grade1);border:1px solid var(--grade1);border-radius:8px;align-items:center;gap:7px;margin:0;padding:9px 11px;font-size:12.5px;display:flex}.login-footnote{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin-top:22px;padding-top:16px;font-size:11.5px}.appbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:30;align-items:center;gap:14px;padding:12px 20px;display:flex;position:sticky;top:0}.appbar .appbar-logo{flex:none;width:auto;height:20px;margin-right:2px}.appbar .spacer{flex:1}.appbar .user-chip{color:var(--text-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.appbar .user-chip .email{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.appbar form{display:inline}.appbar .divider{background:var(--border);align-self:stretch;width:1px;margin:0 2px}.team-switch{background:var(--surface-2);border-radius:9px;gap:3px;padding:3px;display:flex}.team-switch a{font:inherit;letter-spacing:.02em;color:var(--text-muted);border-radius:6px;padding:6px 14px;font-size:12.5px;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.team-switch a:hover{color:var(--text)}.team-switch a.active{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow)}.btn-icon{align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.section-head h2{font-size:17px}.section-head p{color:var(--text-muted);margin:4px 0 0;font-size:12.5px}.section-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:16px;display:grid}.form-grid .field span{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:11px}.form-actions{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.form-note{color:var(--text-muted);font-size:11.5px}.alert{border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;font-size:12.5px;display:flex}.alert-error{background:var(--grade1-soft);color:var(--grade1);border:1px solid var(--grade1)}.alert-success{background:var(--grade4-soft);color:var(--grade4);border:1px solid var(--grade4)}.role-badge{letter-spacing:.02em;border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.role-badge.role-super_admin{background:var(--accent-soft);color:var(--accent-ink)}.role-badge.role-leader{background:var(--grade3-soft);color:var(--grade3)}.role-badge.role-member{background:var(--surface-2);color:var(--text-muted)}.team-badge{background:var(--surface-2);color:var(--text-muted);letter-spacing:.03em;border-radius:6px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-dot{color:var(--text-muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.status-dot i{background:var(--grade1);border-radius:50%;width:7px;height:7px;display:inline-block}.status-dot.active i{background:var(--grade4)}.user-cell{align-items:center;gap:10px;display:flex}.user-avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}
