:root{--petrol-800: #114e56;--petrol-700: #245e65;--petrol-600: #366d75;--petrol-500: #467d85;--petrol-100: #dce8e9;--ground: #eef0ef;--surface: #ffffff;--ink: #26333a;--ink-soft: #5b6a70;--line: #dde4e3;--danger: #a13c3c}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--ground);color:var(--ink)}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.muted{color:var(--ink-soft)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #0c3a401a}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:34px;height:34px;border-radius:8px;background:var(--petrol-800);color:#fff;font-weight:800;font-size:.8rem;display:grid;place-items:center}.brand-name{font-weight:600}.login{width:340px;max-width:100%;padding:28px;display:flex;flex-direction:column;gap:14px}.login label{display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:var(--ink-soft)}.login input{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:.95rem}.login input:focus{outline:2px solid var(--petrol-500);outline-offset:1px}button{font:inherit;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:600;background:var(--petrol-700);color:#fff}button:hover{background:var(--petrol-800)}button:disabled{opacity:.6;cursor:default}button.ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}button.ghost:hover{background:var(--petrol-100);color:var(--petrol-800)}.error{color:var(--danger);font-size:.85rem;margin:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--petrol-800);color:#fff}.topbar .brand-mark{background:#fff;color:var(--petrol-800)}.topbar-right{display:flex;align-items:center;gap:12px}.user-chip{font-size:.85rem;opacity:.9}.content{max-width:960px;margin:0 auto;padding:32px 20px}.content h1{font-size:1.4rem}.grid{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:6px;min-height:84px}.tile span{font-weight:600;color:var(--ink)}
