/* Shared presentation contract for application content, excluding accepted login/workspace. */
html[data-glass-page] {
  --glass-danger:#9b3b3b; --glass-danger-soft:#f8e5e3;
  --glass-success:#28634f; --glass-success-soft:#e3eee7;
  --glass-warning:var(--sg-warning); --glass-warning-soft:var(--sg-warning-bg);
  --font-ui:var(--sg-font); --font-editorial:var(--sg-font);
  --theme-page:var(--sg-page); --theme-bg:var(--sg-page); --theme-surface:var(--sg-solid);
  --theme-surface-soft:var(--sg-panel); --theme-text:var(--sg-ink); --theme-muted:var(--sg-muted);
  --theme-line:var(--sg-line); --theme-accent:var(--sg-primary); --theme-accent-text:var(--sg-ink);
  --bf-ivory:var(--sg-solid); --bf-charcoal:var(--sg-ink); --bf-gold:var(--sg-primary); --bf-border:var(--sg-line);
}
html[data-glass-page][data-shell-mode="night"] { --glass-danger:#efaaa2; --glass-danger-soft:#49312e; --glass-success:#9dd0b4; --glass-success-soft:#2f4437; }
html[data-glass-page] body.portal-beefur .bf-main-inner {
  --theme-surface:var(--sg-solid); --theme-text:var(--sg-ink); --theme-accent:var(--sg-primary); --theme-line:var(--sg-line);
  width:100%; min-width:0; max-width:100%; padding:0 !important; margin:0;
  background:transparent !important; color:var(--sg-ink) !important; color-scheme:inherit; border-radius:0;
}
html[data-glass-page] body.portal-beefur .bf-topbar { min-height:76px; padding-top:16px; padding-bottom:16px; }
html[data-glass-page] body.portal-beefur .bf-topbar .portal-topbar-right { justify-content:flex-end; }
html[data-glass-page] .bf-main-inner :is(h1,h2,h3,h4,p,a,span,label,button,input,select,textarea),
html[data-glass-page][data-glass-standalone] body :is(h1,h2,h3,h4,p,a,span,label,button,input,select,textarea) { font-family:var(--sg-font); }
html[data-glass-page] .bf-main-inner :is(h1,.portal-page-title) { font:var(--sg-title); color:var(--sg-ink); }
html[data-glass-page] .bf-main-inner :is(h2,.portal-card-title) { font-weight:600; color:var(--sg-ink); }
html[data-glass-page] :is(.portal-page-subtitle,.portal-card-subtitle,.text-muted,.text-secondary,.portal-text-muted,.portal-form-hint) { color:var(--sg-muted) !important; }
html[data-glass-page] :is(.portal-card,.portal-stat-card,.portal-filter-bar,.portal-toolbar,.portal-table-wrapper,.portal-table-wrap,.portal-share-dialog,.portal-modal-dialog) {
  color:var(--sg-ink); background:var(--sg-panel); border:1px solid var(--sg-edge); border-radius:24px;
  box-shadow:inset 0 1px 0 var(--sg-edge),0 8px 24px rgba(20,20,18,.04);
}
/* Reading surfaces are calmer than navigation glass; forms keep solid controls. */
html[data-glass-page] :is(.portal-table-wrapper,.portal-table-wrap) { background:var(--sg-reading); border-color:var(--sg-line); box-shadow:inset 0 1px 0 var(--sg-edge); }
html[data-glass-page] :is(.portal-filter-bar,.portal-toolbar) { border-radius:12px; border-color:var(--sg-line); box-shadow:none; }
html[data-glass-page] :is(input,select,textarea) { max-width:100%; color:var(--sg-ink); background-color:var(--sg-solid); border-color:var(--sg-control-line); font:inherit; }
html[data-glass-page] :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]) { border-radius:var(--sg-control-radius); }
html[data-glass-page] :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--sg-primary); }
html[data-glass-page] :is(.portal-input,.portal-select,.portal-textarea,.portal-form-input,.form-control,.form-select) { min-height:var(--sg-control-height); border:1px solid var(--sg-control-line); color:var(--sg-ink); background:var(--sg-solid); }
html[data-glass-page] :is(.portal-input,.portal-select,.portal-form-input,.form-control,.form-select):disabled { opacity:.6; cursor:not-allowed; }
html[data-glass-page] select option { color:var(--sg-ink); background:var(--sg-solid); }
html[data-glass-page] :is(.portal-btn,.btn) { border-radius:var(--sg-control-radius); min-height:var(--sg-control-height); font:var(--sg-control); white-space:normal; }
html[data-glass-page] :is(.portal-btn-primary,.btn-primary) { color:var(--sg-on-primary); background:var(--sg-primary); border-color:var(--sg-primary); }
html[data-glass-page] :is(.portal-btn-outline,.btn-outline-secondary,.portal-btn-light,.btn-light) { color:var(--sg-ink); background:var(--sg-panel); border-color:var(--sg-control-line); }
html[data-glass-page] :is(.portal-btn-danger,.btn-danger) { color:var(--glass-danger); background:var(--glass-danger-soft); border-color:var(--glass-danger); }
/* Keep outlined danger actions and modal close icons legible in both modes. */
html[data-glass-page] :is(.btn-outline-danger,.portal-btn-danger-outline) { color:var(--glass-danger); background:transparent; border-color:var(--glass-danger); }
html[data-glass-page] :is(.btn-outline-danger,.portal-btn-danger-outline):hover { color:var(--glass-danger); background:var(--glass-danger-soft); border-color:var(--glass-danger); }
html[data-glass-page][data-shell-mode="night"] .btn-close { filter:invert(1) grayscale(100%) brightness(200%); }
html[data-glass-page] :is(.portal-btn,.btn):hover { filter:brightness(.97); }
html[data-glass-page] :is(.portal-btn,.btn):active:not(:disabled):not(.disabled) { box-shadow:inset 0 1px 3px rgba(0,0,0,.14); }
html[data-glass-page] :is(.portal-table-wrapper,.portal-table-wrap,.table-responsive) { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
html[data-glass-page] :is(.portal-table,table.table) { width:100%; color:var(--sg-ink); border-color:var(--sg-line); }
html[data-glass-page] :is(.portal-table,table.table) :is(th,td) { border-color:var(--sg-line); vertical-align:middle; }
html[data-glass-page] :is(.portal-table,table.table) th { color:var(--sg-muted); background:var(--sg-panel); font-weight:500; }
html[data-glass-page] :is(.portal-table,table.table) td { color:var(--sg-ink); background:transparent; }
html[data-glass-page] :is(.portal-table,table.table) tbody tr:hover { background:var(--sg-panel); }
html[data-glass-page] :is(.portal-table,table.table) tbody tr:focus-within { background:var(--sg-panel); }
html[data-glass-page] :is(.portal-badge,.badge) { border-radius:999px; font:var(--sg-help); }
html[data-glass-page] :is(.field-validation-error,.validation-summary-errors,.text-danger) { color:var(--glass-danger); }
html[data-glass-page] :is(.portal-alert-error,.alert-danger) { background:var(--glass-danger-soft); color:var(--glass-danger); border-color:var(--glass-danger); }
html[data-glass-page] :is(.portal-alert-success,.alert-success) { background:var(--glass-success-soft); color:var(--glass-success); border-color:var(--glass-success); }
html[data-glass-page] :is(.portal-page-header,.portal-actions,.portal-form-actions,.portal-toolbar,.portal-filter-bar) { gap:12px; }
html[data-glass-page] :is(a,button,input,select,textarea,[tabindex]):focus-visible { outline:2px solid var(--sg-ink) !important; outline-offset:3px; }
html[data-glass-page] :is(.portal-page-header,.portal-card-header,.portal-form-actions) { flex-wrap:wrap; }
html[data-glass-page] .bf-main-inner > :is(div,section,main,form) { max-width:100%; min-width:0; }
html[data-glass-page] .bf-main-inner :is(img,video) { max-width:100%; }
html[data-glass-page] :is(.portal-modal,.portal-share-modal,.portal-notify-modal) :is(.portal-card,.portal-share-dialog,.portal-modal-dialog) { background:var(--sg-solid); color:var(--sg-ink); }
html[data-glass-page] .portal-nav-icon img { object-fit:contain; }
html[data-glass-page][data-shell-mode="night"] .portal-nav-icon img { filter:grayscale(1) brightness(0) invert(.85); }
/* Text roles follow PDF pages 7–8. Keep document canvas formatting local to the editor. */
html[data-glass-page]:not([data-glass-standalone="editor"]) body { font:var(--sg-body); }
html[data-glass-page]:not([data-glass-standalone="editor"]) :is(.bf-main-inner h1,.portal-page-title,.bf-welcome h1,.legal-page h1,.tn-mail-title) {
  font:var(--sg-title) !important; letter-spacing:normal; overflow-wrap:anywhere;
}
html[data-glass-standalone="page"] h1 { font:var(--sg-title) !important; letter-spacing:normal; }
html[data-glass-page]:not([data-glass-standalone="editor"]) :is(.portal-card-title,.portal-section-title,.section-title,.tn-section-title,.legal-page h2) { font:var(--sg-section) !important; }
html[data-glass-page] .bf-main-inner :is(h2,h3) { font:var(--sg-section) !important; letter-spacing:normal; }
html[data-glass-page] .bf-main-inner :is(.bfw-page-head h2,.rc-section-head h2,.cc-success-head h2,#rewards-title) { font:var(--sg-entry) !important; }
html[data-glass-page] .bf-main-inner :is(.bf-report-title,.bf-detail-title) { font:var(--sg-title) !important; }
html[data-glass-page] .bf-main-inner :is(.modal-header,.portal-share-dialog,.portal-modal-dialog,.portal-notify-modal-dialog,.cd-hub-dialog-head,.base-dialog) :is(h2,h3) { font:var(--sg-dialog-title) !important; }
html[data-glass-page] :is(.portal-modal-title,.modal-title,.portal-share-dialog h2,.portal-notify-modal-title) { font:var(--sg-dialog-title) !important; }
html[data-glass-page] :is(.portal-btn,.btn,.portal-tab,.portal-tabs a,.reg-submit,.reg-sms-btn) { font:var(--sg-control) !important; }
html[data-glass-page] :is(.portal-form-label,.form-label,.reg-field label) { font:var(--sg-label) !important; }
html[data-glass-page] :is(.portal-page-subtitle,.portal-card-subtitle,.portal-form-hint,.reg-sms-hint,.reg-sms-msg,.field-validation-error,.validation-summary-errors) { font:var(--sg-help); overflow-wrap:anywhere; }
html[data-glass-page] :is(.portal-card,.portal-stat-card) { padding:var(--sg-space); }
html[data-glass-page] :is(.portal-card-header,.portal-page-header) { align-items:flex-start; }
html[data-glass-page] :is(.portal-table,table.table) :is(th,td) { padding:16px 24px; height:56px; font-size:14px; line-height:22px; }
html[data-glass-page] :is(.portal-table,table.table) th { font-weight:500; }
html[data-glass-page] :is(.portal-table,table.table) td { font-weight:400; }
html[data-glass-page] :is(.portal-stat-value,.amount,.balance,.tn-price,.tn-countdown,.text-end,.text-right,td[data-type="number"]) { font-variant-numeric:tabular-nums; }
html[data-glass-page] :is(.portal-modal-dialog,.portal-share-dialog,.modal-content) { border-radius:var(--sg-radius); color:var(--sg-ink); background:var(--sg-solid); max-height:calc(100dvh - 48px); overflow-y:auto; }
html[data-glass-page] :is(.modal-header,.modal-footer) { border-color:var(--sg-line); }
html[data-glass-page] .modal-body { min-height:0; overflow-wrap:anywhere; }
html[data-glass-page] :is(.portal-modal-dialog,.portal-share-dialog) { max-width:calc(100vw - 48px); padding:var(--sg-inset); }
html[data-glass-page] :is(.portal-form-grid,.portal-filter-bar,.portal-form-actions) > * { min-width:0; }
html[data-glass-page] :is(.portal-input,.portal-select,.portal-form-input,.form-control,.form-select,.reg-field input):focus-visible { border-color:var(--sg-control-line) !important; }
html[data-glass-page] :is(input,select):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="color"]) { min-height:var(--sg-control-height) !important; }
html[data-glass-page] :is(.primary,.bfw-button,.tn-btn,.tn-ql-btn) { min-height:44px; font:var(--sg-control); }
/* Keep control groups legible when labels wrap or customers enlarge the UI. */
html[data-glass-page] :is(.portal-actions,.portal-form-actions,.portal-toolbar,.portal-filter-bar) { row-gap:12px; }
html[data-glass-page] :is(.portal-alert,.alert,.validation-summary-errors) { overflow-wrap:anywhere; }
html[data-glass-page] :is(.portal-btn,.btn):disabled { cursor:not-allowed; box-shadow:none; transform:none; }
html[data-glass-page] :is(.portal-modal-dialog,.portal-share-dialog,.modal-content) { overscroll-behavior:contain; scrollbar-gutter:stable; }
@media (max-width:1023px) {
  html[data-glass-page] body.portal-beefur .bf-topbar .portal-topbar-right { justify-content:flex-start; }
  html[data-glass-page] .bf-main-inner :is(.portal-page-header,.portal-card-header,.portal-actions,.portal-filter-bar,.portal-toolbar) { flex-wrap:wrap; min-width:0; }
  html[data-glass-page] .bf-main-inner :is(.portal-page-header,.portal-card-header) > * { min-width:0; max-width:100%; }
}
@media (max-width:600px) {
  html[data-glass-page] :is(.portal-form-grid,.portal-two-columns,.portal-stat-grid) { grid-template-columns:minmax(0,1fr) !important; }
  html[data-glass-page] :is(.portal-card,.portal-stat-card) { border-radius:20px; }
  html[data-glass-page] :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]) { font-size:16px; }
  html[data-glass-page] .bf-main-inner :is(.portal-page-header h1,.portal-page-title) { font-size:24px; }
  html[data-glass-page] :is(.portal-actions,.portal-form-actions,.portal-toolbar,.portal-filter-bar) > * { max-width:100%; }
  html[data-glass-page] :is(.portal-table,table.table) { display:block; max-width:100%; overflow-x:auto; }
  html[data-glass-page] :is(.portal-share-dialog,.portal-modal-dialog) { max-width:calc(100vw - 24px); max-height:calc(100svh - 24px); overflow:auto; }
}

/* Black/white glass contract. Editor styling is intentionally isolated. */
html[data-glass-page]:not([data-glass-page="document-editor"]) :is(.portal-card,.portal-stat-card,.portal-table-wrapper,.portal-table-wrap,.portal-share-dialog,.portal-modal-dialog,.modal-content) {
  background:var(--sg-panel); border:1px solid var(--sg-edge); border-radius:var(--sg-radius);
  box-shadow:var(--sg-shadow); -webkit-backdrop-filter:var(--sg-glass-filter); backdrop-filter:var(--sg-glass-filter);
}
html[data-glass-page]:not([data-glass-page="document-editor"]) :is(.portal-modal-dialog,.portal-share-dialog,.modal-content) {
  --sg-radius:24px; box-shadow:var(--sg-dialog-shadow);
}
/* Inner panels use a smaller radius; fields and actions retain their 12px token. */
html[data-glass-page]:not([data-glass-page="document-editor"]) :is(.portal-card,.bfw-card,.doc-wps-shell,.cd-hub-panel,.rc-panel,.tn-reference-workspace) :is(.portal-card,.portal-table-wrapper,.portal-table-wrap,.portal-stat-card,.doc-wps-list-panel,.bfw-choice,.tn-ql-template-card,.tn-quote-box) {
  --sg-radius:var(--sg-nested-radius);
}
html[data-glass-page]:not([data-glass-page="document-editor"]) :is(.portal-badge,.badge) { border-radius:var(--sg-tag-radius); }
html[data-glass-page]:not([data-glass-page="document-editor"]) :is(.portal-status,.status-pill,.tn-badge-pending,.tn-badge-active,.tn-badge-done,.tn-badge-muted,.tn-badge-danger) { border-radius:var(--sg-pill-radius); }
html[data-glass-page]:not([data-glass-page="document-editor"]) :is(.portal-btn,.btn,.bfw-button,.tn-btn,.tn-ql-btn):not(.btn-sm):not(.btn-close) {
  min-height:var(--sg-control-height); padding-block:8px;
}
html[data-glass-page]:not([data-glass-page="document-editor"]) :is(.modal-header,.modal-body,.modal-footer,.tn-config-dialog-panel > header,.tn-config-dialog-panel > footer,#tnConfigBody) { padding:var(--sg-space); }
/* A modal owns its own glass; a hosting panel must not capture fixed positioning. */
html[data-glass-page]:not([data-glass-page="document-editor"]) :is(.portal-card,.portal-stat-card,.portal-table-wrapper,.portal-table-wrap,.bfw-card,.doc-wps-shell,.cd-hub-panel,.rc-panel,.tn-reference-workspace):has(dialog,[role="dialog"],[aria-modal="true"],[class*="-modal"],[class*="-overlay"],[class*="-drawer"],[class*="-dialog"]) {
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
}
@supports not ((backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px))) {
  html[data-glass-page]:not([data-glass-page="document-editor"]) { --sg-panel:var(--sg-solid); --sg-sidebar:var(--sg-solid); --sg-shell:var(--sg-page); }
}

/* The same component roles apply to all mapped business pages. */
html[data-glass-page] body.portal-beefur .bf-topbar { padding:32px 32px 28px; min-height:120px; }
html[data-glass-page] .bf-main-inner > :is(.bf-backend,.bf-workspace,.tf-workspace,.tn-workspace) { max-width:none; }
html[data-glass-page] .portal-page-header { margin-bottom:28px; }
html[data-glass-page] :is(.portal-form-label,.form-label) { display:block; margin-bottom:8px; }
html[data-glass-page] :is(.portal-form-group,.form-group) { margin-bottom:24px; }
html[data-glass-page] :is(.portal-btn-primary,.btn-primary,.tn-btn-primary) { gap:12px; padding-inline:18px; }
html[data-glass-page] :is(.portal-page-header,.portal-card-header) > :is(h1,h2,p) { margin-top:0; }
html[data-glass-page] :is(.portal-modal-dialog,.portal-share-dialog) { width:min(560px,calc(100vw - 48px)); padding:32px; }
html[data-glass-page] :is(.portal-btn,.btn,.my-tools-card,.tn-btn) { transition:background-color 160ms,border-color 160ms,color 160ms; }
html[data-glass-page] .my-tools-card:hover { transform:none; }
@media (max-width:1023px) { html[data-glass-page] body.portal-beefur .bf-topbar { padding:24px; min-height:0; } }
@media (max-width:600px) { html[data-glass-page] body.portal-beefur .bf-topbar { padding:24px 16px; } }
