.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card.pad{padding:16px}.section-title{font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.value-xl{font-size:54px;line-height:1;font-weight:750;letter-spacing:-.04em}.value-lg{font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.03em}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stack{display:grid;gap:12px}.chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;min-height:32px}.chip.small{font-size:12px;min-height:24px;padding:3px 8px}.chip.green{border-color:rgba(69,230,164,.45);color:var(--green)}.chip.blue{border-color:rgba(84,169,255,.55);color:var(--blue)}.chip.orange{border-color:rgba(255,154,60,.55);color:var(--orange)}.chip.red{border-color:rgba(255,92,100,.55);color:var(--red)}.btn{border:1px solid var(--border);border-radius:14px;background:var(--surface-3);color:var(--text);min-height:44px;padding:0 16px}.btn.primary{background:#0f766e;border-color:#14b8a6;color:white}.btn.ghost{background:transparent}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px}.segmented button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:10px 12px}.segmented button.is-active{background:var(--surface-3);color:var(--accent)}.field{display:grid;gap:7px}.field label{color:var(--muted);font-size:13px}.input,select.input{width:100%;min-height:50px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);padding:0 14px;outline:none}.switch{display:inline-flex;align-items:center;gap:10px}.switch input{display:none}.slider{position:relative;width:58px;height:34px;background:var(--surface-3);border:1px solid var(--border);border-radius:999px;display:inline-block}.slider:after{content:"";position:absolute;width:26px;height:26px;border-radius:50%;background:var(--muted);left:3px;top:3px;transition:.18s}.switch input:checked + .slider{background:#0f766e;border-color:#14b8a6}.switch input:checked + .slider:after{left:27px;background:white}.status-chip{font-size:12px;color:var(--green);border:1px solid rgba(69,230,164,.35);border-radius:999px;padding:5px 9px;background:rgba(69,230,164,.08)}.alert{border-color:rgba(255,92,100,.7);background:#26090f;color:#ffd7da}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.divider{height:1px;background:var(--border-soft)}

/* v14 auth/login */
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg);} 
.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.35);} 
.login-brand{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);font-size:28px;color:var(--accent);margin-bottom:16px;} 
.login-card h1{margin:0 0 6px;font-size:26px;} 
.login-card p{margin:0 0 18px;color:var(--muted);} 
.field-label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px;} 
.field-input{width:100%;box-sizing:border-box;margin-top:6px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:13px 14px;font-size:16px;outline:none;} 
.field-input:focus{border-color:var(--accent);} 
.primary-btn{width:100%;margin-top:18px;border:0;border-radius:16px;background:var(--accent);color:#03120f;font-weight:800;padding:13px 16px;font-size:16px;} 
.form-error{border:1px solid rgba(255,99,99,.35);background:rgba(255,99,99,.12);color:#ffb4b4;border-radius:14px;padding:10px 12px;margin:12px 0;font-size:14px;}

/* v32 installer settings */
.settings-section-label{margin:18px 4px 8px;display:flex;align-items:center;justify-content:space-between;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.settings-section-label small{text-transform:none;letter-spacing:0;color:var(--muted);border:1px solid var(--border-soft);border-radius:999px;padding:4px 10px}.btn.danger{border-color:rgba(255,92,101,.55);background:rgba(100,20,28,.25);color:#ffb3b8}.btn.danger:active{transform:scale(.99)}.alert #node-alert-text{white-space:pre-line;line-height:1.35}.alert #node-alert-headline{display:block;margin-bottom:4px}
