/* Optical finish only. The compact layout, sticky rules and workflows stay intact. */
:root {
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:var(--font-body);
  --crystal-base:#eaf0f7;
  --crystal-blue:#8db6e64d; --crystal-teal:#a4cfd844; --crystal-warm:#f0d7bf38;
  --crystal-pane:rgba(255,255,255,.62); --crystal-bar:rgba(243,248,255,.68);
  --crystal-sheet:rgba(250,253,255,.91); --crystal-control:rgba(255,255,255,.58);
  --crystal-field:rgba(255,255,255,.88);
  --crystal-glint:rgba(255,255,255,.94); --crystal-sheen:rgba(255,255,255,.34);
  --crystal-rim:rgba(255,255,255,.84); --crystal-edge:rgba(103,132,164,.22);
  --crystal-low:rgba(48,77,108,.12);
  --crystal-shadow:0 2px 4px #233c5910,0 12px 32px -16px #23456530;
  --crystal-reflection:linear-gradient(128deg,var(--crystal-sheen),transparent 37%,transparent 72%,#9cc6ee0b);
  --crystal-bevel:inset 0 1px 0 var(--crystal-glint),inset 1px 0 0 var(--crystal-rim),inset -1px 0 0 #ffffff16,inset 0 -1px 0 var(--crystal-low);
}
:root[data-theme=dark] {
  --crystal-base:#111b29;
  --crystal-blue:#517aa94d; --crystal-teal:#396a7840; --crystal-warm:#79728e28;
  --crystal-pane:rgba(33,47,64,.66); --crystal-bar:rgba(28,42,59,.68);
  --crystal-sheet:rgba(27,40,56,.92); --crystal-control:rgba(135,163,196,.12);
  --crystal-field:rgba(16,27,41,.83);
  --crystal-glint:rgba(232,245,255,.34); --crystal-sheen:rgba(220,237,255,.13);
  --crystal-rim:rgba(214,234,255,.20); --crystal-edge:rgba(165,197,228,.24);
  --crystal-low:rgba(2,10,21,.40);
  --crystal-shadow:0 2px 5px #02081024,0 16px 40px -18px #02071266;
  --muted:#bac6d5; --subtle:#aab9cb;
}
body,body.msg-route {
  background-color:var(--crystal-base);
  background-image:radial-gradient(ellipse at 18% 4%,var(--crystal-blue),transparent 52%),radial-gradient(ellipse at 92% 36%,var(--crystal-teal),transparent 48%),radial-gradient(ellipse at 36% 96%,var(--crystal-warm),transparent 50%);
  background-attachment:fixed;
}
.auth-shell { background:transparent; }
.side-label { text-transform:none; letter-spacing:0; font-size:11px; }
.nav .icon { color:var(--accent-ink); }
.workspace-nav-link {
  display:flex; align-items:center; gap:10px; min-height:44px; padding:10px 12px;
  border:1px solid transparent; border-radius:8px; color:var(--ink);
  text-decoration:none; font-size:13px; font-weight:500;
}
.workspace-nav-link:hover { background:var(--crystal-control); }
.side-tools { margin:14px 0 8px; border-bottom:1px solid var(--line); padding-bottom:8px; }
.side-tools>summary {
  cursor:pointer; min-height:44px; padding:11px 12px; font-size:12px;
  color:var(--muted); border-radius:8px;
}
.side-tools>summary:hover { background:var(--crystal-control); color:var(--ink); }
.side-tools>summary .count { margin-left:8px; font-size:10px; }
.side-tools[open]>summary { color:var(--ink); }
.side-tools .workspace-link { margin:8px 12px; }
.page-head h1,.partner-heading h1 { letter-spacing:-.025em; }
.panel,.home-focus,.entry-card,.pro-role-card,.partner-job { border-radius:16px; }
.modal,.modal.order-modal,.context-popover { border-radius:18px; }
.primary,.secondary,.icon-button,.close { border-radius:10px; }

/* A broad reflection plus four thin edges gives each pane thickness without ornaments. */
.panel,.stat,.auth-card,.entry-card,.home-focus,.home-summary,.outsourcing-entry,
.case-row.order-tile,.case-command,.operator-command,.doctor-command,.live-order,
.partner-panel,.partner-job,.partner-stats,.partner-demo,.pro-role-card,
.capacity-card,.capacity-form,.settings-list,.minimal-disclosure,.legal-card {
  background:var(--crystal-reflection),var(--crystal-pane);
  border-color:var(--crystal-edge);
  box-shadow:var(--crystal-bevel),var(--crystal-shadow);
  -webkit-backdrop-filter:blur(24px) saturate(1.35);
  backdrop-filter:blur(24px) saturate(1.35);
}
.side,.topbar,body.msg-route .topbar,.mobile-nav,body.msg-route .mobile-nav {
  background:linear-gradient(155deg,var(--crystal-sheen),transparent 55%),var(--crystal-bar);
  border-color:var(--crystal-edge);
  box-shadow:var(--crystal-bevel),0 8px 28px -22px #07152555;
  -webkit-backdrop-filter:blur(32px) saturate(1.5);
  backdrop-filter:blur(32px) saturate(1.5);
}
.topbar,body.msg-route .topbar { box-shadow:inset 0 -1px 0 var(--crystal-rim); }
.home-next-row,.activity-row,.home-summary-item,.partner-stats>div { background:transparent; }
.panel .panel,.panel .stat,.partner-action,.partner-upload,.partner-review,
.case-prescription .prescription-readonly article {
  background:var(--crystal-control);
  box-shadow:inset 0 1px 0 var(--crystal-rim);
  -webkit-backdrop-filter:none; backdrop-filter:none;
}
.pro-role-card:hover,.order-tile:hover {
  background:var(--crystal-reflection),var(--crystal-sheet);
  border-color:var(--crystal-rim);
  box-shadow:var(--crystal-bevel),var(--crystal-shadow);
}

/* The previous moving lens is decorative; it never captures a click or focus. */
.glass-selection {
  display:block;
  border-radius:8px;
  border-color:var(--crystal-rim);
  background:linear-gradient(145deg,var(--crystal-sheen),transparent 65%),var(--crystal-control);
  box-shadow:var(--crystal-bevel),0 3px 9px #10253f14;
  -webkit-backdrop-filter:blur(14px) saturate(1.45);
  backdrop-filter:blur(14px) saturate(1.45);
}
.nav[data-glass-switcher]>.glass-selection { border-radius:8px; }
.nav[data-glass-switcher]>button.active,.nav[data-glass-switcher]>button.active:hover,
[data-glass-switcher]>button.active,[data-glass-switcher]>button.active:hover,
[data-glass-switcher]>button[aria-pressed=true],[data-glass-switcher]>button[aria-current=page],
.mobile-nav[data-glass-switcher]>button.active {
  background:transparent; border-color:transparent; box-shadow:none; color:var(--accent-ink);
}
.filter-tabs,.theme-picker,.auth-tabs,.cal-view-switch,.cal-unit-choice>div {
  background:var(--crystal-control); border-color:var(--crystal-edge);
  box-shadow:inset 0 1px 0 var(--crystal-rim),inset 0 -1px 0 var(--crystal-low);
}
.secondary,.icon-button,.close,.cal-small-button,.cal-today,.top-actions .icon-button {
  background:linear-gradient(155deg,var(--crystal-sheen),transparent 57%),var(--crystal-control);
  border:1px solid var(--crystal-edge);
  box-shadow:var(--crystal-bevel),0 2px 5px #132b4810;
}
.secondary:hover:not(:disabled),.icon-button:hover:not(:disabled),.close:hover:not(:disabled) {
  background:linear-gradient(155deg,var(--crystal-sheen),transparent 80%),var(--crystal-control);
  border-color:var(--crystal-rim);
}
.primary,:root[data-theme=dark] .primary {
  background:linear-gradient(180deg,#ffffff24,transparent 65%),var(--accent);
  border:1px solid #ffffff38;
  box-shadow:inset 0 1px 0 #ffffff5c,inset 0 -1px 0 #0a2f7524,0 4px 12px -5px #1651a947;
}
.primary:hover:not(:disabled),:root[data-theme=dark] .primary:hover:not(:disabled) {
  background:linear-gradient(180deg,#ffffff2e,transparent 65%),var(--accent-hover);
  box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #0a2f7524,0 5px 14px -5px #1651a952;
}
.secondary:active:not(:disabled),.icon-button:active:not(:disabled),.close:active:not(:disabled) {
  box-shadow:inset 0 1px 4px var(--crystal-low),inset 0 -1px 0 var(--crystal-rim);
}
.logo {
  background:linear-gradient(145deg,#c9e3ff5c,transparent 60%),var(--accent);
  border:1px solid #ffffff50;
  box-shadow:inset 0 1px 0 #ffffff80,inset 0 -1px 0 #0b376834,0 4px 10px #193e6620;
}
.date-input,.search,textarea,select.input,input.input,.partner-shell .input {
  background:var(--crystal-field);
  border-color:var(--line-strong);
  box-shadow:inset 0 1px 2px #0c213510,0 1px 0 var(--crystal-rim);
}
select option { background:var(--surface); color:var(--ink); }

/* Sheets remain dense enough to read over any underlying case or photograph. */
.modal-backdrop {
  background:#0b182a38;
  -webkit-backdrop-filter:blur(7px) saturate(.9);
  backdrop-filter:blur(7px) saturate(.9);
}
:root[data-theme=dark] .modal-backdrop { background:#02071270; }
.modal,.modal.order-modal,.context-popover,.cal-month-popover,.msg-app .msg-attachment-menu {
  background:var(--crystal-reflection),var(--crystal-sheet);
  border-color:var(--crystal-rim);
  box-shadow:var(--crystal-bevel),0 24px 80px -20px #061a4052;
  -webkit-backdrop-filter:blur(36px) saturate(1.35);
  backdrop-filter:blur(36px) saturate(1.35);
}
.modal-header,.order-modal .modal-header,.order-form-footer,.prescription-form .form-bottom {
  background:var(--crystal-control);
  border-color:var(--crystal-edge);
}
.context-help { background:var(--crystal-control); box-shadow:inset 0 1px 0 var(--crystal-rim); }
.msg-app,.messenger-workspace {
  background:var(--crystal-sheet); border-color:var(--crystal-edge);
  box-shadow:var(--crystal-bevel),var(--crystal-shadow);
}
.msg-attachment-menu>button { background:var(--crystal-control); box-shadow:var(--crystal-bevel); }

@media(max-width:680px) {
  body,body.msg-route { background-attachment:scroll; }
  .mobile-nav,.mobile-nav[data-glass-switcher] { box-shadow:inset 0 1px 0 var(--crystal-glint),0 -8px 30px -16px #07152566; }
  .mobile-nav .glass-selection { border-radius:7px; }
}
/* Graceful fallback also covers older webviews and users who reduce transparency. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  :root,:root[data-theme=dark] {
    --crystal-pane:var(--surface); --crystal-bar:var(--surface-2);
    --crystal-sheet:var(--surface); --crystal-control:var(--surface-2);
  }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
  :root,:root[data-theme=dark] {
    --crystal-pane:var(--surface); --crystal-bar:var(--surface-2);
    --crystal-sheet:var(--surface); --crystal-control:var(--surface-2);
    --crystal-field:var(--surface); --crystal-reflection:none;
  }
  body,body.msg-route { background-image:none; }
  body *,body.msg-route .topbar,body.msg-route .mobile-nav {
    -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
  }
}
@media(forced-colors:active) {
  body,body.msg-route { background:Canvas; }
  body *,body.msg-route .topbar,body.msg-route .mobile-nav {
    background-image:none!important; box-shadow:none!important;
    -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
  }
  .glass-selection { display:none!important; }
  .nav[data-glass-switcher]>button.active,.mobile-nav[data-glass-switcher]>button.active,
  [data-glass-switcher]>button.active,[data-glass-switcher]>button[aria-pressed=true],
  [data-glass-switcher]>button[aria-current=page] {
    color:HighlightText; background:Highlight; border-color:Highlight;
  }
}

.partner-theme-label { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.partner-shell .partner-theme-label .input { width:auto; max-width:190px; min-height:40px; padding:8px 10px; font-size:13px; }

/* The compact app brand is a real home link, including keyboard access. */
.mobile-brand { color:var(--ink); text-decoration:none; min-height:44px; border-radius:8px; }
.mobile-brand:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
