/*
 * Fezma Business Solutions premium design contract.
 * This file is loaded after the historical component styles and provides the
 * shared visual language for Core, Base and neutral modules.
 */
:root{
  --premium-purple:#6d28d9;
  --premium-purple-hover:#5b21b6;
  --premium-purple-soft:#f3e8ff;
  --premium-purple-subtle:#faf5ff;
  --premium-radius-sm:12px;
  --premium-radius:16px;
  --premium-radius-lg:20px;
  --premium-radius-xl:24px;
  --premium-shadow-sm:0 1px 2px #0f172a0a,0 2px 8px #0f172a08;
  --premium-shadow-md:0 16px 38px #0f172a12,0 4px 12px #6d28d90a;
}
html:not([data-theme=dark]){
  --bg:#f8fafc;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --surface-raised:#ffffff;
  --surface-muted:#f8fafc;
  --field:#ffffff;
  --field-border:#e2e8f0;
  --text:#18181b;
  --muted:#71717a;
  --line:#e5e7eb;
  --border:var(--line);
  --accent:var(--premium-purple);
  --accent-soft:var(--premium-purple-soft);
  --hover:#faf5ff;
  --focus:var(--premium-purple);
  --shadow:var(--premium-shadow-sm);
  --shadow-soft:var(--premium-shadow-sm);
  --shadow-raised:var(--premium-shadow-md);
}
html[data-theme=dark]{
  color-scheme:dark;
  --bg:#0c0c0e;
  --surface:#161619;
  --surface-2:#1c1c20;
  --surface-raised:#1a1a1e;
  --surface-muted:#131316;
  --field:#111114;
  --field-border:#2d2d33;
  --text:#fafafa;
  --muted:#a1a1aa;
  --line:#2b2b31;
  --border:var(--line);
  --accent:var(--premium-purple);
  --accent-soft:#6d28d926;
  --hover:#6d28d918;
  --focus:#8b5cf6;
  --success-bg:#123127;
  --danger-bg:#35191f;
  --warning-bg:#352816;
  --shadow:0 1px 2px #0006,0 8px 24px #0002;
  --shadow-soft:0 1px 2px #0006,0 8px 24px #0002;
  --shadow-raised:0 18px 44px #0007,0 0 0 1px #6d28d91f;
}
body{
  background:var(--bg);
  color:var(--text);
  font-family:Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;
  text-rendering:optimizeLegibility;
}
.app-shell{--brand:var(--premium-purple);--accent:var(--premium-purple)}
.app-shell .main{background:var(--bg)}
html[data-theme=dark] .app-shell .main{background:#0c0c0e}
.app-shell .content{max-width:1540px}
.app-shell .sidebar,
html[data-theme=dark] .app-shell .sidebar{
  background:#18181b;
  border-right:1px solid #27272a;
  box-shadow:none;
}
.app-shell .organization-chip{background:#202024;border-color:#303036}
.app-shell .nav-link.active{
  background:linear-gradient(90deg,#6d28d92e,#6d28d90c 72%,transparent);
  color:#fff;
}
.app-shell .nav-link.active::before{background:#a78bfa;box-shadow:0 0 14px #8b5cf680}
.app-shell .topbar{
  background:color-mix(in srgb,var(--surface) 90%,transparent);
  border-bottom-color:color-mix(in srgb,var(--line) 72%,transparent);
}
html[data-theme=dark] .app-shell .topbar{background:#0c0c0ee8}
html[data-theme=dark] .topbar-search{background:#131316;border-color:#29292f}
html[data-theme=dark] .topbar-search kbd{background:#1c1c20;border-color:#303036;color:#a1a1aa}

/* Shared typography and neutral text hierarchy. */
.app-shell .main .content :is(h1,h2,h3,h4),
.platform-shell :is(h1,h2,h3,h4){color:var(--text);font-weight:680}
.app-shell .main .content :is(p,small,.muted,.tracking-muted,.supplier-muted,.customer-muted),
.platform-shell :is(p,small,.field-help){color:var(--muted)}
.app-shell .section-label,.app-shell .eyebrow,.platform-shell .section-label{color:var(--accent)}

/* One surface model for Core and all module-owned cards. */
.app-shell .main .content :is(
  .card,.module-card,.kpi-card,.overview-metric,.overview-module,.workflow-tile,
  .record-card,.tracking-document,.conversation-body,.calculator-total,
  .sales-total-grid article,.record-meta-grid article,.billing-summary>a,.process-strip>a,
  .supplier-card,.asset-block,.asset-create-section,.asset-directory-list,.asset-import-preview,
  .customer-section,.customer-billing,.customer-head
){
  border-color:var(--line);
  border-radius:var(--premium-radius-lg);
  background:var(--surface);
  color:var(--text);
  box-shadow:var(--shadow-soft);
}
html[data-theme=dark] .app-shell .main .content :is(
  .card,.module-card,.kpi-card,.overview-metric,.overview-module,.workflow-tile,
  .record-card,.tracking-document,.conversation-body,.calculator-total,
  .sales-total-grid article,.record-meta-grid article,.billing-summary>a,.process-strip>a,
  .supplier-card,.asset-block,.asset-create-section,.asset-directory-list,.asset-import-preview,
  .customer-section,.customer-billing,.customer-head
){
  border-color:#2b2b3199;
  background:#161619;
  box-shadow:var(--shadow-soft);
}
.app-shell .main .content :is(.card,.module-card,.workflow-tile,.record-card,.supplier-card){
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .3s ease;
}
.app-shell .main .content :is(.card,.module-card,.workflow-tile,.record-card,.supplier-card):hover{
  border-color:#6d28d94a;
  box-shadow:var(--shadow-raised);
}
.app-shell .main .content :is(.card-head,.shared-card-head,.settings-section-head){
  border-color:var(--line);
}

/* Forms, search fields and dialogs share one focus and depth model. */
.app-shell .main :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),textarea,select),
.platform-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),textarea,select){
  border:1px solid var(--field-border);
  border-radius:var(--premium-radius-sm);
  background:var(--field);
  color:var(--text);
  box-shadow:0 1px 2px #0f172a08;
}
html[data-theme=dark] .app-shell .main :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),textarea,select),
html[data-theme=dark] .platform-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),textarea,select){
  border-color:#303036;
  background:#111114;
  color:#fafafa;
  box-shadow:inset 0 1px 0 #ffffff05;
}
.app-shell .main :is(input,textarea,select)::placeholder,
.platform-shell :is(input,textarea,select)::placeholder{color:var(--muted);opacity:.78}
.app-shell .main :is(input,textarea,select):focus,
.platform-shell :is(input,textarea,select):focus{
  border-color:var(--accent);
  outline:0;
  box-shadow:0 0 0 3px #6d28d926;
}
.app-shell :is(a,button,input,select,textarea,summary):focus-visible,
.platform-shell :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #6d28d94a;
  outline-offset:3px;
}
.app-shell .main .button.primary,
.app-shell .main button.button.primary,
.platform-shell .button.primary{
  border-color:var(--premium-purple);
  background:var(--premium-purple);
  color:#fff;
  box-shadow:0 1px 2px #4c1d952e;
}
.app-shell .main .button.primary:hover,
.platform-shell .button.primary:hover{border-color:var(--premium-purple-hover);background:var(--premium-purple-hover)}
.app-shell .main .button.secondary,
.platform-shell .button.secondary{
  border-color:var(--line);
  background:var(--surface);
  color:var(--text);
}
html[data-theme=dark] .app-shell .main .button.secondary,
html[data-theme=dark] .platform-shell .button.secondary{background:#1c1c20;border-color:#303036;color:#fafafa}
.app-shell .main .button.quiet{color:var(--muted)}
.app-shell .main .button.quiet:hover{background:var(--accent-soft);color:var(--accent)}

/* Tables keep hierarchy through spacing and subtle surfaces. */
.app-shell .main .content :is(.table-card,.table-wrap,.asset-import-table-wrap){
  border-radius:var(--premium-radius-lg);
}
.app-shell .main .content :is(table,.data-table,.customer-table,.supplier-table){color:var(--text)}
.app-shell .main .content th{
  border-color:var(--line);
  background:var(--surface-2);
  color:var(--muted);
}
.app-shell .main .content td{border-color:var(--line);color:var(--text)}
.app-shell .main .content tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
html[data-theme=dark] .app-shell .main .content th{background:#1c1c20;color:#a1a1aa}
html[data-theme=dark] .app-shell .main .content tbody tr:hover{background:#6d28d912}

/* Neutral icon and metadata surfaces. */
.app-shell .main .content :is(
  .document-symbol,.metric-icon,.settings-number,.sales-card-icon,.record-count,
  .contact-avatar,.location-mark,.asset-directory-icon,.asset-create-number,
  .customer-avatar,.workflow-icon,.preview-module-icon
){
  border-color:transparent;
  background:var(--accent-soft);
  color:var(--accent);
}
html[data-theme=dark] .app-shell .main .content :is(
  .document-symbol,.metric-icon,.settings-number,.sales-card-icon,.record-count,
  .contact-avatar,.location-mark,.asset-directory-icon,.asset-create-number,
  .customer-avatar,.workflow-icon,.preview-module-icon
){background:#6d28d924;color:#c4b5fd}
.app-shell .main .content :is(.customer-tag,.capability-list span,.contract-points span,.package-meta span){
  background:var(--accent-soft);
  color:var(--accent);
}

/* Customer directory and new-customer dialog. */
.app-shell .main .customer-page-head{margin-bottom:26px}
.app-shell .main .customer-page-head h2{font-size:32px;font-weight:700}
.app-shell .main .customer-list-card{
  overflow:hidden;
  border-radius:var(--premium-radius-xl);
}
.app-shell .main .customer-toolbar{
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
html[data-theme=dark] .app-shell .main .customer-toolbar{background:#161619}
.app-shell .main .customer-search>span{color:var(--muted)}
.app-shell .main .customer-list-meta{padding:15px 20px;border-bottom:1px solid var(--line)}
.app-shell .main .customer-table th{padding:13px 18px}
.app-shell .main .customer-table td{padding:15px 18px}
.app-shell .main .customer-table code{
  padding:4px 7px;
  border-radius:8px;
  background:var(--surface-2);
  color:var(--text);
}
.app-shell .main .customer-row-link strong{color:var(--text)}
.app-shell .main .customer-dialog{
  width:min(1080px,calc(100vw - 32px));
  padding:0;
  border:0;
  border-radius:var(--premium-radius-xl);
  background:transparent;
  box-shadow:0 32px 90px #09090b52;
}
.app-shell .main .customer-dialog::backdrop{background:#09090ba8;backdrop-filter:blur(6px)}
.app-shell .main .customer-dialog-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--premium-radius-xl);
  background:var(--surface);
  color:var(--text);
  box-shadow:var(--shadow-raised);
}
html[data-theme=dark] .app-shell .main .customer-dialog-card{border-color:#303036;background:#161619}
.app-shell .main .customer-dialog-card>header{padding:24px 28px;border-color:var(--line);background:var(--surface)}
.app-shell .main .customer-dialog-card>header h2{font-size:25px}
.app-shell .main .customer-dialog-close{
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--muted);
}
.app-shell .main .customer-dialog-close:hover{border-color:#6d28d94d;background:var(--accent-soft);color:var(--accent)}
.app-shell .main .customer-form-columns>section{padding:26px 28px}
.app-shell .main .customer-form-columns>section+section{
  border-color:var(--line);
  background:var(--surface-muted);
}
html[data-theme=dark] .app-shell .main .customer-form-columns>section+section{background:#131316}
.app-shell .main .customer-form-columns h3{font-size:17px}
.app-shell .main .customer-form-columns h4{color:var(--accent)}
.app-shell .main .customer-retention-note{
  border-color:color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:var(--premium-radius);
  background:var(--accent-soft);
  color:var(--text);
}
html[data-theme=dark] .app-shell .main .customer-retention-note{background:#6d28d91c}
.app-shell .main .customer-dialog-card>footer{
  padding:18px 28px;
  border-color:var(--line);
  background:var(--surface);
}

/* Shared-data pickers, assets and expandable editors. */
html:not([data-theme=dark]) body .app-shell .customer-picker-panel,
html[data-theme=dark] body .app-shell .customer-picker-panel{
  border-color:var(--line);
  border-radius:var(--premium-radius);
  background:var(--surface);
  color:var(--text);
  box-shadow:var(--shadow-raised);
}
html[data-theme=dark] body .app-shell .customer-picker-option{border-color:var(--line)}
html[data-theme=dark] body .app-shell .customer-picker-option:is([aria-selected=true],:hover){background:var(--accent-soft)}
html[data-theme=dark] body .app-shell .customer-picker-clear{border-color:var(--line);background:var(--surface-2);color:var(--text)}
.app-shell .main .content :is(.shared-add-row[open],.inline-editor[open] form,.project-editor[open] form,.customer-edit-shipping,.location-assets){
  border-color:var(--line);
  border-radius:var(--premium-radius);
  background:var(--surface-muted);
}
html[data-theme=dark] .app-shell .main .content :is(.shared-add-row[open],.customer-edit-shipping,.location-assets){background:#131316}
.app-shell .main .asset-directory-row:hover{background:var(--accent-soft)}

/* Sales module inherits the same purple interaction model. */
.app-shell .main .content :is(.workflow-main strong,.workflow-calc,.workflow-bottom,.text-link){color:var(--accent)}
.app-shell .main .content .workflow-tag{background:var(--surface-2);color:var(--muted)}
html[data-theme=dark] .app-shell .main .content :is(.workflow-stat,.next-visit){background:#1c1c20;color:var(--text)}

/* Platform-operator view uses the same tokens and follows the saved theme. */
.platform-shell{
  --pa-bg:var(--bg);
  --pa-surface:var(--surface);
  --pa-surface-2:var(--surface-2);
  --pa-field:var(--field);
  --pa-line:var(--line);
  --pa-text:var(--text);
  --pa-muted:var(--muted);
  --pa-soft:var(--text);
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
}
.platform-shell .platform-bar{border-color:var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent)}
.platform-actions{display:flex;align-items:center;gap:.65rem}
.platform-shell .theme-switch{
  min-height:42px;
  padding:.65rem .85rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
  box-shadow:var(--shadow-sm);
}
.platform-shell .theme-switch:hover{border-color:var(--accent-border);background:var(--hover)}
.platform-shell .platform-mark{background:var(--premium-purple)}
.platform-shell .card{
  border-color:var(--line);
  border-radius:var(--premium-radius-lg);
  background:var(--surface);
  color:var(--text);
  box-shadow:var(--shadow-soft);
}
.platform-shell .provision-card .card-head,
.platform-shell :is(.provision-section+.provision-section,.provision-actions,.organization-edit){
  border-color:var(--line);
  background:var(--surface-muted);
}
.platform-shell .organization-facts span,
.platform-shell .organization-technical,
.platform-shell .package-meta span{
  border-color:var(--line);
  background:var(--surface-2);
  color:var(--text);
}
.platform-shell .package-card{
  border-color:var(--line);
  border-radius:var(--premium-radius);
  background:var(--surface-2);
}
.platform-shell .package-card p{color:var(--muted)}
.platform-shell .organization-edit summary::after{color:var(--accent)}
.platform-shell .badge{border-color:var(--line);background:var(--surface-2);color:var(--text)}
html[data-theme=dark] .platform-shell .card{border-color:#2b2b3199;background:#161619}
html[data-theme=dark] .platform-shell .platform-bar{background:#101012}
html[data-theme=dark] .platform-shell :is(.provision-section+.provision-section,.provision-actions,.organization-edit){background:#131316}
html[data-theme=dark] .platform-shell :is(.organization-facts span,.organization-technical,.package-meta span,.package-card){background:#1c1c20}

/* Static Core preview follows the same palette rather than forcing a separate theme. */
.app-shell .main .preview-hero{background:var(--surface);color:var(--text)}
.app-shell .main .preview-module{border-radius:var(--premium-radius-lg)}
.app-shell .main .preview-metric strong,.app-shell .main .preview-arrow{color:var(--accent)}

@media(max-width:860px){
  .app-shell .main .customer-toolbar{padding:15px}
  .app-shell .main .customer-dialog-card>header{padding:20px}
  .app-shell .main .customer-form-columns>section{padding:22px 20px}
  .app-shell .main .customer-dialog-card>footer{padding:16px 20px}
}
@media(max-width:520px){
  .platform-actions{width:100%}
  .platform-actions .button{flex:1}
  .app-shell .main .customer-dialog{
    width:100%;
    max-width:none;
    max-height:100dvh;
    margin:0;
    border-radius:0;
  }
  .app-shell .main .customer-dialog-card{min-height:100dvh;border:0;border-radius:0}
  .app-shell .main .customer-dialog-card>footer{background:var(--surface)}
}
@media(prefers-reduced-motion:reduce){
  .app-shell .main .content :is(.card,.module-card,.workflow-tile,.record-card,.supplier-card){transition:none}
  .app-shell .main .content :is(.card,.module-card,.workflow-tile,.record-card,.supplier-card):hover{transform:none}
}

/* Remaining module-owned views: shared neutral surfaces and purple selection states. */
.app-shell .main .content a:not(.button):not(.workflow-card-hit):not(.customer-row-link){
  text-decoration-color:color-mix(in srgb,var(--accent) 36%,transparent);
}
.app-shell .main .content :is(
  .intake-drop,.gate-choice-option,.gate-choice-summary li,.visit-stat,.visit-row,
  .gate-tab,.survey-drawing,.visit-feedback,.tracking-stats article,.pdf-drop,
  .commercial-card,.commercial-total,.conversation-body,.calculator-total
){
  border-color:var(--line);
  border-radius:var(--premium-radius);
  background:var(--surface);
  color:var(--text);
  box-shadow:var(--shadow-soft);
}
html[data-theme=dark] .app-shell .main .content :is(
  .intake-drop,.gate-choice-option,.gate-choice-summary li,.visit-stat,.visit-row,
  .gate-tab,.survey-drawing,.visit-feedback,.tracking-stats article,.pdf-drop,
  .commercial-card,.commercial-total,.conversation-body,.calculator-total
){
  border-color:#2b2b3199;
  background:#161619;
  color:#fafafa;
}
.app-shell .main .content :is(
  .gate-choice-option:has(input:checked),.gate-tab[aria-selected=true],
  .record-tabs a.selected,.pdf-drop.dragging,.intake-drop.dragging
){
  border-color:var(--accent);
  background:var(--accent-soft);
  color:var(--accent);
  box-shadow:0 0 0 3px #6d28d914;
}
.app-shell .main .content :is(
  .visit-stat strong,.visit-back,.visit-text-action,.calculator-total strong,
  .commercial-total strong,.record-tabs a.selected,.conversation-count
){color:var(--accent)}
.app-shell .main .content :is(
  .visit-heading p,.visit-row small,.visit-help,.visit-copy small,.drawing-caption,
  .tracking-muted,.supplier-muted,.commercial-lines dt,.calculator-help,
  .conversation-meta time,.conversation-help
){color:var(--muted)}
.app-shell .main .content .record-tabs{
  border-color:var(--line);
  background:var(--surface-muted);
}
.app-shell .main .content .record-tabs a{border-color:transparent;color:var(--muted)}
.app-shell .main .content :is(.supplier-table td,.supplier-table th,.commercial-lines>div){border-color:var(--line)}
.app-shell .main .content .supplier-table th{background:var(--surface-2);color:var(--muted)}
.app-shell .main .content .conversation-avatar{background:var(--accent-soft);color:var(--accent)}
html[data-theme=dark] .app-shell .main .content .conversation-avatar{background:#6d28d924;color:#c4b5fd}
.app-shell .main .content :is([data-quote-row]:hover,[data-quote-row]:focus-within){background:var(--accent-soft)}
.app-shell .main .content .visit-row:hover{border-color:#6d28d94a;box-shadow:var(--shadow-raised)}

/* Survey and field-capture controls must not retain light-only blue surfaces. */
.app-shell .main .content :is(
  .save-actions,.visit-completeness,.obstacle-row,.gate-photo,.photo-drop,
  .visit-note,.visit-note-files a,.dimension input
){
  border-color:var(--line)!important;
  border-radius:var(--premium-radius);
  background:var(--surface-muted)!important;
  color:var(--text)!important;
}
.app-shell .main .content #gate-sketch{
  border-color:var(--line);
  background-color:var(--surface-muted);
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
}
html[data-theme=dark] .app-shell .main .content :is(
  .save-actions,.visit-completeness,.obstacle-row,.gate-photo,.photo-drop,
  .visit-note,.visit-note-files a,.dimension input
){background:#131316!important}
html[data-theme=dark] .app-shell .main .content #gate-sketch{
  background-color:#111114;
  background-image:linear-gradient(#2b2b31 1px,transparent 1px),linear-gradient(90deg,#2b2b31 1px,transparent 1px);
}
.app-shell .main .content :is(.visit-details summary,.drawing-caption strong,.gate-photo a,.visit-note header){color:var(--text)}

/* Authentication is part of the same product surface in both themes. */
.login-body{background:var(--bg);color:var(--text)}
.login-shell{
  border:1px solid var(--line);
  border-radius:var(--premium-radius-xl);
  background:var(--surface);
  box-shadow:0 28px 80px #09090b24;
}
.login-copy{background:linear-gradient(145deg,#2e1065,#5b21b6 58%,#6d28d9);color:#fff}
.login-panel{background:var(--surface);color:var(--text)}
.login-panel :is(h1,h2,h3,label,strong){color:var(--text)}
.login-panel :is(input:not([type=checkbox]):not([type=radio]),textarea,select){
  border:1px solid var(--field-border);
  border-radius:var(--premium-radius-sm);
  background:var(--field);
  color:var(--text);
}
.login-panel :is(input,textarea,select):focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #6d28d926}
.login-panel .button.primary{border-color:var(--accent);background:var(--accent)}
.login-panel .button.primary:hover{border-color:var(--premium-purple-hover);background:var(--premium-purple-hover)}
html[data-theme=dark] .login-shell{border-color:#2b2b3199;background:#161619;box-shadow:0 30px 90px #0009}
html[data-theme=dark] .login-panel{background:#161619}
html[data-theme=dark] .login-panel :is(input:not([type=checkbox]):not([type=radio]),textarea,select){border-color:#303036;background:#111114;color:#fafafa}
html[data-theme=dark] .login-theme-switch{border-color:#303036;background:#161619;color:#fafafa}

/* R38: restrained glass depth, pointer glow and consistent micro-interactions. */
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.workspace-premium-dashboard{position:relative;isolation:isolate}
.workspace-premium-dashboard>:not(.dashboard-aurora){position:relative;z-index:1}
.dashboard-aurora{position:absolute;inset:-120px -5vw auto;z-index:0;height:760px;overflow:hidden;pointer-events:none}
.dashboard-aurora span{position:absolute;width:min(46vw,620px);aspect-ratio:1;border-radius:999px;filter:blur(120px);opacity:.055}
.dashboard-aurora span:first-child{top:-220px;left:2%;background:#7c3aed}
.dashboard-aurora span:last-child{top:80px;right:0;background:#4f46e5}
html[data-theme=dark] .dashboard-aurora span{opacity:.12}

.app-shell .overview-module,
.app-shell .overview-metric,
.app-shell .customer-list-card,
.app-shell .customer-dialog-card,
.app-shell .asset-directory-list,
.app-shell .asset-directory-row,
.app-shell .asset-detail-head,
.app-shell .asset-block,
.app-shell .asset-create-section,
.app-shell :is(a,button,summary,input,select,textarea) {
  transition:all .5s ease-out;
}
html[data-theme=dark] body .app-shell .main .content :is(
  .overview-module,.overview-metric,.customer-list-card,.customer-dialog-card,
  .asset-directory-list,.asset-detail-head,.asset-block,.asset-create-section
){
  border-color:#27272a66;
  background:#18181b66;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 60px #0003,inset 0 1px 0 #ffffff08;
}
html[data-theme=dark] body .app-shell .main .customer-toolbar,
html[data-theme=dark] body .app-shell .main .customer-dialog-card>header,
html[data-theme=dark] body .app-shell .main .customer-dialog-card>footer{
  background:#18181b73;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.premium-pointer-glow{--glow-x:50%;--glow-y:50%;--glow-strength:.68;position:relative;isolation:isolate}
.premium-pointer-glow::after{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:3;
  padding:.75px;
  border-radius:inherit;
  background:radial-gradient(190px circle at var(--glow-x) var(--glow-y),#8b5cf6cc 0,#6366f166 28%,transparent 70%);
  opacity:0;
  pointer-events:none;
  transition:opacity .5s ease-out,filter .5s ease-out;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.premium-pointer-glow:hover::after,.premium-pointer-glow:focus-within::after{opacity:var(--glow-strength)}
.premium-pointer-glow.is-pointer-active::after{filter:saturate(1.06) brightness(1.04)}
html:not([data-theme=dark]) .premium-pointer-glow::after{opacity:0}
html:not([data-theme=dark]) .premium-pointer-glow:hover::after,
html:not([data-theme=dark]) .premium-pointer-glow:focus-within::after{opacity:.38}

.app-shell .overview-module-icon .ui-icon,
.app-shell .asset-directory-icon .ui-icon,
.app-shell .asset-detail-mark .ui-icon,
.app-shell .customer-avatar .ui-icon{transition:all .5s ease-out;transform-origin:center}
.app-shell .overview-module:hover .overview-module-icon .ui-icon{transform:translateY(-2px) rotate(-3deg) scale(1.07)}
.app-shell .overview-module[data-module-path$="/assets"]:hover .overview-module-icon .ui-icon,
.app-shell .asset-directory-row:hover .asset-directory-icon .ui-icon,
.app-shell .asset-detail-head:hover .asset-detail-mark .ui-icon{transform:rotate(10deg) scale(1.08)}
.app-shell .asset-directory-row:hover{transform:translateY(-1px);background:var(--accent-soft)}
.app-shell .customer-row-link:hover .customer-avatar{transform:translateY(-1px) scale(1.04)}

.app-shell .command-menu-trigger{
  appearance:none;
  text-align:left;
  cursor:pointer;
}
.app-shell .command-menu-trigger>span:not(.ui-icon){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.command-menu{
  width:min(660px,calc(100vw - 28px));
  max-width:none;
  max-height:min(680px,calc(100dvh - 36px));
  padding:0;
  border:0;
  border-radius:22px;
  background:transparent;
  color:var(--text);
  box-shadow:0 34px 100px #09090b45;
}
.command-menu::backdrop{background:#09090b8f;backdrop-filter:blur(8px)}
.command-menu-panel{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  box-shadow:inset 0 1px 0 #ffffff0d;
  -webkit-backdrop-filter:blur(22px);
  backdrop-filter:blur(22px);
}
.command-menu-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}
.command-menu-search>.ui-icon{width:21px;height:21px;color:var(--accent)}
.command-menu-search>div{min-width:0}
.command-menu-search input{
  width:100%;
  min-height:42px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--text);
  font-size:19px;
  font-weight:560;
}
.command-menu-search input:focus{border:0;box-shadow:none}
.command-menu-close{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:700}
.command-menu-meta{display:flex;justify-content:space-between;gap:16px;padding:13px 18px 8px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.command-menu-results{display:grid;gap:4px;max-height:430px;padding:6px 10px 12px;overflow-y:auto}
.command-menu-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid transparent;border-radius:13px;color:var(--text);text-decoration:none}
.command-menu-item:hover,.command-menu-item:focus{border-color:#6d28d933;background:var(--accent-soft);outline:0}
.command-menu-item-mark{width:8px;height:8px;border-radius:999px;background:var(--line);box-shadow:0 0 0 5px transparent}
.command-menu-item:hover .command-menu-item-mark,.command-menu-item:focus .command-menu-item-mark{background:var(--accent);box-shadow:0 0 0 5px #6d28d918}
.command-menu-item strong,.command-menu-item small{display:block}
.command-menu-item strong{font-size:14px}
.command-menu-item small{margin-top:3px;color:var(--muted);font-size:11px}
.command-menu-enter{color:var(--muted);opacity:0;transform:translateX(-4px)}
.command-menu-item:hover .command-menu-enter,.command-menu-item:focus .command-menu-enter{opacity:1;transform:none}
.command-menu-empty{display:grid;place-items:center;min-height:160px;padding:24px;text-align:center}
.command-menu-empty strong,.command-menu-empty span{display:block}
.command-menu-empty span{margin-top:6px;color:var(--muted);font-size:12px}
.command-menu-panel>footer{display:flex;justify-content:flex-end;gap:16px;padding:11px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
html[data-theme=dark] .command-menu-panel{border-color:#27272a99;background:#161619df;box-shadow:0 35px 110px #0009,inset 0 1px 0 #ffffff0d}
html[data-theme=dark] .command-menu-item:hover,
html[data-theme=dark] .command-menu-item:focus{background:#6d28d924}

/* Overlays retain spring motion; full document navigation stays visually stable. */
.command-menu-panel,.customer-dialog-card,.topbar-menu-panel{
  transform-origin:50% 16%;
  will-change:transform,opacity;
}
.topbar-menu-panel{transform-origin:calc(100% - 22px) 0}

@media(max-width:620px){
  .command-menu{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  .command-menu-panel{border-radius:18px}
  .command-menu-search{padding:14px}
  .command-menu-panel>footer{justify-content:flex-start;overflow:hidden}
  .command-menu-panel>footer span:nth-child(2){display:none}
}
@media(hover:none),(pointer:coarse){
  .premium-pointer-glow::after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .app-shell .overview-module,
  .app-shell .overview-metric,
  .app-shell .customer-list-card,
  .app-shell .customer-dialog-card,
  .app-shell .asset-directory-list,
  .app-shell .asset-directory-row,
  .app-shell .asset-detail-head,
  .app-shell .asset-block,
  .app-shell .asset-create-section,
  .app-shell :is(a,button,summary,input,select,textarea),
  .premium-pointer-glow::after{transition:none}
  .app-shell .overview-module:hover .overview-module-icon .ui-icon,
  .app-shell .asset-directory-row:hover .asset-directory-icon .ui-icon,
  .app-shell .asset-detail-head:hover .asset-detail-mark .ui-icon{transform:none}
}
