:root{font-family:Segoe UI,system-ui,sans-serif;font-size:14px}body{margin:0}.app{--bg: #f5f5f5;--fg: #242424;--card: #fff;--border: #e0e0e0;--accent: #5b5fc7;--muted: #616161}.app.theme-dark{--bg: #1f1f1f;--fg: #fff;--card: #292929;--border: #3d3d3d;--accent: #7f85f5;--muted: #adadad}.app.theme-contrast{--bg: #000;--fg: #fff;--card: #000;--border: #fff;--accent: #ffff01;--muted: #fff}.app{background:var(--bg);color:var(--fg);min-height:100vh;padding:16px;box-sizing:border-box}header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-bottom:12px}h1{font-size:20px;margin:0}button{background:var(--accent);color:#fff;border:0;border-radius:4px;padding:6px 14px;cursor:pointer;font:inherit}.status p{padding:8px 12px;border-radius:4px;background:var(--card);border:1px solid var(--border)}.note{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:4px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}th{font-weight:600}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}td.num{text-align:right;font-variant-numeric:tabular-nums}.badge{margin-left:8px;font-size:11px;padding:2px 6px;border-radius:10px;background:#fde7c3;color:#6b4500}.error{color:#c4314b}.muted{color:var(--muted)}button:disabled{opacity:.6;cursor:default}.tabs{display:flex;gap:4px}.tab{background:none;color:var(--fg);border-radius:0;padding:6px 4px;margin-right:12px;border-bottom:2px solid transparent}.tab.active{border-bottom-color:var(--accent);font-weight:600}.env-banner{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 12px;padding:8px 12px;border-radius:4px;background:#eee9fb;border:1px solid #b9a9ea;color:#3b2a7a}.env-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:3px;background:#3b2a7a;color:#fff}.theme-dark .env-banner,.theme-contrast .env-banner{background:transparent;border-color:#b9a9ea;color:#d4c9f7}.theme-dark .env-label,.theme-contrast .env-label{background:#d4c9f7;color:#1f1f1f}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.toolbar input[type=search]{flex:1 1 260px}input[type=search]{font:inherit;padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--card);color:var(--fg);box-sizing:border-box;width:100%}.toolbar input[type=search]{width:auto}button.secondary{background:var(--card);color:var(--fg);border:1px solid var(--border)}button.link{background:none;color:var(--accent);padding:6px 4px}.segmented{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.segmented button{background:var(--card);color:var(--fg);border-radius:0;border-right:1px solid var(--border)}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--accent);color:#fff}.count{font-size:11px;opacity:.75;margin-left:2px}table.cabins td,table.cabins th{white-space:normal}table.cabins td:nth-child(1){width:35%;min-width:220px}table.cabins td:nth-child(2){width:25%;min-width:160px}table.cabins td:nth-child(3){min-width:180px}td.actions{text-align:right;white-space:nowrap!important}td.actions button{margin-left:4px}td{vertical-align:top}a{color:var(--accent)}.sub{color:var(--muted);font-size:12px;margin-top:2px;white-space:normal}.chip{display:inline-block;margin-left:6px;font-size:11px;padding:1px 6px;border-radius:10px;border:1px solid var(--border);color:var(--muted)}.chip.good{border-color:#6bb700;color:#3b7d00}.chip.warn{border-color:#c4314b;color:#c4314b}.success{color:#3b7d00}.warn{color:#8a5300}.theme-dark .success,.theme-dark .chip.good{color:#92c353}.theme-dark .warn{color:#f8d22a}.overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:10}.dialog{background:var(--card);color:var(--fg);border-radius:8px;width:min(560px,100%);max-height:calc(100vh - 96px);display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.dialog h2{font-size:16px;margin:0;padding:16px 20px 8px}.dialog-body{padding:0 20px;overflow-y:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px}.results,.history{list-style:none;padding:0;margin:8px 0}.result{display:block;width:100%;text-align:left;background:none;color:var(--fg);border-radius:4px;padding:8px}.result:hover:not(:disabled){background:var(--bg)}.history li{padding:8px 0;border-bottom:1px solid var(--border)}
