/* Soda ZW Billing & Operations — Premium UI V7
   Visual-only enhancement layer. Business logic remains in the existing application. */

:root {
  --sz-navy-950: #031a31;
  --sz-navy-900: #052440;
  --sz-navy-800: #07375f;
  --sz-navy-700: #0b4a78;
  --sz-orange: #ff5a14;
  --sz-orange-dark: #e94808;
  --sz-orange-soft: #fff0e8;
  --sz-green: #1dad68;
  --sz-green-dark: #12804b;
  --sz-green-soft: #e9f8f0;
  --sz-blue-soft: #eaf4ff;
  --sz-ink: #082642;
  --sz-copy: #526a80;
  --sz-muted: #7a8fa2;
  --sz-line: #d8e3ec;
  --sz-line-strong: #c7d6e2;
  --sz-canvas: #f3f7fa;
  --sz-panel: rgba(255, 255, 255, .96);
  --sz-shadow-sm: 0 5px 16px rgba(4, 31, 56, .06);
  --sz-shadow: 0 14px 38px rgba(4, 31, 56, .09);
  --sz-shadow-lg: 0 24px 60px rgba(4, 31, 56, .14);
  --sz-radius-sm: 11px;
  --sz-radius: 18px;
  --sz-radius-lg: 24px;
  --sz-sidebar: 272px;
  --sz-font: "Segoe UI Variable", "Aptos", "Inter", "Segoe UI", Arial, sans-serif;
}

body.premium-v7 {
  color: var(--sz-ink);
  background:
    radial-gradient(circle at 82% 4%, rgba(50, 150, 216, .08), transparent 25rem),
    radial-gradient(circle at 18% 96%, rgba(255, 90, 20, .055), transparent 30rem),
    var(--sz-canvas);
  font-family: var(--sz-font);
  font-size: 15px;
  font-weight: 450;
  letter-spacing: -.006em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.premium-v7 *, body.premium-v7 *::before, body.premium-v7 *::after { box-sizing: border-box; }
body.premium-v7 a { color: var(--sz-navy-700); text-underline-offset: 3px; }
body.premium-v7 h1, body.premium-v7 h2, body.premium-v7 h3,
body.premium-v7 strong, body.premium-v7 b { letter-spacing: -.025em; }
body.premium-v7 h1 { font-size: clamp(1.75rem, 2.4vw, 2.45rem); line-height: 1.04; }
body.premium-v7 h2 { line-height: 1.13; }
body.premium-v7 p { color: var(--sz-copy); line-height: 1.6; }
body.premium-v7 :focus-visible { outline: 3px solid rgba(255, 90, 20, .28); outline-offset: 2px; }
body.premium-v7 ::selection { background: rgba(255, 90, 20, .2); color: var(--sz-navy-950); }
body.premium-v7 ::-webkit-scrollbar { width: 10px; height: 10px; }
body.premium-v7 ::-webkit-scrollbar-track { background: transparent; }
body.premium-v7 ::-webkit-scrollbar-thumb { background: #adc0cf; border: 3px solid transparent; border-radius: 20px; background-clip: padding-box; }

/* Application shell */
body.premium-v7 .app-shell { min-height: 100vh; }
body.premium-v7 .sidebar {
  width: var(--sz-sidebar);
  background:
    radial-gradient(circle at 10% -8%, rgba(61, 153, 214, .25), transparent 19rem),
    linear-gradient(165deg, var(--sz-navy-800) 0%, var(--sz-navy-950) 68%, #021426 100%);
  border: 0;
  box-shadow: 8px 0 30px rgba(3, 26, 49, .13);
  padding: 20px 15px 16px;
}
body.premium-v7 .brand-row { padding: 0 4px 17px; border-bottom: 1px solid rgba(255,255,255,.1); margin-bottom: 11px; }
body.premium-v7 .brand {
  gap: 12px;
  color: #fff;
  min-width: 0;
  margin: 0;
  text-decoration: none;
}
body.premium-v7 .brand img {
  width: 66px; height: 56px; object-fit: contain;
  background: #fff; border-radius: 14px; padding: 5px;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
}
body.premium-v7 .brand span { display: flex; flex-direction: column; min-width: 0; }
body.premium-v7 .brand strong { font-size: 1.02rem; color: #fff; }
body.premium-v7 .brand small { color: #9fbed4; font-size: .69rem; font-weight: 700; letter-spacing: .03em; margin-top: 3px; }
body.premium-v7 .sidebar-collapse {
  color: #cfe0ec; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px; width: 31px; height: 31px;
}
body.premium-v7 .sidebar-collapse:hover { background: rgba(255,255,255,.16); color: #fff; }
body.premium-v7 .sidebar nav { gap: 3px; padding: 4px 3px 12px; }
body.premium-v7 .nav-section,
body.premium-v7 .nav-section-title {
  color: #789cb7; font-size: .64rem; font-weight: 900; letter-spacing: .15em;
  margin: 17px 10px 6px; text-transform: uppercase;
}
body.premium-v7 .nav-list { gap: 3px; }
body.premium-v7 .nav-list a,
body.premium-v7 .sidebar nav a {
  min-height: 45px; padding: 9px 10px; border-radius: 12px;
  color: #bfd1df; font-weight: 730; font-size: .88rem;
  border: 1px solid transparent; transition: .18s ease;
}
body.premium-v7 .nav-list a:hover,
body.premium-v7 .sidebar nav a:hover { color: #fff; background: rgba(255,255,255,.075); transform: translateX(2px); }
body.premium-v7 .nav-list a.active,
body.premium-v7 .sidebar nav a.active {
  color: var(--sz-navy-950); background: #fff; border-color: rgba(255,255,255,.6);
  box-shadow: 0 8px 20px rgba(0,0,0,.15); transform: none;
}
body.premium-v7 .nav-icon {
  width: 30px; height: 30px; border-radius: 9px;
  background: rgba(255,255,255,.08); color: #d7e6f0;
}
body.premium-v7 .nav-icon svg { width: 17px; height: 17px; }
body.premium-v7 .nav-list a.active .nav-icon { background: var(--sz-orange-soft); color: var(--sz-orange); }
body.premium-v7 .sidebar nav a b {
  display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px;
  border-radius: 9px; background: rgba(255,255,255,.08); color: #d7e6f0;
}
body.premium-v7 .sidebar nav a b svg { width: 17px; height: 17px; }
body.premium-v7 .sidebar nav a.active b { background: var(--sz-orange-soft); color: var(--sz-orange); }
body.premium-v7 .nav-count { background: var(--sz-orange); color: #fff; min-width: 22px; height: 22px; font-size: .66rem; box-shadow: 0 3px 8px rgba(255,90,20,.28); }
body.premium-v7 .sidebar-footer { border-top: 1px solid rgba(255,255,255,.1); padding: 14px 9px 2px; color: #dbe8f0; }
body.premium-v7 .sidebar-footer small { color: #86a5bb; }

body.premium-v7 .main { margin-left: var(--sz-sidebar); min-width: 0; }
body.premium-v7 .topbar {
  min-height: 91px; padding: 18px clamp(22px, 3vw, 46px);
  background: rgba(243,247,250,.86); border-bottom: 1px solid rgba(199,214,226,.82);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  position: sticky; top: 0; z-index: 30;
}
body.premium-v7 .topbar .eyebrow, body.premium-v7 .section-kicker, body.premium-v7 .command-kicker {
  color: var(--sz-orange); font-weight: 900; font-size: .65rem; letter-spacing: .14em; text-transform: uppercase;
}
body.premium-v7 .topbar h1 { color: var(--sz-navy-950); margin-top: 4px; }
body.premium-v7 .topbar-actions { gap: 9px; }
body.premium-v7 .topbar-tools { gap: 9px; }
body.premium-v7 .topbar-icon,
body.premium-v7 .topbar-profile { border: 1px solid var(--sz-line); background: rgba(255,255,255,.86); box-shadow: 0 4px 12px rgba(4,31,56,.05); }
body.premium-v7 .topbar-profile span { background: var(--sz-orange); color: #fff; }
body.premium-v7 .create-menu > button,
body.premium-v7 .create-menu > summary { min-height: 44px; border-radius: 12px; background: linear-gradient(135deg,#ff6a25,var(--sz-orange-dark)); color: #fff; box-shadow: 0 8px 20px rgba(255,90,20,.2); }
body.premium-v7 .create-menu-items,
body.premium-v7 .create-menu > div {
  width: 230px; padding: 8px; border: 1px solid var(--sz-line); border-radius: 16px;
  background: rgba(255,255,255,.98); box-shadow: var(--sz-shadow-lg);
}
body.premium-v7 .create-menu-items a,
body.premium-v7 .create-menu > div a { border-radius: 10px; padding: 11px 12px; font-weight: 750; }
body.premium-v7 .create-menu-items a:hover,
body.premium-v7 .create-menu > div a:hover { background: var(--sz-orange-soft); color: var(--sz-orange-dark); }
body.premium-v7 .page-content { padding: 27px clamp(22px, 3vw, 46px) 54px; max-width: 1780px; width: 100%; }
body.premium-v7 .app-footer { padding: 22px clamp(22px,3vw,46px); color: var(--sz-muted); border-top: 1px solid var(--sz-line); font-size: .78rem; }

body.premium-v7.sidebar-collapsed .sidebar { width: 84px; }
body.premium-v7.sidebar-collapsed .main { margin-left: 84px; }
body.premium-v7.sidebar-collapsed .brand img { width: 48px; }

/* Core components */
body.premium-v7 .panel,
body.premium-v7 .card,
body.premium-v7 .metric,
body.premium-v7 .data-card {
  background: var(--sz-panel); border: 1px solid var(--sz-line);
  border-radius: var(--sz-radius); box-shadow: var(--sz-shadow-sm);
}
body.premium-v7 .panel { padding: clamp(20px, 2vw, 28px); }
body.premium-v7 .panel-head { gap: 16px; margin-bottom: 20px; }
body.premium-v7 .panel-head h2 { color: var(--sz-navy-950); font-size: 1.25rem; margin: 4px 0 2px; }
body.premium-v7 .panel-head p { margin: 0; font-size: .88rem; }
body.premium-v7 .panel-head > a { font-size: .78rem; font-weight: 850; text-decoration: none; padding: 8px 11px; border-radius: 9px; background: var(--sz-blue-soft); }

body.premium-v7 .button,
body.premium-v7 button.button {
  min-height: 44px; padding: 10px 16px; border-radius: 12px;
  font-family: var(--sz-font); font-weight: 820; font-size: .86rem; letter-spacing: -.01em;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
body.premium-v7 .button:hover { transform: translateY(-1px); }
body.premium-v7 .button.primary {
  color: #fff; border-color: var(--sz-orange);
  background: linear-gradient(135deg, #ff6a25, var(--sz-orange-dark));
  box-shadow: 0 9px 22px rgba(255,90,20,.22);
}
body.premium-v7 .button.primary:hover { box-shadow: 0 12px 26px rgba(255,90,20,.3); }
body.premium-v7 .button.secondary { color: var(--sz-navy-800); background: #fff; border-color: var(--sz-line-strong); box-shadow: 0 4px 11px rgba(4,31,56,.04); }
body.premium-v7 .button.secondary:hover { border-color: #91aec3; background: #f8fbfd; }
body.premium-v7 .button.command-payment { color: #fff; background: linear-gradient(135deg, #23b972, #168b55); border-color: #168b55; box-shadow: 0 9px 22px rgba(29,173,104,.2); }
body.premium-v7 .button.small { min-height: 36px; padding: 7px 11px; border-radius: 10px; font-size: .76rem; }

body.premium-v7 label { color: var(--sz-ink); font-weight: 780; font-size: .76rem; }
body.premium-v7 input,
body.premium-v7 select,
body.premium-v7 textarea {
  width: 100%; min-height: 46px; padding: 11px 13px;
  color: var(--sz-ink); background: #fff; border: 1px solid var(--sz-line-strong); border-radius: 11px;
  font-family: var(--sz-font); font-size: .9rem; font-weight: 550;
  box-shadow: inset 0 1px 2px rgba(3,26,49,.025); transition: .16s ease;
}
body.premium-v7 textarea { min-height: 92px; resize: vertical; }
body.premium-v7 input:hover, body.premium-v7 select:hover, body.premium-v7 textarea:hover { border-color: #9db5c7; }
body.premium-v7 input:focus, body.premium-v7 select:focus, body.premium-v7 textarea:focus {
  outline: 0; border-color: var(--sz-orange); box-shadow: 0 0 0 4px rgba(255,90,20,.1);
}
body.premium-v7 input::placeholder, body.premium-v7 textarea::placeholder { color: #8ba0b2; }
body.premium-v7 .form-grid { gap: 17px; }

body.premium-v7 .alert { border-radius: 13px; padding: 13px 15px; border-width: 1px; font-weight: 650; }
body.premium-v7 .alert.success { background: var(--sz-green-soft); color: #116d43; border-color: #bde7d0; }
body.premium-v7 .alert.error { background: #fff0ef; color: #a82d25; border-color: #f3c3bf; }
body.premium-v7 .badge, body.premium-v7 .status-badge { border-radius: 99px; font-weight: 850; letter-spacing: .03em; }

body.premium-v7 .table-wrap { border: 1px solid var(--sz-line); border-radius: 15px; overflow: auto; background: #fff; }
body.premium-v7 table { border-collapse: separate; border-spacing: 0; }
body.premium-v7 th {
  padding: 13px 14px; color: #60788d; background: #f5f8fa;
  font-size: .67rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase;
  border-bottom: 1px solid var(--sz-line);
}
body.premium-v7 td { padding: 14px; border-bottom: 1px solid #e7eef3; color: #36526a; }
body.premium-v7 tbody tr:last-child td { border-bottom: 0; }
body.premium-v7 tbody tr:hover td { background: #fbfdfe; }

/* Accounting command centre */
body.premium-v7 .accounting-command-hero {
  position: relative; overflow: hidden; min-height: 230px;
  border-radius: var(--sz-radius-lg); padding: clamp(28px, 4vw, 48px);
  color: #fff; border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 86% 20%, rgba(38,144,210,.38), transparent 16rem),
    radial-gradient(circle at 68% 120%, rgba(255,90,20,.23), transparent 20rem),
    linear-gradient(135deg, #062d50 0%, #041e37 58%, #03182c 100%);
  box-shadow: 0 24px 55px rgba(3,26,49,.2);
}
body.premium-v7 .accounting-command-hero::after {
  content: ""; position: absolute; width: 230px; height: 230px; right: -65px; top: -85px;
  border: 36px solid rgba(255,255,255,.045); border-radius: 50%; pointer-events: none;
}
body.premium-v7 .accounting-command-copy { position: relative; z-index: 1; max-width: 760px; }
body.premium-v7 .accounting-command-hero h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.65rem); line-height: .98; margin: 10px 0 13px; max-width: 750px; }
body.premium-v7 .accounting-command-hero p { color: #bfd4e3; max-width: 660px; font-size: .97rem; }
body.premium-v7 .command-actions { gap: 9px; margin-top: 23px; }
body.premium-v7 .accounting-command-hero .button.secondary { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); box-shadow: none; }
body.premium-v7 .period-control { position: relative; z-index: 1; padding: 9px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); }
body.premium-v7 .period-control label { color: #d7e6ef; }
body.premium-v7 .period-control select { min-height: 39px; background: #fff; }

body.premium-v7 .accounting-kpis { gap: 15px; margin: 18px 0; }
body.premium-v7 .accounting-kpis > article,
body.premium-v7 .accounting-kpis > a {
  min-height: 148px; padding: 21px; border: 1px solid var(--sz-line); border-radius: 18px;
  background: rgba(255,255,255,.97); box-shadow: var(--sz-shadow-sm); transition: .18s ease;
}
body.premium-v7 .accounting-kpis > article:hover,
body.premium-v7 .accounting-kpis > a:hover { transform: translateY(-2px); box-shadow: var(--sz-shadow); border-color: #bfd0dc; }
body.premium-v7 .accounting-kpis span { color: #637c91; font-size: .71rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
body.premium-v7 .accounting-kpis strong { color: var(--sz-navy-950); font-size: clamp(1.55rem, 2.2vw, 2.15rem); }
body.premium-v7 .accounting-kpis small { color: var(--sz-muted); font-size: .73rem; }
body.premium-v7 .kpi-icon { width: 39px; height: 39px; border-radius: 12px; }
body.premium-v7 .kpi-icon.cash { background: var(--sz-green-soft); color: var(--sz-green); }
body.premium-v7 .kpi-icon.sales { background: var(--sz-orange-soft); color: var(--sz-orange); }
body.premium-v7 .kpi-icon.receivables { background: #eaf2ff; color: #3978c6; }
body.premium-v7 .kpi-icon.payables { background: #f0ebff; color: #7553bf; }

body.premium-v7 .accounting-primary-grid,
body.premium-v7 .accounting-secondary-grid,
body.premium-v7 .accounting-activity-grid { gap: 18px; margin-top: 18px; }
body.premium-v7 .priority-list { border: 1px solid var(--sz-line); border-radius: 14px; overflow: hidden; }
body.premium-v7 .priority-list a { padding: 15px 13px; border-bottom: 1px solid #e6edf2; text-decoration: none; transition: .15s ease; }
body.premium-v7 .priority-list a:hover { background: #f7fafc; padding-left: 16px; }
body.premium-v7 .priority-list a:last-child { border-bottom: 0; }
body.premium-v7 .priority-list b { color: var(--sz-ink); }
body.premium-v7 .priority-list small { color: var(--sz-muted); }
body.premium-v7 .attention-bubble { color: #fff; background: var(--sz-orange); box-shadow: 0 6px 15px rgba(255,90,20,.22); }
body.premium-v7 .command-chart { min-height: 195px; padding: 19px 12px 5px; border-radius: 14px; background: linear-gradient(180deg,#f7fafc,#fff); border: 1px solid #e4ebf0; }
body.premium-v7 .command-bars i { background: linear-gradient(180deg,#2ec27e,#168c56); border-radius: 6px 6px 2px 2px; }
body.premium-v7 .command-bars b { background: #bdccd7; border-radius: 6px 6px 2px 2px; }
body.premium-v7 .command-chart-v7 {
  display: grid;
  grid-template-columns: repeat(6,minmax(46px,1fr));
  align-items: stretch;
  gap: 10px;
  height: 220px;
  padding: 18px 12px 8px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #e4ebf0;
  border-radius: 14px;
  background: linear-gradient(180deg,#f7fafc 0%,#fff 100%);
}
body.premium-v7 .cashflow-month-v7 {
  display: grid;
  grid-template-rows: minmax(0,1fr) auto;
  align-items: end;
  justify-items: center;
  min-width: 0;
  height: 100%;
}
body.premium-v7 .cashflow-bars-v7 {
  position: static !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 6px;
  width: 100%;
  height: 100%;
  min-height: 0;
  background: linear-gradient(to top,rgba(12,54,88,.055) 1px,transparent 1px);
  background-size: 100% 25%;
}
body.premium-v7 .cashflow-bar-v7 {
  position: static !important;
  inset: auto !important;
  display: block !important;
  flex: 0 0 13px;
  width: 13px !important;
  height: var(--cash-height) !important;
  min-height: 4px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px 6px 2px 2px !important;
  clip-path: none !important;
  transform: none !important;
  box-shadow: none !important;
}
body.premium-v7 .cashflow-bar-v7.cash-in { background: linear-gradient(180deg,#2ec27e,#168c56) !important; }
body.premium-v7 .cashflow-bar-v7.cash-out { flex-basis: 9px; width: 9px !important; background: #b9c9d4 !important; }
body.premium-v7 .cashflow-month-v7 > span { padding-top: 9px; color: #5f7588; font-size: 10px; font-weight: 800; letter-spacing: .02em; }
body.premium-v7 .cash-summary { gap: 8px; }
body.premium-v7 .cash-summary > div { background: #f6f9fb; border: 1px solid #e2eaf0; border-radius: 11px; padding: 11px; }
body.premium-v7 .command-ageing a { border-radius: 12px; border: 1px solid var(--sz-line); box-shadow: none; }
body.premium-v7 .command-ageing a:hover { border-color: #9eb7c9; transform: translateY(-1px); }
body.premium-v7 .payment-channel-list > div { border-radius: 11px; background: #f7fafc; border: 1px solid #e4ebf0; padding: 11px 12px; }
body.premium-v7 .receive-payment-card { margin-top: 13px; border-radius: 14px; background: var(--sz-green-soft); border: 1px solid #c4ead6; color: #126b43; }
body.premium-v7 .financial-list, body.premium-v7 .receipt-list { border: 1px solid var(--sz-line); border-radius: 14px; overflow: hidden; }
body.premium-v7 .financial-list a, body.premium-v7 .receipt-list > div { padding: 14px; border-bottom: 1px solid #e7eef3; }

/* Premium invoice and quotation studio */
body.premium-v7 .document-studio-heading { margin-bottom: 19px; gap: 16px; }
body.premium-v7 .document-studio-heading h1 { color: var(--sz-navy-950); margin: 5px 0 6px; }
body.premium-v7 .document-type-switch { padding: 5px; border-radius: 14px; background: #e7eef3; border: 1px solid #d5e0e8; }
body.premium-v7 .document-type-switch a { min-height: 40px; border-radius: 10px; font-weight: 820; text-decoration: none; }
body.premium-v7 .document-type-switch a.active { background: #fff; color: var(--sz-orange-dark); box-shadow: 0 5px 13px rgba(4,31,56,.09); }
body.premium-v7 .studio-status { border-radius: 99px; font-weight: 800; }
body.premium-v7 .document-studio { grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
body.premium-v7 .studio-main { gap: 18px; }
body.premium-v7 .studio-section { padding: clamp(20px,2.5vw,30px); box-shadow: var(--sz-shadow-sm); }
body.premium-v7 .studio-section-head { padding-bottom: 18px; margin-bottom: 19px; border-bottom: 1px solid #e3ebf1; }
body.premium-v7 .studio-section-head h2 { margin: 4px 0; color: var(--sz-navy-950); font-size: 1.35rem; }
body.premium-v7 .studio-section-head p { margin: 0; font-size: .85rem; }
body.premium-v7 .studio-step {
  flex: 0 0 42px; width: 42px; height: 42px; border-radius: 13px;
  color: #fff; background: linear-gradient(145deg,var(--sz-navy-700),var(--sz-navy-950));
  box-shadow: 0 8px 17px rgba(4,31,56,.17); font-size: .84rem;
}
body.premium-v7 .customer-mode { padding: 5px; border-radius: 13px; background: #eef3f6; border: 1px solid #dde7ee; }
body.premium-v7 .customer-mode label { border-radius: 9px; min-height: 40px; }
body.premium-v7 .customer-mode label:has(input:checked) { background: #fff; color: var(--sz-orange-dark); box-shadow: 0 4px 12px rgba(4,31,56,.08); }
body.premium-v7 .new-customer-fields { margin-top: 17px; padding: 18px; background: #f7fafc; border: 1px solid #e0e9ef; border-radius: 14px; }
body.premium-v7 .studio-catalog-search input { margin-top: 7px; min-height: 50px; padding-left: 16px; background: #fbfdfe; }
body.premium-v7 .studio-catalog { gap: 15px; }
body.premium-v7 .studio-catalog-group > span { color: var(--sz-orange-dark); font-size: .66rem; font-weight: 900; letter-spacing: .11em; }
body.premium-v7 .catalog-product {
  min-height: 72px; padding: 13px 15px; border: 1px solid var(--sz-line); border-radius: 13px;
  background: #fff; box-shadow: 0 3px 10px rgba(4,31,56,.035); transition: .16s ease;
}
body.premium-v7 .catalog-product:hover { border-color: var(--sz-orange); background: #fffaf7; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(255,90,20,.09); }
body.premium-v7 .catalog-product strong { color: var(--sz-ink); }
body.premium-v7 .catalog-product em { color: var(--sz-orange-dark); font-weight: 900; }
body.premium-v7 .studio-product-picker {
  display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 12px; align-items: end;
  margin-bottom: 18px; padding: 16px; border: 1px solid var(--sz-line); border-radius: 14px;
  background: linear-gradient(135deg,#f7fafc,#fff);
}
body.premium-v7 .studio-product-picker label { margin: 0; color: var(--sz-navy-950); font-weight: 850; }
body.premium-v7 .studio-product-picker select { width: 100%; min-height: 50px; margin-top: 7px; background: #fff; }
body.premium-v7 .studio-product-picker > .button { min-height: 50px; white-space: nowrap; }
body.premium-v7 .studio-product-picker > small { grid-column: 1 / -1; color: #61778a; }
body.premium-v7 .studio-discount-box {
  display: grid; grid-template-columns: minmax(230px,1fr) minmax(170px,.55fr) minmax(120px,.35fr);
  gap: 12px; align-items: end; margin-top: 16px; padding: 15px 16px; border: 1px solid #ffd3bf;
  border-radius: 14px; background: #fff8f4;
}
body.premium-v7 .studio-discount-box > div { display: grid; gap: 3px; }
body.premium-v7 .studio-discount-box strong { color: var(--sz-navy-950); }
body.premium-v7 .studio-discount-box small { color: #6d7f8e; }
body.premium-v7 .studio-discount-box label { margin: 0; }
@media (max-width:760px) {
  body.premium-v7 .studio-product-picker, body.premium-v7 .studio-discount-box { grid-template-columns: 1fr; }
  body.premium-v7 .studio-product-picker > small { grid-column: auto; }
  body.premium-v7 .studio-product-picker > .button { width: 100%; }
}
body.premium-v7 .team-dashboard { display: grid; grid-template-columns: minmax(320px,.75fr) minmax(480px,1.25fr); gap: 18px; align-items: start; }
body.premium-v7 .team-create-card, body.premium-v7 .team-access { margin: 0; }
body.premium-v7 .team-create-card .add-user-form { margin-top: 0; }
@media (max-width:1050px) { body.premium-v7 .team-dashboard { grid-template-columns: 1fr; } }
body.premium-v7 .studio-items { border: 1px solid var(--sz-line); border-radius: 14px; overflow: hidden; }
body.premium-v7 .studio-items-head { color: #667d91; background: #f2f6f8; border-bottom: 1px solid var(--sz-line); font-size: .64rem; font-weight: 900; letter-spacing: .08em; }
body.premium-v7 .studio-item { padding: 12px; background: #fff; border-bottom: 1px solid #e6edf2; }
body.premium-v7 .studio-item:last-child { border-bottom: 0; }
body.premium-v7 .studio-item select, body.premium-v7 .studio-item input { min-height: 42px; padding: 9px 10px; }
body.premium-v7 .studio-remove { width: 34px; height: 34px; border-radius: 9px; color: #a1423b; background: #fff1ef; border: 1px solid #f2cbc7; }
body.premium-v7 .studio-add-custom { margin-top: 12px; }
body.premium-v7 .quick-choice.studio-choice { gap: 10px; }
body.premium-v7 .quick-choice.studio-choice label { min-height: 58px; border: 1px solid var(--sz-line); border-radius: 12px; background: #fff; }
body.premium-v7 .quick-choice.studio-choice label:has(input:checked) { border-color: var(--sz-orange); background: var(--sz-orange-soft); color: var(--sz-orange-dark); box-shadow: 0 0 0 3px rgba(255,90,20,.08); }
body.premium-v7 .studio-more { margin-top: 17px; border: 1px solid var(--sz-line); border-radius: 13px; padding: 13px 15px; background: #f8fafc; }
body.premium-v7 .studio-more summary { color: var(--sz-navy-800); font-weight: 800; cursor: pointer; }

body.premium-v7 .studio-summary {
  position: sticky; top: 111px; padding: 0; overflow: hidden;
  border-color: #c8d6e1; box-shadow: var(--sz-shadow-lg);
}
body.premium-v7 .studio-summary-top {
  padding: 23px; margin: 0; color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(51,154,220,.28), transparent 11rem),
    linear-gradient(145deg,var(--sz-navy-800),var(--sz-navy-950));
}
body.premium-v7 .studio-summary-top h2 { color: #fff; margin: 3px 0 0; }
body.premium-v7 .summary-document-icon { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; }
body.premium-v7 .studio-summary > :not(.studio-summary-top) { margin-left: 22px; margin-right: 22px; }
body.premium-v7 .studio-summary-lines { margin-top: 20px; padding-bottom: 13px; border-bottom: 1px solid #e3eaf0; }
body.premium-v7 .studio-summary dl { margin-top: 16px; }
body.premium-v7 .studio-summary dt { color: #60778b; }
body.premium-v7 .studio-summary dd { color: var(--sz-ink); font-weight: 780; }
body.premium-v7 .studio-total { margin-top: 13px; padding: 16px; border-radius: 13px; background: var(--sz-orange-soft); color: var(--sz-orange-dark); }
body.premium-v7 .studio-total dt, body.premium-v7 .studio-total dd { color: var(--sz-orange-dark); font-weight: 900; }
body.premium-v7 .studio-assurance { padding: 14px; margin-top: 14px; border-radius: 12px; background: #f5f8fa; }
body.premium-v7 .studio-delivery-warning { display: grid; gap: 3px; margin: 12px 22px 0; padding: 12px 13px; border: 1px solid #f4c987; border-radius: 11px; background: #fff8eb; color: #754000; }
body.premium-v7 .studio-delivery-warning[hidden] { display: none!important; }
body.premium-v7 .studio-delivery-warning strong { font-size: .78rem; }
body.premium-v7 .studio-delivery-warning span { font-size: .68rem; line-height: 1.4; }
body.premium-v7 .catalog-product .stock-low { color: #a34000; font-style: normal; font-weight: 800; }
body.premium-v7 .catalog-product .stock-ok { color: #28724e; font-style: normal; font-weight: 750; }
body.premium-v7 .studio-issue { width: calc(100% - 44px); margin-top: 17px; min-height: 50px; }
body.premium-v7 .studio-draft { width: calc(100% - 44px); margin-top: 9px; }
body.premium-v7 .studio-cancel { display: block; text-align: center; margin: 14px 22px 21px !important; font-weight: 750; font-size: .8rem; }

/* Executive Ledger document studio */
body.premium-v7 .studio-version {
  display: inline-flex;
  margin-left: 7px;
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--sz-navy-950);
  color: #fff;
  font-size: .62rem;
  letter-spacing: .06em;
  vertical-align: middle;
}
body.premium-v7 .studio-workflow {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  margin: 0 0 20px;
  overflow: hidden;
  border: 1px solid var(--sz-line);
  border-radius: 16px;
  background: var(--sz-line);
  box-shadow: var(--sz-shadow-sm);
}
body.premium-v7 .studio-workflow button {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  grid-template-rows: auto auto;
  column-gap: 11px;
  align-items: center;
  min-height: 72px;
  padding: 13px 16px;
  border: 0;
  background: #fff;
  color: var(--sz-navy-950);
  text-align: left;
  cursor: pointer;
}
body.premium-v7 .studio-workflow button:hover { background: #f7fafc; }
body.premium-v7 .studio-workflow button > span {
  grid-row: 1 / 3;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: var(--sz-navy-950);
  color: #fff;
  font-weight: 900;
}
body.premium-v7 .studio-workflow button:first-child > span { background: var(--sz-orange); }
body.premium-v7 .studio-workflow strong { align-self: end; font-size: .82rem; }
body.premium-v7 .studio-workflow small { align-self: start; color: #72869a; font-size: .69rem; }
body.premium-v7 .studio-section { scroll-margin-top: 24px; }
body.premium-v7 .studio-section-head { position: relative; }
body.premium-v7 .studio-section-head:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 52px;
  height: 3px;
  border-radius: 99px;
  background: var(--sz-orange);
}
body.premium-v7 .studio-fee-presets {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 22px;
}
body.premium-v7 .studio-fee-presets .button { min-height: 42px; }
body.premium-v7 .studio-summary { border-top: 5px solid var(--sz-orange); }
body.premium-v7 .studio-summary-top { background: linear-gradient(135deg,var(--sz-navy-950),#0d4775); }
body.premium-v7 .studio-issue { box-shadow: 0 12px 24px rgba(255,90,20,.2); }
body.premium-v7 .receipt-action { background: var(--sz-orange); border-color: var(--sz-orange); color: #fff; box-shadow: 0 9px 20px rgba(255,90,20,.2); }
body.premium-v7 .receipt-action:hover { background: var(--sz-orange-dark); border-color: var(--sz-orange-dark); }
@media (max-width: 820px) {
  body.premium-v7 .studio-workflow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.premium-v7 .studio-fee-presets { padding-top: 0; }
}
@media (max-width: 480px) {
  body.premium-v7 .studio-workflow { grid-template-columns: 1fr 1fr; }
  body.premium-v7 .studio-workflow button { grid-template-columns: 28px minmax(0,1fr); min-height: 62px; padding: 10px; column-gap: 8px; }
  body.premium-v7 .studio-workflow button > span { width: 28px; height: 28px; border-radius: 8px; }
  body.premium-v7 .studio-workflow small { display: none; }
  body.premium-v7 .studio-fee-presets .button { width: 100%; }
}

/* Document Studio 7.4 — guided document cockpit */
body.premium-v7 .document-studio-heading {
  position: relative; padding: 24px 26px; overflow: hidden;
  border: 1px solid var(--sz-line); border-radius: 19px; background: #fff;
  box-shadow: var(--sz-shadow-sm);
}
body.premium-v7 .document-studio-heading:before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 5px;
  background: linear-gradient(var(--sz-orange),#ff8a4f);
}
body.premium-v7 .document-studio-heading h2 { margin: 6px 0 7px; font-size: clamp(1.8rem,3vw,2.65rem); letter-spacing: -.045em; }
body.premium-v7 .document-studio-heading p { max-width: 650px; color: #587084; }
body.premium-v7 .studio-heading-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
body.premium-v7 .studio-heading-badges span {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px;
  border: 1px solid #dce6ed; border-radius: 999px; background: #f7fafc;
  color: #4e6578; font-size: .68rem; font-weight: 800;
}
body.premium-v7 .studio-heading-badges span:before { content: "✓"; color: var(--sz-green-dark); font-weight: 950; }
body.premium-v7 .studio-workflow { position: sticky; top: 90px; z-index: 22; isolation: isolate; overflow: visible; }
body.premium-v7 .studio-progress-track {
  position: absolute; z-index: 3; top: -2px; right: 0; left: 0; height: 3px;
  overflow: hidden; border-radius: 99px; background: #dbe5ec; pointer-events: none;
}
body.premium-v7 .studio-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--sz-orange); transition: width .28s ease; }
body.premium-v7 .studio-workflow button { position: relative; transition: background .16s ease,color .16s ease; }
body.premium-v7 .studio-workflow button.is-active { z-index: 2; background: #fff8f4; box-shadow: inset 0 -3px var(--sz-orange); }
body.premium-v7 .studio-workflow button.is-active > span { background: var(--sz-orange); box-shadow: 0 6px 14px rgba(255,90,20,.22); }
body.premium-v7 .studio-workflow button.is-complete > span { background: var(--sz-green-dark); }
body.premium-v7 .studio-workflow button.is-complete > span { font-size: 0; }
body.premium-v7 .studio-workflow button.is-complete > span:before { content: "✓"; font-size: .9rem; }
body.premium-v7 .studio-section { scroll-margin-top: 190px; }
body.premium-v7 .studio-section-actions {
  display: flex; align-items: center; justify-content: flex-end; gap: 9px;
  margin: 24px -30px -30px; padding: 15px 30px;
  border-top: 1px solid #e4ebf0; border-radius: 0 0 18px 18px; background: #f8fafc;
}
body.premium-v7 .studio-section-actions > span { margin-right: auto; color: #708497; font-size: .72rem; }
body.premium-v7 .studio-section-actions .button { min-height: 41px; }
body.premium-v7 .studio-section-actions .button.primary { min-width: 160px; }
body.premium-v7 .studio-readiness {
  margin-top: 13px; padding: 14px; border: 1px solid #dce5eb; border-radius: 13px;
  background: linear-gradient(145deg,#f8fbfd,#f1f6f9);
}
body.premium-v7 .studio-readiness-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.premium-v7 .studio-readiness-head > div { display: grid; gap: 3px; }
body.premium-v7 .studio-readiness-head .section-kicker { color: var(--sz-orange-dark); }
body.premium-v7 .studio-readiness-head strong { color: var(--sz-navy-950); font-size: .9rem; }
body.premium-v7 .studio-ready-mark { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #d8ede4; color: var(--sz-green-dark); font-weight: 950; }
body.premium-v7 .studio-readiness-bar { height: 6px; margin: 11px 0; overflow: hidden; border-radius: 99px; background: #dbe5eb; }
body.premium-v7 .studio-readiness-bar i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--sz-orange),var(--sz-green-dark)); transition: width .25s ease; }
body.premium-v7 .studio-readiness ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
body.premium-v7 .studio-readiness li { position: relative; padding-left: 21px; color: #63798b; font-size: .7rem; font-weight: 720; }
body.premium-v7 .studio-readiness li:before { content: ""; position: absolute; top: 3px; left: 0; width: 11px; height: 11px; border: 2px solid #b7c8d3; border-radius: 50%; background: #fff; }
body.premium-v7 .studio-readiness li.is-ready { color: var(--sz-green-dark); }
body.premium-v7 .studio-readiness li.is-ready:before { content: "✓"; display: grid; width: 15px; height: 15px; top: 0; place-items: center; border: 0; background: var(--sz-green-dark); color: #fff; font-size: .58rem; font-weight: 950; }
body.premium-v7 .studio-summary .studio-readiness { margin-left: 22px; margin-right: 22px; }
body.premium-v7 :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid rgba(45,151,220,.35); outline-offset: 2px; }

@media (max-width: 1020px) {
  body.premium-v7 .studio-workflow { top: 78px; }
  body.premium-v7 .studio-section { scroll-margin-top: 172px; }
}
@media (max-width: 760px) {
  body.premium-v7 .document-studio-heading { padding: 21px 19px; }
  body.premium-v7 .studio-workflow { position: static; overflow: hidden; }
  body.premium-v7 .studio-progress-track { display: none; }
  body.premium-v7 .studio-section-actions { margin: 22px -15px -18px; padding: 13px 15px; }
  body.premium-v7 .studio-section-actions > span { display: none; }
  body.premium-v7 .studio-section-actions .button { flex: 1; min-width: 0; }
  body.premium-v7 .studio-section { scroll-margin-top: 18px; }
}
@media (max-width: 480px) {
  body.premium-v7 .studio-heading-badges span:last-child { display: none; }
  body.premium-v7 .studio-section-actions { display: grid; grid-template-columns: 1fr 1.35fr; }
  body.premium-v7 .studio-section-actions .button:only-child { grid-column: 1/-1; }
}

/* Payments and common registers */
body.premium-v7 .payment-command-hero {
  border-radius: var(--sz-radius-lg); padding: 28px 31px; color: #fff;
  background: linear-gradient(135deg,var(--sz-navy-800),var(--sz-navy-950)); box-shadow: var(--sz-shadow);
}
body.premium-v7 .payment-command-hero h2 { color: #fff; font-size: 1.7rem; margin: 6px 0; }
body.premium-v7 .payment-command-hero p { color: #bad0df; margin: 0; }
body.premium-v7 .payment-command-hero .button.secondary { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); }
body.premium-v7 .payment-overview { gap: 12px; margin: 16px 0; }
body.premium-v7 .payment-overview > div { background: #fff; border: 1px solid var(--sz-line); border-radius: 14px; box-shadow: var(--sz-shadow-sm); padding: 17px; }
body.premium-v7 .receive-payment-layout { gap: 18px; align-items: start; }
body.premium-v7 .payment-step-heading i { color: #fff; background: var(--sz-orange); border-radius: 12px; box-shadow: 0 7px 16px rgba(255,90,20,.2); }
body.premium-v7 .payment-search > div { gap: 8px; }
body.premium-v7 .open-invoice-list { border: 1px solid var(--sz-line); border-radius: 14px; overflow: hidden; }
body.premium-v7 .open-invoice-list > a { padding: 15px; border-bottom: 1px solid #e5edf2; transition: .15s ease; }
body.premium-v7 .open-invoice-list > a:hover { background: #f8fbfd; }
body.premium-v7 .open-invoice-list > a.selected { background: var(--sz-orange-soft); box-shadow: inset 4px 0 var(--sz-orange); }
body.premium-v7 .receive-payment-panel { position: sticky; top: 111px; }
body.premium-v7 .selected-invoice-summary { border-radius: 14px; padding: 16px; background: #f6f9fb; border: 1px solid #e0e8ee; }
body.premium-v7 .selected-invoice-summary .balance { background: var(--sz-green-soft); color: var(--sz-green-dark); border-radius: 11px; }
body.premium-v7 .payment-application { background: var(--sz-navy-950); color: #fff; border-radius: 12px; padding: 14px; }

body.premium-v7 .invoice-summary,
body.premium-v7 .stock-summary,
body.premium-v7 .payable-strip { gap: 12px; }
body.premium-v7 .invoice-summary > *, body.premium-v7 .stock-summary > *, body.premium-v7 .payable-strip > * {
  border: 1px solid var(--sz-line); border-radius: 15px; background: #fff; box-shadow: var(--sz-shadow-sm); padding: 17px;
}
body.premium-v7 .invoice-tabs, body.premium-v7 .filter-pills { padding: 5px; border-radius: 13px; background: #e8eff4; border: 1px solid #d8e3eb; }
body.premium-v7 .invoice-tabs a, body.premium-v7 .filter-pills a { border-radius: 9px; font-weight: 780; text-decoration: none; }
body.premium-v7 .invoice-tabs a.active, body.premium-v7 .filter-pills a.active { background: #fff; color: var(--sz-orange-dark); box-shadow: 0 4px 11px rgba(4,31,56,.08); }
body.premium-v7 .customer-search { padding: 15px; background: #fff; border: 1px solid var(--sz-line); border-radius: 15px; box-shadow: var(--sz-shadow-sm); }
body.premium-v7 .command-empty { border: 1px dashed #c8d6e1; border-radius: 13px; background: #f8fbfc; padding: 24px; }

/* Login and setup */
body.auth-page.premium-v7 {
  min-height: 100vh; display: grid; place-items: center; padding: 28px;
  background:
    radial-gradient(circle at 12% 16%, rgba(50,157,220,.28), transparent 22rem),
    radial-gradient(circle at 88% 86%, rgba(255,90,20,.18), transparent 25rem),
    linear-gradient(145deg,#052e50,#03182c 64%,#021221);
}
body.auth-page.premium-v7::before, body.auth-page.premium-v7::after {
  content: ""; position: fixed; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; pointer-events: none;
}
body.auth-page.premium-v7::before { width: 420px; height: 420px; left: -210px; bottom: -190px; }
body.auth-page.premium-v7::after { width: 260px; height: 260px; right: -90px; top: -110px; }
body.premium-v7 .auth-card {
  width: min(100%, 480px); padding: 38px; border-radius: 26px;
  background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.7); box-shadow: 0 30px 80px rgba(0,0,0,.3);
}
body.premium-v7 .auth-card.install-card { width: min(100%, 780px); }
body.premium-v7 .auth-card img { width: 104px; height: 80px; object-fit: contain; margin-bottom: 20px; background: #fff; border-radius: 16px; padding: 6px; box-shadow: var(--sz-shadow-sm); }
body.premium-v7 .auth-card h1 { margin: 7px 0 8px; color: var(--sz-navy-950); }
body.premium-v7 .auth-card > p { margin: 0 0 23px; }
body.premium-v7 .auth-card form { gap: 16px; }
body.premium-v7 .auth-card .button.primary { width: 100%; min-height: 49px; margin-top: 3px; }

/* Motion */
@keyframes sz-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
body.premium-v7 .page-content > section,
body.premium-v7 .page-content > form,
body.premium-v7 .page-content > .panel { animation: sz-rise .3s ease both; }
body.premium-v7 .page-content > :nth-child(2) { animation-delay: .035s; }
body.premium-v7 .page-content > :nth-child(3) { animation-delay: .07s; }

@media (prefers-reduced-motion: reduce) {
  body.premium-v7 *, body.premium-v7 *::before, body.premium-v7 *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Responsive operating workspace */
@media (max-width: 1240px) {
  :root { --sz-sidebar: 250px; }
  body.premium-v7 .document-studio { grid-template-columns: minmax(0,1fr) 320px; }
  body.premium-v7 .accounting-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1020px) {
  body.premium-v7 .document-studio { grid-template-columns: 1fr; }
  body.premium-v7 .studio-summary { position: static; order: 2; max-width: none; }
  body.premium-v7 .receive-payment-layout { grid-template-columns: 1fr; }
  body.premium-v7 .receive-payment-panel { position: static; }
  body.premium-v7 .accounting-primary-grid,
  body.premium-v7 .accounting-secondary-grid,
  body.premium-v7 .accounting-activity-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  :root { --sz-sidebar: 286px; }
  body.premium-v7 .sidebar { width: var(--sz-sidebar); transform: translateX(-105%); box-shadow: 16px 0 45px rgba(0,0,0,.26); }
  body.premium-v7.nav-open .sidebar { transform: translateX(0); }
  body.premium-v7 .main, body.premium-v7.sidebar-collapsed .main { margin-left: 0; }
  body.premium-v7 .topbar { min-height: 76px; padding: 13px 15px; }
  body.premium-v7 .topbar h1 { font-size: 1.55rem; }
  body.premium-v7 .topbar .eyebrow { display: none; }
  body.premium-v7 .page-content { padding: 16px 12px 40px; }
  body.premium-v7 .app-footer { padding: 18px 14px; }
  body.premium-v7 .panel { padding: 18px; border-radius: 16px; }
  body.premium-v7 .accounting-command-hero { padding: 25px 20px; min-height: auto; border-radius: 19px; }
  body.premium-v7 .accounting-command-hero h2 { font-size: 2.15rem; }
  body.premium-v7 .period-control { width: 100%; margin-top: 18px; }
  body.premium-v7 .command-actions { display: grid; grid-template-columns: 1fr 1fr; }
  body.premium-v7 .command-actions .button:first-child { grid-column: 1/-1; }
  body.premium-v7 .accounting-kpis { grid-template-columns: 1fr 1fr; gap: 10px; }
  body.premium-v7 .accounting-kpis > article,
  body.premium-v7 .accounting-kpis > a { min-height: 132px; padding: 16px 58px 16px 16px; }
  body.premium-v7 .document-studio-heading { align-items: stretch; flex-direction: column; }
  body.premium-v7 .document-type-switch { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  body.premium-v7 .document-type-switch .studio-status { grid-column: 1/-1; text-align: center; }
  body.premium-v7 .studio-section { padding: 18px 15px; }
  body.premium-v7 .studio-section-head { align-items: flex-start; }
  body.premium-v7 .studio-items { border: 0; overflow: visible; background: transparent; }
  body.premium-v7 .studio-items-head { display: none; }
  body.premium-v7 .studio-item { margin-bottom: 11px; border: 1px solid var(--sz-line); border-radius: 13px; box-shadow: var(--sz-shadow-sm); }
  body.premium-v7 .studio-item-product { grid-column: 1/-1; }
  body.premium-v7 .studio-remove { align-self: end; }
  body.premium-v7 .payment-command-hero { align-items: flex-start; flex-direction: column; padding: 23px 20px; }
  body.premium-v7 .payment-command-hero .button { width: 100%; }
  body.premium-v7 .table-wrap { max-width: calc(100vw - 24px); }
  body.premium-v7 .auth-card { padding: 28px 22px; border-radius: 21px; }
}

@media (max-width: 480px) {
  body.premium-v7 .accounting-kpis { grid-template-columns: 1fr; }
  body.premium-v7 .command-actions { grid-template-columns: 1fr; }
  body.premium-v7 .command-actions .button { grid-column: auto !important; width: 100%; }
  body.premium-v7 .studio-section-head { gap: 10px; }
  body.premium-v7 .studio-step { flex-basis: 36px; width: 36px; height: 36px; }
  body.premium-v7 .quick-choice.studio-choice { grid-template-columns: 1fr; }
  body.premium-v7 .payment-overview { grid-template-columns: 1fr; }
}

@media print {
  body.premium-v7 { background: #fff !important; }
  body.premium-v7 .page-content > * { animation: none !important; }
}
/* Invoice-specific Paynow collection centre */
.premium-v7 .paynow-readiness{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;
  padding:16px 18px;border:1px solid #cfe0eb;border-left:5px solid #ff5a12;
  border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(4,31,56,.07)
}
.premium-v7 .paynow-readiness>div{display:grid;gap:3px;min-width:0}
.premium-v7 .paynow-readiness strong{font-size:1.08rem;color:#082d50}
.premium-v7 .paynow-readiness small{color:#5e768a;line-height:1.45}
.premium-v7 .paynow-readiness .button{flex:0 0 auto}
.premium-v7 .paynow-invoice-panel{margin:0 0 20px;border-top:4px solid #ff5a12;background:linear-gradient(135deg,#fff 0%,#f7fbff 100%)}
.premium-v7 .paynow-invoice-panel .panel-head{align-items:flex-start;gap:20px}
.premium-v7 .paynow-invoice-panel .panel-head>strong{font-size:24px;color:#082d50;white-space:nowrap}
.premium-v7 .paynow-link-box{display:grid;gap:12px;padding:18px;border:1px solid #d8e4ec;border-radius:16px;background:#fff}
.premium-v7 .paynow-link-box label{display:grid;gap:7px;font-weight:800;color:#082d50}
.premium-v7 .paynow-link-box input{width:100%;font:600 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;background:#f3f7fa}
.premium-v7 .paynow-link-box .button-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.premium-v7 .paynow-link-box form{margin:0}
.premium-v7 .paynow-link-box small,.premium-v7 .paynow-create-form small{color:#657d90}
.premium-v7 .paynow-create-form{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px;border:1px dashed #b9cbd8;border-radius:16px;background:#f8fbfd}
.premium-v7 .paynow-error{margin:12px 0 0;color:#a92c2c;font-weight:700}
@media(max-width:700px){.premium-v7 .paynow-readiness{align-items:stretch;display:grid}.premium-v7 .paynow-readiness .button{width:100%;text-align:center}.premium-v7 .paynow-invoice-panel .panel-head{display:grid}.premium-v7 .paynow-link-box .button-row>*{width:100%;text-align:center}.premium-v7 .paynow-link-box .button-row form button{width:100%}}

/* Explicit session exit for owners and team members. */
body.premium-v7 .sidebar-user .sidebar-logout{
  display:inline-flex;align-items:center;justify-content:center;min-width:70px;
  padding:8px 10px;border:1px solid rgba(255,255,255,.18);border-radius:9px;
  color:#fff;background:rgba(255,255,255,.08);font-size:.72rem;font-weight:800;
  text-decoration:none;white-space:nowrap
}
body.premium-v7 .sidebar-user .sidebar-logout:hover{background:#ff5a14;border-color:#ff5a14;color:#fff}
body.premium-v7.sidebar-collapsed .sidebar-user>.sidebar-logout{
  display:inline-flex!important;position:static!important;width:42px!important;height:36px!important;
  padding:0!important;margin:8px 0 0!important;overflow:visible!important;clip:auto!important;
  font-size:0;white-space:normal
}
body.premium-v7.sidebar-collapsed .sidebar-user>.sidebar-logout::after{content:'Exit';font-size:.68rem}
@media(max-width:760px){body.premium-v7 .sidebar-user .sidebar-logout{margin-left:auto;min-width:82px}}
