@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn.woff2") format("woff2-variations");font-style:normal;font-weight:100 900;font-display:swap}
:root {
  --ink:#0d1728;--muted:#68758a;--line:#e2e7ee;--surface:#f6f8fb;--white:#fff;
  --primary:#6558e8;--primary-soft:#eeecff;--green:#19a974;--green-soft:#e4f8f0;
  --blue:#2577d6;--blue-soft:#e5f1ff;--amber:#dc8b16;--amber-soft:#fff4dd;
  --sidebar:260px;--shadow:0 12px 35px rgba(15,28,48,.08)
}
*{box-sizing:border-box}html{font-size:17px}body{margin:0;color:var(--ink);background:var(--surface);font-family:"Vazirmatn",Tahoma,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}
.app-shell{min-height:100vh}.app-sidebar{position:fixed;z-index:30;inset:0 0 0 auto;width:var(--sidebar);display:flex;flex-direction:column;padding:28px 18px 20px;color:#dce3ed;background:linear-gradient(180deg,#0c1626,#09111e);border-left:1px solid rgba(255,255,255,.06)}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.sidebar-brand>span:last-child,.provider-state>span:last-child{display:grid;gap:2px}.sidebar-brand strong{color:#fff;font-size:1.04rem}.sidebar-brand small,.provider-state small{color:#7f8da2;font-size:.7rem}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#7769f1,#5144cf);box-shadow:0 10px 24px rgba(101,88,232,.32)}.brand-mark svg{width:24px;fill:#fff}
.sidebar-nav{display:grid;gap:7px}.nav-caption{margin:8px 12px 7px;color:#68778d;font-size:.7rem}.sidebar-link{min-height:48px;display:flex;align-items:center;gap:11px;padding:0 12px;color:#8997aa;border-radius:12px;text-decoration:none;transition:.2s}.sidebar-link:hover{color:#fff;background:rgba(255,255,255,.05)}.sidebar-link.active{color:#fff;background:linear-gradient(90deg,rgba(101,88,232,.23),rgba(101,88,232,.09));box-shadow:inset -3px 0 #7769f1}.sidebar-link[aria-disabled=true]{cursor:default}.sidebar-link small{margin-right:auto;color:#5f6d80;font-size:.62rem}.nav-icon{width:25px;text-align:center;font-size:1.25rem}
.sidebar-foot{margin-top:auto;display:grid;gap:15px;padding:18px 10px 0;border-top:1px solid rgba(255,255,255,.07)}.provider-state{display:flex;align-items:center;gap:10px}.provider-state strong{color:#e8edf4;font-size:.82rem}.state-dot{width:8px;height:8px;display:inline-block;flex:none;border-radius:50%;background:#30d99b;box-shadow:0 0 0 4px rgba(48,217,155,.12)}.version-label{color:#4f5c6e;font-size:.66rem}
.app-main{min-height:100vh;margin-right:var(--sidebar)}.app-topbar{min-height:78px;display:flex;align-items:center;gap:16px;padding:0 clamp(22px,4vw,58px);background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.topbar-title{display:grid;gap:2px}.topbar-title span{color:var(--muted);font-size:.7rem}.topbar-title strong{font-size:.98rem}.topbar-actions{margin-right:auto;display:flex;align-items:center;gap:16px}.system-state{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.74rem}.user-avatar{width:38px;height:38px;display:grid;place-items:center;color:#5144cf;background:var(--primary-soft);border:1px solid #dedaff;border-radius:12px;font-weight:700}.menu-button{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff}.sidebar-scrim{display:none}.app-content{max-width:1500px;margin:auto;padding:clamp(24px,4vw,58px)}
.welcome-panel{position:relative;isolation:isolate;min-height:360px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);overflow:hidden;color:#fff;background:linear-gradient(125deg,#121e32,#0c1728 56%,#16213b);border-radius:26px;box-shadow:0 26px 70px rgba(8,16,30,.14)}.welcome-panel:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.28;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px}.welcome-copy{align-self:center;padding:clamp(35px,5vw,66px)}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:17px;color:#aaa2ff;font-size:.76rem;font-weight:700}.eyebrow>span{width:22px;height:2px;background:#7769f1}.welcome-copy h1{max-width:720px;margin:0 0 17px;font-size:clamp(1.8rem,3.2vw,3.25rem);line-height:1.48;letter-spacing:-.8px}.welcome-copy p{max-width:710px;margin:0;color:#aab5c5;font-size:.92rem;line-height:2}.welcome-actions{display:flex;align-items:center;gap:17px;margin-top:28px}.app-primary-button{display:inline-flex;align-items:center;gap:28px;padding:12px 20px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--primary),#7669ef);box-shadow:0 12px 25px rgba(101,88,232,.28)}.app-primary-button:disabled{opacity:1}.next-step-note{color:#748297;font-size:.69rem}
.app-primary-button,.app-primary-button:hover,.app-primary-button:focus,.app-primary-button:active,.app-primary-button:disabled,.app-primary-button span,.app-primary-button svg{color:#fff!important}.app-primary-button svg{fill:#fff!important}
.welcome-visual{position:relative;min-height:300px}.signal-orbit{position:absolute;border:1px solid rgba(125,111,240,.2);border-radius:50%}.orbit-one{width:310px;height:310px;left:5%;top:25px}.orbit-two{width:220px;height:220px;left:17%;top:70px;border-color:rgba(49,190,147,.15)}.chip-visual{position:absolute;left:50%;top:50%;width:124px;height:124px;display:grid;place-items:center;transform:translate(-50%,-50%) rotate(-5deg);border:1px solid rgba(151,142,255,.6);border-radius:26px;background:linear-gradient(145deg,rgba(101,88,232,.38),rgba(28,38,63,.88));box-shadow:0 28px 55px rgba(0,0,0,.32)}.chip-visual svg{width:64px;fill:#a39aff;filter:drop-shadow(0 0 15px rgba(119,105,241,.5))}.chip-pin{position:absolute;width:18px;height:3px;background:#66748b;border-radius:4px}.pin-one,.pin-two,.pin-three{right:-18px}.pin-four,.pin-five,.pin-six{left:-18px}.pin-one,.pin-four{top:25px}.pin-two,.pin-five{top:59px}.pin-three,.pin-six{top:93px}.saving-pill{position:absolute;left:5%;bottom:38px;display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid rgba(48,217,155,.2);border-radius:12px;background:rgba(10,27,33,.76)}.saving-pill strong{color:#43d7a3}.saving-pill span{color:#8290a2;font-size:.65rem}
.section-block{padding-top:55px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.section-heading span{color:var(--primary);font-size:.7rem;font-weight:700}.section-heading h2{margin:6px 0 0;font-size:clamp(1.25rem,2vw,1.7rem)}.section-heading p{max-width:420px;margin:0;color:var(--muted);font-size:.75rem;line-height:1.9}.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.workflow-card{position:relative;min-height:235px;padding:25px 22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:.2s}.workflow-card:hover{transform:translateY(-4px)}.workflow-number{position:absolute;top:20px;left:20px;color:#d9dfe7;font-weight:700;font-size:.7rem}.workflow-icon{width:47px;height:47px;display:grid;place-items:center;margin-bottom:22px;border-radius:14px;font-size:1.25rem;font-weight:700}.violet{color:var(--primary);background:var(--primary-soft)}.blue{color:var(--blue);background:var(--blue-soft)}.amber{color:var(--amber);background:var(--amber-soft)}.green{color:var(--green);background:var(--green-soft)}.workflow-card h3{margin:0 0 11px;font-size:.95rem}.workflow-card p{margin:0;color:var(--muted);font-size:.74rem;line-height:2}
.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;padding:18px 24px;background:#fff;border:1px solid var(--line);border-radius:17px}.feature-strip>div{display:flex;align-items:center;justify-content:center;gap:11px;min-height:42px;border-left:1px solid var(--line)}.feature-strip>div:last-child{border:0}.feature-strip>div>span:last-child{display:grid;gap:3px}.feature-strip strong{font-size:.76rem}.feature-strip small{color:var(--muted);font-size:.65rem}.feature-symbol{width:30px;height:30px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:9px;font-weight:700}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{margin:0 0 5px;font-size:1.55rem;font-weight:800}.page-heading p{margin:0;color:var(--muted);font-size:.78rem}.page-heading .app-primary-button{color:#fff}
.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.metric-card{display:flex;align-items:center;gap:15px;min-height:108px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.metric-card>span:last-child{display:grid;gap:5px}.metric-card small{color:var(--muted);font-size:.7rem}.metric-card strong{font-size:1.45rem;font-weight:800}.metric-card em{color:var(--muted);font-size:.65rem;font-style:normal;font-weight:500}.metric-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;font-size:1.25rem;font-weight:800}
.workspace-grid{display:grid;grid-template-columns:minmax(310px,.78fr) minmax(0,1.4fr);gap:20px}.workspace-grid.single-panel{grid-template-columns:1fr}.new-analysis-card,.recent-panel{background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow)}.new-analysis-card{min-height:330px;display:flex;align-items:flex-start;flex-direction:column;padding:30px}.upload-mark{width:55px;height:55px;display:grid;place-items:center;margin-bottom:28px;color:var(--primary);background:var(--primary-soft);border-radius:16px;font-size:1.45rem;font-weight:800}.card-kicker{color:var(--primary);font-size:.66rem;font-weight:700}.new-analysis-card h2{margin:7px 0 10px;font-size:1.12rem}.new-analysis-card p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.9}.new-analysis-card .app-primary-button{margin-top:auto;color:#fff}
.recent-panel{min-height:330px;padding:25px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0 0 4px;font-size:1rem}.panel-heading span{color:var(--muted);font-size:.65rem}.panel-heading button{border:0;color:var(--primary);background:transparent;font-size:.68rem}.empty-state{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.empty-state>span{width:48px;height:48px;display:grid;place-items:center;margin-bottom:14px;color:#9ba6b6;background:#f0f3f7;border-radius:14px;font-size:1.25rem}.empty-state strong{font-size:.8rem}.empty-state small{margin-top:6px;color:var(--muted);font-size:.65rem}
.active-job-card{display:grid;grid-template-columns:minmax(200px,.9fr) minmax(260px,1.2fr) auto;align-items:center;gap:25px;margin-bottom:20px;padding:18px 20px;background:#fff;border:1px solid #dcd8ff;border-right:4px solid var(--primary);border-radius:15px;box-shadow:var(--shadow)}.active-job-state{display:flex;align-items:center;gap:12px;min-width:0}.active-job-state>span:last-child{min-width:0;display:grid;gap:3px}.active-job-state small{color:var(--primary);font-size:.62rem}.active-job-state strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right;font-size:.75rem}.active-job-progress{display:grid;gap:7px}.active-job-progress>span{display:flex;justify-content:space-between}.active-job-progress small{color:var(--muted);font-size:.61rem}.active-job-progress strong{font-size:.68rem}.active-job-progress>div{height:6px;overflow:hidden;background:#eceef3;border-radius:8px}.active-job-progress i{display:block;height:100%;background:var(--primary);border-radius:inherit}.active-job-card>.btn{white-space:nowrap}.compact-active-job{margin-top:-4px;margin-bottom:20px}
.recent-analysis-list{display:grid}.recent-analysis-header,.recent-analysis-row{display:grid;grid-template-columns:auto minmax(140px,1fr) minmax(110px,.55fr) minmax(125px,.5fr) auto auto;align-items:center;gap:12px}.recent-analysis-header{padding:0 0 9px;color:var(--muted);border-bottom:1px solid #edf0f4;font-size:.57rem}.recent-analysis-row{min-height:64px;color:var(--ink);border-bottom:1px solid #edf0f4;text-decoration:none}.recent-analysis-row:last-child{border-bottom:0}.recent-analysis-row:hover{color:var(--ink);background:#fafbfc}.analysis-file-icon{padding:7px;color:var(--green);background:var(--green-soft);border-radius:7px;font-size:.54rem;font-weight:800}.analysis-file-info{min-width:0;display:grid;gap:3px}.analysis-file-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right;font-size:.68rem}.analysis-file-info small{color:var(--muted);font-size:.57rem}.analysis-list-progress{display:flex;align-items:center;gap:7px}.analysis-list-progress i{width:70px;height:5px;overflow:hidden;background:#eceef3;border-radius:8px}.analysis-list-progress b{display:block;height:100%;background:var(--primary)}.analysis-list-progress small,.analysis-date{color:var(--muted);font-size:.57rem;white-space:nowrap}.list-status{padding:5px 7px;color:var(--blue);background:var(--blue-soft);border-radius:7px;font-size:.56rem;white-space:nowrap}.list-status[data-status=Completed]{color:var(--green);background:var(--green-soft)}.list-status[data-status=Failed]{color:#c73946;background:#fff0f1}.row-arrow{color:#a4adba}
.compact-heading{margin-bottom:22px}.upload-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:20px}.upload-layout-single{grid-template-columns:1fr}.upload-panel,.input-guide,.progress-panel{background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow)}.upload-panel{padding:28px}.input-guide{align-self:start;padding:25px}.upload-panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.upload-panel-heading>span{width:31px;height:31px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:9px;font-size:.7rem;font-weight:800}.upload-panel-heading h2{margin:0 0 3px;font-size:.92rem}.upload-panel-heading p{margin:0;color:var(--muted);font-size:.65rem}
.drop-zone{min-height:285px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;text-align:center;border:1.5px dashed #cbd3de;border-radius:17px;background:#fafbfc;cursor:pointer;transition:.2s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--primary);background:#f8f7ff}.drop-zone.invalid-file{border-color:#d84d59;background:#fff7f8}.drop-zone input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.drop-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:17px;color:var(--primary);background:var(--primary-soft);border-radius:17px;font-size:1.5rem;font-weight:800}.drop-zone strong{font-size:.85rem}.drop-zone small{margin-top:7px;color:var(--muted);font-size:.68rem}.drop-zone em{margin-top:17px;color:#9aa5b4;font-size:.62rem;font-style:normal}
.selected-file{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.selected-file>span:nth-child(2){min-width:0;display:grid;gap:3px}.selected-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.selected-file small{color:var(--muted);font-size:.62rem}.file-type{padding:7px;color:var(--green);background:var(--green-soft);border-radius:7px;font-size:.58rem;font-weight:800}.selected-file button{margin-right:auto;border:0;color:#8c98a8;background:transparent;font-size:1.2rem}.field-error{display:block;margin-top:9px;color:#c73946;font-size:.68rem}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.app-secondary-button{padding:11px 19px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:11px;font-size:.74rem}.form-actions .app-primary-button{color:#fff}.is-loading{cursor:wait!important}
.column-list{display:grid}.column-list>div{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid #edf0f4}.column-list span{direction:ltr;font-size:.7rem;font-weight:650}.column-list strong{padding:4px 7px;color:var(--primary);background:var(--primary-soft);border-radius:6px;font-size:.56rem}.column-list small{color:var(--muted);font-size:.6rem}.guide-note{display:flex;align-items:flex-start;gap:9px;margin-top:19px;padding:12px;color:#536175;background:#f3f6fa;border-radius:10px}.guide-note>span{width:18px;height:18px;display:grid;place-items:center;flex:none;color:var(--blue);background:var(--blue-soft);border-radius:50%;font-size:.6rem;font-weight:800}.guide-note p{margin:0;font-size:.62rem;line-height:1.8}
.status-file-name{direction:ltr;text-align:right}.status-badge{padding:7px 12px;color:var(--blue);background:var(--blue-soft);border-radius:9px;font-size:.66rem;font-weight:700}.status-badge[data-status=Completed]{color:var(--green);background:var(--green-soft)}.status-badge[data-status=Failed]{color:#c73946;background:#fff0f1}.progress-panel{padding:30px}.progress-summary{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.progress-summary>div{display:grid;gap:4px}.progress-summary span,.progress-summary small{color:var(--muted);font-size:.68rem}.progress-summary strong{font-size:1.7rem}.analysis-progress{height:11px;overflow:hidden;background:#edf0f5;border-radius:20px}.analysis-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8276f5);border-radius:inherit;transition:width .35s}.current-part{display:flex;align-items:center;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:.68rem}.current-part>span:nth-child(2){color:var(--muted)}.current-part strong{direction:ltr;margin-right:3px}.processing-pulse{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px var(--primary-soft)}.status-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.status-metrics article{display:grid;gap:7px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px}.status-metrics small{color:var(--muted);font-size:.64rem}.status-metrics strong{font-size:1.1rem}.status-message,.status-error{margin-top:16px;padding:13px 16px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:11px;font-size:.67rem}.status-error{color:#b52f3b;background:#fff4f5;border-color:#f1cdd1}
.status-complete-actions{display:flex;justify-content:flex-end;margin-top:16px}.status-complete-actions .app-primary-button{color:#fff}
.results-heading{align-items:flex-end}.result-actions{display:flex;gap:9px}.result-actions .app-primary-button{color:#fff}.result-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:18px}.result-summary-grid article{display:grid;gap:8px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}.result-summary-grid small{color:var(--muted);font-size:.62rem}.result-summary-grid strong{font-size:1.12rem}.result-summary-grid em{color:var(--muted);font-size:.58rem;font-style:normal}.summary-success{border-bottom:3px solid var(--green)!important}.summary-warning{border-bottom:3px solid var(--amber)!important}.summary-saving{border-bottom:3px solid var(--primary)!important}
.results-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.result-filters{display:flex;align-items:center;gap:9px;padding:18px;border-bottom:1px solid var(--line)}.search-field{min-width:230px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:10px}.search-field span{color:var(--muted)}.search-field input{width:100%;height:39px;border:0;outline:0;font-size:.67rem}.result-filters select{height:41px;padding:0 10px;color:#4f5d70;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:.65rem;outline:0}.cheaper-filter{height:41px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:10px;white-space:nowrap;font-size:.64rem}.cheaper-filter input{accent-color:var(--primary)}.filter-button{height:41px;padding:0 15px;color:#fff;background:var(--ink);border-radius:10px;font-size:.65rem}.clear-filter{color:#c23b47;font-size:.61rem;white-space:nowrap}.results-count{padding:13px 18px 8px;color:var(--muted);font-size:.62rem}.table-scroll{overflow-x:auto}.results-table{width:100%;min-width:1050px;border-collapse:collapse}.results-table th{padding:12px 14px;color:#778397;background:#f8fafc;border-block:1px solid #edf0f4;text-align:right;font-size:.59rem;font-weight:600;white-space:nowrap}.results-table td{padding:14px;border-bottom:1px solid #edf0f4;vertical-align:middle;font-size:.66rem}.results-table tbody tr:last-child td{border-bottom:0}.results-table tbody tr:hover{background:#fafbfc}.cheaper-row{background:#fbfffd}.cheaper-row td:first-child{box-shadow:inset -3px 0 var(--green)}.part-cell{display:grid;gap:4px;max-width:220px}.part-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right;font-size:.67rem}.part-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.56rem}.validation-pill{display:inline-flex;padding:5px 7px;color:var(--blue);background:var(--blue-soft);border-radius:7px;font-size:.57rem;white-space:nowrap}.validation-pill[data-validation=Confirmed]{color:var(--green);background:var(--green-soft)}.validation-pill[data-validation=NeedsReview]{color:var(--amber);background:var(--amber-soft)}.validation-pill[data-validation=NotFound],.validation-pill[data-validation=SearchFailed]{color:#b83b46;background:#fff0f1}.number-cell{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}.saving-cell{display:grid;gap:3px;direction:ltr;text-align:right}.saving-cell strong{color:var(--green);font-size:.65rem}.saving-cell small{color:var(--muted);font-size:.55rem}.no-saving{color:var(--muted);font-size:.58rem;white-space:nowrap}.row-action{width:29px;height:29px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:8px;text-decoration:none}.table-empty{padding:45px;text-align:center;color:var(--muted)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-top:1px solid var(--line)}.pagination-bar>span{color:var(--muted);font-size:.62rem}.pagination-bar>div{display:flex;gap:7px}.pagination-bar a{padding:7px 12px;color:var(--ink);border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:.62rem}.pagination-bar a.disabled{pointer-events:none;opacity:.45}
@media(max-width:1100px){.workflow-grid{grid-template-columns:repeat(2,1fr)}.welcome-panel{grid-template-columns:1fr 320px}}
@media(max-width:1100px){.workspace-grid{grid-template-columns:1fr}.new-analysis-card{min-height:280px}}
@media(max-width:1180px){.result-summary-grid{grid-template-columns:repeat(3,1fr)}.result-filters{align-items:stretch;flex-wrap:wrap}.search-field{flex:1}.results-heading{align-items:flex-start}}
@media(max-width:940px){.upload-layout{grid-template-columns:1fr}.input-guide{width:100%}}
@media(max-width:940px){.active-job-card{grid-template-columns:1fr auto}.active-job-progress{grid-column:1/-1;grid-row:2}.recent-analysis-row{grid-template-columns:auto minmax(120px,1fr) minmax(125px,.5fr) auto auto}.recent-analysis-header{display:none}.analysis-list-progress{display:none}}
@media(max-width:820px){.app-sidebar{transform:translateX(100%);transition:.25s;box-shadow:-20px 0 50px rgba(0,0,0,.25)}body.sidebar-open .app-sidebar{transform:none}.sidebar-scrim{position:fixed;z-index:25;inset:0;width:100%;border:0;background:rgba(4,9,17,.55)}body.sidebar-open .sidebar-scrim{display:block}.app-main{margin-right:0}.menu-button{display:grid;place-items:center}.welcome-panel{grid-template-columns:1fr}.welcome-visual{display:none}}
@media(max-width:620px){.app-topbar{padding:0 16px}.app-content{padding:18px 14px 35px}.system-state{display:none}.welcome-panel{min-height:auto;border-radius:20px}.welcome-copy{padding:31px 24px}.welcome-copy h1{font-size:1.7rem}.welcome-actions,.section-heading{align-items:flex-start;flex-direction:column}.workflow-grid,.feature-strip,.overview-grid,.result-summary-grid{grid-template-columns:1fr}.feature-strip{padding:10px 18px}.feature-strip>div{justify-content:flex-start;border-left:0;border-bottom:1px solid var(--line);padding:12px 0}.feature-strip>div:last-child{border-bottom:0}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .app-primary-button{width:100%;justify-content:center}.metric-card{min-height:92px}.new-analysis-card,.recent-panel,.upload-panel,.input-guide,.progress-panel{padding:22px}.drop-zone{min-height:235px}.form-actions{display:grid;grid-template-columns:1fr 1fr}.form-actions .btn{justify-content:center}.status-metrics{grid-template-columns:1fr}.progress-summary{align-items:flex-start;flex-direction:column;gap:10px}.active-job-card{grid-template-columns:1fr;padding:16px}.active-job-card>.btn{grid-row:auto}.active-job-progress{grid-column:auto;grid-row:auto}.recent-analysis-row{grid-template-columns:auto minmax(100px,1fr) auto}.analysis-date{display:none}.list-status{display:none}.result-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.result-actions .btn{justify-content:center}.result-filters{display:grid}.search-field{min-width:0}.result-filters select,.cheaper-filter,.filter-button{width:100%}}

.page-navigation-loading {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 14px;
    color: var(--ink);
    background: rgba(248, 250, 252, .82);
    backdrop-filter: blur(4px);
}

.page-navigation-loading[hidden] {
    display: none;
}

.page-navigation-loading strong {
    font-size: .82rem;
}

.page-navigation-spinner {
    width: 38px;
    height: 38px;
    border: 4px solid #ddd9ff;
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: page-navigation-spin .75s linear infinite;
}

@keyframes page-navigation-spin {
    to {
        transform: rotate(360deg);
    }
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}

/* Results table typography */
.results-table th{padding:14px 15px;font-size:.68rem;font-weight:650}
.results-table td{padding:16px 15px;font-size:.75rem}
.part-cell{gap:5px;max-width:290px}
.part-cell strong{font-size:.76rem}
.part-cell small{font-size:.65rem;white-space:normal;line-height:1.65}
.validation-pill{padding:6px 8px;font-size:.66rem}
.number-cell{font-size:.76rem}
.saving-cell{gap:4px}
.saving-cell strong{font-size:.74rem}
.saving-cell small{font-size:.64rem}
.no-saving{font-size:.67rem}
.characteristic-match{display:grid;gap:5px;min-width:118px}.characteristic-match span{display:inline-flex;width:max-content;padding:4px 7px;border-radius:7px;font-size:.62rem;white-space:nowrap}.characteristic-match span[data-state=matched]{color:var(--green);background:var(--green-soft)}.characteristic-match span[data-state=different]{color:#a33d47;background:#fff0f2}.characteristic-match span[data-state=unknown]{color:#6b7280;background:#f0f2f5}
.stock-state{display:inline-flex;padding:4px 7px;border-radius:7px;font-size:.65rem;white-space:nowrap}.stock-state.available{color:var(--green);background:var(--green-soft)}.stock-state.unavailable{color:#a33d47;background:#fff0f2}.stock-state.unknown{color:var(--muted);background:#f0f2f5}
.result-selection,#selectPageRows{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.selection-bar{position:fixed;z-index:20;right:calc(var(--sidebar) + 28px);bottom:24px;left:28px;display:flex;align-items:center;gap:12px;padding:13px 16px;color:#fff;background:#101c30;border:1px solid rgba(255,255,255,.08);border-radius:15px;box-shadow:0 18px 50px rgba(8,16,30,.28)}.selection-bar[hidden]{display:none}.selection-bar>div:first-child{display:flex;align-items:center;gap:8px;margin-left:auto}.selection-bar>div strong{min-width:28px;display:grid;place-items:center;padding:3px 7px;color:#fff;background:var(--primary);border-radius:20px;font-size:.72rem}.selection-bar>div span{font-size:.68rem}.selection-bar form{margin:0}.selection-list-button{color:#fff!important;border:1px solid rgba(255,255,255,.22);font-size:.67rem}.selection-bar .app-primary-button{color:#fff!important;font-size:.67rem}.selected-parts-list{display:grid;gap:8px}.selected-part-row{display:flex;align-items:center;gap:10px;padding:11px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.selected-part-row>div{display:grid;gap:4px;min-width:0;margin-left:auto}.selected-part-row strong{direction:ltr;text-align:right;font-size:.72rem}.selected-part-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);direction:ltr;text-align:right;font-size:.61rem}.selected-part-row button,.clear-selection-button{padding:6px 9px;color:#a33d47;background:#fff0f2;border:0;border-radius:7px;font-size:.62rem}.modal-header>div small{color:var(--muted);font-size:.62rem}
.row-action{width:32px;height:32px;font-size:.78rem}
.table-empty{font-size:.74rem}
.pagination-bar>span,.pagination-bar a{font-size:.69rem}
.row-actions{display:flex;align-items:center;gap:6px}.details-button{border:0}.part-details-drawer{width:min(560px,100vw)!important;background:#f6f8fb;border:0!important}.details-header{padding:22px 24px;background:#fff;border-bottom:1px solid var(--line)}.details-header>div{min-width:0}.details-header small{color:var(--muted);font-size:.66rem}.details-header h2{max-width:430px;margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right;font-size:1.05rem}.details-body{padding:18px}.detail-section{margin-bottom:14px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:15px}.detail-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.detail-section-title h3{margin:0;font-size:.82rem}.detail-section-title>span:not(.validation-pill){color:var(--muted);font-size:.63rem}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-grid>div{display:grid;gap:5px;padding:11px;background:#f8fafc;border-radius:9px}.detail-grid small{color:var(--muted);font-size:.62rem}.detail-grid strong{overflow-wrap:anywhere;direction:ltr;text-align:right;font-size:.7rem}.detail-wide{grid-column:1/-1}.matched-part-card{display:grid;gap:5px;padding:14px;color:#fff;background:linear-gradient(120deg,#17243a,#0d1728);border-radius:11px}.matched-part-card strong{direction:ltr;text-align:right;font-size:.78rem}.matched-part-card span{color:#aeb8c8;font-size:.62rem}.match-score-list{display:grid;gap:11px;margin-top:17px}.match-score-list>div{display:grid;grid-template-columns:80px 1fr 42px;align-items:center;gap:9px}.match-score-list span{color:var(--muted);font-size:.61rem}.match-score-list i{height:6px;overflow:hidden;background:#eceef3;border-radius:10px}.match-score-list b{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8a7ff4);border-radius:inherit}.match-score-list strong{direction:ltr;text-align:left;font-size:.61rem}.candidate-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:17px}.candidate-counts span{display:flex;align-items:center;justify-content:space-between;padding:8px;color:var(--muted);background:#f8fafc;border-radius:8px;font-size:.57rem}.candidate-counts strong{color:var(--ink);font-size:.68rem}.price-comparison{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.price-comparison>div{display:grid;gap:4px;padding:13px;background:#f8fafc;border-radius:10px}.price-comparison>span{color:#a0aaba}.price-comparison small{color:var(--muted);font-size:.61rem}.price-comparison strong{direction:ltr;text-align:right;font-size:.9rem}.price-comparison em{color:var(--muted);font-size:.55rem;font-style:normal}.saving-highlight{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:10px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:10px}.saving-highlight>span{display:grid;gap:4px;padding:12px;background:#fafbfc}.saving-highlight small{color:var(--muted);font-size:.59rem}.saving-highlight strong{direction:ltr;text-align:right;font-size:.7rem}.saving-highlight.positive strong{color:var(--green)}.order-details{margin-top:10px}.search-detail-line{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0f4;font-size:.65rem}.search-detail-line span{color:var(--muted)}.detail-note{margin-top:12px;padding:11px;color:#556275;background:#f5f7fa;border-radius:9px;font-size:.62rem;line-height:1.8}.warning-list{display:grid;gap:7px;margin-top:9px}.warning-list:empty{display:none}.warning-list>div{padding:9px 11px;color:#96600e;background:var(--amber-soft);border-radius:8px;font-size:.6rem}.details-product-link{width:100%;display:flex;justify-content:space-between;color:#fff!important}.details-product-link[hidden]{display:none!important}
@media(max-width:620px){.detail-grid,.saving-highlight{grid-template-columns:1fr}.detail-wide{grid-column:auto}.candidate-counts{grid-template-columns:1fr}.details-header{padding:18px}.details-body{padding:12px}.detail-section{padding:16px}}

.product-category-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:14px;padding:4px;background:#f1f3f7;border-radius:11px}.product-category-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 6px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:.68rem;transition:.18s ease}.product-category-tabs button:hover{color:var(--ink)}.product-category-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 7px rgba(24,35,55,.09)}.product-category-tabs strong{min-width:21px;padding:1px 5px;color:inherit;background:#e9ebf0;border-radius:20px;font-size:.62rem}.product-category-tabs button.active strong{color:var(--primary);background:var(--primary-soft)}.search-product-list{display:grid;gap:10px}.search-product-card{padding:14px;border:1px solid var(--line);border-radius:12px}.search-product-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #edf0f4}.search-product-card header>div{display:grid;gap:3px;min-width:0}.search-product-card header strong{overflow-wrap:anywhere;direction:ltr;text-align:right;font-size:.8rem}.search-product-card header span{color:var(--muted);direction:ltr;text-align:right;font-size:.64rem}.search-product-card header a{flex:none;color:var(--primary);font-size:.67rem;text-decoration:none}.product-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.product-info-grid>div{display:grid;gap:3px;padding:8px;background:#f8fafc;border-radius:8px}.product-info-grid small,.product-prices-title{color:var(--muted);font-size:.62rem}.product-info-grid strong{overflow-wrap:anywhere;direction:ltr;text-align:right;font-size:.69rem}.product-prices-title{display:block;margin:12px 0 6px}.product-price-tiers{display:grid;gap:4px;max-height:180px;overflow:auto}.product-price-tiers>div{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#f8fafc;border-radius:6px;font-size:.64rem}.product-price-tiers span{color:var(--muted)}.product-price-tiers strong{direction:ltr;font-size:.66rem}.product-tier-empty,.product-list-empty{display:block;padding:14px;color:var(--muted);background:#f8fafc;border-radius:9px;text-align:center;font-size:.67rem}

@media(max-width:620px){.product-category-tabs{grid-template-columns:1fr}.product-info-grid{grid-template-columns:1fr}}

.price-analysis-settings{margin-bottom:18px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.analysis-settings-heading h2{margin:0 0 4px;font-size:.88rem}.analysis-settings-heading p{margin:0;color:var(--muted);font-size:.66rem}.analysis-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:stretch;gap:10px;margin-top:15px}.analysis-option{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;background:#f8fafc;border:1px solid transparent;border-radius:11px;cursor:pointer}.analysis-option:has(input:checked){background:var(--primary-soft);border-color:#d9d4ff}.analysis-option input{width:17px;height:17px;flex:none;margin-top:2px;accent-color:var(--primary)}.analysis-option>span{display:grid;gap:3px}.analysis-option strong{font-size:.7rem}.analysis-option small{color:var(--muted);font-size:.59rem;line-height:1.65}.reanalyze-button{align-self:stretch;white-space:nowrap}.reanalyze-button:disabled{opacity:.65;cursor:wait}

@media(max-width:940px){.analysis-settings-form{grid-template-columns:1fr 1fr}.reanalyze-button{grid-column:1/-1;justify-content:center}}
@media(max-width:620px){.analysis-settings-form{grid-template-columns:1fr}.reanalyze-button{grid-column:auto}.price-analysis-settings{padding:17px}}

/* Part catalog */
.parts-table{min-width:980px}.catalog-value{direction:ltr;text-align:right;font-weight:650}.part-state{display:inline-flex;padding:5px 9px;border-radius:8px;font-size:.65rem}.part-state.active{color:var(--green);background:var(--green-soft)}.part-state.inactive{color:#a33d47;background:#fff0f2}.review-state{display:block;margin-top:5px;color:var(--amber);font-size:.58rem}.catalog-alert{margin-bottom:14px;padding:12px 15px;border-radius:11px;font-size:.72rem}.catalog-alert.success{color:#117752;background:var(--green-soft)}.catalog-alert.error{color:#a33d47;background:#fff0f2}.catalog-modal{border:0;border-radius:17px;box-shadow:0 24px 70px rgba(10,20,35,.2)}.catalog-modal .modal-header,.catalog-modal .modal-footer{padding:18px 20px;border-color:var(--line)}.catalog-modal .modal-title{font-size:.92rem}.catalog-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.catalog-form-grid label{display:grid;gap:6px}.catalog-form-grid label>span{color:var(--muted);font-size:.65rem}.catalog-form-grid input:not([type=checkbox]),.catalog-form-grid textarea{width:100%;padding:10px 11px;background:#f8fafc;border:1px solid var(--line);border-radius:9px;outline:0;direction:ltr;text-align:left;font-size:.72rem}.catalog-form-grid input:focus,.catalog-form-grid textarea:focus{border-color:var(--primary)}.catalog-form-grid .wide{grid-column:1/-1}.catalog-active{grid-column:1/-1;display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.catalog-active input{accent-color:var(--primary)}.catalog-save,.catalog-save:hover,.catalog-save:focus{color:#fff!important}.part-edit-button{border:0}.correction-help{margin:0 0 14px;color:var(--muted);font-size:.68rem;line-height:1.8}.correction-options{display:grid;gap:9px}.correction-options label{display:flex;align-items:center;gap:10px;padding:11px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;cursor:pointer}.correction-options input{width:17px;height:17px;accent-color:var(--primary)}.correction-options label:has(input:disabled){opacity:.5;cursor:not-allowed}.correction-options span{display:grid;gap:3px}.correction-options small{color:var(--muted);font-size:.61rem}.correction-options strong{direction:ltr;text-align:right;font-size:.72rem}.correction-error{margin-bottom:10px;padding:10px;color:#a33d47;background:#fff0f2;border-radius:8px;font-size:.65rem}.product-card-actions{display:flex;align-items:flex-end;gap:7px;flex-direction:column}.product-correction-button{padding:6px 9px;color:var(--primary);background:var(--primary-soft);border:0;border-radius:7px;font-size:.61rem;white-space:nowrap}.catalog-toast{position:fixed;z-index:2100;bottom:24px;left:24px;padding:13px 17px;color:#fff;background:#117752;border-radius:11px;box-shadow:var(--shadow);font-size:.7rem}.catalog-toast[hidden]{display:none}
@media(max-width:620px){.catalog-form-grid{grid-template-columns:1fr}.catalog-form-grid .wide,.catalog-active{grid-column:auto}.product-card-actions{align-items:flex-start}.search-product-card header{flex-wrap:wrap}}
@media(max-width:820px){.selection-bar{right:14px;left:14px;bottom:14px;flex-wrap:wrap}.selection-bar>div:first-child{width:100%;margin-left:0}.selection-bar .btn{flex:1}}

.product-search-panel{padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.product-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.product-search-input{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;background:#f8fafc;border:1px solid var(--line);border-radius:11px}.product-search-input span{color:var(--muted);font-size:1.15rem}.product-search-input input{width:100%;direction:ltr;text-align:left;background:transparent;border:0;outline:0;font-size:.78rem}.product-search-button,.product-search-button:hover,.product-search-button:focus,.product-search-button:active,.product-search-button:disabled{min-width:150px;justify-content:center;color:#fff!important}.product-search-button.loading{cursor:wait;opacity:.78}.product-search-spinner{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:product-search-spin .7s linear infinite}.product-search-button.loading .product-search-spinner{display:inline-block}@keyframes product-search-spin{to{transform:rotate(360deg)}}.product-search-error{margin-top:16px;padding:14px 16px;color:#a33d47;background:#fff0f2;border:1px solid #ffd9dd;border-radius:11px;font-size:.7rem}.product-search-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.product-search-summary>div{display:grid;gap:5px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:12px}.product-search-summary small{color:var(--muted);font-size:.62rem}.product-search-summary strong{overflow-wrap:anywhere;direction:ltr;text-align:right;font-size:.78rem}.catalog-result-section{margin-top:18px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.catalog-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.catalog-section-heading h2{margin:0;font-size:.88rem}.catalog-section-heading span{color:var(--muted);font-size:.65rem}.catalog-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-product-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:13px}.catalog-product-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #edf0f4}.catalog-product-card header>div{display:grid;gap:3px;min-width:0}.catalog-product-card header strong{overflow-wrap:anywhere;direction:ltr;text-align:right;font-size:.8rem}.catalog-product-card header small{color:var(--muted);direction:ltr;text-align:right;font-size:.62rem}.catalog-product-card header a{flex:none;color:var(--primary);font-size:.66rem;text-decoration:none}.catalog-product-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:11px}.catalog-product-meta>div{display:grid;gap:3px;padding:9px;background:#f8fafc;border-radius:8px}.catalog-product-meta small{color:var(--muted);font-size:.6rem}.catalog-product-meta strong{overflow-wrap:anywhere;direction:ltr;text-align:right;font-size:.68rem}.catalog-price-title{margin:13px 0 7px;color:var(--muted);font-size:.61rem}.catalog-price-list{display:grid;gap:4px;max-height:230px;overflow:auto}.catalog-price-list>div{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;background:#f8fafc;border-radius:7px;font-size:.64rem}.catalog-price-list span{color:var(--muted)}.catalog-price-list strong{direction:ltr;font-size:.66rem}.catalog-price-empty,.catalog-empty{display:block;padding:16px;color:var(--muted);background:#f8fafc;border-radius:9px;text-align:center;font-size:.67rem}

@media(max-width:940px){.catalog-product-grid{grid-template-columns:1fr}}
@media(max-width:620px){.product-search-form{grid-template-columns:1fr}.product-search-form .btn{justify-content:center}.product-search-summary{grid-template-columns:1fr 1fr}.catalog-product-meta{grid-template-columns:1fr}}
