:root{--bg: #0e1518;--bg-2: #142026;--panel: #1b272d;--panel-2: #22333b;--line: #2c4048;--text: #e8f1f4;--muted: #8aa0aa;--accent: #00AFF0;--accent-2: #0080B3;--ok: #3dce8a;--warn: #e0b15a;--danger: #d96b6b;--offline: #6b7c84;--on-accent: #062338;--accent-soft: #7dd3fc;--accent-strong: #38bdf8;--bg-glow: #12283a;--topbar-bg: color-mix(in srgb, var(--bg-2) 88%, black);--shadow-pop: 0 12px 32px rgb(0 0 0 / .45);color-scheme:dark;font-family:Segoe UI,IBM Plex Sans,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%,var(--bg-glow) 0%,var(--bg) 55%)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button],[type=hidden]),select,textarea){font:inherit;font-size:14px;color:var(--text);background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:6px 8px;transition:border-color .15s,box-shadow .15s}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button],[type=hidden]),select,textarea):focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}:where(input,textarea)::placeholder{color:var(--muted);opacity:.75}:where(input,select,textarea):disabled{opacity:.65;cursor:not-allowed}:where(textarea){padding:10px 12px;border-radius:8px;line-height:1.5;resize:vertical}a{color:var(--accent);text-decoration:none}button,input{font:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--topbar-bg)}.brand{font-weight:700;letter-spacing:.04em;color:var(--accent)}.brand small{display:block;font-weight:500;color:var(--muted);letter-spacing:.08em;font-size:10px}.topbar .spacer{flex:1}.nav{display:flex;gap:14px}.nav a{color:var(--muted);font-size:14px}.nav a:hover{color:var(--text)}.who{color:var(--muted);font-size:13px}.topbar button,.ghost{background:transparent;color:var(--text);border:1px solid var(--line);padding:6px 12px;border-radius:6px;cursor:pointer}.topbar button:hover,.ghost:hover{border-color:var(--accent)}.btn-primary,.btn-secondary,.btn-danger{font:inherit;border-radius:8px;padding:9px 16px;cursor:pointer;border:1px solid transparent;box-shadow:inset 0 1px #ffffff14,0 1px 2px #00000059,0 2px 4px #00000026;transition:transform .06s,box-shadow .12s,background .12s,border-color .12s}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-danger:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 3px #0006}.btn-primary{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-2) 100%);color:var(--on-accent);border-color:var(--accent-2);font-weight:650}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 85%,white 15%) 0%,var(--accent) 100%)}.btn-secondary{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 92%,white 8%) 0%,var(--panel-2) 100%);color:var(--text);border-color:var(--line)}.btn-secondary:hover:not(:disabled){border-color:var(--accent)}.btn-danger{background:linear-gradient(180deg,color-mix(in srgb,var(--danger) 28%,var(--panel)),color-mix(in srgb,var(--danger) 18%,var(--panel)));color:var(--text);border-color:var(--danger);font-weight:650}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--danger) 40%,var(--panel)),color-mix(in srgb,var(--danger) 28%,var(--panel)))}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.page{padding:20px 24px 40px;max-width:1280px;margin:0 auto;width:100%}.page h1{font-size:22px;font-weight:650;margin:0 0 16px}.tabs{display:flex;gap:0;margin:0 0 16px;overflow-x:auto;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;background:var(--bg)}.tab{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;white-space:nowrap;font-size:14px}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-panel{min-height:200px}.tab-panel>div[hidden]{display:none}.tab-panel .config,.tab-panel .commands{margin-top:0}.toolbar{display:flex;gap:10px;margin-bottom:16px}.toolbar input{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-width:240px}.table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:10px;overflow:hidden}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table input[type=text]{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%}.table th{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.table tr{cursor:pointer}.table tbody tr:hover{background:var(--panel-2)}.table a{color:var(--text)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.on{background:var(--ok);box-shadow:0 0 8px var(--ok)}.dot.off{background:var(--offline)}.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;border:1px solid var(--line);color:var(--text);background:var(--panel-2);white-space:nowrap}.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 55%,var(--line));background:color-mix(in srgb,var(--ok) 14%,var(--panel))}.chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,var(--line));background:color-mix(in srgb,var(--warn) 14%,var(--panel))}.chip.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 14%,var(--panel))}.chip.muted{color:var(--muted);border-color:var(--line);background:transparent}.meta{color:var(--muted);font-size:13px;margin:-8px 0 18px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.tile .label{color:var(--muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.tile .value{font-size:22px;font-weight:650;margin-top:6px}.tile .unit{color:var(--muted);font-size:13px;font-weight:500;margin-left:4px}.sparkline{display:block;width:100%;height:28px;margin-top:8px;color:var(--accent)}.sparkline path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.sparkline .fill{fill:currentColor;opacity:.12;stroke:none}.sparkline.empty{opacity:.4}.empty{color:var(--muted);padding:24px;text-align:center;border:1px dashed var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 70%,transparent)}.empty.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,var(--line))}.table tr.selected td{background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.schema-json{margin:12px 0 0;padding:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:420px;font-size:12px;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.schema-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:900px){.schema-compare{grid-template-columns:1fr}}.commands{margin:8px 0 24px}.commands h2{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:600}.command-row{display:flex;flex-wrap:wrap;gap:10px}.config .command-row{position:sticky;top:40px;z-index:15;background:var(--bg);padding:10px 0;margin:0 0 12px;border-bottom:1px solid var(--line)}.cmd{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 92%,white 8%) 0%,var(--panel-2) 100%);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 14px;cursor:pointer;box-shadow:inset 0 1px #ffffff0f,0 1px 2px #00000059,0 2px 4px #00000026;transition:transform .06s,box-shadow .12s,border-color .12s,background .12s}.cmd:hover:not(:disabled){border-color:var(--accent)}.cmd:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 3px #0006}.cmd.actuating{border-color:color-mix(in srgb,var(--warn) 55%,var(--line))}.cmd:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-group{display:inline-flex;align-self:flex-start;border-radius:8px;overflow:hidden;border:1px solid var(--line);box-shadow:inset 0 1px #ffffff0f,0 1px 2px #00000059,0 2px 4px #00000026}.btn-group .btn-toggle{font:inherit;padding:9px 22px;border:0;cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 92%,white 8%) 0%,var(--panel-2) 100%);color:var(--text);border-right:1px solid var(--line);transition:background .12s}.btn-group .btn-toggle:last-child{border-right:0}.btn-group .btn-toggle:hover:not(:disabled):not(.active){background:color-mix(in srgb,var(--accent) 18%,var(--panel-2))}.btn-group .btn-toggle.active{background:linear-gradient(180deg,var(--accent-2) 0%,var(--accent) 100%);color:var(--on-accent);font-weight:650;box-shadow:inset 0 2px 4px #0006,inset 0 0 0 1px #00000026;cursor:default}.btn-group .btn-toggle:disabled:not(.active){opacity:.55;cursor:not-allowed}.control-mode{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 20px}.control-mode .hint{color:var(--muted);font-size:12px}.mode-locked-banner{background:color-mix(in srgb,var(--warn) 15%,var(--panel));border:1px solid color-mix(in srgb,var(--warn) 55%,var(--line));color:var(--text);padding:8px 12px;border-radius:8px;margin-bottom:12px;font-size:13px}.command-status{color:var(--muted);font-size:13px;margin:10px 0 0}.command-status.error{color:var(--danger)}.config{margin:8px 0 28px}.config h2{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.banner{background:color-mix(in srgb,var(--warn) 18%,var(--panel));border:1px solid var(--warn);color:var(--text);padding:8px 12px;border-radius:8px;margin-bottom:12px;font-size:13px}.config-group{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 12px;background:var(--panel)}.config-group legend{color:var(--accent);padding:0 6px}.config-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0}.config-row span{color:var(--text)}.config-row em{color:var(--muted);font-style:normal;font-size:12px}.config-row input[type=text],.config-row input[type=number],.config-row input[type=tel]{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:180px}.config-row-value{display:flex;align-items:center;gap:8px}.config-row-value .btn-secondary{padding:5px 10px;font-size:12px}.matrix-wrap{overflow:auto}.matrix{border-collapse:collapse;width:100%;font-size:12px}.matrix th,.matrix td{border:1px solid var(--line);padding:6px;text-align:center}.matrix th{color:var(--muted);font-weight:600}.matrix tbody th{text-align:left;color:var(--text);white-space:nowrap}.sms-matrix thead th{position:sticky;top:0;z-index:2;background:var(--panel-2)}.sms-matrix tbody th{position:sticky;left:0;z-index:1;background:var(--panel-2)}.sms-matrix thead th:first-child{left:0;z-index:3}.sms-matrix td input[type=text]{min-width:120px}.sms-matrix td[data-label=Message] input[type=text]{display:block}.sms-matrix td[data-label=Message] input[type=text]+input[type=text]{margin-top:4px}.sms-msg{display:flex;align-items:center;gap:8px}.sms-msg+.sms-msg{margin-top:4px}.sms-msg input[type=text]{flex:1;min-width:0}.sms-cond{flex:none;width:46px;text-align:center;padding:2px 0;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sms-cond.is-true{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.sms-cond.is-false{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.sms-extra{margin-top:10px}.user-row{display:flex;gap:10px;align-items:center;padding:6px 0;flex-wrap:wrap}.user-row .user-name{flex:2 1 140px}.user-row .user-number{flex:1 1 120px}.user-row input{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px}.matrix input[type=text],.matrix input:not([type]){background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%}.tree{list-style:none;padding:0;margin:0 0 24px}.tree .tree{margin:6px 0 0 18px}.tree-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.tree-actions{margin-left:auto;display:flex;gap:6px}.tree-edit{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:8px 0 12px;padding:10px;background:var(--panel-2);border-radius:8px}.tree-edit label{font-size:12px;color:var(--muted)}.tree-edit input:not([type=checkbox]),.tree-edit select{display:block;margin-top:4px;padding:6px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--text)}.form-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.form-grid label{display:block;font-size:12px;color:var(--muted)}.form-grid input:not([type=checkbox]),.form-grid select,.table select{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);margin-top:4px}.inline{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.inline input{margin:0}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:2px solid var(--line);border-radius:50%;background:var(--bg-2);cursor:pointer;position:relative;flex-shrink:0;vertical-align:middle;transition:background .12s,border-color .12s,box-shadow .12s}input[type=checkbox]:hover:not(:disabled){border-color:var(--accent)}input[type=checkbox]:checked{background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--accent) 70%,white 30%) 0%,var(--accent) 55%,var(--accent-2) 100%);border-color:color-mix(in srgb,var(--accent) 60%,white 20%);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 55%,transparent)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.matrix input[type=checkbox]{margin:0 auto;display:inline-block}.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}.seg button{transition:background .12s,color .12s}.seg button{flex:1;min-width:0;border:0;border-radius:0;padding:6px 8px;font-size:12px;cursor:pointer;background:var(--panel-2);color:var(--muted)}.seg button+button{border-left:1px solid var(--line)}.seg button:hover:not(:disabled):not(.on){background:color-mix(in srgb,var(--accent) 14%,var(--panel-2));color:var(--text)}.seg button.on{background:color-mix(in srgb,var(--accent) 28%,var(--panel-2));color:var(--text);font-weight:650}.seg button:disabled{opacity:.55;cursor:not-allowed}.seg button.on.pos{background:color-mix(in srgb,var(--ok) 32%,var(--panel-2));color:var(--ok)}.seg button.on.neg{background:color-mix(in srgb,var(--danger) 32%,var(--panel-2));color:var(--danger)}.seg.conflict{border-color:var(--danger)}.seg.conflict button.on{background:color-mix(in srgb,var(--danger) 28%,var(--panel-2))}@media(max-width:640px){.page{padding:12px 12px 32px}.topbar{flex-wrap:wrap;gap:8px 12px;padding:10px 12px}.nav{order:3;width:100%;overflow-x:auto;gap:18px;white-space:nowrap}.shell-device .topbar{flex-wrap:nowrap;align-items:center}.shell-device .nav,.shell-device .who{display:none}.toolbar{flex-wrap:wrap}.toolbar input{flex:1 1 100%;min-width:0}.fleet-table,.fleet-table tbody,.fleet-table tr,.fleet-table td{display:block;width:100%}.fleet-table{background:transparent}.fleet-table thead{display:none}.fleet-table tr{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:6px 12px}.fleet-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:0}.fleet-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.fleet-table td:not([data-label]){display:block;padding:6px 0 8px;border-bottom:1px solid var(--line)}.fleet-table td:not([data-label]):before{content:none}.config-group{min-width:0;padding:10px 12px}.config-row{flex-wrap:wrap;gap:6px 12px}.config-row>span:first-child{flex:1 1 60%;min-width:0}.config-row>input[type=text],.config-row>input[type=number],.config-row-value{flex:1 1 100%;width:100%}.config-row-value input[type=number]{flex:1;min-width:0;width:100%}.config .command-row>button{flex:1 1 0}.control-matrix,.control-matrix tbody,.control-matrix tr,.control-matrix th,.control-matrix td,.sms-matrix,.sms-matrix tbody,.sms-matrix tr,.sms-matrix th,.sms-matrix td,.io-matrix,.io-matrix tbody,.io-matrix tr,.io-matrix th,.io-matrix td,.audit-table,.audit-table tbody,.audit-table tr,.audit-table td{display:block;width:100%}.control-matrix thead,.sms-matrix thead,.io-matrix thead,.audit-table thead{display:none}.sms-matrix-wrap{max-height:none}.audit-table{background:transparent}.control-matrix tr,.sms-matrix tr,.io-matrix tr,.audit-table tr{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:4px 12px 6px}.control-matrix th,.control-matrix td,.sms-matrix th,.sms-matrix td,.io-matrix th,.io-matrix td{border:0}.matrix tbody th,.sms-matrix tbody th{position:static;background:transparent;white-space:normal;text-align:left;padding:8px 0;border-bottom:1px solid var(--line);color:var(--text);font-size:14px}.control-matrix td,.sms-matrix td,.io-matrix td,.audit-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;text-align:left;border-bottom:0}.control-matrix td:before,.sms-matrix td:before,.io-matrix td:before,.audit-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.control-matrix td .seg{width:190px;flex:none}.control-matrix td input[type=checkbox],.sms-matrix td input[type=checkbox],.io-matrix td input[type=checkbox]{margin:0}.sms-matrix td input[type=text],.io-matrix td input[type=text],.io-matrix td input:not([type]){flex:1;min-width:0;width:auto}.audit-table td.who{word-break:break-word;text-align:right}.user-row .user-name,.user-row .user-number{flex:1 1 100%;min-width:0}.user-row input{width:100%}.config-row>input[type=tel]{flex:1 1 100%;width:100%}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{padding:10px 12px}.tile .value{font-size:20px}.control-mode{align-items:stretch}.btn-group{align-self:stretch}.btn-group .btn-toggle{flex:1 1 0;padding:11px 12px}.commands .command-row>button{flex:1 1 calc(50% - 5px)}.command-row .btn-danger,.command-row .btn-secondary{min-height:40px}.tabs{position:static;flex-wrap:wrap;gap:8px;overflow:visible;border-bottom:0;padding:0 0 12px;margin:0 0 8px}.tab{flex:1 1 calc(33.333% - 8px);min-width:96px;text-align:center;padding:10px 8px;font-size:14px;border:1px solid var(--line);border-radius:8px;white-space:normal;line-height:1.2;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 92%,white 8%) 0%,var(--panel-2) 100%);color:var(--text);box-shadow:inset 0 1px #ffffff0f,0 1px 2px #00000059}.tab.active{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-2) 100%);color:var(--on-accent);border-color:var(--accent-2);font-weight:650}.config .command-row{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:40;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-bottom:0;border-top:1px solid var(--line);flex-wrap:nowrap}.tab-panel{padding-bottom:76px}.form-grid{grid-template-columns:1fr}.config .btn-primary{width:100%}}.io-matrix select{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px}.tank-option{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.tank-svg{width:250px;height:auto;display:block;overflow:visible}.tank-water{transition:transform 1.4s cubic-bezier(.22,.8,.25,1)}.tank-ink path{fill:none;stroke:var(--text);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:d .6s ease}.tank-ink path.is-active{stroke:var(--accent-soft)}.tank-tick path{fill:none;stroke:var(--line);stroke-width:1;transition:d .6s ease,stroke .3s}.tank-tick text{fill:var(--muted);font-size:9.5px;font-weight:600;letter-spacing:.02em;transition:transform .6s ease,fill .3s}.tank-tick.is-active text{fill:var(--accent-soft)}.tank-tick.is-active path{stroke:var(--accent-soft)}.tank-readout{min-width:0}.tank-readout .label{color:var(--muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.tank-state{font-size:26px;font-weight:700;margin-top:4px}.tank-state.tone-ok{color:var(--text)}.tank-state.tone-warn{color:var(--warn)}.tank-state.tone-danger{color:var(--danger)}.tank-state.tone-muted{color:var(--muted)}.tank-pct{font-size:34px;font-weight:650;margin-top:2px;color:var(--accent-strong);transition:color 1s ease}.tank-pct .unit{color:var(--muted);font-size:15px;font-weight:500;margin-left:4px}@media(prefers-reduced-motion:reduce){.tank-water,.tank-ink path,.tank-tick path,.tank-tick text{transition:none}}@media(max-width:560px){.tank-svg{width:210px}.tank-option{gap:14px;padding:14px}}.dash{display:flex;flex-direction:column;gap:12px}.dash-card{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px}.dash-hero{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(320px,1fr) minmax(260px,.85fr);gap:12px;align-items:stretch}@media(max-width:1100px){.dash-hero{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}.dash-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.dash-title{margin:0 0 10px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.dash-readout .label{color:var(--muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.dash-status{font-size:26px;font-weight:700;margin-top:4px}.dash-status.tone-ok{color:var(--ok)}.dash-status.tone-warn{color:var(--warn)}.dash-status.tone-danger{color:var(--danger)}.dash-status.tone-muted{color:var(--muted)}.dash-sub{display:flex;flex-direction:column;gap:2px;margin-top:8px;color:var(--muted);font-size:12px}.pressure-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.pressure-svg{width:230px;height:auto;display:block}.pg-track{fill:none;stroke:var(--line);stroke-width:12;stroke-linecap:round}.pg-zone{fill:none;stroke-width:4;opacity:.9}.pg-zone.low{stroke:var(--warn)}.pg-zone.ok{stroke:var(--ok)}.pg-zone.high{stroke:var(--danger)}.pg-value{fill:none;stroke-width:7;stroke-linecap:round;transition:d 1s cubic-bezier(.22,.8,.25,1)}.pg-value.is-ok{stroke:var(--ok)}.pg-value.is-low{stroke:var(--warn)}.pg-value.is-high{stroke:var(--danger)}.pg-tick line{stroke:var(--muted);stroke-width:1.2}.pg-tick text{fill:var(--muted);font-size:9px;text-anchor:middle}.pg-needle{transition:transform 1.2s cubic-bezier(.34,1.4,.5,1)}.pg-hub{fill:var(--panel);stroke:var(--text);stroke-width:2.5}.pg-value-text{fill:var(--text);font-size:24px;font-weight:700;text-anchor:middle}.pg-unit{fill:var(--muted);font-size:12px;font-weight:500}.system-card{display:flex;flex-direction:column;gap:4px}.sys-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.sys-row:last-child{border-bottom:none}.sys-label{color:var(--muted);font-size:13px}.sys-value{font-weight:650}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:650;border:1px solid transparent}.pill-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.pill-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.pill-source{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.pill-source.src-unknown{color:var(--muted);background:transparent;border-color:var(--line)}.led-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.led-row:last-child{border-bottom:none}.led{width:10px;height:10px;border-radius:50%;flex:0 0 10px;background:color-mix(in srgb,var(--muted) 45%,var(--panel));box-shadow:inset 0 0 0 1px #00000059;transition:background .3s,box-shadow .3s}.led.on{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 70%,transparent),inset 0 0 0 1px #ffffff40}.led.unknown{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.led-label{flex:1;font-size:13px}.led-state{color:var(--muted);font-size:12px;font-weight:600}.led-state.on{color:var(--ok)}.bridge-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.bridge-label{flex:0 0 auto;min-width:64px;font-size:13px}.bridge-seg{display:flex;flex:1 1 200px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.bridge-seg .bseg{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.25;text-align:center;padding:4px;font-size:11px;font-weight:600;color:var(--muted);border-right:1px solid var(--line);transition:background .3s,color .3s}.bridge-seg .bseg:last-child{border-right:none}.bseg.active.tone-idle{background:color-mix(in srgb,var(--muted) 22%,transparent);color:var(--text)}.bseg.active.tone-fwd{background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--ok)}.bseg.active.tone-rev{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}.bseg.active.tone-brake{background:color-mix(in srgb,var(--danger) 22%,transparent);color:var(--danger)}.loop{padding:6px 0 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.loop:last-child{border-bottom:none}.loop-head{display:flex;align-items:baseline;gap:8px}.loop-label{font-size:13px;font-weight:600}.loop-role{color:var(--muted);font-size:12px;flex:1}.loop-value{margin-left:auto;font-size:18px;font-weight:700}.loop-value .unit{color:var(--muted);font-size:12px;font-weight:500;margin-left:3px}.loop-value.fault{color:var(--danger)}.loop-bar{position:relative;height:8px;margin-top:8px;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent);overflow:hidden}.loop-band{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 12%,transparent)}.loop-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#0b8fd8,var(--accent-strong));transition:width 1s cubic-bezier(.22,.8,.25,1)}.loop-fill.fault{background:var(--danger)}.loop-foot{display:flex;justify-content:space-between;margin-top:5px;color:var(--muted);font-size:11px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(prefers-reduced-motion:reduce){.pg-needle,.pg-value,.loop-fill,.led,.bridge-seg .bseg{transition:none}}.tank-color-inline{display:inline-flex;align-items:center;gap:6px;order:-1}.tank-color-inline input[type=color]{width:34px;height:30px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--panel);cursor:pointer}.tank-color-inline input[type=color]:disabled{cursor:not-allowed;opacity:.6}.tank-color-status{min-width:52px;text-align:right;font-size:11px;color:var(--muted);transition:opacity .4s}.tank-color-status.is-idle{opacity:0}.tank-color-status.is-saved{color:var(--ok)}.tank-color-status.is-error{color:var(--danger)}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-head h1{margin-right:auto}.live-badge{font-size:12px}.fleet-filters{flex-wrap:wrap;align-items:center}.fleet-filters .spacer{flex:1}.fleet-filters .count{margin-left:6px;padding:0 6px;border-radius:999px;font-size:11px;background:color-mix(in srgb,var(--muted) 20%,transparent);color:var(--text)}.fleet-filters .sort{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.fleet-filters select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px}.history-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.history-head h2{margin:0}.history-head .spacer{flex:1}.history-chart{margin:0 0 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.history-chart figcaption{display:flex;justify-content:space-between;gap:12px;font-weight:600;margin-bottom:4px}.history-plot{position:relative}.history-plot svg{display:block;touch-action:pan-y}.history-plot .grid{stroke:var(--line);stroke-width:1}.history-plot .tick{fill:var(--muted);font-size:11px}.history-plot .band{fill:var(--accent);fill-opacity:.12;stroke:none}.history-plot .line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.history-plot .crosshair{stroke:var(--muted);stroke-width:1}.history-plot .marker{fill:var(--accent);stroke:var(--panel);stroke-width:2}.chart-tip{position:absolute;transform:translate(-50%);pointer-events:none;white-space:nowrap;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;box-shadow:var(--shadow-pop)}.session-banner{margin:12px auto 0;width:calc(100% - 48px);max-width:1232px}:root[data-theme=light]{--bg: #f7f7f8;--bg-2: #eef2f5;--panel: #ffffff;--panel-2: #f1f4f7;--line: #e1e6ec;--text: #1f2937;--muted: #5f6b7a;--accent: #0079ad;--accent-2: #006a98;--ok: #15803d;--warn: #b45309;--danger: #dc2626;--offline: #8a96a3;--on-accent: #ffffff;--accent-soft: #0079ad;--accent-strong: #0079ad;--bg-glow: #dcebf3;--topbar-bg: #ffffff;--shadow-pop: 0 12px 32px rgb(15 23 42 / .16);color-scheme:light}:root[data-theme=light] .btn-primary,:root[data-theme=light] .btn-secondary,:root[data-theme=light] .btn-danger{box-shadow:inset 0 1px #fff6,0 1px 2px #0f172a1f}[data-style=frosted] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(640px circle at 8% 12%,rgba(0,175,240,.3),transparent 60%),radial-gradient(560px circle at 92% 18%,rgba(14,165,233,.24),transparent 60%),radial-gradient(720px circle at 45% 100%,rgba(0,128,179,.2),transparent 60%)}[data-style=frosted][data-theme=light] body:before{background:radial-gradient(640px circle at 8% 12%,rgba(0,175,240,.18),transparent 60%),radial-gradient(560px circle at 92% 18%,rgba(14,165,233,.16),transparent 60%),radial-gradient(720px circle at 45% 100%,rgba(0,128,179,.12),transparent 60%)}[data-style=frosted]{--glass: rgba(27, 39, 45, .55);--glass-line: rgba(255, 255, 255, .08);--glass-hi: rgba(255, 255, 255, .05);--glass-strong: rgba(27, 39, 45, .88)}[data-style=frosted][data-theme=light]{--glass: rgba(255, 255, 255, .7);--glass-line: rgba(255, 255, 255, .6);--glass-hi: rgba(255, 255, 255, .4);--glass-strong: rgba(255, 255, 255, .9)}[data-style=frosted] .table,[data-style=frosted] .config-group,[data-style=frosted] .history-chart,[data-style=frosted] .tree-row,[data-style=frosted] .tile,[data-style=frosted] .dash-card,[data-style=frosted] .profile-panel{background:var(--glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-color:var(--glass-line);box-shadow:0 1px 2px #0000001f,inset 0 1px 0 var(--glass-hi)}[data-style=frosted] .topbar{background:var(--glass);border-bottom-color:var(--glass-line)}[data-style=frosted] .profile-panel{background:var(--glass-strong)}[data-style=frosted] .tabs{background:transparent}@media(max-width:640px){[data-style=frosted] .fleet-table tr{background:var(--glass);border-color:var(--glass-line);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}}.topbar{position:relative;z-index:40}.profile{position:relative}.topbar .profile-btn{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px}.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);font-size:12px;font-weight:700;letter-spacing:.02em;flex:none}.avatar-lg{width:44px;height:44px;font-size:16px}.profile-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.caret{color:var(--muted);font-size:11px}.profile-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:320px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:14px}.profile-id{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.profile-fullname{font-weight:650}.profile-section{display:flex;flex-direction:column;gap:6px}.profile-label{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.segmented{display:flex;padding:3px;gap:3px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}.topbar .segmented button{flex:1;border:0;border-radius:7px;padding:6px 8px;font-size:13px;color:var(--muted);background:transparent}.topbar .segmented button.on{background:var(--accent);color:var(--on-accent);font-weight:650}.topbar .segmented button:hover:not(.on){color:var(--text)}.profile-password{display:flex;flex-direction:column;gap:8px}.profile-password input{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px 10px}.profile-actions{display:flex;justify-content:flex-end;gap:8px}.profile-ok{color:var(--ok);font-size:13px}.topbar .profile-signout{align-self:stretch}@media(max-width:640px){.profile-name,.caret{display:none}.topbar .profile-btn{padding:2px}.profile-panel{position:fixed;left:12px;right:12px;top:56px;width:auto}}.tooltip{position:fixed;z-index:1000;transform:translate(-50%,-100%);pointer-events:none;max-width:260px;padding:6px 9px;border-radius:7px;background:color-mix(in srgb,var(--text) 92%,var(--bg));color:var(--bg);font-size:12px;line-height:1.35;font-weight:500;text-align:center;box-shadow:var(--shadow-pop);animation:tooltip-in .12s ease-out}.tooltip.below{transform:translate(-50%)}@keyframes tooltip-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.tooltip{animation:none}}:root{--auth-sky-1: #04101a;--auth-sky-2: #0a2638;--auth-blob-a: rgba(0, 175, 240, .42);--auth-blob-b: rgba(14, 165, 233, .3);--auth-blob-c: rgba(79, 199, 245, .22);--auth-wave-1: rgba(0, 128, 179, .22);--auth-wave-2: rgba(0, 150, 210, .32);--auth-wave-3: rgba(0, 175, 240, .5);--auth-water: radial-gradient(circle at var(--fx, 50%) var(--fy, 50%), #6fd6fb 0%, #00a3e0 38%, #0077ad 72%, #005a85 100%)}:root[data-theme=light]{--auth-sky-1: #e3f3fa;--auth-sky-2: #f7fbfd;--auth-blob-a: rgba(0, 175, 240, .28);--auth-blob-b: rgba(14, 165, 233, .2);--auth-blob-c: rgba(0, 121, 173, .14);--auth-wave-1: rgba(0, 121, 173, .1);--auth-wave-2: rgba(0, 121, 173, .16);--auth-wave-3: rgba(0, 150, 210, .26)}.auth{position:relative;min-height:100vh;display:grid;place-items:center;padding:32px 16px 18vh;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,var(--auth-sky-1) 0%,var(--auth-sky-2) 100%)}.auth-sky{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}.blob{position:absolute;width:46vmax;height:46vmax;filter:blur(48px);opacity:.95;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;animation:blob-morph 22s ease-in-out infinite alternate,blob-drift 34s ease-in-out infinite alternate}.blob-a{background:var(--auth-blob-a);top:-16vmax;left:-12vmax}.blob-b{background:var(--auth-blob-b);top:6vmax;right:-18vmax;animation-duration:27s,40s;animation-delay:-6s,-10s}.blob-c{background:var(--auth-blob-c);bottom:-20vmax;left:18vw;animation-duration:19s,31s;animation-delay:-12s,-4s}@keyframes blob-morph{0%{border-radius:42% 58% 63% 37%/41% 44% 56% 59%}33%{border-radius:63% 37% 41% 59%/56% 62% 38% 44%}66%{border-radius:37% 63% 55% 45%/63% 35% 65% 37%}to{border-radius:55% 45% 34% 66%/38% 57% 43% 62%}}@keyframes blob-drift{0%{transform:translate(0) rotate(0) scale(1)}50%{transform:translate(4vmax,3vmax) rotate(25deg) scale(1.08)}to{transform:translate(-3vmax,5vmax) rotate(-15deg) scale(.94)}}.auth-waves{position:absolute;left:0;bottom:0;width:100%;height:26vh;z-index:-1;pointer-events:none}.auth-waves .wave-back{fill:var(--auth-wave-1)}.auth-waves .wave-mid{fill:var(--auth-wave-2)}.auth-waves .wave-front{fill:var(--auth-wave-3)}.auth-rise{width:min(400px,100%);animation:card-rise .8s cubic-bezier(.2,.8,.2,1) both}.auth-card{width:100%;padding:30px 28px 24px;border-radius:22px;background:color-mix(in srgb,var(--panel) 70%,transparent);border:1px solid color-mix(in srgb,var(--text) 10%,transparent);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);box-shadow:0 30px 80px #00000059,inset 0 1px color-mix(in srgb,white 12%,transparent)}:root[data-theme=light] .auth-card{box-shadow:0 30px 80px #0f3c5a29,inset 0 1px #ffffffb3}@keyframes card-rise{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}.auth-card.shake{animation:card-shake .42s cubic-bezier(.36,.07,.19,.97) both}@keyframes card-shake{15%{transform:translate(-9px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}to{transform:none}}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.auth-drop{flex:none;animation:drop-bob 4s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgb(0 160 220 / .35))}.auth-drop-shell{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:color-mix(in srgb,var(--accent) 70%,transparent);stroke-width:1.4}.auth-drop-shine{fill:#ffffff8c}@keyframes drop-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.auth-title{font-size:22px;font-weight:750;letter-spacing:.01em;color:var(--text)}.auth-sub{font-size:10px;font-weight:700;letter-spacing:.24em;color:var(--accent)}.auth-heading{margin:0 0 4px;font-size:24px;font-weight:700}.auth-lead{margin:0 0 18px;color:var(--muted);font-size:14px}.field{position:relative;margin-top:12px}.field input{width:100%;height:54px;padding:20px 14px 6px;border-radius:13px;font-size:15px;color:var(--text);background:color-mix(in srgb,var(--bg-2) 65%,transparent);border:1px solid color-mix(in srgb,var(--line) 90%,transparent);outline:none;transition:border-color .2s,box-shadow .25s,background .2s}.field input:focus{border-color:var(--accent);background:color-mix(in srgb,var(--bg-2) 85%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}.field label{position:absolute;left:15px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted);font-size:15px;transform-origin:left center;transition:top .2s ease,transform .2s ease,font-size .2s ease,color .2s ease,letter-spacing .2s ease}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field input:-webkit-autofill+label{top:14px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:650;color:var(--accent)}.field input:not(:focus):not(:placeholder-shown)+label{color:var(--muted)}.field-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.field-eye:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}.field.has-eye input{padding-right:48px}.auth-hint{margin-top:6px;font-size:12px;color:var(--warn)}.auth-error{max-height:0;opacity:0;overflow:hidden;color:var(--danger);font-size:13px;font-weight:600;transition:max-height .3s ease,opacity .3s ease,margin .3s ease}.auth-error.show{max-height:48px;opacity:1;margin-top:10px}.morph-wrap{display:flex;justify-content:center;margin-top:18px;height:54px}.morph-btn{position:relative;width:100%;height:54px;border:0;border-radius:27px;cursor:pointer;overflow:hidden;color:var(--on-accent);font-weight:750;font-size:15px;letter-spacing:.02em;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 38%,transparent);transition:width .5s cubic-bezier(.65,0,.25,1),border-radius .5s cubic-bezier(.65,0,.25,1),background .35s ease,box-shadow .3s ease,transform .15s ease,opacity .2s ease}.morph-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-120%);background:linear-gradient(100deg,transparent 30%,rgb(255 255 255 / .28) 50%,transparent 70%);transition:transform .7s ease}.morph-btn.is-idle:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 46%,transparent)}.morph-btn.is-idle:hover:not(:disabled):after{transform:translate(120%)}.morph-btn.is-idle:active:not(:disabled){transform:scale(.98)}.morph-btn.is-idle:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.morph-btn:disabled{cursor:default}.morph-label{display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:opacity .18s ease,transform .3s ease}.morph-btn.is-loading,.morph-btn.is-success{width:54px;border-radius:50%}.morph-btn.is-loading .morph-label,.morph-btn.is-success .morph-label{opacity:0;transform:scale(.6)}.morph-spinner{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--on-accent) 25%,transparent);border-top-color:var(--on-accent);opacity:0;transform:scale(.4);transition:opacity .2s ease .2s,transform .3s ease .2s;animation:spin .8s linear infinite}.morph-btn.is-loading .morph-spinner{opacity:1;transform:scale(1)}@keyframes spin{to{rotate:360deg}}.morph-check{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px}.morph-check path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .38s ease .12s}.morph-btn.is-success{background:linear-gradient(135deg,#34d399,#059669);box-shadow:0 10px 28px #10b98173}.morph-btn.is-success .morph-check path{stroke-dashoffset:0}.morph-btn.is-error{background:linear-gradient(135deg,#f87171,#dc2626)}.auth-link{display:block;margin-top:16px;text-align:center;font-size:13px;color:var(--accent)}.auth-link:hover{text-decoration:underline}.auth-rise{position:relative;z-index:1}.auth.is-leaving{pointer-events:none}.auth.is-leaving:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--bg);animation:fade-in .6s ease forwards}.auth.is-leaving .auth-rise{animation:fly-to-avatar .68s cubic-bezier(.65,0,.35,1) forwards}.auth.is-leaving .auth-card{border-radius:50%;transition:border-radius .5s ease}.auth.is-leaving .auth-card>*{opacity:0;transition:opacity .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fly-to-avatar{0%{transform:none;opacity:1}70%{opacity:1}to{transform:translate(var(--tx, 40vw),var(--ty, -40vh)) scale(.06);opacity:0}}.auth-greet{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 0 4px}.greet-avatar{position:relative;width:92px;height:92px;margin:0 0 16px;display:grid;place-items:center}.greet-ring{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.greet-ring circle{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:271;stroke-dashoffset:271;animation:draw .7s cubic-bezier(.65,0,.35,1) .1s forwards}.greet-initials{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:700;letter-spacing:.02em;color:var(--on-accent);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);animation:greet-pop .5s cubic-bezier(.2,.9,.3,1.25) both}.greet-badge{position:absolute;right:2px;bottom:4px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#10b981;box-shadow:0 0 0 3px var(--panel);animation:greet-pop .4s cubic-bezier(.2,.9,.3,1.4) .55s both}.greet-badge svg{width:16px;height:16px}.greet-badge path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;animation:draw .3s ease .8s forwards}@keyframes greet-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.greet-progress{width:160px;height:3px;border-radius:3px;overflow:hidden;margin:6px 0 8px;background:color-mix(in srgb,var(--text) 10%,transparent)}.greet-progress span{display:block;height:100%;width:100%;transform-origin:left;background:var(--accent);animation:countdown 1.2s ease-in-out .2s both}.greet-note{margin:0;color:var(--muted);font-size:13px}.shell.is-arriving .topbar{animation:arrive-fade .5s ease both}.shell.is-arriving .page{animation:arrive-rise .55s cubic-bezier(.2,.8,.2,1) .06s both}.shell.is-arriving .profile-btn .avatar{animation:avatar-land .55s cubic-bezier(.2,.9,.3,1.3) .15s both,avatar-pulse 1.4s ease-out .7s 1}@keyframes arrive-fade{0%{opacity:0}to{opacity:1}}@keyframes arrive-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes avatar-land{0%{opacity:0;transform:scale(1.8)}to{opacity:1;transform:none}}@keyframes avatar-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 12px transparent}}.arrive-toast{position:fixed;left:50%;bottom:24px;z-index:900;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 16px 10px 10px;border-radius:999px;font-size:14px;color:var(--text);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-pop);animation:toast-in .45s cubic-bezier(.2,.9,.3,1.2) .5s both,toast-out .4s ease 3.8s forwards}.arrive-toast-check{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;background:#10b981}.arrive-toast-check svg{width:15px;height:15px}.arrive-toast-check path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.arrive-toast-sub{color:var(--muted)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px) scale(.96)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%,8px)}}@media(max-width:560px){.arrive-toast-sub{display:none}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:480px){.auth{padding:24px 12px 16vh}.auth-card{padding:24px 18px 20px;border-radius:18px}.auth-waves{height:18vh}}.auth-morph{margin:-6px;transition:height .45s cubic-bezier(.65,0,.25,1)}.auth-morph.clipping{overflow:hidden}.auth-morph>div{padding:6px}.auth-pane{animation:pane-in .5s cubic-bezier(.2,.8,.2,1) both}.auth-pane .auth-pane{animation-delay:.04s}@keyframes pane-in{0%{opacity:0;transform:translateY(12px) scale(.985);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}.auth-notice{max-height:0;opacity:0;overflow:hidden;border-radius:12px;font-size:13px;font-weight:600;color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border:1px solid color-mix(in srgb,var(--ok) 0%,transparent);padding:0 12px;transition:max-height .35s ease,opacity .35s ease,padding .35s ease,margin .35s ease,border-color .35s ease}.auth-notice.show{max-height:64px;opacity:1;padding:10px 12px;margin:0 0 6px;border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.auth-who{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin:-6px 0 4px;padding:6px 12px 6px 10px;border-radius:999px;font-size:13px;font-weight:600;overflow-wrap:anywhere;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.auth-who-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--accent);box-shadow:0 0 10px var(--accent)}.meter{display:flex;align-items:center;gap:10px;margin:8px 2px 2px;font-size:12px;color:var(--muted)}.meter-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;flex:1}.meter-bars i{height:4px;border-radius:4px;background:color-mix(in srgb,var(--text) 12%,transparent);transform-origin:left center;transition:background .35s ease,transform .35s ease}.meter.s1 .meter-bars i:nth-child(-n+1){background:var(--danger)}.meter.s2 .meter-bars i:nth-child(-n+2){background:var(--warn)}.meter.s3 .meter-bars i:nth-child(-n+3){background:color-mix(in srgb,var(--ok) 70%,var(--accent))}.meter.s4 .meter-bars i{background:var(--ok)}.meter.s1 .meter-label{color:var(--danger)}.meter.s4 .meter-label{color:var(--ok)}.meter-label{min-width:104px;text-align:right;transition:color .3s ease}.match-mark{position:absolute;right:48px;top:50%;width:20px;height:20px;margin-top:-10px;pointer-events:none}.match-mark path{fill:none;stroke:var(--ok);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .35s ease}.match-mark.on path{stroke-dashoffset:0}.auth-done{display:flex;flex-direction:column;align-items:center;text-align:center}.auth-done .auth-lead{margin-bottom:14px}.done-mark{width:76px;height:76px;margin:4px 0 14px}.done-ring{fill:color-mix(in srgb,var(--ok) 14%,transparent);stroke:var(--ok);stroke-width:2.5;stroke-dasharray:145;stroke-dashoffset:145;transform:rotate(-90deg);transform-origin:center;animation:draw .6s cubic-bezier(.65,0,.45,1) forwards}.done-tick{fill:none;stroke:var(--ok);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:draw .4s cubic-bezier(.65,0,.45,1) .5s forwards}@keyframes draw{to{stroke-dashoffset:0}}.mail-mark{width:76px;height:76px;margin:0 0 12px;overflow:visible}.mail-body{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:var(--accent);stroke-width:2.5;animation:mail-in .6s cubic-bezier(.2,.8,.2,1) both,mail-float 3s ease-in-out .6s infinite;transform-origin:center;transform-box:fill-box}.mail-flap{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:draw .5s ease .35s forwards}@keyframes mail-in{0%{opacity:0;transform:translateY(14px) rotate(-8deg) scale(.8)}to{opacity:1;transform:none}}@keyframes mail-float{50%{transform:translateY(-4px)}}.broken-link{width:68px;height:68px;margin:0 0 10px}.broken-link path{fill:none;stroke:var(--warn);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:160;stroke-dashoffset:160;animation:draw .9s ease forwards}.auth-countdown{width:100%;height:4px;border-radius:4px;overflow:hidden;background:color-mix(in srgb,var(--text) 10%,transparent)}.auth-countdown:after{content:"";display:block;height:100%;width:100%;transform-origin:left;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--ok));animation:countdown var(--t, 2s) linear forwards}@keyframes countdown{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.morph-btn.as-link{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:4px}.auth-link.as-button{border:0;background:none;cursor:pointer;font:inherit;font-size:13px;padding:0;margin-left:auto;margin-right:auto}.auth-checking{display:grid;gap:12px;padding:2px 0 6px}.shimmer{display:block;height:14px;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--text) 7%,transparent) 25%,color-mix(in srgb,var(--text) 16%,transparent),color-mix(in srgb,var(--text) 7%,transparent) 75%);background-size:300% 100%;animation:shimmer 1.3s linear infinite}.shimmer.w60{width:60%;height:24px}.shimmer.w90{width:90%}.shimmer.field-sk{height:54px;border-radius:13px}.shimmer.btn-sk{height:54px;border-radius:27px;margin-top:6px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-50% 0}}.users-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.users-head .meta{margin-bottom:14px}.invite-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:4px}.invite-toggle .plus{position:relative;width:12px;height:12px;transition:transform .35s cubic-bezier(.65,0,.25,1)}.invite-toggle .plus:before,.invite-toggle .plus:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:currentColor}.invite-toggle .plus:after{transform:rotate(90deg)}.invite-toggle.open .plus{transform:rotate(135deg)}.fold{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s cubic-bezier(.65,0,.25,1),opacity .3s ease,margin .45s ease}.fold.open{grid-template-rows:1fr;opacity:1;margin-bottom:18px}.fold-inner{overflow:hidden;min-height:0}.invite-card{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;padding:16px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--panel)) 0%,var(--panel) 70%)}.invite-card h2{margin:0 0 10px;font-size:17px}.invite-swap{animation:pane-in .45s cubic-bezier(.2,.8,.2,1) both}.invite-done{display:flex;align-items:flex-start;gap:16px}.invite-done .done-mark{width:56px;height:56px;flex:none;margin:0}.invite-done .meta{margin:0 0 10px}.send-invite,.act-btn{position:relative;display:inline-flex;align-items:center;justify-content:center}.send-invite{margin-top:12px;min-width:140px}.act-text{transition:opacity .2s ease,transform .25s ease}.act-spinner{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;opacity:0;transform:scale(.5);transition:opacity .2s ease,transform .25s ease;animation:spin .8s linear infinite}.is-loading>.act-text{opacity:0;transform:scale(.7)}.is-loading>.act-spinner{opacity:1;transform:scale(1)}.act-btn.is-sent{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 55%,var(--line));background:color-mix(in srgb,var(--ok) 12%,transparent)}.act-btn.is-error{color:var(--danger);border-color:var(--danger)}.act-btn{transition:color .25s ease,border-color .25s ease,background .25s ease}.toggle-btn.armed{color:#fff;border-color:var(--danger);background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 90%,white),var(--danger));animation:armed-pulse 1.2s ease-in-out infinite}@keyframes armed-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 25%,transparent)}}.toggle-btn.revive{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;border-radius:999px;font-size:12px;font-weight:650;white-space:nowrap;border:1px solid transparent;transition:color .4s ease,background .4s ease,border-color .4s ease}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.status-pill.st-active{color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.status-pill.st-invited{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.status-pill.st-invited .status-dot{animation:invite-pulse 1.8s ease-out infinite}@keyframes invite-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--warn) 60%,transparent)}to{box-shadow:0 0 0 7px transparent}}.status-pill.st-disabled{color:var(--muted);background:transparent;border-color:var(--line)}.users-table tr{transition:opacity .35s ease}.users-table tr.row-off td:not(:last-child){opacity:.55}.users-table tr.row-new td{animation:row-new 2.4s ease-out both}@keyframes row-new{0%{background:color-mix(in srgb,var(--accent) 30%,transparent)}to{background:transparent}}.users-table tr.row-new td:first-child{animation-name:row-new,row-slide;animation-duration:2.4s,.5s}@keyframes row-slide{0%{transform:translate(-12px);opacity:0}to{transform:none;opacity:1}}.row-detail td{background:color-mix(in srgb,var(--accent) 4%,transparent)}.row-detail td>*{animation:pane-in .4s cubic-bezier(.2,.8,.2,1) both}.row-edit .meta{margin:10px 0 4px}.copy-link{display:grid;gap:6px;margin:4px 0 10px;font-size:13px}.copy-link-text{color:var(--warn)}.copy-link-row{display:flex;gap:8px}.copy-link-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 9px}.copy-btn.done{color:var(--ok);border-color:var(--ok)}@media(max-width:720px){.row-actions{justify-content:flex-start}.invite-done{flex-direction:column}}.delete-btn{color:var(--muted)}.delete-btn .act-text{display:inline-flex;align-items:center;gap:0}.delete-btn .bin path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.delete-btn .bin-lid{transform-origin:20px 7px;transition:transform .25s ease}.delete-btn:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.delete-btn:hover .bin-lid,.delete-btn.armed .bin-lid{transform:rotate(18deg) translateY(-1px)}.delete-text{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .35s cubic-bezier(.65,0,.25,1),opacity .25s ease,margin .35s ease}.delete-btn.armed{color:#fff;border-color:var(--danger);background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 90%,white),var(--danger));animation:armed-pulse 1.2s ease-in-out infinite}.delete-btn.armed .delete-text{max-width:140px;opacity:1;margin-left:6px}.users-table tr.row-leaving td{animation:row-leave .45s cubic-bezier(.65,0,.35,1) forwards}@keyframes row-leave{0%{opacity:1;transform:none;background:color-mix(in srgb,var(--danger) 18%,transparent)}to{opacity:0;transform:translate(24px);background:color-mix(in srgb,var(--danger) 8%,transparent)}}.dt-stack-lg{display:flex;flex-direction:column;gap:22px}.dt-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 10px}.dt-head .dt-h{margin:0}.dt-head-aside{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dt-h{margin:0 0 10px;font-size:13px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.dt-h-spaced{margin-top:22px}.dt-help{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.5}.dt-box .dt-help:last-child,.dt-stack .dt-help:last-child{margin-bottom:0}.dt-empty{margin:0;padding:12px 0;color:var(--muted);font-size:14px}.dt-muted{color:var(--muted);font-weight:400}.dt-spacer{flex:1 1 auto}.dt-value{font-weight:600}.dt-box{background:var(--panel);border:1px solid var(--line);border-radius:12px}.dt-pad,.dt-stack{padding:16px 18px}.dt-stack{display:flex;flex-direction:column;gap:12px}.dt-rows{padding:4px 18px}.dt-rows>*+*{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.dt-rows-top{padding:0;margin-top:14px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.dt-box-title{font-weight:650;margin:0 0 2px}.dt-box-foot{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;padding:12px 0 8px}.dt-cols{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}.dt-col-half{flex:1 1 380px;min-width:0}.dt-col-narrow{flex:1 1 320px;min-width:0}.dt-col-wide{flex:2 1 540px;min-width:0}.dt-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dt-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;background:var(--panel-2);color:var(--text)}.dt-pill-key{color:var(--muted);font-weight:500}.dt-pill.tone-accent{background:color-mix(in srgb,var(--accent) 16%,var(--panel));color:var(--accent)}.dt-pill.tone-pos{background:color-mix(in srgb,var(--ok) 15%,var(--panel));color:var(--ok)}.dt-pill.tone-neg{background:color-mix(in srgb,var(--danger) 15%,var(--panel));color:var(--danger)}.dt-pill.tone-warn{background:color-mix(in srgb,var(--warn) 15%,var(--panel));color:var(--warn)}.dt-pill.tone-muted{color:var(--muted)}.dt-seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.dt-seg button{flex:1 1 0;font:inherit;font-size:14px;padding:10px 14px;min-height:44px;border:0;border-right:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;transition:background .15s,color .15s}.dt-seg button:last-child{border-right:0}.dt-seg button:hover:not(:disabled):not(.on){background:color-mix(in srgb,var(--accent) 14%,var(--panel-2))}.dt-seg button.on{background:var(--accent-2);color:#fff;font-weight:650;cursor:default}.dt-seg button.on.neg{background:color-mix(in srgb,var(--danger) 70%,var(--panel))}.dt-seg button.on.pos{background:color-mix(in srgb,var(--ok) 55%,var(--panel))}.dt-seg button.on.leave{background:color-mix(in srgb,var(--muted) 45%,var(--panel))}.dt-seg button:disabled:not(.on){color:var(--muted);cursor:not-allowed}.dt-seg button:disabled.on{opacity:.75}.dt-seg-sm button{padding:8px 10px;min-height:40px}input.dt-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:none;margin:0;padding:0;width:42px;height:24px;min-height:0;border-radius:999px;border:0;cursor:pointer;background:color-mix(in srgb,var(--text) 20%,transparent);transition:background .2s}input.dt-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s}input.dt-switch:checked{background:var(--accent-2)}input.dt-switch:checked:after{transform:translate(18px)}input.dt-switch:disabled{opacity:.5;cursor:not-allowed}input.dt-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dt-savebar{position:sticky;top:44px;z-index:20;display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:10px 14px;margin:0 0 4px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 16px #00000024}.dt-savebar.is-dirty{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}.dt-sync{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:650}.dt-sync-dot{width:9px;height:9px;border-radius:50%;background:currentColor}.is-sync .dt-sync{color:var(--ok)}.is-pending .dt-sync{color:var(--warn)}.is-dirty .dt-sync{color:var(--accent)}.is-dirty .dt-sync-dot{box-shadow:0 0 8px var(--accent)}.dt-savebar-note{color:var(--muted);font-size:13px}.dt-short{display:none}.dt-field{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:12px 0;min-height:48px}.dt-field-label{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:2px;cursor:default}.dt-field-name{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dt-field-hint{color:var(--muted);font-size:12px;line-height:1.4}.dt-tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--muted);padding:1px 6px;border:1px solid var(--line);border-radius:5px}.dt-field>input[type=text],.dt-field>input[type=tel],.dt-field>select{flex:0 1 240px;min-width:0;min-height:38px;padding:8px 10px;border-radius:8px}.dt-num{flex:0 1 240px;min-width:0;display:flex;align-items:center;gap:8px}.dt-num input{flex:1 1 auto;min-width:0;width:100%;min-height:38px;padding:8px 10px;border-radius:8px;text-align:right}.dt-num .btn-secondary{flex:none;padding:8px 12px;font-size:13px;min-height:38px}.dt-unit{flex:none;min-width:40px;color:var(--muted);font-size:13px}.dt-rows-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));column-gap:40px}.dt-rows-2>*+*{border-top:0}.dt-rows-2>*{border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.dt-control{display:flex;flex-direction:column;gap:4px}.dt-control>section,.dt-control>.dt-cols{margin-bottom:22px}.dt-now{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:14px 16px;margin-bottom:22px}.dt-now-when{margin-left:auto;color:var(--muted);font-size:13px}.dt-sub{font-weight:600;margin-top:4px}.dt-locked{display:flex;align-items:center;gap:10px;padding:11px 0;color:var(--warn);font-size:13px}.dt-out{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:12px 0}.dt-out-name{flex:1 1 180px;min-width:0}.dt-out-title{font-weight:650}.dt-out-sub{color:var(--muted);font-size:12px}.dt-out .dt-seg{flex:0 1 260px}.dt-tools summary{cursor:pointer;padding:14px 18px;font-weight:650}.dt-tools-body{display:flex;flex-wrap:wrap;gap:10px;padding:0 18px 16px}.dt-tools-body .btn-secondary{min-height:42px;min-width:120px}.dt-settings{display:flex;flex-direction:column;gap:18px}.dt-split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.dt-sidenav{flex:0 0 220px;display:flex;flex-direction:column;gap:4px;position:sticky;top:112px}.dt-sidenav button{width:100%;text-align:left;font:inherit;font-size:15px;color:var(--text);background:transparent;border:0;border-radius:8px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.dt-sidenav button span{color:var(--muted);font-size:12px}.dt-sidenav button:hover:not(.on){background:color-mix(in srgb,var(--accent) 8%,transparent)}.dt-sidenav button.on{background:color-mix(in srgb,var(--accent) 16%,var(--panel));box-shadow:inset 3px 0 0 var(--accent)}.dt-sidenav button.on span{color:color-mix(in srgb,var(--accent) 55%,var(--text))}.dt-sidenav-rule{height:1px;background:var(--line);margin:8px 0}.dt-sidenav-select{display:none}.dt-split-main{flex:999 1 560px;min-width:0;max-width:880px;display:flex;flex-direction:column;gap:22px}.dt-bands{display:flex;height:32px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.dt-bands span{display:block;height:100%;transition:width .3s ease}.dt-bands-scale{position:relative;height:18px;margin:4px 0 14px;color:var(--muted);font-size:12px}.dt-bands-scale span{position:absolute;top:0;transform:translate(-50%)}.dt-bands-scale span:first-child{transform:none}.dt-bands-scale span:last-child{transform:translate(-100%)}.dt-band-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:10px 26px}.dt-band{display:flex;align-items:center;gap:10px}.dt-band-dot{flex:none;width:14px;height:14px;border-radius:4px}.dt-band-name{flex:1 1 auto;white-space:nowrap}.dt-band input[type=number]{width:76px;min-height:38px;padding:8px 10px;border-radius:8px;text-align:right}.dt-band .dt-unit{min-width:14px}.dt-band .tank-color-inline{order:0}.dt-band .tank-color-status{min-width:0}.dt-rule{padding:14px 18px}.dt-rule.is-open{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}.dt-rule-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}.dt-rule-text{flex:1 1 320px;min-width:0;font-size:15px}.dt-rule-edit{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.dt-rule-out{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.dt-rule-out-name{flex:1 1 160px}.dt-rule-out .dt-seg{flex:0 1 320px}.dt-rule-edit-foot{display:flex;justify-content:flex-end}.dt-rule-add{display:flex;align-items:center;gap:12px;padding:12px 18px}.dt-rule-add select{min-width:240px;min-height:40px;border-radius:8px}.dt-add{align-self:flex-start;font:inherit;font-size:14px;padding:10px 16px;border-radius:8px;cursor:pointer;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));background:transparent;color:var(--accent)}.dt-add:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 8%,transparent)}.dt-link{font:inherit;border:0;background:none;padding:0;color:var(--accent);cursor:pointer}.dt-link:hover{text-decoration:underline}.dt-person{display:flex;gap:8px;padding:6px 0}.dt-person input{min-width:0;min-height:38px;padding:8px 10px;border-radius:8px}.dt-person input[type=text]{flex:1 1 55%}.dt-person input[type=tel]{flex:1 1 45%}.dt-person .btn-secondary{flex:none}.dt-box .dt-add{margin-top:10px}.dt-events{padding:14px 18px 4px;margin-bottom:16px}.dt-event{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.dt-box-title+.dt-event{margin-top:8px}.dt-event-name{flex:0 0 120px;font-weight:650}.dt-chips{display:flex;flex-wrap:wrap;gap:6px}.dt-event .dt-chips{flex:1 1 340px}.dt-chip{font:inherit;font-size:13px;padding:6px 12px;min-height:34px;border-radius:999px;cursor:pointer;border:1px solid color-mix(in srgb,var(--muted) 45%,var(--line));background:transparent;color:var(--muted);transition:background .15s,color .15s,border-color .15s}.dt-chip:hover:not(:disabled):not(.on){border-color:var(--accent);color:var(--text)}.dt-chip.on{background:var(--accent-2);border-color:var(--accent-2);color:#fff;font-weight:600}.dt-chip:disabled{cursor:not-allowed;opacity:.7}.dt-event-msgs{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:6px}.dt-event-msgs input{width:100%;min-width:0;min-height:38px;padding:8px 10px;border-radius:8px}.dt-event-msgs .sms-msg+.sms-msg{margin-top:0}.dt-facts{margin:0}.dt-facts>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0}.dt-facts dt{color:var(--muted)}.dt-facts dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.dt-more{margin-top:10px}.dt-more summary{cursor:pointer;padding:12px 18px;font-weight:600}.dt-act{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:12px 0}.dt-act-when{flex:0 0 150px;color:var(--muted);font-size:13px}.dt-act-what{flex:1 1 360px;min-width:0}.dt-act-result{font-size:13px}.dt-act-result.tone-ok{color:var(--ok)}.dt-act-result.tone-muted{color:var(--muted)}.dt-act-result.tone-warn{color:var(--warn)}.dt-stack-lg>section>.dt-add{margin-top:10px}[data-style=frosted] .dt-box,[data-style=frosted] .dt-savebar{background:var(--glass);border-color:var(--glass-line);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}[data-style=frosted] .dt-savebar{background:var(--glass-strong)}@media(max-width:640px){.dt-cols,.dt-split{gap:16px}.dt-sidenav{display:none}.dt-sidenav-select{display:block;width:100%}.dt-sidenav-select select{width:100%;min-height:44px;border-radius:8px;font-size:15px}.dt-savebar{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:40;margin:0;flex-wrap:nowrap;border-radius:0;border-width:1px 0 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.dt-savebar-note,.dt-long{display:none}.dt-short{display:inline}.dt-savebar .btn-primary,.dt-savebar .btn-secondary{min-height:44px}.dt-settings,.dt-stack-lg{padding-bottom:72px}.dt-rows,.dt-pad,.dt-stack{padding-left:14px;padding-right:14px}.dt-field{flex-direction:column;align-items:stretch;gap:6px}.dt-field.is-switch{flex-direction:row;align-items:center}.dt-field-label{flex:1 1 auto}.dt-field>input[type=text],.dt-field>input[type=tel],.dt-field>select,.dt-num{flex:1 1 auto;width:100%}.dt-num input{text-align:left}.dt-out .dt-seg,.dt-rule-out .dt-seg{flex:1 1 100%}.dt-now-when{margin-left:0;width:100%}.dt-event{flex-direction:column;align-items:stretch;gap:10px}.dt-event-name,.dt-event .dt-chips,.dt-event-msgs{flex:1 1 auto}.dt-person{flex-wrap:wrap}.dt-person input[type=text],.dt-act-when{flex:1 1 100%}.dt-rule-add select{min-width:0;flex:1 1 auto}}.dt-box.dt-pad .dt-rows,.dt-box.dt-pad .dt-rows-top{padding-left:0;padding-right:0}.dt-col-half>.dt-help{margin-top:10px}@media(prefers-reduced-motion:reduce){.blob,.auth-rise,.auth-card.shake,.auth-drop,.morph-spinner,.auth-pane,.done-mark *,.auth.is-leaving:after,.auth.is-leaving .auth-rise,.shell.is-arriving .topbar,.shell.is-arriving .page,.greet-ring circle,.greet-initials,.greet-badge,.greet-badge path,.greet-progress span,.shell.is-arriving .profile-btn .avatar,.arrive-toast,.mail-mark *,.broken-link path,.auth-countdown:after,.shimmer,.row-new,.row-detail td>*,.invite-swap,.status-pill.st-invited .status-dot,.act-spinner{animation:none}.auth-morph,.fold,.meter-bars i,.match-mark path,.status-pill,.invite-toggle .plus{transition:none}.morph-btn,.morph-label,.morph-spinner,.morph-check path,.field input,.field label,.auth-error{transition:none}.users-table tr.row-new td,.users-table tr.row-new td:first-child,.delete-btn.armed,.users-table tr.row-leaving td{animation:none}.delete-text,.delete-btn .bin-lid{transition:none}.done-mark *,.mail-mark *,.broken-link path,.greet-ring circle,.greet-badge path{stroke-dashoffset:0}.auth.is-leaving .auth-rise{opacity:0}}
