/*
 * Fakturi.eu responsive layer
 * Default rules target narrow screens first. Larger layouts are enabled with min-width queries.
 */
:root { --cookie-shadow: 0 18px 48px rgba(18, 29, 71, .22); }
html { overflow-x: hidden; }
body { min-width: 320px; }

/* Public marketing — mobile first */
.marketing-container { padding-left: 18px; padding-right: 18px; }
.marketing-header { position: sticky; top: 0; }
.marketing-nav { min-height: 70px; gap: 12px; flex-wrap: wrap; }
.marketing-brand { font-size: 21px; }
.marketing-brand-mark { width: 33px; height: 33px; }
.marketing-nav-toggle { display: inline-grid; place-items: center; width: 42px; height: 42px; margin-left: auto; border-radius: 11px; }
.marketing-nav-toggle:focus-visible { outline: 3px solid rgba(79,70,229,.28); }
.marketing-menu { width: 100%; order: 3; align-items: stretch; gap: 16px; padding: 3px 0 17px; }
.marketing-menu:not(.show) { display: none !important; }
.marketing-menu.show { display: flex !important; }
.marketing-menu-links { margin: 0; width: 100%; gap: 0; flex-direction: column; align-items: stretch; border-top: 1px solid var(--m-border); }
.marketing-menu-links a { padding: 12px 0; border-bottom: 1px solid var(--m-border); }
.marketing-nav-actions { width: 100%; justify-content: space-between; }
.marketing-btn { min-height: 44px; padding: 11px 16px; }
.marketing-btn-sm { padding: 9px 12px; min-height: 40px; font-size: 12px; }
.marketing-hero { padding: 44px 0 48px; }
.hero-content h1 { font-size: clamp(39px, 11vw, 52px); line-height: .99; letter-spacing: -.067em; }
.hero-content h1 br, .workflow-section h2 br, .document-banner-content h2 br, .final-cta h2 br { display: none; }
.hero-lead { max-width: 39rem; font-size: 16px; line-height: 1.62; }
.hero-actions { width: 100%; align-items: stretch; gap: 12px; }
.hero-actions .marketing-btn-lg { width: 100%; }
.marketing-text-link { justify-content: center; min-height: 40px; }
.hero-note { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.5; margin: 19px 0 0; color: #66748e; }
.hero-note i { color: var(--m-indigo); font-size: 16px; }
.product-preview { width: 100%; max-width: 470px; margin: 0 auto; transform: none; }
.preview-layout { min-height: 318px; }
.preview-sidebar { width: 43px; }
.preview-main { padding: 15px 12px; }
.preview-greeting span { font-size: 14px; }
.preview-greeting small { font-size: 9px; }
.preview-metrics { gap: 7px; }
.preview-metric { padding: 9px; }
.preview-metric small { font-size: 8px; }
.preview-metric strong { min-height: 18px; font-size: 14px; }
.preview-metric em { font-size: 8px; }
.preview-skeleton { display: inline-block; height: 15px; border-radius: 4px; background: currentColor; opacity: .84; vertical-align: middle; }
.preview-skeleton-long { width: 75%; }
.preview-skeleton-medium { width: 58%; color: #50617c; }
.preview-line { display: inline-block; width: 42%; height: 8px; background: #cbd2e3; border-radius: 99px; }
.preview-line-short { width: 30%; }
.preview-float { font-size: 9px; white-space: nowrap; padding: 7px 8px; }
.preview-float-one { left: -5px; top: 64px; }
.preview-float-two { right: -5px; bottom: 10px; }
.proof-strip { padding: 16px 0; }
.proof-strip .container { align-items: flex-start; flex-direction: column; gap: 11px; }
.proof-strip p { font-size: 11px; }
.proof-items { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.proof-items span { font-size: 11px; white-space: normal; }
.marketing-section { padding: 72px 0; }
.section-heading { margin-bottom: 34px; }
.section-heading h2, .workflow-section h2, .faq-section h2 { font-size: clamp(33px, 9vw, 41px); }
.section-heading p, .section-copy { font-size: 15px; }
.feature-card { min-height: 0; padding: 24px; }
.workflow-card { padding: 8px 16px; }
.workflow-step { grid-template-columns: 37px minmax(0,1fr); gap: 12px; padding: 19px 0; }
.workflow-line { left: 36px; }
.workflow-visual { grid-column: 1 / -1; margin-left: 48px; max-width: none; }
.document-banner { display: block; min-height: 0; padding: 34px 23px 22px; border-radius: 21px; }
.document-banner-content h2 { font-size: clamp(32px, 9vw, 39px); }
.document-types { height: 210px; margin: 15px auto 0; transform: scale(.85); transform-origin: center center; }
.document-type-card { width: 122px; height: 84px; padding: 12px; font-size: 10px; }
.document-type-card i { font-size: 17px; }
.type-invoice { left: 4px; }.type-proforma { right: 4px; }.type-credit { left: -8px; }.type-debit { right: -8px; }
.pricing-card { padding: 25px; }
.pricing-card-featured { transform: none; }
.pricing-unavailable { padding: 28px; border: 1px dashed var(--m-border); border-radius: 18px; text-align: center; color: var(--m-muted); background: #fff; }
.pricing-unavailable i { display: block; font-size: 24px; color: var(--m-indigo); margin-bottom: 10px; }
.pricing-unavailable p { margin: 0; font-size: 14px; }
.final-cta { padding: 48px 20px; border-radius: 20px; }
.final-cta h2 { font-size: clamp(34px, 9vw, 43px); }
.marketing-footer { padding-top: 48px; }
.footer-top { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding-bottom: 36px; }
.footer-brand-col { grid-column: 1 / -1; }
.footer-links-col:last-child { grid-column: auto; }
.footer-bottom { flex-direction: column; align-items: flex-start; gap: 6px; }
.footer-cookie-button { padding: 0; border: 0; background: transparent; color: #aeb9da; text-align: left; font-size: 12px; font-weight: 650; }
.footer-cookie-button:hover, .footer-cookie-button:focus-visible { color: #fff; }

/* Legal pages */
.legal-main { padding: 42px 0 72px; }
.legal-layout { display: block; }
.legal-side-nav { display: flex; overflow-x: auto; gap: 8px; margin: 0 0 25px; padding: 0 0 6px; }
.legal-side-nav a { flex: 0 0 auto; border: 1px solid var(--m-border); border-radius: 999px; padding: 8px 11px; font-size: 12px; text-decoration: none; color: var(--m-muted); font-weight: 750; }
.legal-side-nav a.is-active { color: var(--m-indigo); border-color: rgba(79,70,229,.32); background: #f3f2ff; }
.legal-document { max-width: 820px; padding: 26px 20px; border: 1px solid var(--m-border); border-radius: 19px; background: #fff; box-shadow: 0 14px 36px rgba(30, 43, 94, .055); }
.legal-document h1 { color: var(--m-navy); font-weight: 900; letter-spacing: -.06em; font-size: clamp(34px, 9.2vw, 49px); margin: 9px 0 10px; }
.legal-meta { color: var(--m-muted); font-size: 12px; line-height: 1.55; margin: 0 0 35px; }
.legal-document h2 { color: var(--m-navy); font-size: 20px; font-weight: 850; letter-spacing: -.035em; margin: 31px 0 10px; }
.legal-document p, .legal-document li { color: #536077; font-size: 14px; line-height: 1.74; }
.legal-document ul { padding-left: 20px; }
.legal-document a { color: var(--m-indigo); font-weight: 700; }
.legal-cookie-table { border: 1px solid var(--m-border); border-radius: 12px; overflow: hidden; margin: 17px 0; }
.legal-cookie-table table { min-width: 620px; font-size: 13px; }
.legal-cookie-table th { background: #f6f7ff; color: var(--m-navy); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.legal-cookie-trigger { border: 1px solid var(--m-indigo); border-radius: 10px; color: var(--m-indigo); background: #f5f4ff; padding: 10px 13px; font-weight: 800; font-size: 13px; }

/* Cookie consent — no optional category is enabled until a positive choice */
.cookie-consent[hidden], .cookie-modal-wrap[hidden] { display: none !important; }
.cookie-consent { position: fixed; z-index: 1080; inset: auto 0 0; padding: 12px; }
.cookie-banner { max-width: 1120px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; padding: 18px; background: #fff; color: #273457; border: 1px solid #e2e6fa; border-radius: 18px; box-shadow: var(--cookie-shadow); }
.cookie-banner-copy { display: flex; align-items: flex-start; gap: 13px; }
.cookie-icon { display: inline-grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px; background: #edeaff; color: var(--m-indigo); font-size: 18px; }
.cookie-banner h2 { font-size: 16px; font-weight: 850; margin: 0 0 4px; letter-spacing: -.03em; }
.cookie-banner p { color: #65728b; font-size: 12px; line-height: 1.5; margin: 0; }
.cookie-banner-links { margin-top: 8px !important; }
.cookie-banner-links a { color: var(--m-indigo); font-weight: 750; text-decoration: none; }
.cookie-banner-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
.cookie-secondary-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
.cookie-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 10px 13px; border-radius: 10px; font-size: 12px; font-weight: 800; border: 1px solid transparent; }
.cookie-btn-accept { width: 100%; min-height: 48px; font-size: 13px; box-shadow: 0 9px 18px rgba(79,70,229,.20); }
.cookie-btn-primary { color: #fff; background: var(--m-indigo); border-color: var(--m-indigo); }
.cookie-btn-outline { color: var(--m-indigo); background: #fff; border-color: var(--m-indigo); }
.cookie-btn-ghost { color: #4c5b77; background: #f6f7fb; border-color: #e2e6ef; }
.cookie-btn:hover { filter: brightness(.98); }
.cookie-btn:focus-visible, .cookie-close:focus-visible, .cookie-settings-fab:focus-visible { outline: 3px solid rgba(79,70,229,.28); outline-offset: 2px; }
.cookie-modal-wrap { position: fixed; inset: 0; z-index: 1090; display: grid; align-items: end; }
.cookie-modal-backdrop { position: absolute; inset: 0; background: rgba(12, 22, 55, .55); }
.cookie-modal { position: relative; width: 100%; max-height: 90vh; overflow-y: auto; padding: 24px 18px 18px; border-radius: 22px 22px 0 0; background: #fff; box-shadow: 0 -16px 48px rgba(13, 22, 57, .2); }
.cookie-modal-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; }
.cookie-modal h2 { color: var(--m-navy); font-weight: 900; letter-spacing: -.045em; font-size: 28px; margin: 4px 0 0; }
.cookie-modal > p { color: #64718a; font-size: 13px; line-height: 1.6; margin: 17px 0 18px; }
.cookie-close { display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; border: 0; border-radius: 10px; color: #46536f; background: #f4f6fb; }
.cookie-category-list { display: grid; gap: 10px; }
.cookie-category { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 15px; border: 1px solid #e4e8f5; border-radius: 13px; cursor: pointer; }
.cookie-category strong, .cookie-category small { display: block; }
.cookie-category strong { color: #273457; font-size: 14px; margin-bottom: 3px; }
.cookie-category small { color: #6c7890; font-size: 11px; line-height: 1.5; }
.cookie-category input { width: 21px; height: 21px; margin: 1px 0 0; accent-color: var(--m-indigo); }
.cookie-category-locked { background: #f8f9fc; cursor: default; }
.cookie-modal-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 17px; }
.cookie-settings-fab { position: fixed; z-index: 1070; bottom: 14px; left: 14px; display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 8px 11px; border: 1px solid #e0e5f5; border-radius: 999px; color: #384763; background: #fff; box-shadow: 0 8px 22px rgba(27,38,78,.14); font-size: 11px; font-weight: 800; }
.cookie-modal-open { overflow: hidden; }

/* Application shell — ensure horizontal tables and forms remain usable on phones */
@media (max-width: 575.98px) {
  .app-body .topbar-actions .btn { font-size: 12px; white-space: nowrap; }
  .app-body .panel, .app-body .form-panel { border-radius: 12px; }
  .app-body .table-responsive { -webkit-overflow-scrolling: touch; }
}

@media (min-width: 576px) {
  .cookie-secondary-actions { grid-template-columns: 1fr 1fr; }
  .cookie-btn-accept { width: auto; min-width: 190px; justify-self: end; }
  .cookie-modal-actions .cookie-btn-accept { width: 100%; justify-self: stretch; }
  .workflow-visual { max-width: 360px; }
  .document-types { transform: none; }
}

@media (min-width: 768px) {
  .marketing-container { padding-left: 24px; padding-right: 24px; }
  .marketing-nav { min-height: 74px; }
  .marketing-hero { padding: 66px 0 70px; }
  .hero-content h1 { font-size: clamp(50px, 7vw, 64px); }
  .hero-content h1 br, .workflow-section h2 br, .document-banner-content h2 br, .final-cta h2 br { display: block; }
  .hero-actions { width: auto; flex-direction: row; align-items: center; }
  .hero-actions .marketing-btn-lg { width: auto; }
  .proof-strip .container { align-items: center; flex-direction: row; }
  .proof-items { display: flex; width: auto; flex-wrap: wrap; }
  .workflow-step { grid-template-columns: 45px minmax(0,1fr) 215px; }
  .workflow-visual { grid-column: auto; margin-left: 0; max-width: none; }
  .workflow-line { left: 45px; }
  .document-banner { display: grid; grid-template-columns: 1.05fr .95fr; padding: 45px; }
  .document-types { height: 240px; margin: 0; }
  .footer-top { grid-template-columns: 1.7fr 1fr 1fr; }
  .footer-links-col:last-child { grid-column: 2 / 4; }
  .legal-main { padding: 58px 0 88px; }
  .legal-document { padding: 40px 44px; }
  .cookie-modal-wrap { align-items: center; padding: 22px; }
  .cookie-modal { max-width: 650px; margin: 0 auto; border-radius: 20px; padding: 31px; }
}

@media (min-width: 992px) {
  .marketing-header { position: relative; }
  .marketing-nav { min-height: 82px; flex-wrap: nowrap; gap: 28px; }
  .marketing-nav-toggle { display: none; }
  .marketing-menu { display: flex !important; width: auto; order: initial; align-items: center; justify-content: space-between; padding: 0; }
  .marketing-menu-links { width: auto; margin-left: auto; flex-direction: row; align-items: center; gap: 25px; border: 0; }
  .marketing-menu-links a { padding: 0; border: 0; }
  .marketing-nav-actions { width: auto; justify-content: initial; }
  .marketing-hero { padding: 91px 0 94px; }
  .product-preview { max-width: none; }
  .marketing-section { padding: 108px 0; }
  .feature-card { min-height: 274px; }
  .footer-top { grid-template-columns: 1.8fr 1fr 1.2fr 1fr; }
  .footer-links-col:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: row; align-items: center; }
  .legal-layout { display: grid; grid-template-columns: 190px minmax(0, 820px); gap: 58px; align-items: start; }
  .legal-side-nav { position: sticky; top: 22px; display: flex; flex-direction: column; overflow: visible; margin: 0; padding: 0; }
  .legal-side-nav a { border: 0; border-radius: 9px; padding: 10px 12px; }
  .legal-side-nav a.is-active { background: #f1f0ff; }
}

/* Small structural safeguards for the public header. */
.marketing-menu.collapsing { display: flex !important; flex-direction: column; align-items: stretch; }
.legal-header .marketing-nav { flex-wrap: nowrap; }
.legal-header-actions { display: flex; align-items: center; gap: 9px; margin-left: auto; }
.legal-header-actions .marketing-login { font-size: 12px; white-space: nowrap; }
.legal-header-actions .marketing-btn-sm { white-space: nowrap; }
@media (max-width: 359.98px) {
  .legal-header-actions .marketing-login { display: none; }
  .marketing-brand { font-size: 19px; }
  .marketing-brand-mark { width: 30px; height: 30px; }
}

/* Smart controls, VAT monitor and password recovery — mobile-first */
.auth-inline-link { color: var(--accent); font-size: 12px; font-weight: 750; text-decoration: none; }
.auth-inline-link:hover, .auth-inline-link:focus-visible { color: var(--accent-dark); text-decoration: underline; }
.auth-help { color: var(--muted); font-size: 12px; line-height: 1.55; margin: 16px 0 0; }

.form-check-lg { min-height: 72px; padding: 13px 14px 13px 45px; border: 1px solid var(--border); border-radius: 12px; background: #fbfcff; }
.form-check-lg .form-check-input { width: 2.35em; height: 1.25em; margin-top: 2px; margin-left: -31px; cursor: pointer; }
.form-check-lg .form-check-label { display: block; cursor: pointer; line-height: 1.3; }
.form-check-lg .form-check-label strong, .form-check-lg .form-check-label small { display: block; }
.form-check-lg .form-check-label strong { color: #293650; font-size: 13px; }
.form-check-lg .form-check-label small { color: var(--muted); font-size: 11px; margin-top: 4px; }
.vat-settings-head { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px; border: 1px solid #e2e5ff; border-radius: 14px; background: linear-gradient(135deg, #f6f6ff 0%, #fbfdff 100%); }
.vat-settings-head h2 { margin: 0 0 5px; }
.vat-settings-head p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; max-width: 650px; }
.vat-settings-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 31px; padding: 7px 9px; border-radius: 999px; color: #403ba6; background: #ebeaff; font-size: 11px; font-weight: 800; white-space: nowrap; }
.vat-disclaimer { display: flex; align-items: flex-start; gap: 9px; padding: 13px 14px; border-radius: 11px; background: #fff8e9; color: #735511; font-size: 12px; line-height: 1.52; }
.vat-disclaimer i { flex: 0 0 auto; font-size: 15px; margin-top: 1px; }

.smart-panel { padding: 18px; }
.smart-insights { display: flex; flex-direction: column; }
.smart-insight { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; align-items: start; padding: 14px 0; border-top: 1px solid #edf0f5; }
.smart-insight:first-child { border-top: 0; padding-top: 1px; }
.smart-insight-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: #eff3fb; color: #566681; font-size: 15px; }
.smart-insight-copy h3 { margin: 0 0 3px; color: #293650; font-size: 13px; font-weight: 800; }
.smart-insight-copy p { margin: 0; color: #66748a; font-size: 12px; line-height: 1.48; }
.smart-insight-action { grid-column: 2; justify-self: start; margin-top: 2px; color: var(--accent); font-size: 12px; font-weight: 800; text-decoration: none; }
.smart-insight-action i { margin-left: 3px; }
.smart-insight-danger .smart-insight-icon { color: #b83535; background: #fff0f0; }
.smart-insight-warning .smart-insight-icon { color: #9c6500; background: #fff5df; }
.smart-insight-success .smart-insight-icon { color: #0f7b5f; background: #e4f8f1; }

.vat-monitor-card { padding: 18px; }
.vat-monitor-progress-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 4px 0 12px; }
.vat-monitor-progress-head strong { display: block; color: #273557; font-size: 27px; font-weight: 850; letter-spacing: -.055em; line-height: 1.05; }
.vat-monitor-progress-head span { display: block; color: var(--muted); font-size: 11px; margin-top: 4px; }
.vat-monitor-progress-head > b { color: #5145c5; font-size: 15px; }
.vat-progress { height: 9px; overflow: hidden; border-radius: 99px; background: #ebedf5; }
.vat-progress > span { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: #1eaa7f; }
.vat-progress .vat-progress-warning { background: #e29a16; }
.vat-progress .vat-progress-critical, .vat-progress .vat-progress-exceeded { background: #c94c4a; }
.vat-monitor-meta, .vat-monitor-breakdown { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 15px; }
.vat-monitor-meta { padding: 13px 0 10px; color: #68758c; font-size: 11px; }
.vat-monitor-meta b { color: #354159; }
.vat-monitor-breakdown { padding-top: 10px; border-top: 1px solid #edf0f5; color: #758095; font-size: 11px; }
.vat-monitor-breakdown b { display: block; margin-top: 2px; color: #455167; font-size: 12px; }
.vat-monitor-note { display: flex; align-items: flex-start; gap: 7px; color: #778399; font-size: 11px; line-height: 1.5; margin: 15px 0 0; }
.vat-monitor-note i { color: var(--accent); margin-top: 1px; }
.vat-monitor-state { display: flex; align-items: flex-start; gap: 12px; padding: 16px 0 4px; }
.vat-monitor-state strong { color: #31405d; font-size: 13px; }
.vat-monitor-state p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 4px 0 0; }
.vat-monitor-icon { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: #657188; background: #f0f3f8; font-size: 18px; }
.vat-monitor-registered .vat-monitor-icon { color: #138061; background: #e3f7ef; }
.settings-list { padding-left: 18px; color: #58667b; font-size: 13px; line-height: 1.65; }
.settings-list li + li { margin-top: 7px; }

@media (min-width: 576px) {
  .vat-settings-head { flex-direction: row; align-items: center; justify-content: space-between; }
  .smart-insight { grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; }
  .smart-insight-action { grid-column: auto; justify-self: end; white-space: nowrap; }
}

@media (min-width: 992px) {
  .smart-panel, .vat-monitor-card { padding: 20px; }
}

/* Release v3: readable consent, stable phone menu, import and invoice branding */
.cookie-settings-fab { display: none !important; }
.cookie-banner { padding: 20px; border-color: #d6ddf4; }
.cookie-banner h2 { color: #15264b; font-size: 17px; line-height: 1.3; }
.cookie-banner p { color: #3f4f6c; font-size: 13px; line-height: 1.65; }
.cookie-banner-links a { text-decoration: underline; text-underline-offset: 2px; }
.cookie-btn { font-size: 13px; font-weight: 800; }
.cookie-btn-ghost { color: #33445f; background: #f3f6fb; border-color: #d6dfec; }

.scroll-top-fab { position: fixed; z-index: 1040; right: 16px; bottom: 16px; display: inline-grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: #263b6d; box-shadow: 0 10px 24px rgba(18, 36, 79, .26); font-size: 19px; transition: transform .18s ease, background .18s ease, opacity .18s ease; }
.scroll-top-fab:hover { background: #1d2e5a; transform: translateY(-2px); }
.scroll-top-fab:focus-visible { outline: 3px solid rgba(79,70,229,.32); outline-offset: 3px; }
.scroll-top-fab[hidden] { display: none !important; }

.document-state-copy { margin: 7px 0 0; color: #4d5e76; font-size: 12px; line-height: 1.45; }
.document-state-copy-success { color: #087457; font-weight: 700; }

.import-locked { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; border-color: #dbe1fa; background: linear-gradient(135deg, #f8f9ff, #fff); }
.import-locked h2 { color: #243555; font-size: 20px; margin: 4px 0 7px; }
.import-locked p { color: #60708a; margin: 0; }
.import-guidance { display: flex; align-items: flex-start; gap: 10px; padding: 13px; border: 1px solid #dce4f0; border-radius: 11px; color: #4c5d76; background: #f8fbff; }
.import-guidance > i { flex: 0 0 auto; color: var(--accent); font-size: 17px; margin-top: 1px; }
.import-guidance strong { color: #273a5d; font-size: 13px; }
.import-guidance p { margin: 3px 0 0; font-size: 12px; line-height: 1.52; }
.import-rules { height: 100%; }
.import-rules h2 { color: #273550; font-size: 20px; margin-bottom: 14px; }
.import-rules ul { display: grid; gap: 10px; padding-left: 18px; margin: 0 0 17px; color: #5c6a80; font-size: 12px; line-height: 1.5; }
.import-log { max-width: 100%; max-height: 180px; overflow: auto; padding: 9px; border-radius: 8px; background: #f5f7fb; color: #536278; font-size: 11px; white-space: pre-wrap; }

.lookup-button { min-width: 126px; font-weight: 750; }
.lookup-button.is-loading { pointer-events: none; opacity: .65; }
.lookup-button .spinner-border { width: 14px; height: 14px; border-width: 2px; }
.brand-logo-preview { display: inline-flex; align-items: center; gap: 10px; margin-top: 9px; color: #60708a; font-size: 12px; }
.brand-logo-preview img { display: block; width: auto; max-width: 128px; height: 44px; object-fit: contain; object-position: left center; padding: 4px; border: 1px solid #dfe4ec; border-radius: 8px; background: #fff; }
.color-control { display: flex; gap: 8px; }
.color-control input[type="color"] { flex: 0 0 48px; width: 48px; height: 40px; padding: 3px; border: 1px solid #d9e0e9; border-radius: 9px; background: #fff; }
.feature-locked { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 15px; border: 1px solid #dce3fa; border-radius: 12px; background: #f7f8ff; }
.feature-locked > i { color: #5146c7; font-size: 19px; }
.feature-locked strong { color: #313d67; font-size: 13px; }
.feature-locked p { color: #63708b; margin: 3px 0 0; font-size: 12px; line-height: 1.5; }

.marketing-menu-backdrop[hidden] { display: none !important; }
@media (max-width: 991.98px) {
  html.marketing-menu-open { overflow: hidden; }
  .marketing-header { z-index: 1060; background: #fff; box-shadow: 0 1px 0 rgba(24, 39, 75, .08); }
  .marketing-nav { position: relative; flex-wrap: nowrap; }
  .marketing-menu,
  .marketing-menu:not(.show) { position: absolute; top: calc(100% + 1px); right: -18px; left: -18px; z-index: 1065; display: none !important; width: auto; max-height: calc(100vh - 70px); overflow-y: auto; padding: 12px 18px 18px; border-top: 1px solid #e4e8f3; border-bottom: 1px solid #e4e8f3; background: #fff; box-shadow: 0 18px 30px rgba(21, 35, 70, .13); }
  .marketing-menu.is-open,
  .marketing-menu.is-open:not(.show) { display: flex !important; flex-direction: column; align-items: stretch; }
  .marketing-menu-links { border-top: 0; }
  .marketing-menu-links a { min-height: 46px; display: flex; align-items: center; color: #283957; font-size: 15px; }
  .marketing-nav-actions { flex-direction: column; align-items: stretch; gap: 9px; padding-top: 2px; }
  .marketing-nav-actions .marketing-btn { width: 100%; justify-content: center; }
  .marketing-menu-backdrop { position: fixed; z-index: 1055; inset: 70px 0 0; display: block; background: rgba(18, 29, 64, .38); }
  .legal-header .marketing-nav { flex-wrap: nowrap; }
  .scroll-top-fab { right: 13px; bottom: 13px; }
  .cookie-consent:not([hidden]) ~ .scroll-top-fab { display: none !important; }
}

@media (min-width: 576px) {
  .cookie-banner { padding: 22px; }
  .cookie-banner p { font-size: 14px; }
  .import-locked { flex-direction: row; align-items: center; justify-content: space-between; }
  .feature-locked { flex-direction: row; align-items: center; }
  .feature-locked > i { flex: 0 0 auto; }
  .feature-locked .btn { margin-left: auto; }
}

@media (min-width: 992px) {
  .marketing-menu-backdrop { display: none !important; }
  .marketing-menu,
  .marketing-menu:not(.show) { position: static; display: flex !important; width: auto; max-height: none; overflow: visible; padding: 0; border: 0; box-shadow: none; }
  .marketing-menu.is-open { flex-direction: row; }
  .scroll-top-fab { right: 25px; bottom: 25px; }
}

/* Release v4: optional company onboarding, profile, direct recipient and VAT mode */
.sidebar-nav a i { width: 18px; text-align: center; font-size: 15px; }
.sidebar-empty-company { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 3px 8px; margin: 18px 14px 8px; padding: 12px; border: 1px dashed #d9e0ee; border-radius: 12px; color: #65738a; font-size: 12px; line-height: 1.35; }
.sidebar-empty-company > i { grid-row: 1 / span 2; color: #5046c8; font-size: 17px; }
.sidebar-empty-company a { color: #433ab1; font-weight: 800; text-decoration: none; }
.avatar { text-decoration: none; }
.mobile-company-label { display: flex; align-items: center; gap: 8px; padding: 0 2px 14px; color: #4f5f79; font-size: 13px; font-weight: 700; border-bottom: 1px solid #e5eaf2; }
.mobile-nav a { display: flex; align-items: center; gap: 10px; }
.mobile-nav a i { width: 18px; text-align: center; color: #5966af; }

.empty-workspace { display: grid; gap: 16px; }
.empty-workspace-main { padding: 24px; }
.empty-workspace-main h2 { max-width: 670px; margin: 8px 0 10px; color: #243553; font-size: 25px; letter-spacing: -.04em; }
.empty-workspace-main > p { max-width: 670px; margin: 0; color: #63718a; line-height: 1.6; }
.empty-workspace-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: #fff; background: linear-gradient(145deg, #4f46c7, #6b64de); font-size: 22px; }
.empty-workspace-side { padding: 20px; }
.workspace-steps { display: grid; gap: 14px; margin: 15px 0 0; padding: 0; list-style: none; }
.workspace-steps li { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 10px; }
.workspace-steps li > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #4f46c7; background: #ecebff; font-size: 12px; font-weight: 800; }
.workspace-steps strong { display: block; color: #32405c; font-size: 13px; }
.workspace-steps p { margin: 2px 0 0; color: #758197; font-size: 12px; line-height: 1.45; }
.workspace-plan { display: flex; align-items: center; gap: 8px; margin-top: 18px; padding-top: 15px; border-top: 1px solid #e8edf4; color: #5c6a83; font-size: 12px; }
.workspace-plan i { color: #5a4fd1; font-size: 17px; }

.profile-summary-card { padding: 24px; }
.profile-summary-avatar { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 17px; border-radius: 18px; color: #fff; background: linear-gradient(145deg, #283c72, #5c53d0); font-size: 23px; font-weight: 800; }
.profile-summary-card h2 { margin: 0; color: #263653; font-size: 22px; }
.profile-meta { display: grid; gap: 11px; margin: 19px 0; padding: 15px 0; border-top: 1px solid #e9edf4; border-bottom: 1px solid #e9edf4; }
.profile-meta div { display: flex; justify-content: space-between; gap: 15px; }
.profile-meta dt { color: #778399; font-size: 12px; font-weight: 500; }
.profile-meta dd { margin: 0; color: #3e4e68; font-size: 12px; font-weight: 800; text-align: right; }
.profile-security-note { display: flex; align-items: flex-start; gap: 9px; padding: 12px 13px; border-radius: 10px; color: #58657d; background: #f4f7fc; font-size: 12px; line-height: 1.5; }
.profile-security-note i { color: #4e45c4; font-size: 16px; }

.recipient-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.recipient-heading h2 { margin: 0; color: #2a3957; font-size: 19px; }
.recipient-heading p { max-width: 720px; margin: 4px 0 0; color: #65738b; font-size: 12px; line-height: 1.55; }
.customer-results { position: absolute; z-index: 1040; top: 100%; right: 0; left: 0; overflow: hidden; margin-top: 5px; border: 1px solid #dce3ee; border-radius: 10px; background: #fff; }
.customer-result { display: grid; width: 100%; gap: 2px; padding: 11px 13px; border: 0; border-bottom: 1px solid #edf0f5; color: #31415d; background: #fff; text-align: left; }
.customer-result:last-child { border-bottom: 0; }
.customer-result:hover, .customer-result:focus-visible { background: #f4f6ff; outline: none; }
.customer-result strong { font-size: 13px; }
.customer-result small { overflow: hidden; color: #78849a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.document-vat-notice { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; margin: 0 0 15px; padding: 12px 13px; border: 1px solid #d9e1fa; border-radius: 10px; color: #43567a; background: #f6f8ff; font-size: 12px; line-height: 1.5; }
.document-vat-notice i { color: #4d45c7; font-size: 16px; }
.document-vat-notice a { margin-left: auto; color: #4239ab; font-weight: 800; text-decoration: none; }
.vat-status-choice { display: grid; gap: 10px; }
.vat-status-option { display: grid; grid-template-columns: 18px 36px minmax(0, 1fr); gap: 10px; align-items: start; padding: 14px; border: 1px solid #dde3ed; border-radius: 12px; cursor: pointer; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.vat-status-option:has(input:focus-visible) { outline: 3px solid rgba(79,70,229,.22); outline-offset: 2px; }
.vat-status-option.is-selected { border-color: #655ddd; background: #f6f6ff; box-shadow: 0 4px 14px rgba(79,70,199,.08); }
.vat-status-option input { margin-top: 9px; }
.vat-status-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: #5148c9; background: #eaeaff; }
.vat-status-option strong { display: block; color: #32415f; font-size: 13px; }
.vat-status-option small { display: block; margin-top: 3px; color: #68758b; font-size: 12px; line-height: 1.45; }

@media (min-width: 576px) {
  .recipient-heading { flex-direction: row; align-items: flex-start; justify-content: space-between; }
  .empty-workspace-main { padding: 30px; }
}
@media (min-width: 768px) {
  .empty-workspace { grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr); align-items: start; }
  .vat-status-choice { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* Release v4.1: authenticated mobile navigation and guest layout separation */
@media (max-width: 820px) {
  .app-body .topbar { min-height: 76px; padding: 13px 16px; gap: 10px; }
  .app-body .topbar-title { min-width: 0; flex: 1; }
  .app-body .topbar h1 { overflow: hidden; margin-top: 2px; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
  .app-body .topbar-actions { flex: 0 0 auto; }
  .app-body .topbar-actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; padding: 10px 13px; font-size: 13px; white-space: nowrap; }
  .app-body .topbar-actions .btn::after { content: none !important; }
  .app-body .topbar-actions .btn i { font-size: 15px; }
  .app-body .mobile-menu { display: inline-grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid #e0e6f0; border-radius: 12px; color: #1853b6; background: #f7faff; font-size: 22px; }
  .app-body .mobile-menu:focus-visible { outline: 3px solid rgba(46,103,232,.24); outline-offset: 2px; }

  .mobile-app-nav { width: min(88vw, 360px) !important; border-right: 0; box-shadow: 18px 0 48px rgba(20, 34, 61, .18); }
  .mobile-drawer-header { min-height: 82px; padding: 20px 20px 16px; border-bottom: 1px solid #e8edf4; }
  .mobile-drawer-header .brand { margin: 0; font-size: 22px; }
  .mobile-drawer-header .brand-mark { width: 34px; height: 34px; border-radius: 10px; font-size: 17px; }
  .mobile-drawer-close { display: inline-grid; place-items: center; width: 42px; height: 42px; margin: 0; padding: 0; border: 1px solid #e1e7f0; border-radius: 12px; color: #617089; background: #fff; font-size: 17px; }
  .mobile-drawer-close:focus-visible { outline: 3px solid rgba(46,103,232,.24); outline-offset: 2px; }
  .mobile-drawer-body { display: flex; min-height: 0; padding: 16px 16px 18px; flex-direction: column; overflow: hidden; }
  .mobile-drawer-context { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #e7ebf3; border-radius: 14px; background: #f8faff; }
  .mobile-drawer-avatar { display: grid; flex: 0 0 auto; place-items: center; width: 37px; height: 37px; border-radius: 12px; color: #244fa9; background: #e5edff; font-size: 14px; font-weight: 850; }
  .mobile-drawer-context strong, .mobile-drawer-context small { display: block; overflow: hidden; max-width: 220px; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-drawer-context strong { color: #2c3a55; font-size: 13px; }
  .mobile-drawer-context small { margin-top: 2px; color: #758298; font-size: 11px; }
  .mobile-company-switcher { margin-top: 12px; }
  .mobile-company-switcher label { display: block; margin: 0 0 6px; color: #77849a; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .mobile-company-switcher select { display: block; width: 100%; min-height: 42px; padding: 8px 34px 8px 11px; border: 1px solid #dce4ef; border-radius: 11px; color: #34425c; background: #fff; font-size: 12px; font-weight: 700; }
  .mobile-add-company { display: grid; grid-template-columns: 24px minmax(0, 1fr) 16px; align-items: center; gap: 9px; margin-top: 12px; padding: 12px; border: 1px solid #dce4fa; border-radius: 14px; color: #3f50a1; background: #f7f8ff; text-decoration: none; }
  .mobile-add-company > i:first-child { font-size: 18px; }
  .mobile-add-company b, .mobile-add-company small { display: block; }
  .mobile-add-company b { color: #364778; font-size: 12px; }
  .mobile-add-company small { margin-top: 2px; color: #70809e; font-size: 10px; line-height: 1.35; }
  .mobile-add-company > i:last-child { font-size: 13px; }
  .mobile-nav { display: flex; flex: 1 1 auto; min-height: 0; margin-top: 15px; padding: 0 2px; flex-direction: column; gap: 2px; overflow-y: auto; }
  .mobile-nav-label { margin: 13px 10px 5px; color: #8b96a9; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
  .mobile-nav-label:first-child { margin-top: 0; }
  .mobile-nav a { min-height: 46px; padding: 11px 10px; border-radius: 11px; color: #59677d; font-size: 14px; font-weight: 750; }
  .mobile-nav a:hover, .mobile-nav a:focus-visible, .mobile-nav a.is-active { color: #214ca6; background: #edf3ff; outline: none; }
  .mobile-nav a i { width: 20px; color: inherit; font-size: 17px; }
  .mobile-nav .super-link { color: #85520c; background: #fff8eb; }
  .mobile-drawer-footer { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e8edf4; }
  .mobile-logout { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; border: 1px solid #cfd8e4; border-radius: 12px; color: #536177; background: #fff; font-size: 14px; font-weight: 800; }
}
@media (max-width: 359.98px) {
  .app-body .topbar-actions .btn span { display: none; }
  .app-body .topbar-actions .btn { width: 46px; padding: 10px; }
  .app-body .topbar { gap: 8px; }
}

/* Release v5: desktop polish, readable consent and document editor */
@media (min-width: 821px) {
  .sidebar { height: 100dvh; overflow: hidden; }
  .sidebar-nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 8px 4px 8px 0; scrollbar-width: thin; }
  .sidebar-user { flex: 0 0 auto; margin-top: 0; }
}
.cookie-banner .cookie-btn-primary,
.cookie-modal .cookie-btn-primary,
.cookie-banner [data-cookie-accept],
.cookie-modal [data-cookie-accept] { color: #fff !important; background: #312e81 !important; border-color: #312e81 !important; opacity: 1 !important; text-shadow: none !important; }
.cookie-banner .cookie-btn-primary *,
.cookie-modal .cookie-btn-primary *,
.cookie-banner [data-cookie-accept] *,
.cookie-modal [data-cookie-accept] * { color: inherit !important; opacity: 1 !important; }
.cookie-banner .cookie-btn-primary:hover,
.cookie-modal .cookie-btn-primary:hover { color:#fff !important; background:#24216a !important; border-color:#24216a !important; }

.marketing-footer { margin-top: 0; padding: 0; color: #cbd5e1; background: #111b34; }
.marketing-footer-main { display:grid; grid-template-columns: minmax(250px,1.7fr) repeat(3,minmax(145px,1fr)); gap:42px; padding:64px 0 42px; }
.footer-brand-block p { max-width:330px; margin:17px 0 19px; color:#aebbd1; font-size:14px; line-height:1.65; }
.marketing-brand-footer { color:#fff; }
.footer-start-link { display:inline-flex; align-items:center; gap:8px; color:#b8c8ff; font-size:13px; font-weight:800; text-decoration:none; }
.footer-start-link:hover { color:#fff; }
.footer-link-group { display:grid; align-content:start; gap:10px; }
.footer-link-group h3 { margin:0 0 5px; color:#fff; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.footer-link-group a,.footer-cookie-button { padding:0; border:0; color:#aebbd1; background:transparent; font-size:13px; line-height:1.5; text-align:left; text-decoration:none; }
.footer-link-group a:hover,.footer-cookie-button:hover { color:#fff; }
.marketing-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-top:1px solid rgba(255,255,255,.12); color:#8998b1; font-size:12px; }
@media (max-width: 767.98px) { .marketing-footer-main { grid-template-columns:1fr 1fr; gap:28px 20px; padding:42px 0 26px; }.footer-brand-block { grid-column:1 / -1; }.marketing-footer-bottom { display:grid; gap:7px; padding:17px 0; } }
@media (max-width: 450px) { .marketing-footer-main { grid-template-columns:1fr; }.footer-brand-block { grid-column:auto; } }

.account-tool-card { display:grid; grid-template-columns:42px minmax(0,1fr) 16px; align-items:center; gap:13px; min-height:108px; padding:19px; border:1px solid #e0e7f0; border-radius:16px; color:#34425c; background:#fff; text-decoration:none; box-shadow:0 6px 20px rgba(35,51,84,.04); }
.account-tool-card:hover { border-color:#bfcdfc; color:#283f91; box-shadow:0 10px 26px rgba(49,71,137,.10); }
.account-tool-card > span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#3f57cf; background:#edf1ff; font-size:20px; }.account-tool-card strong,.account-tool-card small{display:block;}.account-tool-card strong{font-size:15px;}.account-tool-card small{margin-top:4px;color:#77849a;font-size:12px;line-height:1.45;}

.document-parent-note { display:flex; align-items:flex-start; gap:9px; padding:12px 13px; border:1px solid #dde6ff; border-radius:11px; color:#42547e; background:#f6f8ff; font-size:12px; line-height:1.5; }.document-parent-note i{color:#4e46c6;font-size:17px;}.document-parent-note strong{color:#31446f;}
.invoice-items-scroll { border:1px solid #e7ecf3; border-radius:13px; }.invoice-items-table { min-width:1020px; margin:0; border-collapse:separate; border-spacing:0; }.invoice-items-table thead th { padding:13px 10px; border-bottom:1px solid #dee6f0; color:#68758a; background:#f7f9fc; font-size:11px; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; }.invoice-items-table td { padding:10px 8px; vertical-align:middle; }.invoice-items-table .col-item-no{width:40px;}.invoice-items-table .col-item-description{min-width:260px;}.invoice-items-table .item-index{color:#7b879a;font-size:12px;font-weight:800;text-align:center;}.invoice-items-table .form-control,.invoice-items-table .form-select { min-width:82px; border-color:#dce4ee; }.invoice-items-table td:nth-child(2) .form-control{min-width:260px;}.invoice-items-table td:nth-child(3) .form-select{min-width:96px;}.invoice-items-table td:nth-child(4) .form-control{min-width:88px;}.invoice-items-table td:nth-child(5) .form-control{min-width:100px;}.invoice-items-table td:nth-child(6) .input-group{min-width:90px;}.invoice-items-table td:nth-child(7) .form-select{min-width:76px;}.invoice-items-table tbody tr:last-child td{border-bottom:0;}
.document-total-list { margin:18px 0; }.document-total-list > div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;color:#66748a;font-size:13px;}.document-total-list dt,.document-total-list dd{margin:0;}.document-total-list dd{color:#32415d;font-weight:800;}.document-total-list .document-total-grand{margin-top:8px;padding:15px 0 0;border-top:1px solid #dce4ef;color:#1d2c47;font-size:16px;font-weight:850;}.document-total-list .document-total-grand dd{color:#294fc0;font-size:20px;}
@media (max-width: 820px){.invoice-items-scroll{margin:0 -4px;}.document-summary{position:static !important;}.account-tool-card{min-height:92px;}}

/* Release v5.1: footer layout and Bulgarian date fields */
.marketing-footer { background: #101a35; }
.marketing-footer-main { grid-template-columns: minmax(280px, 2fr) repeat(2, minmax(170px, 1fr)); gap: 56px; padding: 58px 0 36px; }
.footer-brand-block { padding-right: 18px; }
.footer-brand-block .marketing-brand { display: inline-flex; }
.footer-brand-block p { max-width: 360px; margin: 18px 0 20px; }
.footer-link-group { padding-top: 8px; }
.footer-link-group h3 { margin-bottom: 9px; }
.marketing-footer-bottom { min-height: 64px; align-items: center; }
.cookie-banner .cookie-btn-primary,
.cookie-modal .cookie-btn-primary,
.cookie-banner [data-cookie-action="accept"],
.cookie-modal [data-cookie-action="accept"] { color: #fff !important; -webkit-text-fill-color: #fff !important; background-color: #312e81 !important; border-color: #312e81 !important; }
.bg-date-input { letter-spacing: .015em; }
.bg-date-input::placeholder { color: #9aa6b9; opacity: 1; }
@media (max-width: 767.98px) {
  .marketing-footer-main { grid-template-columns: 1fr 1fr; gap: 28px 22px; padding: 42px 0 26px; }
  .footer-brand-block { grid-column: 1 / -1; padding-right: 0; }
}
@media (max-width: 450px) {
  .marketing-footer-main { grid-template-columns: 1fr; }
  .footer-brand-block { grid-column: auto; }
}

/* Release v8: final production footer and compact consent dialog. Loaded after legacy styles. */
.marketing-footer.marketing-footer-v8 {
  margin-top: 72px;
  padding: 58px 0 22px;
  color: #d7e4ff;
  background: radial-gradient(circle at 14% 0, #315fb3 0, transparent 32%), linear-gradient(135deg, #101b33, #182d5d);
}
.marketing-footer.marketing-footer-v8 .marketing-footer-main {
  display: grid;
  grid-template-columns: minmax(260px, 1.65fr) repeat(3, minmax(138px, 1fr));
  gap: 38px;
  padding: 0;
}
.marketing-footer.marketing-footer-v8 .footer-brand-block { padding: 0; }
.marketing-footer.marketing-footer-v8 .footer-brand-block p { max-width: 310px; margin: 14px 0; color: #b7c8e6; font-size: 13px; }
.marketing-footer.marketing-footer-v8 .footer-link-group { display: block; padding: 2px 0 0; }
.marketing-footer.marketing-footer-v8 .footer-link-group h3 { margin: 3px 0 13px; color: #fff; font-size: 13px; letter-spacing: 0; text-transform: none; }
.marketing-footer.marketing-footer-v8 .footer-link-group a,
.marketing-footer.marketing-footer-v8 .footer-cookie-button { display: block; margin: 0 0 9px; color: #bfcee9; font-size: 13px; line-height: 1.45; }
.marketing-footer.marketing-footer-v8 .marketing-footer-bottom { min-height: 0; margin-top: 38px; padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.16); color: #9eb3d4; }

.cookie-consent .cookie-banner {
  width: min(590px, calc(100vw - 28px));
  padding: 15px 16px !important;
  border-radius: 14px !important;
}
.cookie-consent .cookie-banner h2 { font-size: 15px !important; }
.cookie-consent .cookie-banner p { font-size: 12px !important; line-height: 1.42 !important; }
.cookie-consent .cookie-icon { width: 32px !important; height: 32px !important; }
.cookie-consent .cookie-banner-actions { gap: 7px !important; }
.cookie-consent .cookie-secondary-actions { gap: 7px !important; }
.cookie-consent .cookie-btn,
.cookie-modal .cookie-btn { min-height: 34px !important; padding: 7px 10px !important; border-radius: 8px !important; font-size: 11px !important; }
.cookie-consent .cookie-btn-primary,
.cookie-modal .cookie-btn-primary,
.cookie-consent [data-cookie-action="accept"],
.cookie-modal [data-cookie-action="accept"] { color: #fff !important; -webkit-text-fill-color: #fff !important; background: #2454c6 !important; border-color: #2454c6 !important; }
.cookie-modal { max-width: 560px !important; padding: 18px !important; }
.cookie-modal h2 { font-size: 21px !important; }
.cookie-modal > p { font-size: 12px !important; margin: 12px 0 !important; }
.cookie-modal .cookie-category { padding: 9px 10px !important; }

@media (max-width: 991.98px) {
  .marketing-footer.marketing-footer-v8 .marketing-footer-main { grid-template-columns: 1.5fr 1fr 1fr; }
  .marketing-footer.marketing-footer-v8 .footer-brand-block { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .marketing-footer.marketing-footer-v8 { margin-top: 44px; padding-top: 42px; }
  .marketing-footer.marketing-footer-v8 .marketing-footer-main { grid-template-columns: 1fr 1fr; gap: 28px 22px; }
  .marketing-footer.marketing-footer-v8 .footer-brand-block { grid-column: 1 / -1; }
  .marketing-footer.marketing-footer-v8 .marketing-footer-bottom { display: grid; gap: 7px; margin-top: 28px; padding-top: 15px; }
  .cookie-consent .cookie-banner { width: calc(100vw - 22px); padding: 13px !important; }
  .cookie-consent .cookie-btn-primary { flex: 1 1 132px; }
}
@media (max-width: 410px) {
  .marketing-footer.marketing-footer-v8 .marketing-footer-main { grid-template-columns: 1fr; }
  .marketing-footer.marketing-footer-v8 .footer-brand-block { grid-column: auto; }
}


/* v13: document rows are cards, not an over-wide editable table. */
.document-items-list{display:grid;gap:12px;padding:0 20px 20px;}
.document-item-card{border:1px solid #e0e7ef;border-radius:13px;background:#fff;overflow:hidden;}
.document-item-card-head{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid #e7edf4;background:#f8faff;color:#46566d;font-size:12px;}
.document-item-card-head .item-index{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:#315ec8;font-weight:800;}
.document-item-card-head .icon-btn{margin-left:auto;}
.document-item-grid{display:grid;grid-template-columns:minmax(220px,2fr) minmax(94px,.7fr) minmax(94px,.7fr) minmax(110px,.8fr) minmax(105px,.7fr) minmax(88px,.6fr) minmax(115px,.8fr);gap:10px;padding:12px;align-items:end;}
.document-item-grid .form-label{font-size:11px;margin-bottom:5px;}.document-item-line-total{display:flex;flex-direction:column;gap:5px;min-height:40px;justify-content:center;padding:0 5px;color:#6b7890;font-size:11px;}.document-item-line-total strong{color:#263a60;font-size:14px;}
.document-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #e7edf4;}
.sidebar-nav-group{border-radius:9px;}.sidebar-nav-group summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;color:#5d6a7d;border-radius:8px;font-weight:750;cursor:pointer;list-style:none;}.sidebar-nav-group summary::-webkit-details-marker{display:none}.sidebar-nav-group summary>span{display:flex;align-items:center;gap:10px}.sidebar-nav-group summary>i{font-size:11px;transition:transform .18s ease}.sidebar-nav-group[open] summary{color:#173a88;background:#eef4ff}.sidebar-nav-group[open] summary>i{transform:rotate(180deg)}.sidebar-subnav{display:grid;gap:2px;padding:4px 0 6px 18px}.sidebar-nav .sidebar-subnav a{padding:8px 10px;font-size:12px;font-weight:650;}.sidebar-subnav a i{font-size:13px;width:15px;text-align:center}.mobile-nav-group summary{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#5d6a7d;font-weight:750;cursor:pointer;list-style:none}.mobile-nav-group summary::-webkit-details-marker{display:none}.mobile-nav-group summary>i:last-child{margin-left:auto;font-size:11px}.mobile-nav-group[open] summary{color:#173a88;background:#eef4ff;border-radius:8px}.mobile-nav-group a{padding-left:38px!important;font-size:13px;}
.qr-pending{border:1px dashed #cbd5e1;border-radius:4px;background:#f8fafc;}
@media (max-width:1199px){.document-item-grid{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(100px,1fr));}.document-item-line-total{grid-column:auto;}}
@media (max-width:700px){.document-items-list{padding:0 12px 14px}.document-item-grid{grid-template-columns:1fr 1fr;}.document-item-description{grid-column:1/-1}.document-item-line-total{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;padding:10px;background:#f7f9fc;border-radius:9px;}.document-form-actions{grid-template-columns:1fr;}.items-panel .panel-header{padding:16px 14px 0;}}
