*,:before,:after{box-sizing:border-box}:root{--blue:#0052cc;--blue-2:#2684ff;--blue-3:#0747a6;--ink:#172b4d;--ink-2:#42526e;--ink-3:#6b778c;--line:#dfe1e6;--line-2:#c1c7d0;--bg:#f4f6fa;--card:#fff;--yellow:#fdefbe;--yellow-line:#e3d296;--weekend:#f1f2f4;--weekend-2:#e9eaed;--violet:#6554c0;--teal:#00849e;--amber:#ff8b00;--green:#00875a;--radius:14px;--shadow:0 1px 2px #091e4214, 0 6px 20px -12px #091e4247}html,body{height:100%}body{color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%, #e4edff 0%, transparent 60%), radial-gradient(900px 400px at 100% 0%, #eae6ff 0%, transparent 55%), var(--bg);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.topbar{color:#fff;background:linear-gradient(115deg,#0747a6 0%,#0052cc 45%,#2684ff 100%);align-items:center;gap:16px;padding:18px 26px;display:flex;box-shadow:0 8px 24px -14px #0747a6e6}.topbar .logo{background:#ffffff29;border:1px solid #ffffff40;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.topbar h1{font-size:19px}.topbar .sub{opacity:.85;margin-top:1px;font-size:12.5px}.spacer{flex:1}.chip{letter-spacing:.02em;white-space:nowrap;color:inherit;background:#ffffff26;border:1px solid #ffffff47;border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:600}.chip.ok{background:#00875ad9;border-color:#0000}.chip.muted{border-color:var(--line);color:var(--ink-3);background:#f4f5f7}main{max-width:1680px;margin:0 auto;padding:22px 26px 60px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px}.controls{flex-wrap:wrap;align-items:flex-end;gap:16px;padding:18px;display:flex}.controls .actions{flex-wrap:wrap;flex:0 0 100%;gap:10px;display:flex}.field{flex-direction:column;gap:6px;min-width:150px;display:flex;position:relative}.field .hint{white-space:nowrap;color:var(--ink-3);margin-top:3px;font-size:12px;position:absolute;top:100%;left:0}.field .hint.err{color:#bf2600}label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-size:11.5px;font-weight:650}input,select{font:inherit;color:var(--ink);border:1.5px solid var(--line);background:#fff;border-radius:8px;width:100%;height:38px;padding:8px 10px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--blue-2);outline:none;box-shadow:0 0 0 3px #2684ff2e}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4.5 6 8.5 10 4.5' fill='none' stroke='%236b778c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 18px;font-size:13.5px;font-weight:600;transition:filter .15s,background .15s,transform 60ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{color:#fff;background:linear-gradient(#2684ff,#0052cc);box-shadow:0 6px 14px -8px #0052cce6}.btn-primary:hover{filter:brightness(1.07)}.btn-ghost{border-color:var(--line-2);color:var(--ink-2);background:#fff}.btn-ghost:hover{background:#f4f5f7}.btn-soft{color:var(--blue-3);background:#e9f2ff;border-color:#cce0ff}.btn-soft:hover{background:#deebff}.btn:disabled{opacity:.5;cursor:not-allowed}.spinner{border:2.5px solid #dfe1e6;border-top-color:var(--blue-2);border-radius:50%;flex:none;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.spinner.sm{border-width:2px;border-color:#fff #ffffff73 #ffffff73;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.msg{border-radius:var(--radius);border:1px solid;margin-bottom:18px;padding:14px 18px;font-size:13.5px}.msg.err{color:#bf2600;background:#ffebe6;border-color:#ffbdad}.msg.warn{color:#7a5b00;background:#fffae6;border-color:#ffe380}.msg strong{margin-bottom:4px;font-size:14px;display:block}.stats{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px;margin-bottom:18px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;position:relative;overflow:hidden}.stat:before{content:"";background:var(--c,var(--blue));width:4px;position:absolute;top:0;bottom:0;left:0}.stat .k{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.stat .v{letter-spacing:-.02em;color:var(--ink);margin-top:4px;font-size:24px;font-weight:700}.stat .n{color:var(--ink-3);margin-top:2px;font-size:11.5px}.report-h{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.report-h .t{font-size:15px;font-weight:700}.scroller{border-radius:0 0 var(--radius) var(--radius);max-height:74vh;overflow:auto}table.ts{border-collapse:separate;border-spacing:0;background:#fff;width:max-content;min-width:100%;font-size:12px}.ts th,.ts td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;background:#fff;padding:3px 6px}.ts thead th{z-index:3;color:var(--ink-2);font-weight:650;position:sticky}.ts thead tr:first-child th{height:26px;top:0}.ts thead tr:nth-child(2) th{height:24px;top:26px}.ts thead tr:nth-child(3) th{height:22px;top:50px}.ts thead tr:nth-child(4) th{height:24px;top:72px}th.c-issue{text-align:center;border-left:1px solid var(--line);background:#fff;min-width:186px;max-width:186px;left:0}th.c-total,td.c-total{background:var(--yellow);border-right:1px solid var(--yellow-line);min-width:64px;max-width:64px}th.c-task-total,td.c-task-total{left:186px}th.c-ai-total,td.c-ai-total{left:250px}.ts thead th.c-issue,.ts thead th.c-total{z-index:6}th.c-total.blank{border-right-color:var(--line);background:#fff}td.c-issue,td.c-total{z-index:2;position:sticky}td.c-issue{text-align:left;border-left:1px solid var(--line);left:0}td.c-issue .row-in{align-items:center;gap:6px;display:flex}td.c-total{color:#5f4b00;font-weight:600}td.c-ai-total{color:var(--violet)}td.c-ai-total.zero{color:#b3aacf}th.c-total.sub{color:var(--ink-2);background:var(--yellow);font-size:11px}th.c-ai-total.sub{color:var(--violet)}th.month{color:#0747a6;letter-spacing:.04em;text-align:left;background:linear-gradient(#dcebfd,#c9dffa);border-bottom:1px solid #a9c8ee;padding:0;font-size:12.5px;font-weight:700}th.month>span{padding:0 4px;display:inline-block;position:sticky;left:326px}.ts.no-ai th.month>span{left:250px}th.day{color:var(--ink-2);background:#fbfcfd;font-weight:600}th.dow{color:var(--ink-3);background:#fbfcfd;font-size:11px;font-weight:600}th.sub{color:var(--ink-2);background:#fbfcfd;font-size:11px;font-weight:600}th.sub.ai{color:var(--violet)}th.day.today,th.dow.today{color:#064;background:#e3fcef}th.day.we,th.dow.we,th.sub.we{background:var(--weekend-2);color:var(--ink-3)}td.we{background:var(--weekend)}td.dsep,th.dsep{border-right:1px solid var(--line-2)}td.task{color:var(--ink);font-weight:600}td.ai{color:var(--violet);background:#fbfaff;font-weight:600}td.ai.we{background:#eeeef2}td.zero{color:#a5adba;font-weight:400}tbody tr:hover td{background:#f4f8ff}tbody tr:hover td.c-total{background:#f7ecc0}tbody tr:hover td.ai{background:#f0edff}tr.total-row td{z-index:4;border-top:2px solid var(--line-2);color:var(--ink);background:#f4f5f7;font-weight:700;position:sticky;bottom:0}tr.total-row td.c-issue{z-index:7;text-align:right;padding-right:10px}tr.total-row td.c-total{z-index:7;color:#5f4b00;background:#f6eec5}tr.total-row td.c-ai-total,tr.total-row td.ai{color:var(--violet)}.ikey{font-weight:600}.itype{color:#fff;border-radius:3px;flex:none;place-items:center;width:15px;height:15px;font-size:9px;font-weight:800;display:grid}.itype.sub{background:#2684ff}.itype.story{background:#65ba43}.itype.bug{background:#e5493a}.itype.task{background:#4bade8}.itype.epic{background:#8777d9}.empty{text-align:center;color:var(--ink-3);padding:70px 20px}.empty svg{opacity:.35;margin-bottom:14px}.empty h3{color:var(--ink-2);margin-bottom:6px;font-size:16px}.btn-glass{color:#fff;background:#ffffff26;border-color:#ffffff4d;height:34px;padding:0 13px}.btn-glass:hover{background:#ffffff40}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#091e4273;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--radius);flex-direction:column;width:min(680px,100%);max-height:calc(100vh - 32px);display:flex;overflow:hidden;box-shadow:0 24px 60px -20px #091e428c}.modal-h{border-bottom:1px solid var(--line);padding:20px 22px 14px}.modal-h h2{font-size:18px}.modal-h p{color:var(--ink-3);margin:6px 0 0;font-size:13px}.modal-b{padding:16px 22px 4px;overflow-y:auto}.modal-f{border-top:1px solid var(--line);background:#fafbfc;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.modal fieldset{border:0;min-width:0;margin:0 0 18px;padding:0}.modal legend{color:var(--ink-2);margin-bottom:10px;padding:0;font-size:13px;font-weight:700}.modal legend .opt{color:var(--ink-3);margin-left:6px;font-size:12px;font-weight:500}.modal .grid{grid-template-columns:1fr 1fr;gap:12px 14px;display:grid}.modal .grid.three{grid-template-columns:repeat(3,1fr)}.modal .grid .wide{grid-column:1/-1}.modal .field{min-width:0}.modal .field .hint{white-space:normal;margin-top:0;position:static}.modal .req{color:#bf2600}.modal input:disabled{background:#f4f5f7}.modal input[aria-invalid=true]{border-color:#de350b}.modal input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #de350b29}.modal .msg{margin-bottom:14px}.modal-f .sign-out{margin-right:auto}.modal.starting{width:auto;color:var(--ink-2);flex-direction:row;align-items:center;gap:12px;padding:18px 24px;font-weight:600}@media (max-width:560px){.modal .grid,.modal .grid.three{grid-template-columns:1fr}}@media print{@page{size:A3 landscape;margin:8mm}body{background:#fff}.topbar,.controls,.modal-backdrop,.no-print{display:none!important}.card{box-shadow:none;break-inside:avoid;border-color:#ccc}.scroller{max-height:none;overflow:visible}.ts thead th,td.c-issue,td.c-total,th.c-issue,th.c-total,tr.total-row td{position:static}main{max-width:none;padding:0}}
