#rt-ops-root{position:fixed;z-index:10000;inset:0;background:#f3f6f9;color:#17324d;font-family:Inter,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif}body.rtops-open{overflow:hidden}.rtops-shell{display:grid;grid-template-columns:238px 1fr;height:100%}.rtops-side{background:linear-gradient(180deg,#071c31,#103b60);padding:28px 16px;color:#fff;overflow:auto}.rtops-brand{padding:0 12px 26px}.rtops-brand b{display:block;letter-spacing:2px;font-size:18px}.rtops-brand span{color:#a9bdcd;font-size:9px;letter-spacing:1.4px}.rtops-side button{width:100%;border:0;background:transparent;color:#b9cad7;padding:11px 12px;margin:2px 0;border-radius:9px;text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer}.rtops-side button i{font-style:normal;background:rgba(255,255,255,.08);width:25px;height:25px;display:grid;place-items:center;border-radius:7px;font-size:11px}.rtops-side button:hover,.rtops-side button.active{background:rgba(255,255,255,.1);color:#fff}.rtops-side button.active{box-shadow:inset 3px 0 #c9a35a}.rtops-main{overflow:auto}.rtops-main>header{height:82px;background:#fff;border-bottom:1px solid #dde6ee;display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:3}.rtops-main header small{color:#9a7434;font-size:10px;letter-spacing:1.2px}.rtops-main h1{font-size:22px;margin:3px 0}.rtops-main header>div:last-child{display:flex;gap:9px;align-items:center}.rtops-main header span{font-size:12px;color:#62788b;background:#eef3f7;padding:6px 9px;border-radius:999px}.rtops-main button{cursor:pointer}.rtops-primary,.rtops-ghost,.rtops-modal footer button{border:1px solid #d5e0e9;padding:9px 14px;border-radius:8px;background:#fff;color:#27445e}.rtops-primary{background:#123b61!important;color:#fff!important;border-color:#123b61!important}.rtops-ghost{background:#fff}.rtops-danger{color:#a73535!important;border-color:#efcaca!important}.rtops-main>#rtops-content{padding:28px 32px;max-width:1500px;margin:auto}.rtops-hero{background:linear-gradient(125deg,#0b2945,#174e78);color:#fff;border-radius:18px;padding:32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 16px 35px rgba(12,43,69,.13)}.rtops-hero small{color:#d7ba7d;letter-spacing:1.5px}.rtops-hero h2{font-size:28px;margin:8px 0}.rtops-hero p{color:#c5d3df;margin:0}.rtops-heroamt{text-align:right}.rtops-heroamt span,.rtops-heroamt em{display:block;font-style:normal;color:#c5d3df}.rtops-heroamt b{display:block;font-size:30px;margin:8px 0}.rtops-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.rtops-kpis article{background:#fff;border:1px solid #e0e8ee;border-top:3px solid #c9a35a;padding:20px;border-radius:13px}.rtops-kpis span{font-size:13px;color:#6e8192}.rtops-kpis b{font-size:27px;display:block;margin-top:8px}.rtops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.rtops-grid button{border:1px solid #dfe7ee;background:#fff;border-radius:14px;padding:20px;text-align:left;display:grid;grid-template-columns:42px 1fr;gap:12px;color:#17324d}.rtops-grid button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,47,74,.08)}.rtops-grid i{font-style:normal;background:#eef4f8;color:#123b61;width:42px;height:42px;display:grid;place-items:center;border-radius:11px}.rtops-grid span b,.rtops-grid span small{display:block}.rtops-grid span small{color:#738697;line-height:1.5;margin-top:5px}.rtops-grid em{grid-column:2;font-style:normal;font-size:12px;color:#9a7434}.rtops-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.rtops-intro h2{margin:0}.rtops-intro p{margin:6px 0 0;color:#708496}.rtops-intro>span{background:#fff;border:1px solid #dfe7ee;padding:7px 10px;border-radius:999px;font-size:12px}.rtops-tablewrap{background:#fff;border:1px solid #dde6ee;border-radius:14px;overflow:auto}.rtops-tablewrap table{border-collapse:collapse;width:100%;min-width:760px}.rtops-tablewrap th,.rtops-tablewrap td{padding:13px 15px;border-bottom:1px solid #edf1f4;text-align:left}.rtops-tablewrap th{font-size:12px;color:#6e8192;background:#f7f9fb}.rtops-tablewrap tr[data-row]{cursor:pointer}.rtops-tablewrap tr[data-row]:hover{background:#f8fbfd}.rtops-tablewrap td small{display:block;color:#8293a1;margin-top:3px}.rtops-status{padding:5px 9px;background:#edf5f1;color:#23634b;border-radius:999px;font-size:12px}.rtops-empty{background:#fff;border:1px dashed #cad7e1;border-radius:14px;text-align:center;padding:60px 20px;color:#6d8193}.rtops-empty b{color:#27445e;font-size:18px}.rtops-entry{border:1px solid rgba(201,163,90,.35)!important}.rtops-modal{position:fixed;z-index:10002;inset:5vh max(5vw,50% - 620px);background:#fff;border-radius:16px;box-shadow:0 30px 90px rgba(5,25,42,.35);display:flex;flex-direction:column;overflow:hidden}.rtops-modal:before{content:"";position:fixed;z-index:-1;inset:0;background:rgba(5,20,34,.55)}.rtops-modalhead{display:flex;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e1e8ee}.rtops-modalhead small{color:#9a7434}.rtops-modalhead h2{margin:3px 0}.rtops-modalhead button{border:0;background:#eef3f6;width:34px;height:34px;border-radius:50%;font-size:22px}.rtops-form{padding:22px 24px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.rtops-form label>span,.rtops-items>div>span{display:block;font-size:12px;color:#61778b;margin-bottom:6px}.rtops-form input,.rtops-form select,.rtops-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfdae3;border-radius:8px;padding:10px;color:#203c55;background:#fff}.rtops-form textarea{min-height:76px;resize:vertical}.rtops-form .wide{grid-column:1/-1}.rtops-items>div{display:flex;justify-content:space-between;align-items:center}.rtops-items button{border:1px solid #d1dce5;background:#fff;border-radius:7px;padding:6px 9px}.rtops-items table{width:100%;border-collapse:collapse}.rtops-items th{font-size:11px;color:#728596;text-align:left}.rtops-items th,.rtops-items td{padding:5px}.rtops-modal footer{padding:14px 24px;border-top:1px solid #e1e8ee;display:flex;justify-content:space-between}.rtops-modal footer div{display:flex;gap:8px}
.rtops-reference-note{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid #d9e4ec;border-left:3px solid #c9a35a;border-radius:9px;background:#f8fafc;color:#526b80;font-size:12px;line-height:1.6}.rtops-reference-note b{flex:0 0 auto;color:#173a59}.rtops-items>div>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.rtops-form select[data-reference-type]{border-color:#b9cad8;background:#fbfdff}
@media(max-width:1050px){.rtops-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.rtops-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.rtops-side{padding:8px;display:flex;overflow-x:auto}.rtops-brand{display:none}.rtops-side button{width:auto;min-width:72px;white-space:nowrap;flex-direction:column;font-size:10px;padding:7px}.rtops-side button i{height:21px}.rtops-main>header{height:66px;padding:0 14px}.rtops-main header small,.rtops-main header span,.rtops-ghost{display:none}.rtops-main h1{font-size:18px}.rtops-main>#rtops-content{padding:14px}.rtops-hero{padding:22px;display:block}.rtops-hero h2{font-size:23px}.rtops-heroamt{text-align:left;margin-top:22px}.rtops-kpis{grid-template-columns:repeat(2,1fr)}.rtops-grid{grid-template-columns:1fr}.rtops-modal{inset:0;border-radius:0}.rtops-form{grid-template-columns:1fr;padding:16px}.rtops-form .wide{grid-column:auto}.rtops-items{overflow:auto}.rtops-items table{min-width:650px}.rtops-modal footer{padding:12px}.rtops-intro{align-items:start}.rtops-intro p{font-size:12px}}
@media print{#rt-ops-root{position:static}.rtops-side,.rtops-main>header{display:none}.rtops-shell{display:block}.rtops-main>#rtops-content{padding:0}}

/* 2.5.5: lock readable foreground/background pairs inside the operations workspace.
   The global theme module intentionally owns normal OA headings, so these ID-scoped
   rules prevent its generic h1/h2/h3 rules from turning dark hero text unreadable. */
@media screen{
html[data-rt-theme] #rt-ops-root{background:var(--rt-theme-canvas)!important;color:var(--rt-theme-ink)!important}
html[data-rt-theme] #rt-ops-root .rtops-side{background:linear-gradient(180deg,var(--rt-theme-primary),var(--rt-theme-secondary))!important;color:var(--rt-theme-navText)!important}
html[data-rt-theme] #rt-ops-root .rtops-brand b{color:#fff!important}
html[data-rt-theme] #rt-ops-root .rtops-brand span,
html[data-rt-theme] #rt-ops-root .rtops-side button{color:var(--rt-theme-navMuted)!important}
html[data-rt-theme] #rt-ops-root .rtops-side button:hover,
html[data-rt-theme] #rt-ops-root .rtops-side button.active{color:#fff!important}
html[data-rt-theme] #rt-ops-root .rtops-main>header{background:var(--rt-theme-panel)!important;border-color:var(--rt-theme-line)!important;color:var(--rt-theme-ink)!important}
html[data-rt-theme] #rt-ops-root .rtops-main h1,
html[data-rt-theme] #rt-ops-root .rtops-intro h2,
html[data-rt-theme] #rt-ops-root .rtops-modalhead h2{color:var(--rt-theme-heading)!important}
html[data-rt-theme] #rt-ops-root .rtops-main header small,
html[data-rt-theme] #rt-ops-root .rtops-grid em,
html[data-rt-theme] #rt-ops-root .rtops-modalhead small{color:var(--rt-theme-accentText)!important}
html[data-rt-theme] #rt-ops-root .rtops-main header span{background:var(--rt-theme-surfaceAlt)!important;color:var(--rt-theme-ink)!important}
html[data-rt-theme] #rt-ops-root .rtops-hero{background:linear-gradient(125deg,var(--rt-theme-primary),var(--rt-theme-secondary))!important;color:#fff!important}
html[data-rt-theme] #rt-ops-root .rtops-hero h2,
html[data-rt-theme] #rt-ops-root .rtops-heroamt b{color:#fff!important}
html[data-rt-theme] #rt-ops-root .rtops-hero p,
html[data-rt-theme] #rt-ops-root .rtops-heroamt span,
html[data-rt-theme] #rt-ops-root .rtops-heroamt em{color:var(--rt-theme-navMuted)!important}
html[data-rt-theme] #rt-ops-root .rtops-hero small{color:#f2d89d!important}
html[data-rt-theme] #rt-ops-root .rtops-kpis article,
html[data-rt-theme] #rt-ops-root .rtops-grid button,
html[data-rt-theme] #rt-ops-root .rtops-tablewrap,
html[data-rt-theme] #rt-ops-root .rtops-empty,
html[data-rt-theme] #rt-ops-root .rtops-modal{background:var(--rt-theme-panel)!important;border-color:var(--rt-theme-line)!important;color:var(--rt-theme-ink)!important}
html[data-rt-theme] #rt-ops-root .rtops-kpis article{border-top-color:var(--rt-theme-accent)!important}
html[data-rt-theme] #rt-ops-root .rtops-kpis b,
html[data-rt-theme] #rt-ops-root .rtops-grid button span b,
html[data-rt-theme] #rt-ops-root .rtops-tablewrap td,
html[data-rt-theme] #rt-ops-root .rtops-tablewrap td b,
html[data-rt-theme] #rt-ops-root .rtops-empty b{color:var(--rt-theme-heading)!important}
html[data-rt-theme] #rt-ops-root .rtops-kpis span,
html[data-rt-theme] #rt-ops-root .rtops-grid button span small,
html[data-rt-theme] #rt-ops-root .rtops-intro p,
html[data-rt-theme] #rt-ops-root .rtops-tablewrap td small,
html[data-rt-theme] #rt-ops-root .rtops-empty{color:var(--rt-theme-muted)!important}
html[data-rt-theme] #rt-ops-root .rtops-grid i{background:var(--rt-theme-accentSoft)!important;color:var(--rt-theme-primary)!important}
html[data-rt-theme] #rt-ops-root .rtops-intro>span{background:var(--rt-theme-panel)!important;border-color:var(--rt-theme-line)!important;color:var(--rt-theme-ink)!important}
html[data-rt-theme] #rt-ops-root .rtops-tablewrap th{background:var(--rt-theme-surfaceAlt)!important;color:var(--rt-theme-muted)!important}
html[data-rt-theme] #rt-ops-root .rtops-tablewrap tr[data-row]:hover td{background:var(--rt-theme-hover)!important}
html[data-rt-theme] #rt-ops-root .rtops-modalhead,
html[data-rt-theme] #rt-ops-root .rtops-modal footer{border-color:var(--rt-theme-line)!important;color:var(--rt-theme-ink)!important}
html[data-rt-theme] #rt-ops-root .rtops-modalhead button{background:var(--rt-theme-surfaceAlt)!important;color:var(--rt-theme-heading)!important}
html[data-rt-theme] #rt-ops-root .rtops-form label>span,
html[data-rt-theme] #rt-ops-root .rtops-items>div>span,
html[data-rt-theme] #rt-ops-root .rtops-items th{color:var(--rt-theme-muted)!important}
html[data-rt-theme] #rt-ops-root .rtops-form input,
html[data-rt-theme] #rt-ops-root .rtops-form select,
html[data-rt-theme] #rt-ops-root .rtops-form textarea{background:#fff!important;color:#18324a!important;border-color:var(--rt-theme-fieldLine)!important;-webkit-text-fill-color:#18324a!important}
html[data-rt-theme] #rt-ops-root .rtops-form input::placeholder,
html[data-rt-theme] #rt-ops-root .rtops-form textarea::placeholder{color:#6b7d8d!important;opacity:1}
html[data-rt-theme] #rt-ops-root .rtops-form select option{background:#fff!important;color:#18324a!important}
html[data-rt-theme] #rt-ops-root .rtops-form:disabled input,
html[data-rt-theme] #rt-ops-root .rtops-form:disabled select,
html[data-rt-theme] #rt-ops-root .rtops-form:disabled textarea{background:#f4f6f8!important;color:#344b5e!important;-webkit-text-fill-color:#344b5e!important;opacity:1}
html[data-rt-theme] #rt-ops-root .rtops-reference-note{background:var(--rt-theme-surfaceAlt)!important;border-color:var(--rt-theme-line)!important;border-left-color:var(--rt-theme-accent)!important;color:var(--rt-theme-muted)!important}
html[data-rt-theme] #rt-ops-root .rtops-reference-note b{color:var(--rt-theme-heading)!important}
html[data-rt-theme] #rt-ops-root .rtops-ghost,
html[data-rt-theme] #rt-ops-root .rtops-items button,
html[data-rt-theme] #rt-ops-root .rtops-modal footer button:not(.rtops-primary){background:var(--rt-theme-panel)!important;border-color:var(--rt-theme-line)!important;color:var(--rt-theme-heading)!important}
}

.rtops-preview-button{min-height:34px!important;padding:6px 10px!important;white-space:nowrap;background:#fff!important;color:#173a59!important;border:1px solid #b9cad8!important;border-radius:7px!important}
.rtops-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
@media screen{
  .rtops-preview{position:fixed;z-index:10003;inset:0;overflow:auto;background:#e8edf2;color:#111}
  .rtops-preview-toolbar{position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:10px 18px;background:rgba(255,255,255,.97);border-bottom:1px solid #cbd5df;box-shadow:0 4px 18px rgba(15,32,48,.1)}
  .rtops-preview-toolbar>span{color:#52687c;font-size:13px;font-weight:600}
  .rtops-preview-toolbar>div{display:flex;gap:8px}
  .rtops-preview-stage{padding:22px 12px 42px}
  #rt-ops-root .rtops-paper{width:210mm;max-width:calc(100vw - 28px);min-height:297mm;box-sizing:border-box}
  #rt-ops-root .rtops-paper h1,#rt-ops-root .rtops-paper h2,#rt-ops-root .rtops-paper b{color:#111!important}
}
#rt-ops-root .rtops-paper{font:13px/1.65 "Noto Serif SC","Songti SC",SimSun,serif;color:#111;background:#fff}
#rt-ops-root .rtops-paper-brand{display:flex;align-items:flex-end;justify-content:space-between;gap:12mm;padding-bottom:9px;margin-bottom:14px;border-bottom:2px solid #173a59;color:#173a59;font-family:Arial,"Microsoft YaHei",sans-serif}
#rt-ops-root .rtops-paper-brand-block{display:grid;gap:2px;min-width:0}
#rt-ops-root .rtops-paper-company{width:96mm}
#rt-ops-root .rtops-paper-document{display:flex;align-items:flex-end;justify-content:flex-end;min-width:52mm;margin-left:auto;padding:0 0 2px 10mm;text-align:right}
#rt-ops-root .rtops-paper-document span{display:block;color:#173a59!important;font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.16em;white-space:nowrap}
#rt-ops-root .rtops-paper-brand-zh,#rt-ops-root .rtops-paper-brand-en{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;white-space:nowrap;overflow:visible;color:#173a59!important}
#rt-ops-root .rtops-paper-brand-zh i,#rt-ops-root .rtops-paper-brand-en i{display:block;flex:0 0 auto;margin:0;padding:0;color:inherit;font:inherit;font-style:normal;line-height:inherit}
#rt-ops-root .rtops-paper-brand-zh{font-size:13px;line-height:1.3;font-weight:700}
#rt-ops-root .rtops-paper-brand-en{font-size:7.6px;line-height:1.3;font-weight:600;letter-spacing:0}
#rt-ops-root .rtops-paper h1{margin:0 0 18px;text-align:center;font-size:24px;line-height:1.5;letter-spacing:4px}
#rt-ops-root .rtops-paper h2{margin:18px 0 8px;font-size:15px;break-after:avoid}
#rt-ops-root .rtops-paper-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;padding:10px 12px;margin-bottom:16px;background:#f7f8fa;border:1px solid #c9cfd6;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:11px}
#rt-ops-root .rtops-paper table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px;line-height:1.4}
#rt-ops-root .rtops-paper th,#rt-ops-root .rtops-paper td{padding:5px 7px;border:1px solid #69727c;background:#fff!important;color:#111!important;text-align:left;vertical-align:middle;overflow-wrap:anywhere}
#rt-ops-root .rtops-paper thead th{background:#eef1f4!important;text-align:center;font-weight:700}
#rt-ops-root .rtops-paper-items th:nth-child(1){width:6%}
#rt-ops-root .rtops-paper-items th:nth-child(2){width:32%}
#rt-ops-root .rtops-paper-items th:nth-child(3){width:8%}
#rt-ops-root .rtops-paper-items th:nth-child(4){width:9%}
#rt-ops-root .rtops-paper-items th:nth-child(5){width:14%}
#rt-ops-root .rtops-paper-items th:nth-child(6){width:10%}
#rt-ops-root .rtops-paper-items th:nth-child(7){width:21%}
#rt-ops-root .rtops-paper-details th{width:29%;background:#f5f6f8!important;font-weight:600}
#rt-ops-root .rtops-paper-config{table-layout:fixed;font-size:inherit;line-height:inherit}
#rt-ops-root .rtops-paper-config th{width:18%}
#rt-ops-root .rtops-paper-config td{width:32%;word-break:break-word}
#rt-ops-root .rtops-quotation-date{display:block;padding:0;margin:0 0 14px;background:transparent!important;border:0;text-align:right}
#rt-ops-root .rtops-quote-paper table{font-size:10.2px;line-height:1.4}
#rt-ops-root .rtops-quote-paper .rtops-paper-brand{margin-bottom:8px}
#rt-ops-root .rtops-quote-paper h1{margin-bottom:8px;font-size:32px;line-height:1.35;font-weight:700;letter-spacing:6px}
#rt-ops-root .rtops-quote-paper .rtops-quotation-date{margin-bottom:8px}
#rt-ops-root .rtops-quote-paper th,#rt-ops-root .rtops-quote-paper td{padding:6px 7px}
#rt-ops-root .rtops-quote-paper h2{margin:12px 0 6px}
#rt-ops-root .rtops-quote-paper .rtops-paper-total{margin-top:12px}
#rt-ops-root .rtops-quote-paper .rtops-paper-sign{margin-top:16px;padding-top:8px}
#rt-ops-root .rtops-quote-paper .rtops-quote-pricing th{width:16%}
#rt-ops-root .rtops-quote-paper .rtops-quote-pricing td{width:34%}
#rt-ops-root .rtops-quote-paper .rtops-quote-pricing{margin-bottom:4px}
#rt-ops-root .rtops-quote-paper .rtops-paper-config th,#rt-ops-root .rtops-quote-paper .rtops-paper-config td{padding:3px 7px}
#rt-ops-root .rtops-paper-total{margin:10px 0 0;text-align:right;font-family:Arial,"Microsoft YaHei",sans-serif}
#rt-ops-root .rtops-paper-sign{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:34px;padding-top:12px;border-top:1px solid #777;break-inside:avoid;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:11px}
@media(max-width:720px){.rtops-preview-toolbar{align-items:stretch;flex-direction:column}.rtops-preview-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.rtops-preview-toolbar button{width:100%}.rtops-preview-stage{padding:12px 4px 28px}#rt-ops-root .rtops-paper{max-width:100%}.rtops-modal footer{align-items:stretch;flex-direction:column}.rtops-modal footer>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px}.rtops-modal footer>div button{width:100%;padding:8px 6px}.rtops-row-actions{gap:4px}.rtops-tablewrap th:last-child,.rtops-tablewrap td:last-child{position:sticky;right:0;z-index:2;min-width:174px;background:#fff!important;box-shadow:-8px 0 12px rgba(17,45,69,.08)}.rtops-tablewrap th:last-child{z-index:3;background:#f7f9fb!important}.rtops-tablewrap td:last-child .rtops-row-actions{justify-content:flex-end}}
@media print{
  /* Android Chrome/WebView may ignore a named @page rule and retain the mobile
     viewport width. Keep an unnamed A4 fallback and remove every responsive
     width/scale constraint so phones, tablets and desktop print the same sheet. */
  @page{size:A4;margin:15mm 14mm 16mm}
  html,body{width:auto!important;min-width:0!important;max-width:none!important;overflow:visible!important}
  body.rtops-print-preview{margin:0!important;padding:0!important;background:#fff!important}
  /* The operations workspace now lives inside #root. Hiding #root here made
     every quotation, invoice, receivable, purchase and after-sales PDF blank.
     Keep the application root in the print tree and hide only its OA chrome. */
  body.rtops-print-preview>#root{display:block!important;position:static!important;width:auto!important;height:auto!important;min-height:0!important;overflow:visible!important}
  body.rtops-print-preview>#root>.shell{display:block!important;min-height:0!important}
  body.rtops-print-preview>#root .sidebar,
  body.rtops-print-preview>#root .workspace>.topbar,
  body.rtops-print-preview>#root .workspace>.workspace-body,
  body.rtops-print-preview>#recon-app,body.rtops-print-preview>#rongtou-auto-sync-status,body.rtops-print-preview>#rongtou-remote-update-banner{display:none!important}
  body.rtops-print-preview>#root .workspace{display:block!important;position:static!important;margin:0!important;width:auto!important;min-height:0!important;overflow:visible!important}
  body.rtops-print-preview #rt-ops-root{position:static!important;inset:auto!important;display:block!important;overflow:visible!important;background:#fff!important}
  body.rtops-print-preview #rt-ops-root>.rtops-shell,body.rtops-print-preview #rt-ops-root>.rtops-main{display:none!important}
  body.rtops-print-preview #rtops-dialog:before{display:none!important}
  body.rtops-print-preview #rtops-dialog,body.rtops-print-preview .rtops-preview,body.rtops-print-preview .rtops-preview-stage{position:static!important;display:block!important;inset:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;box-shadow:none!important}
  body.rtops-print-preview .rtops-preview-toolbar{display:none!important}
  body.rtops-print-preview .rtops-paper,
  body.rtops-print-preview .rtops-paper.a4-preview-source{
    display:block!important;position:static!important;width:auto!important;min-width:0!important;max-width:none!important;
    height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;
    overflow:visible!important;transform:none!important;transform-origin:initial!important;zoom:1!important;
    color:#111!important;background:#fff!important;border:0!important;box-shadow:none!important;
  }
  body.rtops-print-preview .rtops-quote-paper h1{font-size:24pt!important;line-height:1.35!important;font-weight:700!important;letter-spacing:6px!important}
  body.rtops-print-preview .rtops-paper table{width:100%!important;max-width:none!important;table-layout:fixed!important}
  body.rtops-print-preview .rtops-paper-brand,body.rtops-print-preview .rtops-paper-meta{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* 2.5.20: keep the backdrop behind the dialog instead of tinting the form.
   Use fixed high-contrast form colours for every retained business module. */
#rtops-dialog:not(:empty)::before{
  content:"";
  position:fixed;
  z-index:10001;
  inset:0;
  background:rgba(5,20,34,.55);
}
#rt-ops-root .rtops-modal:before{display:none!important}
#rt-ops-root .rtops-modal{
  z-index:10002;
  background:#fff!important;
  color:#142f47!important;
}
#rt-ops-root .rtops-modalhead,
#rt-ops-root .rtops-modal footer{
  background:#fff!important;
  color:#142f47!important;
}
#rt-ops-root .rtops-form{
  background:#f5f8fb!important;
  color:#142f47!important;
}
#rt-ops-root .rtops-form label>span,
#rt-ops-root .rtops-items>div>span,
#rt-ops-root .rtops-items th{
  color:#203f5b!important;
  font-weight:700!important;
  opacity:1!important;
  -webkit-text-fill-color:#203f5b!important;
}
#rt-ops-root .rtops-form input,
#rt-ops-root .rtops-form select,
#rt-ops-root .rtops-form textarea{
  background:#fff!important;
  color:#102c45!important;
  border-color:#aebfcd!important;
  opacity:1!important;
  -webkit-text-fill-color:#102c45!important;
}
#rt-ops-root .rtops-form input::placeholder,
#rt-ops-root .rtops-form textarea::placeholder{
  color:#5d7081!important;
  opacity:1!important;
  -webkit-text-fill-color:#5d7081!important;
}
#rt-ops-root .rtops-form select option{
  background:#fff!important;
  color:#102c45!important;
}
#rt-ops-root .rtops-reference-note{
  background:#fff!important;
  color:#405d74!important;
}
#rt-ops-root .rtops-reference-note b{color:#102f4b!important}
#rt-ops-root .rtops-vehicle-configs{padding:14px;border:1px solid #c9d6e0;border-radius:12px;background:#fff}
#rt-ops-root .rtops-config-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
#rt-ops-root .rtops-config-head>span{color:#203f5b;font-weight:700}
#rt-ops-root .rtops-config-head>div{display:flex;flex-wrap:wrap;gap:8px}
#rt-ops-root .rtops-config-head button{min-height:38px;padding:8px 14px}
#rt-ops-root .rtops-vehicle-configs>p{margin:8px 0 12px;color:#5d7081;font-size:13px}
#rt-ops-root .rtops-config-list{display:grid;gap:8px}
#rt-ops-root .rtops-config-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.7fr) 42px;gap:8px;align-items:center}
#rt-ops-root .rtops-config-row input{min-width:0}
#rt-ops-root .rtops-config-row button{height:42px;color:#c63c3c;background:#fff;border:1px solid #d8e1e8;border-radius:9px;font-size:20px}
@media(max-width:720px){
  #rt-ops-root .rtops-config-head{align-items:stretch;flex-direction:column}
  #rt-ops-root .rtops-config-head>div{display:grid;grid-template-columns:1fr 1fr}
  #rt-ops-root .rtops-config-row{grid-template-columns:1fr 42px}
  #rt-ops-root .rtops-config-row input:first-child{grid-column:1/-1}
}

/* 2.5.20: injected navigation items match the original OA navigation.
   Inactive rows are borderless; only the active row receives a fill. */
.sidebar .nav.rtops-entry{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.sidebar .nav.rtops-entry:hover{
  background:rgba(255,255,255,.07)!important;
}

/* 2.5.29: receivable registration references the reconciliation balance. */
#rt-ops-root .rtops-recon-balance{display:grid;grid-template-columns:1fr auto;gap:4px 18px;align-items:center;padding:14px 16px;border:1px solid #b9d3ef;border-left:4px solid #145bd4;border-radius:10px;background:#f2f8ff;color:#294966}
#rt-ops-root .rtops-recon-balance[hidden]{display:none}
#rt-ops-root .rtops-recon-balance span{font-size:13px;font-weight:700}
#rt-ops-root .rtops-recon-balance strong{font-size:22px;color:#0b58b5;text-align:right}
#rt-ops-root .rtops-recon-balance small{grid-column:1/-1;color:#5c7185;line-height:1.5}
#rt-ops-root .rtops-form input[readonly]{background:#edf3f8!important;color:#173a59!important;font-weight:700;cursor:default}
#rt-ops-root .rtops-main>header>div:last-child>.rt-theme-control{order:-1;margin-right:3px;padding:0}
@media(max-width:700px){#rt-ops-root .rtops-recon-balance{grid-template-columns:1fr}#rt-ops-root .rtops-recon-balance strong{text-align:left;font-size:18px}}
.sidebar .nav.rtops-entry.active{
  background:rgba(255,255,255,.12)!important;
}

/* 2.5.21 unified OA: business views render inside the original workspace.
   The original sidebar remains the only navigation surface. */
#rt-ops-root.rtops-unified-root{
  position:relative!important;
  z-index:1!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:100vh;
  background:#f3f6f9;
}
#rt-ops-root.rtops-unified-root[hidden]{display:none!important}
.workspace.rtops-unified-open>.topbar,
.workspace.rtops-unified-open>.workspace-body{
  display:none!important;
}
#rt-ops-root.rtops-unified-root .rtops-main{
  width:100%;
  min-width:0;
  min-height:100vh;
  overflow:visible;
}
#rt-ops-root.rtops-unified-root .rtops-main>header{
  position:sticky;
  top:0;
}
@media(max-width:720px){
  #rt-ops-root.rtops-unified-root{min-height:100dvh!important;height:auto!important}
  #rt-ops-root.rtops-unified-root .rtops-main{min-height:100dvh}
}
.rtops-purchase-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}.rtops-purchase-stats>div{padding:18px 20px;border:1px solid #dce5ef;border-radius:12px;background:#fff;box-shadow:0 4px 16px rgba(16,47,77,.05)}.rtops-purchase-stats span,.rtops-purchase-payable span{display:block;color:#64788d;font-size:13px}.rtops-purchase-stats b{display:block;margin-top:7px;color:#102f4d;font-size:22px}.rtops-purchase-contract{padding:16px;border:1px solid #cfdbe8;border-left:4px solid #cda84b;border-radius:10px;background:#f8fbfe}.rtops-purchase-contract-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.rtops-purchase-contract-head>div:first-child{min-width:0}.rtops-purchase-contract strong{display:block;color:#193b5a}.rtops-purchase-contract small{display:block;margin-top:5px;color:#6d7f91;overflow-wrap:anywhere}.rtops-purchase-contract-head>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rtops-purchase-upload{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 13px;border-radius:8px;background:#123e64;color:#fff;font-weight:700;white-space:nowrap;cursor:pointer}.rtops-purchase-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.rtops-purchase-upload:has(input:disabled){opacity:.45;cursor:not-allowed}.rtops-purchase-contract p{margin:12px 0 0;font-size:12px;line-height:1.65}.rtops-contract-status{margin-top:8px;color:#25613f;font-size:13px;font-weight:700}.rtops-purchase-payable{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #d5e0ea;border-radius:10px;background:#f4f8fc}.rtops-purchase-payable>div{padding:10px 12px;border-right:1px solid #d7e1eb}.rtops-purchase-payable>div:last-child{border-right:0}.rtops-purchase-payable b{display:block;margin-top:5px;color:#123e64;font-size:18px}.rtops-purchase-payable>div:last-child b{color:#9b5d14}
@media(max-width:720px){.rtops-purchase-stats,.rtops-purchase-payable{grid-template-columns:1fr}.rtops-purchase-contract-head{align-items:flex-start;flex-direction:column}.rtops-purchase-payable>div{border-right:0;border-bottom:1px solid #d7e1eb}.rtops-purchase-payable>div:last-child{border-bottom:0}}
