:root{--bg:#f6f4f1;--card:#fff;--ink:#2a2622;--muted:#7a716a;--line:#e7e1da;--brand:#8a5a44;--brand2:#f3e7df;--green:#2f7d4f;--amber:#a86b00;--red:#b3261e;--blue:#2f5d8a}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:4px 0 14px}h2{font-size:16px;margin:0 0 10px}h3{font-size:14px;margin:14px 0 6px}h4{margin:10px 0 4px;font-size:13px}.sim-banner{background:#4a2f22;color:#fff;padding:7px 16px;font-size:13px;font-weight:600;letter-spacing:.2px;position:sticky;top:0;z-index:20}.layout{display:flex;min-height:calc(100vh - 32px)}.sidebar{width:220px;background:#fff;border-right:1px solid var(--line);padding:16px 0;display:flex;flex-direction:column;flex-shrink:0}.brand{font-weight:800;font-size:20px;padding:0 18px 16px;color:var(--brand)}.brand span{font-weight:500;font-size:12px;color:var(--muted);display:block}.sidebar nav a{display:block;padding:9px 18px;color:var(--ink)}.sidebar nav a.active{background:var(--brand2);color:var(--brand);font-weight:600;border-left:3px solid var(--brand)}.sidebar-foot{margin-top:auto;padding:0 18px}main{flex:1;min-width:0}.topbar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.role-switch{display:flex;gap:8px;align-items:center;background:#fff7e6;border:1px dashed var(--amber);padding:4px 8px;border-radius:8px}.role-switch span{font-size:12px;color:var(--amber);font-weight:600}.search{position:relative;flex:1;max-width:460px}.search input{width:100%}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #00000014;z-index:10;padding:6px}.search-results a{display:block;padding:6px}.content{padding:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600}table.card{padding:0;overflow:hidden;display:table}tr.sel{background:var(--brand2)}input,select,textarea{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}textarea{width:100%;min-height:60px}.btn{display:inline-block;padding:7px 12px;border-radius:6px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink);font:inherit}.btn:hover{text-decoration:none;background:#faf8f6}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.primary:disabled{opacity:.45;cursor:not-allowed}.btn.danger{color:var(--red);border-color:var(--red)}.btn.sm{padding:4px 8px;font-size:12px}.link{background:none;border:none;color:var(--blue);cursor:pointer;padding:0;font:inherit;font-size:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}.row.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:8px;margin-bottom:6px}.form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.form label.check{flex-direction:row;color:var(--ink);font-size:14px}.grid2 label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.red{color:var(--red)}.green{color:var(--green)}.badge{display:inline-block;font-size:11px;padding:2px 7px;border-radius:20px;font-weight:600;margin-left:4px;vertical-align:middle}.badge.gray{background:#eee}.badge.green{background:#e3f3e8;color:var(--green)}.badge.amber{background:#fdf0d5;color:var(--amber)}.badge.red{background:#fbe3e1;color:var(--red)}.badge.blue{background:#e3edf7;color:var(--blue)}.metrics{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-width:170px;color:var(--ink)}a.metric:hover{border-color:var(--brand);text-decoration:none}.metric.active{border:2px solid var(--brand)}.metric .num{font-size:28px;font-weight:700;color:var(--brand)}.metric .num.sm{font-size:17px}.metric .lbl{font-size:12px;color:var(--muted);margin-top:2px}.metric.warn .num{color:var(--red)}.kanban{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;overflow-x:auto}.col{background:#efebe6;border-radius:10px;padding:8px;min-height:200px}.col-head{font-weight:600;font-size:13px;padding:4px 4px 8px;display:flex;justify-content:space-between}.kcard{display:block;background:#fff;border-radius:8px;padding:10px;margin-bottom:8px;color:var(--ink);border:1px solid var(--line);font-size:13px}.kcard:hover{border-color:var(--brand);text-decoration:none}.stepper{display:flex;gap:4px;margin-bottom:16px}.step{flex:1;text-align:center;padding:6px;background:#ece7e1;font-size:12px;border-radius:4px;color:var(--muted)}.step.done{background:var(--brand);color:#fff}dl{display:grid;grid-template-columns:140px 1fr;gap:4px 10px;margin:0}dt{color:var(--muted)}dd{margin:0}.timeline{list-style:none;padding:0;margin:8px 0 0}.timeline li{border-left:2px solid var(--line);padding:4px 0 8px 10px}.inst{border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:10px}table.tx{margin:8px 0;font-size:13px}.alert{padding:10px 12px;border-radius:8px;margin-bottom:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.alert.amber{background:#fdf0d5;color:#6b4500}.alert.green{background:#e3f3e8;color:var(--green)}.handover.blocked{border-left:4px solid var(--amber)}.handover.ok{border-left:4px solid var(--green)}.events{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.checklist{list-style:none;padding:0}.checklist li{padding:3px 0}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{background:#efebe6;border-radius:14px;padding:3px 9px;font-size:12px}.chip.extra{background:#e3edf7}.denied{border-left:4px solid var(--red)}.denied h2{color:var(--red)}.toast{position:fixed;bottom:20px;right:20px;max-width:440px;padding:12px 16px;border-radius:8px;background:#1f3d2b;color:#fff;box-shadow:0 6px 20px #0003;cursor:pointer;z-index:50}.toast.err{background:#6b2a12}.toast.deny{background:var(--red)}@media(max-width:900px){.grid2,.grid3{grid-template-columns:1fr}.layout{flex-direction:column}.sidebar{width:auto}.kanban{grid-template-columns:repeat(5,220px)}}.center{display:flex;align-items:center;justify-content:center;min-height:100vh}.who{display:flex;gap:10px;align-items:center}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login{width:380px;display:flex;flex-direction:column;gap:12px}.login label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.login .brand{padding:0 0 6px}.demo-accounts .chip{border:1px solid var(--line);cursor:pointer;font:inherit;font-size:12px}.receipts{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.receipt{font-size:13px}.btn.upload{cursor:pointer}
