:root {
  --navy-950:#0a1b34;--navy-900:#102744;--navy-800:#17385e;--blue-700:#195a9b;--blue-100:#e9f2fb;
  --orange-600:#d96819;--orange-100:#fff1e5;--green-700:#19734c;--green-100:#e7f6ee;
  --red-700:#b42318;--red-100:#feeceb;--amber-700:#a15c07;--amber-100:#fff4d6;
  --ink:#152033;--muted:#66758a;--line:#dce3ec;--line-strong:#c9d3df;--surface:#fff;--canvas:#f4f6f9;
  --shadow:0 16px 40px rgba(10,27,52,.08);--radius:14px;
  --font:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;color:var(--ink);background:var(--canvas);font-family:var(--font);font-size:14px;line-height:1.55}
button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}[hidden]{display:none!important}
.page-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.page-main{padding-block:42px 64px}.muted{color:var(--muted)}.muted-small{color:var(--muted);font-size:13px}
.eyebrow{margin:0 0 8px;color:var(--orange-600);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow-light{color:#ffb274}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--navy-950);text-decoration:none;font-size:18px;font-weight:800;letter-spacing:.02em}
.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:9px;color:#fff;background:linear-gradient(145deg,var(--orange-600),#ee873d);box-shadow:0 6px 16px rgba(217,104,25,.25);font-weight:900}
.brand-on-dark{color:#fff}.brand-text{display:grid;line-height:1.1}.brand-text small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.08em}
.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;padding:0 18px;cursor:pointer;text-decoration:none;font-weight:700;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s}
.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(25,90,155,.18);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.65}
.button-primary{color:#fff;background:var(--navy-900);box-shadow:0 8px 18px rgba(16,39,68,.16)}.button-primary:hover:not(:disabled){background:var(--navy-800)}
.button-secondary{color:var(--navy-900);background:#fff;border-color:var(--line-strong)}.button-secondary:hover:not(:disabled){border-color:var(--blue-700)}
.button-ghost{min-height:38px;color:var(--navy-800);background:transparent;border-color:var(--line)}.button-small{min-height:36px;padding-inline:13px;font-size:13px}.button-block{width:100%}
.button-spinner{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}.button.is-busy .button-spinner{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}

.auth-page{min-height:100vh;background:#fff}.auth-shell{display:grid;min-height:100vh;grid-template-columns:minmax(420px,1.08fr) minmax(460px,.92fr)}
.auth-intro{position:relative;display:flex;min-height:100%;flex-direction:column;justify-content:space-between;overflow:hidden;padding:54px clamp(46px,6vw,88px);color:#fff;background:var(--navy-950)}
.auth-intro::before{content:"";position:absolute;right:-120px;bottom:70px;width:440px;height:440px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}
.auth-intro::after{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom right,transparent 5%,#000 80%)}
.auth-intro>*{position:relative;z-index:1}.auth-copy{max-width:650px;margin-block:auto;padding-block:60px}.auth-copy h1{max-width:620px;margin:0 0 22px;font-size:clamp(42px,5vw,68px);line-height:1.12;letter-spacing:-.045em}.auth-copy p:last-child{max-width:560px;margin:0;color:#c7d5e6;font-size:17px}
.auth-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none;color:#d7e1ed;font-size:13px}.auth-points li{display:grid;gap:7px;border-top:1px solid rgba(255,255,255,.17);padding-top:14px}.auth-points span{color:#ffb274;font-size:11px;font-weight:800;letter-spacing:.1em}
.auth-panel{display:grid;place-items:center;padding:48px;background:#fff}.auth-card{width:min(100%,430px)}.auth-card h2{margin:0 0 7px;color:var(--navy-950);font-size:32px;letter-spacing:-.025em}.mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:38px;font-size:18px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:34px 0 28px;padding:4px;border-radius:10px;background:#edf1f5}.auth-tab{min-height:40px;border:0;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer;font-weight:700}.auth-tab.is-active{color:var(--navy-900);background:#fff;box-shadow:0 2px 8px rgba(10,27,52,.09)}
.security-note{margin:18px 0 0;color:var(--muted);font-size:12px;text-align:center}

.field{min-width:0;margin-bottom:20px}.field label{display:block;margin-bottom:7px;color:var(--navy-900);font-size:13px;font-weight:750}
input,select{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:9px;padding:0 13px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#a3adba}input:hover,select:hover{border-color:#a8b6c6}input:focus,select:focus{border-color:var(--blue-700);outline:none;box-shadow:0 0 0 3px rgba(25,90,155,.10)}
.field-hint{margin:6px 0 0;color:var(--muted);font-size:11px}.field-error{min-height:18px;margin:5px 0 -18px;color:var(--red-700);font-size:12px}
.input-prefix,.input-suffix{position:relative}.input-prefix span,.input-suffix span{position:absolute;top:50%;z-index:1;transform:translateY(-50%);color:var(--muted);font-weight:700}.input-prefix span{left:13px}.input-prefix input{padding-left:28px}.input-suffix span{right:13px}.input-suffix input{padding-right:32px}
.notice{margin:0 0 16px;border:1px solid var(--line);border-radius:9px;padding:11px 13px;color:var(--navy-900);background:#f5f8fb;font-size:13px}.notice-success{color:var(--green-700);border-color:#b7e2cb;background:var(--green-100)}.notice-error{color:var(--red-700);border-color:#fac7c4;background:var(--red-100)}.notice-compact{margin:0}

.app-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.header-inner{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:24px}.header-actions{display:flex;align-items:center;gap:14px}.user-email{max-width:280px;overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.page-heading h1,.report-heading h1{margin:0 0 7px;color:var(--navy-950);font-size:34px;line-height:1.2;letter-spacing:-.025em}.page-heading p,.report-heading p{margin-bottom:0}
.api-indicator{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);background:#fff;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:#9aa6b4}.api-indicator[data-state=checking] .status-dot{animation:pulse 1.3s ease infinite}.api-indicator[data-state=online]{color:var(--green-700);border-color:#b7e2cb;background:var(--green-100)}.api-indicator[data-state=online] .status-dot{background:#20a56a}.api-indicator[data-state=offline]{color:var(--amber-700);border-color:#f0d494;background:var(--amber-100)}.api-indicator[data-state=offline] .status-dot{background:#e09a24}@keyframes pulse{50%{opacity:.35}}
.panel{margin-bottom:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 5px 20px rgba(10,27,52,.04)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:22px 26px}.panel-heading>div{display:flex;align-items:center;gap:14px}.panel-heading h2{margin:0 0 2px;color:var(--navy-950);font-size:18px}.panel-heading p{margin:0;color:var(--muted);font-size:12px}.panel-heading-compact{padding-block:18px}.step-number{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:8px;color:var(--orange-600);background:var(--orange-100);font-size:11px;font-weight:850}.file-limit{flex:0 0 auto;color:var(--muted);font-size:12px}
.submit-panel form{padding:26px}.form-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr 1fr;gap:18px}.form-grid .field{margin-bottom:16px}.upload-field{margin-top:2px}.upload-field input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.upload-box{display:flex;min-height:94px;align-items:center;gap:16px;border:1px dashed #afbccb;border-radius:11px;padding:18px;cursor:pointer;background:#fafbfd;transition:border-color .15s,background .15s}.upload-box:hover{border-color:var(--blue-700);background:#f4f8fc}.upload-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:10px;color:var(--blue-700);background:var(--blue-100);font-size:24px}.upload-copy{display:grid;min-width:0;flex:1}.upload-copy strong{overflow:hidden;color:var(--navy-900);text-overflow:ellipsis;white-space:nowrap}.upload-copy small{margin-top:3px;color:var(--muted)}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:24px}.form-footer .notice{flex:1}
.tasks-table-wrap{overflow-x:auto}.tasks-table{width:100%;border-collapse:collapse;table-layout:fixed}.tasks-table th{padding:12px 18px;color:var(--muted);background:#f8fafc;font-size:11px;letter-spacing:.04em;text-align:left;text-transform:uppercase}.tasks-table td{height:58px;border-top:1px solid #edf1f5;padding:11px 18px;vertical-align:middle}.tasks-table th:nth-child(1){width:190px}.tasks-table th:nth-child(2){width:150px}.tasks-table th:nth-child(3){width:170px}.tasks-table th:nth-child(4){width:120px}.asin-cell{color:var(--navy-900);font-weight:800;letter-spacing:.025em}
.status-badge{display:inline-flex;min-height:27px;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:750;white-space:nowrap}.status-pending,.status-loading{color:var(--amber-700);background:var(--amber-100)}.status-running{color:var(--blue-700);background:var(--blue-100)}.status-complete{color:var(--green-700);background:var(--green-100)}.status-failed{color:var(--red-700);background:var(--red-100)}.status-unknown{color:var(--muted);background:#eef1f4}.report-link{color:var(--blue-700);font-weight:750;text-decoration:none}.report-link:hover{text-decoration:underline}.failure-reason{display:-webkit-box;overflow:hidden;color:var(--red-700);font-size:12px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.table-message{padding:30px;color:var(--muted);text-align:center}.mobile-task-list{display:none}
.app-footer{border-top:1px solid var(--line);padding:22px 0;color:var(--muted);background:#fff;font-size:12px}.icp-link{text-decoration:none}.icp-link:hover{text-decoration:underline}.report-page{min-height:100vh}.report-main{padding-top:34px}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:24px}.report-frame-shell{width:100%;border-block:1px solid var(--line);background:#fff}.report-frame-shell iframe{display:block;width:100%;height:calc(100vh - 190px);min-height:660px;border:0;background:#fff}.report-state{display:grid;min-height:430px;place-items:center;align-content:center;border:1px solid var(--line);border-radius:var(--radius);padding:50px;color:var(--muted);background:#fff;text-align:center;box-shadow:var(--shadow)}.report-state h2{margin:16px 0 5px;color:var(--navy-900);font-size:21px}.report-state p{max-width:560px;margin:0}.large-spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--orange-600);border-radius:50%;animation:spin .8s linear infinite}.state-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--blue-700);background:var(--blue-100);font-size:20px;font-weight:900}.report-state-error .state-symbol{color:var(--red-700);background:var(--red-100)}
@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-intro{display:none}.auth-panel{min-height:100vh;padding:36px 24px}.mobile-brand{display:flex}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.page-container{width:min(100% - 28px,1180px)}.page-main{padding-block:28px 44px}.header-inner{min-height:64px}.brand-text small,.user-email{display:none}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.page-heading h1,.report-heading h1{font-size:28px}.api-indicator{align-self:stretch;justify-content:center}.panel-heading{align-items:flex-start;flex-direction:column;gap:15px;padding:18px}.panel-heading>div{align-items:flex-start}.panel-heading .button{width:100%}.submit-panel form{padding:18px}.form-grid{grid-template-columns:1fr;gap:0}.upload-box{align-items:flex-start;flex-wrap:wrap}.upload-box .button{width:100%}.form-footer{align-items:stretch;flex-direction:column}.form-footer .button{width:100%}.tasks-table-wrap{display:none}.mobile-task-list{display:grid}.mobile-task-card{border-top:1px solid var(--line);padding:17px 18px}.mobile-task-card:first-child{border-top:0}.mobile-task-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-task-top strong{color:var(--navy-900);letter-spacing:.03em}.mobile-task-card p{margin:7px 0;color:var(--muted);font-size:12px}.mobile-task-result{margin-top:10px}.report-main{padding-top:24px}.report-heading{align-items:flex-start;flex-direction:column;gap:14px}.report-frame-shell iframe{height:calc(100vh - 220px);min-height:580px}.report-state{min-height:360px;padding:32px 20px}.app-footer{text-align:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
