:root { color-scheme:light; --brand:#176b5b; --brand2:#24a386; --ink:#18332e; --muted:#6b7e79; --line:#dce7e3; --bg:#f3f8f6; --surface:#fff; --surface-soft:#f7fbf9; --surface-muted:#eef7f4; --danger:#bb3e3e; --warning:#a56a00; }
:root[data-theme="dark"] { color-scheme:dark; --brand:#64e6c6; --brand2:#30b895; --ink:#f4f8fa; --muted:#becbd3; --line:#5b788b; --bg:#070b10; --surface:#1c2d3a; --surface-soft:#263d4b; --surface-muted:#315061; --danger:#ff9298; --warning:#ffd074; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; color:var(--ink); background:var(--bg); transition:color .18s ease,background .18s ease; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:var(--brand); }
a.btn { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.shell { width:min(96vw,3600px); max-width:none; margin:auto; padding:24px 0 40px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.brand { display:flex; align-items:center; gap:12px; }
.logo { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; color:white; font-weight:800; background:linear-gradient(135deg,var(--brand),var(--brand2)); box-shadow:0 8px 24px #176b5b30; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:24px; margin-bottom:3px; }
h2 { font-size:18px; }
.muted { color:var(--muted); }
.text-danger { color:var(--danger); font-weight:700; }
.danger-text { color:var(--danger); font-weight:700; }
.success-text { color:var(--brand); font-weight:700; }
.grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.card { background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:20px; box-shadow:0 8px 30px rgba(20,70,60,.06); }
.span-2 { grid-column:span 2; } .span-4 { grid-column:span 4; } .span-6 { grid-column:span 6; } .span-8 { grid-column:span 8; } .span-12 { grid-column:span 12; }
.field { display:grid; gap:7px; margin-bottom:14px; }
label { font-size:13px; font-weight:650; }
input,select,textarea { width:100%; min-height:42px; border:1px solid var(--line); border-radius:10px; padding:9px 11px; background:var(--surface); color:var(--ink); }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { outline:2px solid #24a38633; border-color:var(--brand2); }
.password-control { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:stretch; }
.password-control input { min-width:0; }
.password-toggle { min-width:64px; border:1px solid var(--line); border-radius:10px; padding:8px 12px; color:var(--brand); background:#f3faf8; font-weight:700; }
.password-toggle:hover { border-color:var(--brand2); background:#e8f4f1; }
.guide-link { margin:16px 0 0; text-align:center; font-size:13px; }
.passport-capture { margin:16px 0; padding:16px; border:1px solid var(--line); border-radius:14px; background:#f8fcfa; }
.passport-heading,.passport-result-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.passport-heading h3 { margin-bottom:4px; }
.passport-drop { min-height:105px; margin-top:13px; padding:20px; display:grid; place-items:center; gap:7px; text-align:center; border:2px dashed #9acbc0; border-radius:13px; background:#fff; cursor:pointer; transition:.15s ease; }
.passport-drop:hover,.passport-drop.dragging { border-color:var(--brand2); background:#edf9f5; transform:translateY(-1px); }
.passport-editor { display:grid; gap:12px; margin-top:14px; }
.passport-canvas { display:block; width:100%; height:auto; max-height:680px; border-radius:12px; background:#17231f; cursor:crosshair; touch-action:none; }
.passport-toolbar { display:flex; flex-wrap:wrap; gap:9px; }
.passport-hint { padding:8px 10px; border-radius:9px; background:#eef7f4; }
.passport-result { margin:14px 0 0; }
.passport-result-grid { display:grid; grid-template-columns:90px minmax(120px,1fr) 90px minmax(120px,1fr); gap:8px 12px; margin:13px 0; }
.passport-result-grid span { color:var(--muted); }
@media(max-width:760px){.passport-heading,.passport-result-head{align-items:flex-start;flex-direction:column}.passport-result-grid{grid-template-columns:90px 1fr}.passport-toolbar .btn{flex:1 1 42%}}
.client-info-card > .topbar { margin-bottom:14px; }
.client-info-card > .topbar h2 { margin-bottom:4px; }
.client-info-card-summary,.client-info-group-summary { cursor:pointer; list-style:none; }
.client-info-card-summary::-webkit-details-marker,.client-info-group-summary::-webkit-details-marker { display:none; }
.client-info-card-details[open] > .client-info-card-summary { margin-bottom:14px; }
.client-info-card-summary h2 { margin-bottom:4px; }
.client-info-heading-actions { display:flex; align-items:center; gap:9px; }
.collapse-label { flex:0 0 auto; color:var(--brand); font-size:12px; font-weight:750; white-space:nowrap; }
.collapse-label .when-open { display:none; }
details[open] > summary .collapse-label .when-open { display:inline; }
details[open] > summary .collapse-label .when-closed { display:none; }
.client-info-groups { display:grid; gap:10px; }
.client-info-group { padding:12px; border:1px solid var(--line); border-radius:14px; background:#fbfdfc; }
.client-info-group > h3 { margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.client-info-group-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.client-info-group-summary h3 { margin:0; }
.client-info-group-details[open] > .client-info-group-summary { margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.client-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px 15px; }
.client-info-grid .field { min-width:0; margin:0; align-content:start; }
.client-info-grid .field.wide { grid-column:span 2; }
.client-info-grid label b { margin-left:3px; color:var(--danger); }
.client-info-grid .small { line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.smart-tool-button { justify-self:start; border:1px solid #9bcfc3; border-radius:9px; padding:7px 10px; background:#edf8f5; color:var(--brand); font-size:12px; font-weight:750; }
.smart-tool-button:hover { border-color:var(--brand2); background:#e2f4ef; }
.smart-tool-button:disabled { opacity:.55; cursor:wait; }
.accommodation-assist { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(320px,1.5fr) auto; gap:12px; align-items:end; margin:0 0 16px; padding:15px; border:1px solid #bcded6; border-radius:13px; background:#eef8f5; }
.accommodation-assist h3 { margin-bottom:4px; }
.accommodation-assist textarea { min-height:78px; }
.accommodation-assist .btn { align-self:center; }
.accommodation-assist-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.client-info-save { position:sticky; bottom:8px; z-index:5; align-items:center; margin-top:14px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#f3f8f6ee; backdrop-filter:blur(8px); }
.sidebar-order-tabs .workspace-tab { flex:1; }
.customer-access-card { margin:16px 0; display:grid; grid-template-columns:minmax(220px,1fr) auto minmax(320px,1.4fr) auto; align-items:end; gap:16px; }
.customer-access-card h2 { margin-bottom:5px; }
.customer-access-code { display:grid; gap:6px; }
.customer-access-code span,.customer-access-link label { color:var(--muted); font-size:12px; font-weight:650; }
.customer-access-code strong { font-size:34px; line-height:1; letter-spacing:8px; color:var(--brand); }
.customer-access-link { min-width:0; }
.customer-access-link input { margin-top:6px; font-size:13px; }
.sidebar-access-card { display:grid; grid-template-columns:1fr; align-items:stretch; padding:14px; border:1px solid var(--line); border-radius:14px; background:#f5fbf9; }
.sidebar-access-code-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; }
.sidebar-access-code-row > span { color:var(--muted); font-size:12px; font-weight:700; }
.sidebar-access-code-row > strong { min-width:0; font-size:25px; line-height:1; letter-spacing:4px; color:var(--brand); }
.sidebar-access-link-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; }
.sidebar-access-link-row input { min-width:0; min-height:36px; padding:7px 9px; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-access-button { min-height:36px; padding:7px 10px; white-space:nowrap; font-size:12px; }
.sidebar-access-reset { flex:0 0 auto; border:0; padding:3px 0; color:var(--muted); background:transparent; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.sidebar-access-reset:hover { color:var(--danger); }
.invitation-access .sidebar-access-code-row { grid-template-columns:auto 1fr; }
.mobile-shell .invitation-access .sidebar-access-link-row { grid-template-columns:minmax(0,1fr); }
.customer-invitation-actions { display:flex; gap:14px; align-items:center; }
.customer-invitation-actions > .btn { flex:1; }
.invitation-settings { margin:16px 0; }
.invitation-settings textarea { min-height:140px; }
.invitation-preview { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; background:var(--surface-soft); border:1px solid var(--line); border-radius:10px; padding:14px; }
.mobile-shell .sidebar-access-card { grid-template-columns:minmax(0,1fr); }
.mobile-shell .sidebar-access-link-row { width:100%; grid-template-columns:minmax(0,1fr) auto auto; }
.mobile-shell .sidebar-order-tabs { flex-wrap:nowrap; gap:6px; }
.mobile-shell .sidebar-order-tabs .workspace-tab { flex:1 1 0; min-width:0; padding:9px 4px; font-size:13px; line-height:1.2; white-space:nowrap; }
.mobile-shell .client-info-group > h3 { font-size:16px; line-height:1.25; }
.mobile-shell .passport-capture { margin-top:0; padding:12px; }
.mobile-shell .passport-heading { display:none; }
.customer-access-login { max-width:480px; margin:48px auto; padding:28px; text-align:center; }
.customer-access-login .field { text-align:left; }
.customer-access-login input { text-align:center; font-size:28px; font-weight:800; letter-spacing:10px; }
.access-lock-icon { width:58px; height:58px; margin:0 auto 14px; display:grid; place-items:center; border-radius:18px; background:#e6f5f1; font-size:28px; }
.travel-generator { margin-bottom:14px; background:linear-gradient(135deg,#f4fbf8,#fff); }
.travel-generator .topbar { align-items:flex-start; }
.travel-generator .client-info-grid { margin:14px 0; grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-travel-generator { padding:14px; border:1px solid var(--line); border-radius:14px; }
.admin-travel-generator .client-info-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:1200px){.admin-travel-generator .client-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.preview-open { overflow:hidden; }
.file-preview-overlay { position:fixed; inset:0; z-index:2000; display:grid; place-items:center; padding:18px; background:#071c18d9; backdrop-filter:blur(6px); }
.file-preview-dialog { width:min(1180px,96vw); height:min(900px,94vh); display:grid; grid-template-rows:auto 1fr; overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 28px 80px #001a1455; }
.file-preview-dialog header { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 16px; border-bottom:1px solid var(--line); }
.file-preview-dialog header > b { min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-preview-dialog [hidden] { display:none!important; }
.file-preview-dialog.has-gallery { grid-template-rows:auto minmax(0,1fr) auto; }
.file-preview-dialog header .actions { flex-shrink:0; }
.file-preview-dialog header .btn { white-space:nowrap; }
.file-preview-navigation { display:grid; justify-items:center; gap:7px; padding:10px 14px; border-top:1px solid var(--line); text-align:center; }
.file-preview-navigation-controls { display:flex; align-items:center; justify-content:center; gap:16px; }
.file-preview-navigation-controls > b { min-width:70px; font-variant-numeric:tabular-nums; }
.file-preview-stage { min-width:0; min-height:0; height:100%; display:grid; place-items:center; overflow:auto; padding:14px; background:#e9efed; }
.file-preview-image-wrap { width:100%; height:100%; min-width:0; min-height:0; display:grid; place-items:center; }
.file-preview-stage img { display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; box-shadow:0 8px 28px #001a1430; }
.file-preview-image-wrap img { transform:rotate(var(--preview-rotation,0deg)); transition:transform .18s ease; }
.file-preview-image-wrap.rotated { padding:6%; }
.file-preview-stage iframe { width:100%; height:100%; min-height:560px; border:0; background:#fff; }
.preview-loading,.preview-error { display:grid; justify-items:center; gap:12px; max-width:520px; padding:28px; text-align:center; color:var(--muted); }
.preview-loading b,.preview-error b { color:var(--ink); font-size:18px; }
.request-feedback { position:fixed; top:18px; left:50%; z-index:5000; max-width:min(92vw,620px); display:flex; align-items:center; gap:10px; transform:translateX(-50%); padding:11px 15px; border:1px solid #9ccfc2; border-radius:12px; color:var(--brand); background:#effaf7f2; box-shadow:0 12px 36px #001a1426; backdrop-filter:blur(10px); font-size:13px; font-weight:700; pointer-events:none; }
.request-feedback.success { color:#126348; border-color:#8dd1bb; background:#e9f9f2f2; }
.request-feedback.error { color:var(--danger); border-color:#efb8b8; background:#fff1f1f2; }
.request-spinner,.button-spinner { width:16px; height:16px; flex:0 0 auto; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:request-spin .72s linear infinite; }
.button-spinner { width:14px; height:14px; display:inline-block; margin-right:7px; vertical-align:-2px; }
@keyframes request-spin { to { transform:rotate(360deg); } }
.mobile-shell .client-info-card > .topbar { align-items:flex-start; flex-direction:column; }
@media(max-width:1100px){.client-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation-assist{grid-template-columns:1fr 1fr}.accommodation-assist>div:first-child{grid-column:1/-1}.customer-access-card{grid-template-columns:1fr 1fr}.customer-access-card>div:first-child{grid-column:1/-1}}
@media(max-width:760px){.client-info-grid,.travel-generator .client-info-grid{grid-template-columns:1fr}.client-info-grid .field.wide{grid-column:1}.client-info-group{padding:13px}.client-info-save{align-items:stretch;flex-direction:column}.client-info-save .btn{width:100%}.accommodation-assist{grid-template-columns:1fr}.accommodation-assist>div:first-child{grid-column:1}.file-preview-overlay{padding:0}.file-preview-dialog{width:100vw;height:100vh;max-height:none;border-radius:0}.file-preview-dialog header{align-items:flex-start;flex-direction:column}.file-preview-dialog header .actions{width:100%}.file-preview-dialog header .btn{flex:1;padding:8px}.file-preview-stage{padding:4px}.file-preview-stage iframe{min-height:0}}
.btn { border:0; border-radius:10px; padding:10px 15px; color:#fff; background:var(--brand); font-weight:650; }
.btn.secondary { color:var(--brand); background:#e8f4f1; }
.btn.ghost { color:var(--muted); background:transparent; border:1px solid var(--line); }
.btn.danger { color:var(--danger); background:#fff0f0; }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.btn[aria-busy="true"] { opacity:.78; cursor:wait; }
.actions { display:flex; flex-wrap:wrap; gap:9px; }
.list { display:grid; gap:10px; }
.row { padding:14px; border:1px solid var(--line); border-radius:13px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.row-main { min-width:0; }
.row-title { font-weight:700; }
.small { font-size:12px; }
.pill { display:inline-flex; border-radius:999px; padding:4px 9px; background:#e9f5f2; color:var(--brand); font-size:12px; font-weight:700; }
.pill.warn { background:#fff3d8; color:var(--warning); }
.pill.fail { background:#ffebeb; color:var(--danger); }
.hidden { display:none !important; }
.empty { padding:28px; text-align:center; color:var(--muted); border:1px dashed var(--line); border-radius:14px; }
.notice { padding:12px 14px; border-radius:11px; margin-bottom:14px; background:#eef7f5; color:var(--brand); }
.notice.error { background:#fff0f0; color:var(--danger); }
.mobile-shell { max-width:520px; margin:auto; padding:16px; }
.progress { height:7px; border-radius:999px; overflow:hidden; background:#e7efec; }
.progress > i { display:block; height:100%; background:linear-gradient(90deg,var(--brand),var(--brand2)); }
.pool-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.pool-intro p { margin-bottom:0; max-width:690px; }
.pool-flow { display:flex; align-items:center; gap:9px; white-space:nowrap; color:var(--brand); font-size:13px; font-weight:700; }
.pool-flow span { padding:8px 10px; border-radius:999px; background:#e9f5f2; }
.pool-flow i { color:var(--muted); font-style:normal; }
.editor-narrow { max-width:760px; margin:14px auto; }
.travel-pool-editor { max-width:1040px; }
.travel-pool-grid { align-items:start; }
.travel-pool-grid > .card,.travel-flight-fields > .field { min-width:0; }
.travel-flight-fields { gap:14px; }
.travel-flight-fields > .field { margin:0; }
.hotel-place-search { display:grid; gap:10px; margin-bottom:16px; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); }
.hotel-place-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }
.hotel-place-search-row input { min-width:0; }
.hotel-place-results { display:grid; gap:8px; }
.hotel-place-result { width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface); text-align:left; }
.hotel-place-result:hover { border-color:var(--brand2); background:var(--surface-muted); }
.hotel-place-result > span { min-width:0; display:grid; gap:3px; }
.hotel-place-result b,.hotel-place-result small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hotel-place-result > i { flex:0 0 auto; color:var(--brand); font-style:normal; font-weight:750; }
.hotel-map-link { justify-self:start; }
.check-grid { display:flex; flex-wrap:wrap; gap:9px; }
.check-option { min-height:42px; display:flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; font-weight:600; }
.check-option input,.select-title input { width:auto; min-height:auto; margin:0; }
.config-setting-block { display:grid; gap:8px; margin:4px 0 18px; }
.config-review-check { margin:0; }
.config-setting-note { margin:0 3px; line-height:1.55; }
.selectable-card { border:1px solid var(--line); border-radius:14px; padding:16px; background:#fbfdfc; }
.selectable-card.selected { border-color:#82cbbb; background:#f2faf7; box-shadow:inset 3px 0 0 var(--brand2); }
.selectable-card .topbar { margin-bottom:0; }
.selectable-card.selected .topbar { margin-bottom:14px; }
.select-title { display:flex; align-items:center; gap:10px; font-size:16px; }
.scheme-editor-form { display:grid; gap:10px; margin-top:10px; }
.scheme-editor-section { padding:14px; }
.scheme-editor-section > .topbar { margin-bottom:10px; }
.scheme-editor-host { display:grid; gap:9px; }
.scheme-selected-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(400px,1fr)); gap:7px; align-items:start; }
.scheme-ref-card { min-width:0; padding:9px 10px; border:1px solid var(--line); border-left:3px solid var(--brand2); border-radius:10px; background:var(--surface-soft); }
.scheme-ref-card.expanded { grid-column:1/-1; padding:12px; }
.scheme-ref-head { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:9px; }
.scheme-ref-head .select-title { min-width:0; font-size:13px; font-weight:760; }
.scheme-ref-head .select-title span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.scheme-ref-actions { display:flex; align-items:center; justify-content:flex-end; gap:5px; flex:0 0 auto; }
.scheme-ref-actions .pill { padding:3px 6px; }
.scheme-ref-actions .btn,.scheme-order-actions .btn { min-width:32px; padding:5px 8px; }
.scheme-order-actions { display:flex; gap:4px; }
.scheme-ref-note { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.35; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.scheme-ref-body { display:grid; align-items:end; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.scheme-ref-body .field { margin:0; }
.info-ref-body { grid-template-columns:minmax(190px,.6fr) minmax(360px,2fr); }
.material-ref-body { grid-template-columns:minmax(180px,.7fr) minmax(360px,2fr) repeat(3,minmax(120px,.65fr)); }
.scheme-feature-grid { grid-column:1/-1; }
.scheme-available { border:1px dashed var(--line); border-radius:10px; background:var(--surface-soft); }
.scheme-available > summary { display:flex; align-items:center; gap:7px; padding:10px 12px; color:var(--brand); font-size:13px; font-weight:760; cursor:pointer; list-style:none; }
.scheme-available > summary::-webkit-details-marker { display:none; }
.scheme-available > summary::before { content:"＋"; font-size:16px; }
.scheme-available[open] > summary::before { content:"－"; }
.scheme-available > summary span { margin-left:auto; color:var(--muted); font-size:11px; font-weight:600; }
.scheme-option-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:6px; padding:0 9px 9px; }
.scheme-option-card { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:7px; min-height:38px; padding:7px 9px; border:1px solid var(--line); border-radius:8px; background:var(--surface); cursor:pointer; }
.scheme-option-card input { width:auto; min-height:auto; margin:0; }
.scheme-option-card span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.scheme-option-card small { color:var(--muted); font-weight:500; }
.scheme-editor-save { position:sticky; bottom:8px; z-index:10; margin:0; padding:10px; border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb,var(--surface) 92%,transparent); backdrop-filter:blur(10px); }
.rule-flow { display:flex; align-items:center; justify-content:center; gap:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); color:var(--brand); font-weight:750; }
.rule-flow span { padding:8px 12px; border-radius:999px; background:var(--surface); border:1px solid var(--line); }
.rule-flow i { color:var(--muted); font-style:normal; }
.rule-summary { padding:17px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--surface); }
.rule-summary-main { display:grid; gap:6px; min-width:0; }
.rule-card { padding:18px; border:1px solid var(--line); border-radius:15px; background:var(--surface-soft); }
.rule-check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.rule-check { min-height:78px; padding:12px; display:flex; align-items:flex-start; gap:9px; border:1px solid var(--line); border-radius:12px; background:var(--surface); cursor:pointer; }
.rule-check.selected { border-color:#78c6b5; background:#eaf7f3; box-shadow:inset 3px 0 0 var(--brand2); }
.rule-check input { width:auto; min-height:auto; margin:3px 0 0; }
.rule-check span { display:grid; gap:3px; }
.rule-check small { color:var(--muted); font-weight:400; line-height:1.45; }
@media (max-width:900px) { .pool-intro { align-items:flex-start; flex-direction:column; } .pool-flow { white-space:normal; flex-wrap:wrap; } }
@media (max-width:900px) { .rule-check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .shell { padding:14px; } .span-2,.span-4,.span-6,.span-8 { grid-column:span 12; } .topbar { align-items:flex-start; } .card { padding:16px; border-radius:15px; } .pool-flow i,.rule-flow i { display:none; } .rule-flow { justify-content:flex-start; flex-wrap:wrap; } .rule-summary { align-items:flex-start; flex-direction:column; } .rule-check-grid { grid-template-columns:1fr; } .hotel-place-search-row{grid-template-columns:1fr}.hotel-place-search-row .btn{width:100%} }
@media(max-width:1100px){.scheme-selected-grid,.info-ref-body,.material-ref-body{grid-template-columns:1fr}.scheme-ref-card.expanded,.scheme-description-field,.scheme-feature-grid{grid-column:1}.scheme-ref-head{align-items:flex-start;flex-direction:column}.scheme-ref-actions{justify-content:flex-start;flex-wrap:wrap}.scheme-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.scheme-selected-grid,.scheme-option-grid{grid-template-columns:1fr}.scheme-option-card small{display:none}}

/* V5 wide-screen order workbench */
.main-nav { position:sticky; top:0; z-index:20; padding:10px; border:1px solid var(--line); border-radius:14px; background:#f3f8f6ee; backdrop-filter:blur(10px); }
.workspace-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.workspace-tabs { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.workspace-tab { border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:12px; padding:11px 17px; font-weight:750; }
.workspace-tab.active { background:var(--brand); border-color:var(--brand); color:#fff; }
.workspace-tab b { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:7px; padding:0 6px; border-radius:999px; background:#e8f4f1; color:var(--brand); font-size:12px; }
.workspace-tab.active b { background:#ffffff2d; color:#fff; }
.filter-card { padding:16px 18px; margin-bottom:16px; }
.filter-grid { display:grid; grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(150px,.8fr)); gap:12px; align-items:end; }
.filter-grid .field { margin:0; }
.order-metrics { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:12px; margin-bottom:16px; }
.metric-box { padding:14px 16px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.metric-box strong { display:block; margin-top:3px; font-size:24px; }
.table-card { padding:0; overflow:hidden; }
.table-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:18px 20px 12px; }
.table-scroll { overflow:auto; max-width:100%; }
.data-table { width:100%; min-width:1500px; border-collapse:collapse; }
.data-table th,.data-table td { padding:12px 11px; text-align:left; vertical-align:middle; border-bottom:1px solid var(--line); }
.data-table th { position:sticky; top:0; z-index:2; background:#f8fbfa; color:var(--muted); font-size:12px; font-weight:750; white-space:nowrap; }
.data-table tbody tr { border-left:5px solid transparent; }
.data-table tbody tr:hover { filter:brightness(.985); }
.data-table .nowrap { white-space:nowrap; }
.order-overview-table { min-width:1840px; table-layout:auto; }
.order-overview-table th,.order-overview-table td { padding:9px 8px; }
.order-overview-table th:first-child,.order-overview-table td:first-child { width:42px; min-width:42px; padding-left:10px; padding-right:5px; text-align:center; }
.order-select { appearance:auto; width:16px !important; height:16px; min-height:0 !important; margin:0; padding:0; vertical-align:middle; accent-color:var(--brand); }
.order-overview-table th:nth-child(2),.order-overview-table td:nth-child(2) { min-width:155px; }
.order-overview-table th:nth-child(3),.order-overview-table td:nth-child(3) { min-width:175px; }
.order-overview-table th:nth-child(4),.order-overview-table td:nth-child(4) { min-width:145px; }
.order-overview-table th:nth-child(5),.order-overview-table td:nth-child(5) { min-width:125px; }
.order-overview-table th:nth-child(10),.order-overview-table td:nth-child(10) { min-width:145px; max-width:230px; }
.order-overview-table th:nth-child(11),.order-overview-table td:nth-child(11) { width:210px; min-width:180px; max-width:230px; }
.query-status-cell { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.order-note-wrap { position:relative; display:block; width:100%; max-width:210px; }
.order-note-tip { display:-webkit-box; width:100%; overflow:hidden; color:var(--ink); font-size:12px; font-weight:600; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow-wrap:anywhere; }
.order-note-wrap.has-overflow { cursor:help; }
.order-note-wrap.has-overflow .order-note-tip { color:var(--brand); }
.overflow-tooltip { position:fixed; z-index:2800; width:max-content; max-width:min(440px,calc(100vw - 20px)); padding:11px 13px; border:1px solid #4d756c; border-radius:10px; background:#163a34; color:#fff; box-shadow:0 14px 34px #001a1455; white-space:pre-wrap; overflow-wrap:anywhere; pointer-events:none; font-size:13px; font-weight:500; line-height:1.55; }
.order-row-review { border-left-color:#4e8fc2 !important; background:#f1f7fc; }
.order-row-supplement { border-left-color:#dc922d !important; background:#fff8ec; }
.order-row-approved { border-left-color:#7b5ab4 !important; background:#f7f3fc; }
.order-row-submitted { border-left-color:#1a927a !important; background:#f0f9f6; }
.order-row-embassy-supplement { border-left-color:#d96832 !important; background:#fff3ec; }
.order-row-embassy-supplemented { border-left-color:#16858d !important; background:#edf9fa; }
.order-row-waiting { border-left-color:#536cc4 !important; background:#f1f3fc; }
.order-row-archive { border-left-color:#a57b26 !important; background:#fcf8ee; }
.order-row-issued { border-left-color:#49975a !important; background:#f2faef; }
.order-row-refused { border-left-color:#ca5252 !important; background:#fff4f4; }
.order-row-cancelled { border-left-color:#89928f !important; background:#f5f6f6; }
.status-badge { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:5px 9px; font-size:12px; font-weight:750; white-space:nowrap; }
.status-badge::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.status-review { color:#2e70a5; background:#deeffb; }
.status-supplement { color:#996218; background:#ffedcf; }
.status-approved { color:#6745a3; background:#eae1f8; }
.status-submitted { color:#0f735f; background:#d9f3eb; }
.status-embassy-supplement { color:#a64320; background:#ffe2d2; }
.status-embassy-supplemented { color:#0b6970; background:#d7f1f3; }
.status-waiting { color:#4157a4; background:#e0e6fb; }
.status-archive { color:#866113; background:#fff0cc; }
.status-issued { color:#2f7c40; background:#def2df; }
.status-refused { color:#ad3c3c; background:#f9dddd; }
.status-cancelled,.status-neutral { color:#63706c; background:#e8edeb; }
.email-occupied { color:#9b6519; font-size:12px; font-weight:700; }
.selection-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 18px; border-top:1px solid var(--line); background:#f6fbf9; }
.detail-grid { display:grid; grid-template-columns:minmax(300px,420px) minmax(0,1fr); gap:16px; align-items:start; }
.detail-grid > * { min-width:0; align-self:start; }
.detail-facts { display:grid; gap:0; }
.detail-fact { display:grid; grid-template-columns:110px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.detail-fact:last-child { border-bottom:0; }
.detail-form-grid { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:12px; }
.detail-form-grid .field { margin:0; }
.detail-form-grid.tracking-fields { grid-template-columns:minmax(240px,320px) minmax(420px,720px); justify-content:start; }
.detail-form-grid.review-fields { grid-template-columns:repeat(2,minmax(240px,340px)); justify-content:start; }
.detail-form-grid.submission-fields { grid-template-columns:minmax(300px,460px) minmax(180px,230px) minmax(240px,340px); justify-content:start; }
.detail-form-grid.result-fields { grid-template-columns:repeat(2,minmax(200px,280px)); justify-content:start; }
.workflow-section { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.workflow-notice { width:min(100%,1040px); margin-top:10px; }
.workflow-block-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:stretch; }
.workflow-block { min-width:0; height:100%; margin:0 !important; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); }
.workflow-block h3 { margin-bottom:10px; }
.workflow-block .detail-form-grid { max-width:100%; }
.finance-private { margin-top:16px; padding:14px; border:1px solid #e7dfc2; border-radius:12px; background:#fbf8ee; }
.order-tracking-form { margin-bottom:18px; padding:14px; border:1px solid var(--line); border-radius:13px; background:#f5faf8; }
.finance-grid { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:12px; }
.finance-grid strong { display:block; margin-top:4px; font-size:20px; }
.money-positive { color:#17734d; }
.admin-create { margin-bottom:16px; }
.admin-create .grid { grid-template-columns:repeat(16,1fr); gap:12px; }
.admin-create .field { grid-column:span 4; margin:0; }
.admin-create .field.wide { grid-column:span 8; }
.refund-grid { display:grid; grid-template-columns:repeat(4,minmax(240px,1fr)); gap:14px; }
.refund-box { border:1px solid var(--line); border-radius:13px; padding:14px; background:#fbfdfc; }
.month-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.profit-metrics { display:grid; grid-template-columns:repeat(5,minmax(150px,1fr)); gap:12px; margin:16px 0; }
.profit-metrics .metric-box strong { font-size:22px; }
.log-details { max-width:700px; white-space:pre-wrap; overflow-wrap:anywhere; }

/* V7 compact configuration workbench */
.catalog-section { margin-top:10px; padding:14px; }
.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:10px; }
.section-heading h2 { margin-bottom:5px; }
.compact-filter-bar { display:grid; grid-template-columns:minmax(260px,1.35fr) repeat(2,minmax(180px,.7fr)) auto; gap:10px; align-items:end; margin-bottom:10px; padding:10px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); }
.compact-filter-bar .field,.compact-pool-search { margin:0; }
.compact-filter-bar .btn { min-height:42px; }
.compact-pool-search { width:min(100%,440px); margin-bottom:10px; }
.config-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:8px; align-items:start; }
.scheme-card-grid,.ai-rule-card-grid { grid-template-columns:repeat(auto-fill,minmax(380px,1fr)); }
.material-card-grid,.info-card-grid { grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
.visa-type-card-grid { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.config-compact-card { min-width:0; display:flex; flex-direction:column; gap:5px; padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 2px 8px rgba(20,70,60,.035); }
.config-compact-card:hover { border-color:#b8d9d1; box-shadow:0 7px 18px rgba(20,70,60,.08); }
.compact-card-title { font-weight:760; line-height:1.45; overflow-wrap:anywhere; }
.scheme-card-heading { font-size:14px; font-weight:760; line-height:1.4; overflow-wrap:anywhere; }
.compact-card-english { color:#315b53; font-size:12px; line-height:1.35; overflow-wrap:anywhere; }
.compact-card-price { color:var(--brand); font-size:13px; font-weight:760; line-height:1.35; }
.compact-card-context { color:var(--muted); font-size:12px; line-height:1.35; overflow-wrap:anywhere; }
.compact-card-meta { align-self:start; display:flex; flex-wrap:wrap; align-items:center; gap:7px; color:var(--muted); font-size:12px; }
.compact-card-meta > span:not(.pill) { padding:3px 6px; border-radius:6px; background:var(--surface-muted); }
.reference-count-button { appearance:none; border:1px solid transparent; border-radius:6px; padding:3px 7px; color:var(--brand); background:var(--surface-muted); font-size:12px; font-weight:760; cursor:pointer; }
.reference-count-button:hover,.reference-count-button:focus-visible { border-color:var(--brand2); outline:0; text-decoration:underline; }
.compact-card-actions { display:flex; flex-wrap:wrap; gap:6px; padding-top:5px; border-top:1px solid var(--line); }
.compact-card-actions .btn { padding:6px 9px; }
.foundation-stack { display:grid; gap:10px; margin-top:10px; }
.foundation-section { padding:13px 14px; }
.foundation-section .section-heading { margin-bottom:9px; }
.foundation-option-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:7px; align-items:start; }
.config-line-item { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px 9px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); }
.config-line-main { min-width:0; line-height:1.4; }
.config-line-main b { overflow-wrap:anywhere; }
.config-line-item .compact-card-actions { flex-wrap:nowrap; padding:0; border:0; }
.config-line-item .btn { white-space:nowrap; }
.reference-manager { display:grid; gap:10px; }
.reference-manager-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.reference-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 18px; }
.reference-summary h2 { margin:3px 0 4px; }
.reference-summary p { margin:0; }
.reference-summary-count { min-width:120px; display:grid; justify-items:center; padding:9px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.reference-summary-count b { color:var(--brand); font-size:30px; line-height:1; }
.reference-summary-count span { margin-top:4px; color:var(--muted); font-size:12px; }
.reference-filter-bar { grid-template-columns:minmax(260px,1.4fr) repeat(2,minmax(190px,.75fr)) auto; }
.reference-selection-bar { margin:0 -14px; border-bottom:1px solid var(--line); }
.reference-selection-bar .actions { margin:0; }
.reference-replace-panel { display:grid; grid-template-columns:minmax(260px,1fr) minmax(320px,1.4fr) auto; gap:12px; align-items:end; margin:12px 0; padding:13px; border:1px solid var(--brand2); border-radius:12px; background:var(--surface-soft); }
.reference-replace-panel .field { margin:0; }
.reference-preserve-note { display:grid; gap:4px; align-self:center; }
.reference-preserve-note span { color:var(--muted); font-size:12px; }
.reference-table-wrap { max-height:62vh; overflow:auto; border:1px solid var(--line); border-radius:11px; }
.reference-table { min-width:1120px; }
.reference-table th:first-child,.reference-table td:first-child { width:46px; text-align:center; }
.reference-table input[type="checkbox"] { width:auto; min-height:auto; }
.reference-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:10px; }
.order-detail-client-info .client-info-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px 10px; }
.order-detail-client-info .client-info-grid .field { gap:5px; }
.order-detail-client-info .client-info-grid input,.order-detail-client-info .client-info-grid select { min-height:38px; padding:7px 9px; }
.order-detail-client-info .client-info-grid .small { -webkit-line-clamp:1; }
.order-detail-client-info .field-home-address { grid-column:span 2; }
.order-detail-client-info .field-home-address textarea { min-height:70px; }
.order-detail-client-info .compact-textarea textarea { min-height:42px; height:42px; }
.passport-grid-item { min-width:0; grid-column:span 2; align-self:start; }
.order-detail-client-info .passport-capture { width:100%; margin:0; padding:11px; }
.order-detail-client-info .passport-drop { min-height:72px; margin-top:8px; padding:12px; }
.submission-screenshot-details { margin-top:14px; border-top:1px solid var(--line); padding-top:12px; }
.submission-screenshot-details > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; width:fit-content; min-width:220px; padding:9px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); color:var(--ink); font-weight:700; cursor:pointer; list-style:none; }
.submission-screenshot-details > summary::-webkit-details-marker { display:none; }
.submission-screenshot-details[open] > summary { border-color:var(--brand2); color:var(--brand); }
.submission-screenshot-help { margin:10px 0; }
.submission-screenshot-runs { display:grid; gap:14px; }
.submission-screenshot-run { border:1px solid var(--line); border-radius:16px; padding:14px; background:var(--surface-soft); }
.submission-screenshot-run-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:12px; }
.submission-screenshot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px; }
.submission-screenshot-card { min-width:0; border:1px solid var(--line); border-radius:13px; padding:8px; background:var(--surface); color:var(--ink); text-align:left; cursor:pointer; transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.submission-screenshot-card:hover { border-color:var(--brand2); transform:translateY(-1px); box-shadow:0 8px 20px rgba(15,118,110,.12); }
.submission-screenshot-card b,.submission-screenshot-card > span:last-child { display:block; padding:6px 4px 0; }
.submission-screenshot-card > span:last-child { color:var(--muted); font-size:12px; padding-top:2px; }
.submission-screenshot-thumb { display:grid; place-items:center; aspect-ratio:16/10; overflow:hidden; border-radius:9px; background:#e8eef3; }
.submission-screenshot-thumb img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.material-review-grid { display:grid; grid-template-columns:repeat(var(--material-columns,4),minmax(0,1fr)); gap:10px; align-items:start; }
.material-review-grid.material-review-measuring { visibility:hidden; }
.material-review-column { display:grid; min-width:0; gap:10px; align-content:start; }
.material-review-card { min-width:0; padding:0; overflow:hidden; }
.material-review-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; border-bottom:1px solid var(--line); background:var(--surface-soft); }
.material-review-card-head h3 { margin:0; font-size:16px; }
.material-file-table { min-width:0; }
.material-file-table-head { display:none; }
.material-file-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; align-items:start; min-height:58px; padding:10px 12px; }
.material-file-row > :nth-child(2) { grid-column:2; grid-row:1; }
.material-file-meta,.material-file-review { grid-column:1 / -1; }
.material-file-row + .material-file-row { border-top:1px solid var(--line); }
.material-file-row:hover { background:var(--surface-soft); }
.material-file-name { min-width:0; }
.material-file-name b { display:block; overflow-wrap:anywhere; line-height:1.35; }
.material-file-meta { display:grid; gap:3px; color:var(--muted); font-size:12px; }
.material-file-review { min-width:0; line-height:1.45; overflow-wrap:anywhere; }
.material-file-review ul { margin:4px 0 0; padding-left:18px; }
.combined-file-summary,.combined-ai-result { margin:4px 0; padding:6px 8px; border-radius:8px; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.combined-coverage-list { border-top:1px solid var(--line); }
.combined-coverage-row { display:flex; align-items:center; gap:10px; padding:10px 12px; background:color-mix(in srgb,var(--accent) 7%,transparent); }
.combined-coverage-row span:last-child { display:flex; min-width:0; flex-direction:column; }
.combined-coverage-row b { overflow-wrap:anywhere; }
.combined-material-options { max-height:340px; overflow:auto; padding:4px; }
.ai-page-result { margin-top:5px; padding-top:5px; border-top:1px dashed var(--line); line-height:1.55; }
.material-file-actions { grid-column:1 / -1; justify-content:flex-end; flex-wrap:wrap; margin:0; }
.material-file-actions .btn { white-space:nowrap; padding:7px 10px; }
.material-review-card .empty.material-empty { margin:10px 12px; padding:10px 14px; border-radius:8px; }
.material-upload-bar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:9px 11px 11px; padding:8px 9px 8px 11px; border:1px dashed var(--line); border-radius:9px; background:var(--surface-soft); transition:border-color .15s ease,background .15s ease; }
.material-upload-bar > span { display:grid; gap:2px; min-width:0; }
.material-upload-bar b { font-size:13px; }
.material-upload-bar small { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.material-upload-bar.active { border-color:var(--brand); background:color-mix(in srgb,var(--brand) 10%,var(--surface)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 40%,transparent); }
.material-upload-bar .btn { flex:0 0 auto; min-height:32px; padding:6px 10px; }
.material-upload-limit { padding:8px 12px 10px; border-top:1px solid var(--line); }
.material-upload-overlay { position:fixed; inset:0; z-index:2200; display:grid; place-items:center; padding:24px; background:rgba(2,10,14,.72); backdrop-filter:blur(5px); }
.material-upload-dialog { width:min(720px,100%); max-height:min(760px,90vh); overflow:auto; padding:20px; border:1px solid var(--line); border-radius:18px; color:var(--ink); background:var(--surface); box-shadow:0 28px 90px rgba(0,0,0,.38); }
.material-upload-dialog h2 { margin:0 0 5px; }
.material-upload-file-list { display:grid; gap:7px; margin:16px 0; }
.material-upload-file { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }
.material-upload-file > div { display:grid; gap:3px; min-width:0; }
.material-upload-file b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.material-upload-file.invalid { border-color:color-mix(in srgb,var(--danger) 60%,var(--line)); background:color-mix(in srgb,var(--danger) 8%,var(--surface)); }
.material-upload-dialog-actions { justify-content:flex-end; margin-top:16px; }
:root[data-theme="dark"] .material-upload-bar,:root[data-theme="dark"] .material-upload-file { background:var(--surface-soft); }
.review-dialog-backdrop { position:fixed; inset:0; z-index:2600; display:grid; place-items:center; padding:20px; background:#071c18b8; backdrop-filter:blur(7px); }
.review-dialog { width:min(720px,96vw); max-height:94vh; overflow:auto; border:1px solid var(--line); border-radius:20px; padding:22px; background:var(--surface); box-shadow:0 28px 90px #001a1466; }
.review-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.review-dialog-head h2 { margin:3px 0 4px; font-size:22px; }
.review-file-name { max-width:600px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.eyebrow { color:var(--brand); font-size:12px; font-weight:800; letter-spacing:.12em; }
.dialog-close { width:36px; height:36px; flex:0 0 36px; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:var(--surface-soft); font-size:24px; line-height:1; }
.review-result-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; padding:0; border:0; }
.review-result-options legend { grid-column:1/-1; margin-bottom:8px; font-weight:750; }
.review-result-option { display:flex; align-items:center; gap:11px; min-height:76px; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); cursor:pointer; }
.review-result-option:has(input:checked) { border-color:var(--brand2); box-shadow:inset 3px 0 0 var(--brand2); }
.review-result-option input { width:17px; min-height:17px; margin:0; accent-color:var(--brand); }
.review-result-option span { display:grid; gap:4px; }
.review-result-option small { color:var(--muted); font-size:12px; font-weight:500; }
.review-result-option.fail:has(input:checked) { border-color:var(--danger); box-shadow:inset 3px 0 0 var(--danger); }
.review-note-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.review-note-grid .field { margin:0; }
.review-dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.visa-change-dialog { width:min(860px,96vw); }
.visa-change-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; margin-top:18px; }
.visa-change-grid .field { margin:0; }
.visa-change-grid .span-2 { grid-column:1/-1; }
.visa-change-copy-travel { margin-top:16px; }
.visa-change-notice { margin-top:14px; line-height:1.6; }
.visa-change-entry { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; }
.visa-change-entry h3 { margin:0 0 5px; }
.linked-order-button { padding:0; border:0; color:var(--brand); background:transparent; font:inherit; font-weight:800; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
@media (max-width:700px){.visa-change-grid{grid-template-columns:1fr}.visa-change-grid .span-2{grid-column:auto}.visa-change-entry{align-items:flex-start;flex-direction:column}}
.order-status-guide { width:min(900px,96vw); }
.order-status-guide-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin:18px 0; }
.order-status-guide-item { display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; min-width:0; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); }
.order-status-guide-index { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:var(--brand); background:color-mix(in srgb,var(--brand) 12%,var(--surface)); font-weight:800; }
.order-status-guide-title { margin-bottom:8px; }
.order-status-guide-item p { margin:0 0 7px; color:var(--ink); line-height:1.55; }
.order-status-guide-note { margin-top:4px; line-height:1.65; }

/* Staff-only flight and hotel order attachments */
.travel-attachment-panel { margin:0 0 14px; padding:14px; border:1px solid var(--line); border-radius:15px; background:var(--surface-soft); }
.travel-attachment-panel > .topbar { margin-bottom:12px; }
.travel-attachment-panel h2,.travel-attachment-panel h3 { margin:0; }
.travel-attachment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mobile-shell .travel-attachment-grid { grid-template-columns:1fr; }
.travel-attachment-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.travel-attachment-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:12px; border-bottom:1px solid var(--line); }
.travel-attachment-head h3 { margin-bottom:3px; font-size:15px; }
.travel-attachment-actions { display:flex; flex-wrap:wrap; gap:8px; padding:10px 12px 0; }
.travel-attachment-drop { display:grid; place-items:center; min-height:56px; margin:10px 12px 12px; padding:10px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); text-align:center; background:var(--surface-soft); }
.travel-attachment-drop.active { border-color:var(--brand); color:var(--brand); background:color-mix(in srgb,var(--brand) 8%,var(--surface)); }
.travel-attachment-drop.disabled,.travel-attachment-actions .disabled { opacity:.55; pointer-events:none; }
.travel-attachment-list { display:grid; }
.travel-attachment-file { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; padding:10px 12px; border-top:1px solid var(--line); }
.travel-attachment-list .travel-attachment-file:first-child { border-top:0; }
.travel-attachment-main { display:grid; gap:8px; min-width:0; }
.travel-attachment-name { display:grid; gap:3px; min-width:0; }
.travel-attachment-name b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.travel-attachment-file .actions { flex:0 0 auto; flex-wrap:nowrap; }
.travel-recognition-result { display:grid; gap:7px; padding:9px; border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line)); border-radius:10px; background:color-mix(in srgb,var(--brand) 7%,var(--surface)); }
.travel-recognition-result > div:first-child { display:grid; gap:2px; }
.travel-recognition-result summary { color:var(--brand); font-size:12px; font-weight:700; cursor:pointer; }
.travel-recognition-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:7px; }
.travel-recognition-fields span { display:grid; gap:1px; min-width:0; padding:6px; border-radius:7px; background:var(--surface); }
.travel-recognition-fields i { color:var(--muted); font-size:11px; font-style:normal; }
.travel-recognition-fields b { overflow-wrap:anywhere; font-size:12px; }
.travel-recognition-result > .btn { justify-self:start; }
:root[data-theme="dark"] .travel-attachment-panel,:root[data-theme="dark"] .travel-attachment-drop { background:var(--surface-soft); }
:root[data-theme="dark"] .travel-attachment-card { background:var(--surface); }

@media (min-width:1800px) { .order-detail-client-info .client-info-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media (min-width:2300px) { .order-detail-client-info .client-info-grid { grid-template-columns:repeat(7,minmax(0,1fr)); } }
@media (min-width:3000px) { .scheme-card-grid,.ai-rule-card-grid { grid-template-columns:repeat(auto-fill,minmax(400px,1fr)); } .order-detail-client-info .client-info-grid { grid-template-columns:repeat(10,minmax(0,1fr)); } }
@media (max-width:1050px) { .compact-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media (min-width:1800px) { body { font-size:15px; } .data-table { min-width:1700px; } .card { border-radius:16px; } }
@media (max-width:1180px) {
  .filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .order-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .detail-grid { grid-template-columns:1fr; }
  .detail-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-form-grid.tracking-fields,.detail-form-grid.review-fields,.detail-form-grid.submission-fields,.detail-form-grid.result-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .order-detail-client-info .client-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-block-grid { grid-template-columns:1fr; }
  .admin-create .field,.admin-create .field.wide { grid-column:span 8; }
  .refund-grid { grid-template-columns:1fr; }
  .profit-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .material-file-row { grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; align-items:start; }
  .material-file-row > :nth-child(2) { grid-column:2; grid-row:1; }
  .material-file-meta,.material-file-review { grid-column:1 / -1; }
  .material-file-actions { grid-column:1 / -1; justify-content:flex-end; flex-wrap:wrap; }
}
@media (max-width:1900px) and (min-width:1181px) { .workflow-block-grid { grid-template-columns:1fr; } }
@media (max-width:760px) {
  .shell { width:100%; padding:14px; }
  .workspace-head,.table-head,.selection-bar { align-items:stretch; flex-direction:column; }
  .workspace-tab { flex:1 1 100%; }
  .filter-grid,.order-metrics,.detail-form-grid,.finance-grid,.profit-metrics { grid-template-columns:1fr; }
  .detail-form-grid.tracking-fields,.detail-form-grid.review-fields,.detail-form-grid.submission-fields,.detail-form-grid.result-fields { grid-template-columns:1fr; }
  .order-detail-client-info .client-info-grid { grid-template-columns:1fr; }
  .admin-create .grid { grid-template-columns:1fr; }
  .admin-create .field,.admin-create .field.wide { grid-column:1; }
  .section-heading { align-items:stretch; flex-direction:column; }
  .compact-filter-bar,.config-card-grid,.foundation-option-grid { grid-template-columns:1fr; }
  .config-line-item { grid-template-columns:1fr; }
  .reference-manager-top,.reference-summary,.reference-pagination { align-items:stretch; flex-direction:column; }
  .reference-replace-panel { grid-template-columns:1fr; }
  .review-result-options,.review-note-grid { grid-template-columns:1fr; }
  .review-dialog { padding:16px; }
  .material-review-card-head { align-items:flex-start; }
  .material-file-row { grid-template-columns:1fr; }
  .material-file-actions { grid-column:1; grid-row:auto; justify-content:flex-start; max-width:none; }
  .passport-grid-item,.order-detail-client-info .field-home-address { grid-column:1; }
  .travel-attachment-grid { grid-template-columns:1fr; }
  .travel-attachment-file { align-items:flex-start; flex-direction:column; }
  .travel-attachment-file .actions { width:100%; flex-wrap:wrap; }
  .travel-recognition-fields { grid-template-columns:1fr; }
}


/* V7.2 full-site day/night mode */
.theme-toggle { position:fixed; right:18px; bottom:18px; z-index:1900; min-height:42px; display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:color-mix(in srgb,var(--surface) 92%,transparent); box-shadow:0 8px 28px rgba(0,20,16,.18); backdrop-filter:blur(12px); }
.theme-toggle span { font-size:18px; line-height:1; }
.theme-toggle b { font-size:12px; }
:root[data-theme="dark"] .logo { box-shadow:0 8px 24px #0008; }
:root[data-theme="dark"] .card,:root[data-theme="dark"] .visa-section,:root[data-theme="dark"] .config-compact-card,:root[data-theme="dark"] .rule-summary,:root[data-theme="dark"] .workspace-tab,:root[data-theme="dark"] .metric-box,:root[data-theme="dark"] .check-option,:root[data-theme="dark"] .rule-check { background:var(--surface); border-color:var(--line); box-shadow:0 10px 30px #0008; }
:root[data-theme="dark"] .passport-capture,:root[data-theme="dark"] .client-info-group,:root[data-theme="dark"] .sidebar-access-card,:root[data-theme="dark"] .selectable-card,:root[data-theme="dark"] .refund-box,:root[data-theme="dark"] .order-tracking-form,:root[data-theme="dark"] .workflow-block,:root[data-theme="dark"] .compact-filter-bar,:root[data-theme="dark"] .config-line-item,:root[data-theme="dark"] .finance-private { background:var(--surface-soft); }
:root[data-theme="dark"] .request-feedback { color:#9df4dd; border-color:#3f796c; background:#19372ff2; }
:root[data-theme="dark"] .request-feedback.success { color:#a9f6d9; border-color:#458b74; background:#183b30f2; }
:root[data-theme="dark"] .request-feedback.error { color:#ffb6bb; border-color:#824c54; background:#44282df2; }
:root[data-theme="dark"] .notice { color:#a9f6df; background:#21443b; border:1px solid #477c70; }
:root[data-theme="dark"] .notice.error { color:#ffb6bb; background:#44282d; border-color:#824c54; }
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea { background:#0e1821; border-color:#557184; }
:root[data-theme="dark"] input:focus,:root[data-theme="dark"] select:focus,:root[data-theme="dark"] textarea:focus { outline-color:#64e6c655; border-color:var(--brand); }
:root[data-theme="dark"] .passport-drop,:root[data-theme="dark"] .rule-flow span,:root[data-theme="dark"] .radio-row label { background:#101c25; }
:root[data-theme="dark"] .rule-card { color:var(--ink); background:var(--surface-soft); border-color:var(--line); box-shadow:0 8px 24px #0005; }
:root[data-theme="dark"] .rule-check.selected { color:var(--ink); border-color:#64d8bd; background:#234b42; box-shadow:inset 3px 0 0 var(--brand); }
:root[data-theme="dark"] .btn:not(.secondary):not(.ghost):not(.danger) { color:#06130f; background:var(--brand); }
:root[data-theme="dark"] .password-toggle,:root[data-theme="dark"] .smart-tool-button,:root[data-theme="dark"] .btn.secondary { color:#8af0d8; background:#26483f; border:1px solid #3c6c60; }
:root[data-theme="dark"] .btn.ghost { color:#d1dce2; background:#1b2a35; border-color:#4b6576; }
:root[data-theme="dark"] .btn.danger { color:#ffabb0; background:#502b31; border:1px solid #784048; }
:root[data-theme="dark"] .pill,:root[data-theme="dark"] .workspace-tab b { color:#86efd6; background:#285046; }
:root[data-theme="dark"] .pill.warn { color:var(--warning); background:#54431f; }
:root[data-theme="dark"] .pill.fail { color:#ffadb2; background:#572f34; }
:root[data-theme="dark"] .main-nav,:root[data-theme="dark"] .client-info-save,:root[data-theme="dark"] .selection-bar { background:#111b24ee; border-color:#466070; }
:root[data-theme="dark"] .accommodation-assist { color:var(--ink); background:#1b3540; border-color:#52798b; box-shadow:inset 0 0 0 1px #0d1820; }
:root[data-theme="dark"] .accommodation-assist h3 { color:#f4f8fa; }
:root[data-theme="dark"] .accommodation-assist .muted { color:#c6d3da; }
:root[data-theme="dark"] .workspace-tab { color:#dbe5ea; background:#21343f; border-color:#476475; }
:root[data-theme="dark"] .workspace-tab.active { color:#06130f; background:var(--brand); border-color:var(--brand); }
:root[data-theme="dark"] .data-table th { color:#cbd7dd; background:#263946; }
:root[data-theme="dark"] .data-table td { border-bottom-color:#425b6b; }
:root[data-theme="dark"] .data-table tbody tr:hover { filter:brightness(1.08); }
:root[data-theme="dark"] .compact-card-english { color:#8ed9c8; }
:root[data-theme="dark"] .reference-count-button { color:#9cf3dd; background:#315061; border-color:#527288; }
:root[data-theme="dark"] .reference-summary-count,:root[data-theme="dark"] .reference-replace-panel { background:var(--surface-soft); }
:root[data-theme="dark"] .file-preview-dialog { background:var(--surface); }
:root[data-theme="dark"] .file-preview-stage { background:#05080c; }
:root[data-theme="dark"] .visa-summary,:root[data-theme="dark"] .travel-generator { background:var(--surface-soft); }
:root[data-theme="dark"] .order-row-review { background:#17364d; }
:root[data-theme="dark"] .order-row-supplement { background:#493619; }
:root[data-theme="dark"] .order-row-approved { background:#382b4c; }
:root[data-theme="dark"] .order-row-submitted { background:#17453a; }
:root[data-theme="dark"] .order-row-embassy-supplement { background:#4e2f22; }
:root[data-theme="dark"] .order-row-embassy-supplemented { background:#193f47; }
:root[data-theme="dark"] .order-row-waiting { background:#27324e; }
:root[data-theme="dark"] .order-row-archive { background:#463a1c; }
:root[data-theme="dark"] .order-row-issued { background:#214329; }
:root[data-theme="dark"] .order-row-refused { background:#4a292d; }
:root[data-theme="dark"] .order-row-cancelled { background:#303b40; }
:root[data-theme="dark"] .status-review { color:#9bd6ff; background:#254d69; }
:root[data-theme="dark"] .status-supplement { color:#ffd28a; background:#5b431f; }
:root[data-theme="dark"] .status-approved { color:#d2b4ff; background:#493768; }
:root[data-theme="dark"] .status-submitted { color:#8ce7cf; background:#215847; }
:root[data-theme="dark"] .status-embassy-supplement { color:#ffc09b; background:#683c28; }
:root[data-theme="dark"] .status-embassy-supplemented { color:#9aeaf0; background:#245c64; }
:root[data-theme="dark"] .status-waiting { color:#b8c6ff; background:#3d4b78; }
:root[data-theme="dark"] .status-archive { color:#f5d58a; background:#58491f; }
:root[data-theme="dark"] .status-issued { color:#a7eeb1; background:#31583a; }
:root[data-theme="dark"] .status-refused { color:#ffb0b4; background:#63343a; }
:root[data-theme="dark"] .status-cancelled,:root[data-theme="dark"] .status-neutral { color:#d0d9dd; background:#46535a; }
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder { color:#91a7b3; }
@media(max-width:760px){.theme-toggle{right:10px;bottom:10px;padding:8px 11px}.theme-toggle b{display:none}.order-status-guide-list{grid-template-columns:1fr}.order-status-guide-item{padding:12px}}

/* Thailand e-Visa customer wizard */
.customer-shell { width:min(94vw,1500px); margin:auto; padding:22px 0 48px; }
.customer-head { margin:4px 0 20px; }
.visa-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:12px 0 22px; }
.visa-progress.customer-short-progress { grid-template-columns:repeat(3,1fr); }
.visa-progress button { position:relative; display:grid; place-items:center; gap:7px; border:0; background:transparent; color:var(--muted); font-weight:700; }
.visa-progress button::before { content:""; position:absolute; z-index:-1; top:18px; right:50%; width:100%; height:2px; background:var(--line); }
.visa-progress button:first-child::before { display:none; }
.visa-progress i { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#dce4e1; font-style:normal; }
.visa-progress .active,.visa-progress .done { color:var(--brand); }
.visa-progress .active i,.visa-progress .done i { background:var(--brand); color:#fff; }
.visa-progress .done::before,.visa-progress .active::before { background:var(--brand2); }
.visa-step { display:grid; gap:18px; }
.visa-section { overflow:hidden; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:0 8px 30px rgba(20,70,60,.06); padding:22px; }
.visa-section > h2 { margin:-22px -22px 22px; padding:16px 22px; color:#fff; background:linear-gradient(90deg,#176b5b,#249d82); }
.thai-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.thai-form-grid .field { margin:0; }
.thai-form-grid .wide { grid-column:1/-1; }
.thai-form-grid label b,.visa-section label b { margin-left:3px; color:var(--danger); }
.radio-row { display:flex; flex-wrap:wrap; gap:12px; min-height:42px; align-items:center; }
.radio-row label { display:flex; align-items:center; gap:6px; padding:8px 13px; border:1px solid var(--line); border-radius:10px; }
.radio-row input { width:auto; min-height:auto; }
.visa-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; border-radius:13px; background:#f1f8f6; }
.visa-summary div { display:grid; gap:4px; }
.visa-summary span { color:var(--muted); font-size:12px; }
.customer-order-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.phone-input-row { display:grid; grid-template-columns:minmax(125px,170px) minmax(0,1fr); gap:10px; }
.phone-input-row > div { display:grid; gap:7px; }
.customer-complete { text-align:center; justify-items:center; }
.customer-complete .visa-summary { width:min(100%,760px); text-align:left; }
.visa-actions { display:flex; justify-content:space-between; gap:12px; padding:4px 0; }
.customer-save-actions { display:flex; justify-content:flex-end; gap:10px; }
.customer-draft-hint { margin:-8px 0 0; text-align:right; }
@media(max-width:760px){.customer-shell{width:100%;padding:14px}.visa-progress span{font-size:11px}.visa-progress i{width:32px;height:32px}.visa-progress button::before{top:15px}.thai-form-grid,.visa-summary,.customer-order-summary{grid-template-columns:1fr}.phone-input-row{grid-template-columns:minmax(118px,42%) minmax(0,1fr);gap:8px}.visa-section{padding:16px}.visa-section>h2{margin:-16px -16px 18px;padding:14px 16px}.visa-actions{align-items:stretch;flex-direction:column}.visa-actions>#backToConfirm{align-self:flex-start}.customer-save-actions{display:grid;grid-template-columns:1fr 1fr}.customer-save-actions .btn{width:100%;padding-inline:10px}.customer-draft-hint{text-align:left}}

.finance-tabs{display:flex;gap:10px;margin-bottom:14px;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.reimbursement-filter-card{margin-bottom:14px}
.reimbursement-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto auto;gap:10px;align-items:end}
.reimbursement-filters .field{margin:0}
.reimbursement-selection{margin:14px 0;border:1px solid var(--line);border-radius:14px}
.reimbursement-table{min-width:1520px}
.reimbursement-table th:first-child,.reimbursement-table td:first-child{width:52px;text-align:center}
.reimbursement-table input[type="checkbox"]{width:18px;height:18px;min-height:auto}
.reimbursement-table textarea{min-width:240px;resize:vertical}
.reimbursement-table .actions{margin-top:6px;gap:6px}
@media(max-width:1200px){.reimbursement-filters{grid-template-columns:repeat(3,minmax(160px,1fr))}.reimbursement-selection{align-items:flex-start;gap:12px;flex-direction:column}}

/* Phase 1: local Chrome submission automation */
.submission-account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.submission-password-form,.submission-account-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}
.submission-password-form .field,.submission-account-form .field{margin:0}
.submission-account-form{grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto}
.submission-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}
.submission-account-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.submission-account-card.disabled{opacity:.68}
.submission-account-card .topbar{align-items:flex-start}
.submission-account-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:var(--muted);font-size:13px}
.submission-automation-card{display:grid;gap:12px;padding:16px;border:1px solid color-mix(in srgb,var(--brand) 55%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--brand) 8%,var(--surface))}
.submission-automation-card h3,.submission-automation-card h4{margin:0}
.submission-unified-block{grid-column:1/-1;padding:16px}
.submission-unified-head{padding-bottom:12px;border-bottom:1px solid var(--line)}
.submission-unified-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(420px,2fr);gap:16px;align-items:start}
.submission-automation-pane,.submission-record-pane{min-width:0}
.submission-unified-block .submission-automation-card{height:100%;padding:0;border:0;border-radius:0;background:transparent}
.submission-record-pane{display:grid;gap:12px;padding-left:16px;border-left:1px solid var(--line)}
.submission-record-pane h4{margin:0 0 4px}
.detail-form-grid.submission-record-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}
.submission-occupation-hint{padding:0 2px;line-height:1.5}
.submission-unified-block>.submission-screenshot-details{margin-top:14px;border-top:1px solid var(--line)}
.submission-unified-block .embassy-email-source-card{grid-template-columns:minmax(220px,1fr) auto}
.submission-unified-block .embassy-email-preview{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.embassy-email-source-card{display:grid;grid-template-columns:minmax(260px,1.2fr) auto minmax(360px,1.4fr);gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.embassy-email-source-options{display:flex;gap:8px;flex-wrap:wrap}
.embassy-email-source-options label{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);cursor:pointer;white-space:nowrap}
.embassy-email-source-options input{width:16px;height:16px;margin:0}
.embassy-email-source-options label:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--surface))}
.embassy-email-preview{display:grid;gap:4px;font-size:13px}.embassy-email-preview span{overflow-wrap:anywhere}
.submission-job-progress{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.5fr) auto;gap:10px;align-items:center;padding:12px;border-radius:12px;background:var(--surface)}
.submission-job-actions select{width:min(420px,100%)}
.error-text{color:var(--danger)}
.merge-overlay{position:fixed;inset:0;background:#0009;z-index:1800;display:flex;align-items:center;justify-content:center;padding:20px}.merge-dialog{display:flex;flex-direction:column;width:min(1400px,96vw);max-height:94vh;background:var(--surface,#fff);color:var(--ink,#17323c);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 80px #0006;overflow:hidden}.merge-dialog>header,.merge-dialog>footer{padding:16px 22px;display:flex;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0}.merge-dialog>footer{border-top:1px solid var(--line);border-bottom:0;flex-wrap:wrap}.merge-dialog h2{font-size:22px;margin:0}.merge-body{padding:20px;overflow:auto;min-height:80px}.merge-body h3{margin:18px 0 12px}.merge-body label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px}.merge-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0}.merge-fields input[type=checkbox],.merge-mapping input[type=checkbox]{width:auto;align-self:start}.merge-slot{margin-bottom:14px;padding:14px}.merge-mapping{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) minmax(200px,1fr) minmax(130px,.5fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.merge-mapping .btn,.merge-slot .actions .btn{padding:6px 10px;font-size:13px}.merge-mapping select[multiple],.merge-fields select[multiple]{min-height:80px}.merge-allocation{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:20px;margin-top:16px}.merge-pdf iframe{width:100%;height:62vh;border:1px solid var(--line);border-radius:8px;background:#eee}.merge-page-fields{display:flex;flex-direction:column;gap:14px}.merge-status{font-size:14px;flex:1;min-width:200px;white-space:pre-wrap}.merge-package{margin-bottom:16px;overflow-wrap:anywhere}.merge-package li{padding:4px 0}.merge-body>.actions{margin-top:14px}.merge-body>.actions select{max-width:600px}.merge-body input[readonly]{opacity:.7}
@media(max-width:850px){.merge-overlay{padding:6px}.merge-dialog{width:100%;max-height:98vh}.merge-dialog>header,.merge-dialog>footer,.merge-body{padding:12px}.merge-mapping,.merge-allocation{grid-template-columns:1fr}.merge-fields{grid-template-columns:1fr 1fr}.merge-pdf iframe{height:40vh}.merge-dialog footer .actions{width:100%;flex-wrap:wrap}.merge-package .topbar{flex-wrap:wrap;gap:8px}}
:root[data-theme="dark"] .submission-account-card,:root[data-theme="dark"] .submission-job-progress{background:#142531}
:root[data-theme="dark"] .submission-automation-card{background:#17333a;border-color:#4d8e87}
:root[data-theme="dark"] .submission-unified-block .submission-automation-card{background:transparent;border-color:transparent}
@media(max-width:1200px){.submission-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1500px){.submission-unified-grid{grid-template-columns:1fr}.submission-record-pane{padding-left:0;padding-top:16px;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:1100px){.embassy-email-source-card{grid-template-columns:1fr 1fr}.embassy-email-preview{grid-column:1/-1}}
@media(max-width:760px){.submission-account-layout,.submission-account-grid{grid-template-columns:1fr}.submission-password-form,.submission-account-form{grid-template-columns:1fr}.submission-job-progress,.embassy-email-source-card,.detail-form-grid.submission-record-fields{grid-template-columns:1fr}.embassy-email-preview,.submission-unified-block .embassy-email-preview{grid-column:auto;grid-template-columns:1fr}.submission-unified-block{padding:12px}}
.commercial-document-layout{align-items:start;grid-template-columns:minmax(430px,34rem) minmax(0,1fr);gap:14px}.commercial-document-layout>.span-5,.commercial-document-layout>.span-7{grid-column:auto;min-width:0}.commercial-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.commercial-form-grid .field{min-width:0;margin:0}.commercial-form-grid .span-2{grid-column:1/-1}.commercial-form>.btn{margin-top:16px;width:100%}.commercial-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.commercial-policy-grid>div{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.commercial-policy-grid span{font-size:12px;color:var(--muted)}.commercial-policy-grid b{font-size:13px}.commercial-refund-editor{display:grid;gap:10px;margin-top:12px}.commercial-refund-editor .field{margin:0}.commercial-refund-editor textarea{min-height:78px;line-height:1.55}.commercial-document-layout .table-head h2{font-size:20px}.commercial-document-layout .table-scroll{max-height:720px;overflow-x:hidden}.commercial-document-layout .data-table{min-width:0;table-layout:fixed;font-size:15.5px}.commercial-document-layout .data-table th,.commercial-document-layout .data-table td{padding:10px 8px;line-height:1.4;overflow-wrap:anywhere}.commercial-document-layout .data-table th{font-size:14px}.commercial-document-layout .data-table .small{font-size:13.5px;line-height:1.4}.commercial-document-layout .data-table th:nth-child(1){width:22%}.commercial-document-layout .data-table th:nth-child(2){width:19%}.commercial-document-layout .data-table th:nth-child(3){width:26%}.commercial-document-layout .data-table th:nth-child(4){width:11%}.commercial-document-layout .data-table th:nth-child(5){width:9%}.commercial-document-layout .data-table th:nth-child(6){width:13%}.commercial-document-layout .data-table .actions{gap:6px}.commercial-document-layout .data-table .btn{padding:7px 9px;font-size:13.5px;white-space:nowrap}
.quotation-items-block{margin-top:14px}.quotation-items-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quotation-items-title h3{margin-bottom:4px}.quotation-items-title .btn{flex:0 0 auto}.quotation-items{display:grid;gap:10px;margin-top:12px}.quotation-item-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.quotation-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.quotation-item-head .btn{padding:6px 10px}.quotation-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quotation-item-grid .field{min-width:0;margin:0}.quotation-item-grid .span-2{grid-column:1/-1}
@media(max-width:1280px){.commercial-document-layout{grid-template-columns:1fr}.commercial-document-layout>.span-5,.commercial-document-layout>.span-7{grid-column:auto}}
@media(max-width:920px){.commercial-form-grid,.commercial-policy-grid,.quotation-item-grid{grid-template-columns:1fr}.commercial-form-grid .span-2,.quotation-item-grid .span-2{grid-column:auto}}
