.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login form{width:100%;max-width:380px;padding:24px}.admin{display:flex;min-height:100vh}.admin aside{width:240px;flex:none;background:#fff;border-right:1px solid var(--line);padding:18px 12px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.admin aside .brand{font-weight:800;font-size:20px;color:var(--brand);padding:4px 10px 14px}.admin aside a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;color:var(--text);text-decoration:none;font-size:14px}.admin aside a:hover{background:var(--brand-softer)}.admin aside a.on{background:var(--brand-soft);color:var(--brand);font-weight:650}.admin main{flex:1;min-width:0;padding:20px 28px 60px;max-width:1240px}.admin-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}.burger{display:none!important}@media (max-width: 860px){.admin aside{position:fixed;left:-260px;z-index:60;transition:left .2s;box-shadow:var(--shadow)}.admin aside.open{left:0}.burger{display:inline-flex!important}.admin main{padding:14px}}.grid{display:grid;gap:12px}.grid.k4{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.grid.c2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.kpi .v{font-size:26px;font-weight:750}.kpi .l{font-size:13px;color:var(--muted)}table.t{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}table.t th,table.t td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}table.t th{background:var(--brand-softer);font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:650}table.t tr:last-child td{border-bottom:0}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--brand-softer)}table.t td.num,table.t th.num{text-align:right;white-space:nowrap}.table-wrap{overflow-x:auto}.week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto}.week .col-day{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:8px;min-height:200px}.week .col-day.today{outline:2px solid var(--brand)}.week .hd{font-weight:700;font-size:13px;margin-bottom:6px;display:flex;justify-content:space-between}.week .ev{border-left:4px solid var(--brand);background:var(--brand-softer);border-radius:8px;padding:5px 7px;margin-bottom:6px;cursor:pointer;font-size:12px;line-height:1.3}.week .ev:hover{background:var(--brand-soft)}.week .ev.cancel{opacity:.5;text-decoration:line-through}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.wd-pick{display:flex;gap:6px;flex-wrap:wrap}.wd-pick label{border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer;background:#fff}.wd-pick label.on{background:var(--brand);color:#fff;border-color:var(--brand)}.wd-pick input{display:none}.copy{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:#fff;border:1px dashed var(--line);padding:8px 10px;border-radius:8px;word-break:break-all}table.t tr.sub td{background:var(--brand-softer);border-top:none}
