/* =========================================================
   SmartersWeb SI v34 — Production UI/UX system
   Final cascade layer for public, client, admin and auth surfaces.
   Loaded after all prior platform styles to normalize the product
   without changing business logic or backend contracts.
   ========================================================= */

:root{
  --sw34-max:1240px;
  --sw34-content:1120px;
  --sw34-radius-xs:10px;
  --sw34-radius-sm:14px;
  --sw34-radius-md:18px;
  --sw34-radius-lg:24px;
  --sw34-radius-xl:32px;
  --sw34-ease:cubic-bezier(.2,.8,.2,1);
  --sw34-fast:150ms;
  --sw34-normal:240ms;
  --sw34-border:color-mix(in srgb,var(--line) 88%,transparent);
  --sw34-border-strong:color-mix(in srgb,var(--line) 72%,var(--text) 10%);
  --sw34-brand-soft:color-mix(in srgb,var(--brand) 12%,transparent);
  --sw34-accent-soft:color-mix(in srgb,var(--brand-2) 11%,transparent);
  --sw34-shadow-1:0 1px 2px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.06);
  --sw34-shadow-2:0 18px 55px rgba(0,0,0,.12);
}

html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.layout-v18-25{overflow-x:hidden}
body.layout-v18-25 *,body.layout-v18-25 *::before,body.layout-v18-25 *::after{box-sizing:border-box}
body.layout-v18-25 ::selection{background:color-mix(in srgb,var(--brand) 30%,transparent);color:var(--text)}
body.layout-v18-25 :focus-visible{outline:3px solid color-mix(in srgb,var(--brand-2) 65%,white 8%);outline-offset:3px}
body.layout-v18-25 a,body.layout-v18-25 button,body.layout-v18-25 input,body.layout-v18-25 select,body.layout-v18-25 textarea{transition:border-color var(--sw34-fast) ease,background-color var(--sw34-fast) ease,color var(--sw34-fast) ease,box-shadow var(--sw34-fast) ease,transform var(--sw34-fast) ease,opacity var(--sw34-fast) ease}
body.layout-v18-25 img{height:auto}
body.layout-v18-25 h1,body.layout-v18-25 h2,body.layout-v18-25 h3{letter-spacing:-.035em;text-wrap:balance}
body.layout-v18-25 p{overflow-wrap:anywhere}
body.layout-v18-25 .lead{color:var(--muted);line-height:1.72}

/* Header: sharper hierarchy, better hit areas, reliable sticky behavior. */
body.layout-v18-25 .site-header-v18-25{
  position:sticky!important;top:0!important;z-index:2000!important;
  min-height:72px!important;
  border-bottom:1px solid var(--sw34-border)!important;
}
body.layout-v18-25 .site-header-v18-25::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--brand) 45%,transparent),color-mix(in srgb,var(--brand-2) 45%,transparent),transparent);opacity:.55;pointer-events:none}
body.layout-v18-25 .brand-logo-img{border-radius:13px!important}
body.layout-v18-25 .primary-nav>a,body.layout-v18-25 .header-actions>a:not(.btn),body.layout-v18-25 .command-btn,body.layout-v18-25 .user-chip,body.layout-v18-25 .icon-btn{min-height:42px}
body.layout-v18-25 .primary-nav>a{display:inline-flex;align-items:center;padding:9px 12px;border-radius:11px;font-weight:760}
body.layout-v18-25 .primary-nav>a:hover{background:color-mix(in srgb,var(--panel-2) 80%,transparent)}
body.layout-v18-25 .primary-nav>a.active,body.layout-v18-25 .primary-nav>a[aria-current="page"]{background:var(--sw34-brand-soft);color:color-mix(in srgb,var(--brand) 70%,var(--text))}
body.layout-v18-25 .command-btn{border-radius:12px!important}
body.layout-v18-25 .notification-popover,body.layout-v18-25 .user-popover{border-radius:18px!important;border-color:var(--sw34-border-strong)!important;box-shadow:var(--sw34-shadow-2)!important}

/* Buttons — one interaction language everywhere. */
body.layout-v18-25 .btn{
  min-height:46px!important;border-radius:13px!important;padding:11px 18px!important;
  font-weight:850!important;letter-spacing:-.01em!important;
  box-shadow:0 10px 28px color-mix(in srgb,var(--brand) 18%,transparent)!important;
  transform:translateZ(0);
}
body.layout-v18-25 .btn:hover{transform:translateY(-2px);filter:saturate(1.05)}
body.layout-v18-25 .btn:active{transform:translateY(0) scale(.985)}
body.layout-v18-25 .btn.btn-secondary,body.layout-v18-25 .btn-secondary{box-shadow:none!important;border-color:var(--sw34-border-strong)!important}
body.layout-v18-25 .btn.btn-ghost,body.layout-v18-25 .btn-ghost{box-shadow:none!important}
body.layout-v18-25 button[disabled],body.layout-v18-25 .btn[aria-disabled="true"]{cursor:not-allowed!important;opacity:.58!important;transform:none!important}
body.layout-v18-25 .is-submitting{position:relative;pointer-events:none;opacity:.78}
body.layout-v18-25 .is-submitting::after{content:"";width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sw34-spin .7s linear infinite}
@keyframes sw34-spin{to{transform:rotate(360deg)}}

/* Inputs and forms. */
body.layout-v18-25 :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border-radius:12px!important;border-color:var(--sw34-border-strong)!important;background:color-mix(in srgb,var(--panel-3) 86%,transparent)!important;
}
body.layout-v18-25 :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):hover{border-color:color-mix(in srgb,var(--line) 48%,var(--text) 22%)!important}
body.layout-v18-25 :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{border-color:color-mix(in srgb,var(--brand-2) 58%,var(--line))!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-2) 12%,transparent)!important;outline:none!important}
body.layout-v18-25 textarea{line-height:1.55}
body.layout-v18-25 label{line-height:1.35}
body.layout-v18-25 .form-message:not(:empty){padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--panel-2) 90%,transparent)}

/* Public site: more premium, less "card wall". */
body.section-public .landing-front,body.section-public .landing-section,body.section-public .sw29-product-links{width:min(var(--sw34-max),calc(100% - 40px));margin-inline:auto}
body.section-public .hero-front{padding-top:clamp(58px,8vw,108px);padding-bottom:clamp(44px,6vw,82px)}
body.section-public .hero-front-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:clamp(36px,6vw,82px);align-items:center}
body.section-public .hero-front-copy{max-width:720px}
body.section-public .hero-front h1{font-size:clamp(2.65rem,5.9vw,5.6rem)!important;line-height:.98!important;letter-spacing:-.062em!important;margin:14px 0 22px!important}
body.section-public .hero-front .lead{font-size:clamp(1.05rem,1.6vw,1.28rem);max-width:64ch}
body.section-public .hero-front .quick-actions{margin-top:28px;gap:10px}
body.section-public .trust-row{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:28px;padding-top:20px;border-top:1px solid var(--sw34-border)}
body.section-public .trust-row span{position:relative;padding-left:18px;color:var(--muted);font-size:.86rem;font-weight:720}
body.section-public .trust-row span::before{content:"";position:absolute;left:0;top:.42em;width:8px;height:8px;border-radius:50%;background:var(--brand-2);box-shadow:0 0 0 4px var(--sw34-accent-soft)}
body.section-public .hero-product-card{border-radius:28px!important;border-color:var(--sw34-border-strong)!important;box-shadow:0 35px 95px rgba(0,0,0,.22)!important;overflow:hidden}
body.section-public .sw29-orbit-tile{border-radius:14px!important}
body.section-public .sw29-orbit-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--brand-2) 38%,var(--line))!important}
body.section-public .landing-section{padding-block:clamp(64px,8vw,108px)}
body.section-public .section-head.centered{max-width:800px;margin-inline:auto;margin-bottom:34px}
body.section-public .section-head.centered h2{font-size:clamp(2rem,4vw,3.65rem);line-height:1.04;margin:10px 0 14px}
body.section-public .front-module-grid{gap:14px!important}
body.section-public .module-card,body.section-public .value-card,body.section-public .workflow-step,body.section-public .answer-card,body.section-public .price-mini{
  border-color:var(--sw34-border)!important;border-radius:18px!important;box-shadow:var(--sw34-shadow-1)!important;
}
body.section-public .module-card{position:relative;overflow:hidden;padding:24px!important}
body.section-public .module-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand-2));opacity:0;transition:opacity var(--sw34-normal) ease}
body.section-public .module-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--brand) 26%,var(--line))!important;box-shadow:var(--sw34-shadow-2)!important}
body.section-public .module-card:hover::before{opacity:1}
body.section-public .module-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--sw34-brand-soft),var(--sw34-accent-soft));font-size:1.15rem}
body.section-public .swe32-card-heading{font-size:1.03rem;font-weight:900;margin-top:18px}
body.section-public .sw34-proof-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;width:min(var(--sw34-max),calc(100% - 40px));margin:0 auto clamp(30px,5vw,60px);border:1px solid var(--sw34-border);border-radius:18px;overflow:hidden;background:var(--sw34-border)}
body.section-public .sw34-proof-item{padding:18px 20px;background:var(--panel);display:grid;gap:4px}
body.section-public .sw34-proof-item strong{font-size:.95rem}.sw34-proof-item span{font-size:.8rem;color:var(--muted);line-height:1.4}

/* Workspace shell: flatter information architecture and cleaner density. */
body.workspace-shell-v28 .dashboard{width:min(1760px,calc(100% - 34px))!important;gap:18px!important}
body.workspace-shell-v28 .dash-main{gap:18px!important}
body.workspace-shell-v28 .dashboard-topbar,body.workspace-shell-v28 .dash-hero,body.workspace-shell-v28 .panel,body.workspace-shell-v28 .card{
  border-color:var(--sw34-border)!important;border-radius:18px!important;box-shadow:var(--sw34-shadow-1)!important;
}
body.workspace-shell-v28 .dashboard-topbar,body.workspace-shell-v28 .dash-hero{background:linear-gradient(140deg,var(--sw34-brand-soft),transparent 38%),linear-gradient(320deg,var(--sw34-accent-soft),transparent 36%),var(--panel)!important}
body.workspace-shell-v28 .dashboard-topbar .page-title,body.workspace-shell-v28 .dash-hero .page-title{font-size:clamp(2rem,3.3vw,3.4rem)!important}
body.workspace-shell-v28 .metric-card{border-radius:15px!important;border-color:var(--sw34-border)!important;background:color-mix(in srgb,var(--panel) 93%,var(--panel-2))!important}
body.workspace-shell-v28 .metric-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 24%,var(--line))!important}
body.workspace-shell-v28 .v28-quick-card,body.workspace-shell-v28 .v28-activity-item,body.workspace-shell-v28 .v28-attention-item{border-radius:14px!important;border-color:var(--sw34-border)!important}
body.workspace-shell-v28 .v28-quick-card:hover,body.workspace-shell-v28 .v28-activity-item:hover,body.workspace-shell-v28 .v28-attention-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand-2) 30%,var(--line))!important;background:color-mix(in srgb,var(--panel-2) 88%,var(--sw34-accent-soft))!important}
body.workspace-shell-v28 .sidebar-v18-24[data-platform-sidebar]{border-color:var(--sw34-border)!important;box-shadow:var(--sw34-shadow-1)!important}
body.workspace-shell-v28 .sidebar-group-links a{border-radius:10px!important}
body.workspace-shell-v28 .sidebar-group-links a:hover{transform:translateX(2px)}
body.workspace-shell-v28 .sidebar-group-links a.active,body.workspace-shell-v28 .sidebar-group-links a[aria-current="page"]{background:linear-gradient(90deg,var(--sw34-brand-soft),var(--sw34-accent-soft))!important;box-shadow:inset 3px 0 0 var(--brand-2)!important}
body.workspace-shell-v28 .sw29-workspace-intro{border-radius:13px!important;border-color:var(--sw34-border)!important}

/* Admin/data-heavy surfaces. */
body.section-admin .panel,body.section-admin .card{border-radius:16px!important;border-color:var(--sw34-border)!important}
body.layout-v18-25 .table-wrap{border-radius:14px!important;border-color:var(--sw34-border)!important;overflow:auto!important}
body.layout-v18-25 .data-table{width:100%;border-collapse:separate;border-spacing:0}
body.layout-v18-25 .data-table th{z-index:2;background:color-mix(in srgb,var(--panel-2) 96%,transparent)!important;backdrop-filter:blur(10px)}
body.layout-v18-25 .data-table th,body.layout-v18-25 .data-table td{padding:13px 14px!important;border-color:var(--sw34-border)!important}
body.layout-v18-25 .data-table tbody tr:hover td{background:color-mix(in srgb,var(--brand) 5%,transparent)}

/* Auth surfaces. */
body.auth-page-v26 .auth-shell{max-width:1120px;margin-inline:auto}
body.auth-page-v26 .auth-card{border-radius:22px!important;border-color:var(--sw34-border-strong)!important;box-shadow:var(--sw34-shadow-2)!important}
body.auth-page-v26 .oauth-btn{border-radius:12px!important}

/* FAQ / details. */
body.layout-v18-25 details{scroll-margin-top:92px}
body.section-public .faq-item{border-radius:15px!important;border-color:var(--sw34-border)!important;box-shadow:none!important}
body.section-public .faq-item[open]{border-color:color-mix(in srgb,var(--brand-2) 28%,var(--line))!important;background:color-mix(in srgb,var(--panel) 96%,var(--sw34-accent-soft))!important}

/* Toasts injected by v34 JS. */
.sw34-toast-region{position:fixed;right:18px;bottom:18px;z-index:5000;display:grid;gap:10px;width:min(380px,calc(100vw - 36px));pointer-events:none}
.sw34-toast{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--sw34-border-strong);border-radius:13px;background:color-mix(in srgb,var(--surface-popover) 94%,transparent);box-shadow:var(--sw34-shadow-2);backdrop-filter:blur(18px);color:var(--text);font-size:.88rem;line-height:1.45;pointer-events:auto;animation:sw34-toast-in .22s var(--sw34-ease)}
.sw34-toast strong{display:block;margin-bottom:2px}.sw34-toast button{margin-left:auto;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1.15rem;line-height:1}
@keyframes sw34-toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Back-to-top control. */
.sw34-back-top{position:fixed;right:18px;bottom:18px;z-index:1900;width:44px;height:44px;border:1px solid var(--sw34-border-strong);border-radius:13px;background:var(--surface-popover);color:var(--text);box-shadow:var(--sw34-shadow-1);display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px)}
.sw34-back-top.is-visible{opacity:1;visibility:visible;transform:none}
.sw34-back-top:hover{transform:translateY(-2px)}
body.workspace-shell-v28 .sw34-back-top{bottom:16px}

/* Responsive transformations. */
@media (max-width:1100px){
  body.section-public .hero-front-grid{grid-template-columns:1fr;gap:38px}
  body.section-public .hero-front-copy{max-width:860px}
  body.section-public .hero-product-card{width:min(760px,100%);margin-inline:auto}
  body.section-public .sw34-proof-band{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  body.layout-v18-25 .site-header-v18-25{min-height:64px!important}
  body.layout-v18-25 .brand-copy small{display:none}
  body.section-public .landing-front,body.section-public .landing-section,body.section-public .sw29-product-links{width:min(100% - 28px,var(--sw34-max))}
  body.section-public .hero-front{padding-top:46px}
  body.section-public .hero-front h1{font-size:clamp(2.4rem,10vw,4.15rem)!important}
  body.workspace-shell-v28 .dashboard{width:calc(100% - 20px)!important}
}
@media (max-width:720px){
  body.section-public .hero-front .quick-actions{display:grid;grid-template-columns:1fr 1fr}
  body.section-public .hero-front .quick-actions .btn:first-child{grid-column:1/-1}
  body.section-public .sw34-proof-band{grid-template-columns:1fr;width:calc(100% - 28px)}
  body.workspace-shell-v28 .dashboard-topbar,body.workspace-shell-v28 .dash-hero{padding:20px!important}
  body.workspace-shell-v28 .dashboard-topbar-actions{width:100%;justify-content:flex-start}
  body.workspace-shell-v28 .dashboard-topbar-actions .btn{flex:1 1 140px}
  body.layout-v18-25 .data-table[data-sw34-responsive="true"] thead{display:none}
  body.layout-v18-25 .data-table[data-sw34-responsive="true"],body.layout-v18-25 .data-table[data-sw34-responsive="true"] tbody,body.layout-v18-25 .data-table[data-sw34-responsive="true"] tr,body.layout-v18-25 .data-table[data-sw34-responsive="true"] td{display:block;width:100%}
  body.layout-v18-25 .data-table[data-sw34-responsive="true"] tr{padding:10px 12px;border-bottom:1px solid var(--sw34-border)}
  body.layout-v18-25 .data-table[data-sw34-responsive="true"] td{display:grid;grid-template-columns:minmax(110px,.42fr) minmax(0,1fr);gap:12px;padding:8px 0!important;border:0!important}
  body.layout-v18-25 .data-table[data-sw34-responsive="true"] td::before{content:attr(data-label);color:var(--muted-2);font-size:.72rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
}
@media (max-width:520px){
  body.section-public .hero-front .quick-actions{grid-template-columns:1fr}
  body.section-public .hero-front .quick-actions .btn:first-child{grid-column:auto}
  body.section-public .hero-front h1{font-size:clamp(2.25rem,12vw,3.5rem)!important}
  body.layout-v18-25 .btn{width:100%}
  body.layout-v18-25 .header-actions .btn,body.layout-v18-25 .site-header .btn{width:auto}
  .sw34-back-top{right:12px;bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.layout-v18-25 *,body.layout-v18-25 *::before,body.layout-v18-25 *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{
  body.layout-v18-25 .site-header,body.layout-v18-25 .sidebar-v18-24,body.layout-v18-25 .site-footer,.sw34-back-top,.sw34-toast-region{display:none!important}
  body.layout-v18-25,body.layout-v18-25 .dashboard,body.layout-v18-25 .dash-main{display:block!important;width:100%!important;max-width:none!important;background:#fff!important;color:#000!important}
  body.layout-v18-25 .panel,body.layout-v18-25 .card{box-shadow:none!important;border:1px solid #ccc!important;break-inside:avoid}
}
