:root{--paper:#f6f7f5;--ink:#22282e;--muted:#5b6570;--line:#dcdfd9;--accent:#1f6f6b;--accent-soft:#e3efee;--card:#fff;--danger:#a33c2e;--danger-soft:#f6e5e2;--ok:#2c6b3f}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:15px/1.5 Segoe UI,system-ui,-apple-system,sans-serif}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer}.topbar{background:var(--card);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:20px;padding:10px 20px;display:flex;position:sticky;top:0}.topbar .brand{color:var(--accent);letter-spacing:.02em;font-size:1.1rem;font-weight:700}.topbar nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.topbar nav a{color:var(--ink);border-radius:6px;padding:6px 12px;font-weight:500}.topbar nav a.active{background:var(--accent-soft);color:var(--accent)}.topbar .user{color:var(--muted);font-size:.85rem}.page{max-width:1100px;margin:0 auto;padding:24px 20px 80px}.page h1{margin:0 0 16px;font-size:1.4rem}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:18px 20px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar input[type=search],.toolbar select{border:1px solid var(--line);background:var(--card);font:inherit;color:var(--ink);border-radius:8px;padding:8px 12px}.toolbar input[type=search]{min-width:220px}.toolbar .count{color:var(--muted);margin-left:auto;font-size:.85rem}table{border-collapse:collapse;background:var(--card);width:100%;font-size:.9rem}th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:2px solid var(--line);background:var(--card);padding:8px 10px;font-size:.72rem}td{border-bottom:1px solid var(--line);padding:8px 10px}tr.row{cursor:pointer}tr.row:hover td{background:var(--accent-soft)}.tablewrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.pill{background:var(--accent-soft);color:var(--accent);border-radius:99px;margin-right:4px;padding:1px 9px;font-size:.75rem;font-weight:600;display:inline-block}.pill.gray{color:var(--muted);background:#ecedeb}.pill.red{background:var(--danger-soft);color:var(--danger)}.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:9px 16px;font-weight:600}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:var(--card);color:var(--accent);border:1px solid var(--accent)}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;display:grid}.field label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px;font-size:.75rem;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:var(--card);border-radius:8px;padding:8px 10px}.field textarea{resize:vertical;min-height:70px}.tabs{border-bottom:2px solid var(--line);flex-wrap:wrap;gap:2px;margin-bottom:16px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 14px;font-weight:600}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.error{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin-bottom:12px;padding:10px 14px}.success{background:var(--accent-soft);color:var(--accent);border-radius:8px;margin-bottom:12px;padding:10px 14px}.login-wrap{place-items:center;min-height:100vh;display:grid}.login-box{width:min(380px,92vw)}.login-box .brand{text-align:center;color:var(--accent);margin-bottom:4px;font-size:1.6rem;font-weight:700}.login-box .sub{text-align:center;color:var(--muted);margin-bottom:20px;font-size:.9rem}.login-box .field{margin-bottom:12px}.login-box .btn{width:100%;margin-top:6px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.stat .num{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.stat .lbl{color:var(--muted);font-size:.8rem}.modal-bg{z-index:50;background:#00000059;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:12px;width:min(480px,94vw);max-height:90vh;padding:22px 24px;overflow-y:auto}.modal h2{margin:0 0 14px;font-size:1.15rem}.modal .actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}
