:root{--canvas:#f7f8fa;--card:#fff;--ink:#17233f;--muted:#667085;--faint:#98a2b3;--line:#e5e8ef;--blue:#3559e8;--blue-soft:#eef2ff;--green:#12805c;--green-soft:#e8f7f0;--amber:#a26408;--amber-soft:#fff6df;--red:#b42318;--red-soft:#fff0ef;--sidebar:#fbfcfe}*{box-sizing:border-box}body,html{background:var(--canvas)}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-frame{min-height:100vh;display:flex}.sidebar{width:220px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--line);padding:27px 14px 19px;z-index:10}.brand-mark{width:28px;height:28px;display:block;flex:none}.brand{display:flex;align-items:center;gap:10px;font-weight:760;font-size:19px;letter-spacing:-.03em;padding:0 12px;color:#15213b}.side-label{font-size:11px;color:var(--faint);font-weight:700;letter-spacing:.07em;margin:48px 12px 9px}.side-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:7px;color:#506078;font-weight:600}.side-nav a.active{background:var(--blue-soft);color:var(--blue)}.side-nav svg{width:17px}.side-create{display:flex;align-items:center;gap:8px;color:var(--blue);font-weight:700;padding:10px 12px;margin-top:8px}.sidebar-spacer{flex:1 1}.connection-card{display:flex;align-items:center;gap:9px;margin:14px 5px 15px;padding:10px;border-top:1px solid var(--line);color:#657189}.connection-card strong{display:block;font-size:12px;color:#344054}.connection-card small{display:block;font-size:10px;color:#98a2b3}.connection-card>svg{margin-left:auto;color:#98a2b3}.env-dot,.status-dot{width:7px;height:7px;border-radius:50%;background:#27a879;display:inline-block;box-shadow:0 0 0 3px #e1f6ed}.environment-line{display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:#98a2b3;font-size:11px}.environment-line .env-dot{width:5px;height:5px;box-shadow:none;background:#f1ad2e}.main-area{margin-left:220px;min-height:100vh;flex:1 1}.page-wrap{max-width:1280px;margin:0 auto;padding:48px 48px 72px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px}.eyebrow{font-size:12px;color:var(--muted);font-weight:650;margin:0 0 8px}.page-title{font-size:28px;letter-spacing:-.04em;line-height:1.25;margin:0;font-weight:750}.page-subtitle{font-size:13px;color:var(--muted);margin:8px 0 0}.button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;transition:border-color .15s,background .15s,box-shadow .15s}.button:hover{border-color:#bbc5d7;background:#fbfcff}.button:focus-visible,.field:focus-visible,.icon-button:focus-visible,.select:focus-visible{outline:3px solid #bfceff;outline-offset:2px}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 4px #3559e822}.button.primary:hover{background:#2f50d3;border-color:#2f50d3}.button.danger{color:var(--red);border-color:#f0cfcc}.button.small{min-height:32px;padding:0 10px;font-size:12px}.icon-button{background:transparent;border:0;color:#8090a9;width:34px;height:34px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#f0f3f8;color:var(--ink)}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 7px #14213d05}.toolbar{justify-content:space-between;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line)}.toolbar,.toolbar-left{display:flex;align-items:center}.toolbar-left{gap:10px}.searchbox{height:36px;min-width:240px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:0 10px;color:#98a2b3;background:#fff}.searchbox input{border:0;outline:0;min-width:0;width:100%;background:transparent;color:var(--ink)}.select{border:1px solid var(--line);background:#fff;border-radius:7px;color:#475467;height:36px;padding:0 30px 0 10px}.jobs-table{width:100%;border-collapse:collapse}.jobs-table th{text-align:left;padding:11px 18px;color:#98a2b3;font-size:11px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid var(--line)}.jobs-table td{padding:16px 18px;border-bottom:1px solid #edf0f4;vertical-align:middle}.jobs-table tr:last-child td{border-bottom:0}.jobs-table tbody tr:hover{background:#fbfcff}.job-name{font-weight:700;color:#1d2b49}.job-id{display:block;font-size:11px;color:#98a2b3;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;font-size:11px;line-height:1.2;font-weight:700;white-space:nowrap}.status-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.blue{color:var(--blue);background:var(--blue-soft)}.status-pill.green{color:var(--green);background:var(--green-soft)}.status-pill.amber{color:var(--amber);background:var(--amber-soft)}.status-pill.red{color:var(--red);background:var(--red-soft)}.status-pill.gray{color:#667085;background:#f1f3f6}.metric{color:#475467;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-state,.muted{color:var(--muted)}.empty-state{padding:88px 24px;text-align:center}.empty-state strong{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}.empty-state p{margin:0 0 20px}.pagination{display:flex;justify-content:flex-end;gap:8px;padding-top:17px}.notice{padding:12px 14px;border-radius:7px;background:var(--red-soft);color:var(--red);border:1px solid #f3d0cd;font-size:13px}.notice.info{background:var(--blue-soft);border-color:#dbe3ff;color:#2948c5}.new-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.form-section{padding:23px 24px;margin-bottom:16px}.section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:21px}.section-number{width:25px;height:25px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex:none}.section-title{font-size:16px;font-weight:730;margin:0;line-height:1.35}.section-description{font-size:12px;color:var(--muted);margin:3px 0 0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-group{display:flex;flex-direction:column;gap:6px}.field-group.full{grid-column:1/-1}.label{font-size:12px;font-weight:700;color:#344054}.hint{font-size:11px;color:#98a2b3}.field,.textarea{width:100%;border:1px solid #d8dee8;border-radius:6px;background:#fff;color:var(--ink);height:39px;padding:0 11px}.textarea{height:76px;padding-top:9px;resize:vertical}.field::placeholder{color:#b3bbc8}.segment-card{border:1px solid var(--line);border-radius:8px;margin-bottom:12px;background:#fff}.segment-head{display:flex;align-items:center;gap:9px;padding:12px 12px 12px 8px;background:#fafbfc;border-bottom:1px solid var(--line)}.segment-head .field{height:32px;max-width:220px;font-weight:650}.drag{color:#aab3c2;display:flex}.variant-row{display:grid;grid-template-columns:22px 125px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 12px;border-bottom:1px solid #f0f2f5}.variant-row:last-of-type{border-bottom:0}.variant-row .field{height:34px}.variant-id{font-size:12px;color:#667085;font-weight:650}.add-row{padding:11px 12px;color:var(--blue);font-size:12px;font-weight:700;border:0;background:none;display:flex;align-items:center;gap:5px}.remove-btn{color:#aab3c2}.remove-btn:hover{color:var(--red);background:var(--red-soft)}.radio-row{display:flex;gap:9px;align-items:center;padding:10px 0}.radio-row input{accent-color:var(--blue)}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.switch-row{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.switch{width:39px;height:23px;border:0;border-radius:99px;background:#d4d9e2;padding:3px;transition:.2s}.switch span{display:block;width:17px;height:17px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px #0002}.switch.on{background:var(--blue)}.switch.on span{transform:translateX(16px)}.summary{position:sticky;top:25px;padding:20px}.summary-title{font-weight:730;margin:0 0 18px}.summary-box{background:#f7f8fc;border-radius:8px;padding:14px;margin-bottom:18px}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:var(--muted);font-size:12px}.summary-row strong{color:var(--ink);font-size:13px}.summary-total{border-top:1px solid #e1e5ee;margin-top:6px;padding-top:12px}.summary-total strong{font-size:23px;color:var(--blue);letter-spacing:-.04em}.summary .button{width:100%;margin-top:8px}.sticky-note{font-size:11px;color:var(--muted);line-height:1.6;margin:12px 2px 0}.breadcrumb{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin-bottom:22px}.breadcrumb a:hover{color:var(--blue)}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.detail-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.detail-title{font-size:25px;letter-spacing:-.035em;margin:0 0 8px}.detail-meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:25px}.stage-card{padding:17px 18px}.stage-card header{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:650}.stage-count{margin-top:13px;font-size:25px;letter-spacing:-.04em;font-weight:750}.stage-count small{font-size:13px;color:var(--muted);font-weight:500}.stage-bar{height:5px;background:#edf0f4;border-radius:9px;margin-top:13px;overflow:hidden}.stage-bar i{display:block;height:100%;border-radius:9px;background:var(--blue)}.detail-card{padding:0;overflow:hidden;margin-bottom:18px}.detail-card-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.detail-card-head h2{font-size:15px;margin:0}.results-wrap{overflow:auto}.results-table{width:100%;border-collapse:collapse;min-width:760px}.results-table th{text-align:left;padding:10px 17px;color:#98a2b3;font-size:11px;border-bottom:1px solid var(--line)}.results-table td{padding:13px 17px;border-bottom:1px solid #edf0f4;font-size:12px}.variant-chips{display:flex;gap:4px;flex-wrap:wrap}.variant-chip{background:#f2f4f8;border-radius:4px;padding:3px 6px;color:#536077;font-size:11px}.actions-inline{display:flex;align-items:center;gap:4px}.error-line{color:var(--red);font-size:11px;max-width:240px}.loading{padding:55px 20px;color:var(--muted);text-align:center}.skeleton{height:14px;border-radius:4px;background:#edf0f4;animation:pulse 1.4s ease-in-out infinite}.toast{position:fixed;right:24px;bottom:24px;background:#17233f;color:#fff;border-radius:7px;padding:12px 16px;box-shadow:0 7px 25px #18254228;z-index:30;font-size:13px}.modal-backdrop{position:fixed;inset:0;background:#15213b66;display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}.modal{background:#fff;border-radius:10px;max-width:430px;width:100%;padding:24px;box-shadow:0 15px 55px #10182835}.modal h2{margin:0 0 8px;font-size:17px}.modal p{margin:0 0 20px;color:var(--muted);font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.mobile-menu{display:none}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:900px){.page-wrap{padding:35px 25px}.new-layout{grid-template-columns:1fr}.summary{position:static}.sidebar{width:190px}.main-area{margin-left:190px}}@media(max-width:700px){.sidebar{position:static;width:100%;height:auto;padding:15px 16px;border-right:0;border-bottom:1px solid var(--line)}.app-frame,.sidebar{display:block}.main-area{margin-left:0}.brand{padding:0}.connection-card,.side-create,.side-label,.sidebar-spacer{display:none}.side-nav{margin-top:14px}.side-nav a{padding:8px 10px}.environment-line{display:none}.page-wrap{padding:28px 16px 50px}.detail-header,.page-header{display:block}.detail-actions,.page-header .button{margin-top:17px}.toolbar{align-items:stretch;flex-direction:column}.toolbar-left{flex-wrap:wrap}.searchbox{min-width:0;flex:1 1}.jobs-table{min-width:700px}.card.table-card{overflow:auto}.field-grid,.range-grid{grid-template-columns:1fr}.field-group.full{grid-column:auto}.variant-row{grid-template-columns:20px 1fr auto}.variant-row .variant-url{grid-column:2/-1}.stage-grid{grid-template-columns:1fr}.detail-title{font-size:22px}.detail-meta{flex-wrap:wrap}.page-title{font-size:24px}}.native-dialog{border:1px solid #e0e5ee;color:#172642;max-width:calc(100vw - 32px)}.native-dialog::backdrop{background:rgba(20,32,55,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.output-footer{padding:17px 20px;display:flex;justify-content:space-between;gap:18px;align-items:center}.output-footer p{margin:3px 0 0;font-size:12px;overflow-wrap:anywhere}.output-footer>span{font-size:12px}@media (max-width:768px){.output-footer{align-items:flex-start;flex-direction:column}}.modal-open{overflow:hidden}.native-modal{border:0;border-radius:12px;padding:0;max-width:min(760px,calc(100vw - 24px));width:100%;max-height:calc(100dvh - 24px);color:var(--ink);box-shadow:0 18px 70px #17233f33}.native-modal::backdrop{background:#17233f66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.native-modal-content{padding:24px;max-height:calc(100dvh - 24px);overflow:auto}.native-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.native-modal-header h2{font-size:18px;margin:0}.folder-import-modal{max-width:min(760px,calc(100vw - 24px))}.media-file-list{display:grid;gap:6px;max-height:52vh;overflow:auto;margin:12px 0}.media-file-select{display:flex;align-items:center;gap:8px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}.media-file-summary{display:flex;align-items:center;gap:10px;padding:9px;min-width:0;flex:1 1}.media-file-thumb{width:88px;height:56px;object-fit:cover;border-radius:5px;background:#eef1f5;flex:none}.media-file-main{display:grid;gap:2px;min-width:0}.media-file-main small,.media-file-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-file-main small{color:var(--muted);font-size:11px}.google-picker-open{overflow:hidden}.google-picker-open .picker-dialog{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;z-index:50!important;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.google-picker-open .picker-dialog::backdrop{background:#17233f66}.selected-media-row{display:flex;align-items:flex-start;gap:9px;padding:9px;border:1px solid var(--line);border-radius:8px}.selected-media-content{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;flex:1 1}.selected-media-actions{display:flex;gap:5px;flex:none}.drive-file-details{display:block;color:var(--muted);font-size:11px}@media(max-width:700px){.native-modal-content{padding:18px}.media-file-thumb{width:72px;height:48px}.media-file-main small,.media-file-main strong{white-space:normal}.selected-media-row{flex-wrap:wrap}.selected-media-content{flex-basis:100%}.selected-media-actions{margin-left:auto}.google-picker-open .picker-dialog{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)}}.button:disabled,.icon-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;padding:38px;box-shadow:0 12px 40px #17233f0d}.login-card .brand{padding:0;margin-bottom:40px}.login-card h1{font-size:25px;letter-spacing:-.035em;margin:0 0 8px}.login-card p{color:var(--muted);margin:0 0 24px}.login-button{width:100%;min-height:46px}.login-card small{display:block;color:var(--faint);font-size:11px;margin-top:15px}.login-help{display:block;color:var(--blue);font-size:12px;margin-top:28px}.status-dot.offline{background:#94a3b8;box-shadow:none}.button{white-space:nowrap}.segment-head .field{min-width:0;flex:1 1}.segment-head .button,.segment-head .icon-button{flex-shrink:0}.variant-row{grid-template-columns:18px 120px minmax(0,1fr) 38px 38px 30px;grid-template-areas:"grip name source up down remove"}.variant-row>svg{grid-area:grip}.variant-row>input{grid-area:name;min-width:0}.variant-row>.variant-url{grid-area:source;min-width:0;display:grid;gap:5px}.variant-row>button:first-of-type{grid-area:up}.variant-row>button:nth-of-type(2){grid-area:down}.variant-row>.remove-btn{grid-area:remove}.variant-row .button.small{padding:0 5px;min-width:38px}@media (max-width:700px){.form-section{padding:20px 16px}.segment-head{gap:5px}.segment-head .field{width:0}.segment-head .button.small{padding:0 6px}.variant-row{gap:7px;grid-template-columns:14px minmax(0,1fr) 38px 38px 26px;grid-template-areas:"grip name up down remove" ". source source source source"}}.media-file-preview{position:relative;display:grid;place-items:center;width:88px;height:56px;flex:none;border-radius:5px;background:#eef1f5;color:#8a98b0;overflow:hidden}.media-file-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media-file-select:has(input:checked){border-color:#9bb0ff;background:var(--blue-soft)}.media-file-select:focus-within{outline:2px solid #bfceff;outline-offset:1px}.media-file-select input{accent-color:var(--blue);margin-left:8px}.selected-media-content>.media-file-summary{width:100%}.selected-media-row{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px}.drive-file-details{width:100%}.drive-file-details summary{cursor:pointer;margin:3px 0}.drive-file-details[open]{display:grid;gap:8px}.drive-file-details .variant-url{display:grid;gap:6px}.google-picker-open .picker-dialog-bg{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:49!important}.google-picker-open .picker-dialog iframe{max-width:100%;max-height:calc(100dvh - 24px)}.segment-head{flex-wrap:wrap}@media(max-width:700px){.media-file-preview{width:72px;height:48px}.segment-head>.field{min-width:100px}}.drive-picker-control{display:inline-flex}.picker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.selected-folder{display:flex;gap:10px;align-items:center;min-width:0}.selected-folder svg{flex:none;color:var(--blue)}.selected-folder a{overflow-wrap:anywhere;color:var(--blue);font-weight:600}.empty-media{padding:12px;color:var(--muted);font-size:13px;line-height:1.6}.bgm-settings{margin-top:16px}.bgm-settings summary{cursor:pointer;color:var(--muted);font-size:13px}.output-folder-picker{min-width:0}.failure-details>summary{cursor:pointer;font-weight:600}.failure-details>summary:focus-visible,.result-error>summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:3px}.failure-list{margin-top:16px;max-height:24rem;overflow:auto;overflow-wrap:anywhere}.result-error{margin-top:6px}.result-error>summary{cursor:pointer;color:var(--muted);font-size:12px}.result-error p{overflow-wrap:anywhere}.results-details>summary{cursor:pointer;padding:17px 20px}.results-details>summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;border-radius:8px}.results-title{font-size:15px;font-weight:600}.results-counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.results-details[open]>summary{border-bottom:1px solid var(--line)}.job-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.review-card{padding:24px;margin:20px 0}.artifact-preview{display:block;width:100%;max-width:480px;max-height:420px;background:#111827;border-radius:8px;margin:12px 0}.toolbar-left{flex-wrap:wrap}.results-table details{margin-top:8px}.results-table details summary{cursor:pointer;color:var(--blue)}.job-type-card{padding:24px;display:flex;flex-direction:column;gap:14px}.job-type-card strong{font-size:18px}.job-type-card>span:not(.button){color:var(--muted)}.job-type-card .button{align-self:flex-start;margin-top:auto}.review-card audio{max-width:100%}