:root{--c-brand:#0f766e;--c-brand-hover:#115e59;--c-brand-light:#ccfbf1;--c-brand-fg:#fff;--c-accent:#14b8a6;--c-success:#15803d;--c-success-bg:#f0fdf4;--c-success-border:#bbf7d0;--c-success-fg:#166534;--c-warning:#b45309;--c-warning-bg:#fffbeb;--c-warning-border:#fde68a;--c-warning-fg:#92400e;--c-danger:#b91c1c;--c-danger-bg:#fef2f2;--c-danger-border:#fecaca;--c-danger-fg:#991b1b;--c-info-bg:#f0fdfa;--c-info-border:#99f6e4;--c-info-fg:#115e59;--c-bg:#f6f8fa;--c-card:#fff;--c-border:#e5e9ee;--c-border-heavy:#cbd3dc;--c-text:#0f172a;--c-text-muted:#64748b;--c-text-light:#94a3b8;--sb-bg:#0c1b1a;--sb-panel:#0f2422;--sb-text:#8ba3a0;--sb-text-active:#fff;--sb-w:248px;--r-sm:5px;--r-md:9px;--r-lg:13px;--r-xl:18px;--r-full:9999px;--shadow-sm:0 1px 2px #0f172a0f, 0 1px 3px #0f172a0a;--shadow-md:0 4px 16px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 12px 32px #0f172a1f;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Helvetica, Arial, sans-serif;--mono:"SF Mono", "JetBrains Mono", Consolas, monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:40px;--s-8:56px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.2}p{margin:0}a{color:var(--c-brand-hover)}.ds-frame{background:#eef1f4;padding:28px}.app{grid-template-columns:var(--sb-w) 1fr;background:var(--c-bg);border-radius:var(--r-lg);min-height:760px;box-shadow:var(--shadow-md);border:1px solid var(--c-border);display:grid;overflow:hidden}.sb{background:var(--sb-bg);color:var(--sb-text);padding:var(--s-3);flex-direction:column;display:flex}.sb-brand{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-2) var(--s-5);display:flex}.sb-logo{border-radius:var(--r-md);background:linear-gradient(135deg, var(--c-accent), var(--c-brand));color:#fff;place-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:grid;box-shadow:0 2px 8px #14b8a659}.sb-brand b{color:#fff;font-size:15px;font-weight:650}.sb-brand small{color:var(--sb-text);margin-top:1px;font-size:11.5px;display:block}.sb-group{letter-spacing:.09em;text-transform:uppercase;color:#5b746f;padding:var(--s-4) var(--s-2) var(--s-1);font-size:10.5px;font-weight:600}.sb-item{align-items:center;gap:var(--s-3);padding:9px var(--s-3);border-radius:var(--r-md);color:var(--sb-text);text-align:left;cursor:pointer;background:0 0;border:0;width:100%;margin-bottom:1px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:flex}.sb-item:hover{color:#c7d6d3;background:#ffffff0d}.sb-item.active{color:#fff;background:#14b8a629}.sb-item .ico{text-align:center;opacity:.95;width:18px;font-size:15px}.sb-item .badge{color:#99f6e4;border-radius:var(--r-full);background:#14b8a640;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.sb-foot{padding-top:var(--s-3);margin-top:auto}.sb-who{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);display:flex}.sb-avatar{border-radius:var(--r-full);color:#99f6e4;background:#1e3a37;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.sb-who b{color:#dbe7e5;font-size:13px;display:block}.sb-who small{color:#5b746f;font-size:11.5px}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--c-border);align-items:center;gap:var(--s-4);height:62px;padding:0 var(--s-6);background:#fff;flex-shrink:0;display:flex}.topbar h1{font-size:18px}.topbar .crumb{color:var(--c-text-light);font-size:13px}.topbar .sp{flex:1}.body{padding:var(--s-6);overflow-y:auto}.wrap{max-width:900px}.pagehead{margin-bottom:var(--s-5)}.pagehead h2{font-size:22px}.pagehead p{color:var(--c-text-muted);margin-top:4px;font-size:14.5px}.btn{border-radius:var(--r-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:7px;padding:9px 15px;font-family:inherit;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background .12s,box-shadow .12s;display:inline-flex}.btn-primary{background:var(--c-brand);color:#fff;box-shadow:0 1px 2px #0f766e4d}.btn-primary:hover{background:var(--c-brand-hover)}.btn-secondary{color:var(--c-text);border-color:var(--c-border-heavy);background:#fff}.btn-secondary:hover{background:var(--c-bg)}.btn-ghost{color:var(--c-text-muted);background:0 0}.btn-ghost:hover{background:var(--c-bg);color:var(--c-text)}.btn-danger{color:var(--c-danger-fg);border-color:var(--c-danger-border);background:#fff}.btn-danger:hover{background:var(--c-danger-bg)}.btn-sm{padding:6px 11px;font-size:12.5px}.btn-lg{padding:12px 20px;font-size:15px}.btn-block{justify-content:center;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card+.card{margin-top:var(--s-5)}.card-pad{padding:var(--s-5)}.sechead{align-items:flex-start;gap:var(--s-3);padding:var(--s-5);border-bottom:1px solid var(--c-border);display:flex}.sechead .ic{border-radius:var(--r-md);background:var(--c-brand-light);width:38px;height:38px;color:var(--c-brand);flex-shrink:0;place-items:center;font-size:17px;display:grid}.sechead h3{font-size:15.5px}.sechead p{color:var(--c-text-muted);margin-top:2px;font-size:13.5px}.sechead .sp{flex:1}.chip{border-radius:var(--r-full);border:1px solid #0000;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip--pass{background:var(--c-success-bg);color:var(--c-success-fg);border-color:var(--c-success-border)}.chip--action{background:var(--c-warning-bg);color:var(--c-warning-fg);border-color:var(--c-warning-border)}.chip--fail,.chip--live{background:var(--c-danger-bg);color:var(--c-danger-fg);border-color:var(--c-danger-border)}.chip--live:before{animation:1.4s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.chip--neutral{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.badge{border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.03em;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge--done{background:var(--c-success-bg);color:var(--c-success-fg)}.badge--active{background:var(--c-brand);color:#fff}.tag{border-radius:var(--r-sm);color:var(--c-text-muted);background:#f1f5f9;border:1px solid #e6ebf0;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:500;display:inline-flex}.tag.mono{font-family:var(--mono)}.filters{gap:var(--s-2);flex-wrap:wrap;display:flex}.fchip{border:1px solid var(--c-border-heavy);color:var(--c-text-muted);border-radius:var(--r-full);cursor:pointer;background:#fff;align-items:center;gap:6px;padding:6px 13px;font-size:13px;font-weight:600;display:inline-flex}.fchip:hover{background:var(--c-bg)}.fchip.on{background:var(--c-brand-light);color:var(--c-brand);border-color:#0000}.seg{border-radius:var(--r-md);background:#eef1f4;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 16px;font-family:inherit;font-size:13.5px;font-weight:600}.seg button.on{color:var(--c-text);box-shadow:var(--shadow-sm);background:#fff}.field{margin-bottom:var(--s-4)}.field>label{color:var(--c-text);margin-bottom:6px;font-size:12px;font-weight:650;display:block}.field input,.field select,.field textarea{border:1px solid var(--c-border-heavy);border-radius:var(--r-md);width:100%;font:inherit;color:var(--c-text);background:#fff;padding:10px 12px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-brand-light);outline:none}.field .hint{color:var(--c-text-muted);margin-top:6px;font-size:12.5px}.field.mono input{font-family:var(--mono)}.grid2{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.row{align-items:center;gap:var(--s-3);display:flex}.row .sp{flex:1}.toggle{flex-shrink:0;width:42px;height:24px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle .track{border-radius:var(--r-full);background:#cbd3dc;transition:all .15s;position:absolute;inset:0}.toggle .track:before{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:all .15s;position:absolute;top:3px;left:3px}.toggle input:checked+.track{background:var(--c-brand)}.toggle input:checked+.track:before{transform:translate(18px)}.selcard{border:1.5px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-4);cursor:pointer;background:#fff;position:relative}.selcard:hover{border-color:var(--c-border-heavy)}.selcard.on{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-brand-light)}.selcard .radio{border:2px solid var(--c-border-heavy);border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:inline-grid}.selcard.on .radio{border-color:var(--c-brand)}.selcard.on .radio:after{content:"";background:var(--c-brand);border-radius:50%;width:9px;height:9px}.gate{gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--c-border);align-items:flex-start;display:flex}.gate:last-child{border-bottom:0}.gate .mark{border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid}.gate .mark.pass{background:var(--c-success-bg);color:var(--c-success)}.gate .mark.fail{background:var(--c-danger-bg);color:var(--c-danger)}.gate .mark.warn{background:var(--c-warning-bg);color:var(--c-warning)}.gate .grow{flex:1}.gate h4{font-size:14.5px;font-weight:600}.gate .detail{color:var(--c-text-muted);margin-top:3px;font-size:13px}table{border-collapse:collapse;width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-light);padding:10px var(--s-5);border-bottom:1px solid var(--c-border);font-size:11.5px;font-weight:600}tbody td{padding:13px var(--s-5);border-bottom:1px solid var(--c-border);vertical-align:middle;font-size:14px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfc}.pcell{font-weight:600}.pcell small{color:var(--c-text-muted);font-size:12.5px;font-weight:400;font-family:var(--mono);margin-top:2px;display:block}.steps{align-items:center;gap:var(--s-2);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.step{color:var(--c-text-muted);align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.step .dot{color:#94a3b8;background:#e2e8f0;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.step.done .dot{background:var(--c-success);color:#fff}.step.done{color:var(--c-text)}.step .line{background:#e2e8f0;width:22px;height:2px}.alert{border-radius:var(--r-md);align-items:flex-start;gap:10px;padding:12px 15px;font-size:13.5px;display:flex}.alert .ic{flex-shrink:0}.alert--info{background:var(--c-info-bg);border:1px solid var(--c-info-border);color:var(--c-info-fg)}.alert--warn{background:var(--c-warning-bg);border:1px solid var(--c-warning-border);color:var(--c-warning-fg)}.alert--locked{border:1px solid var(--c-border);color:var(--c-text-muted);background:#f8fafc}.muted{color:var(--c-text-muted)}.stack>*+*{margin-top:var(--s-5)}.mono{font-family:var(--mono)}.secret{font-family:var(--mono);letter-spacing:.08em;background:var(--c-bg);border:1px solid var(--c-border-heavy);border-radius:var(--r-md);-webkit-user-select:all;user-select:all;padding:12px 15px;font-size:15px}.body{width:100%;max-width:1180px}.sec-title{align-items:center;gap:var(--s-2);text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted);margin-bottom:var(--s-4);font-size:12px;font-weight:700;display:flex}.sec-title .sp{flex:1}.primary-cell{font-weight:600}.primary-cell .sub{color:var(--c-text-muted);font-size:12.5px;font-weight:400;font-family:var(--mono);margin-top:2px;display:block}.sub{color:var(--c-text-muted);font-size:12.5px}.time-mono{font-family:var(--mono);color:var(--c-text-muted);font-size:13px}.card-pad>.gate{padding-left:0;padding-right:0}.card-pad>.gate:last-child{border-bottom:0}.gate-mark{border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid}.gate-mark.pass{background:var(--c-success-bg);color:var(--c-success)}.gate-mark.fail{background:var(--c-danger-bg);color:var(--c-danger)}.gate-mark.warn{background:var(--c-warning-bg);color:var(--c-warning)}.alert--error{background:var(--c-danger-bg);border:1px solid var(--c-danger-border);color:var(--c-danger-fg)}.signin{background:var(--c-bg);min-height:100vh}.auth{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.auth-brand{color:#fff;padding:var(--s-8) var(--s-7);background:linear-gradient(160deg,#0c1b1a,#0f3330 68%,#115e59);flex-direction:column;display:flex}.auth-brand .brand-row{align-items:center;gap:var(--s-3);display:flex}.auth-brand .brand-row b{font-size:17px}.auth-brand .sb-logo{border-radius:var(--r-md);width:42px;height:42px;font-size:18px}.auth-tagline{margin-top:auto}.auth-tagline h2{color:#fff;letter-spacing:-.02em;max-width:380px;font-size:26px;line-height:1.25}.auth-tagline p{color:#8ba3a0;margin-top:var(--s-3);max-width:400px;font-size:14.5px}.auth-tags{gap:var(--s-2);margin-top:var(--s-6);display:flex}.auth-tags .tag{color:#99f6e4;background:#ffffff14;border-color:#ffffff24}.auth-form{padding:var(--s-8) var(--s-7);background:#fff;flex-direction:column;justify-content:center;display:flex}.auth-form-inner{width:100%;max-width:340px;margin:0 auto}.auth-form-inner h2{font-size:22px}.auth-form-inner .lede{color:var(--c-text-muted);margin:6px 0 var(--s-5);font-size:14px}.auth-foot{color:var(--c-text-muted);text-align:center;margin-top:var(--s-4);font-size:12.5px}@media (width<=760px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-form{padding:var(--s-6) var(--s-5)}}.secret-note{font-family:var(--mono);letter-spacing:.06em;background:var(--c-bg);border:1px solid var(--c-border-heavy);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:15px}.empty{text-align:center;padding:var(--s-8) var(--s-5);color:var(--c-text-muted)}.empty h3{color:var(--c-text);margin-bottom:var(--s-1)}.btn:focus-visible,.sb-item:focus-visible,.fchip:focus-visible{box-shadow:0 0 0 3px var(--c-brand-light);outline:none}
