:root{--color-bg:#f4f6f8;--color-surface:#fff;--color-fg:#16202a;--color-muted:#5b6b7a;--color-line:#dde3e9;--color-accent:#1b6ec2;--color-accent-fg:#fff;--color-danger:#c0392b;--color-success:#1e7e46;--color-warning:#b7791f;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size:14px;--radius:6px;--space:8px}@media (prefers-color-scheme:dark){:root{--color-bg:#10151a;--color-surface:#182029;--color-fg:#e8eef4;--color-muted:#93a3b3;--color-line:#2b3742;--color-accent:#4c9be8;--color-accent-fg:#08131d}}html,body{margin:0}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-family);font-size:var(--font-size);line-height:1.45}h1{margin:0 0 var(--space);font-size:20px}h2{margin:0 0 var(--space);font-size:16px}h3{margin:0 0 4px;font-size:14px}p{margin:0 0 var(--space)}a{color:var(--color-accent)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.shell{flex-direction:column;min-height:100vh;display:flex}.top{align-items:center;gap:calc(var(--space) * 2);padding:var(--space) calc(var(--space) * 2);background:var(--color-surface);border-bottom:1px solid var(--color-line);display:flex}.top .brand{letter-spacing:.02em;font-weight:700}.top .where{color:var(--color-muted);font-size:12px}.top .spacer{flex:1}.tabs{gap:4px;display:flex}.tabs button{font:inherit;border-radius:var(--radius);color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 12px}.tabs button.on{background:var(--color-accent);color:var(--color-accent-fg)}.main{padding:calc(var(--space) * 2);box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:calc(var(--space) * 2);margin:0 0 calc(var(--space) * 2)}.muted{color:var(--color-muted)}.error{color:var(--color-danger)}.ok{color:var(--color-success)}.row{gap:var(--space);flex-wrap:wrap;align-items:center;display:flex}.field{margin-bottom:var(--space);flex-direction:column;gap:4px;display:flex}.field label{color:var(--color-muted);font-size:12px}input,select,textarea{font:inherit;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:inherit;box-sizing:border-box;width:100%;padding:6px 8px}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}button{font:inherit;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:inherit;cursor:pointer;padding:5px 12px}button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-fg)}button.danger{border-color:var(--color-danger);color:var(--color-danger)}button:disabled{opacity:.55;cursor:default}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--space);border-bottom:1px solid var(--color-line);vertical-align:top}th{color:var(--color-muted);font-size:12px;font-weight:500}tr:last-child td{border-bottom:0}.badge{border:1px solid var(--color-line);border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.badge.running{border-color:var(--color-success);color:var(--color-success)}.badge.stopped,.badge.missing{border-color:var(--color-danger);color:var(--color-danger)}.badge.starting{border-color:var(--color-warning);color:var(--color-warning)}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.addr{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.sign-in{max-width:460px;margin:12vh auto}.top .who{text-align:right;font-size:12px}.top .who strong{display:block}.entitlements{border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space);margin-bottom:var(--space)}.entitlements h3{margin:var(--space) 0 4px}.entitlements h3:first-child{margin-top:0}.choice{white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:14px;display:flex}.choice input{margin:0}ul.packages{margin:4px 0 var(--space);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:4px;padding:0;list-style:none;display:grid}ul.packages>li.pkg{border-radius:var(--radius);border:1px solid var(--color-line);background:var(--color-bg);min-width:0;padding:6px 8px}ul.packages>li.pkg.on{border-color:var(--color-accent);background:var(--color-surface)}.pkg-pick{cursor:pointer;grid-template-columns:auto minmax(0,1fr);column-gap:8px;display:grid}.pkg-pick input{grid-area:1/1;margin:2px 0 0}.pkg-name{grid-area:1/2}.pkg-pick .addr{text-overflow:ellipsis;grid-area:2/2;min-width:0;overflow:hidden}.pkg-limits{gap:var(--space);flex-wrap:wrap;margin:6px 0 0 26px;display:flex}.pkg-limits .field{max-width:110px;margin-bottom:0}.chosen-count{margin:0 0 6px}.mono.trunc{white-space:nowrap;word-break:normal}td.actions{white-space:nowrap;text-align:right}.count{background:var(--color-line);min-width:18px;color:var(--color-muted);text-align:center;vertical-align:2px;border-radius:999px;padding:0 6px;font-size:12px;font-weight:500;display:inline-block}details>summary{cursor:pointer;margin-bottom:var(--space);font-size:12px}details[open]>summary{margin-bottom:4px}details ul{margin:0 0 var(--space);padding-left:20px}.backdrop{z-index:50;padding:calc(var(--space) * 3) var(--space);background:#0b12198c;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.backdrop>.composer{width:100%;max-width:920px;margin:0;box-shadow:0 12px 40px #00000047}.composer .steps{counter-reset:step;margin:var(--space) 0 calc(var(--space) * 2);padding:0;list-style:none}.composer .steps>li{counter-increment:step;padding:0 0 var(--space) 34px;position:relative}.composer .steps>li:before{content:counter(step);box-sizing:border-box;background:var(--color-accent);width:22px;height:22px;color:var(--color-accent-fg);text-align:center;border-radius:999px;font-size:12px;line-height:22px;position:absolute;top:0;left:0}.composer .steps>li>h3{margin:2px 0 var(--space)}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}tr.total td{border-top:1px solid var(--color-line)}.row.between{justify-content:space-between}.tenant{border-top:1px solid var(--color-line);padding-top:var(--space);margin-top:var(--space)}.tenant h4{margin:0}.notice{border:1px solid var(--color-accent);border-radius:var(--radius);padding:var(--space);margin-bottom:var(--space)}.notice code{background:var(--color-line);border-radius:4px;padding:2px 6px}
