:root{--bg: #f6f7f9;--card: #ffffff;--text: #1c2430;--muted: #667085;--border: #e3e6ea;--brand: #1f4e79;--ok: #2e7d32;--warn: #e65100;--bad: #b71c1c;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}header{display:flex;gap:24px;align-items:center;padding:12px 24px;background:var(--brand);color:#fff;flex-wrap:wrap}header nav{display:flex;gap:16px;flex:1;flex-wrap:wrap}header a{color:#cfe0f0;text-decoration:none}header a.active{color:#fff;font-weight:600}header .link{color:#fff}main{padding:24px;max-width:1200px;margin:0 auto}h1{font-size:22px;margin:0 0 16px}h2{font-size:17px;margin:0 0 12px}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px}.kpi .v{font-size:26px;font-weight:700}.kpi .l{color:var(--muted);font-size:13px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}tr.click{cursor:pointer}tr.click:hover{background:#f0f4f8}.table-wrap{overflow-x:auto}label{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}input,select,textarea{display:block;width:100%;margin-top:4px;padding:8px;font:inherit;border:1px solid var(--border);border-radius:6px;background:#fff}button{font:inherit;padding:8px 14px;border-radius:6px;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer}button.secondary{background:#fff;color:var(--brand)}button.danger{background:var(--bad);border-color:var(--bad)}button.link{background:none;border:none;padding:0;text-decoration:underline}button:disabled{opacity:.5;cursor:default}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.row>*{flex:1;min-width:140px}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;color:#fff;background:var(--muted)}.badge.ACTIVE,.badge.RELEASED{background:var(--ok)}.badge.WARNING{background:var(--warn)}.badge.LOCKED,.badge.CANCELLED{background:var(--bad)}.error{color:var(--bad);margin:8px 0}.muted{color:var(--muted)}.code{font-family:ui-monospace,monospace;font-size:28px;letter-spacing:2px}.qr{text-align:center}.qr img{max-width:100%;width:360px}.login{max-width:360px;margin:10vh auto}dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px}dt{color:var(--muted)}dd{margin:0}
