[hidden] { display: none !important; }
.warehouse-dialog { width:min(1440px,97vw); }
.warehouse-lines { border:1px solid #e3e9ee; border-radius:10px; overflow:hidden; margin:20px 0; }
.warehouse-lines table { min-width:1080px; }
.warehouse-lines th,.warehouse-lines td { padding:12px; }
.warehouse-lines th:nth-child(2) { min-width:190px; }
.warehouse-lines td:nth-child(2) { white-space:normal; }
.warehouse-lines td:nth-child(n+3) { font-variant-numeric:tabular-nums; }
.warehouse-lines .line-input { width:120px; }
.warehouse-lines .places { width:155px; }
.item-thumb { width:62px; height:62px; display:grid; place-items:center; padding:3px; border-radius:9px; overflow:hidden; background:#fff; color:#9d775b; flex-shrink:0; }
.item-thumb img { width:100%; height:100%; min-height:0; object-fit:contain; }
.item-thumb > span { font-size:1.6rem; }
.shipment-picker { margin-top:22px; border:1px solid #dce5ed; border-radius:12px; padding:18px; background:#f8fafc; }
.shipment-picker > label { display:block; max-width:640px; }
#shipment-results { margin-top:12px; max-height:215px; overflow:auto; display:grid; gap:6px; }
.shipment-result { display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; width:100%; padding:10px 12px; background:white; }
.shipment-result > span { white-space:normal; }
.shipment-result small { white-space:nowrap; color:#6d8090; }
.order-date-line { display:flex; align-items:center; flex-wrap:wrap; gap:9px; background:#f6f8fa; padding:12px 15px; border-radius:9px; margin-bottom:16px; }
.order-date-line > button { margin-left:auto; }
.report-group { border:1px solid #dae3eb; border-radius:12px; background:white; margin-bottom:20px; overflow:hidden; }
.report-group > summary { display:flex; align-items:center; flex-wrap:wrap; gap:18px; padding:19px 22px; cursor:pointer; background:#f7fafc; }
.report-group > summary::before { content:'›'; font-size:1.3rem; color:#976849; }
.report-group[open] > summary::before { transform:rotate(90deg); }
.report-group .group-title { font-weight:650; flex:1; min-width:160px; overflow-wrap:anywhere; }
.report-group summary small { display:block; font-weight:400; font-size:.77rem; color:#738596; margin:5px 0; }
.report-group .table-wrap { border-top:1px solid #e3eaf0; }
.report-group-actions { display:flex; gap:9px; padding:12px 20px; }
.report-group .report-note { padding:0 20px; }
.badge.red { background:#fbecea; color:#b44238; }
.schedule-date { min-width:130px; }
.settlement-currency { border:1px solid #dbe4eb; border-radius:12px; padding:17px 22px; margin:0 0 20px; background:var(--navy); color:white; }
.settlement-currency > b { display:block; margin-bottom:10px; color:#e1b699; }
.settlement-figures { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.settlement-figures > div { display:grid; gap:7px; }
.settlement-figures small { color:#bccedc; }
.settlement-figures strong { font-size:1.16rem; font-variant-numeric:tabular-nums; }
.settlement-party > summary > span:not(.group-title) { min-width:135px; font-variant-numeric:tabular-nums; }
.inventory-dashboard { margin-bottom:24px; }
@media(max-width:760px) { .report-group > summary { gap:12px; padding:15px; }.settlement-figures { grid-template-columns:repeat(2,minmax(0,1fr)); }.shipment-result { flex-wrap:wrap; gap:5px; }.report-filters label:has(input[type=search]) { width:100%; }.schedule-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.order-dialog { width:min(1220px,96vw); }
.order-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; margin-bottom:1.25rem; }
.order-meta p { margin:0; }
.order-lines { margin-top:1rem; border:1px solid #e4eaf0; border-radius:10px; overflow:hidden; }
.order-lines table { min-width:960px; }
.order-lines th,.order-lines td { padding:14px 12px; }
.order-lines th:nth-child(2) { min-width:155px; }
.order-lines th:nth-child(n+3),.order-lines td:nth-child(n+3) { text-align:right; }
.order-lines th:nth-child(3) { min-width:120px; }
.order-lines td { font-variant-numeric:tabular-nums; }
.order-lines tbody tr { cursor:pointer; }
.order-lines tbody tr:hover { background:#f9f3ee; }
.item-link { text-align:left; white-space:normal; }
.item-link:hover { text-decoration:underline; }
.packaging-note { font-size:.8rem; line-height:1.6; color:#758593; margin:12px 0 22px; }
.order-totals { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; }
.logistics-total { display:grid; align-content:start; gap:9px; padding:19px 20px; border:1px solid #e1e8ed; border-radius:12px; background:#f7f9fb; }
.logistics-total > span { font-size:.9rem; font-weight:600; }
.logistics-total strong { font-size:1.5rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.logistics-total strong small { font-size:.9rem; font-weight:500; }
.logistics-total > small { font-size:.78rem; color:#778793; }
.logistics-total.order-money { background:var(--navy); border-color:var(--navy); color:white; }
.logistics-total.order-money > small { color:#c7d6e0; }
.logistics-total.incomplete { border-color:#e9d7c7; background:#fcf8f3; }
.logistics-total.incomplete .total-status { color:#986139; }
.missing-value { color:#9a754f; }
.item-photo-dialog { width:min(720px,94vw); }
.item-photo-dialog .dialog-head > div { flex:1; min-width:0; }
.item-photo-dialog .dialog-head small { color:#748695; display:block; margin-bottom:6px; }
.photo-stage { display:grid; place-items:center; min-height:260px; height:340px; border:1px solid #e5eaf0; border-radius:12px; background:#f8fafb; overflow:hidden; }
.photo-stage img { width:100%; height:100%; min-height:0; object-fit:contain; background:white; }
.photo-empty { padding:2rem; text-align:center; color:#7e8e9a; }
.photo-empty > span { display:block; font-size:3rem; line-height:1.2; color:#b28c70; margin-bottom:1rem; }
.photo-empty p { line-height:1.5; }
.item-measures { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0; }
.item-measures div { display:grid; gap:10px; }
.item-measures small { color:#738593; line-height:1.5; }
.item-measures strong { font-variant-numeric:tabular-nums; }
.item-editor { width:min(1120px,96vw); }
.item-editor-title { display:grid; gap:7px; margin-bottom:22px; }
.item-edit-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:28px; }
.editor-photo { height:250px; min-height:200px; margin-bottom:18px; }
.item-pack-fields { display:grid; align-content:start; gap:13px; }
.item-pack-fields input { font-variant-numeric:tabular-nums; }
.item-edit-grid .hint { line-height:1.55; }
.item-edit-grid .note { margin:0; }
@media(max-width:700px) { .order-totals { grid-template-columns:1fr 1fr; }.order-money { grid-column:1/-1; }.item-edit-grid { grid-template-columns:1fr; }.photo-stage { height:270px; min-height:200px; }.logistics-total { padding:15px; }.logistics-total strong { font-size:1.2rem; }.item-measures { gap:9px; } }
.auth-screen { min-height:100vh; display:grid; place-content:center; gap:2rem; padding:2rem; background:linear-gradient(125deg,#122238 0%,#21354e 55%,#162539 100%); }
.auth-brand { display:flex; align-items:center; gap:1.5rem; color:#fff; letter-spacing:.16em; font-size:.85rem; }
.auth-brand img { background:white; border-radius:8px; padding:12px 18px; width:205px; }
.auth-card { width:min(440px,calc(100vw - 3rem)); background:#fff; padding:2rem; border-radius:16px; box-shadow:0 20px 60px #0003; }
.auth-card h1 { font-size:1.8rem; margin:1rem 0; }
.auth-card p { color:#5b6673; line-height:1.55; margin:0 0 1.5rem; }
.auth-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.auth-label { font-size:.8rem; color:#976442; font-weight:600; }
.auth-card form { display:grid; gap:1rem; }
.auth-card label { display:grid; gap:.5rem; font-size:.9rem; }
.auth-card small { display:block; margin-top:1.5rem; color:#647184; font-size:.8rem; }
.auth-card .language-picker { display:flex; flex-direction:row; }
.user-card { display:flex; align-items:center; gap:.6rem; min-width:0; }
.user-name { overflow:hidden; text-overflow:ellipsis; max-width:150px; white-space:nowrap; font-size:.85rem; }
.report-filters { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; padding:1.25rem; background:#fff; border:1px solid var(--line,#dce1e5); border-radius:12px; margin-bottom:1.5rem; }
.report-filters label { display:grid; gap:.4rem; min-width:150px; font-size:.9rem; }
.report-filters .check-label { display:flex; align-items:center; min-width:auto; padding-bottom:.5rem; }
.report-filters input[type=checkbox] { width:17px; min-height:17px; }
.cash-currency { display:flex; flex-wrap:wrap; gap:2rem; padding:1.1rem 1.5rem; border-bottom:1px solid #e5e9ed; background:#fafbfc; }
.cash-currency > div { display:grid; gap:.3rem; }
.cash-currency small { color:#647184; }
.cash-account { margin-bottom:1.5rem; border:1px solid #dce1e5; border-radius:12px; background:#fff; overflow:hidden; }
.cash-account > summary { padding:1.2rem 1.5rem; cursor:pointer; font-weight:650; font-size:1.05rem; background:#fff; }
.cash-account > summary small { float:right; font-size:.9rem; font-weight:500; }
.cash-day { border-top:1px solid #e5e9ed; }
.cash-day > summary { padding:.9rem 1.3rem; cursor:pointer; display:flex; gap:1rem; align-items:center; background:#f8fafc; }
.cash-day > summary::before { content:'›'; font-size:1.1rem; width:12px; }
.cash-day[open] > summary::before { transform:rotate(90deg); }
.cash-day .day-date { min-width:110px; font-weight:600; }
.cash-day .day-figure { min-width:135px; flex:1; font-variant-numeric:tabular-nums; }
.cash-day .day-figure small { display:block; font-size:.75rem; color:#667487; margin-bottom:4px; }
.cash-day .day-count { font-size:.8rem; color:#667487; }
.cash-in { color:#26735a; }
.cash-out { color:#91532e; }
.document-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.document-meta > div { overflow-wrap:anywhere; }
.document-meta small { display:block; color:#657386; margin-bottom:.4rem; }
.report-note { color:#677587; font-size:.85rem; margin:1rem 0; line-height:1.5; }
.server-note { border-left:3px solid #bc835a; padding:.9rem 1rem; background:#f7f8fa; line-height:1.5; }
.toolbar-end { margin-left:auto; }
.server-data { display:grid; gap:1.25rem; }
.server-data p { line-height:1.6; margin-bottom:1rem; }
.server-data .actions { flex-wrap:wrap; }
.empty-report { padding:2rem; color:#657386; }
.import-lines { margin-top:20px; }
.import-lines td:nth-child(2) { min-width:280px; max-width:480px; white-space:normal; line-height:1.5; }
.import-summary { padding:20px; margin-top:16px; background:#f1f5f8; border-radius:12px; line-height:1.8; }
input:disabled { background:#f1f3f5; color:#8996a2; cursor:not-allowed; }
@media(max-width:1000px) { .cash-day > summary { flex-wrap:wrap; }.cash-day .day-figure { min-width:100px; }.cash-day .day-count { width:100%; }.user-name { display:none; } }
@media(max-width:640px) { .report-filters label { width:calc(50% - .5rem); min-width:0; }.report-filters label select { width:100%; }.cash-account > summary small { float:none;display:block;margin-top:8px; }.cash-day .day-date { width:100%; }.cash-day .day-figure { flex-basis:40%; }.document-meta { grid-template-columns:1fr; }.auth-brand { flex-direction:column; }.auth-card { padding:1.5rem; } }

.credential-tabs { display:flex; gap:8px; margin-bottom:10px; }
.credentials-text { width:100%; font:inherit; font-size:.95rem; line-height:1.5; padding:12px 14px; border:1px solid #dce5ed; border-radius:10px; background:#f8fafc; resize:vertical; white-space:pre-wrap; }
.password-logout { margin-top:14px; }
.form-grid.card-text{grid-template-columns:1fr}
.form-grid.card-text textarea{width:100%;min-height:72px;resize:vertical;font:inherit;font-size:.9375rem;line-height:1.5;padding:11px 12px;border:1px solid #dce4ea;border-radius:8px;margin-top:7px;box-sizing:border-box;color:var(--ink)}
.opening-table input,.opening-table select{min-width:110px;margin-top:0}
/* Read-only documents: full screen, sortable columns */
#dialog.doc-dialog { width:100vw; max-width:100vw; height:100vh; max-height:100vh; margin:0; border:0; border-radius:0; display:flex; flex-direction:column; overflow:hidden; }
#dialog.doc-dialog .dialog-head { border-radius:0; }
#dialog.doc-dialog .dialog-body { flex:1; overflow:auto; }
#dialog.doc-dialog thead th { position:sticky; top:0; z-index:1; cursor:pointer; user-select:none; }
#dialog.doc-dialog thead th:hover { color:#24384a; }
#dialog.doc-dialog thead th::after { content:" ⇅"; opacity:.35; }
#dialog.doc-dialog thead th[aria-sort="ascending"]::after { content:" ▲"; opacity:1; }
#dialog.doc-dialog thead th[aria-sort="descending"]::after { content:" ▼"; opacity:1; }
#dialog.doc-dialog .table-wrap { overflow:visible; }
/* Sidebar: smaller logo; on wider screens it folds to a narrow strip with the "a" mark and icons */
.brand-plate { width:min(100%,176px); padding:11px 12px; border-radius:10px; }
.brand-mark { display:none; width:40px; height:40px; border-radius:10px; }
#menu.mobile { display:inline-flex; }
@media (min-width:761px) {
  aside { transition:width .22s cubic-bezier(.2,.8,.2,1), padding .22s cubic-bezier(.2,.8,.2,1); overflow-x:hidden; }
  .shell { transition:margin-left .22s cubic-bezier(.2,.8,.2,1); }
  body.nav-collapsed { --sidebar:76px; }
  body.nav-collapsed aside { padding:22px 12px 16px; }
  body.nav-collapsed .brand { align-items:center; margin:0 0 22px; }
  body.nav-collapsed .brand-plate, body.nav-collapsed .brand-label, body.nav-collapsed .nav-caption,
  body.nav-collapsed .nav-section, body.nav-collapsed .nav-label, body.nav-collapsed .side-bottom { display:none; }
  body.nav-collapsed .brand-mark { display:block; }
  body.nav-collapsed nav a { justify-content:center; padding:11px 0; }
  body.nav-collapsed nav a.active::before { left:-12px; }
}
@media (prefers-reduced-motion: reduce) { aside, .shell { transition:none; } }
/* Intro shown once per tab */
#intro { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:radial-gradient(circle at 50% 42%, #0b2f4c, var(--navy-deep) 70%); cursor:pointer; transition:opacity .45s ease, visibility .45s; }
#intro.intro-done { opacity:0; visibility:hidden; }
.intro-inner { display:flex; flex-direction:column; align-items:center; gap:22px; }
.intro-mark { width:76px; height:76px; border-radius:16px; box-shadow:0 18px 50px #00000040; animation:intro-mark .7s cubic-bezier(.2,.9,.25,1.2) both; }
.intro-word { display:flex; color:#fff; font-size:1.5rem; font-weight:600; letter-spacing:.32em; margin-right:-.32em; }
.intro-word span { display:inline-block; animation:intro-letter .5s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(.45s + var(--i) * 45ms); }
.intro-line { display:block; width:160px; height:2px; border-radius:2px; background:var(--copper); transform-origin:left; animation:intro-line .6s cubic-bezier(.6,0,.2,1) 1.1s both; }
@keyframes intro-mark { from { opacity:0; transform:scale(.6) rotate(-8deg); } to { opacity:1; transform:none; } }
@keyframes intro-letter { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes intro-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }
/* Loading screen */
.boot { display:grid; justify-items:center; gap:22px; }
.boot-mark { width:56px; height:56px; border-radius:13px; box-shadow:0 14px 40px #00000035; animation:boot-pulse 1.4s ease-in-out infinite; }
.boot-bar { position:relative; display:block; width:120px; height:2px; border-radius:2px; background:#ffffff1f; overflow:hidden; }
.boot-bar::after { content:""; position:absolute; inset:0; width:40%; border-radius:2px; background:var(--copper); animation:boot-bar 1.1s cubic-bezier(.6,0,.4,1) infinite; }
@keyframes boot-pulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(.94); opacity:.82; } }
@keyframes boot-bar { from { transform:translateX(-100%); } to { transform:translateX(250%); } }
@media (prefers-reduced-motion: reduce) { .boot-mark, .boot-bar::after { animation:none; } }
/* Photo thumbnails: small in lists, larger preview on hover, full photo on click */
.item-thumb.small { width:40px; height:40px; padding:2px; border-radius:7px; }
.item-thumb.small > span { font-size:1.15rem; }
.item-thumb:has(img:not([hidden])) { cursor:zoom-in; }
#photo-hover { position:fixed; z-index:1000; width:280px; height:280px; padding:8px; border-radius:14px; background:#fff; box-shadow:0 18px 50px #00142940; pointer-events:none; animation:photo-hover-in .12s ease-out; }
#photo-hover[hidden] { display:none; }
#photo-hover img { width:100%; height:100%; object-fit:contain; display:block; }
@keyframes photo-hover-in { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { #photo-hover { animation:none; } }
/* Role checkboxes */
.role-checks { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px; margin-bottom:12px; }
.role-checks .check-label { display:flex; flex-direction:row; align-items:center; gap:10px; padding:11px 13px; border:1px solid var(--line); border-radius:10px; font-weight:600; cursor:pointer; margin:0; }
.role-checks .check-label input { width:18px; height:18px; margin:0; flex-shrink:0; accent-color:var(--navy); }
.role-checks .check-label:has(input:checked) { border-color:var(--copper); background:var(--copper-light); }
/* Master data tabs */
.master-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 16px; padding:5px; background:#fff; border:1px solid var(--line); border-radius:12px; width:max-content; max-width:100%; }
.master-tab { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border:0; border-radius:9px; background:transparent; box-shadow:none; color:var(--muted); font-weight:600; cursor:pointer; transition:background .15s, color .15s; }
.master-tab:hover { background:#f2f5f7; color:var(--ink); }
.master-tab.active { background:var(--navy); color:#fff; }
.master-tab small { padding:1px 7px; border-radius:20px; background:#0000000d; font-size:.75rem; }
.master-tab.active small { background:#ffffff26; }
.master-filters #master-search { flex:1; min-width:240px; max-width:520px; }
/* Notifications: bell and proverb of the day */
.bell { position:relative; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:10px; color:var(--ink); }
.bell:hover { background:#f2f5f7; }
.bell svg { width:20px; height:20px; }
.bell-dot { position:absolute; top:7px; right:8px; width:8px; height:8px; border-radius:50%; background:var(--copper); box-shadow:0 0 0 2px #fff; }
.bell-dot[hidden] { display:none; }
.quote-card { position:relative; margin-bottom:22px; padding:34px 36px 30px; border-radius:var(--radius); background:linear-gradient(135deg,var(--navy-deep),#0b2f4c); color:#fff; box-shadow:var(--shadow); overflow:hidden; }
.quote-card::after { content:"“"; position:absolute; right:26px; top:-22px; font-size:11rem; line-height:1; color:#ffffff10; font-family:Georgia,serif; }
.quote-label { display:inline-block; color:var(--copper); font-size:.75rem; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }
.quote-date { display:block; margin:4px 0 18px; color:#9fb3c3; font-size:.75rem; }
.quote-zh { font-size:1.75rem; font-weight:600; line-height:1.45; letter-spacing:.06em; }
.quote-tr { margin-top:10px; font-size:1.05rem; line-height:1.5; color:inherit; opacity:.88; }
.quote-src { margin-top:12px; font-size:.8125rem; opacity:.6; }
.quote-list { display:grid; gap:0; }
.quote-item { padding:16px 22px; border-top:1px solid var(--line); }
.quote-item:first-child { border-top:0; }
.quote-item small { color:var(--muted); font-size:.75rem; }
.quote-item .quote-zh { font-size:1.15rem; margin-top:4px; color:var(--ink); }
.quote-item .quote-tr { font-size:.9375rem; margin-top:4px; }
.quote-pop { position:fixed; right:22px; bottom:22px; z-index:900; width:min(380px,calc(100vw - 32px)); padding:18px 20px 16px; border-radius:16px; background:var(--navy-deep); color:#fff; box-shadow:0 24px 60px #00142950; animation:quote-in .45s cubic-bezier(.2,.8,.2,1) both; }
.quote-pop-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.quote-pop-head .icon-button { color:#9fb3c3; }
.quote-pop .quote-zh { font-size:1.3rem; }
.quote-pop .quote-tr { font-size:.95rem; }
.quote-pop-foot { display:flex; justify-content:flex-end; margin-top:14px; }
@keyframes quote-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .quote-pop { animation:none; } }
/* Container load */
.container-fill { margin-top:14px; padding:16px 18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.fill-title { font-size:.8125rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.6px; margin-bottom:10px; }
.fill-title b { color:var(--ink); }
.fill-row { margin-bottom:10px; }
.fill-head { display:flex; justify-content:space-between; gap:12px; font-size:.875rem; margin-bottom:5px; }
.fill-bar { height:10px; border-radius:6px; background:#edf1f4; overflow:hidden; }
.fill-bar i { display:block; height:100%; border-radius:6px; background:var(--green); transition:width .25s ease; }
.fill-row.full .fill-bar i { background:#d4932f; }
.fill-row.over .fill-bar i { background:#c0392b; }
.fill-row.over .fill-head b { color:#c0392b; }
.fill-warning { color:#c0392b; font-weight:600; }
@media (prefers-reduced-motion: reduce) { .fill-bar i { transition:none; } }
/* Quick search */
.search-dialog { width:min(640px,94vw); }
#quick-search { width:100%; font-size:1.05rem; padding:12px 14px; }
.quick-results { display:grid; gap:4px; margin-top:12px; max-height:min(60vh,520px); overflow:auto; }
.quick-item { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:10px; align-items:center; text-align:left; padding:10px 12px; border:1px solid transparent; border-radius:10px; background:transparent; box-shadow:none; cursor:pointer; }
.quick-item .badge { grid-row:span 2; align-self:center; }
.quick-item b { font-weight:650; }
.quick-item small { color:var(--muted); grid-column:2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.quick-item:hover, .quick-item.active { background:var(--copper-light); border-color:#e8d2c2; }
/* Search box above long lists */
.select-filter { display:block; width:100%; margin:6px 0 6px; padding:8px 10px; font-size:.875rem; border-radius:8px; }
.select-filter + select { margin-top:0; }
/* An open window always lies above the left panel, also in browsers that draw dialogs in the page layer (Safari) */
dialog[open] { z-index:1000; }
#dialog.doc-dialog[open] { position:fixed; inset:0; z-index:1000; }
/* A closed full-screen document must disappear: display:flex above would otherwise keep it on the page. */
#dialog.doc-dialog:not([open]) { display:none; }
body:has(dialog[open]) aside { z-index:0; }
.row-item { display:flex; align-items:center; gap:10px; white-space:normal; min-width:240px; overflow-wrap:anywhere; }
/* Document lists: filters, summary and sortable headers. */
.list-filters { display:flex; flex-wrap:wrap; gap:12px; align-items:end; padding:16px 22px; border-bottom:1px solid #edf1f4; background:#fff; }
.list-filters label { display:grid; gap:5px; font-size:.75rem; color:#6d8090; min-width:130px; }
.list-filters label.list-search { flex:1 1 260px; }
.list-filters input, .list-filters select { margin:0; padding:8px 10px; font-size:.8125rem; }
.list-filters .select-filter { padding:6px 9px; font-size:.75rem; }
.list-actions { display:flex; gap:8px; margin-left:auto; }
.list-summary { display:flex; flex-wrap:wrap; gap:6px 22px; align-items:baseline; padding:10px 22px; font-size:.8125rem; color:#6d8090; background:#fafbfc; border-bottom:1px solid #edf1f4; }
.list-summary b { color:var(--navy,#0d2a42); font-variant-numeric:tabular-nums; }
.list-summary small { flex-basis:100%; font-size:.6875rem; }
.doc-list th.sortable { cursor:pointer; user-select:none; }
.doc-list th.sortable:hover { color:#244156; }
.doc-list th.sortable::after { content:" ⇅"; opacity:.35; }
.doc-list th[aria-sort="ascending"]::after { content:" ▲"; opacity:1; }
.doc-list th[aria-sort="descending"]::after { content:" ▼"; opacity:1; }
.line-filter { max-width:340px; margin:0 0 10px; padding:8px 11px; font-size:.8125rem; }
@media(max-width:760px) { .list-filters { padding:14px 16px; } .list-filters label { min-width:calc(50% - 6px); flex:1 1 calc(50% - 6px); } .list-actions { margin-left:0; width:100%; } }
