/* Pointwell glass surfaces. Loaded last so the existing workflows retain their layout. */
:root {
  --glass-ink: #202744;
  --glass-muted: #50647a;
  --glass-line: rgba(255, 255, 255, .72);
  --glass-shadow: 0 18px 48px rgba(42, 55, 79, .10), 0 2px 9px rgba(42, 55, 79, .04);
}

body,
.main-column,
.login-shell,
.intake-page {
  background: radial-gradient(circle at 10% 8%, #d9e9e6 0, transparent 28%),
              radial-gradient(circle at 92% 13%, #e1e5f5 0, transparent 31%),
              radial-gradient(circle at 78% 88%, #f3e4dc 0, transparent 28%),
              #f2f5f5;
  background-attachment: fixed;
}

.ambient { display: block; opacity: .34; filter: blur(74px); }
.ambient-a { background: #a8d6cc; }
.ambient-b { background: #c2c5e9; }

.glass,
.intake-card,
.login-card {
  background: rgba(255, 255, 255, .83);
  border: 1px solid var(--glass-line);
  box-shadow: var(--glass-shadow), inset 0 1px 0 rgba(255, 255, 255, .65);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  backdrop-filter: blur(24px) saturate(145%);
}

.workspace { gap: 16px; padding: 16px; }
.sidebar.glass {
  top: 16px;
  height: calc(100vh - 32px);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 24px;
  background: linear-gradient(160deg, rgba(39, 49, 86, .96), rgba(27, 38, 69, .94));
  box-shadow: 0 20px 46px rgba(27, 38, 69, .19), inset 0 1px 0 rgba(255, 255, 255, .16);
}
.sidebar .nav-item { border: 1px solid transparent; }
.sidebar .nav-item:hover { background: rgba(255, 255, 255, .11); }
.sidebar .nav-item.active {
  border-color: rgba(255, 255, 255, .79);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 8px 20px rgba(12, 23, 48, .11);
}
.sidebar .privacy-note {
  border-color: rgba(255, 255, 255, .17);
  background: rgba(255, 255, 255, .09);
}
.sidebar .plain-button:hover { color: #fff; }
.main-column { background: transparent; }
.topbar.glass {
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(42, 55, 79, .05);
  background: rgba(255, 255, 255, .7);
}
.content { padding-top: 38px; }
.page-heading h1 { color: var(--glass-ink); }
.page-heading .muted { color: var(--glass-muted); }
.summary-grid { gap: 16px; }
.stat.glass,
.calendar-panel.glass,
.list-panel.glass { border-radius: 20px; }
.stat.glass { background: rgba(255, 255, 255, .74); }
.stat-icon { border: 1px solid rgba(255, 255, 255, .75); }
.stat small { color: #4d6376; }
.panel-header { background: rgba(255, 255, 255, .25); }
.day-column.today { background: rgba(226, 241, 237, .38); }
.day-column.today .day-heading strong { box-shadow: 0 5px 13px rgba(33, 38, 74, .18); }
.appointment-chip { box-shadow: 0 3px 10px rgba(31, 65, 53, .045); transition: transform .16s ease, box-shadow .16s ease; }
.appointment-chip:hover { transform: translateY(-2px); box-shadow: 0 8px 16px rgba(31, 65, 53, .11); }
.request-toolbar { padding: 10px; border: 1px solid rgba(255, 255, 255, .72); border-radius: 15px; background: rgba(255, 255, 255, .48); }
.request-search-label input,
.search-row input,
.form-stack input,
.form-stack select,
.form-stack textarea {
  background: rgba(255, 255, 255, .9);
  border-color: #cadad9;
}
.request-filters { background: rgba(216, 231, 230, .7); }
.request-filter.active { background: #fff; box-shadow: 0 2px 8px rgba(33, 52, 68, .12); }
.request-row:hover,
.list-row:not(.request-row):hover { background: rgba(235, 245, 241, .52); }
.request-workflow { margin-top: 18px; padding: 17px; border: 1px solid #d5e4e0; border-radius: 14px; background: rgba(246, 250, 248, .86); }
.request-workflow h3 { margin: 0 0 5px; font-size: 16px; color: #202744; }
.request-workflow p { margin: 0 0 14px; font-size: 12px; line-height: 1.5; color: #50647a; }
.request-workflow label { margin-bottom: 12px; }
.request-workflow textarea { width: 100%; min-height: 78px; padding: 10px 12px; resize: vertical; border: 1px solid #b9cfcb; border-radius: 9px; background: #fff; color: #202744; font-size: 13px; }
.modal.request-modal{width:min(760px,100%)}
.form-send-panel{margin-top:22px;padding:24px;background:#f6faf7}
.form-send-panel h3{font-size:22px;margin:4px 0 8px}
.form-send-panel .eyebrow{margin:0;color:#4b8063}
.form-send-panel .form-send-summary{padding:14px 16px;border-radius:10px;background:#fff;color:#365b46;font-size:13px}
.form-assigned-list{margin:16px 0;padding:14px;border-radius:10px;background:#fff}
.form-assigned-list>summary{cursor:pointer;font-size:12px;font-weight:750;color:#365b46}
.form-assigned-list[open]>summary{margin-bottom:8px}
.form-assigned-list>div{display:flex;align-items:center;gap:12px;padding:7px 0;border-top:1px solid #e7eee9;font-size:12px}
.form-assigned-list>div span{flex:1}.form-assigned-list small{color:#597568}
.form-send-panel>.button{width:100%;height:48px;margin-top:8px}.form-send-status{display:block;margin-top:10px;color:#678071;font-size:11px}
.form-send-panel .form-send-note{padding:10px 12px;border-radius:8px;background:#fff4e8;color:#805b38}
.request-secondary{margin-top:14px;padding:14px 18px;border:1px solid #dce8e0;border-radius:11px;background:#fff}
.request-secondary>summary{cursor:pointer;font-size:13px;font-weight:750;color:#365b46}
.request-secondary[open]>summary{margin-bottom:16px}.request-secondary label{margin:10px 0}.request-secondary textarea{width:100%;padding:10px;border:1px solid #d5e4d9;border-radius:9px}
@media(max-width:620px){.modal.request-modal{padding:24px}.form-send-panel{padding:18px}}
.onboarding-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, 150px) auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #dce9e5; }
.onboarding-row strong,.onboarding-row small { display: block; }
.onboarding-row strong { font-size: 13px; }
.onboarding-row small { font-size: 11px; color: #50647a; }
.onboarding-row select { font-size: 12px; }
.packet-choice { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px; margin-bottom: 14px; border: 1px solid #cfdfdb; border-radius: 12px; background: #f0f7f4; }
.packet-choice strong { font-size: 13px; }
.packet-choice small { display: block; width: 100%; color: #50647a; line-height: 1.4; }
.packet-options { display: grid; width: 100%; gap: 6px; }
.packet-options label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; }
.form-field-editor { padding: 12px; margin: 10px 0; border: 1px solid #d5e4e0; border-radius: 10px; background: #f8fbfa; }
.form-field-editor label { margin: 5px 0; }
.slot-finder { padding: 12px; border: 1px solid #cfdfdb; border-radius: 12px; background: rgba(240, 247, 244, .8); }
.slot-finder .form-grid { align-items: end; }
.slot-results { display: flex; flex-wrap: wrap; gap: 7px; max-height: 188px; overflow-y: auto; margin-top: 10px; font-size: 12px; }
.slot-button { padding: 8px 10px; border: 1px solid #bdd2cd; border-radius: 8px; background: #fff; color: #25354c; cursor: pointer; }
.slot-button:hover, .slot-button.selected { border-color: #376e64; background: #def0e9; }
.request-workflow details { padding: 12px 0; border-top: 1px solid #dce9e5; }
.request-workflow summary { cursor: pointer; font-size: 13px; font-weight: 700; }
.icon-button,
.modal-close { background: rgba(255, 255, 255, .79); border-color: rgba(202, 219, 216, .9); }
.icon-button:hover,
.modal-close:hover { background: #e8f2ee; }
.button.primary { background: linear-gradient(135deg, #30385f, #202744); box-shadow: 0 9px 19px rgba(34, 42, 77, .19); }
.button.primary:hover:not(:disabled) { background: linear-gradient(135deg, #3d4774, #252d51); }
.button.secondary { background: rgba(229, 240, 237, .9); border: 1px solid rgba(179, 204, 198, .7); }
.modal-backdrop { background: rgba(21, 31, 50, .48); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); }
.modal.glass { background: rgba(250, 252, 252, .96); border-color: rgba(255, 255, 255, .95); border-radius: 22px; box-shadow: 0 30px 90px rgba(15, 30, 48, .28); }
.chart-panel,
.request-link-panel { background: rgba(246, 250, 248, .85); }
.toast { background: #283551; box-shadow: 0 15px 40px rgba(24, 37, 60, .25); }
.login-card { border-radius: 24px; }
.login-card .login-logo { margin-bottom: 20px; }

/* Patient intake uses a more opaque reading surface for long questions. */
.intake-page { min-height: 100vh; }
.intake-header { position: relative; z-index: 1; }
.intake-intro {
  border: 1px solid rgba(255, 255, 255, .18);
  background: linear-gradient(155deg, rgba(44, 55, 94, .96), rgba(28, 46, 72, .91));
  box-shadow: 0 25px 55px rgba(33, 44, 79, .19), inset 0 1px 0 rgba(255, 255, 255, .18);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
}
.intake-card { background: rgba(255, 255, 255, .9); border-radius: 24px; }
.intake-actions { background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.intake-route button,
.choice-option span,
.one-question-page .provider-card,
.one-question-page .calendar-day { background: rgba(255, 255, 255, .8); }
.choice-option:hover span { background: #f0f7f4; }
.choice-option input:checked + span { background: #e2efeb; }
.one-question-page .provider-details,
.optional-questions { background: rgba(246, 250, 248, .8); }

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .glass, .intake-card, .login-card, .topbar.glass { background: #fff; }
  .sidebar.glass { background: #212b4b; }
  .intake-intro { background: #243356; }
}

@media (max-width: 850px) {
  .workspace { display: block; padding: 10px; }
  .sidebar.glass { top: auto; width: 100%; height: auto; min-height: 0; border-radius: 18px; flex-wrap: wrap; }
  .sidebar nav { min-width: 0; }
  .sidebar-bottom { display: block; margin: 0 0 0 auto; padding: 0; }
  .sidebar-bottom .privacy-note { display: none; }
  .sidebar-bottom .plain-button { display: flex; width: auto; padding: 10px; gap: 7px; }
  .topbar.glass { margin-top: 10px; }
}

@media (max-width: 620px) {
  .workspace { padding: 7px; }
  .sidebar.glass { display: flex; padding: 10px; gap: 5px; }
  .sidebar .brand { flex: 1; }
  .sidebar nav { order: 3; width: 100%; margin: 4px 0 0; justify-content: space-between; }
  .sidebar .nav-item { padding: 0 7px; }
  .sidebar-bottom { order: 2; }
  .topbar.glass { margin-top: 7px; }
  .content { padding: 25px 9px 45px; }
  .summary-grid { gap: 7px; }
  .stat.glass { border-radius: 14px; }
  .request-toolbar { padding: 9px; }
  .onboarding-row { grid-template-columns: 1fr auto; }
  .onboarding-row select { grid-column: 1; }
  .onboarding-row button { grid-column: 2; grid-row: 2; }
  .intake-card { border-radius: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .appointment-chip { transition: none; }
  .appointment-chip:hover, .button:hover:not(:disabled) { transform: none; }
}
.form-send-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.form-send-actions .button{min-height:44px}.contact-confirm{display:flex!important;align-items:flex-start;gap:9px}.contact-confirm input{width:auto!important;height:auto!important;margin-top:3px}
@media(max-width:620px){.form-send-actions{grid-template-columns:1fr}}
