:root{--ink: #0a0d12;--ink-2: #0c1017;--panel: #131925;--panel-2: #1a2230;--line: #232d3d;--line-soft: #1a2330;--text: #e9eef6;--muted: #8493a6;--muted-2: #5c6b7e;--ok: #46d6a0;--bad: #f0656b;--warn: #e6b84a;--accent: #4fb0e0;--accent-ink: #051820;--accent-soft: rgba(79, 176, 224, .14);--accent-line: rgba(79, 176, 224, .4);--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--display: "Martian Mono", var(--mono);--r: 7px;--r-sm: 5px;--gut: 20px}.app[data-env=DEVELOP]{--accent: #4fb0e0;--accent-ink: #04181f;--accent-soft: rgba(79, 176, 224, .13);--accent-line: rgba(79, 176, 224, .42)}.app[data-env=STAGING]{--accent: #f2922e;--accent-ink: #241303;--accent-soft: rgba(242, 146, 46, .13);--accent-line: rgba(242, 146, 46, .42)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft)}code,.mono{font-family:var(--mono)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;border:2px solid var(--ink)}*::-webkit-scrollbar-track{background:transparent}.app{height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 420px at 78% -8%,var(--accent-soft),transparent 60%),var(--ink)}.topbar{display:flex;align-items:center;gap:28px;padding:0 22px;height:56px;flex:0 0 auto;background:linear-gradient(var(--ink-2),var(--ink-2));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:9px}.brand .mark{align-self:center;width:11px;height:11px;background:var(--accent);transform:rotate(45deg);border-radius:2px;box-shadow:0 0 14px var(--accent-line);transition:background .25s ease}.brand-name{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.01em}.brand-sub{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted)}.topbar-state{margin-left:auto;display:flex;align-items:center;gap:16px}.env-selector{display:flex;align-items:center;gap:12px}.seg{display:inline-flex;padding:3px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm)}.seg-btn{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border:0;border-radius:3px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.seg-btn:hover{color:var(--text)}.seg-btn.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.field{display:flex;align-items:center;gap:7px}.field-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}.token-status{display:flex;align-items:center;gap:9px;padding:5px 11px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--mono);font-size:11.5px}.ts-label{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}.ts-name{color:var(--text);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-env{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-line);border-radius:3px;padding:1px 5px}.ts-empty{color:var(--muted-2);font-style:italic}.token-status.none{border-style:dashed}.token-status.marquee{overflow:hidden}.ts-marquee{overflow:hidden;max-width:340px;-webkit-mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.ts-track{display:flex;width:max-content;animation:ts-scroll linear infinite}.ts-marquee:hover .ts-track{animation-play-state:paused}.ts-chip{display:inline-flex;align-items:center;gap:7px;margin-right:20px;padding:0;border:0;background:transparent;font-family:inherit;font-size:inherit;white-space:nowrap;cursor:pointer}.ts-chip .ts-name{max-width:none;overflow:visible;color:var(--muted);transition:color .15s}.ts-chip:hover .ts-name,.ts-chip.active .ts-name{color:var(--text)}.ts-chip.active .ts-name{font-weight:600}.ts-dot{flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--line);transition:background .15s}.ts-chip.active .ts-dot{background:var(--accent);box-shadow:0 0 8px var(--accent-line)}@keyframes ts-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.ts-track{animation:none}.ts-marquee{overflow-x:auto}}.countdown{font-family:var(--display);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:1px 4px;border-radius:3px}.countdown.ok{color:var(--ok)}.countdown.warn{color:var(--warn)}.countdown.crit{color:var(--bad);background:#f0656b1f;animation:pulse 1.4s ease-in-out infinite}.countdown.expired{color:var(--muted-2);font-size:10px;letter-spacing:.14em}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.user-chip{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.uc-dot{width:7px;height:7px;border-radius:50%;background:var(--muted-2)}.uc-dot[data-on=yes]{background:var(--ok);box-shadow:0 0 8px #46d6a099}.uc-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-warning{padding:9px 22px;background:#e6b84a14;border-bottom:1px solid rgba(230,184,74,.3);color:#f0d79a;font-size:12.5px}.auth-warning code{background:#0000004d;padding:1px 5px;border-radius:3px;font-size:11.5px}.layout{flex:1;display:grid;grid-template-columns:232px minmax(0,1fr) 392px;min-height:0}.sidenav{background:var(--ink-2);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:6px;overflow:auto}.rail-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);padding:4px 8px 8px}.nav-item{display:flex;flex-direction:column;gap:3px;text-align:left;padding:11px 12px;border:1px solid transparent;border-radius:var(--r);background:transparent;color:var(--text);cursor:pointer;position:relative;transition:background .15s,border-color .15s}.nav-item:hover{background:var(--panel)}.nav-item.active{background:var(--panel);border-color:var(--line)}.nav-item.active:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--accent);box-shadow:0 0 10px var(--accent-line)}.nav-title{font-family:var(--mono);font-size:13px;font-weight:500}.nav-item.active .nav-title{color:var(--accent)}.nav-desc{font-size:11px;color:var(--muted);line-height:1.35}.content{padding:26px 30px 60px;overflow:auto;min-width:0}.module{max-width:760px;animation:rise .4s ease both}.module>h2{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:.01em;margin:0 0 6px}.module>p.muted{margin:0 0 4px;max-width:62ch}.module section{margin-top:26px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:10px;animation:rise .45s ease both}.module section:nth-of-type(2){animation-delay:.04s}.module section:nth-of-type(3){animation-delay:.08s}.module section:nth-of-type(4){animation-delay:.12s}.module section:nth-of-type(5){animation-delay:.16s}h3{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}section>p.muted{margin-top:-6px;margin-bottom:14px}.muted{color:var(--muted)}code{background:var(--ink);border:1px solid var(--line-soft);padding:1px 6px;border-radius:4px;font-size:12px;color:#cdd7e4}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}input,select{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font-family:var(--mono);font-size:12.5px;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--muted-2)}input:focus,select:focus,.seg-btn:focus-visible,button:focus-visible{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}button:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}button{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.02em;padding:8px 15px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:filter .15s,background .15s,border-color .15s,opacity .15s}button:hover{filter:brightness(1.08)}button:active{filter:brightness(.96)}button:disabled{opacity:.42;cursor:not-allowed;filter:none}button.ghost{background:transparent;border-color:var(--line);color:var(--muted)}button.ghost:hover{color:var(--text);border-color:var(--accent-line);filter:none}.form{display:flex;flex-direction:column;gap:12px;max-width:460px}.form label{display:flex;flex-direction:column;gap:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.form label .muted{text-transform:none;letter-spacing:0;font-size:11px}.form label.checkbox{flex-direction:row;align-items:center;gap:9px;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--text)}.form label.checkbox input{width:15px;height:15px;accent-color:var(--accent)}.form button[type=submit],.form>button{align-self:flex-start;margin-top:2px}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.list li{background:var(--ink-2);border:1px solid var(--line-soft);border-radius:var(--r);padding:11px 14px;font-size:12.5px}.list li strong{font-family:var(--mono);font-weight:600}.row{display:flex;gap:9px;align-items:center}.row.spread{justify-content:space-between}.banner{padding:12px 15px;border-radius:var(--r);margin:0 0 16px;font-size:12.5px}.banner.error{background:#f0656b1a;border:1px solid rgba(240,101,107,.45);color:#ffb9bc}.banner.success{background:#46d6a017;border:1px solid rgba(70,214,160,.4);color:#a6eccf}.banner.warning{background:#e6b84a17;border:1px solid rgba(230,184,74,.4);color:#f0d79a}.result-card{display:flex;flex-direction:column;gap:10px}.result-card strong{color:var(--text)}.token{display:block;font-family:var(--mono);font-size:11.5px;line-height:1.5;word-break:break-all;max-height:96px;overflow:auto;background:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;color:#b8e6d5}.tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#8493a624;color:var(--text)}.tag.live{background:#46d6a029;color:var(--ok)}.tag.expired{background:#8493a629;color:var(--muted)}.role-warn{color:#e6b84a;font-size:14px;line-height:1;cursor:help}.steps{width:100%;border-collapse:collapse;margin-top:12px;font-family:var(--mono);font-size:12px}.steps td{padding:7px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top}.steps tr:last-child td{border-bottom:0}.steps td:first-child{color:var(--muted-2);width:26px;text-align:right}.steps td:nth-child(2){width:20px;text-align:center}.step-ok td:nth-child(2){color:var(--ok)}.step-fail td:nth-child(2){color:var(--bad)}.step-fail td:nth-child(4){color:#ffb9bc}.create-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.create-bar .field{flex-direction:column;align-items:flex-start;gap:5px}.stepper{margin-top:16px;border-top:1px solid var(--line-soft);padding-top:14px}.reg-autonote{font-size:11px}.linklike{background:none;border:0;padding:0;color:var(--accent);font-family:var(--mono);font-size:11px;cursor:pointer}.linklike:hover{filter:brightness(1.1);text-decoration:underline}.reg-list{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:8px}.reg{background:var(--ink-2);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}.reg:hover{border-color:var(--line)}.reg-head{width:100%;display:grid;grid-template-columns:18px minmax(120px,1.4fr) minmax(120px,1fr) 96px 48px 76px;align-items:center;gap:12px;padding:12px 14px;background:transparent;border:0;border-radius:0;text-align:left;cursor:pointer;color:var(--text);font-family:var(--mono)}.reg-head:hover{background:var(--panel);filter:none}.reg-caret{color:var(--muted-2);font-size:11px}.reg-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reg-phone{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reg-pct{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.reg-ago{color:var(--muted-2);font-size:11px;text-align:right}.reg-type{justify-self:start;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.reg-type.t-fulfilled{color:var(--ok);border-color:#46d6a073;background:#46d6a01a}.reg-type.t-submitted{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.reg-type.t-inprogress{color:var(--warn);border-color:#e6b84a73;background:#e6b84a1a}.reg-detail{padding:4px 14px 14px;border-top:1px solid var(--line-soft)}.reg-idrow{margin:10px 0}.reg-idrow code{font-size:11px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 10px}.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted-2);background:var(--ink)}.chip.on{color:var(--ok);border-color:#46d6a066;background:#46d6a017}.reg-deposit{margin:0 0 12px;font-size:12px}.reg-deposit code{font-size:11px}.reg-pay{display:flex;align-items:center;gap:10px;margin:0 0 12px;max-width:460px}.reg-pay input[type=range]{flex:1;accent-color:var(--accent);min-width:120px}.reg-pay-val{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}.reg-pay-val.partial{color:var(--warn)}.reg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.reg-done{color:var(--ok);font-family:var(--mono);font-size:12px}.chip-pick{display:flex;flex-wrap:wrap;gap:8px}.pick{font-family:var(--mono);font-size:12px;padding:7px 12px;border-radius:999px;background:var(--ink-2);border:1px solid var(--line);color:var(--text)}.pick:hover{border-color:var(--accent-line);filter:none}.pick.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.reg-head.model-head{grid-template-columns:18px minmax(120px,1.4fr) minmax(100px,1fr) 110px}.pick-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.pick-row{display:flex;align-items:center;gap:10px;padding:5px 2px;cursor:pointer;font-family:var(--mono);font-size:12px}.pick-row input{width:15px;height:15px;accent-color:var(--accent)}.pick-meta{margin-left:auto;color:var(--muted-2);font-size:11px;font-variant-numeric:tabular-nums}.agent-row{width:100%;display:flex;align-items:center;gap:12px;padding:9px 12px;text-align:left;background:var(--ink-2);border:1px solid var(--line-soft);border-radius:var(--r);color:var(--text);font-family:var(--mono)}.agent-row:hover{border-color:var(--line);filter:none}.agent-row.on{border-color:var(--accent-line);background:var(--accent-soft)}.ar-name{font-size:13px}.ar-phone{color:var(--muted);font-size:12px}.ar-limit{color:var(--muted-2);font-size:11px;margin-left:auto}.agent-row.on .ar-limit{margin-left:auto}.alloc-row{display:flex;align-items:center;gap:10px;padding:7px 2px;font-family:var(--mono);font-size:12px;flex-wrap:wrap}.status-pill{font-family:var(--mono);font-size:10px;letter-spacing:.06em;padding:2px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted-2);background:var(--ink)}.status-pill.on{color:var(--ok);border-color:#46d6a066;background:#46d6a017}.status-pill.pend{color:var(--warn);border-color:#e6b84a66;background:#e6b84a17}.status-pill.bad{color:var(--bad);border-color:#f0656b66;background:#f0656b17}@media (max-width: 860px){.reg-head{grid-template-columns:16px 1fr auto}.reg-phone,.reg-pct,.reg-ago{display:none}}.activity-log{background:var(--ink-2);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.activity-log-header{display:flex;align-items:center;gap:10px;padding:0 14px;height:42px;flex:0 0 auto;border-bottom:1px solid var(--line)}.alh-title{font-family:var(--display);font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text)}.alh-count{font-family:var(--mono);font-size:10px;color:var(--accent);border:1px solid var(--accent-line);border-radius:999px;padding:1px 8px}.alh-clear{margin-left:auto;background:transparent;border:1px solid var(--line);color:var(--muted);padding:4px 10px;font-size:10.5px}.alh-clear:hover:not(:disabled){color:var(--text);border-color:var(--accent-line);filter:none}.activity-log-body{flex:1;overflow:auto;padding:8px 0;font-family:var(--mono);font-size:11.5px;line-height:1.5}.alh-empty{color:var(--muted-2);font-family:var(--sans);font-size:12px;padding:18px 16px;max-width:30ch}.log-line{display:grid;grid-template-columns:62px 78px 1fr;gap:10px;padding:2px 14px}.log-line:hover{background:#ffffff06}.log-time{color:var(--muted-2);font-variant-numeric:tabular-nums}.log-cat{color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.log-msg{color:#c4cedd;word-break:break-word}.log-debug .log-msg{color:var(--muted)}.log-success .log-msg{color:var(--ok)}.log-warning .log-msg{color:var(--warn)}.log-error .log-msg{color:#ff9da0}.log-error .log-cat,.log-success .log-cat{opacity:1}@media (max-width: 1080px){.layout{grid-template-columns:200px minmax(0,1fr)}.activity-log{display:none}}@media (max-width: 720px){.topbar{flex-wrap:wrap;height:auto;padding:10px 16px;gap:12px}.topbar-state{margin-left:0;flex-wrap:wrap;gap:10px}.layout{grid-template-columns:1fr}.sidenav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.rail-label{display:none}.nav-item{min-width:180px}.content{padding:18px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.sum-card section{margin-top:14px}.sum-card section:first-child{margin-top:4px}.sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 18px;margin-top:8px}.sum-field{display:flex;flex-direction:column;gap:3px}.sum-label{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}.sum-value{font-size:13px;color:var(--text)}.sum-value code{font-family:var(--mono);font-size:11.5px}.raw-json{margin-top:10px;padding:12px;background:var(--ink-2);border:1px solid var(--line-soft);border-radius:var(--r);font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--muted);max-height:360px;overflow:auto;white-space:pre}
