:root {
  --ink: #182026;
  --muted: #64727d;
  --line: #dce3e8;
  --surface: #fff;
  --soft: #f4f7f8;
  --brand: #0f766e;
  --deep: #14201f;
  --danger: #b91c1c;
  --warn: #b45309;
  --shadow: 0 14px 36px rgba(24, 32, 38, .07);
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--soft); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
.button { min-height: 40px; border: 1px solid transparent; border-radius: 8px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; text-decoration: none; white-space: nowrap; }
.button.primary { background: var(--brand); color: #fff; }
.button.ghost { background: #fff; color: var(--ink); border-color: var(--line); }
.button.danger { background: #fff1f1; color: var(--danger); border-color: #f4b7b7; }
.button.compact { min-height: 32px; padding: 0 10px; font-size: 13px; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 42px; height: 42px; border-radius: 8px; display: grid; place-items: center; background: #e5f4f1; color: var(--deep); font-weight: 850; }
.brand span { display: block; color: #a8bcba; font-size: 12px; margin-top: 2px; }
.app-shell { display: grid; grid-template-columns: 274px minmax(0, 1fr); min-height: 100vh; }
.sidebar { background: var(--deep); color: #f8fbfa; padding: 22px 16px; display: flex; flex-direction: column; gap: 24px; }
.nav-list { display: grid; gap: 6px; }
.nav-item { min-height: 43px; border: 0; border-radius: 8px; background: transparent; color: #d7e2e1; padding: 10px 12px; text-align: left; cursor: pointer; }
.nav-item:hover, .nav-item.is-active { background: rgba(255,255,255,.11); color: #fff; }
.main { min-width: 0; padding: 26px; }
.topbar, .section-tools, .topbar-actions, .modal-header, .modal-actions, .button-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.topbar { margin-bottom: 24px; align-items: flex-start; }
.eyebrow { margin: 0 0 4px; color: var(--brand); font-size: 12px; font-weight: 850; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: 30px; margin-bottom: 0; }
h2 { font-size: 18px; }
.search, .field input, .field select, .field textarea, .language-switcher { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); padding: 9px 10px; width: 100%; }
.search { width: min(360px, 34vw); }
.language-switcher { width: 86px; }
.file-label input { display: none; }
.view { display: none; }
.view.is-visible { display: block; }
.stats-grid, .content-grid { display: grid; gap: 14px; }
.stats-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin-bottom: 18px; }
.content-grid { grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr); }
.panel, .record-list, .stat, .modal form, .report-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); padding: 16px; }
.stat { color: inherit; text-align: left; cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.stat:hover { transform: translateY(-2px); border-color: #9ccbc5; box-shadow: 0 18px 44px rgba(24, 32, 38, .1); }
.stat.is-passive { cursor: default; opacity: 1; }
.stat.is-passive:hover { transform: none; border-color: var(--line); box-shadow: var(--shadow); }
.stat strong { font-size: 27px; display: block; }
.stat span, .meta { color: var(--muted); font-size: 13px; }
.stat-detail { display: block; min-height: 18px; margin-top: 4px; line-height: 1.35; }
.stat small { display: block; margin-top: 12px; color: var(--brand); font-size: 12px; font-weight: 760; }
.record { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(160px, .8fr) minmax(120px, .7fr) auto; gap: 12px; align-items: center; padding: 13px 14px; border-bottom: 1px solid var(--line); }
.record:last-child { border-bottom: 0; }
.record strong { display: block; overflow-wrap: anywhere; }
.record-button { width: 100%; border-top: 0; border-right: 0; border-left: 0; border-radius: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.record-button:hover { background: #f8fafb; }
.record-action { pointer-events: none; }
.list-toolbar { min-height: 44px; padding: 0 14px 12px; margin-bottom: 2px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; color: var(--muted); font-size: 13px; }
.list-toolbar strong { color: var(--ink); }
.empty-state { padding: 18px 14px; }
.is-hidden { display: none !important; }
.stat:focus-visible, .record-button:focus-visible { outline: 3px solid rgba(15, 118, 110, .25); outline-offset: 2px; }
.badge { display: inline-flex; width: fit-content; max-width: 100%; border-radius: 999px; padding: 4px 9px; background: #eef6f5; color: var(--brand); font-size: 12px; font-weight: 760; }
.badge.warn { background: #fff7ed; color: var(--warn); }
.kanban { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 10px; }
.stage { border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 10px; min-height: 160px; }
.stage-card, .mini-card { width: 100%; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 10px; margin-bottom: 8px; }
.stack { display: grid; gap: 10px; }
.modal { width: min(780px, calc(100vw - 30px)); border: 0; border-radius: 8px; padding: 0; box-shadow: 0 20px 70px rgba(0,0,0,.23); }
.modal::backdrop { background: rgba(16,24,32,.48); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field.inline-field { min-width: 190px; grid-template-columns: auto minmax(140px, 1fr); align-items: center; }
.field span, .field label, .portal-scope legend { color: var(--muted); font-size: 13px; font-weight: 740; }
.field input[type="file"] { padding: 12px; min-height: 52px; background: #f8fafb; }
.spacer { flex: 1; }
.icon-button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; }
.login-page, .portal-page { background: var(--deep); }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 22px; }
.login-card { width: min(440px, 100%); background: #fff; border-radius: 8px; padding: 24px; box-shadow: 0 24px 80px rgba(0,0,0,.24); }
.login-brand { color: var(--ink); margin-bottom: 22px; }
.login-brand span { color: var(--muted); }
.login-form { display: grid; gap: 13px; }
.login-error { min-height: 20px; color: var(--danger); font-size: 13px; }
.login-hint { margin-top: 16px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; color: var(--muted); display: grid; gap: 4px; font-size: 13px; }
.portal-page { background: #eef3f4; }
.portal-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, .8fr) minmax(520px, 1.2fr); }
.portal-hero { background: var(--deep); color: #fff; padding: 42px; display: flex; flex-direction: column; justify-content: space-between; min-height: 100vh; gap: 28px; }
.portal-home { grid-template-columns: minmax(420px, .95fr) minmax(520px, 1.05fr); }
.portal-home .portal-hero { justify-content: flex-start; overflow: hidden; }
.portal-brand { display: flex; align-items: center; gap: 12px; }
.portal-brand span { display: block; color: #a8bcba; font-size: 13px; }
.portal-admin-link { width: fit-content; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); color: #fff; }
.portal-hero-copy { margin-top: auto; }
.portal-hero h1 { font-size: 38px; margin-bottom: 14px; }
.portal-hero p:not(.eyebrow) { color: #d9e5e3; line-height: 1.7; max-width: 520px; }
.portal-hero-visual { margin: 22px 0 0; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; overflow: hidden; box-shadow: 0 22px 70px rgba(0,0,0,.24); background: rgba(255,255,255,.05); }
.portal-hero-visual picture { display: block; width: 100%; }
.portal-hero-visual img { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 665; object-fit: contain; background: #fff; }
.portal-panel { padding: 34px; overflow: auto; }
.portal-home .portal-panel { display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.portal-panel-head h2 { font-size: 28px; margin: 0; }
.portal-auth, .portal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.portal-top-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.portal-note { color: var(--muted); margin-bottom: 18px; }
.portal-form { display: grid; gap: 20px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 20px; box-shadow: var(--shadow); }
.portal-entry-grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 16px; align-content: start; }
.portal-entry { min-height: 230px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); padding: 22px; text-decoration: none; display: flex; flex-direction: column; justify-content: space-between; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.portal-entry:hover { transform: translateY(-2px); border-color: #9ccbc5; box-shadow: 0 18px 44px rgba(24, 32, 38, .1); }
.portal-entry h2 { font-size: 24px; margin: 18px 0 8px; }
.portal-entry p { color: var(--muted); line-height: 1.7; margin: 0; }
.warranty-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.warranty-summary article { border: 1px solid var(--line); border-radius: 8px; padding: 12px; background: #f8fafb; }
.warranty-summary strong, .warranty-summary span { display: block; }
.warranty-summary span { color: var(--muted); font-size: 13px; margin-top: 4px; }
.portal-scope { border: 1px solid var(--line); border-radius: 8px; padding: 12px; display: flex; flex-wrap: wrap; gap: 12px; }
.portal-scope label, .consent-line { display: flex; align-items: center; gap: 8px; }
.loaner-terms { background: #f8fafb; display: grid; gap: 10px; }
.loaner-terms legend { padding: 0 6px; color: var(--ink); font-size: 15px; }
.loaner-terms .meta { margin: 0; line-height: 1.7; }
.portal-result { min-height: 40px; display: inline-flex; align-items: center; color: var(--brand); font-weight: 760; }
.deseno-official-footer { background: #f7f4ef; color: #4a463f; border-top: 1px solid #d8d0c5; }
.fraud-strip { min-height: 58px; padding: 12px 24px; background: #b91616; color: #fff; text-decoration: none; display: flex; align-items: center; justify-content: center; gap: 12px; text-align: center; font-size: clamp(20px, 2.4vw, 34px); font-weight: 760; letter-spacing: .02em; }
.fraud-strip span { width: 34px; height: 34px; border-radius: 50%; background: #fff; color: #b91616; display: inline-grid; place-items: center; font-size: 18px; line-height: 1; flex: 0 0 auto; }
.official-footer-main { max-width: 1180px; margin: 0 auto; padding: 34px 28px 30px; display: grid; grid-template-columns: minmax(170px, .75fr) minmax(260px, 1fr) minmax(360px, 1.35fr) auto; gap: 26px; align-items: start; }
.official-footer-main h3 { margin: 0 0 12px; font-size: 15px; color: #2f2b25; }
.official-footer-main nav:not(.official-social) { display: flex; gap: 15px; flex-wrap: wrap; }
.official-footer-main a { color: #4a463f; text-decoration: none; font-size: 14px; }
.official-footer-main a:hover, .official-copy a:hover { color: var(--brand); }
.official-contact p { margin: 0; line-height: 1.7; font-size: 14px; }
.official-social { display: flex; gap: 12px; justify-content: flex-end; align-items: center; }
.official-social a { width: 34px; height: 34px; border-radius: 50%; background: #403a2c; color: #fff; display: inline-grid; place-items: center; font-weight: 850; font-size: 12px; }
.official-copy { border-top: 1px solid #bfb7aa; padding: 18px 28px 22px; text-align: center; font-size: 14px; font-weight: 680; }
.official-copy a { color: #27a9e0; text-decoration: none; }
.report-sheet .content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.framework-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.framework-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); padding: 16px; display: grid; gap: 10px; }
.framework-card h3 { margin: 0; font-size: 18px; }
.framework-card ul { margin: 0; padding-left: 18px; color: var(--muted); line-height: 1.6; }
.source-chip { width: fit-content; border: 1px solid var(--line); border-radius: 999px; padding: 4px 9px; color: var(--brand); background: #eef6f5; font-size: 12px; font-weight: 760; }
.subsection-title { margin: 18px 0 10px; }
.settings-panel { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); padding: 16px; margin-bottom: 16px; display: grid; gap: 14px; }
.settings-head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.settings-head h3 { margin: 0 0 4px; font-size: 18px; }
.settings-table { display: grid; gap: 10px; }
.settings-row { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(260px, 1.4fr) auto; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 12px; }
.settings-row strong, .settings-row span { display: block; }
.account-row { grid-template-columns: minmax(190px, .9fr) minmax(220px, 1fr) auto; }
.audit-list { display: grid; gap: 8px; }
.audit-row { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(180px, .8fr) minmax(260px, 1.4fr); gap: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 12px; align-items: start; }
.audit-row strong, .audit-row span { display: block; }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 12px; }
.portal-setting-preview { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 12px; }
.portal-setting-preview img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); background: #fff; }
.portal-setting-preview strong, .portal-setting-preview span { display: block; }
.modal-hero-preview { width: 100%; max-height: 280px; object-fit: cover; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.media-manager { gap: 12px; }
.media-manager-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.media-manager-head h3 { margin-bottom: 3px; }
.media-upload-button input { display: none; }
.media-preview-row { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 12px; align-items: center; }
.media-preview-row img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.media-preview-row span { overflow-wrap: anywhere; }
.media-library-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; max-height: 340px; overflow: auto; padding-right: 2px; }
.media-card { border: 1px solid var(--line); border-radius: 8px; background: #fff; display: grid; overflow: hidden; }
.media-card.is-selected { border-color: var(--brand); box-shadow: 0 0 0 2px rgba(15, 118, 110, .16); }
.media-card.is-broken img { background: repeating-linear-gradient(45deg, #f8fafb, #f8fafb 8px, #eef3f4 8px, #eef3f4 16px); }
.media-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #f8fafb; }
.media-card-body { padding: 10px; display: grid; gap: 7px; }
.media-card-body strong, .media-card-body span { display: block; overflow-wrap: anywhere; }
.media-card-body span, .media-empty { color: var(--muted); font-size: 12px; }
.profile-card { border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 14px; display: grid; gap: 10px; }
.profile-card-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.profile-card h3 { margin: 8px 0 0; font-size: 20px; }
.profile-thumb { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.profile-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.profile-facts span { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 8px; color: var(--muted); font-size: 13px; }
.repeat-editor { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 12px; display: grid; gap: 10px; }
.repeat-head { display: flex; justify-content: space-between; gap: 10px; align-items: center; flex-wrap: wrap; }
.repeat-head span { color: var(--muted); font-size: 13px; font-weight: 740; }
.repeat-rows { display: grid; gap: 8px; }
.repeat-row { display: grid; grid-template-columns: minmax(0, 1fr) 40px; gap: 8px; align-items: center; }
.repeat-row .repeat-value { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); padding: 9px 10px; width: 100%; }
.repeat-delete { color: var(--danger); }
.audience-builder { margin-bottom: 16px; }
.audience-panel { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); padding: 16px; display: grid; gap: 14px; }
.audience-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.audience-head h3 { margin: 0 0 4px; font-size: 18px; }
.audience-stats { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)); gap: 10px; }
.audience-stats article { border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 12px; }
.audience-stats span { display: block; color: var(--muted); font-size: 12px; font-weight: 740; }
.audience-stats strong { display: block; margin-top: 4px; font-size: 24px; }
.audience-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 12px; }
.active-chips { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; min-height: 28px; }
.analysis-row { display: grid; grid-template-columns: minmax(110px, 1fr) 44px minmax(100px, 1.6fr); align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.analysis-row:last-child { border-bottom: 0; }
.bar-track { height: 8px; border-radius: 999px; background: #e7eeee; overflow: hidden; }
.bar-fill { height: 100%; border-radius: 999px; background: var(--brand); }
.policy-preview { border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 14px; display: grid; gap: 8px; }
.policy-preview div { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.policy-preview span, .policy-preview p { color: var(--muted); font-size: 13px; line-height: 1.6; margin: 0; }
.product-preview { border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 14px; display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 14px; align-items: center; }
.product-preview-image { aspect-ratio: 4 / 3; border: 1px solid var(--line); border-radius: 8px; background: #fff; overflow: hidden; }
.product-preview-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-preview h3 { margin: 8px 0 6px; font-size: 22px; overflow-wrap: anywhere; }
.modal-extra { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 12px; display: grid; gap: 10px; }
.modal-extra h3 { margin: 0; font-size: 16px; }
.customer-history { background: #fbfcfd; }
.customer-history-head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.customer-history-head h3 { margin: 0 0 4px; }
.customer-history-stats { display: flex; gap: 8px; flex-wrap: wrap; }
.customer-history-stats span { border-radius: 999px; background: #eef6f5; color: var(--brand); padding: 5px 10px; font-size: 12px; font-weight: 760; }
.history-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.history-panel { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 12px; display: grid; gap: 8px; align-content: start; }
.history-panel h4 { margin: 0; font-size: 14px; }
.history-row { width: 100%; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; padding: 9px; text-align: left; cursor: pointer; }
.history-row:hover { border-color: #9ccbc5; background: #eef6f5; }
.history-row strong, .history-row span { display: block; overflow-wrap: anywhere; }
.history-row span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.checkbox-grid { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 8px; }
.checkbox-grid label { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 13px; }
.attachment-grid { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)); gap: 10px; }
.attachment-card { min-height: 150px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 10px; display: grid; gap: 7px; align-content: start; text-decoration: none; color: inherit; }
.attachment-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; background: #eef3f4; }
.attachment-card strong { overflow-wrap: anywhere; font-size: 13px; }
.attachment-card span { color: var(--muted); font-size: 12px; }
.file-icon { width: 100%; aspect-ratio: 4 / 3; border-radius: 8px; background: #eef6f5; color: var(--brand); display: grid; place-items: center; font-weight: 850; }
.modal-product-image { width: min(320px, 100%); aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.finance-dashboard { display: grid; gap: 16px; }
.finance-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.finance-card { border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); padding: 14px; display: grid; gap: 7px; }
.finance-card span, .finance-card small { color: var(--muted); font-size: 13px; }
.finance-card strong { font-size: 24px; overflow-wrap: anywhere; }
.finance-editor { background: #fbfcfd; }
.finance-editor-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.finance-editor-head h3 { margin: 0 0 4px; }
.finance-table-wrap { width: 100%; overflow-x: auto; }
.finance-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.finance-table th, .finance-table td { border-bottom: 1px solid var(--line); padding: 9px; text-align: left; vertical-align: top; }
.finance-table th { color: var(--muted); font-size: 12px; background: #f4f7f8; }
.finance-table td input { width: 100%; min-height: 38px; border: 1px solid var(--line); border-radius: 8px; padding: 8px 9px; background: #fff; }
.finance-table td .money-input { text-align: right; }
.finance-table td strong, .finance-table td span { display: block; }
.finance-totals { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 10px; }
.finance-totals article { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 10px; }
.finance-totals span { display: block; color: var(--muted); font-size: 12px; }
.finance-totals strong { display: block; margin-top: 4px; font-size: 18px; }
.finance-records { display: grid; gap: 12px; }
@media (max-width: 940px) { .app-shell, .portal-shell, .content-grid, .framework-grid, .portal-entry-grid, .audience-filter-grid, .audience-stats, .profile-grid, .finance-totals, .history-grid, .portal-setting-preview, .media-preview-row, .official-footer-main { grid-template-columns: 1fr; } .portal-hero { min-height: auto; gap: 28px; padding: 26px; } .portal-home .portal-panel { justify-content: flex-start; } .portal-hero h1 { font-size: 32px; } .portal-hero-visual { margin-top: 6px; } .portal-hero-visual img { aspect-ratio: 900 / 374; } .record, .stats-grid, .kanban, .form-grid, .warranty-summary, .profile-facts, .product-preview, .attachment-grid, .settings-row, .audit-row, .checkbox-grid { grid-template-columns: 1fr; } .repeat-row { grid-template-columns: minmax(0, 1fr) 40px; } .search { width: 100%; } .official-social { justify-content: flex-start; } .fraud-strip { min-height: 48px; padding: 12px 18px; } }
@media print { .sidebar, .topbar, .section-tools, .view:not(#reports-view) { display: none !important; } .app-shell, .main, #reports-view { display: block !important; padding: 0; } .panel, .report-card { box-shadow: none; break-inside: avoid; } }
