/* Translucent glass and metallic depth in the portal's existing brand palette. */
.portal-glass{--glass-gold:#245de8;--glass-bright:#28d9ce;--glass-ink:#0b1934;--glass-muted:#65728a;--glass-line:#86a9d742;--glass-surface:#ffffffcc;--glass-raised:#f5f9ffdc;--glass-header:#ffffffdf;--glass-input:#ffffffed;--glass-glow:#245de814;--glass-reflection:#e7f8ffad;--glass-ribbon-opacity:.24;--ink:var(--glass-ink);--ink-deep:var(--glass-ink);--muted:var(--glass-muted);--line:var(--glass-line);--night-surface:var(--glass-surface);--night-raised:var(--glass-raised);--night-input:var(--glass-input);--night-line:var(--glass-line);--night-link:var(--glass-gold);position:relative;isolation:isolate;background:#f4f7ff;color:var(--glass-ink)}
:root[data-theme=night] .portal-glass{--glass-gold:#99bfff;--glass-bright:#77e6dc;--glass-ink:#e6edf9;--glass-muted:#adbed3;--glass-line:#89b4e938;--glass-surface:#122138cf;--glass-raised:#172a43db;--glass-header:#0e1d32df;--glass-input:#0d1a2ce8;--glass-glow:#48bbdf1c;--glass-reflection:#8fe8fa26;--glass-ribbon-opacity:.48;background:#091426}
.portal-glass::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('/assets/obsidian-ribbons.svg') center/cover no-repeat;opacity:var(--glass-ribbon-opacity);animation:glass-ribbon-drift 24s ease-in-out infinite alternate}
@keyframes glass-ribbon-drift{from{transform:scale(1.02) translate3d(-.4%,0,0)}to{transform:scale(1.05) translate3d(.6%,-.6%,0)}}
:root .portal-glass .app-shell{--workspace-blue:var(--glass-gold);--workspace-cyan:var(--glass-bright);--workspace-amber:var(--glass-bright);--workspace-line:var(--glass-line);--workspace-shadow:0 16px 42px #09090912;background:transparent;color:var(--glass-ink)}
:root .portal-glass .app-shell .app-body{background:transparent}
:root .portal-glass .app-shell .sidebar{background:linear-gradient(155deg,#11274dee,#0b1934f5 58%,#08152df2);border-color:#79a9e630;box-shadow:12px 0 40px #00000012;backdrop-filter:blur(18px);scrollbar-color:#385079 transparent}
:root .portal-glass .app-shell :is(.sidebar-label,.sidebar-bottom>a,.sidebar-user small,.account-sidebar-heading small){color:#9fb3d1}
:root .portal-glass .app-shell .sidebar-bottom>a>span{color:#77e6dc}
:root .portal-glass .app-shell .nav-item{color:#c4d4eb}
:root .portal-glass .app-shell .nav-item>span{color:#9db3d6}
:root .portal-glass .app-shell .nav-item:hover{background:#245de81c;border-color:#79a9e625;color:#f4f8ff}
:root .portal-glass .app-shell .nav-item.active{background:linear-gradient(115deg,#245de843,#28d9ce16);border-color:#79b2ff54;box-shadow:inset 3px 0 0 #28d9ce,0 7px 20px #00000024;color:#f4f8ff}
:root .portal-glass .app-shell .nav-item.active>span{color:#80eee5}
:root .portal-glass .app-shell .management-sidebar .account-sidebar-bottom{background:#0b1c32aa;border-color:#79a9e635;color:#e6f0ff}
:root .portal-glass .app-shell .management-sidebar :is(.sidebar-user,.sidebar-user strong,.logout-button){color:#dceaff;background:transparent}
:root .portal-glass .app-shell .management-sidebar .logout-button:hover{background:#77e6dc12;color:#c7fff3}
:root .portal-glass .app-shell .avatar,:root .portal-glass .app-shell .management-sidebar .avatar{background:linear-gradient(140deg,#194642,#1d3d66);border-color:#548c99;color:#c7fff3}
:root .portal-glass .app-shell .topbar{background:var(--glass-header);border-color:var(--glass-line);box-shadow:0 8px 30px #0000000c;backdrop-filter:blur(18px)}
:root .portal-glass .app-shell #topbar-date{color:var(--glass-muted)}
:root .portal-glass .app-shell .topbar-clock [data-clock-time]{color:var(--glass-ink)}
:root .portal-glass .app-shell :is(.theme-toggle,.notification-button,.management-toggle,.menu-toggle){background:var(--glass-raised);border-color:var(--glass-line);color:var(--glass-gold);box-shadow:inset 0 1px 0 #ffffff0a}
:root .portal-glass .app-shell :is(.theme-toggle,.notification-button,.management-toggle,.menu-toggle):hover{border-color:var(--glass-gold);background:var(--glass-surface)}
:root .portal-glass .app-shell .workspace-footer{background:var(--glass-header);border-color:var(--glass-line);color:var(--glass-muted);backdrop-filter:blur(12px)}
:root .portal-glass .app-shell :is(.page-heading h1,.section-title h2,.catalog-chooser-intro h2,.panel h2,.stat-value,.quick-card h3,.contact-card h2,.lead-card h2,.product-row h3,.product-price>strong,.estimate-empty h3,.estimate-item h3,.estimate-quantity-row>strong,.estimate-total strong,.employee-card h3,.client-card h3,.personnel-details dd,.empty-state h2,.empty-state h3,.logs-empty h2,.comparison-heading h2,.comparison-card h3,.comparison-cost strong){color:var(--glass-ink)}
:root .portal-glass .app-shell :is(.eyebrow,.text-link,.table-action:not(.danger),.catalog-estimate-link,.product-description summary,.product-description-short>span,.description-show,.description-hide,.comparison-details summary,.comparison-candidate){color:var(--glass-gold)}
:root .portal-glass .app-shell :is(.page-heading p,.section-title>span,.stat-top,.stat-note,.quick-card p,.info-strip p,.catalog-chooser-intro p,.manufacturer-card-description,.manufacturer-card-number,.manufacturer-card-bottom,.catalog-selection-bar>span,.page-subnote,.product-meta,.product-price>small,.product-description p,.product-description-short p,.product-description-preview,.product-photo-caption,.product-photo-note,.estimate-empty p,.estimate-line-meta,.estimate-line-meta>span,.estimate-item-top>span,.estimate-footnote,.estimate-total>span,.estimate-total>div>span,.comparison-heading p,.comparison-cost>span,.comparison-warning,.comparison-empty p,.employee-card p,.employee-card small,.personnel-details dt,.personnel-folder-note p,.client-card dt,.client-company,.recovery-empty p,.empty-state p,.notification-empty,.notification-item small,.chat-thread-head p,.chat-empty){color:var(--glass-muted)}
:root .portal-glass .app-shell :is(.panel,.stat-card,.quick-card,.contact-card,.lead-card,.catalog-manufacturer-menu,.estimate-panel,.comparison-panel,.employee-card,.client-card,.recovery-request,.notifications-panel){background:linear-gradient(140deg,#ffffff09,transparent 65%),var(--glass-surface);border-color:var(--glass-line);box-shadow:inset 0 1px 0 #ffffff16,0 16px 40px #00000016;backdrop-filter:blur(14px)}
:root .portal-glass .app-shell :is(.catalog-manufacturer-menu,.comparison-panel){position:relative;border-radius:9px 25px 9px 25px}
:root .portal-glass .app-shell .catalog-manufacturer-card{background:linear-gradient(135deg,#ffffff0b,transparent 65%),var(--glass-raised);border-color:var(--glass-line);border-radius:8px 24px 8px 24px;color:var(--glass-ink);box-shadow:inset 0 1px 0 #ffffff13,0 8px 25px #0000000c}
:root .portal-glass .app-shell .catalog-manufacturer-card::after{inset:12px;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(var(--glass-gold),var(--glass-gold)) left top/18px 1px no-repeat,linear-gradient(var(--glass-gold),var(--glass-gold)) left top/1px 18px no-repeat,linear-gradient(var(--glass-gold),var(--glass-gold)) right bottom/18px 1px no-repeat,linear-gradient(var(--glass-gold),var(--glass-gold)) right bottom/1px 18px no-repeat;box-shadow:none;opacity:.3}
:root .portal-glass .app-shell .catalog-manufacturer-card:hover{border-color:var(--glass-gold);box-shadow:inset 0 1px 0 #ffffff20,0 18px 38px #00000028}
:root .portal-glass .app-shell .manufacturer-card-name{font-weight:600;letter-spacing:.07em}
:root .portal-glass .app-shell :is(.manufacturer-card-bottom,.contact-details,.personnel-details>div,.employee-card-foot,.client-card-foot,.employee-document-row,.comparison-details,.comparison-line,.estimate-item,.estimate-bottom,.catalog-rate-status){border-color:var(--glass-line)}
:root .portal-glass .app-shell .manufacturer-card-arrow{background:var(--glass-glow);border-color:var(--glass-line);color:var(--glass-gold)}
:root .portal-glass .app-shell :is(.stat-top>span:last-child,.quick-card-icon,.quick-card>span:last-child,.info-strip>span,.empty-symbol,.contact-card-top>span:first-child,.employee-avatar,.client-avatar,.chat-avatar){background:var(--glass-glow);border-color:var(--glass-line);color:var(--glass-gold)}
:root .portal-glass .app-shell .stat-card::after{background:var(--glass-glow);border-color:var(--glass-line)}
:root .portal-glass .app-shell .welcome-card{background:linear-gradient(110deg,#122c59e8,#0b1934cd),url('/assets/obsidian-ribbons.svg') 65% 55%/150% auto;border-color:#79a9e65c;box-shadow:inset 0 1px 0 #bfefff19,0 20px 50px #00000026;color:#f4f7ff;backdrop-filter:blur(12px)}
:root .portal-glass .app-shell .welcome-card .eyebrow{color:#ffbd70}
:root .portal-glass .app-shell .welcome-card p{color:#bdcde8}
:root .portal-glass .app-shell .welcome-card::before,:root .portal-glass .app-shell .welcome-card::after,:root .portal-glass .app-shell .welcome-mark::before,:root .portal-glass .app-shell .welcome-mark::after{border-color:#77e6dc30;box-shadow:0 0 35px #77e6dc0c}
:root .portal-glass .app-shell :is(.info-strip,.team-summary,.panel-toolbar,.catalog-panel-head,.logs-filters,.personnel-folder-empty,.personnel-folder-note,.chat-directory,.chat-thread-head,.chat-compose,.notifications-heading,.notification-section-title,.notifications-all,.estimate-bottom,.estimate-empty,.comparison-empty){background:var(--glass-raised);border-color:var(--glass-line);color:var(--glass-ink)}
:root .portal-glass .app-shell .info-strip{border-left-color:var(--glass-gold)}
:root .portal-glass .app-shell .empty-state{background:radial-gradient(ellipse at 50% 45%,var(--glass-glow),transparent 65%)}
:root .portal-glass .app-shell .estimate-heading{background:linear-gradient(135deg,#183963,#0b2349);border-color:#79a9e640;color:#fff}
:root .portal-glass .app-shell .estimate-heading .eyebrow{color:#ffc183}
:root .portal-glass .app-shell .estimate-heading>span{color:#a0dce8;border-color:#79a9e640;background:#79a9e60e}
:root .portal-glass .app-shell :is(.product-row,.catalog-pagination,.comparison-card,.chat-thread,.chat-messages,.notification-item){background:var(--glass-surface);border-color:var(--glass-line);color:var(--glass-ink)}
:root .portal-glass .app-shell :is(.product-row,.notification-item,.employee-card,.client-card):hover{background:var(--glass-raised);border-color:var(--glass-line)}
:root .portal-glass .app-shell :is(.product-add,.catalog-back-button,.catalog-brand-tab,.catalog-system-tabs button,.catalog-pagination>button,.estimate-remove,.estimate-quantity,.catalog-estimate-link span,.chat-load-older){background:var(--glass-raised);border-color:var(--glass-line);color:var(--glass-gold)}
:root .portal-glass .app-shell :is(.product-add:hover,.catalog-brand-tab[aria-selected=true],.catalog-system-tabs button[aria-pressed=true]){background:var(--glass-glow);border-color:var(--glass-gold);color:var(--glass-gold)}
:root .portal-glass .app-shell :is(.estimate-actions button,.product-edit,.contact-details a,.configured-phone,.comparison-source,.comparison-line-price){color:var(--glass-gold)}
:root .portal-glass .app-shell .product-edit:hover{background:var(--glass-glow);color:var(--glass-gold)}
:root .portal-glass .app-shell :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--glass-input);border-color:var(--glass-line);color:var(--glass-ink)}
:root .portal-glass .app-shell :is(input,textarea)::placeholder{color:var(--glass-muted)}
:root .portal-glass .app-shell :is(input,select,textarea):focus{border-color:var(--glass-gold);box-shadow:0 0 0 3px var(--glass-glow)}
:root .portal-glass .app-shell :is(input[type=checkbox],input[type=radio]){accent-color:var(--glass-gold)}
:root .portal-glass .app-shell .button-dark{background:linear-gradient(115deg,#326ff5,#245de8);border-color:#5d8ef3;color:#fff;box-shadow:inset 0 1px 0 #b6d9ff46,0 6px 22px #245de825}
:root .portal-glass .app-shell .button-dark:hover{background:linear-gradient(115deg,#427aff,#326bea);box-shadow:0 9px 27px #245de836}
:root .portal-glass .app-shell .button-light{background:var(--glass-raised);border-color:var(--glass-line);color:var(--glass-ink)}
:root .portal-glass .app-shell .button-light:hover{border-color:var(--glass-gold);color:var(--glass-gold)}
:root .portal-glass .app-shell .data-table th{background:var(--glass-raised);border-color:var(--glass-line);color:var(--glass-muted)}
:root .portal-glass .app-shell .data-table td{border-color:var(--glass-line);color:var(--glass-muted)}
:root .portal-glass .app-shell .data-table tbody tr:hover{background:var(--glass-glow)}
:root .portal-glass .app-shell :is(.data-table td strong,.data-table .numeric,.team-summary strong,.employee-document-copy h3,.employee-document-copy strong,.recovery-request strong,.client-card dd){color:var(--glass-ink)}
:root .portal-glass .app-shell :is(.chat-person,.chat-message p,.chat-message-meta strong){color:var(--glass-ink)}
:root .portal-glass .app-shell :is(.chat-person:hover,.chat-person.selected,.chat-person[aria-selected=true]){background:var(--glass-glow);border-color:var(--glass-line)}
:root .portal-glass .app-shell .chat-message{background:var(--glass-raised);border-color:var(--glass-line);color:var(--glass-ink)}
:root .portal-glass .app-shell .chat-message.own{background:var(--glass-glow);border-color:var(--glass-line)}
:root .portal-glass .form-dialog{background:var(--glass-surface);border-color:var(--glass-line);color:var(--glass-ink);backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 #ffffff1f,0 32px 90px #00000050}
:root .portal-glass .form-dialog :is(h2,h3,.field label){color:var(--glass-ink)}
:root .portal-glass .form-dialog :is(.eyebrow,.text-link){color:var(--glass-gold)}
:root .portal-glass .form-dialog :is(input:not([type=checkbox]),select,textarea,.product-pricing-editor){background:var(--glass-input);border-color:var(--glass-line);color:var(--glass-ink)}
:root .portal-glass .form-dialog .button-dark{background:linear-gradient(115deg,#326ff5,#245de8);color:#fff;border-color:#5d8ef3}
:root .portal-glass .form-dialog :is(.button-light,.close-button){background:var(--glass-raised);border-color:var(--glass-line);color:var(--glass-ink)}
:root .portal-glass .form-dialog::backdrop{background:#050507b8;backdrop-filter:blur(6px)}
:root .portal-glass :is(.app-shell,.form-dialog) :focus-visible{outline-color:var(--glass-gold)}
@media(max-width:760px){.portal-glass::before{background-position:65% center;animation:none}:root .portal-glass .app-shell :is(.panel,.stat-card,.quick-card,.contact-card,.lead-card,.catalog-manufacturer-menu,.estimate-panel,.comparison-panel){backdrop-filter:blur(8px)}}
@media(prefers-reduced-motion:reduce){.portal-glass::before{animation:none}:root .portal-glass .app-shell .brand-symbol img,:root .portal-glass .app-shell .welcome-mark{animation:none}}
