: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:#8a5a12;--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;--color-danger:#ff7b6e;--color-success:#4cc38a;--color-warning:#f0b429}}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;height:100vh;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}.top .machine{font-size:12px}.top .machine.error{color:var(--color-danger)}.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;flex:auto;width:100%;max-width:1600px;min-height:0;margin:0 auto;overflow:auto}label.req:after,.req:after{content:" *";color:var(--color-danger);font-weight:600}label:has(+input:required):after{content:" *";color:var(--color-danger);font-weight:600}label:has(+select:required):after{content:" *";color:var(--color-danger);font-weight:600}label:has(+textarea:required):after{content:" *";color:var(--color-danger);font-weight:600}label:has(+.reveal input:required):after{content:" *";color:var(--color-danger);font-weight:600}label:has(+.row input:required):after{content:" *";color:var(--color-danger);font-weight:600}label:has(+.row select:required):after{content:" *";color:var(--color-danger);font-weight:600}label:has(+.row textarea:required):after{content:" *";color:var(--color-danger);font-weight:600}label:has(input:required)>span:first-child:after{content:" *";color:var(--color-danger);font-weight:600}label:has(select:required)>span:first-child:after{content:" *";color:var(--color-danger);font-weight:600}label:has(textarea:required)>span:first-child:after{content:" *";color:var(--color-danger);font-weight:600}.required-note{color:var(--color-muted);margin:0 0 var(--space);font-size:12px}.required-note:before{content:"* ";color:var(--color-danger);font-weight:600}.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)}.card.attention{border-left:4px solid var(--color-danger)}.card.attention>h2{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}.reveal{flex:auto;align-items:center;min-width:0;display:flex;position:relative}.reveal input{flex:1;min-width:0;padding-right:34px}.reveal button.eye{color:var(--color-muted);background:0 0;border:0;align-items:center;padding:4px;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.reveal button.eye:hover{color:var(--color-fg)}.reveal button.eye[aria-pressed=true]{color:var(--color-accent)}.password-meter{flex-direction:column;gap:2px;margin-top:4px;display:flex}.password-meter meter{width:100%;height:6px}.password-meter[data-level=empty] meter{visibility:hidden}.password-meter p{margin:0}.password-meter[data-level=refused] p{color:var(--color-danger)}.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}pre.command{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);margin:var(--space) 0 0;white-space:pre-wrap;word-break:break-all;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}ul.plain{margin:0;padding:0;list-style:none}.roll{border-left:3px solid var(--color-line);padding:4px 0 4px var(--space);margin-top:var(--space)}.roll.running{border-color:var(--color-accent)}.roll.done{border-color:var(--color-success)}.roll.failed,.roll.interrupted{border-color:var(--color-danger)}.hint{color:var(--color-muted);font-size:.92em}.warn{color:var(--color-warning)}
