/* Boljo UX/UI consistency layer — 2026-10-12
   Shared screen styling only. Keeps print/PDF templates untouched. */
@media screen {
  :root {
    --boljo-primary:#063dcc;
    --boljo-primary-hover:#0735ad;
    --boljo-primary-soft:#edf3ff;
    --boljo-primary-border:#cddcff;
    --boljo-ink:#17243c;
    --boljo-muted:#66758c;
    --boljo-subtle:#8a96a8;
    --boljo-line:#e2e8f1;
    --boljo-line-strong:#d3dce9;
    --boljo-canvas:#f5f7fb;
    --boljo-surface:#ffffff;
    --boljo-surface-subtle:#f8faff;
    --boljo-success:#168347;
    --boljo-success-soft:#e8f7ee;
    --boljo-warning:#a05c00;
    --boljo-warning-soft:#fff4df;
    --boljo-danger:#bd2e3a;
    --boljo-danger-soft:#fff0f1;
    --boljo-info-soft:#eef4ff;
    --boljo-radius-xs:8px;
    --boljo-radius-sm:10px;
    --boljo-radius-md:14px;
    --boljo-radius-lg:18px;
    --boljo-shadow-xs:0 1px 2px rgba(20,36,63,.035);
    --boljo-shadow-sm:0 8px 24px rgba(20,36,63,.055);
    --boljo-shadow-md:0 18px 48px rgba(20,36,63,.09);
    --boljo-focus:0 0 0 3px rgba(73,120,255,.24);
    --boljo-content:1440px;
  }

  html { color:var(--boljo-ink); background:var(--boljo-canvas); }
  body { color:var(--boljo-ink); background:var(--boljo-canvas); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
  body, button, input, select, textarea { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
  body:not(.public-site) { font-size:14px; line-height:1.55; }
  * { scrollbar-color:#c9d3e2 transparent; }
  ::selection { background:#dce7ff; color:var(--boljo-ink); }

  h1,h2,h3,h4 { color:var(--boljo-ink); text-wrap:balance; }
  h1 { letter-spacing:-.035em; }
  h2 { letter-spacing:-.018em; }
  p { text-wrap:pretty; }
  a { color:var(--boljo-primary); text-underline-offset:3px; }
  a:hover { color:var(--boljo-primary-hover); }

  :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:none!important;
    box-shadow:var(--boljo-focus)!important;
  }

  /* Core app surfaces */
  .boljo-ui :is(.panel,.card,.return-card,.orders-list,.invoice-list,.settings-card,.profile-card),
  :is(.company-card,.company-public,.bl-wrap section) {
    border-color:var(--boljo-line)!important;
    border-radius:var(--boljo-radius-md)!important;
    box-shadow:var(--boljo-shadow-xs)!important;
    background:var(--boljo-surface)!important;
  }
  .boljo-ui main,.boljo-ui .invoice-page { max-width:none; }
  .boljo-ui main>header,.boljo-ui .heading,.boljo-ui .invoice-top { margin-bottom:26px; }
  .boljo-ui .panel-head { min-height:72px; }
  .boljo-ui .panel-head,.boljo-ui .section-heading { border-color:var(--boljo-line); }

  /* Inputs */
  .boljo-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea),
  .company-admin :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
  .company-public :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
  .bl-wrap :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
    min-height:44px;
    border:1px solid var(--boljo-line-strong)!important;
    border-radius:var(--boljo-radius-sm)!important;
    background:var(--boljo-surface)!important;
    color:var(--boljo-ink)!important;
    box-shadow:inset 0 1px 1px rgba(20,36,63,.025);
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  }
  :is(.boljo-ui,.company-admin,.company-public,.bl-wrap) :is(input,select,textarea):hover:not(:disabled) { border-color:#b9c6d9!important; }
  :is(.boljo-ui,.company-admin,.company-public,.bl-wrap) :is(input,select,textarea):focus { border-color:#7699f5!important; }
  :is(.boljo-ui,.company-admin,.company-public,.bl-wrap) :is(input,textarea)::placeholder { color:#8b97a9; }
  :is(.boljo-ui,.company-admin,.company-public,.bl-wrap) label { color:#34445f; }

  /* Buttons: one clear hierarchy */
  .boljo-ui button:not(.nav):not(.menu):not(.sidebar-close):not(.sidebar-backdrop):not(.text-button):not([role=tab]):not(.drawer-close):not(.icon-btn),
  .company-admin button,.company-public button,.company-admin .button,.company-public .button,
  .bl-wrap .bl-button {
    min-height:42px;
    border-radius:var(--boljo-radius-sm)!important;
    font-weight:700!important;
    letter-spacing:-.005em;
    transition:transform .12s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
  }
  :is(.boljo-ui,.company-admin,.company-public,.bl-wrap) button:not(:disabled):active,
  :is(.company-admin,.company-public) .button:active { transform:translateY(1px); }
  .boljo-ui button.primary,.boljo-ui .filters>button,.boljo-ui .orders-filters>button,.boljo-ui .profile-actions>button,
  .company-admin button:not(.secondary),.company-public button:not(.secondary),.company-admin .button:not(.secondary),.company-public .button:not(.secondary),
  .bl-wrap .bl-button:not(.bl-secondary) {
    background:var(--boljo-primary)!important;
    border-color:var(--boljo-primary)!important;
    color:#fff!important;
    box-shadow:0 3px 8px rgba(6,61,204,.16);
  }
  .boljo-ui button.primary:hover,.boljo-ui .filters>button:hover,.boljo-ui .orders-filters>button:hover,
  .company-admin button:not(.secondary):hover,.company-public button:not(.secondary):hover,
  .bl-wrap .bl-button:not(.bl-secondary):hover { background:var(--boljo-primary-hover)!important; border-color:var(--boljo-primary-hover)!important; }
  :is(.company-admin,.company-public) .secondary,.bl-wrap .bl-secondary,
  .boljo-ui .ui-secondary,.boljo-ui .pagination button,.boljo-ui td button {
    background:#fff!important;
    color:var(--boljo-primary)!important;
    border:1px solid var(--boljo-line-strong)!important;
    box-shadow:none!important;
  }
  :is(.company-admin,.company-public) .secondary:hover,.bl-wrap .bl-secondary:hover,
  .boljo-ui .ui-secondary:hover,.boljo-ui .pagination button:hover,.boljo-ui td button:hover { background:var(--boljo-primary-soft)!important; border-color:var(--boljo-primary-border)!important; }

  /* Navigation */
  .boljo-sidebar {
    border-color:var(--boljo-line)!important;
    box-shadow:8px 0 28px rgba(20,36,63,.025);
  }
  .boljo-sidebar .nav { border-radius:var(--boljo-radius-sm)!important; color:#64738a!important; transition:background .15s ease,color .15s ease; }
  .boljo-sidebar .nav:hover { background:#f6f8fc!important; color:var(--boljo-primary)!important; }
  .boljo-sidebar .nav.active { background:var(--boljo-primary-soft)!important; color:var(--boljo-primary)!important; box-shadow:inset 3px 0 0 var(--boljo-primary); }
  .boljo-sidebar .nav-sub { border-left-color:var(--boljo-line)!important; }
  .boljo-account { border-radius:var(--boljo-radius-sm)!important; }

  /* Tabs */
  .boljo-ui .tabs,.boljo-ui .settings-tabs { gap:6px!important; }
  .boljo-ui .tabs button,.boljo-ui .settings-tabs button {
    border-radius:var(--boljo-radius-sm)!important;
    min-height:40px;
    color:#5e6d84;
    font-weight:650;
  }
  .boljo-ui .tabs button:hover,.boljo-ui .settings-tabs button:hover { background:#f3f6fb; color:var(--boljo-primary); }
  .boljo-ui .tabs button.active,.boljo-ui .settings-tabs button.active,[role=tab][aria-selected="true"] {
    background:var(--boljo-primary)!important;
    color:#fff!important;
  }

  /* Tables */
  :is(.boljo-ui,.company-admin,.bl-wrap) table { border-collapse:separate; border-spacing:0; width:100%; }
  .boljo-ui table th,.bl-wrap table th { background:#f8fafc!important; color:#66758c!important; font-size:11px!important; text-transform:uppercase; letter-spacing:.055em!important; font-weight:750!important; }
  .boljo-ui table td,.boljo-ui table th,.bl-wrap table td,.bl-wrap table th { border-color:var(--boljo-line)!important; }
  .boljo-ui tbody tr,.bl-wrap tbody tr { transition:background .12s ease; }
  .boljo-ui tbody tr:hover,.bl-wrap tbody tr:hover { background:#fafcff!important; }

  /* Badges, pills and notices */
  .boljo-ui :is(.badge,.order-badge),.company-admin .pill {
    border-radius:999px!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }
  :is(.boljo-ui,.company-admin,.company-public) :is(.notice,.syncbar,[role=status]):not(:empty),
  .bl-wrap .bl-banner {
    border-radius:var(--boljo-radius-sm)!important;
    box-shadow:none!important;
  }
  .company-admin .notice,.company-public .notice { background:var(--boljo-info-soft); border-color:#d8e5ff; }
  .company-admin .notice.error,.company-public .notice.error { background:var(--boljo-danger-soft); border-color:#f2cfd3; color:#9d2732; }

  /* Cards, hoverable rows and empty states */
  .boljo-ui :is(.order-row,.table-row,.tasks button,.action-cards a,.channel-cards article) { transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease; }
  .boljo-ui :is(.order-row,.table-row):hover { background:#fafcff!important; }
  .boljo-ui .action-cards a:hover { transform:translateY(-1px); box-shadow:var(--boljo-shadow-sm); }
  .boljo-ui .empty-state,.boljo-ui .empty { border-radius:var(--boljo-radius-md)!important; }

  /* Admin / setup pages */
  .company-admin { max-width:1180px!important; padding-top:36px!important; }
  .company-admin>h1,.company-public>h1 { font-size:30px!important; line-height:1.2; }
  .company-admin>p:not(.eyebrow),.company-public>p:not(.eyebrow) { max-width:78ch; }
  .company-card { padding:26px!important; }
  .company-card h2 { margin-top:0; }
  .company-permissions { background:#fbfcff!important; border-color:var(--boljo-line)!important; border-radius:var(--boljo-radius-sm)!important; }
  fieldset { border-color:var(--boljo-line)!important; border-radius:var(--boljo-radius-sm)!important; }

  /* Billing */
  .bl-wrap { max-width:1180px!important; }
  .bl-head { border-bottom:1px solid var(--boljo-line); padding-bottom:18px; margin-bottom:28px; }
  .bl-plan { border-radius:var(--boljo-radius-md)!important; border-color:var(--boljo-line)!important; box-shadow:var(--boljo-shadow-xs)!important; }
  .bl-plan.current { border-color:var(--boljo-primary-border)!important; box-shadow:0 0 0 2px rgba(6,61,204,.08)!important; }

  /* Public website: preserve layout, normalize brand details */
  body.public-site { color:var(--boljo-ink); }
  .public-site :is(button,.button,.cta,.primary-cta) { border-radius:var(--boljo-radius-sm)!important; }
  .public-site :is(.card,.feature-card,.price-card,.story-card,.faq-item) { border-radius:var(--boljo-radius-lg)!important; }
  .public-site :is(input,select,textarea) { border-radius:var(--boljo-radius-sm)!important; }
  .public-site :is(a,button,input,select,textarea,summary):focus-visible { outline:none!important; box-shadow:var(--boljo-focus)!important; }

  /* Login pages */
  body.login-page { min-height:100vh; background:radial-gradient(circle at 75% 10%,#eef3ff 0,transparent 38%),var(--boljo-canvas)!important; }
  .login-card { border:1px solid var(--boljo-line)!important; border-radius:20px!important; box-shadow:var(--boljo-shadow-md)!important; background:#fff!important; }

  /* Mobile touch and rhythm */
  @media (max-width:760px) {
    body:not(.public-site) { font-size:14px; }
    .boljo-ui main,.boljo-ui .invoice-page { padding:20px 16px 40px!important; }
    .company-admin { padding:20px 16px 44px!important; margin:0 auto!important; }
    .company-card { padding:20px!important; }
    .boljo-sidebar { box-shadow:16px 0 50px rgba(20,36,63,.16); }
    :is(.boljo-ui,.company-admin,.company-public,.bl-wrap) :is(button,.button,a[role=button]) { min-height:44px; }
  }

  @media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
  }
}
