/* Shared visual foundations for the register and owner journey. */
:root {
  --smena-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --smena-bg:#f5f5f7;
  --smena-panel:#fff;
  --smena-soft:#f8f8fa;
  --smena-ink:#202124;
  --smena-muted:#5f626b;
  --smena-line:#e7e7ec;
  --smena-line-strong:#d7d7df;
  --smena-accent:#5951c8;
  --smena-accent-strong:#4840ae;
  --smena-accent-soft:#eeedf9;
  --smena-green:#28835b;
  --smena-red:#b93647;
  --smena-sidebar:#eeeef2;
  --smena-control-radius:12px;
  --smena-panel-radius:20px;
  --smena-shadow:0 2px 8px rgba(22,24,35,.025);
  --smena-dialog-shadow:0 24px 90px rgba(24,24,36,.15);
  --smena-nav-height:calc(68px + env(safe-area-inset-bottom,0px));
}

/* Existing owner forms keep their IDs, labels, validation and actions. */
body:is(.owner-app,.activation-app) {
  --purple:var(--smena-accent);
  --purple-dark:var(--smena-accent-strong);
  --soft:var(--smena-soft);
  --line:var(--smena-line);
  --muted:var(--smena-muted);
  --red:var(--smena-red);
  --green:var(--smena-green);
  color:var(--smena-ink);
  background:var(--smena-bg);
  font-family:var(--smena-font);
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
}
body:is(.owner-app,.activation-app) :is(button,input,select,textarea) {
  font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
body:is(.owner-app,.activation-app) :is(button,a,summary):focus-visible {
  outline:3px solid var(--smena-accent);
  outline-offset:3px;
}
body:is(.owner-app,.activation-app) :is(input,select,textarea):focus {
  border-color:var(--smena-accent);
  box-shadow:0 0 0 3px rgba(89,81,200,.12);
}
body:is(.owner-app,.activation-app) :is(input,select,textarea) {
  min-height:48px;
  border-color:var(--smena-line-strong);
  border-radius:var(--smena-control-radius);
  font-size:16px;
  line-height:1.4;
}
body:is(.owner-app,.activation-app) input:is([type=checkbox],[type=radio]) {
  min-height:initial;
  accent-color:var(--smena-accent);
}
body:is(.owner-app,.activation-app) label {
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}
body:is(.owner-app,.activation-app) label small {
  font-size:13px;
  font-weight:400;
  line-height:1.45;
}
body:is(.owner-app,.activation-app) .brand {
  gap:10px;
  color:var(--smena-ink);
}
body:is(.owner-app,.activation-app) .brand>span {
  width:40px;
  height:40px;
  flex-shrink:0;
  border-radius:12px;
  background:var(--smena-ink);
  color:#fff;
  font-size:22px;
  font-weight:600;
}
body:is(.owner-app,.activation-app) .brand strong { font-size:16px; font-weight:650; }
body:is(.owner-app,.activation-app) .brand small { font-size:12px; color:var(--smena-muted); }
body:is(.owner-app,.activation-app) .eyebrow {
  color:var(--smena-muted);
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
}
body:is(.owner-app,.activation-app) :is(h1,h2) { font-weight:650; letter-spacing:-.035em; }

.owner-app .site-head { height:68px; padding-inline:clamp(16px,4vw,52px); }
.owner-app .pos-link { min-height:44px; display:inline-flex; align-items:center; font-size:14px; font-weight:600; }
.owner-app .auth-layout {
  width:min(1100px,calc(100% - 48px));
  margin:40px auto;
  gap:64px;
  grid-template-columns:minmax(0,1fr) minmax(440px,1fr);
}
.owner-app .auth-copy { padding:40px 0; }
.owner-app .auth-copy h1 { font-size:clamp(36px,4vw,48px); line-height:1.08; }
.owner-app .auth-copy>p:not(.eyebrow) { font-size:17px; line-height:1.6; }
.owner-app .auth-copy li { font-size:14px; font-weight:500; }
.owner-app .auth-copy li::before { background:var(--smena-accent-soft); color:var(--smena-accent-strong); }
.owner-app :is(.auth-card,.token-card,.panel,.metric) {
  border-color:var(--smena-line);
  border-radius:var(--smena-panel-radius);
  box-shadow:var(--smena-shadow);
}
.owner-app .auth-card { padding:28px; }
.owner-app .tabs { border-radius:14px; padding:4px; }
.owner-app .tab { min-height:48px; font-size:14px; font-weight:600; }
.owner-app .tab.active { box-shadow:var(--smena-shadow); }
.owner-app .form-stack { gap:18px; }
.owner-app .divider { margin:12px 0 6px; }
.owner-app .divider span { font-size:12px; font-weight:500; }
.owner-app :is(.button,.text-button,.logout) {
  min-height:44px;
  border-radius:var(--smena-control-radius);
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  touch-action:manipulation;
}
.owner-app .button.primary { min-height:48px; background:var(--smena-accent); }
.owner-app .button.primary:hover { background:var(--smena-accent-strong); }
.owner-app .button.compact { min-height:44px; font-size:13px; }
.owner-app .text-button { padding:8px 12px; }
.owner-app .consent { min-height:44px; font-size:13px; font-weight:400; align-items:center; }
.owner-app .consent a { font-weight:500; }
.owner-app .business-profile-picker>legend { font-size:14px; font-weight:600; }
.owner-app .business-profile-picker>p { font-size:13px; line-height:1.45; }
.owner-app .business-profile-options { grid-template-columns:1fr; }
.owner-app .business-profile-options span { padding:12px 14px; }
.owner-app .business-profile-options strong { font-size:14px; font-weight:600; }
.owner-app .business-profile-options small { font-size:13px; margin-top:3px; }
.owner-app .business-profile-options input:checked+span {
  background:var(--smena-accent-soft);
  box-shadow:0 0 0 1px var(--smena-accent);
}
.owner-app .dashboard { grid-template-columns:204px minmax(0,1fr); }
.owner-app .side { background:var(--smena-sidebar); color:var(--smena-ink); border-right:1px solid var(--smena-line); padding:26px 14px 16px; }
.owner-app .side nav a { min-height:46px; padding:12px; color:var(--smena-muted); font-size:14px; font-weight:500; }
.owner-app .side nav a:hover { background:#fff; color:var(--smena-accent-strong); }
.owner-app .logout { color:var(--smena-muted); }
.owner-app .workspace { padding:28px clamp(16px,3vw,40px) 48px; }
.owner-app .dash-head h1 { font-size:30px; }
.owner-app .user-chip>span { background:var(--smena-accent-soft); font-weight:600; }
.owner-app .user-chip small { font-size:12px; }
.owner-app .metric strong { font-size:28px; font-weight:650; }
.owner-app .metric span { font-size:13px; line-height:1.4; }
.owner-app .panel-head h2 { font-size:20px; font-weight:650; }
.owner-app .badge { background:var(--smena-accent-soft); color:var(--smena-accent-strong); font-size:12px; font-weight:600; }
.owner-app :is(.list-row small,.limit-note,.access-note,.owner-onboarding-list small,.owner-product-note span) { font-size:13px; line-height:1.45; }
.owner-app :is(.owner-table small,#owner-alert-list small) { color:var(--smena-muted); }
.owner-app .security-callout:not(.good):not(.required) { background:var(--smena-accent-soft); color:var(--smena-accent-strong); }
.owner-app :is(.owner-product-note,.code) { background:var(--smena-accent-soft); color:var(--smena-accent-strong); border-color:#cfcced; }
.owner-app :is(.owner-progress span,.progress-track>span) { background:var(--smena-accent); }
.owner-app dialog { border:1px solid var(--smena-line); border-radius:24px; box-shadow:var(--smena-dialog-shadow); }
.owner-app dialog::backdrop { background:rgba(34,34,43,.24); backdrop-filter:blur(8px); }
.owner-app .dialog-close { width:44px; height:44px; font-weight:400; }
.owner-app .dialog-card h2 { font-size:24px; }
.owner-app .center-view { min-height:calc(100dvh - 68px); }
.owner-app .message { font-size:14px; line-height:1.5; }

/* Activation is part of the same owner journey. */
.activation-app .activate { width:min(540px,calc(100% - 32px)); padding:40px 0; }
.activation-app .card { border:1px solid var(--smena-line); border-radius:var(--smena-panel-radius); box-shadow:var(--smena-shadow); padding:32px; }
.activation-app .step { background:var(--smena-accent-soft); font-weight:600; }
.activation-app h1 { font-size:32px; line-height:1.15; padding-right:42px; }
.activation-app .muted { font-size:15px; }
.activation-app button { min-height:48px; font-size:16px; font-weight:600; border-radius:var(--smena-control-radius); }
.activation-app .device { font-size:13px; }
.activation-app .help { color:var(--smena-muted); font-size:14px; line-height:1.5; }
.activation-app .help a { color:var(--smena-accent-strong); }
.activation-app .error { font-size:14px; line-height:1.5; }

@media(max-width:900px) {
  .owner-app .auth-layout { grid-template-columns:1fr; max-width:580px; gap:24px; margin:24px auto; }
  .owner-app .auth-copy { padding:0; }
  .owner-app .auth-copy ol { display:none; }
  .owner-app .auth-copy h1 { font-size:36px; }
  .owner-app .auth-copy>p:not(.eyebrow) { font-size:16px; margin-bottom:0; }
  .owner-app .dashboard { grid-template-columns:1fr; }
  .owner-app .side { border-right:0; border-bottom:1px solid var(--smena-line); }
}
@media(max-width:560px) {
  .owner-app .auth-layout { width:calc(100% - 28px); gap:18px; margin:22px auto; }
  .owner-app .auth-copy { display:block; }
  .owner-app .auth-copy h1 { display:block; font-size:28px; }
  .owner-app .auth-copy :is(.eyebrow,p,ol) { display:none; }
  .owner-app .auth-card { padding:20px 16px; }
  .owner-app .form-stack { gap:16px; }
  .owner-app .form-grid { gap:16px; }
  .owner-app .workspace { padding:24px 14px 40px; }
  .owner-app .dash-head h1 { font-size:27px; overflow-wrap:anywhere; }
  .owner-app .metric { padding:16px; }
  .owner-app .metric strong { font-size:24px; overflow-wrap:anywhere; }
  .owner-app .dialog-card { padding:24px 18px; }
  .activation-app .activate { padding:24px 0; }
  .activation-app .card { padding:28px 20px; }
  .activation-app h1 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
  body:is(.owner-app,.activation-app) *,body:is(.owner-app,.activation-app) *::before,body:is(.owner-app,.activation-app) *::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* A short registration step keeps the original form controls alive. */
.owner-app .signup-progress p { margin:0 0 10px; color:var(--muted); font-size:13px; }
.owner-app .signup-progress ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.owner-app .signup-progress li { padding:10px 6px; border-bottom:2px solid var(--line); color:var(--muted); font-size:13px; text-align:center; }
.owner-app .signup-progress li.active { border-color:var(--purple); color:var(--purple-dark); font-weight:600; }
.owner-app .signup-progress li.complete { border-color:var(--green); }
.owner-app .signup-heading h2 { margin:0; font-size:24px; line-height:1.2; }
.owner-app .signup-heading p { margin:8px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.owner-app .signup-fieldset { display:grid; gap:18px; min-width:0; margin:0; padding:0; border:0; }
.owner-app .signup-fieldset>legend { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
.owner-app .signup-actions { display:flex; gap:10px; }
.owner-app .signup-actions .primary { flex:1; }
.owner-app .signup-optional { border-top:1px solid var(--line); padding-top:14px; }
.owner-app .signup-optional summary { cursor:pointer; min-height:44px; display:flex; align-items:center; color:var(--purple-dark); font-size:14px; }
.owner-app .signup-optional[open] summary { margin-bottom:12px; }
.owner-app .signup-optional .form-grid { margin-bottom:16px; }
.owner-app #signup-form[aria-busy=true] { cursor:progress; }

/* Reports lead with results; the filters and supporting figures stay available. */
.report-presets { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 18px; }
.report-scope { color:var(--smena-muted); line-height:1.5; overflow-wrap:anywhere; }
.reports-page .report-metrics .metric-card { min-height:108px; }
.reports-page .report-section,.reports-page .report-filter-box,.owner-app .owner-report-filters { margin:14px 0; }
.reports-page details>summary,.owner-app .owner-report-filters>summary { display:flex; align-items:center; gap:12px; min-height:56px; padding:16px 18px; list-style:none; font-size:15px; font-weight:600; cursor:pointer; }
.reports-page details>summary::-webkit-details-marker,.owner-app .owner-report-filters>summary::-webkit-details-marker { display:none; }
.reports-page details>summary::after,.owner-app .owner-report-filters>summary::after { content:''; width:7px; height:7px; margin-left:auto; flex-shrink:0; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.reports-page details[open]>summary::after,.owner-app .owner-report-filters[open]>summary::after { transform:rotate(225deg); }
.report-section-body { padding:0 18px 18px; }
.reports-page .report-section-body.metric-grid { margin:0; }
.report-sync,.owner-app .owner-freshness { color:var(--smena-muted); font-size:13px; line-height:1.5; margin:14px 0; }
.reports-page .report-sync>summary { min-height:44px; padding:8px 0; font-size:13px; font-weight:500; }
.report-sync p { margin:6px 0; }
.owner-app .owner-freshness>summary { min-height:44px; cursor:pointer; display:flex; align-items:center; }
.owner-app .owner-freshness.attention>summary { color:#8b6500; font-weight:600; }
.owner-app .owner-report-filters .owner-filters { padding:0 18px; margin:0 0 16px; }
.owner-app .owner-report-filters>.access-note { margin:0; padding:0 18px 18px; }
.owner-app #owner-summary .owner-panel { margin-top:0; }
.owner-app #owner-summary .report-scope { margin-top:0; font-size:14px; }
@media(max-width:600px) {
  .reports-page .page-header { gap:10px; }
  .reports-page .page-header p { margin-bottom:0; }
  .reports-page .page-header>.btn { align-self:flex-start; }
  .reports-page .report-metrics,.reports-page .report-section-body.metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .reports-page .report-metrics .metric-card { min-height:104px; padding:14px; }
  .reports-page .metric-value { font-size:23px; overflow-wrap:anywhere; }
  .reports-page .metric-label { font-size:13px; }
  .reports-page .report-metrics .badge { white-space:normal; font-size:11px; margin-top:8px; }
  .reports-page .report-filter-box .form-grid { grid-template-columns:1fr; }
  .reports-page .report-section-body { padding:0 14px 14px; }
  .reports-page .table-wrap,.owner-app #owner-sales .owner-table-wrap { overflow:visible; }
  .reports-page .data-table,.owner-app #owner-sales .owner-table { display:block; width:100%; }
  .reports-page .data-table thead,.owner-app #owner-sales .owner-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .reports-page .data-table tbody,.owner-app #owner-sales .owner-table tbody { display:block; }
  .reports-page .data-table tr,.owner-app #owner-sales .owner-table tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 16px; padding:16px 0; border-bottom:1px solid var(--smena-line); }
  .reports-page .data-table td,.owner-app #owner-sales .owner-table td { display:block; min-width:0; padding:0; border:0; font-size:14px; white-space:normal; overflow-wrap:anywhere; }
  .reports-page .data-table td::before,.owner-app #owner-sales .owner-table td::before { content:attr(data-label); display:block; margin-bottom:4px; color:var(--smena-muted); font-size:12px; line-height:1.4; }
  .reports-page .data-table td:first-child,.owner-app #owner-sales .owner-table td:first-child { grid-column:1/-1; font-size:16px; }
  .reports-page .data-table td:first-child::before,.owner-app #owner-sales .owner-table td:first-child::before { display:none; }
  .reports-page .data-table td[colspan],.owner-app #owner-sales .owner-table td[colspan],.owner-app #owner-sales .owner-table td:last-child { grid-column:1/-1; }
  .reports-page .data-table td[colspan]::before { display:none; }
  .owner-app .owner-report-filters .owner-filters label { flex-basis:100%; }
  .owner-app .report-presets .button,.reports-page .report-presets .btn { flex:1; padding-inline:10px; font-size:13px; }
}
.owner-app .auth-layout:has(#signup-form:not([hidden])) #onboarding-steps { display:none; }
.owner-app #signup-form .business-profile-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:560px) {
  .owner-app .auth-layout:has(#signup-form:not([hidden])) .auth-copy { display:none; }
  .owner-app #signup-form .business-profile-options small { display:none; }
  .owner-app #signup-form .business-profile-options span { min-height:68px; padding:12px 4px; display:flex; align-items:center; }
  .owner-app #signup-form .business-profile-options strong { font-size:13px; overflow-wrap:anywhere; }
}
@media(max-width:900px) {
  .owner-app .side { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:14px; }
  .owner-app .side .brand { grid-column:1; grid-row:1; }
  .owner-app .side .logout { grid-column:2; grid-row:1; margin:0; }
  .owner-app .side nav { grid-column:1/-1; margin:0; }
  .owner-app .side nav a { min-height:44px; padding:10px 12px; }
}

/* Clear first-sale handoff without replacing the operating POS. */
.first-sale-guide{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:22px;border:1px solid var(--border,#e4e4e8);border-radius:22px;background:var(--surface,#fff)}
.first-sale-guide>div{min-width:0}.first-sale-guide small{display:block;margin-bottom:7px;font-size:11px;letter-spacing:.09em;color:var(--muted,#68686e)}.first-sale-guide strong{font-size:19px}.first-sale-guide p{margin:7px 0 0;font-size:14px;line-height:1.5;color:var(--muted,#68686e)}.first-sale-guide .btn{flex-shrink:0}
.runtime-setup-list{padding-left:20px;margin:14px 0}.runtime-setup-list li{margin:12px 0}.runtime-setup-list span{display:block;margin-top:3px;line-height:1.5}
@media(max-width:600px){.first-sale-guide{align-items:stretch;flex-direction:column;padding:18px;gap:14px}.first-sale-guide .btn{width:100%}.catalog-setup-option h3{font-size:17px}}

.first-product-details{margin-top:16px}.first-product-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}.first-product-details .form-field{margin-top:12px}
