:root { --ink:#163e31; --ink-soft:#41685a; --muted:#718276; --line:#e5e9de; --canvas:#fdfbf5; --surface:rgba(255,255,255,.78); --teal:#176f50; --teal-dark:#0e5039; --teal-soft:#e9f2e8; --green:#25865a; --amber:#a86d12; --red:#ba4641; --gold:#d4b471; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; min-width:320px; background:var(--canvas); color:var(--ink); font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif; } button,textarea,select,input { font:inherit; } button { cursor:pointer; } button:disabled { cursor:not-allowed; opacity:.7; }
.operations-app { min-height:100vh; display:grid; grid-template-columns:64px minmax(0,1fr); }.app-rail { display:flex; flex-direction:column; align-items:center; padding:20px 10px; border-right:1px solid rgba(22,62,49,.08); background:rgba(255,255,255,.45); }.brand-mark,.brand-symbol { display:grid; place-items:center; background:var(--teal); color:#fff; font-weight:800; }.brand-mark { width:34px; height:34px; border-radius:11px; }.rail-button { display:none; }.rail-spacer { flex:1; }
.workspace { width:min(1400px,100%); min-width:0; margin:0 auto; padding:26px 5.8vw 54px; }.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:52px; }.brand-lockup { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }.brand-symbol { width:34px; height:34px; border-radius:50% 50% 50% 10%; transform:rotate(-18deg); }.brand-lockup strong { display:block; font-family:STKaiti,"KaiTi",serif; font-size:24px; letter-spacing:.08em; line-height:1; }.brand-lockup small { display:block; margin-top:5px; color:var(--ink-soft); font-size:8px; font-weight:800; letter-spacing:.18em; }.header-actions { display:flex; align-items:center; gap:26px; }.header-link { color:var(--ink-soft); font-size:14px; text-decoration:none; }.source-connection { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.66); color:var(--muted); font-size:12px; }.source-connection::before { width:7px; height:7px; border-radius:50%; background:#b6bdb7; content:""; }.source-connection.is-ready { color:var(--green); border-color:#c7e1cf; }.source-connection.is-ready::before { background:#34b96e; box-shadow:0 0 0 4px rgba(52,185,110,.1); }.source-connection.is-warning { color:var(--amber); }
.tracking-hero { position:relative; display:grid; grid-template-columns:minmax(0,610px) minmax(420px,1fr); min-height:510px; margin-top:28px; overflow:hidden; border-bottom:1px solid rgba(22,62,49,.08); }.hero-copy { position:relative; z-index:1; align-self:center; padding:46px 0 52px; }.product-kicker,.eyebrow { margin:0 0 10px; color:var(--teal); font-size:11px; font-weight:800; letter-spacing:.13em; }.tracking-hero h1 { max-width:650px; margin:0; color:#123d2f; font-family:STKaiti,"KaiTi",serif; font-size:clamp(46px,5vw,72px); font-weight:600; letter-spacing:.03em; line-height:1.12; }.tracking-hero h1 em { color:var(--teal); font-style:normal; }.hero-description { max-width:480px; margin:20px 0 0; color:var(--ink-soft); font-size:16px; line-height:1.8; }.hero-art { position:absolute; inset:0 -8% 0 34%; display:flex; align-items:center; justify-content:flex-end; opacity:.92; overflow:hidden; pointer-events:none; }.hero-art::after { position:absolute; inset:0; background:linear-gradient(90deg,var(--canvas) 0%,rgba(253,251,245,.52) 26%,rgba(253,251,245,0) 56%); content:""; }.hero-art img { width:100%; min-width:760px; object-fit:cover; animation:atlas-float 12s ease-in-out infinite; }
.lookup-form { display:grid; gap:12px; margin-top:30px; }.lookup-control { display:flex; align-items:center; gap:12px; width:min(640px,100%); padding:8px 9px 8px 20px; border:1px solid rgba(22,62,49,.15); border-radius:18px; background:rgba(255,255,255,.78); box-shadow:0 12px 30px rgba(46,71,51,.07); transition:border-color .2s,box-shadow .2s,transform .2s; }.lookup-control:focus-within { border-color:var(--teal); box-shadow:0 14px 34px rgba(23,111,80,.15); transform:translateY(-1px); } textarea { width:100%; min-height:29px; max-height:124px; resize:vertical; border:0; outline:none; background:transparent; color:var(--ink); line-height:1.55; } textarea::placeholder { color:#9ba69b; }.button-primary,.button-secondary { min-height:45px; border-radius:12px; padding:8px 16px; font-weight:800; transition:transform .2s,box-shadow .2s,background .2s; }.button-primary { display:inline-flex; align-items:center; justify-content:center; gap:12px; flex:0 0 auto; min-width:148px; border:1px solid var(--teal); background:var(--teal); box-shadow:0 8px 16px rgba(23,111,80,.18); color:#fff; }.button-primary:hover { background:var(--teal-dark); box-shadow:0 12px 22px rgba(23,111,80,.24); transform:translateY(-1px); }.button-primary b { font-size:18px; font-weight:400; }.input-hint { margin:0 0 0 5px; color:var(--muted); font-size:12px; }.recent-section { width:min(640px,100%); margin-top:22px; }.recent-heading { display:flex; align-items:center; justify-content:space-between; }.recent-heading h2 { margin:0; font-size:13px; }.text-button { border:0; padding:0; background:transparent; color:var(--teal); font-size:12px; }.recent-queries { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }.recent-queries p { margin:0; color:var(--muted); font-size:12px; }.recent-query { border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.65); color:var(--ink-soft); padding:5px 10px; font-size:12px; }
.query-layout { margin-top:44px; }.detail-panel,.result-panel { min-width:0; border:1px solid var(--line); background:var(--surface); box-shadow:0 18px 45px rgba(47,72,52,.05); }.detail-panel { min-height:285px; padding:30px 34px; border-radius:24px; }.detail-empty { max-width:480px; padding:45px 0; }.detail-empty h2,.result-toolbar h2 { margin:0; font-size:23px; }.detail-empty p:last-child { margin:12px 0 0; color:var(--muted); line-height:1.7; }.detail-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding-bottom:22px; border-bottom:1px solid var(--line); }.detail-number { margin:0; font-size:28px; letter-spacing:.04em; }.detail-subtitle { margin:7px 0 0; color:var(--muted); font-size:13px; }.status { flex:0 0 auto; border-radius:999px; padding:7px 11px; font-size:12px; font-weight:800; }.status-found { background:#e7f6ed; color:var(--green); }.status-not_found { background:#fff5df; color:var(--amber); }.status-source_unavailable { background:#fcebea; color:var(--red); }
.exception-center { margin-bottom:20px; padding:22px 24px; border:1px solid #eadcbd; border-radius:18px; background:#fffaf0; }.exception-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; }.exception-heading h2 { margin:0; font-size:20px; }.exception-heading p:last-child { margin:0; color:var(--amber); font-size:13px; font-weight:700; }.exception-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; margin-top:17px; }.exception-item { display:grid; gap:5px; min-height:106px; padding:14px; border:1px solid #ecd9ad; border-radius:10px; background:#fff; color:var(--ink); text-align:left; }.exception-item:hover { border-color:var(--amber); background:#fffdf8; }.exception-item strong { font-size:14px; }.exception-item span { color:var(--amber); font-size:13px; font-weight:800; }.exception-item small { color:var(--muted); font-size:12px; line-height:1.5; }.exception-item.is-critical { border-color:#efc2bf; }.exception-item.is-critical span { color:var(--red); }.exception-empty { margin:0; color:var(--ink-soft); font-size:13px; }
.watchlist-center { margin-bottom:20px; padding:22px 24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.watchlist-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; }.watchlist-heading h2 { margin:0; font-size:20px; }.watchlist-heading p:last-child { max-width:380px; margin:0; color:var(--muted); font-size:13px; text-align:right; }.watchlist-items { display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }.watchlist-item { display:grid; min-width:220px; max-width:320px; gap:4px; padding:12px 14px; border:1px solid #cfe2d3; border-radius:10px; background:#f8fcf8; color:var(--ink); text-align:left; }.watchlist-item:hover { border-color:var(--teal); background:#f0f8f1; }.watchlist-item strong { font-size:14px; }.watchlist-item span { color:var(--teal); font-size:12px; font-weight:800; }.watchlist-item small { overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.detail-header > div:first-child { min-width:0; }.detail-header > div:last-child { display:flex; align-items:center; gap:9px; }.watch-button { min-height:32px; border:1px solid #b8d5c0; border-radius:8px; background:#f6fbf7; color:var(--teal); padding:5px 10px; font-size:12px; font-weight:800; }.watch-button[aria-pressed="true"] { border-color:var(--teal); background:var(--teal); color:#fff; }
.shipment-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:22px 0 0; }.shipment-overview div { min-width:0; padding:14px; border:1px solid #e4eadf; border-radius:16px; background:#f8faf4; }.shipment-overview span { display:block; color:var(--muted); font-size:12px; }.shipment-overview strong { display:block; margin-top:7px; overflow-wrap:anywhere; color:var(--ink); font-size:14px; line-height:1.45; }.detail-tabs { display:flex; gap:20px; margin-top:24px; border-bottom:1px solid var(--line); }.detail-tab { min-width:82px; min-height:40px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font-size:13px; font-weight:800; transition:color .2s,border-color .2s; }.detail-tab.is-active { border-bottom-color:var(--teal); color:var(--teal); }.detail-tab-content { padding-top:22px; animation:content-enter .28s ease both; }.detail-section h3 { margin:0 0 16px; font-size:14px; }.field-list { display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; margin:0; }.field-list div { min-width:0; }.field-list dt { color:var(--muted); font-size:12px; }.field-list dd { overflow-wrap:anywhere; margin:6px 0 0; font-size:14px; font-weight:700; }.timeline { position:relative; list-style:none; margin:0; padding:0 0 0 20px; border-left:2px solid #d8e8df; }.timeline::before { position:absolute; top:0; left:-2px; width:2px; height:100%; background:var(--teal); content:""; transform:scaleY(0); transform-origin:top; }.is-revealed .timeline::before { animation:route-draw .8s .15s ease forwards; }.timeline li { position:relative; padding:0 0 18px 15px; }.timeline li::before { position:absolute; top:5px; left:-7px; width:10px; height:10px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 4px #eef6f1; content:""; }.timeline time { display:block; margin-bottom:4px; color:var(--muted); font-size:12px; }.timeline p { margin:0; font-size:13px; line-height:1.55; }.route-empty { color:var(--muted); font-size:13px; }.fee-value { margin:0; color:var(--teal); font-size:22px; font-weight:800; }.detail-source { margin:22px 0 0; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.result-panel { margin-top:20px; overflow:hidden; border-radius:20px; }.result-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:21px 24px 17px; border-bottom:1px solid var(--line); }.button-secondary { border:1px solid var(--line); background:#fff; color:var(--ink-soft); }.button-secondary:hover { border-color:#bcd5c4; background:#f5faf5; }.table-scroll { overflow-x:auto; }.results-table { width:100%; min-width:760px; border-collapse:collapse; text-align:left; }.results-table th { padding:12px 18px; background:#f8faf5; color:#718276; font-size:12px; font-weight:800; }.results-table td { padding:15px 18px; border-top:1px solid #edf1ea; font-size:13px; }.results-table tbody tr[data-selectable="true"] { cursor:pointer; }.results-table tbody tr[data-selectable="true"]:hover,.results-table tbody tr.is-selected { background:#f2f8f1; }.empty-cell { height:82px; color:var(--muted); text-align:center; }
.is-revealed { animation:panel-reveal .5s ease both; }.is-querying .button-primary { pointer-events:none; }.is-querying .button-primary b { animation:arrow-pulse .75s ease-in-out infinite; }.is-querying .detail-panel,.is-querying .result-panel { opacity:.72; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }.simple-query-mode .login-panel,.simple-query-mode .assistant-panel,.simple-query-mode .monthly-billing-panel,.simple-query-mode .workflow-catalog,.simple-query-mode .history-panel,.simple-query-mode .export-center,.simple-query-mode .operations-panel { display:none!important; }
@keyframes atlas-float { 0%,100% { transform:translate3d(0,0,0) scale(1); } 50% { transform:translate3d(-12px,-10px,0) scale(1.025); } } @keyframes panel-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } } @keyframes content-enter { from { opacity:0; transform:translateX(6px); } to { opacity:1; transform:translateX(0); } } @keyframes route-draw { to { transform:scaleY(1); } } @keyframes arrow-pulse { 50% { transform:translateX(4px); } }
@media (max-width:900px) { .operations-app { grid-template-columns:1fr; }.app-rail { display:none; }.workspace { padding:20px 26px 42px; }.tracking-hero { grid-template-columns:1fr; min-height:600px; }.hero-copy { align-self:start; padding-top:64px; }.hero-art { inset:250px -25% 0 12%; }.hero-art::after { background:linear-gradient(180deg,var(--canvas) 0%,rgba(253,251,245,.16) 35%,rgba(253,251,245,0) 65%); }.hero-art img { min-width:640px; }.query-layout { margin-top:26px; } }
@media (max-width:600px) { .workspace { padding:18px 16px 34px; }.site-header { align-items:flex-start; }.header-actions { gap:10px; flex-direction:column; align-items:flex-end; }.header-link { display:none; }.brand-lockup strong { font-size:22px; }.tracking-hero { min-height:620px; margin-top:8px; }.hero-copy { padding-top:54px; }.tracking-hero h1 { font-size:44px; }.hero-description { font-size:14px; }.hero-art { inset:308px -65% 0 -20%; opacity:.72; }.lookup-control { align-items:stretch; flex-direction:column; padding:13px; border-radius:16px; }.lookup-control textarea { min-height:48px; }.button-primary { width:100%; }.recent-section { margin-top:17px; }.detail-panel { padding:23px 19px; border-radius:18px; }.shipment-overview,.field-list { grid-template-columns:1fr; }.detail-tabs { gap:10px; overflow-x:auto; }.result-toolbar { padding:18px; }.result-toolbar h2 { font-size:20px; }.results-table th,.results-table td { padding-left:14px; padding-right:14px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
.result-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }.confirmation-preview { margin:20px 24px 24px; padding:20px; border:1px solid #cfe2d3; border-radius:8px; background:#f8fcf8; }.confirmation-preview h3 { margin:0; color:var(--teal); font-size:16px; }.confirmation-notice { margin:9px 0 16px; color:var(--ink-soft); font-size:13px; line-height:1.6; }.confirmation-preview .workflow-message-item { margin-top:12px; padding:15px; border:1px solid #dfe9df; border-radius:8px; background:#fff; }.confirmation-preview pre { margin:12px 0 0; overflow-x:auto; color:var(--ink); font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; }.confirmation-blocked { margin:10px 0 0; color:var(--amber); font-size:13px; line-height:1.6; }
.operations-panel { margin-top:28px; padding:28px 0 48px; border-top:1px solid var(--line); }.operations-heading,.automation-header,.automation-section > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.operations-heading h2,.automation-header h3,.automation-section h4 { margin:0; }.operations-heading h2 { font-size:25px; }.automation-workspace { margin-top:22px; border-top:2px solid var(--teal); border-bottom:1px solid var(--line); background:rgba(255,255,255,.42); }.automation-header { padding:24px 0 20px; }.automation-header h3 { font-size:21px; }.automation-header p:last-child { max-width:650px; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }.automation-actions { display:flex; align-items:center; gap:10px; }.automation-badge { display:inline-flex; align-items:center; min-height:27px; padding:4px 9px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--muted); font-size:11px; font-weight:800; }.automation-badge[data-status="ready"],.automation-badge.status-approved,.automation-badge.status-sent_verified { border-color:#b9d9c3; background:#edf8f0; color:var(--green); }.automation-badge[data-status="warning"],.automation-badge.status-draft { border-color:#ead9b6; background:#fff9ec; color:var(--amber); }.automation-badge[data-status="error"],.automation-badge.status-failed,.automation-badge.status-send_uncertain { border-color:#efc5c2; background:#fff2f1; color:var(--red); }
.automation-timeline { display:grid; grid-template-columns:repeat(7,minmax(90px,1fr)); margin:0; padding:0; list-style:none; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.automation-timeline li { position:relative; display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:8px; min-height:72px; padding:12px 10px; color:var(--muted); }.automation-timeline li + li { border-left:1px solid var(--line); }.automation-timeline li span { display:grid; width:26px; height:26px; place-items:center; border:1px solid #cfd8d0; border-radius:50%; background:#fff; font-size:11px; font-weight:800; }.automation-timeline li strong { overflow-wrap:anywhere; font-size:12px; line-height:1.4; }.automation-timeline li[data-status="completed"] { color:var(--green); }.automation-timeline li[data-status="completed"] span { border-color:var(--green); background:var(--green); color:#fff; }.automation-timeline li[data-status="failed"] { color:var(--red); }.automation-timeline li[data-status="failed"] span { border-color:var(--red); background:var(--red); color:#fff; }
.automation-run-strip { display:grid; grid-template-columns:minmax(180px,.35fr) minmax(0,1fr); gap:24px; padding:16px 0; border-bottom:1px solid var(--line); }.automation-run-strip > p { margin:0; font-size:14px; font-weight:800; }.automation-log { max-height:124px; overflow:auto; }.automation-log p { margin:0 0 5px; color:var(--muted); font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }.automation-log .automation-error { color:var(--red); }.automation-columns { display:grid; grid-template-columns:1.15fr .85fr; gap:32px; }.automation-section { min-width:0; padding:24px 0; }.automation-columns .automation-section + .automation-section { padding-left:32px; border-left:1px solid var(--line); }.automation-section h4 { font-size:16px; }.automation-list { margin-top:15px; }.automation-list > p,.automation-help { color:var(--muted); font-size:12px; }.automation-list-row,.automation-draft-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-top:1px solid #e9eee7; }.automation-list-row:first-child,.automation-draft-row:first-child { border-top:0; }.automation-list-row > div:first-child { min-width:0; }.automation-list-row strong,.automation-list-row small { display:block; overflow-wrap:anywhere; }.automation-list-row small,.automation-draft-row small { margin-top:5px; color:var(--muted); font-size:11px; }.automation-list-row > div:last-child { display:flex; align-items:center; gap:10px; }.automation-list-row .button-secondary { min-height:34px; padding:5px 10px; font-size:11px; }.automation-form { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:15px; }.automation-form input { min-width:0; height:38px; border:1px solid var(--line); border-radius:6px; background:#fff; padding:7px 10px; color:var(--ink); }.automation-form .button-secondary { grid-column:1 / -1; min-height:38px; }.automation-review { border-top:1px solid var(--line); }.automation-draft-row { display:block; }.automation-draft-row > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }.automation-draft-row pre { max-height:190px; margin:10px 0 0; overflow:auto; border-left:3px solid #c9dfcf; background:#f8fbf7; padding:10px 12px; color:var(--ink); font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; }.automation-approval { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; padding-top:18px; border-top:1px solid var(--line); }.automation-approval-summary { margin-right:auto; font-size:12px; }.legacy-operations { margin-top:22px; color:var(--muted); }.legacy-operations summary { cursor:pointer; font-size:12px; font-weight:800; }
@media (max-width:1000px) { .automation-timeline { grid-template-columns:repeat(4,1fr); }.automation-timeline li:nth-child(5) { border-left:0; }.automation-columns { grid-template-columns:1fr; gap:0; }.automation-columns .automation-section + .automation-section { padding-left:0; border-top:1px solid var(--line); border-left:0; } }
@media (max-width:640px) { .operations-heading,.automation-header { flex-direction:column; }.automation-actions { width:100%; justify-content:space-between; }.automation-timeline { grid-template-columns:1fr 1fr; }.automation-timeline li:nth-child(odd) { border-left:0; }.automation-timeline li:nth-child(5) { border-left:0; }.automation-run-strip { grid-template-columns:1fr; gap:10px; }.automation-form { grid-template-columns:1fr; }.automation-form .button-secondary { grid-column:auto; }.automation-list-row { align-items:flex-start; flex-direction:column; }.automation-approval { align-items:stretch; flex-direction:column; }.automation-approval-summary { margin:0; }.automation-approval .button-primary,.automation-approval .button-secondary { width:100%; } }

.automation-badge { flex-shrink:0; white-space:nowrap; }
.automation-approval button:disabled { cursor:not-allowed; box-shadow:none; background:#c5cec8; color:#fff; }
@media (max-width:640px) { .automation-actions .automation-badge { flex-shrink:0; }.automation-actions .button-primary { flex:1 1 auto; width:auto; min-width:0; } }

/* Billing-weight operations workflow */
.automation-workspace { overflow:hidden; border-radius:8px; }
.automation-band { min-width:0; padding:24px 0; border-top:1px solid var(--line); }
.automation-band:first-child { border-top:0; }
.automation-band-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.automation-band-heading h4,.automation-customer-layout h5 { margin:0; }
.automation-band-heading h4 { font-size:17px; }
.automation-customer-layout h5 { font-size:13px; }
.icon-button { display:inline-grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--teal); font-size:19px; line-height:1; }
.icon-button:hover { border-color:#bcd5c4; background:#f3f9f4; }
.automation-actions .button-primary,.automation-band-heading .button-secondary,.automation-approval .button-primary,.automation-approval .button-secondary { min-height:38px; border-radius:6px; }
.automation-actions .button-primary { min-width:128px; }
.automation-timeline { grid-template-columns:repeat(8,minmax(88px,1fr)); }
.automation-timeline li { min-width:0; }
.automation-timeline li[data-status="running"] { color:var(--teal); background:#f1f8f3; }
.automation-timeline li[data-status="running"] span { border-color:var(--teal); color:var(--teal); }
.automation-counts { display:grid; grid-template-columns:repeat(5,minmax(112px,1fr)); margin:18px 0 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.automation-counts > div { min-width:0; padding:15px 14px; }
.automation-counts > div + div { border-left:1px solid var(--line); }
.automation-counts dt { color:var(--muted); font-size:11px; font-weight:700; }
.automation-counts dd { margin:6px 0 0; color:var(--ink); font-size:23px; font-weight:800; }
.automation-counts > div:last-child dd { color:var(--amber); }
.automation-artifacts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:14px; border-bottom:1px solid var(--line); }
.automation-artifacts > p { grid-column:1 / -1; color:var(--muted); font-size:12px; }
.automation-artifact-row { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; padding:14px; border-top:1px solid var(--line); }
.automation-artifact-row + .automation-artifact-row { border-left:1px solid var(--line); }
.automation-artifact-row > div:first-child { min-width:0; }
.automation-artifact-kind,.automation-artifact-row strong,.automation-artifact-row small { display:block; }
.automation-artifact-kind { margin-bottom:7px; color:var(--teal); font-size:10px; font-weight:800; }
.automation-artifact-row strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.automation-artifact-row small { margin-top:5px; color:var(--muted); font-size:11px; }
.automation-customer-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:28px; margin-top:18px; }
.automation-customer-layout > div + div { padding-left:28px; border-left:1px solid var(--line); }
.automation-review-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 0; border-top:1px solid var(--line); }
.automation-review-row:first-child { border-top:0; }
.automation-review-row strong,.automation-review-row small { display:block; overflow-wrap:anywhere; }
.automation-review-row small { margin-top:5px; color:var(--red); font-size:11px; }
.automation-exclusion-control { display:flex; flex:0 0 auto; align-items:center; gap:7px; color:var(--ink-soft); font-size:12px; font-weight:700; }
.automation-exclusion-control input { width:16px; height:16px; accent-color:var(--teal); }
.automation-success-note { margin:14px 0 0; color:var(--green); font-size:12px; }
.automation-group-candidates { display:grid; grid-column:1 / -1; max-height:180px; overflow:auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.automation-group-candidates > p { margin:0; padding:12px 2px; color:var(--muted); font-size:11px; }
.automation-group-candidate { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:9px; padding:10px 2px; border-top:1px solid var(--line); cursor:pointer; }
.automation-group-candidate:first-child { border-top:0; }
.automation-group-candidate input { width:16px; height:16px; accent-color:var(--teal); }
.automation-group-candidate strong,.automation-group-candidate small { display:block; overflow-wrap:anywhere; }
.automation-group-candidate strong { font-size:12px; }
.automation-group-candidate small { margin-top:3px; color:var(--muted); font-size:9px; }
.automation-form input[readonly] { background:#f5f7f3; color:var(--muted); }
.automation-drafts { margin-top:22px; padding-top:5px; border-top:1px solid var(--line); }
.automation-monitor-band { padding-bottom:26px; }
.automation-delivery-monitor { margin-top:14px; border-top:1px solid var(--line); }
.automation-delivery-monitor > p { margin:12px 0; color:var(--muted); font-size:12px; }
.automation-delivery-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:11px 0; border-top:1px solid var(--line); font-size:12px; }
.automation-delivery-row:first-of-type { border-top:0; }
.automation-delivery-row .icon-button { width:32px; height:32px; flex-basis:32px; font-size:16px; }
.automation-badge.status-blocked,.automation-badge.status-mapping_required { border-color:#efc5c2; background:#fff2f1; color:var(--red); }

@media (max-width:1120px) {
  .automation-timeline { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .automation-timeline li:nth-child(5) { border-left:0; }
  .automation-artifacts { grid-template-columns:1fr; }
  .automation-artifact-row + .automation-artifact-row { border-left:0; }
}
@media (max-width:760px) {
  .automation-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .automation-counts > div + div { border-left:0; }
  .automation-counts > div:nth-child(even) { border-left:1px solid var(--line); }
  .automation-counts > div:nth-child(n+3) { border-top:1px solid var(--line); }
  .automation-customer-layout { grid-template-columns:1fr; gap:22px; }
  .automation-customer-layout > div + div { padding:22px 0 0; border-top:1px solid var(--line); border-left:0; }
}
@media (max-width:640px) {
  .automation-band { padding:20px 0; }
  .automation-band-heading { align-items:stretch; flex-direction:column; }
  .automation-timeline { grid-template-columns:1fr 1fr; }
  .automation-timeline li { min-height:66px; }
  .automation-artifact-row,.automation-review-row { align-items:flex-start; }
  .automation-review-row { flex-direction:column; }
  .automation-exclusion-control { width:100%; }
  .automation-actions { display:grid; grid-template-columns:1fr 38px; }
  .automation-actions .automation-badge { grid-column:1 / -1; }
  .automation-actions .button-primary { grid-column:1; grid-row:2; width:100%; }
  .automation-actions .icon-button { grid-column:2; grid-row:2; }
}

/* Route automation workflow */
.route-automation { border-top-color:#315f7a; }
.route-node-catalog { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0; list-style:none; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.route-node-catalog li { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:9px; min-width:0; min-height:66px; padding:11px 12px; }
.route-node-catalog li + li { border-left:1px solid var(--line); }
.route-node-catalog li:nth-child(5) { border-left:0; }
.route-node-catalog li:nth-child(n+5) { border-top:1px solid var(--line); }
.route-node-catalog li > span { display:grid; width:26px; height:26px; place-items:center; border:1px solid #9db4c0; border-radius:50%; color:#315f7a; font-size:11px; font-weight:800; }
.route-node-catalog strong,.route-node-catalog small { display:block; overflow-wrap:anywhere; }
.route-node-catalog strong { font-size:12px; }
.route-node-catalog small { margin-top:4px; color:var(--muted); font:9px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; }
.route-input-band { display:grid; grid-template-columns:minmax(0,.34fr) minmax(0,.66fr); gap:28px; }
.route-input-band > .automation-band-heading { display:block; }
.route-automation-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.route-automation-form > label:first-child { grid-column:1 / -1; color:var(--ink-soft); font-size:12px; font-weight:800; }
.route-automation-form textarea { grid-column:1 / -1; width:100%; min-height:116px; resize:vertical; border:1px solid var(--line); border-radius:6px; background:#fff; padding:11px 12px; color:var(--ink); font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; }
.route-automation-form textarea:focus { outline:2px solid rgba(49,95,122,.16); border-color:#7598aa; }
.route-file-control,.route-actions { display:flex; align-items:center; gap:10px; }
.route-file-control .button-secondary { display:inline-flex; min-height:36px; align-items:center; padding:6px 11px; border-radius:6px; cursor:pointer; font-size:11px; font-weight:800; }
.route-file-control span { color:var(--muted); font-size:11px; }
.route-actions { justify-content:flex-end; }
.route-historical-approval { grid-column:1 / -1; display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.5; }
.route-historical-approval input { flex:0 0 auto; width:auto; margin-top:3px; }
.route-actions button { min-width:108px; min-height:38px; border-radius:6px; }
.route-summary { color:var(--muted); font-size:11px; font-weight:700; text-align:right; }
.route-result-table { width:100%; min-width:980px; margin-top:16px; border-collapse:collapse; text-align:left; }
.route-result-table th { padding:11px 12px; border-top:1px solid var(--line); background:#f7f9f6; color:var(--muted); font-size:10px; }
.route-result-table td { padding:12px; border-top:1px solid var(--line); font-size:11px; line-height:1.45; vertical-align:top; }
.route-result-table tbody tr[data-status="failed"],.route-result-table tbody tr[data-status="needs_manual_review"] { background:#fff8f4; }
.route-status { font-weight:800; }
.route-status-ready { color:#315f7a; }
.route-status-completed { color:var(--green); }
.route-status-skipped { color:var(--muted); }
.route-status-needs_manual_review,.route-status-failed { color:var(--red); }

@media (max-width:900px) {
  .route-node-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .route-node-catalog li:nth-child(odd) { border-left:0; }
  .route-node-catalog li:nth-child(n+3) { border-top:1px solid var(--line); }
  .route-input-band { grid-template-columns:1fr; gap:16px; }
}
@media (max-width:640px) {
  .route-automation-form { grid-template-columns:1fr; }
  .route-file-control,.route-actions { grid-column:1; justify-content:space-between; }
  .route-actions button { min-width:0; flex:1 1 50%; }
  .route-summary { text-align:left; }
}
