/* Gate 25 · Commercial App UI System
   Shared visual authority for the authenticated THERA application shell.
   Business semantics remain in their owning modules. */
:root{
  --ui25-navy-950:#0b1533;--ui25-navy-900:#101d42;--ui25-navy-800:#182957;
  --ui25-ink:#172033;--ui25-ink-soft:#475569;--ui25-muted:#7c879b;
  --ui25-canvas:#f4f7fb;--ui25-surface:#fff;--ui25-surface-soft:#f8fafc;
  --ui25-border:#e4e9f1;--ui25-border-strong:#d5dce7;
  --ui25-accent:#6650f2;--ui25-accent-strong:#5136d8;--ui25-accent-soft:#f0edff;
  --ui25-teal:#0f9f86;--ui25-teal-soft:#e8faf5;--ui25-blue:#3478f6;--ui25-blue-soft:#edf4ff;
  --ui25-success:#139b62;--ui25-warning:#c77a06;--ui25-danger:#d1435b;
  --ui25-radius-xs:8px;--ui25-radius-sm:12px;--ui25-radius-md:16px;--ui25-radius-lg:22px;--ui25-radius-xl:28px;
  --ui25-shadow-xs:0 1px 2px rgba(15,23,42,.04);--ui25-shadow-sm:0 8px 26px rgba(22,34,63,.07);--ui25-shadow-md:0 20px 54px rgba(22,34,63,.12);
  --ui25-space-1:4px;--ui25-space-2:8px;--ui25-space-3:12px;--ui25-space-4:16px;--ui25-space-5:20px;--ui25-space-6:24px;--ui25-space-8:32px;--ui25-space-10:40px;
  --ui25-control-sm:36px;--ui25-control-md:44px;--ui25-control-lg:52px;
  --ui25-content-max:1560px;--ui25-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.app-commercial-v25 :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid rgba(102,80,242,.24);outline-offset:2px}
body.app-commercial-v25:not(.app-immersive-chat){font-family:var(--ui25-font);color:var(--ui25-ink);background-color:var(--ui25-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.app-commercial-v25.has-custom-app-background:not(.app-immersive-chat)::before{opacity:.12;filter:saturate(.72) contrast(.96)}
body.app-commercial-v25:not(.app-immersive-chat)::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(244,247,251,.82) 54%,rgba(238,244,252,.88))}
.app-commercial-v25 .app-header--experience{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(213,220,231,.86);box-shadow:0 7px 24px rgba(15,23,42,.045);backdrop-filter:blur(18px) saturate(1.08)}
.app-commercial-v25 .app-header__inner{max-width:none;min-height:68px;padding-inline:clamp(16px,2vw,30px)}
.app-commercial-v25 .app-brand__copy strong{font-weight:850;letter-spacing:-.02em;color:var(--ui25-ink)}
.app-commercial-v25 .app-brand__copy small,.app-commercial-v25 .app-account-summary small{color:var(--ui25-muted)}
.app-commercial-v25 .luxury-top-nav{gap:6px}
.app-commercial-v25 .luxury-nav-link{min-height:42px;padding:8px 12px;border-radius:13px;font-weight:760;color:#4d586b;transition:background .16s ease,color .16s ease,transform .16s ease}
.app-commercial-v25 .luxury-nav-link:hover{background:#f5f7fb;color:var(--ui25-ink);transform:translateY(-1px)}
.app-commercial-v25 .luxury-nav-link.is-active{background:var(--ui25-accent-soft);color:var(--ui25-accent-strong);box-shadow:inset 0 0 0 1px rgba(102,80,242,.07)}
.app-commercial-v25 .app-notification-button,.app-commercial-v25 .app-account-menu>summary{border-color:var(--ui25-border);background:#fff;box-shadow:var(--ui25-shadow-xs);border-radius:14px}
.app-commercial-v25 .luxury-sidebar{background:linear-gradient(180deg,var(--ui25-navy-900),var(--ui25-navy-950));border-right:1px solid rgba(255,255,255,.06);box-shadow:10px 0 36px rgba(11,21,51,.08)}
.app-commercial-v25 .luxury-sidebar__context{border-bottom-color:rgba(255,255,255,.08)}
.app-commercial-v25 .luxury-sidebar__context strong{font-weight:850;letter-spacing:-.01em}.app-commercial-v25 .luxury-sidebar__context small,.app-commercial-v25 .luxury-sidebar__label{color:#8794b7}
.app-commercial-v25 .luxury-sidebar__link{border:1px solid transparent;border-radius:14px;color:#dfe7fb;min-height:54px;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.app-commercial-v25 .luxury-sidebar__link:hover{background:rgba(255,255,255,.06);transform:translateX(2px)}
.app-commercial-v25 .luxury-sidebar__link.is-active{background:linear-gradient(135deg,rgba(52,120,246,.26),rgba(15,159,134,.20));border-color:rgba(111,196,245,.24);box-shadow:inset 3px 0 0 #59d3c1}
body.app-commercial-v25.page-app .main-shell:not(.main-shell--immersive-chat){width:100%;max-width:none;margin:var(--lx-header) 0 0;padding:clamp(22px,2.2vw,36px) clamp(16px,2.4vw,34px) 88px}
.app-commercial-v25 :is(.page-title-row,.workflow-page-head,.report-page-head,.crm-page-head,.form-page-head,.role-home__heading,.ui12-section-head,.work-schedule-section-head,.report-section-head){letter-spacing:-.015em}
.app-commercial-v25 :is(.page-title-row h1,.workflow-page-head h1,.report-page-head h1,.crm-page-head h1,.form-page-head h1,.role-home__heading h1){font-size:clamp(28px,2.45vw,40px);line-height:1.08;font-weight:880;letter-spacing:-.035em;color:var(--ui25-ink)}
.app-commercial-v25 :is(.page-title-row p,.workflow-page-head p,.report-page-head p,.crm-page-head p,.form-page-head p,.role-home__heading span){color:var(--ui25-ink-soft);line-height:1.55}
.app-commercial-v25 .eyebrow{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ui25-accent-strong)}
.app-commercial-v25 :is(.primary-button,.secondary-button,.compact-button,.danger-button){min-height:40px;border-radius:12px;font-weight:780;letter-spacing:-.005em;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}
.app-commercial-v25 .primary-button{background:linear-gradient(135deg,var(--ui25-accent),#7559f5);border-color:transparent;color:#fff;box-shadow:0 8px 20px rgba(102,80,242,.20)}
.app-commercial-v25 .primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(102,80,242,.25)}
.app-commercial-v25 .secondary-button,.app-commercial-v25 .compact-button{background:#fff;border-color:var(--ui25-border-strong);color:#344054;box-shadow:var(--ui25-shadow-xs)}
.app-commercial-v25 .secondary-button:hover,.app-commercial-v25 .compact-button:hover{border-color:#bfc8d7;background:#f8fafc;transform:translateY(-1px)}
.app-commercial-v25 .danger-button{background:#fff5f6;border-color:#ffd8de;color:#b4233a}
.app-commercial-v25 :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){min-height:44px;border:1px solid var(--ui25-border-strong);border-radius:12px;background:#fff;color:var(--ui25-ink);box-shadow:inset 0 1px 2px rgba(15,23,42,.025);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.app-commercial-v25 :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select):focus{border-color:rgba(102,80,242,.68);box-shadow:0 0 0 4px rgba(102,80,242,.12);outline:0}
.app-commercial-v25 textarea{line-height:1.5}.app-commercial-v25 label{color:#344054}.app-commercial-v25 .form-helper{color:var(--ui25-muted)}
.app-commercial-v25 :is(.form-section-card,.settings-card,.role-panel,.filter-panel,.financial-filter-panel,.report-section,.crm-card,.ticket-card,.owner-command-panel,.work-schedule-admin-panel,.production-readiness__panel,.ui12-raw-section){border:1px solid var(--ui25-border);border-radius:var(--ui25-radius-md);background:rgba(255,255,255,.96);box-shadow:var(--ui25-shadow-sm)}
.app-commercial-v25 :is(.form-section-card,.settings-card,.role-panel,.filter-panel,.financial-filter-panel,.report-section,.crm-card,.owner-command-panel,.work-schedule-admin-panel){overflow:clip}
.app-commercial-v25 :is(.form-section-head,.role-panel__header,.crm-section-head,.report-section-head,.work-schedule-section-head,.ui12-section-head){border-bottom-color:var(--ui25-border)}
.app-commercial-v25 :is(.form-section-head h2,.role-panel__header h2,.crm-section-head h2,.report-section-head h2,.work-schedule-section-head h2){font-weight:840;letter-spacing:-.02em;color:var(--ui25-ink)}
.app-commercial-v25 :is(.summary-grid,.role-kpi-grid,.tickets-kpi-grid){gap:12px}
.app-commercial-v25 :is(.role-kpi-card,.tickets-kpi-card,.summary-grid>article,.summary-grid>div){border:1px solid var(--ui25-border);border-radius:16px;background:#fff;box-shadow:var(--ui25-shadow-sm)}
.app-commercial-v25 :is(.role-kpi-card,.tickets-kpi-card) strong{letter-spacing:-.035em}
.app-commercial-v25 :is(.status-pill,.status-chip,.ui-badge,.chat-group-badge){border-radius:999px;font-weight:780;letter-spacing:.005em}
.app-commercial-v25 :is(.alert,.form-alert,.warning-note){border-radius:14px;border-width:1px;box-shadow:none}
.app-commercial-v25 .data-table{width:100%;border-collapse:separate;border-spacing:0;color:#344054;background:#fff}
.app-commercial-v25 .data-table thead th{position:relative;background:#f7f9fc;color:#667085;font-size:11px;font-weight:850;letter-spacing:.035em;text-transform:uppercase;border-bottom:1px solid var(--ui25-border-strong)}
.app-commercial-v25 .data-table tbody td{border-bottom:1px solid #edf0f5;vertical-align:middle}.app-commercial-v25 .data-table tbody tr:hover td{background:#fafbfe}
.app-commercial-v25 :is(.table-scroll,.ui12-table-wrap){border:1px solid var(--ui25-border);border-radius:15px;background:#fff;box-shadow:var(--ui25-shadow-xs);scrollbar-width:thin;scrollbar-color:#c5ccda transparent}
.app-commercial-v25 details>summary{cursor:pointer;font-weight:760;color:#344054}
.app-commercial-v25 :is(.empty-state,.ui12-empty-state,.crm-empty){border:1px dashed #ccd4e1;border-radius:16px;background:#fafbfe;color:var(--ui25-muted)}
.app-commercial-v25 .form-actions{gap:10px;padding-top:4px}
.app-commercial-v25 .commercial-scroll-hint{display:none;position:sticky;left:12px;bottom:8px;width:max-content;padding:5px 9px;border-radius:999px;background:#172033;color:#fff;font-size:10px;font-weight:800;box-shadow:var(--ui25-shadow-sm);z-index:3}
.app-commercial-v25 .is-commercial-scrollable>.commercial-scroll-hint{display:inline-flex}
@media(min-width:1180px){body.app-commercial-v25.page-app .main-shell:not(.main-shell--immersive-chat){width:calc(100% - var(--lx-sidebar));margin-left:var(--lx-sidebar)}}
@media(max-width:980px){body.app-commercial-v25.page-app .main-shell:not(.main-shell--immersive-chat){width:100%;margin-left:0;padding-top:20px}.app-commercial-v25 :is(.page-title-row h1,.workflow-page-head h1,.report-page-head h1,.crm-page-head h1,.form-page-head h1,.role-home__heading h1){font-size:30px}}
@media(max-width:720px){body.app-commercial-v25:not(.app-immersive-chat){font-size:16px}body.app-commercial-v25.page-app .main-shell:not(.main-shell--immersive-chat){width:100%;margin-top:var(--lx-header);margin-left:0;padding:14px max(10px,env(safe-area-inset-right,0px)) calc(92px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}.app-commercial-v25 :is(.page-title-row,.workflow-page-head,.report-page-head,.crm-page-head,.form-page-head,.role-home__heading){gap:14px;margin-bottom:16px}.app-commercial-v25 :is(.page-title-row h1,.workflow-page-head h1,.report-page-head h1,.crm-page-head h1,.form-page-head h1,.role-home__heading h1){font-size:28px}.app-commercial-v25 :is(.primary-button,.secondary-button,.compact-button,.danger-button){min-height:44px}.app-commercial-v25 :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){font-size:16px}.app-commercial-v25 :is(.form-section-card,.settings-card,.role-panel,.filter-panel,.financial-filter-panel,.report-section,.crm-card,.owner-command-panel,.work-schedule-admin-panel){border-radius:15px}.app-commercial-v25 .table-scroll{margin-inline:-2px}.app-commercial-v25 .luxury-mobile-nav{padding-bottom:max(8px,env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);border-top:1px solid var(--ui25-border);backdrop-filter:blur(18px)}}
@media(prefers-reduced-motion:reduce){.app-commercial-v25 *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
