html{background:oklch(98.2% .004 145)}body{margin:0}#root{min-height:100vh}a{color:inherit}:root{--bg:oklch(100% 0 0);--app-bg:oklch(98.2% .004 145);--surface:oklch(100% 0 0);--surface-muted:oklch(96.8% .006 145);--ink:oklch(23.8% .032 255);--ink-soft:oklch(42.5% .038 255);--muted:oklch(54.8% .035 255);--border:oklch(90.6% .012 250);--border-strong:oklch(84.2% .018 250);--primary:oklch(64% .148 145);--primary-strong:oklch(55% .15 145);--primary-soft:oklch(94% .045 145);--accent:oklch(63% .14 255);--accent-soft:oklch(94% .035 255);--danger:oklch(62% .19 25);--danger-soft:oklch(95.5% .04 25);--warning:oklch(72% .15 75);--warning-soft:oklch(96% .045 75);--focus:oklch(61% .16 145/.42);--shadow-tight:0 1px 2px oklch(20% .02 255/.08);--radius-panel:8px;--radius-control:6px;--sidebar-width:248px;color:var(--ink);background:var(--app-bg)}*{box-sizing:border-box}body{background:var(--app-bg);min-width:320px;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{background:var(--app-bg);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg);border-right:1px solid var(--border);flex-direction:column;gap:24px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-height:44px;display:flex}.brand-mark{color:oklch(100% 0 0);background:var(--primary);letter-spacing:0;border-radius:8px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.brand-name{color:var(--ink);font-size:17px;font-weight:700}.brand-subtitle{color:var(--muted);margin-top:2px;font-size:12px}.nav-list{gap:6px;display:grid}.nav-link{border-radius:var(--radius-panel);min-height:44px;color:var(--ink-soft);align-items:center;gap:12px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;transition:background-color .16s,color .16s;display:flex}.nav-link:hover{background:var(--surface-muted);color:var(--ink)}.nav-link.active{color:var(--primary-strong);background:var(--primary-soft)}.sidebar-status{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);align-items:flex-start;gap:10px;margin-top:auto;padding:14px;display:flex}.sidebar-status-title{color:var(--ink);font-size:13px;font-weight:700}.sidebar-status-text{color:var(--muted);margin-top:4px;font-size:13px}.workspace{flex:1;min-width:0}.topbar{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(100% 0 0/.96);justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar h1{color:var(--ink);letter-spacing:0;margin:0;font-size:20px;font-weight:750}.topbar-actions{align-items:center;gap:12px;display:flex}.service-control{position:relative}.service-pill,.user-chip{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);min-height:38px;color:var(--ink-soft);white-space:nowrap;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex}.service-button{cursor:pointer;max-width:min(48vw,420px)}.service-button strong{text-overflow:ellipsis;overflow:hidden}.service-pill strong{color:var(--ink);font-weight:700}.service-pill.error{color:var(--danger);background:var(--danger-soft);border-color:oklch(86% .08 25)}.user-chip span{color:oklch(100% 0 0);background:var(--primary);border-radius:999px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid}.api-settings-panel{z-index:20;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);width:min(420px,100vw - 32px);box-shadow:var(--shadow-tight);gap:12px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.api-settings-panel label{gap:8px}.api-settings-actions{justify-content:flex-end;gap:8px;display:flex}.openable-input,.secret-input{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.openable-input .icon-button,.secret-input .icon-button{width:40px;height:40px}.api-settings-error{color:var(--danger);margin:0;font-size:13px;font-weight:650}.content{max-width:1440px;margin:0 auto;padding:24px 28px 40px}.page-stack{gap:18px;display:grid}.hero-panel,.panel,.section-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.hero-panel{justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.hero-copy{max-width:760px}.page-kicker{color:var(--primary-strong);margin:0 0 8px;font-size:13px;font-weight:700}.hero-copy h2,.section-toolbar h2{color:var(--ink);letter-spacing:0;margin:0;font-size:20px;font-weight:760;line-height:1.25}.hero-copy p,.section-toolbar p,.panel-header p,.empty-state p,.step-list p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.6}.hero-copy code,.section-toolbar code{color:var(--ink);font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:.92em}.hero-actions,.section-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-toolbar{padding:18px 20px}.button,.icon-button,.text-button{background:0 0;border:0}.button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);min-height:38px;color:var(--ink);justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:700;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.button:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.button.primary{color:oklch(100% 0 0);border-color:var(--primary-strong);background:var(--primary-strong)}.button.primary:hover:not(:disabled){background:var(--primary);border-color:var(--primary)}.button.primary:disabled{color:var(--muted);border-color:var(--border-strong);background:var(--surface-muted)}.button:disabled{color:var(--muted);background:var(--surface-muted)}.icon-button{border:1px solid var(--border);border-radius:var(--radius-control);width:34px;height:34px;color:var(--ink-soft);background:var(--surface);place-items:center;display:inline-grid}.icon-button:disabled{color:var(--muted);background:var(--surface-muted)}.text-button{color:var(--primary-strong);font-size:14px;font-weight:700}.text-button:disabled{color:var(--muted)}.button:focus-visible,.icon-button:focus-visible,.text-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.segmented-control input:focus-visible+span,.nav-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.dashboard-grid,.code-layout,.scan-layout,.tool-layout,.single-layout,.split-layout{gap:18px;display:grid}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.code-layout,.scan-layout,.tool-layout{grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr)}.split-layout{grid-template-columns:minmax(0,1fr) 380px}.panel{min-width:0;padding:18px}.panel-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.panel-header h3{color:var(--ink);margin:0;font-size:16px;font-weight:760;line-height:1.35}.panel-action{align-items:center;gap:8px;display:flex}.summary-stack{gap:12px;display:grid}.summary-line{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-height:38px;padding-bottom:12px;display:flex}.summary-line:last-child{border-bottom:0;padding-bottom:0}.summary-line span{color:var(--muted);font-size:13px}.summary-line strong{color:var(--ink);font-size:14px}.table-panel{padding:0;overflow:hidden}.table-panel .panel-header{padding:18px 18px 0}.table-wrap{overflow-x:auto}.table-inline-message{padding:0 18px 18px}.account-table{table-layout:fixed;min-width:1080px}.account-col-note{width:12%}.account-col-profile{width:17%}.account-col-id{width:20%}.account-col-short{width:8%}.account-col-time{width:12%}.account-col-action{width:15%}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:13px 14px}th{color:var(--muted);background:var(--surface-muted);font-size:12px;font-weight:750}td{color:var(--ink-soft)}tr:last-child td{border-bottom:0}.selected-row td{background:var(--primary-soft)}.details-panel{align-self:start}.note-editor{border-bottom:1px solid var(--border);gap:12px;margin-bottom:18px;padding-bottom:18px;display:grid}.note-editor-actions{flex-wrap:wrap;gap:8px;display:flex}.row-actions{flex-wrap:wrap;gap:10px;display:flex}.definition-list{gap:10px;margin:0;display:grid}.definition-list div{gap:5px;display:grid}.definition-list dt{color:var(--muted);font-size:12px;font-weight:700}.definition-list dd{min-width:0;margin:0}.mono-text{max-width:100%;color:var(--ink);text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;background:0 0;padding:0;font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:12px;line-height:1.5;display:inline-block;overflow:hidden}.account-note-text{max-width:100%;color:var(--ink);text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;font-size:13px;line-height:1.5;display:inline-block;overflow:hidden}.account-note-empty{color:var(--muted);font-size:13px}.account-label{min-width:0;max-width:100%;color:var(--ink);vertical-align:bottom;align-items:center;gap:8px;display:inline-flex}.account-label strong,.account-label code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-label strong{font-size:13px;font-weight:760}.account-label code{color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:12px}.profile-cell{vertical-align:bottom;align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.profile-cell>span{gap:1px;min-width:0;display:grid}.profile-cell strong,.profile-cell small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-cell strong{color:var(--ink);font-size:13px;font-weight:760}.profile-cell small{color:var(--muted);font-size:12px}.profile-cell.failed{gap:7px}.profile-avatar{border:1px solid var(--border);object-fit:cover;background:var(--surface-muted);border-radius:999px;flex:none;width:32px;height:32px}.profile-avatar.fallback{color:var(--muted);place-items:center;display:inline-grid}.profile-card,.profile-empty{border-radius:var(--radius-panel)}.profile-card{border:1px solid var(--border);background:var(--surface);gap:16px;margin-bottom:18px;padding:14px;display:grid}.profile-card.failed{background:var(--danger-soft);border-color:oklch(86% .08 25)}.profile-card-head{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.profile-card-head .profile-avatar{width:40px;height:40px}.profile-card-head strong,.profile-card-head p{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-card-head strong{color:var(--ink);font-size:15px}.profile-card-head p{color:var(--muted);margin:3px 0 0;font-size:12px}.profile-empty{min-height:64px;color:var(--muted);background:var(--surface-muted);align-items:center;gap:9px;margin-bottom:18px;padding:12px;font-size:14px;font-weight:650;display:flex}.status-tag{min-height:24px;color:var(--ink-soft);background:var(--surface-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 8px;font-size:12px;font-weight:750;display:inline-flex}.status-dot{background:currentColor;border-radius:999px;flex:none;width:8px;height:8px}.status-dot.ok,.status-tag.completed,.status-tag.succeeded{color:var(--primary-strong);background:var(--primary-soft)}.status-dot.warning{color:oklch(52% .13 70);background:var(--warning-soft)}.status-tag.idle{color:var(--ink-soft);background:var(--surface-muted)}.status-dot.danger,.status-tag.failed,.status-tag.canceled{color:var(--danger);background:var(--danger-soft)}.status-tag.waiting,.status-tag.expired{color:oklch(52% .13 70);background:var(--warning-soft)}.status-tag.scanned,.status-tag.authorized,.status-tag.running{color:var(--accent);background:var(--accent-soft)}.form-grid,.inline-form{gap:14px;display:grid}.inline-form{grid-template-columns:minmax(180px,260px) auto;align-items:end}label{color:var(--ink);gap:7px;font-size:13px;font-weight:750;display:grid}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-control);width:100%;color:var(--ink);background:var(--surface);font-size:14px}input,select{min-height:40px;padding:0 11px}textarea{resize:vertical;min-height:160px;padding:10px 11px;font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;line-height:1.55}input::placeholder{color:oklch(48% .035 255)}.code-type-fieldset{border:0;min-width:0;margin:0;padding:0}.code-type-fieldset legend{color:var(--ink);margin-bottom:7px;font-size:13px;font-weight:750}.segmented-control{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.segmented-control.three{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control label{min-width:0;color:inherit;font-size:13px;font-weight:700;display:block}.segmented-control input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;min-height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.segmented-control span{border-radius:calc(var(--radius-control) - 2px);min-height:46px;color:var(--ink-soft);background:0 0;align-content:center;gap:2px;padding:7px 10px;transition:background-color .16s,color .16s,box-shadow .16s;display:grid}.segmented-control strong,.segmented-control small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.segmented-control small{color:var(--muted);font-size:12px;font-weight:650}.segmented-control input:checked+span{color:var(--primary-strong);background:var(--surface);box-shadow:var(--shadow-tight)}.segmented-control input:checked+span small{color:var(--primary-strong)}.qr-stage{gap:14px;display:grid}.qr-box{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-muted);place-items:center;width:min(100%,320px);display:grid}.qr-box img{object-fit:contain;width:86%;height:86%}.scan-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.countdown-pill{min-width:92px;min-height:24px;color:var(--ink-soft);background:var(--surface-muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:750;display:inline-flex}.countdown-pill.ok,.countdown-pill.done{color:var(--primary-strong);background:var(--primary-soft)}.countdown-pill.warning{color:oklch(52% .13 70);background:var(--warning-soft)}.countdown-pill.danger{color:var(--danger);background:var(--danger-soft)}.countdown-track{background:var(--surface-muted);border-radius:999px;width:min(100%,320px);height:6px;overflow:hidden}.countdown-track span{border-radius:inherit;background:var(--primary);height:100%;transition:width .22s,background-color .16s;display:block}.countdown-track.warning span{background:var(--warning)}.countdown-track.danger span{background:var(--danger)}.step-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.step-list li{color:var(--muted);gap:12px;display:flex}.step-list strong{color:var(--ink-soft);font-size:14px}.step-list li.reached strong{color:var(--ink)}.step-dot{border:2px solid var(--border-strong);background:var(--surface);border-radius:999px;flex:none;width:14px;height:14px;margin-top:3px}.step-list li.reached .step-dot{border-color:var(--primary);background:var(--primary)}.step-list li.current .step-dot{box-shadow:0 0 0 4px var(--primary-soft)}.step-list li.failed strong{color:var(--danger)}.step-list li.failed .step-dot{border-color:var(--danger);background:var(--danger)}.code-flow{gap:16px;display:grid}.code-progress{gap:10px;padding-top:2px;display:grid}.code-progress .countdown-track{width:100%}.success-box,.error-state,.empty-state{border-radius:var(--radius-panel)}.success-box{color:var(--primary-strong);background:var(--primary-soft);gap:10px;margin-top:18px;padding:12px;display:flex}.success-box strong{color:var(--ink);margin-bottom:4px;display:block}.scan-note-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:min(100%,420px);margin-top:12px;display:grid}.error-state{color:var(--danger);background:var(--danger-soft);align-items:flex-start;gap:9px;margin-top:14px;padding:12px;font-size:14px;font-weight:650;display:flex}.inline-error{color:var(--danger);margin:0;font-size:13px}.empty-state{min-height:210px;color:var(--muted);background:var(--surface-muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:28px;display:grid}.empty-state svg{color:var(--primary-strong)}.empty-state strong{color:var(--ink);font-size:15px}.skeleton-stack{gap:10px;display:grid}.skeleton-row{border-radius:var(--radius-control);background:linear-gradient(90deg, var(--surface-muted), oklch(94% .01 250), var(--surface-muted));background-size:180% 100%;height:38px;animation:1.2s ease-in-out infinite shimmer}.run-detail{border-top:1px solid var(--border);gap:14px;padding-top:16px;display:grid}.result-stack{gap:14px;display:grid}.json-output{border:1px solid var(--border);border-radius:var(--radius-panel);min-height:260px;max-height:620px;color:var(--ink);background:var(--surface-muted);white-space:pre-wrap;word-break:break-word;margin:0;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;font-size:12px;line-height:1.55;overflow:auto}.copy-note{color:var(--primary-strong);margin:0;font-size:13px;font-weight:750}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}@media (width<=1180px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;height:auto;padding:16px;position:static}.nav-list{padding-bottom:2px;display:flex;overflow-x:auto}.nav-link{flex:none}.sidebar-status{display:none}.split-layout,.code-layout,.scan-layout,.tool-layout,.dashboard-grid{grid-template-columns:1fr}}@media (width<=760px){.topbar,.section-toolbar,.hero-panel{flex-direction:column;align-items:stretch}.topbar{padding:16px;position:static}.topbar-actions,.hero-actions{flex-wrap:wrap}.content{padding:16px}.panel{padding:14px}.table-panel{padding:0}.inline-form,.scan-note-form{grid-template-columns:1fr}th,td{padding:11px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
