:root{--bg: #f5f6f8;--card: #ffffff;--line: #e2e5ea;--text: #1f2430;--muted: #71788a;--primary: #2563eb;--primary-d: #1d4ed8;--danger: #dc2626;--ok: #16a34a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.center{display:flex;align-items:center;justify-content:center;min-height:60vh}.muted{color:var(--muted)}.role{font-weight:600;color:var(--primary)}.right{text-align:right}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.spacer{flex:1}.stack>*+*{margin-top:16px}.topbar{display:flex;align-items:center;gap:24px;background:var(--card);border-bottom:1px solid var(--line);padding:0 20px;height:56px;position:sticky;top:0;z-index:5}.brand{font-weight:800;font-size:18px;letter-spacing:-.3px}.nav{display:flex;gap:4px}.nav a{padding:8px 12px;border-radius:8px;color:var(--text)}.nav a:hover{background:var(--bg);text-decoration:none}.nav a.active{background:#e8efff;color:var(--primary-d);font-weight:600}.userbox{margin-left:auto;display:flex;align-items:center;gap:12px}.content{max-width:1100px;margin:0 auto;padding:24px 20px 64px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}.card h2,.card h3{margin-top:0}h1{font-size:22px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 800px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--text)}label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.field{margin-bottom:12px}.btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:9px 14px;border-radius:8px;border:1px solid var(--primary);background:var(--primary);color:#fff;font:inherit;font-weight:600}.btn:hover{background:var(--primary-d)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:#fff;color:var(--text);border-color:var(--line)}.btn.ghost:hover{background:var(--bg)}.btn.danger{background:var(--danger);border-color:var(--danger)}.btn.sm{padding:5px 9px;font-size:12px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}.tier-open{background:#eef1f5;color:#56607a}.tier-due{background:#fff7ed;color:#b45309}.tier-30{background:#fef3c7;color:#92400e}.tier-45{background:#ffedd5;color:#c2410c}.tier-55{background:#fee2e2;color:#b91c1c}.tier-60{background:#fecaca;color:#7f1d1d}.prio-overdue{background:#fee2e2;color:#b91c1c;font-weight:800}.prio-high{background:#ffedd5;color:#c2410c}.prio-medium{background:#fef3c7;color:#92400e}.prio-lowmed{background:#fef9c3;color:#854d0e}.prio-low{background:#dcfce7;color:#166534}tr.row-overdue>td{background:#fef2f2}.chip{display:inline-block;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px}.chip.on{background:#e8efff;border-color:var(--primary);color:var(--primary-d);font-weight:600}.pill{background:#eef1f5;color:#56607a;border-radius:999px;padding:2px 9px;font-size:12px}.pill.ok{background:#dcfce7;color:#166534}.banner{padding:10px 14px;border-radius:8px;margin-bottom:14px}.banner.error{background:#fef2f2;color:var(--danger);border:1px solid #f7d4d4}.banner.info{background:#eff6ff;color:var(--primary-d);border:1px solid #d5e3fb}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card{width:360px}.login-logo{display:block;max-width:230px;max-height:210px;margin:4px auto 16px}.brand-logo{display:block;height:34px;width:auto}.queue-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 800px){.queue-cols{grid-template-columns:1fr}}.task-item{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.task-item .name{font-weight:600}.guidance{font-size:12px;color:var(--muted);font-style:italic;margin-top:2px}.logo-prev{max-height:70px;max-width:180px;border:1px solid var(--line);border-radius:8px;padding:6px;background:#fff}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px}.kv div:nth-child(odd){color:var(--muted)}
