/* Application-only states. Delivered component geometry lives in style.css. */
[hidden] { display: none !important; }
button:disabled { cursor: not-allowed; }
.zone input[type=file] { display: none; }
.upload-reset-notice { margin:0 0 12px; padding:11px 13px; border:1px solid #ead7b5; border-radius:10px; background:#fff8ec; color:#8a531d; font-size:14px; font-weight:650; }
.filename .remove { margin-left:auto; padding:0 4px; background:transparent; color:var(--muted); line-height:20px; }
.zone:not(.filled) .files { display:none; }
.agent-setting { margin-top:22px; }
.agent-setting label { display:block; font-size:14px; font-weight:700; margin-bottom:8px; }
.agent-setting textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:12px; font:inherit; color:var(--ink); resize:vertical; }
.progress-log { white-space:pre-wrap; overflow-wrap:anywhere; font:13px/1.6 inherit; max-height:240px; overflow:auto; }
.cal-button { position:absolute; right:13px; top:50%; transform:translateY(-50%); width:18px; height:18px; background:transparent; color:var(--muted); padding:0; border-radius:0; }
.cal-button .cal { position:static; transform:none; }
.native-date { position:absolute; width:0; height:0; opacity:0; padding:0!important; border:0!important; }
.field-error { border-color:var(--bad)!important; }
.mapping-status { margin:0 0 14px; font-size:14px; color:var(--muted); }
.history-note { margin:8px 2px; font-size:13px; color:var(--muted); }
.task-code { overflow-wrap:anywhere; font-family:inherit; letter-spacing:0; }
.warning-groups { display:grid; gap:14px; margin-top:14px; }
.warning-group { overflow:hidden; border:1px solid #efd8b5; border-radius:11px; background:#fffaf2; }
.warning-group>header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 13px; border-bottom:1px solid #efd8b5; background:#fff7e9; }
.warning-group>header>div { display:flex; align-items:center; gap:8px; min-width:0; }
.warning-group>header strong { color:#824810; font-size:14px; }
.warning-group-icon { display:grid; place-items:center; flex:0 0 auto; width:17px; height:17px; border-radius:50%; color:#fff; background:var(--warn); font-size:11px; font-weight:900; }
.warning-count { flex:0 0 auto; padding:3px 8px; border:1px solid #edcf9f; border-radius:999px; background:#fff; color:#9a5a16; font-size:11px; font-weight:800; }
.warning-group-note { margin:0; padding:11px 14px 0; color:#9a5a16; font-size:13px; font-weight:550; }
.result-warning-list { margin:0; padding:0; list-style:none; background:#fffaf2; }
.result-warning-list>li { position:relative; color:#9a5a16; font-size:14px; font-weight:650; }
.result-warning-list li+li { border-top:1px solid #f1dfc3; }
.result-warning-summary { padding:12px 14px; }
.result-warning-summary::before { content:'!'; position:absolute; left:13px; top:12px; display:grid; place-items:center; width:15px; height:15px; border-radius:50%; color:#fff; background:var(--warn); font-size:10px; font-weight:900; }
.quantity-group .result-warning-summary::before { display:none; }
.result-warning-detail { padding:14px; background:#fffaf2; }
.detail-list { margin-top:10px; }
.warning-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:13px; }
.warning-detail-head strong { display:block; color:#824810; font-size:16px; }
.warning-detail-head p { margin:3px 0 0; color:#9a5a16; font-size:13px; font-weight:550; }
.warning-detail-head>span { flex:0 0 auto; padding:4px 8px; border:1px solid #edcf9f; border-radius:999px; background:#fff4df; color:#9a5a16; font-size:11px; font-weight:800; }
.result-warning-detail dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; border:1px solid #efd8b5; border-radius:9px; overflow:hidden; background:#fff; }
.warning-field { min-width:0; padding:10px 12px; border-right:1px solid #f1dfc3; border-bottom:1px solid #f1dfc3; }
.warning-field:nth-child(4n) { border-right:0; }
.warning-field:nth-last-child(-n+4) { border-bottom:0; }
.warning-field dt { color:#987354; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.warning-field dd { margin:3px 0 0; overflow-wrap:anywhere; color:#6f3c10; font-family:inherit; font-size:13px; font-weight:700; line-height:1.45; }
@media(max-width:760px){
  .warning-group>header { align-items:flex-start; }
  .warning-detail-head { flex-direction:column; gap:8px; }
  .result-warning-detail dl { grid-template-columns:1fr 1fr; }
  .warning-field,.warning-field:nth-child(4n) { border-right:1px solid #f1dfc3; border-bottom:1px solid #f1dfc3; }
  .warning-field:nth-child(2n) { border-right:0; }
  .warning-field:nth-last-child(-n+2) { border-bottom:0; }
}

/* AI clarification appears only when the matching workflow pauses for user input. */
.ai-clarification {
  margin-top:22px; overflow:hidden; background:#fff; border:1px solid #e2d9ce;
  border-radius:16px; box-shadow:0 18px 48px rgba(65,45,26,.08);
}
.ai-clarification-head { display:flex; gap:14px; padding:22px 24px 20px; background:linear-gradient(135deg,#fbf7f0,#fff 72%); border-bottom:1px solid var(--line); }
.ai-spark { flex:0 0 auto; display:grid; place-items:center; width:36px; height:36px; border-radius:11px; color:#8b5529; background:#f2e4cf; font-size:19px; }
.ai-eyebrow { margin-bottom:3px; color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ai-clarification h2 { margin:0; font-size:20px; letter-spacing:-.01em; }
.ai-clarification-head p { max-width:700px; margin:5px 0 0; color:var(--muted); font-size:14px; }
.ai-question-stack { padding:22px 24px 6px; }
.ai-question-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; color:var(--muted); font-size:13px; }
.ai-question-meta strong { color:var(--ink); font-variant-numeric:tabular-nums; }
.ai-question h3 { margin:0 0 16px; font-size:17px; line-height:1.55; }
.ai-question mark { padding:3px 7px; border-radius:6px; color:#7b471d; background:#fff1d9; font-family:inherit; font-size:15px; font-weight:700; line-height:1.4; }
.ai-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ai-option { position:relative; display:flex; align-items:center; min-width:0; min-height:68px; padding:12px 44px 12px 14px; border:1px solid var(--line); border-radius:11px; background:#fff; cursor:pointer; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.ai-option:hover { border-color:#cab9a5; background:#fdfaf6; }
.ai-option:focus-within { outline:3px solid rgba(145,90,42,.16); outline-offset:2px; }
.ai-option.selected { border-color:#a56b37; background:#fff9f1; box-shadow:inset 0 0 0 1px #a56b37; }
.ai-option input { position:absolute; width:1px; height:1px; opacity:0; }
.ai-option span { min-width:0; }
.ai-option b { display:block; overflow:hidden; text-overflow:ellipsis; color:var(--ink); font-family:inherit; font-size:15px; font-weight:700; line-height:1.4; }
.ai-option small { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.ai-option i { position:absolute; right:15px; width:18px; height:18px; border:1.5px solid #bdb4aa; border-radius:50%; }
.ai-option.selected i { border:5px solid var(--accent); }
.ai-option.muted { grid-column:1/-1; min-height:56px; }
.ai-option.muted b { font-family:inherit; font-weight:650; }
.ai-no-match { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:12px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:#faf8f5; color:var(--muted); font-size:13px; }
.ai-restart { flex:0 0 auto; padding:5px 2px; border-radius:0; background:transparent; color:var(--accent); font-size:13px; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.ai-restart:hover { color:#6f3c10; }
.ai-actions { display:flex; justify-content:flex-end; gap:10px; padding:16px 24px 20px; }
.ai-back,.ai-next { min-width:112px; }
.ai-next:disabled { background:#cfc8c0; color:#fff; box-shadow:none; }
.ai-resume { display:flex; gap:13px; align-items:flex-start; margin-top:22px; padding:20px 22px; border:1px solid #cfe5d7; border-radius:15px; background:var(--okbg); color:var(--ok); }
.ai-resume-icon { display:grid; place-items:center; flex:0 0 auto; width:28px; height:28px; border:1px solid #a9d2b9; border-radius:50%; }
.ai-resume strong { display:block; font-size:17px; }
.ai-resume p { margin:4px 0 0; color:#416e55; font-size:14px; }
@media(max-width:760px){
  .ai-clarification-head,.ai-question-stack { padding-left:18px; padding-right:18px; }
  .ai-options { grid-template-columns:1fr; }
  .ai-option.muted { grid-column:auto; }
  .ai-actions { padding-left:18px; padding-right:18px; }
  .ai-back,.ai-next { min-width:0; flex:1; }
  .ai-no-match { align-items:flex-start; flex-direction:column; gap:5px; }
}
@media(prefers-reduced-motion:reduce){.ai-option{transition:none}}

/* Shared warm-neutral controls, including the expanded brand menu. */
.brand-picker { position:relative; width:min(390px,100%); }
.brand-trigger {
  width:100%; min-height:44px; padding:10px 42px 10px 13px;
  text-align:left; font-size:14px; font-weight:500; line-height:1.5;
  color:var(--ink); background:#fff; border:1px solid #d8d0c6;
  border-radius:10px; box-shadow:0 1px 2px #00000005;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.brand-trigger::placeholder { color:var(--muted); opacity:1; }
.brand-trigger::after {
  content:''; position:absolute; right:17px; top:18px; width:7px; height:7px;
  border-right:1.5px solid var(--muted); border-bottom:1.5px solid var(--muted);
  transform:rotate(45deg); transition:transform .18s ease;
}
.brand-trigger[aria-expanded="true"]::after { transform:translateY(3px) rotate(225deg); }
.brand-trigger.placeholder { color:var(--muted); }
.brand-trigger:hover:not(:disabled) { border-color:#b9afa4; }
.brand-trigger[aria-expanded="true"], .brand-trigger:focus-visible {
  border-color:#cdbb9f; outline:none; box-shadow:0 0 0 3px rgba(233,198,134,.16);
}
.brand-trigger:disabled { opacity:.6; }
.brand-menu {
  position:absolute; top:calc(100% + 7px); left:0; right:0; z-index:30;
  padding:5px; max-height:300px; overflow-y:auto; overscroll-behavior:contain;
  background:#fff; border:1px solid var(--line); border-radius:12px;
  box-shadow:0 10px 28px rgba(65,45,26,.1);
}
.brand-option {
  display:block; position:relative; width:100%; padding:9px 32px 9px 10px;
  text-align:left; font-size:14px; line-height:1.5; font-weight:400;
  color:var(--ink); background:transparent; border-radius:7px;
}
.brand-search { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:7px; font:inherit; font-size:14px; }
.brand-empty { padding:12px 10px; color:var(--muted); font-size:14px; }
.brand-option:hover, .brand-option:focus-visible {
  outline:none; background:#faf6ef;
}
.brand-option[aria-selected="true"] { background:var(--soft); font-weight:600; }
.brand-option[aria-selected="true"]::after {
  content:'✓'; position:absolute; right:11px; color:var(--accent);
}

/* Soft background shimmer stays behind the upload controls. */
.zone {
  position:relative;
  isolation:isolate;
  overflow:clip;
  transition:transform .28s ease, box-shadow .28s ease;
}
.zone::before,
.zone::after {
  content:'';
  position:absolute;
  inset:-35%;
  z-index:-1;
  border-radius:inherit;
  pointer-events:none;
  will-change:transform, opacity;
}
.zone::before {
  opacity:.65;
  background:
    radial-gradient(ellipse 32% 48% at 28% 35%, rgba(213,158,75,.24), transparent 85%),
    radial-gradient(ellipse 38% 32% at 72% 68%, rgba(248,211,139,.30), transparent 85%);
  filter:blur(14px);
  animation:upload-light-drift 7.8s cubic-bezier(.45,0,.55,1) infinite;
}
.zone::after {
  background:
    radial-gradient(ellipse 12% 64% at 38% 45%, rgba(255,255,255,.95), transparent 85%),
    radial-gradient(ellipse 25% 22% at 68% 62%, rgba(255,255,255,.75), transparent 90%);
  filter:blur(10px);
  animation:upload-light-ripple 5.4s cubic-bezier(.37,0,.63,1) infinite;
}
.zone[data-zone="asn"]::before { animation-delay:-3.1s; animation-duration:8.7s; }
.zone[data-zone="asn"]::after { animation-delay:-2.3s; animation-duration:6.1s; }
@keyframes upload-light-drift {
  0%, 100% { transform:translate(-14%, 3%) rotate(-7deg) scale(1.02); opacity:.55; }
  24% { transform:translate(4%, -10%) rotate(5deg) scale(1.12, .94); opacity:.65; }
  53% { transform:translate(17%, 7%) rotate(12deg) scale(.96, 1.12); opacity:.6; }
  77% { transform:translate(-3%, 12%) rotate(-2deg) scale(1.08, 1.02); opacity:.5; }
}
@keyframes upload-light-ripple {
  0%, 100% { transform:translate(-21%, 7%) rotate(-20deg) scale(.9, 1.05); opacity:.35; }
  32% { transform:translate(3%, -11%) rotate(-5deg) scale(1.18, .88); opacity:.7; }
  62% { transform:translate(23%, 3%) rotate(14deg) scale(.95, 1.15); opacity:.45; }
  84% { transform:translate(1%, 12%) rotate(-8deg) scale(1.12, .96); opacity:.6; }
}

/* A separate masked layer keeps the moving gold confined to the fine edge. */
@property --upload-gold-angle {
  syntax:'<angle>';
  inherits:false;
  initial-value:0deg;
}
.zone { border-color:rgba(233,198,134,.35); }
.zone-gold-edge {
  position:absolute;
  inset:0;
  z-index:1;
  padding:1.5px;
  border-radius:inherit;
  pointer-events:none;
  background:conic-gradient(from var(--upload-gold-angle),
    transparent 0deg 35deg,
    rgba(248,228,187,.3) 65deg,
    rgba(248,211,139,.85) 92deg,
    rgba(255,252,240,.98) 108deg,
    rgba(248,228,187,.5) 125deg,
    transparent 155deg 215deg,
    rgba(248,228,187,.25) 250deg,
    rgba(248,211,139,.65) 278deg,
    rgba(255,252,240,.95) 291deg,
    transparent 325deg 360deg);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:upload-gold-orbit 7.4s linear infinite, upload-gold-breathe 4.9s ease-in-out infinite;
}
.zone[data-zone="asn"] .zone-gold-edge {
  animation-duration:9.1s, 5.7s;
  animation-delay:-3.6s, -2.1s;
}
@keyframes upload-gold-orbit {
  to { --upload-gold-angle:360deg; }
}
@keyframes upload-gold-breathe {
  0%, 100% { opacity:.55; }
  45% { opacity:1; }
  75% { opacity:.7; }
}
/* Hover adds movement and a wider highlight, keeping the same pale palette. */
@media (hover:hover) and (pointer:fine) {
  .zone:hover {
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(248,211,139,.18), 0 0 0 2px rgba(248,228,187,.24);
  }
  .zone:hover::before { animation-duration:4.2s; filter:blur(10px); }
  .zone:hover::after { animation-duration:2.8s; filter:blur(6px); }
  .zone:hover .zone-gold-edge {
    padding:2.5px;
    animation-duration:2.6s, 2.3s;
    animation-name:upload-gold-orbit, upload-gold-hover-breathe;
  }
}

/* Enterprise operations style inspired by the supplied transaction console. */
.zones { gap:14px; }
.zone {
  min-height:154px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  grid-template-rows:auto auto auto 1fr;
  column-gap:14px;
  align-items:center;
  justify-content:stretch;
  padding:20px;
  border:1px solid #ddd9d5;
  border-radius:12px;
  background:#fff;
  text-align:left;
  box-shadow:0 1px 3px rgba(36,29,24,.05);
}
.upload-icon {
  grid-column:1;
  grid-row:1/4;
  width:42px;
  height:42px;
  margin:0;
  border-radius:9px;
  background:#f5eae5;
  color:#8f3b24;
}
.upload-icon svg { width:21px; height:21px; stroke-width:1.9; }
.zone-title {
  grid-column:2;
  grid-row:1;
  font-size:15px;
  line-height:1.35;
  font-weight:760;
  color:#2c2927;
}
.zone-action {
  grid-column:2;
  grid-row:2;
  margin-top:2px;
  color:#5f5955;
  font-size:13px;
  line-height:1.4;
  font-weight:500;
}
.zone-sub {
  grid-column:2;
  grid-row:3;
  margin:3px 0 0;
  color:#99918c;
  font-size:12px;
  line-height:1.35;
}
.zone .pick {
  grid-column:3;
  grid-row:1/4;
  min-width:100px;
  margin:0;
  padding:9px 14px;
  align-self:center;
  border:1px solid #8f3b24;
  border-radius:9px;
  background:#8f3b24;
  color:#fff;
  font-size:13px;
  font-weight:700;
}
.zone .pick:hover { border-color:#74301e; background:#74301e; }
.zone .files {
  grid-column:1/-1;
  grid-row:4;
  width:100%;
  margin-top:14px;
  border-top:1px solid #ece9e6;
}
.zone.over { border-color:#8f3b24; background:#fbf6f3; box-shadow:0 0 0 3px rgba(143,59,36,.10); }
.zone.filled {
  display:grid;
  align-items:center;
  justify-content:stretch;
  padding:20px;
  border-color:#c9b4aa;
  background:#fff;
  text-align:left;
  cursor:default;
}
.zone.filled .upload-icon { width:42px; height:42px; margin:0; border-radius:9px; }
.zone.filled .zone-action { display:block; }
.zone.filled .zone-sub { margin:3px 0 0; }
.zone.filled .pick { margin:0; align-self:center; }
@media (hover:hover) and (pointer:fine) {
  .zone:hover { transform:none; border-color:#aa7564; background:#fff; box-shadow:0 3px 10px rgba(51,38,31,.08); }
  .zone.filled:hover { border-color:#c9b4aa; box-shadow:0 1px 3px rgba(36,29,24,.05); }
}
@media(max-width:620px) {
  .zone { grid-template-columns:42px minmax(0,1fr); }
  .zone .pick { grid-column:1/-1; grid-row:4; width:100%; margin-top:16px; }
  .zone .files { grid-row:5; }
}

/* v27 final-state palette: copper and warm neutrals only, with no green. */
.zone.filled {
  display:grid;
  align-items:center;
  justify-content:stretch;
  padding:20px;
  border:1px solid #d5bfb4;
  background:#fdf9f6;
  box-shadow:inset 3px 0 0 #ad684b,0 2px 7px rgba(39,32,28,.05);
}
.zone.filled .zone-action { display:none!important; }
.zone.filled .zone-status {
  display:inline-flex!important;
  grid-column:2;
  grid-row:2;
  justify-self:start;
  margin-top:4px;
  padding:3px 8px;
  border:1px solid #e4d0c6;
  border-radius:999px;
  background:#f5e9e3;
  color:#89503a;
  font-size:11px;
  font-weight:750;
}
.zone.filled .upload-icon { border-color:#e3cfc5; background:#f5e8e1; color:#a15f45; }
.zone.filled .upload-icon svg { display:none; }
.zone.filled .upload-icon::before { content:'✓'; color:#a15f45; font-size:20px; font-weight:900; line-height:1; }
.zone.filled .zone-sub { grid-row:3; margin-top:5px; color:#8d7f77; }
.zone.filled .files,.zone.filled .filename { border-color:#eaded8; }
.zone.filled .file-ok { color:#a15f45; }
.zone.filled .pick { border:1px solid #cfae9f; background:#fff; color:#89503a; }
.zone.filled .pick:hover { border-color:#ad684b; background:#f8efea; color:#7c4430; }
@media (hover:hover) and (pointer:fine) {
  .zone.filled:hover { border-color:#c8aa9b; background:#fdf9f6; box-shadow:inset 3px 0 0 #ad684b,0 3px 10px rgba(80,52,39,.07); }
}

/* v26 final upload-state correction: no overlapping copy or green wash. */
.zone:not(.filled) { border:1px dashed #d7d1cc; background:#fff; }
.zone.filled {
  display:grid;
  align-items:center;
  justify-content:stretch;
  padding:20px;
  border:1px solid #cfc7c1;
  background:#fff;
  box-shadow:0 2px 7px rgba(39,32,28,.05);
}
.zone.filled .zone-action { display:none!important; }
.zone.filled .zone-status {
  display:inline-flex;
  grid-column:2;
  grid-row:2;
  justify-self:start;
  margin-top:4px;
  padding:3px 8px;
  border:1px solid #dce3df;
  border-radius:999px;
  background:#f3f5f4;
  color:#50665c;
  font-size:11px;
  font-weight:750;
}
.zone.filled .upload-icon { border-color:#ead9d0; background:#f7efea; color:#9b5d44; }
.zone.filled .upload-icon svg { display:none; }
.zone.filled .upload-icon::before { content:'✓'; color:#9b5d44; font-size:20px; font-weight:900; line-height:1; }
.zone.filled .zone-sub { grid-row:3; margin-top:5px; color:#8a817b; }
.zone.filled .files { grid-row:4; border-top-color:#e8e3df; }
.zone.filled .filename { border-top-color:#e8e3df; }
.zone.filled .file-ok { color:#537565; }
.zone.filled .pick { border:1px solid #c9b7ae; background:#fff; color:#795646; }
.zone.filled .pick:hover { border-color:#ad684b; background:#fbf6f3; color:#8e5038; }
@media (hover:hover) and (pointer:fine) {
  .zone.filled:hover { border-color:#bfb5ae; background:#fff; box-shadow:0 3px 10px rgba(39,32,28,.07); }
}

/* v17: workspace theme derived from the supplied Lever Style reference. */
:root {
  --bg:#f4f5f6;
  --card:#fff;
  --ink:#242322;
  --muted:#75716e;
  --line:#e2e3e5;
  --soft:#f4ece9;
  --accent:#915a2a;
  --shadow:0 2px 8px rgba(29,25,22,.05);
}
body { background:var(--bg); }
.wrap { max-width:none; padding:0 0 72px; }
.top {
  min-height:82px;
  margin:0;
  padding:18px 32px;
  background:#211a17;
  border-bottom:1px solid #3a312d;
  color:#fff;
}
.title h1 { color:#fff; font-size:22px; font-weight:760; }
.top #account { color:#c8bfba; }
.top .tabs,.top .lang-switch { border-color:#4c423d; background:#2d2521; }
.top .tab,.top .lang-switch button { color:#c7bfba; }
.top .tab.on,.top .lang-switch button.active { background:#fff; color:#2b2623; box-shadow:none; }
.top #newOrder { background:#915a2a; color:#fff; }
.top #newOrder:hover { background:#76451f; }
.current,.history { width:min(1160px,100%); margin:32px auto 0; padding:0 24px; }
.card { border-color:#e1e2e4; border-radius:14px; box-shadow:var(--shadow); }
.card-head { padding-bottom:18px; border-bottom:1px solid #ececee; }
.card-head strong { color:#272524; }
.ghost { border-color:#dadbdd; background:#fff; color:#625e5b; }
.step { border-bottom-color:#e5e6e7; }
.step h2 { color:#302d2b; }
.brand { border-color:#d9dadd; border-radius:9px; box-shadow:none; }
.brand:focus { border-color:#915a2a; }
.main-actions.always button:not(:disabled) { background:#915a2a; }
.main-actions.always button:not(:disabled):hover { background:#76451f; }
.zone {
  --upload-ink:#2d2b2a;
  --upload-muted:#6f6b68;
  --upload-subtle:#98938f;
  --upload-border:#dedfe1;
  --upload-surface:#fff;
  --upload-accent:#915a2a;
  --upload-primary:#915a2a;
  border-radius:11px;
  box-shadow:none;
}
.zone .upload-icon { border-color:#eadfd5; background:#f5eee7; color:#915a2a; }
.zone .pick { border-color:#915a2a; background:#915a2a; color:#fff; }
.zone .pick:hover { border-color:#76451f; background:#76451f; }
.zone.over { border-color:#915a2a; background:#faf5ef; box-shadow:0 0 0 3px rgba(145,90,42,.08); }
.zone.filled { border-color:#d8d9db; background:#fff; }
.zone.filled .upload-icon { border-color:#dde5e1; background:#f1f5f3; color:#3f705e; }
@media (hover:hover) and (pointer:fine) {
  .zone:hover { border-color:#c6c1be; background:#fff; box-shadow:0 2px 7px rgba(32,27,24,.05); }
}
@media(max-width:760px) {
  .top { padding:18px 16px; }
  .current,.history { margin-top:20px; padding:0 14px; }
}

/* v18: dark application chrome and dark ASN bulk-action header. */
.top { background:#1d1815; border-bottom-color:#1d1815; }
.asn-list { border-color:#dedfe1; background:#fff; }
.asn-batch-row {
  padding:18px 20px;
  background:#915a2a;
  border-bottom:0;
}
.batch-caption strong { color:#fff; font-size:15px; }
.batch-caption span { color:#f1e3d6; font-size:12px; }
.asn-batch-row .head-field label { color:#f3e7db; }
.asn-batch-row .head-field>input,
.asn-batch-row .head-field .control input {
  height:42px;
  border-color:#b88b67;
  background:#fff;
  color:#292522;
  box-shadow:none;
}
.asn-batch-row .head-field>input:focus,
.asn-batch-row .head-field .control input:focus { border-color:#6f3e1c; }
.asn-row.column-head {
  padding-top:11px;
  padding-bottom:11px;
  background:#f2f3f4;
  color:#676461;
  border-bottom:1px solid #e0e1e3;
}
.asn-row:not(.column-head) { background:#fff; }
@media(max-width:900px) {
  .asn-batch-row { padding:18px; }
}

/* v20: restrained operations-console palette; accent is intentionally sparse. */
:root {
  --bg:#f5f6f7;
  --card:#ffffff;
  --ink:#2b2826;
  --muted:#827b76;
  --line:#e8e1dc;
  --soft:#f7f1ed;
  --accent:#ad684b;
  --shadow:0 2px 7px rgba(34,29,26,.06);
}
.top { background:#211a17; border-bottom-color:#211a17; }
.top #newOrder,.main-actions.always button:not(:disabled) { background:#ad684b; color:#fff; }
.top #newOrder:hover,.main-actions.always button:not(:disabled):hover { background:#92553d; }
.current,.history { margin-top:36px; }
.card { border:1px solid #e8ded8; border-radius:13px; box-shadow:var(--shadow); }
.card-head { border-bottom-color:#eee9e5; }
.brand,.brand-trigger { border-color:#ded8d3; }
.brand:focus,.brand-trigger[aria-expanded="true"],.brand-trigger:focus-visible { border-color:#ad684b; box-shadow:0 0 0 3px rgba(173,104,75,.10); }
.step { border-bottom-color:#ece8e5; }
.zone {
  --upload-ink:#2d2927;
  --upload-muted:#756e69;
  --upload-subtle:#9a928c;
  --upload-border:#e2dcd7;
  --upload-surface:#fff;
  --upload-accent:#ad684b;
  --upload-primary:#ad684b;
  border-color:#e2dcd7;
  background:#fff;
}
.zone .upload-icon { border-color:#eadfd9; background:#f7f1ed; color:#ad684b; }
.zone .pick { border-color:#ad684b; background:#ad684b; }
.zone .pick:hover { border-color:#92553d; background:#92553d; }
.zone.over { border-color:#ad684b; background:#fbf7f4; box-shadow:0 0 0 3px rgba(173,104,75,.09); }
.zone.filled { border-color:#ddd8d4; }
.zone.filled .upload-icon { border-color:#dfe6e2; background:#f2f6f4; color:#477361; }
.asn-list { border-color:#e3dedb; border-radius:12px; box-shadow:0 1px 2px rgba(34,29,26,.03); }
.asn-batch-row {
  padding:18px 20px;
  background:#fbf8f5;
  border-bottom:1px solid #e9e1dc;
  box-shadow:inset 4px 0 0 #ad684b;
}
.batch-caption strong { color:#302b28; }
.batch-caption span { color:#8a817b; }
.asn-batch-row .head-field label { color:#7e746e; }
.asn-batch-row .head-field>input,
.asn-batch-row .head-field .control input { border-color:#dcd5d0; background:#fff; }
.asn-batch-row .head-field>input:focus,
.asn-batch-row .head-field .control input:focus { border-color:#ad684b; box-shadow:0 0 0 3px rgba(173,104,75,.09); }
.asn-row.column-head { background:#f6f3f1; color:#77706b; border-bottom-color:#e8e2de; }
.scenario { background:#eee9e5; }
.scenario button.on { background:#ad684b; color:#fff; box-shadow:none; }
.ai-clarification { border-color:#e4dcd7; border-radius:13px; box-shadow:0 3px 10px rgba(34,29,26,.05); }
.ai-clarification-head { background:#fbf8f5; border-bottom-color:#e8e1dc; }
.ai-spark { background:#f2e5dc; color:#9a593e; }
.ai-option:hover { border-color:#d3b9ab; background:#fdf9f6; }
.ai-option.selected { border-color:#ad684b; background:#fbf4f0; box-shadow:inset 0 0 0 1px #ad684b; }
.ai-question mark { color:#824a34; background:#f5e7df; }
.ai-no-match { border-color:#e5ded9; background:#faf8f6; }
button:focus-visible,input:focus-visible,select:focus-visible { outline-color:rgba(173,104,75,.22); }

/* v21 brand header, signed-in identity, and in-product calendar. */
.brand-lockup { display:flex; align-items:center; gap:18px; min-width:0; }
.brand-lockup img { display:block; width:168px; height:auto; }
.brand-lockup>span { width:1px; height:28px; background:#504640; }
.brand-lockup h1 { margin:0; color:#fff; font-size:18px; font-weight:700; white-space:nowrap; }
.user-chip { display:flex; align-items:center; gap:9px; min-width:0; padding-left:3px; color:#fff; }
.user-avatar { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border:1px solid #685b54; border-radius:50%; background:#352c28; color:#f4eee9; font-size:12px; font-weight:800; }
.user-copy { display:flex; flex-direction:column; min-width:0; line-height:1.2; }
.user-copy strong { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f7f4f2; font-size:13px; font-weight:700; }
.user-copy small { max-width:150px; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#a99f99; font-size:10px; }
.user-chip>button { margin-left:2px; padding:5px 8px; border:1px solid #554a44; background:transparent; color:#cfc6c1; font-size:11px; }
.date-control { position:relative; }
.cal-button { right:8px; width:32px; height:32px; display:grid; place-items:center; border-radius:8px; color:#746e69; }
.cal-button:hover { background:#f3efec; color:#ad684b; }
.cal-button:focus-visible { outline:2px solid rgba(173,104,75,.24); outline-offset:1px; }
.cal-button .cal { width:18px; height:18px; }
.date-popover {
  position:absolute; right:0; top:calc(100% + 8px); z-index:80; width:292px; padding:14px;
  border:1px solid #ded7d2; border-radius:12px; background:#fff;
  box-shadow:0 14px 34px rgba(32,27,24,.16); color:#302c29;
}
.date-popover-head { display:grid; grid-template-columns:32px 1fr 32px; align-items:center; margin-bottom:10px; }
.date-popover-head strong { text-align:center; font-size:14px; }
.date-nav { width:32px; height:32px; padding:0; border:0; border-radius:8px; background:transparent; color:#655f5a; font-size:22px; font-weight:500; }
.date-nav:hover { background:#f4f1ef; }
.date-week,.date-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.date-week { margin-bottom:4px; color:#99918c; font-size:10px; font-weight:700; text-align:center; }
.date-week span { padding:4px 0; }
.date-day { width:34px; height:32px; padding:0; border:0; border-radius:8px; background:transparent; color:#403b38; font-size:12px; font-weight:600; }
.date-day:hover { background:#f4efec; color:#8f523a; }
.date-day.outside { color:#c5bfbb; }
.date-day.today { box-shadow:inset 0 0 0 1px #cfae9f; }
.date-day.selected { background:#ad684b; color:#fff; box-shadow:none; }
.date-popover-foot { display:flex; justify-content:space-between; margin-top:10px; padding-top:10px; border-top:1px solid #eee9e6; }
.date-popover-foot button { padding:5px 7px; background:transparent; color:#8e523b; font-size:12px; }
.asn-list { overflow:visible; }
.asn-batch-row { border-radius:11px 11px 0 0; }
.asn-row:last-child { border-radius:0 0 11px 11px; }
@media(max-width:980px) {
  .brand-lockup img { width:138px; }
  .brand-lockup>span,.user-copy { display:none; }
}
@media(max-width:760px) {
  .brand-lockup img { width:128px; }
  .top-actions { align-items:center; }
  .user-chip { order:-1; }
  .date-popover { left:auto; right:0; width:min(292px,calc(100vw - 44px)); }
}

/* v22: make empty and completed upload states unmistakably different. */
.zone:not(.filled) { border-style:dashed; border-color:#d7d1cc; background:#fff; }
.zone-status { grid-column:2; grid-row:2; justify-self:start; margin-top:3px; padding:3px 8px; border-radius:999px; background:#e2f0e9; color:#34705a; font-size:11px; font-weight:800; }
.zone.filled {
  position:relative;
  border:1px solid #a9cdbd;
  background:#f5faf7;
  box-shadow:inset 4px 0 0 #4b8a70;
}
.zone.filled .upload-icon { border-color:#b8d7ca; background:#e4f1eb; color:#34705a; }
.zone.filled .upload-icon svg { display:none; }
.zone.filled .upload-icon::before { content:'✓'; font-size:20px; font-weight:900; line-height:1; }
.zone.filled .zone-action { display:none; }
.zone.filled .zone-sub { grid-row:3; color:#6e8179; }
.zone.filled .files { grid-row:4; border-top-color:#d5e6de; }
.zone.filled .filename { border-top-color:#d5e6de; }
.zone.filled .pick { border-color:#77a892; background:#fff; color:#34705a; }
.zone.filled .pick:hover { border-color:#4b8a70; background:#edf6f1; color:#285d49; }
.zone.filled:hover { border-color:#8dbba7; background:#f5faf7; box-shadow:inset 4px 0 0 #4b8a70,0 3px 10px rgba(48,91,72,.08); }

/* v23 typography and marketplace icon placement. */
body,button,input,select,textarea {
  font-family:Inter,"SF Pro Text","SF Pro Display","Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.tool-name { display:flex; align-items:center; gap:9px; min-width:0; }
.brand-lockup .tool-icon { width:25px; height:25px; flex:0 0 auto; }
.brand-lockup h1 { font-size:16px; font-weight:560; letter-spacing:.005em; color:#eee9e6; }
.card-head strong,.step h2 { font-weight:650; letter-spacing:-.01em; }
.zone-title { font-weight:680; letter-spacing:-.005em; }
.asn,.ai-clarification h2,.ai-question h3 { font-weight:650; }
@media(max-width:980px) {
  .brand-lockup .tool-icon { width:22px; height:22px; }
}

/* v25 optical sizing for the combined corporate and product lockup. */
.top { min-height:72px; padding-top:14px; padding-bottom:14px; }
.brand-lockup { gap:14px; }
.brand-lockup>img:not(.tool-icon) { width:136px; }
.brand-lockup>span { height:24px; }
.tool-name { gap:8px; }
.brand-lockup .tool-icon { width:24px; height:24px; }
.brand-lockup h1 { font-size:16px; font-weight:560; line-height:1.25; }
@media(max-width:980px) {
  .brand-lockup>img:not(.tool-icon) { width:122px; }
}
@media(max-width:760px) {
  .top { min-height:64px; }
  .brand-lockup>img:not(.tool-icon) { width:112px; }
  .brand-lockup .tool-icon { width:22px; height:22px; }
  .brand-lockup h1 { font-size:15px; }
}
.zone-gold-edge { transition:padding .28s ease; }
@keyframes upload-gold-hover-breathe {
  0%, 100% { opacity:.85; }
  45% { opacity:1; }
  75% { opacity:.9; }
}
@media (prefers-reduced-motion:reduce) {
  .zone, .zone:hover { transform:none; transition:none; }
  .zone::before, .zone::after,
  .zone:hover::before, .zone:hover::after { animation:none; transform:none; will-change:auto; }
  .zone::before { opacity:.5; }
  .zone::after { opacity:.35; }
  .zone-gold-edge, .zone:hover .zone-gold-edge {
    animation:none;
    transition:none;
    --upload-gold-angle:35deg;
    opacity:.65;
  }
}

/* Clean, immediately recognizable upload cards. */
.zone {
  min-height:238px;
  align-items:center;
  justify-content:center;
  padding:26px 24px;
  overflow:hidden;
  border:1.5px dashed #c8bfb5;
  background:#fff;
  text-align:center;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(42,35,28,.03);
}
.zone::before,.zone::after,.zone-gold-edge { display:none; }
.upload-icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:13px;
  border-radius:14px;
  background:#f6efe5;
  color:var(--accent);
}
.upload-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.zone-title { font-size:16px; font-weight:780; color:var(--ink); }
.zone-action { margin-top:5px; color:#5f564d; font-size:14px; font-weight:600; }
.zone-sub { margin:5px 0 16px; color:#8a8178; font-size:12px; }
.zone .pick {
  min-width:126px;
  margin:0;
  align-self:center;
  border-color:#b76d2c;
  background:#fff;
  color:#8e4f18;
  font-size:14px;
}
.zone .pick:hover { background:#faf3e9; }
.zone.over { border-style:solid; border-color:var(--accent); background:#fffaf3; box-shadow:0 0 0 4px rgba(183,109,44,.10); }
.zone.filled { align-items:stretch; justify-content:flex-start; border-style:solid; text-align:left; cursor:default; }
.zone.filled .upload-icon { width:38px; height:38px; margin-bottom:10px; border-radius:11px; }
.zone.filled .upload-icon svg { width:20px; height:20px; }
.zone.filled .zone-action { display:none; }
.zone.filled .zone-sub { margin-bottom:10px; }
.zone.filled .pick { margin-top:auto; align-self:flex-start; }
@media (hover:hover) and (pointer:fine) {
  .zone:hover { transform:none; border-color:#a9662c; background:#fffdf9; box-shadow:0 4px 16px rgba(77,55,34,.08); }
  .zone.filled:hover { background:#fff; border-color:#c8bfb5; box-shadow:0 1px 2px rgba(42,35,28,.03); }
}

/* v15: neutral enterprise palette with terracotta used only as an accent. */
.zone {
  --upload-ink:#302a26;
  --upload-muted:#746b64;
  --upload-subtle:#9a9088;
  --upload-border:#e1d9d2;
  --upload-surface:#fffdfb;
  --upload-accent:#7f4938;
  --upload-primary:#2b231f;
  min-height:154px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  grid-template-rows:auto auto auto 1fr;
  column-gap:14px;
  align-items:center;
  justify-content:stretch;
  padding:20px;
  overflow:hidden;
  border:1px solid var(--upload-border);
  border-radius:12px;
  background:var(--upload-surface);
  text-align:left;
  box-shadow:0 1px 2px rgba(55,42,33,.04);
}
.zone .upload-icon {
  grid-column:1;
  grid-row:1/4;
  width:42px;
  height:42px;
  margin:0;
  border:1px solid #e6ded7;
  border-radius:10px;
  background:#f5f0eb;
  color:#75665c;
}
.zone .upload-icon svg { width:20px; height:20px; stroke-width:1.8; }
.zone .zone-title { grid-column:2; grid-row:1; color:var(--upload-ink); font-size:15px; line-height:1.35; font-weight:760; }
.zone .zone-action { grid-column:2; grid-row:2; margin-top:2px; color:var(--upload-muted); font-size:13px; line-height:1.4; font-weight:500; }
.zone .zone-sub { grid-column:2; grid-row:3; margin:3px 0 0; color:var(--upload-subtle); font-size:12px; line-height:1.35; }
.zone .pick {
  grid-column:3;
  grid-row:1/4;
  min-width:100px;
  margin:0;
  padding:9px 14px;
  align-self:center;
  border:1px solid var(--upload-primary);
  border-radius:9px;
  background:var(--upload-primary);
  color:#fff;
  font-size:13px;
  font-weight:700;
  box-shadow:none;
}
.zone .pick:hover { border-color:#44372f; background:#44372f; color:#fff; }
.zone .files { grid-column:1/-1; grid-row:4; width:100%; margin-top:14px; border-top:1px solid #ebe4de; }
.zone .file-ok { color:#3f7c67; }
.zone.over { border-color:var(--upload-accent); background:#fbf5f1; box-shadow:0 0 0 3px rgba(127,73,56,.08); }
.zone.filled {
  display:grid;
  align-items:center;
  justify-content:stretch;
  padding:20px;
  border-color:#d8cec6;
  background:#fff;
  text-align:left;
  cursor:default;
}
.zone.filled .upload-icon { width:42px; height:42px; margin:0; border-radius:10px; background:#f3eee9; color:#675a51; }
.zone.filled .zone-action { display:block; }
.zone.filled .zone-sub { margin:3px 0 0; }
.zone.filled .pick { margin:0; align-self:center; }
@media (hover:hover) and (pointer:fine) {
  .zone:hover { transform:none; border-color:#c5b7ac; background:#fff; box-shadow:0 3px 12px rgba(55,42,33,.07); }
  .zone.filled:hover { border-color:#d8cec6; box-shadow:0 1px 2px rgba(55,42,33,.04); }
}
@media(max-width:620px) {
  .zone { grid-template-columns:42px minmax(0,1fr); }
  .zone .pick { grid-column:1/-1; grid-row:4; width:100%; margin-top:16px; }
  .zone .files { grid-row:5; }
}

/* v27 effective override — deliberately last in the cascade. */
.zone.filled { display:grid; align-items:center; justify-content:stretch; padding:20px; border:1px solid #d5bfb4; background:#fdf9f6; box-shadow:inset 3px 0 0 #ad684b,0 2px 7px rgba(39,32,28,.05); }
.zone.filled .zone-action { display:none!important; }
.zone.filled .zone-status { display:inline-flex!important; grid-column:2; grid-row:2; justify-self:start; margin-top:4px; padding:3px 8px; border:1px solid #e4d0c6; border-radius:999px; background:#f5e9e3; color:#89503a; font-size:11px; font-weight:750; }
.zone.filled .upload-icon { border-color:#e3cfc5; background:#f5e8e1; color:#a15f45; }
.zone.filled .upload-icon svg { display:none; }
.zone.filled .upload-icon::before { content:'✓'; color:#a15f45; font-size:20px; font-weight:900; line-height:1; }
.zone.filled .zone-sub { grid-row:3; margin-top:5px; color:#8d7f77; }
.zone.filled .files,.zone.filled .filename { border-color:#eaded8; }
.zone.filled .file-ok { color:#a15f45; }
.zone.filled .pick { border:1px solid #cfae9f; background:#fff; color:#89503a; }
.zone.filled .pick:hover { border-color:#ad684b; background:#f8efea; color:#7c4430; }
@media (hover:hover) and (pointer:fine) { .zone.filled:hover { border-color:#c8aa9b; background:#fdf9f6; box-shadow:inset 3px 0 0 #ad684b,0 3px 10px rgba(80,52,39,.07); } }

.badge.needs_confirmation { color:#91571f; background:#fff4df; }
.badge.continued { color:#52626b; background:#edf1f3; }
.ai-saved-inputs { margin:16px 24px; overflow-wrap:anywhere; color:var(--muted); }

/* Authentication loading stays outside the application layout. */
.login-spinner{width:24px;height:24px;flex:none;border:3px solid #e5ddd7;border-top-color:#ad694b;border-radius:50%;animation:login-spin .8s linear infinite}
@keyframes login-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.login-spinner{animation:none}}
