:root{color-scheme:light;--bg:#f6f7f9;--panel:#ffffff;--line:#dfe3e8;--text:#171b22;--muted:#67707d;--soft:#eef1f5;--blue:#2563eb;--blue-dark:#1d4ed8;--green:#0f8a5f;--red:#c24135;--amber:#9a5b00;--radius:8px}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.auth-shell,.dashboard-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.auth-shell{min-height:100vh;display:grid;place-items:center}.auth-panel{width:min(420px,100%);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:28px;box-shadow:0 18px 48px rgba(15,23,42,.08)}.auth-panel h1,.topbar h1{margin:0;line-height:1.05}.auth-panel p{color:var(--muted);margin:12px 0 22px}.brand-mark{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--radius);color:white;background:var(--blue);margin-bottom:18px}.dashboard-shell{padding:28px 0 48px}.check-row,.control-band,.danger-button,.loading-line,.notice,.primary-button,.primary-link,.run-title,.secondary-button,.success-button,.tab,.tabs,.tool-header,.topbar,.user-pill{display:flex;align-items:center}.topbar{justify-content:space-between;gap:16px;margin-bottom:20px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.user-pill{gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;background:var(--panel);color:var(--muted);font-size:13px}.user-pill a{color:var(--muted);display:grid}.control-band,.status-grid,.tool-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.control-band{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;align-items:end;padding:14px}.status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;margin:14px 0;background:var(--line)}.info-cell{min-width:0;background:var(--panel);padding:12px}.field span,.info-cell span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.info-cell strong{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.field{display:grid;grid-gap:6px;gap:6px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);background:white;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}textarea{resize:vertical}.danger-button,.icon-button,.primary-button,.primary-link,.secondary-button,.success-button,.tab{border:1px solid transparent;border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:background .12s ease,border-color .12s ease,color .12s ease}.danger-button,.primary-button,.primary-link,.secondary-button,.success-button{gap:8px;justify-content:center;min-height:40px;padding:0 14px;font-weight:700}.primary-button,.primary-link{background:var(--blue);color:white}.primary-button:hover,.primary-link:hover{background:var(--blue-dark)}.secondary-button{color:var(--text);background:var(--soft);border-color:var(--line)}.success-button{color:var(--green);background:#ebf8f2;border-color:#bee7d5}.danger-button{color:var(--red);background:#fff0ee;border-color:#f2c7c1}button:disabled{cursor:not-allowed;opacity:.55}.tabs{gap:6px;margin:18px 0 12px}.tab{gap:7px;min-height:38px;background:transparent;color:var(--muted);padding:0 12px}.tab.active{color:var(--blue);background:white;border-color:var(--line)}.tool-panel{padding:16px}.tool-header{justify-content:space-between;gap:12px;margin-bottom:14px}.tool-header h2{margin:0;font-size:16px}.two-column{display:grid;grid-template-columns:190px minmax(0,1fr);grid-gap:12px;gap:12px}.mono-input,.script-input{margin-top:12px;min-height:130px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.script-input{min-height:300px}.script-builder{display:grid;grid-gap:12px;gap:12px}.script-builder-row{display:grid;grid-template-columns:170px minmax(0,1fr) 132px;grid-gap:12px;gap:12px;align-items:end}.script-token-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.script-token-section{min-width:0}.script-token-section h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;color:var(--muted);letter-spacing:0}.script-token-section .token-grid{grid-template-columns:1fr;max-height:240px}.selected-markup{display:grid;grid-gap:4px;gap:4px;margin-top:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fafbfc;padding:10px 12px}.selected-markup span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.selected-markup strong{color:var(--text);font-size:14px}.selected-markup.empty strong{color:var(--muted);font-weight:500}.check-row{width:-moz-fit-content;width:fit-content;gap:8px;margin-top:12px;color:var(--muted);font-size:14px}.check-row input{width:16px;height:16px}.notice{gap:8px;border-radius:var(--radius);padding:10px 12px;margin:12px 0;font-size:14px}.notice.error{color:var(--red);background:#fff0ee;border:1px solid #f2c7c1}.notice.success{color:var(--green);background:#ebf8f2;border:1px solid #bee7d5}.notice.warning{color:var(--amber);background:#fff7e8;border:1px solid #edd8a8}.token-picker{border:1px solid var(--line);border-radius:var(--radius);background:#fafbfc;padding:12px}.token-filters{display:grid;grid-gap:10px;gap:10px}.token-filters.with-category{grid-template-columns:minmax(0,1fr) 190px}.search-field{position:relative}.search-field svg{position:absolute;left:10px;top:50%;color:var(--muted);transform:translateY(-50%)}.search-field input{padding-left:34px}.token-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;max-height:330px;overflow-y:auto;margin-top:12px}.token-option{display:grid;grid-template-columns:minmax(0,1fr) 38px;grid-gap:8px;gap:8px;align-items:start;border:1px solid var(--line);border-radius:var(--radius);background:white;padding:9px}.token-main{min-width:0;border:0;background:transparent;padding:0;color:inherit;text-align:left;cursor:pointer}.token-main code,.token-main small,.token-main span{display:block;overflow:hidden;text-overflow:ellipsis}.token-main span{white-space:nowrap;font-weight:700;font-size:14px}.token-main em{margin-right:6px;font-style:normal}.token-main code{margin-top:3px;color:var(--muted);white-space:nowrap;font-size:11px}.token-main small{display:-webkit-box;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.3;-webkit-line-clamp:2;-webkit-box-orient:vertical}.icon-button{display:grid;place-items:center;width:36px;height:34px;color:var(--blue);background:white;border-color:var(--line)}.run-results{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fafbfc;padding:12px}.run-title{gap:8px;margin-bottom:8px;color:var(--green);font-weight:700;font-size:14px}.run-line{display:grid;grid-template-columns:48px minmax(0,1fr);grid-gap:10px;gap:10px;color:var(--muted);font-size:12px}.ok{color:var(--green)}.bad{color:var(--red)}.info{color:var(--blue)}.empty-state,.loading-line{color:var(--muted)}.loading-line{gap:10px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:760px){.auth-shell,.dashboard-shell{width:min(100% - 20px,1180px)}.tabs,.topbar{align-items:stretch;flex-direction:column}.control-band,.script-builder-row,.script-token-sections,.status-grid,.token-filters.with-category,.token-grid,.two-column{grid-template-columns:1fr}}