@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
  --ink: #101658;
  --ink-soft: #4f579d;
  --muted: #7179b8;
  --line: rgba(95, 101, 188, .16);
  --panel: rgba(255, 255, 255, .72);
  --panel-solid: #fff;
  --lavender: #eee9ff;
  --lavender-strong: #e5dcff;
  --purple: #743cff;
  --purple-dark: #4a25d7;
  --blue: #2c84ee;
  --teal: #12b28a;
  --red: #f14562;
  --amber: #ec9d15;
  --shadow: 0 16px 46px rgba(68, 64, 147, .10);
  --radius: 16px;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  color: var(--ink);
  font-family: 'DM Sans', system-ui, sans-serif;
  background:
    radial-gradient(ellipse at 23% 18%, rgba(222, 208, 255, .78) 0, rgba(222, 208, 255, 0) 34%),
    radial-gradient(ellipse at 80% 0%, rgba(255, 255, 255, .92) 0, rgba(234, 224, 255, .28) 34%, transparent 62%),
    linear-gradient(115deg, #edeaff 0%, #fbfaff 45%, #f0eaff 100%);
}
button, input, textarea { font: inherit; }
button { color: inherit; border: 0; cursor: pointer; }
svg { width: 19px; height: 19px; display: block; flex: none; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 240px minmax(0, 1fr) 104px; position: relative; overflow: hidden; }
.sidebar {
  margin: 14px 0 14px 14px; min-height: calc(100vh - 28px); padding: 25px 13px 14px;
  background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.92); border-radius: 28px;
  box-shadow: var(--shadow); backdrop-filter: blur(22px); display: flex; flex-direction: column; z-index: 3;
  transition: opacity .22s ease, transform .22s ease;
}
.results-open .sidebar { opacity:0; transform:translateX(-30px); pointer-events:none; visibility:hidden; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 13px 31px; }
.brand strong, .brand small, .profile-switcher strong, .profile-switcher small { display: block; }
.brand strong { font: 700 18px Manrope, sans-serif; letter-spacing: -.5px; }
.brand small { color: var(--ink-soft); font-size: 12px; margin-top: 3px; }
.brand-mark { width: 31px; height: 34px; position: relative; transform: rotate(-10deg); }
.brand-mark span { position: absolute; display:block; border-radius: 100% 0 100% 0; transform: rotate(-18deg); }
.brand-mark span:nth-child(1){width:18px;height:30px;left:12px;top:0;background:linear-gradient(140deg,#b496ff,#6440e6);}
.brand-mark span:nth-child(2){width:15px;height:25px;left:3px;top:9px;background:linear-gradient(140deg,#d8cfff,#8772ff);}
.brand-mark span:nth-child(3){width:14px;height:18px;left:0;top:19px;background:linear-gradient(140deg,#f1eaff,#8e89e9);}
.nav-list { display: grid; gap: 5px; }
.nav-item { min-height: 47px; border-radius: 13px; padding: 0 15px; display: flex; gap: 17px; align-items: center; background: transparent; color: #36408a; font-size: 14px; text-align: left; transition: .2s ease; }
.nav-item svg { color: #4e5ab6; stroke-width: 2; }
.nav-item:hover { background: rgba(241,238,255,.9); color: var(--purple-dark); }
.nav-item.active { color: var(--purple-dark); background: linear-gradient(100deg,#f2edff,#e8e0ff); box-shadow: inset 0 0 0 1px rgba(126, 93, 255, .04); }
.nav-item.active svg { color: var(--purple); }
.sidebar-quote { margin: auto 0 22px; min-height: 165px; border: 1px solid rgba(255,255,255,.92); border-radius: 17px; overflow: hidden; padding: 58px 17px 18px; position: relative; background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(235,231,255,.65)); }
.quote-shape { position: absolute; width: 165px; height: 76px; right: -37px; top: 18px; border-radius: 100% 0 100% 0; transform: rotate(-20deg); background: linear-gradient(135deg, #d5c6ff, #eff4ff); opacity:.84; }
.sidebar-quote p { margin: 0; position: relative; font-size: 14px; line-height: 1.52; color: #202879; }
.profile-switcher { border-radius: 13px; padding: 10px; display: grid; grid-template-columns: 38px 1fr 17px; align-items: center; gap: 8px; background: transparent; text-align: left; }
.profile-switcher:hover { background: rgba(241,238,255,.8); }
.profile-switcher strong { font-size: 12px; }
.profile-switcher small { color: var(--ink-soft); font-size: 11px; margin-top: 2px; }
.profile-switcher svg { color: var(--purple); }
.avatar, .top-avatar { border-radius: 50%; display: grid; place-items: center; font-weight: 700; }
.doctor-avatar { width: 38px; height: 38px; color: #fff; font-size: 12px; background: linear-gradient(145deg,#5c6da7,#283163); box-shadow: inset 0 0 0 3px #fff; }

.main-area { min-width: 0; position: relative; z-index: 1; }
.topbar { height: 80px; padding: 20px 28px 0; display: grid; grid-template-columns: minmax(140px,1fr) minmax(290px,405px) 130px 140px; align-items: start; gap: 18px; }
.breadcrumb { color: var(--ink-soft); font-size: 12px; display: flex; align-items: center; gap: 8px; padding-top: 12px; opacity: .9; }
.breadcrumb svg { width: 16px; height: 16px; color: var(--purple); }
.global-search { height: 43px; border: 1px solid rgba(255,255,255,.95); border-radius: 10px; background: rgba(255,255,255,.67); display:flex; align-items:center; gap: 10px; padding: 0 11px; box-shadow: 0 6px 18px rgba(93, 84, 177, .06); position: relative; }
.global-search > svg { color: #5263c0; width: 18px; }
.global-search input { min-width: 0; flex:1; border:0; outline:0; background: transparent; color: var(--ink); font-size: 12px; }
.global-search input::placeholder { color: #7079b6; }
.global-clock { min-height:43px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; color:var(--ink-soft); font-size:10px; line-height:1.2; white-space:nowrap; }
.global-clock strong { color:var(--ink); font:700 16px Manrope, sans-serif; margin-top:2px; }
kbd { border: 1px solid rgba(108,102,193,.15); background: rgba(255,255,255,.72); border-radius: 5px; padding: 3px 7px; color: #4a54a5; font-size: 11px; white-space: nowrap; }
.top-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.icon-button { background: transparent; color: #5261b7; position: relative; padding: 10px 3px; }
.icon-button i { position:absolute; right: 0; top: 7px; width: 6px; height: 6px; background: #ec3a75; border: 2px solid #f6f2ff; border-radius: 50%; }
.top-avatar { width: 48px; height: 48px; background: #e6e0ff; color: #19206a; font-size: 16px; border:0; }
.mobile-menu { display: none; background: transparent; color: var(--purple); }
.header-popover-root { position:absolute; top:70px; right:28px; z-index:20; }
.header-popover { width:min(360px,calc(100vw - 34px)); border:1px solid #e0d9f8; border-radius:16px; background:rgba(255,255,255,.97); box-shadow:0 20px 50px rgba(45,31,120,.18); backdrop-filter:blur(18px); overflow:hidden; }
.header-popover header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px 17px; border-bottom:1px solid var(--line); }
.header-popover header > div { display:grid; gap:4px; }
.header-popover header strong { color:var(--ink); font:800 14px Manrope; }
.header-popover header small { color:var(--ink-soft); font-size:10px; }
.popover-close { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:var(--ink-soft); background:#f6f3ff; font-size:18px; }
.popover-close:hover { color:var(--purple); background:#eee8ff; }
.notification-popover { width:min(390px,calc(100vw - 34px)); }
.notification-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; padding:15px 16px 10px; }
.notification-grid > div { display:grid; gap:3px; padding:11px 12px; border:1px solid #e6e0f8; border-radius:11px; background:#fbfaff; }
.notification-grid strong { color:var(--purple-dark); font:800 20px Manrope; }
.notification-grid span { color:var(--ink-soft); font-size:10px; line-height:1.25; }
.notification-list { display:grid; gap:0; padding:0 16px; }
.notification-list p { display:flex; align-items:flex-start; gap:8px; margin:0; padding:10px 0; border-top:1px solid #eeeaf8; color:var(--ink-soft); font-size:11px; line-height:1.35; }
.notification-list svg { width:15px; height:15px; color:var(--purple); }
.notification-list b { color:var(--ink); font-weight:700; }
.header-popover footer { padding:11px 16px; color:var(--muted); background:#f8f6ff; font-size:10px; }
.profile-popover { width:min(340px,calc(100vw - 34px)); }
.profile-popover-heading { align-items:center !important; }
.profile-popover-heading .avatar { width:42px; height:42px; background:#e6e0ff; color:var(--purple-dark); font-size:13px; }
.profile-popover-heading > div:nth-child(2) { flex:1; }
.profile-clinic { display:flex; align-items:end; gap:9px; padding:14px 16px; border-bottom:1px solid var(--line); }
.profile-clinic label { display:grid; flex:1; gap:6px; color:var(--ink-soft); font-size:10px; }
.profile-clinic select { width:100%; height:37px; padding:0 9px; border:1px solid #ded8f3; border-radius:9px; color:var(--ink); background:#fff; font:500 11px Manrope; outline:0; }
.profile-menu-item { width:100%; display:flex; align-items:center; gap:9px; padding:12px 16px; color:var(--ink-soft); background:transparent; text-align:left; font-size:11px; }
.profile-menu-item:hover { color:var(--purple-dark); background:#f7f3ff; }
.profile-menu-item svg { width:16px; height:16px; color:var(--purple); }
.google-auth-button { width:calc(100% - 26px); margin:13px; display:flex; align-items:center; gap:10px; padding:11px 12px; border:1px solid #ddd4ff; border-radius:12px; color:var(--purple-dark); background:linear-gradient(135deg,#fbf9ff,#f2edff); text-align:left; }
.google-auth-button:hover { border-color:#a879ff; background:#f5efff; }
.google-auth-button > svg { flex:0 0 auto; width:18px; height:18px; color:var(--purple); }
.google-auth-button > span { display:grid; flex:1; gap:2px; }
.google-auth-button strong { font-size:11px; font-weight:800; }
.google-auth-button small { color:var(--ink-soft); font-size:9px; line-height:1.35; }
.google-auth-button > svg:last-child { width:14px; height:14px; color:var(--ink-soft); }
.google-account-card { display:flex; align-items:center; gap:9px; margin:13px; padding:9px 10px; border:1px solid #ded8f3; border-radius:12px; background:#faf9ff; }
.google-account-avatar { width:30px; height:30px; display:grid; place-items:center; overflow:hidden; border-radius:50%; color:var(--purple); background:#ebe5ff; }
.google-account-avatar img { width:100%; height:100%; object-fit:cover; }
.google-account-avatar svg { width:15px; height:15px; }
.google-account-card > div:nth-child(2) { display:grid; flex:1; min-width:0; gap:2px; }
.google-account-card strong { font-size:10px; color:var(--ink); }
.google-account-card small { overflow:hidden; color:var(--ink-soft); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.profile-google-logout { padding:5px 6px; border:0; border-radius:7px; color:var(--purple); background:transparent; font-size:9px; }
.profile-google-logout:hover { background:#eee8ff; }
.profile-menu-note { padding:11px 16px; color:var(--muted); background:#f8f6ff; font-size:10px; }
.profile-modal-backdrop { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:24px; background:rgba(47,39,105,.26); backdrop-filter:blur(5px); }
.profile-modal { width:min(600px,100%); max-height:calc(100vh - 48px); overflow:auto; padding:22px; border:1px solid rgba(255,255,255,.95); border-radius:20px; background:linear-gradient(145deg,#fff,#f8f6ff); box-shadow:0 24px 70px rgba(39,27,113,.25); }
.profile-modal.compact { width:min(420px,100%); }
.profile-modal-header { display:flex; align-items:flex-start; gap:12px; }
.profile-modal-header > div:nth-child(2) { flex:1; }
.profile-modal-header h2 { margin:0 0 5px; color:var(--ink); font:800 19px Manrope; }
.profile-modal-header p { margin:0; color:var(--ink-soft); font-size:11px; line-height:1.4; }
.profile-modal-header .dialog-close { margin-left:auto; }
.content { padding: 5px 28px 30px; max-width: 1250px; margin: 0 auto; }
.page-heading { display:flex; justify-content: space-between; align-items:flex-end; gap: 20px; margin: 0 2px 21px; }
.page-heading h1 { margin:0; font: 800 30px/1.15 Manrope, sans-serif; letter-spacing: -1.3px; }
.page-heading p { margin: 7px 0 0; color: var(--ink-soft); font-size: 15px; }
.date-note { color: var(--ink-soft); font-size:12px; text-align:right; }
.date-note strong { display:block; font-size: 20px; color: var(--ink); margin-top: 3px; }
.page-actions { display:flex; gap: 10px; align-items:center; }
.button { min-height: 40px; border: 1px solid rgba(105,90,216,.14); padding: 0 17px; border-radius: 10px; background: rgba(255,255,255,.66); color: var(--purple-dark); display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:13px; font-weight:600; transition:.2s ease; }
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(85,55,200,.12); }
.button.primary { color:#fff; border:0; background: linear-gradient(100deg,#be4df3,#4b78ed); box-shadow: 0 8px 22px rgba(117,64,235,.23); }
.button.primary:hover { filter: brightness(1.03); }
.button.ghost { background: rgba(255,255,255,.46); }
.button.danger { color: var(--red); }
.button.small { min-height: 33px; padding: 0 12px; font-size: 12px; }

.metric-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.metric-card, .card { background: var(--panel); border: 1px solid rgba(255,255,255,.9); border-radius: var(--radius); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.metric-card { min-height: 101px; display:grid; grid-template-columns: 56px 1fr; align-items:center; padding: 15px; gap: 12px; }
.metric-icon { width: 52px; height: 52px; border-radius: 50%; display:grid; place-items:center; background: linear-gradient(145deg,#faf8ff,#ece6ff); color: var(--purple); }
.metric-icon svg { width:25px; height:25px; }
.metric-card strong { font: 800 22px Manrope, sans-serif; display:block; letter-spacing:-.5px; }
.metric-card span { display:block; color: var(--ink-soft); font-size: 12px; margin-top: 4px; line-height:1.35; }
.progress { height: 5px; background: #e8e3fb; border-radius:99px; margin-top:8px; display:flex; align-items:center; gap: 7px; }
.progress i { display:block; height:100%; width:100%; background:linear-gradient(90deg,#633cff,#a55eff); border-radius:99px; }
.progress em { color: var(--ink-soft); font-size:10px; font-style:normal; margin-top:-1px; }
.dashboard-grid { display:grid; grid-template-columns: minmax(0, 1.55fr) minmax(265px, .65fr); gap: 14px; }
.card { padding: 17px 18px; }
.card-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.card-heading h2 { margin:0; font:700 16px Manrope, sans-serif; letter-spacing:-.4px; }
.card-heading a, .link-button { color: var(--purple-dark); background:transparent; font-size:12px; }
.appointment-list { border-top: 1px solid var(--line); }
.appointment-row { min-height: 62px; display:grid; grid-template-columns: 55px minmax(130px,1fr) 125px 97px 24px; gap: 10px; align-items:center; border-bottom:1px solid var(--line); font-size:12px; }
.appointment-row.waiting-room-row { grid-template-columns:55px minmax(130px,1fr) 125px 165px 24px; }
.arrival-time { color:var(--purple) !important; font-weight:700; }
.appointment-row:last-child { border-bottom:0; }
.appointment-time { color: #23317f; font-weight:600; }
.patient-cell { display:flex; gap:10px; align-items:center; min-width:0; }
.patient-cell > div:last-child { min-width:0; }
.avatar.patient-avatar { width:34px; height:34px; background: linear-gradient(145deg,#efeaff,#dcd3ff); color:#4f40bf; font-size:11px; }
.patient-avatar.photo { background: linear-gradient(145deg,#efeaff,#dcd3ff); color:#4f40bf; }
.patient-cell strong { display:block; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.patient-cell small { color:var(--ink-soft); display:block; margin-top:3px; }
.status { display:inline-flex; align-items:center; gap:7px; border-radius:99px; padding:6px 9px; white-space:nowrap; font-size:11px; color:#16876f; background:#def6ee; }
.status::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; }
.status.blue { color:#216ed5; background:#e0edff; }
.status.purple { color:#7132e7; background:#eee5ff; }
.status.amber { color:#c77d00; background:#fff0d5; }
.status.red { color:#db3050; background:#ffe1e9; }
.status.gray { color:#6c7090; background:#edeef6; }
.status.white { color:#6c7090; background:#fff; border:1px solid #dfe0ec; }
.row-more { background:transparent; color:#4554ad; font-size:17px; letter-spacing:2px; }
.next-card { min-height: 382px; }
.next-patient { display:flex; align-items:center; gap:10px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.next-patient .patient-avatar { width: 48px; height:48px; }
.next-patient strong { font-size:14px; display:block; }
.next-patient small { color:var(--ink-soft); display:block; margin-top:4px; }
.next-time { margin-left:auto; color: var(--ink-soft); font-size:11px; text-align:right; }
.next-time strong { display:block; color:var(--ink); font-size:15px; margin-top:4px; }
.quick-info { padding:15px 0; border-bottom: 1px solid var(--line); }
.quick-info h3, .mini-heading { font:700 13px Manrope, sans-serif; margin:0 0 10px; }
.quick-info h3 small { float:right; color:var(--purple); font:700 10px Manrope, sans-serif; }
.quick-info p { margin:8px 0; color:var(--ink-soft); font-size:12px; display:flex; align-items:center; gap:8px; }
.quick-info p svg { width:15px; height:15px; color:var(--purple); }
.next-card .button { width:100%; margin-top:11px; }
.lower-grid { display:grid; grid-template-columns: 1fr 1fr; gap:14px; margin-top:14px; }
.donut-wrap { display:flex; align-items:center; gap:17px; }
.donut { width:110px; height:110px; flex:none; border-radius:50%; background: conic-gradient(#7754f5 0 32%,#8e9dfa 32% 60%,#b4b8ff 60% 78%,#e6e8ff 78% 100%); position:relative; display:grid; place-items:center; }
.donut::after { content:''; width:74px; height:74px; border-radius:50%; background:#f9f8ff; position:absolute; }
.donut-label { position:relative; z-index:1; text-align:center; }
.donut-label strong { font:700 18px Manrope; display:block; }
.donut-label small { color:var(--ink-soft); font-size:10px; }
.legend-list { display:grid; gap:8px; width:100%; }
.legend-list div { display:grid; grid-template-columns: 10px 1fr auto; gap:8px; align-items:center; color:var(--ink-soft); font-size:11px; }
.legend-list i { width:9px; height:9px; border-radius:50%; background:#7f56f5; }
.legend-list b { color:var(--ink); font-weight:500; }
.bar-chart { height:142px; display:flex; align-items:flex-end; justify-content:space-around; padding: 18px 2px 0; border-bottom:1px solid var(--line); }
.bar-chart .chart-bar { height:100%; min-width:30px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:7px; color:var(--ink-soft); font-size:10px; position:relative; outline:0; }
.bar-chart .chart-bar i { width:24px; height:var(--h); border-radius:6px 6px 0 0; background:linear-gradient(#dbd6fb,#cbc9f9); transition:filter .2s ease, transform .2s ease; }
.bar-chart .chart-bar i.highlight { background:linear-gradient(#b760f1,#8150ee); }
.bar-chart .chart-bar:hover i, .bar-chart .chart-bar:focus i { filter:brightness(1.04); transform:translateY(-2px); }
.chart-tooltip { position:absolute; bottom:calc(var(--h) + 25px); left:50%; transform:translateX(-50%) translateY(4px); opacity:0; pointer-events:none; white-space:nowrap; color:#fff; background:#1a216d; border-radius:7px; padding:7px 9px; font-size:10px; font-weight:600; box-shadow:0 8px 18px rgba(31,32,113,.2); transition:.18s ease; z-index:2; }
.chart-tooltip::after { content:''; position:absolute; left:50%; bottom:-4px; width:8px; height:8px; background:#1a216d; transform:translateX(-50%) rotate(45deg); }
.bar-chart .chart-bar:hover .chart-tooltip, .bar-chart .chart-bar:focus .chart-tooltip { opacity:1; transform:translateX(-50%) translateY(0); }
.task-list { display:grid; gap:10px; }
.task-row { display:flex; align-items:center; gap:7px; min-width:0; }
.task { display:flex; gap:8px; align-items:center; color:var(--ink-soft); font-size:12px; cursor:pointer; }
.task span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.task span.done { color:#969ac4; text-decoration:line-through; }
.task input { appearance:none; width:18px; height:18px; border:1px solid #9a9de0; border-radius:4px; background:#fff; position:relative; flex:none; }
.task input:checked { border-color:#7450e9; background:#7450e9; }
.task input:checked::after { content:'✓'; color:#fff; position:absolute; left:3px; top:-1px; font-size:14px; }
.task-row .task { min-width:0; flex:1; }
.reminder-actions { display:flex; gap:2px; opacity:0; transition:.18s ease; }
.task-row:hover .reminder-actions, .task-row.editing .reminder-actions { opacity:1; }
.reminder-action { width:26px; height:26px; display:grid; place-items:center; border-radius:6px; color:#7378b4; background:transparent; }
.reminder-action:hover { color:var(--purple-dark); background:#eee9ff; }
.reminder-action.delete:hover { color:var(--red); background:#ffe8ef; }
.reminder-action.save { color:var(--teal); }
.reminder-action svg { width:14px; height:14px; }
.reminder-edit-input { min-width:0; flex:1; height:31px; border:1px solid #cfc9f1; border-radius:7px; padding:0 9px; outline:0; background:#fff; color:var(--ink); font-size:12px; }
.reminder-edit-input:focus { border-color:var(--purple); box-shadow:0 0 0 3px #eee9ff; }
.add-reminder { margin-top:12px; border:1px dashed #bcb6e9; border-radius:8px; padding:8px 10px; background:transparent; color:var(--purple-dark); display:inline-flex; align-items:center; gap:6px; font-size:11px; }
.add-reminder:hover { background:#f3efff; }
.add-reminder svg { width:14px; height:14px; }

.agenda-toolbar { display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.date-control { height:43px; display:flex; align-items:center; gap:12px; padding:0 12px; border-radius:10px; background:rgba(255,255,255,.66); border:1px solid rgba(255,255,255,.9); color:var(--ink); font-size:12px; font-weight:600; }
.date-control button { background:transparent; color:var(--purple-dark); display:grid; place-items:center; }
.view-switch { margin-left:auto; display:flex; padding:2px; background:rgba(255,255,255,.65); border:1px solid rgba(255,255,255,.9); border-radius:10px; }
.view-switch button { padding:9px 17px; background:transparent; color:var(--ink-soft); border-radius:8px; font-size:12px; }
.view-switch button.active { background:#eee7ff; color:var(--purple-dark); box-shadow:0 2px 6px rgba(90,65,207,.10); }
.agenda-layout { display:grid; grid-template-columns:minmax(0, 1fr) 258px; gap:14px; }
.list-board { padding:0; overflow:hidden; }
.list-board .card-heading { padding:17px 18px 0; }
.month-board { padding:18px; }
.month-board-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:18px; }
.month-board-head h2 { margin:0; font:700 16px Manrope, sans-serif; }
.month-board-head span { color:var(--ink-soft); font-size:11px; }
.month-board-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.month-day { min-height:72px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.55); text-align:left; padding:9px; color:var(--ink); }
.month-day:hover { background:#f1ecff; border-color:#cfc5ff; }
.month-day strong { display:block; font-size:12px; }
.month-day small { display:block; color:var(--purple-dark); font-size:10px; margin-top:22px; }
.month-day.muted { color:#b0b3ce; background:rgba(245,244,252,.42); }
.month-day.selected { border:2px solid var(--purple); background:#efe8ff; }
.day-grid { padding: 0; overflow:hidden; }
.day-grid-header { display:grid; grid-template-columns:72px 1fr; padding:14px 16px 8px; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:11px; }
.day-grid-header strong { color:var(--ink); font-size:13px; }
.time-list { position:relative; }
.time-row { min-height:55px; display:grid; grid-template-columns:72px 1fr; border-bottom:1px solid var(--line); }
.time-row > span { padding:14px 0 0 16px; color:var(--ink-soft); font-size:11px; }
.slot { margin:5px 8px 5px 0; min-height:45px; border-radius:5px; display:grid; grid-template-columns:42px minmax(80px,1fr) auto; gap:8px; align-items:center; padding:4px 10px; background:linear-gradient(90deg,#dff7f0,#d7f0ed); border-left:3px solid var(--teal); font-size:11px; }
.slot.blue { background:linear-gradient(90deg,#e0edff,#d6eaff); border-left-color:var(--blue); }
.slot.purple { background:linear-gradient(90deg,#eee5ff,#e9defd); border-left-color:var(--purple); }
.slot.amber { background:linear-gradient(90deg,#fff5e6,#ffecd6); border-left-color:var(--amber); }
.slot.red { background:linear-gradient(90deg,#ffe5ed,#ffdce8); border-left-color:var(--red); }
.slot.white { background:#fff; border-left-color:#cfd1df; box-shadow:inset 0 0 0 1px #e5e6ef; }
.slot > span:first-child { color:var(--ink-soft); }
.slot strong { display:block; font-size:11px; }
.slot small { display:block; color:var(--ink-soft); margin-top:2px; }
.slot .status { justify-self:end; font-size:10px; padding:5px 7px; }
.lunch { min-height:44px; margin:5px 8px 5px 0; border-radius:5px; background:#e4e5f2; color:#65709f; display:flex; align-items:center; gap:10px; padding:4px 15px; font-size:11px; }
.mini-calendar { padding: 16px; }
.mini-calendar .month-title { display:flex; justify-content:space-between; align-items:center; font:700 14px Manrope; margin-bottom:14px; }
.mini-calendar .month-title div { display:flex; gap:5px; }
.calendar-nav { width:26px; height:26px; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.6); display:grid; place-items:center; color:var(--purple); }
.calendar-days, .calendar-dates { display:grid; grid-template-columns:repeat(7,1fr); gap:7px 3px; text-align:center; }
.calendar-days { color:var(--ink-soft); font-size:9px; margin-bottom:8px; }
.calendar-dates button { width:26px; height:26px; background:transparent; color:var(--ink); font-size:11px; border-radius:50%; margin:auto; }
.calendar-dates button:hover { background:#eee8ff; }
.calendar-dates button.selected { background:linear-gradient(145deg,#9960f0,#653ce8); color:#fff; box-shadow:0 4px 9px rgba(95,57,216,.24); }
.calendar-dates button.muted { color:#b0b3ce; }
.side-info { margin-top:14px; }
.side-info .mini-heading { margin-bottom:14px; }
.status-legend { display:grid; gap:10px; }
.status-legend div { display:grid; grid-template-columns:12px 1fr auto; gap:7px; align-items:center; font-size:10px; color:var(--ink-soft); }
.status-legend i { width:10px; height:10px; border-radius:50%; background:#12b28a; box-shadow:0 0 0 4px #d9f5ec; }
.status-legend i.purple { background:#743cff; box-shadow:0 0 0 4px #eee3ff; }
.status-legend i.blue { background:#2d82ef; box-shadow:0 0 0 4px #e0edff; }
.status-legend i.amber { background:#eca016; box-shadow:0 0 0 4px #fff0d4; }
.status-legend i.red { background:#f14562; box-shadow:0 0 0 4px #ffe0e8; }
.status-legend i.gray { background:#6d7190; box-shadow:0 0 0 4px #e7e8f0; }
.status-legend strong { font-size:10px; color:var(--ink); }

.week-board { padding: 0; overflow:hidden; }
.week-head { display:grid; grid-template-columns:55px repeat(5,1fr); border-bottom:1px solid var(--line); }
.week-head > div { padding:13px 7px 10px; text-align:center; color:var(--ink-soft); font-size:10px; border-left:1px solid var(--line); }
.week-head strong { display:block; color:var(--ink); font-size:12px; margin-top:4px; }
.week-body { display:grid; grid-template-columns:55px repeat(5,1fr); min-height: 590px; }
.week-times { display:grid; grid-template-rows:repeat(9,1fr); color:var(--ink-soft); font-size:10px; }
.week-times span { padding:13px 0 0 11px; border-bottom:1px solid var(--line); }
.week-column { border-left:1px solid var(--line); display:grid; grid-template-rows:repeat(9,1fr); }
.week-column > div { border-bottom:1px solid var(--line); padding:5px; }
.week-slot { border-radius:5px; border-left:3px solid var(--teal); background:#ddf5ef; padding:7px 6px; font-size:10px; min-height:42px; }
.week-slot.blue { border-left-color:var(--blue); background:#e0edff; }
.week-slot.purple { border-left-color:var(--purple); background:#eee5ff; }
.week-slot.white { border-left-color:#cfd1df; background:#fff; box-shadow:inset 0 0 0 1px #e5e6ef; }
.week-slot strong { display:block; font-size:10px; }
.week-slot small { display:block; color:var(--ink-soft); margin-top:3px; }
.week-slot.lunch { min-height:42px; padding:7px 5px; background:#e7e8f2; border-left:0; display:block; }

.patients-toolbar { display:flex; gap:10px; align-items:center; margin-bottom:14px; }
.inner-search { min-width:240px; height:40px; border:1px solid rgba(255,255,255,.92); background:rgba(255,255,255,.67); border-radius:10px; display:flex; align-items:center; padding:0 11px; gap:8px; }
.inner-search svg { color:var(--purple); }
.inner-search input { border:0; background:transparent; outline:0; flex:1; min-width:0; color:var(--ink); font-size:12px; }
.filter-pill { height:40px; border:1px solid rgba(255,255,255,.92); background:rgba(255,255,255,.55); border-radius:10px; padding:0 14px; color:var(--ink-soft); font-size:12px; }
.patients-table { padding:0; overflow:hidden; }
.table-head, .patient-table-row { display:grid; grid-template-columns: 2.1fr 1fr 1fr 1.15fr 1fr 26px; gap:12px; align-items:center; padding:0 17px; }
.table-head { min-height:42px; background:rgba(245,243,255,.74); color:var(--ink-soft); font-size:10px; text-transform:uppercase; letter-spacing:.4px; }
.patient-table-row { min-height:73px; border-top:1px solid var(--line); font-size:12px; }
.patient-table-row:hover { background:rgba(245,242,255,.45); }
.patient-table-row .patient-cell { font-size:12px; }
.patient-table-row .muted { color:var(--ink-soft); font-size:11px; }
.patient-directory-head, .patient-directory-row { grid-template-columns: 2.1fr 1fr 1fr; }
.patient-directory-head > span:first-child { padding-left:14px; }
.patient-directory-row > .patient-cell { padding-left:14px; }
.patient-directory-row { cursor:pointer; }
.patient-directory-row:hover { background:rgba(245,242,255,.45); }
.waiting-actions { position:relative; justify-self:end; }
.waiting-action-menu { position:absolute; top:calc(100% + 7px); right:0; z-index:20; min-width:168px; padding:5px; border:1px solid #e2dcfb; border-radius:11px; background:rgba(255,255,255,.98); box-shadow:0 14px 30px rgba(55,43,135,.16); }
.waiting-action-menu[hidden] { display:none; }
.waiting-action-menu button { width:100%; display:flex; align-items:center; gap:7px; padding:9px 10px; border-radius:8px; color:#6e2db7; background:transparent; text-align:left; font-size:11px; }
.waiting-action-menu button:hover { background:#f5efff; }
.waiting-action-menu svg { width:15px; height:15px; }
.patient-edit-backdrop { position:fixed; inset:0; z-index:60; display:grid; place-items:center; padding:20px; background:rgba(36,32,82,.43); backdrop-filter:blur(9px); }
.patient-edit-dialog { width:min(720px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:24px; border:1px solid rgba(255,255,255,.95); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,246,255,.96)); box-shadow:0 24px 70px rgba(40,27,122,.22); }
.patient-edit-header { display:flex; align-items:flex-start; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.patient-edit-header h2 { margin:0 0 5px; font:800 20px Manrope; color:var(--ink); }
.patient-edit-header p { margin:0; color:var(--ink-soft); font-size:12px; }
.patient-edit-header .dialog-close { margin-left:auto; }
.history-backdrop { position:fixed; inset:0; z-index:65; display:grid; place-items:center; padding:20px; background:rgba(36,32,82,.43); backdrop-filter:blur(9px); }
.history-dialog { width:min(760px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:24px; border:1px solid rgba(255,255,255,.95); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,246,255,.96)); box-shadow:0 24px 70px rgba(40,27,122,.22); scrollbar-width:thin; scrollbar-color:#8d72f4 rgba(229,224,255,.62); }
.history-dialog::-webkit-scrollbar { width:10px; }
.history-dialog::-webkit-scrollbar-track { background:#f0ecff; border-radius:99px; margin:9px 0; }
.history-dialog::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:99px; background:linear-gradient(180deg,#c084fc,#765ee8); background-clip:padding-box; }
.history-header { display:flex; align-items:flex-start; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.history-header h2 { margin:0 0 5px; font:800 20px Manrope; color:var(--ink); }
.history-header p { margin:0; color:var(--ink-soft); font-size:12px; }
.history-header .dialog-close { margin-left:auto; }
.history-list { display:grid; gap:12px; padding:18px 0; }
.history-visit { padding:16px; border:1px solid #e2ddf6; border-radius:16px; background:linear-gradient(135deg,#fff,#faf8ff); }
.history-visit-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding-bottom:12px; border-bottom:1px solid #ece9f7; }
.history-visit-head div { display:grid; gap:3px; }
.history-visit-head span:first-child { color:var(--purple); font-size:11px; font-weight:700; }
.history-visit-head strong { color:var(--ink); font:800 15px Manrope; }
.history-badge { color:#16876f; background:#def6ee; border-radius:99px; padding:5px 9px; font-size:10px; white-space:nowrap; }
.history-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px 0; }
.history-fields div { display:grid; gap:4px; }
.history-fields small, .history-transcript small { color:var(--ink-soft); font-size:10px; }
.history-fields strong { color:var(--ink); font-size:12px; }
.history-insights { padding-top:11px; border-top:1px solid #ece9f7; }
.history-insights h3 { margin:0 0 7px; color:var(--ink); font:700 12px Manrope; }
.history-insights ul { margin:0; padding-left:17px; color:var(--ink-soft); font-size:11px; line-height:1.55; }
.history-transcript { margin-top:12px; padding:11px 12px; border-radius:11px; background:#f5f1ff; }
.history-transcript p { margin:5px 0 0; color:var(--ink-soft); font-size:11px; line-height:1.5; }
.history-empty { padding:38px 18px; text-align:center; color:var(--ink-soft); }
.history-empty .dialog-heading-icon { margin:0 auto 10px; }
.history-empty h3 { margin:0 0 5px; color:var(--ink); font:800 15px Manrope; }
.history-empty p { margin:0; font-size:12px; }
.history-footer { display:flex; justify-content:flex-end; padding-top:15px; border-top:1px solid var(--line); }
.patient-edit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:20px 0; }
.patient-edit-grid label { display:grid; gap:7px; color:var(--ink-soft); font-size:11px; }
.patient-edit-grid label[data-minor-fields][hidden] { display:none !important; }
.patient-identity-lookup { min-height:16px; margin-top:-7px; color:var(--ink-soft); font-size:10px; line-height:1.4; }
.patient-identity-lookup.success { color:#078c75; }
.patient-identity-lookup.loading { color:#6441d8; }
.patient-identity-lookup.error { color:#c63b50; }
.patient-identity-lookup.hint { color:#6d6b9c; }
.patient-address-lookup { min-height:16px; margin-top:-7px; color:var(--ink-soft); font-size:10px; line-height:1.4; }
.patient-address-lookup.success { color:#078c75; }
.patient-address-lookup.loading { color:#6441d8; }
.patient-address-lookup.error { color:#c63b50; }
.patient-address-lookup.hint { color:#6d6b9c; }
.patient-edit-grid label.full, .patient-identity-lookup.full { grid-column:1 / -1; }
.patient-address-lookup.full { grid-column:1 / -1; }
.patient-edit-grid input, .patient-edit-grid select { width:100%; height:42px; padding:0 12px; border:1px solid #ddd8f6; border-radius:10px; outline:0; color:var(--ink); background:rgba(255,255,255,.8); font:500 12px Manrope; }
.patient-edit-grid input:focus, .patient-edit-grid select:focus { border-color:#8b5cf6; box-shadow:0 0 0 3px rgba(139,92,246,.12); }
.birth-date-picker { position:relative; }
.birth-date-control { display:flex; align-items:center; gap:6px; }
.birth-date-control input { flex:1; cursor:pointer; }
.birth-date-control button { width:42px; height:42px; display:grid; place-items:center; flex:none; border:1px solid #ddd8f6; border-radius:10px; color:var(--purple); background:linear-gradient(145deg,#faf8ff,#eeeaff); cursor:pointer; }
.birth-date-control button:hover { border-color:#9a7cf2; background:#f1edff; }
.birth-date-control button svg { width:17px; height:17px; }
.birth-date-popover { position:absolute; top:calc(100% + 8px); left:0; z-index:4; width:min(290px,calc(100vw - 64px)); padding:13px; border:1px solid #ded8f6; border-radius:16px; background:linear-gradient(145deg,#fff,#f8f6ff); box-shadow:0 18px 45px rgba(45,31,120,.2); }
.birth-date-popover[hidden] { display:none; }
.birth-calendar-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:11px; color:var(--ink); }
.birth-calendar-title { display:flex; align-items:center; gap:6px; }
.birth-calendar-head strong { font:800 12px Manrope; }
.birth-calendar-head select { height:27px; padding:0 22px 0 7px; border:1px solid #e2dcf8; border-radius:8px; outline:0; color:var(--purple-dark); background:#fff; font:800 11px Manrope; cursor:pointer; }
.birth-calendar-head select:focus { border-color:var(--purple); box-shadow:0 0 0 3px #eee9ff; }
.birth-calendar-head > div { display:flex; gap:4px; }
.birth-calendar-head button { width:27px; height:27px; display:grid; place-items:center; border:1px solid #e2dcf8; border-radius:8px; color:var(--purple); background:#fff; cursor:pointer; }
.birth-calendar-head button:hover { background:#f0ecff; }
.birth-calendar-head button svg { width:14px; height:14px; }
.birth-calendar-weekdays, .birth-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center; }
.birth-calendar-weekdays { margin-bottom:5px; color:var(--ink-soft); font-size:9px; }
.birth-calendar-grid button { height:29px; border:0; border-radius:9px; color:var(--ink); background:transparent; font:600 11px Manrope; cursor:pointer; }
.birth-calendar-grid button:hover { background:#eee9ff; color:var(--purple); }
.birth-calendar-grid button.muted { color:#c0bbd5; }
.birth-calendar-grid button.selected { color:#fff; background:linear-gradient(135deg,#a855f7,#6655e9); box-shadow:0 5px 13px rgba(103,76,223,.25); }
.patient-edit-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:16px; border-top:1px solid var(--line); }
.patient-edit-actions > div { display:flex; gap:9px; }
.patient-edit-actions svg { width:15px; height:15px; }
.attention { display:inline-flex; color:#ca4193; background:#ffe9f5; border-radius:99px; font-size:10px; padding:5px 8px; }

.record-top { display:flex; align-items:center; gap:14px; margin-bottom:11px; color:var(--purple-dark); }
.back-button { display:flex; align-items:center; gap:7px; background:transparent; color:var(--ink-soft); font-size:12px; }
.record-layout { display:grid; grid-template-columns:minmax(0,1fr) 292px; gap:14px; }
.record-main { min-width:0; }
.patient-banner { min-height:112px; display:flex; align-items:center; padding:18px; gap:14px; margin-bottom:11px; }
.patient-banner > .patient-avatar { width:70px; height:70px; font-size:22px; }
.patient-banner h1 { margin:0; font:800 23px Manrope; letter-spacing:-.8px; }
.patient-banner p { margin:5px 0 0; color:var(--ink-soft); font-size:12px; }
.tag-list { display:flex; gap:7px; margin-top:10px; flex-wrap:wrap; }
.tag { padding:5px 9px; border-radius:7px; color:#4d32c6; background:#eee7ff; font-size:10px; }
.banner-actions { display:flex; gap:9px; margin-left:auto; align-self:flex-start; }
.patient-menu-anchor { position:relative; }
.patient-record-menu { position:absolute; top:43px; right:0; z-index:18; min-width:190px; padding:6px; border:1px solid #e1daf8; border-radius:12px; background:rgba(255,255,255,.98); box-shadow:0 16px 35px rgba(56,39,137,.18); }
.patient-record-menu button { width:100%; display:flex; align-items:center; gap:8px; padding:10px 11px; border:0; border-radius:8px; color:var(--ink-soft); background:transparent; text-align:left; font-size:12px; }
.patient-record-menu button:hover { color:var(--purple-dark); background:#f5f1ff; }
.patient-record-menu svg { width:15px; height:15px; color:var(--purple); }
.tabbar { min-height:51px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; padding:0 15px; margin-bottom:11px; overflow:visible; }
.tabbar button { min-height:51px; background:transparent; color:var(--ink-soft); padding:0 14px; display:flex; align-items:center; justify-content:flex-start; gap:8px; font-size:11px; border-bottom:2px solid transparent; white-space:normal; text-align:left; line-height:1.25; }
.tabbar button.active { color:var(--purple-dark); border-bottom-color:var(--purple); }
.tabbar button svg { width:16px; height:16px; }
.record-section-card { min-height:405px; padding:24px; }
.record-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.record-section-heading h2 { margin:0 0 5px; color:var(--ink); font:800 20px Manrope; }
.record-section-heading p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.5; }
.ai-pill { display:inline-flex; align-items:center; gap:6px; flex:none; padding:7px 10px; border:1px solid #ded5ff; border-radius:99px; color:var(--purple-dark); background:#f5f1ff; font-size:10px; white-space:nowrap; }
.ai-pill svg { width:14px; height:14px; }
.source-status { display:flex; align-items:center; gap:8px; margin:17px 0 12px; color:var(--ink-soft); font-size:11px; }
.source-status svg { width:15px; height:15px; color:var(--purple); }
.extraction-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:14px; margin-top:17px; }
.extraction-card { display:grid; gap:6px; padding:15px; border:1px solid #e4def9; border-radius:12px; background:#fbfaff; }
.extraction-card small { color:var(--ink-soft); font-size:10px; }
.extraction-card strong { color:var(--ink); font-size:13px; }
.document-generator { display:flex; align-items:end; gap:12px; margin-top:20px; }
.document-generator label { display:grid; flex:1; gap:7px; color:var(--ink-soft); font-size:11px; }
.document-generator select { height:42px; padding:0 12px; border:1px solid #ded8f3; border-radius:10px; color:var(--ink); background:#fff; font:500 12px Manrope; outline:0; }
.pdf-analyzer { margin-top:20px; }
.pdf-dropzone { position:relative; min-height:92px; display:flex; align-items:center; gap:13px; padding:15px 17px; border:1px dashed #bca8f4; border-radius:14px; color:var(--ink); background:linear-gradient(135deg,#fbf9ff,#f5f0ff); cursor:pointer; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.pdf-dropzone:hover, .pdf-dropzone.is-dragging { border-color:#7b4df2; background:linear-gradient(135deg,#f7f1ff,#eee8ff); box-shadow:0 8px 22px rgba(107,72,220,.1); }
.pdf-file-input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.pdf-dropzone-icon { width:40px; height:40px; display:grid; place-items:center; flex:none; border-radius:12px; color:#7b45ee; background:#ebe2ff; }
.pdf-dropzone-icon svg { width:21px; height:21px; }
.pdf-dropzone span:not(.pdf-dropzone-icon) { display:grid; gap:4px; min-width:0; }
.pdf-dropzone strong { font:700 12px Manrope; }
.pdf-dropzone small { color:var(--ink-soft); font-size:10px; line-height:1.4; }
.pdf-dropzone em { margin-left:auto; padding:8px 11px; border:1px solid #d9cdf8; border-radius:9px; color:var(--purple-dark); background:#fff; font-style:normal; font-size:10px; white-space:nowrap; }
.pdf-file-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; padding:10px 12px; border:1px solid #e2dcf7; border-radius:11px; background:#fff; }
.pdf-file-meta > div { display:flex; align-items:center; gap:9px; min-width:0; color:var(--purple); }
.pdf-file-meta > div > svg { width:18px; height:18px; flex:none; }
.pdf-file-meta div div { display:grid; gap:3px; min-width:0; }
.pdf-file-meta strong { overflow:hidden; color:var(--ink); font:700 11px Manrope; text-overflow:ellipsis; white-space:nowrap; }
.pdf-file-meta small { color:var(--ink-soft); font-size:10px; }
.neuropsi-analysis { margin-top:18px; border:1px solid #ded5fb; border-radius:14px; overflow:hidden; background:#fff; }
.neuropsi-analysis.warning { padding:17px; color:var(--ink-soft); }
.neuropsi-analysis-heading { display:flex; align-items:center; gap:10px; padding:14px 16px; background:linear-gradient(135deg,#f6f0ff,#eee9ff); color:var(--purple-dark); }
.neuropsi-analysis-heading > svg { width:21px; height:21px; flex:none; }
.neuropsi-analysis-heading > div { display:grid; gap:3px; min-width:0; }
.neuropsi-analysis-heading strong { font:800 13px Manrope; }
.neuropsi-analysis-heading small { color:var(--ink-soft); font-size:10px; }
.neuropsi-analysis-heading > span { margin-left:auto; padding:6px 9px; border-radius:99px; color:#7046d9; background:#e7dcff; font-size:9px; white-space:nowrap; }
.neuropsi-classification { display:flex; align-items:center; gap:10px; margin:14px 16px 0; padding:11px 13px; border:1px solid #e5def8; border-radius:10px; background:#fbfaff; }
.neuropsi-classification small { color:var(--ink-soft); font-size:10px; }
.neuropsi-classification strong { color:var(--purple-dark); font:800 12px Manrope; }
.neuropsi-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; padding:4px 16px 0; }
.neuropsi-section { padding:13px 0; border-bottom:1px solid var(--line); }
.neuropsi-section h3, .neuropsi-diagnoses h3, .neuropsi-patient h3, .neuropsi-opinion h3 { margin:0 0 6px; color:var(--ink); font:800 11px Manrope; }
.neuropsi-section p, .neuropsi-patient p, .neuropsi-opinion p { margin:0; color:var(--ink-soft); font-size:11px; line-height:1.55; }
.neuropsi-diagnoses, .neuropsi-patient, .neuropsi-opinion { margin:0 16px; padding:14px 0; border-top:1px solid var(--line); }
.neuropsi-diagnoses > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; margin-top:7px; border-radius:8px; background:#f7f3ff; color:var(--purple-dark); font-size:10px; }
.neuropsi-diagnoses span { color:var(--ink-soft); text-align:right; }
.neuropsi-opinion textarea { display:block; width:100%; min-height:110px; margin-top:8px; padding:11px; border:1px solid #ded8f3; border-radius:9px; resize:vertical; outline:0; color:var(--ink-soft); background:#fbfaff; font:500 11px/1.55 Manrope; }
.neuropsi-transcript-action { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding:11px 13px; border:1px solid #e3ddf7; border-radius:10px; color:var(--ink-soft); font-size:10px; }
.neuropsi-transcript-action span { display:flex; align-items:center; gap:7px; }
.neuropsi-transcript-action svg { width:14px; height:14px; color:var(--purple); }
.neuropsi-transcript-action .button { flex:none; }
.record-output { margin-top:20px; border:1px solid #e1daf8; border-radius:13px; overflow:hidden; background:#fff; }
.record-output-heading { display:grid; gap:4px; padding:12px 14px; background:#f5f1ff; }
.record-output-heading span { display:flex; align-items:center; gap:7px; color:var(--purple-dark); font:700 12px Manrope; }
.record-output-heading span svg { width:16px; height:16px; }
.record-output-heading small { color:var(--muted); font-size:10px; }
.record-output textarea { display:block; width:100%; min-height:150px; padding:15px; border:0; resize:vertical; outline:0; color:var(--ink-soft); background:#fff; font:500 12px/1.6 Manrope; }
.record-empty { display:grid; place-items:center; min-height:180px; padding:24px; text-align:center; color:var(--ink-soft); font-size:12px; }
.record-timeline { position:relative; display:grid; gap:16px; padding:22px 0 4px 23px; }
.record-timeline::before { content:''; position:absolute; top:26px; bottom:16px; left:5px; width:1px; background:#ddd5f7; }
.timeline-item { position:relative; }
.timeline-dot { position:absolute; top:17px; left:-23px; width:11px; height:11px; border:3px solid #fff; border-radius:50%; background:linear-gradient(135deg,#b46cff,#6257ed); box-shadow:0 0 0 1px #cfc4f5; }
.timeline-content { padding:14px 16px; border:1px solid #e3ddf6; border-radius:13px; background:linear-gradient(135deg,#fff,#fbfaff); }
.timeline-item.current .timeline-content { border-color:#bca7ff; box-shadow:0 7px 22px rgba(108,78,218,.08); }
.timeline-head { display:flex; justify-content:space-between; gap:10px; color:var(--ink); }
.timeline-head strong { font:700 12px Manrope; }
.timeline-head span { color:var(--ink-soft); font-size:10px; }
.timeline-content p { margin:9px 0; color:var(--ink-soft); font-size:12px; line-height:1.55; }
.timeline-meta { display:flex; flex-wrap:wrap; gap:7px 14px; color:var(--purple-dark); font-size:10px; }
.transcribe-card { min-height:405px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; position:relative; overflow:hidden; padding:35px; }
.transcribe-card::before, .transcribe-card::after { content:''; position:absolute; width:56%; height:88px; border-top:2px solid rgba(151,121,255,.1); border-radius:50%; transform:rotate(-12deg); top:31px; left:-4%; }
.transcribe-card::after { top:45px; left:55%; transform:rotate(13deg); }
.mic-disc { width:76px; height:76px; border-radius:50%; display:grid; place-items:center; color:#7943f5; background:linear-gradient(145deg,#f3edff,#e9e0ff); position:relative; z-index:1; }
.mic-disc svg { width:34px; height:34px; }
.transcribe-card h2 { font:800 24px Manrope; letter-spacing:-.8px; margin:18px 0 6px; position:relative; z-index:1; }
.transcribe-card > p { color:var(--ink-soft); margin:0; font-size:14px; line-height:1.6; position:relative; z-index:1; }
.transcribe-card .button { margin-top:18px; min-width:260px; min-height:51px; font-size:15px; position:relative; z-index:1; }
.feature-cards { width:100%; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:20px; position:relative; z-index:1; }
.feature-card { border:1px solid rgba(119,95,228,.14); border-radius:10px; padding:14px; text-align:left; display:grid; grid-template-columns:39px 1fr; gap:10px; }
.feature-card .feature-icon { width:39px; height:39px; display:grid; place-items:center; border-radius:50%; background:#f0eaff; color:var(--purple); }
.feature-card strong { font-size:12px; display:block; }
.feature-card span { display:block; color:var(--ink-soft); font-size:11px; line-height:1.45; margin-top:5px; }
.notes-card { margin-top:11px; padding:14px 17px 16px; }
.editor { border:1px solid #d9d8f3; border-radius:10px; overflow:hidden; background:rgba(255,255,255,.53); }
.editor-toolbar { height:42px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:16px; padding:0 16px; color:#5160b9; }
.editor-toolbar button { background:transparent; color:inherit; font-weight:700; }
.editor textarea { width:100%; min-height:100px; resize:vertical; border:0; outline:0; padding:15px 16px; background:transparent; color:var(--ink); font-size:12px; }
.editor textarea::placeholder { color:#7a80c0; }
.save-state { text-align:right; color:#6873ad; font-size:11px; margin:-23px 16px 9px 0; position:relative; pointer-events:none; }
.save-state::before { content:'✓'; color:#0dad9b; font-size:15px; margin-right:7px; }
.record-sidebar { display:flex; flex-direction:column; gap:11px; }
.record-sidebar .card { padding:16px; }
.side-tabs { display:grid; grid-template-columns:repeat(3,1fr) 35px; gap:2px; border-bottom:1px solid var(--line); margin:-2px -3px 16px; }
.side-tabs button { background:transparent; color:var(--ink-soft); padding:10px 2px; font-size:10px; border-bottom:2px solid transparent; }
.side-tabs button.active { color:var(--purple-dark); border-bottom-color:var(--purple); }
.info-section { padding:0 0 14px; border-bottom:1px solid var(--line); margin-bottom:14px; }
.info-section:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.info-section h3 { margin:0 0 11px; font:700 12px Manrope; }
.info-line { display:flex; gap:9px; align-items:flex-start; color:var(--ink-soft); font-size:11px; margin:9px 0; }
.info-line svg { width:15px; height:15px; color:var(--purple); }
.info-line b { display:block; color:var(--ink); font-weight:500; margin-top:3px; }
.mini-tags { display:flex; flex-wrap:wrap; gap:6px; }
.mini-tags .tag { font-size:10px; }
.alert-box { border-radius:10px; padding:11px; color:#6068ab; background:#f0efff; font-size:10px; line-height:1.5; display:flex; gap:7px; }
.alert-box svg { color:var(--purple); width:15px; }

.live-card { padding:12px 16px 15px; margin-bottom:11px; }
.tabbar button:disabled { opacity:.45; cursor:not-allowed; color:#9692ba; }
.processing-results-card { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:start; gap:18px; padding:28px; margin-bottom:11px; background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(245,240,255,.9)); border:1px solid rgba(126,91,230,.16); }
.processing-results-icon { width:64px; height:64px; display:grid; place-items:center; border-radius:22px; color:#713cff; background:linear-gradient(135deg,#f3e8ff,#e0e7ff); }
.processing-results-icon svg { width:30px; height:30px; }
.processing-results-icon .synthesis-spinner { position:absolute; width:48px; height:48px; border:3px solid rgba(113,60,255,.16); border-top-color:#713cff; border-right-color:#a34dff; border-radius:50%; animation:synthesis-spin .85s linear infinite; }
.processing-results-icon { position:relative; }
.processing-results-icon .synthesis-spinner + svg { position:relative; z-index:1; }
.processing-results-card h2 { margin:4px 0 7px; color:var(--ink); font-size:22px; }
.processing-results-card p { margin:0; color:var(--ink-soft); line-height:1.6; }
.processing-live { display:flex; align-items:center; gap:8px; margin-top:16px; color:#6436d8; font-size:12px; }
.processing-live span:last-child { color:#8a86ae; }
.synthesis-spinner.small { display:inline-block; width:14px; height:14px; border:2px solid rgba(113,60,255,.2); border-top-color:#713cff; border-radius:50%; animation:synthesis-spin .85s linear infinite; }
@keyframes synthesis-spin { to { transform:rotate(360deg); } }
.processing-steps { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.processing-steps span { display:inline-flex; align-items:center; gap:6px; padding:8px 11px; border-radius:999px; color:#74739a; background:#f2f0fb; font-size:12px; }
.processing-steps svg { width:14px; height:14px; }
.processing-steps .complete { color:#168b78; background:#e6f7f1; }
.processing-steps .active { color:#6436d8; background:#eee7ff; }
.recording-strip { min-height:64px; display:flex; align-items:center; gap:14px; padding:0 13px; border-radius:11px; background:rgba(249,248,255,.7); }
.recording-dot { width:10px; height:10px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 5px #daf5ec; flex:none; }
.recording-text { font-weight:600; white-space:nowrap; font-size:13px; }
.recording-text small { color:var(--purple-dark); font-size:12px; margin-left:8px; }
.capture-mode { flex:none; padding:5px 8px; border-radius:99px; color:#5370a6; background:#edf3ff; font-size:10px; white-space:nowrap; }
.wave { flex:1; height:35px; display:flex; align-items:center; justify-content:center; gap:2px; overflow:hidden; }
.wave i { width:2px; height:var(--h); background:linear-gradient(#a798ff,#6746f4); border-radius:2px; animation:pulse 1.15s ease-in-out infinite alternate; }
.wave i:nth-child(3n){ animation-delay:.2s;}.wave i:nth-child(4n){ animation-delay:.45s;}
@keyframes pulse { from{transform:scaleY(.55);opacity:.46} to{transform:scaleY(1.15);opacity:1} }
.recording-actions { display:flex; gap:8px; }
.round-action { width:45px; height:45px; border:1px solid #dad7f2; border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--purple); }
.round-action:disabled { opacity:.35; cursor:default; }
.round-action.stop { color:#f13f5e; border-color:#ffbdca; background:#fff8f9; }
.live-transcript-card { margin-top:11px; padding:0; overflow:hidden; }
.live-transcript-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 17px; border-bottom:1px solid var(--line); }
.live-transcript-heading div { display:grid; gap:4px; }
.live-transcript-heading strong { color:var(--ink); font:700 13px Manrope; }
.live-transcript-heading span { color:var(--muted); font-size:11px; }
.transcript-status { padding:5px 9px; border-radius:99px; color:#168c78 !important; background:#e7f8f2; font-size:10px !important; }
.transcript-body { min-height:112px; max-height:190px; overflow:auto; padding:15px 17px 17px; color:var(--ink-soft); font-size:13px; line-height:1.6; }
.transcript-body p { margin:0; }
.transcript-body .interim-transcript { color:#8b84ba; font-style:italic; margin-top:7px; }
.live-work { display:grid; grid-template-columns:minmax(0,1fr) 292px; gap:11px; }
.copilot-card { margin-top:11px; }
.copilot-tip { padding:13px; border-radius:10px; background:#f4f1ff; color:var(--ink-soft); font-size:11px; line-height:1.55; display:flex; gap:10px; }
.copilot-tip > svg { flex:none; width:21px; height:21px; color:var(--purple); }
.copilot-tip > div { flex:1; min-width:0; position:relative; z-index:1; }
.copilot-tip strong { display:block; color:var(--purple-dark); margin-bottom:4px; }
.copilot-tip span { display:block; color:var(--ink-soft); }
.insight-bullet-list { margin:0; padding-left:17px; color:var(--ink-soft); }
.insight-bullet-list li { padding-left:2px; font-size:13px; font-weight:700; }
.insight-bullet-list strong, .copilot-message strong { color:var(--ink); font-weight:800; }
.copilot-tip.has-insights { position:relative; box-shadow:0 5px 0 -2px #e8e1ff, 0 10px 0 -4px #f0ebff; }
.copilot-tip.has-insights { font-size:13px; line-height:1.6; }
.copilot-tip.has-insights > div > strong { font-size:14px; font-weight:800; }
.copilot-tip.has-insights::before,
.copilot-tip.has-insights::after { content:""; position:absolute; inset:5px 7px -5px; border:1px solid #e8e1ff; border-radius:10px; background:#faf9ff; z-index:0; }
.copilot-tip.has-insights::after { inset:10px 13px -10px; background:#fdfcff; border-color:#f0ebff; z-index:-1; }
.insight-card-nav { display:flex; align-items:center; gap:7px; margin-top:9px; }
.insight-card-nav button { width:23px; height:23px; display:grid; place-items:center; border:1px solid #d9d3ff; border-radius:7px; color:var(--purple-dark); background:#fff; padding:0; }
.insight-card-nav button:disabled { opacity:.35; cursor:default; }
.insight-card-nav button svg { width:13px; height:13px; }
.insight-card-nav small { color:var(--muted); font-size:10px; }
.copilot-chat { display:grid; gap:8px; max-height:210px; overflow:auto; margin-top:11px; padding-right:3px; }
.copilot-message { max-width:88%; padding:9px 11px; border-radius:11px; font-size:11px; line-height:1.45; }
.copilot-message span { display:block; margin-bottom:3px; color:var(--purple-dark); font:700 10px Manrope; }
.copilot-message p { margin:0; color:var(--ink-soft); }
.copilot-message.user { justify-self:end; background:#ede9ff; border-bottom-right-radius:4px; }
.copilot-message.assistant { justify-self:start; background:#f6f8ff; border:1px solid #e7e4ff; border-bottom-left-radius:4px; }
.copilot-empty { padding:9px 11px; border:1px dashed #d9d3ff; border-radius:10px; color:var(--muted); font-size:11px; line-height:1.45; }
.suggestions { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.suggestions button { border:1px solid #d9d3ff; color:var(--purple-dark); background:transparent; border-radius:99px; padding:7px 10px; font-size:10px; }
.copilot-input { margin-top:11px; height:43px; border:1px solid #d8d5f4; border-radius:8px; display:flex; align-items:center; gap:8px; padding:0 10px; }
.copilot-input input { border:0; outline:0; flex:1; min-width:0; background:transparent; font-size:11px; }
.copilot-input button { background:transparent; color:var(--purple); }
.record-footer { display:flex; align-items:center; gap:17px; margin-top:11px; }
.record-footer .button.primary { margin-left:auto; min-width:183px; }
.record-footer .timer { color:var(--purple-dark); font-size:12px; }
.ai-summary h2 { font:700 14px Manrope; margin:0; }
.ai-summary h3 { font:700 11px Manrope; margin:17px 0 8px; }
.ai-summary ul { padding-left:16px; margin:0; color:var(--ink-soft); font-size:11px; line-height:1.7; }
.risk-line { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); padding-top:13px; margin-top:13px; gap:10px; }
.risk-line strong { color:#139d7b; display:block; font-size:13px; }
.risk-line span { color:var(--ink-soft); font-size:10px; }

.empty-card { text-align:center; min-height:360px; display:grid; place-items:center; }
.empty-card h2 { margin:14px 0 6px; font:700 20px Manrope; }
.empty-card p { color:var(--ink-soft); font-size:13px; max-width:420px; margin:0 auto 18px; line-height:1.6; }
.saved-session-card { display:flex; align-items:center; gap:14px; padding:22px; }
.saved-consultation-card { padding:24px; }
.saved-consultation-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:20px; border-bottom:1px solid rgba(115,93,210,.12); }
.saved-consultation-heading h2 { margin:4px 0 6px; color:var(--ink); font:800 22px Manrope; }
.saved-consultation-heading p { margin:0; color:var(--ink-soft); }
.saved-consultation-badge { display:inline-flex; align-items:center; gap:6px; padding:8px 11px; color:#168b78; background:#e6f7f1; border-radius:999px; font-size:12px; white-space:nowrap; }
.saved-consultation-badge svg { width:14px; height:14px; }
.saved-consultation-document { max-height:520px; overflow:auto; padding:22px 4px 10px 0; scrollbar-width:thin; scrollbar-color:#8d72f4 rgba(229,224,255,.62); }
.saved-consultation-document h3 { margin:0 0 6px; color:var(--ink); font:800 15px Manrope; }
.saved-consultation-document p { margin:0 0 20px; color:#4c4c84; font-size:14px; line-height:1.65; }
.saved-consultation-note { display:flex; align-items:center; gap:8px; margin-top:12px; padding:12px 14px; color:#69659d; background:#f3f0ff; border-radius:12px; font-size:12px; }
.saved-consultation-note svg { flex:none; width:18px; height:18px; color:#7545e8; }
.saved-session-icon { width:46px; height:46px; display:grid; place-items:center; flex:none; border-radius:15px; color:var(--purple); background:linear-gradient(145deg,#f2e9ff,#e4e4ff); }
.saved-session-icon svg { width:23px; height:23px; }
.saved-session-card h2 { margin:0 0 5px; font:800 16px Manrope; }
.saved-session-card p { margin:0; color:var(--ink-soft); font-size:12px; }
.saved-session-actions { display:flex; gap:9px; margin-left:auto; }
.waiting-start { justify-self:end; gap:6px; color:var(--purple-dark); border-color:#d8cff9; background:#f8f5ff; white-space:nowrap; }
.waiting-start:hover { color:#fff; border-color:transparent; background:linear-gradient(135deg,#a855f7,#5b5ce2); }
.waiting-start svg { width:15px; height:15px; }
.consultation-started-card { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:15px; padding:24px; }
.started-consultation-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; color:#fff; background:linear-gradient(145deg,#a855f7,#5b5ce2); box-shadow:0 8px 22px rgba(91,75,220,.22); }
.started-consultation-icon svg { width:25px; height:25px; }
.started-consultation-copy { min-width:0; }
.started-eyebrow { color:var(--purple); font-size:11px; font-weight:700; }
.started-consultation-copy h2 { margin:4px 0; color:var(--ink); font:800 18px Manrope; }
.started-consultation-copy p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.45; }
.consultation-timer { padding:10px 13px; border:1px solid #d8cff9; border-radius:11px; color:var(--purple-dark); background:#f5f1ff; font:800 17px Manrope; letter-spacing:.4px; }
.consultation-started-card > .button { grid-column:2 / -1; justify-self:end; }
.settings-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr); gap:14px; align-items:start; }
.settings-card, .settings-preview { padding:20px; }
.settings-card-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:20px; }
.settings-card-heading h2 { margin:1px 0 5px; font:700 16px Manrope; color:var(--ink); }
.settings-card-heading p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.45; }
.settings-icon { width:40px; height:40px; border-radius:13px; flex:none; display:grid; place-items:center; color:var(--purple); background:linear-gradient(145deg,#faf8ff,#e9e2ff); }
.settings-icon svg { width:21px; height:21px; }
.settings-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.setting-field { display:grid; gap:7px; color:var(--ink-soft); font-size:11px; }
.setting-field input, .setting-field select { width:100%; height:40px; border:1px solid #d8d4f0; border-radius:9px; padding:0 11px; outline:0; background:rgba(255,255,255,.78); color:var(--ink); font-size:13px; }
.setting-field input:focus, .setting-field select:focus { border-color:var(--purple); box-shadow:0 0 0 3px #eee9ff; }
.day-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.day-setting { display:flex; align-items:center; gap:9px; min-height:40px; padding:0 11px; border:1px solid #e1def5; border-radius:9px; background:rgba(255,255,255,.45); color:var(--ink); font-size:12px; cursor:pointer; }
.day-setting:has(input:checked) { border-color:#bca8ff; background:#f2edff; color:var(--purple-dark); }
.day-setting input { appearance:none; width:17px; height:17px; border:1px solid #aaa8d6; border-radius:5px; background:#fff; position:relative; flex:none; }
.day-setting input:checked { border-color:var(--purple); background:var(--purple); }
.day-setting input:checked::after { content:'✓'; color:#fff; position:absolute; left:3px; top:-1px; font-size:13px; }
.settings-preview { min-height:100%; }
.preview-stat { display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:11px; }
.preview-stat:last-child { border-bottom:0; }
.preview-stat strong { color:var(--ink); font-size:12px; text-align:right; }
.settings-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:10px; padding-top:2px; }

.ambient-panel { position:relative; overflow:hidden; background: linear-gradient(90deg, rgba(224,215,244,.54), rgba(249,239,247,.3)); border-left:1px solid rgba(255,255,255,.76); }
.ambient-panel::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 55% 46%, rgba(255,255,255,.84), transparent 45%), linear-gradient(180deg,rgba(241,235,255,.8),rgba(215,194,217,.38)); opacity:.72; }
.ambient-letters { position:absolute; z-index:2; top:205px; left:26px; color:#6c65a7; font:500 13px/2.25 Manrope; letter-spacing:2px; transform:rotate(-4deg); opacity:.84; }
.ambient-plant { position:absolute; z-index:1; width:35px; height:170px; border-radius:100% 0 100% 0; border-left:4px solid rgba(94,131,106,.5); background:linear-gradient(135deg,rgba(107,170,135,.38),rgba(202,225,188,.05)); transform:rotate(25deg); right:24px; bottom:216px; }
.ambient-plant-two { width:44px; height:225px; right:7px; bottom:144px; transform:rotate(-20deg); opacity:.75; }
.ambient-table { position:absolute; bottom:-14px; left:-22px; width:165px; height:75px; border-radius:50%; background:linear-gradient(145deg,rgba(142,95,100,.25),rgba(220,192,198,.45)); transform:rotate(-8deg); filter:blur(3px); }

.search-results { display:none; position:absolute; top:48px; left:0; right:0; z-index:9; background:#fff; border:1px solid var(--line); border-radius:12px; padding:6px; box-shadow:0 16px 35px rgba(44,34,114,.15); }
.search-results.open { display:block; }
.search-result { display:flex; gap:9px; align-items:center; padding:9px; border-radius:8px; text-align:left; background:transparent; width:100%; }
.search-result:hover { background:#f4f0ff; }
.search-result span { color:var(--ink-soft); font-size:11px; display:block; margin-top:2px; }
.toast { position:fixed; right:26px; bottom:22px; z-index:20; background:#161c66; color:#fff; padding:12px 16px; border-radius:10px; box-shadow:0 10px 30px rgba(26,21,90,.24); font-size:12px; opacity:0; transform:translateY(15px); pointer-events:none; transition:.25s ease; }
.toast.show { opacity:1; transform:translateY(0); }

.results-modal-backdrop { position:fixed; inset:0; z-index:60; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(37,34,77,.44); backdrop-filter:blur(9px); }
.results-modal { width:min(1350px,calc(100vw - 110px)); max-height:calc(100vh - 70px); overflow:auto; background:linear-gradient(145deg,rgba(255,253,255,.98),rgba(249,248,255,.98)); border:1px solid rgba(255,255,255,.95); border-radius:16px; box-shadow:0 25px 80px rgba(26,26,78,.28); }
.results-header { position:relative; display:flex; justify-content:space-between; overflow:hidden; padding:26px 30px 18px; background:linear-gradient(135deg,#fff8ff,#f5efff 58%,#fbfcff); }
.results-header::after { content:''; position:absolute; width:54%; height:95px; right:4%; top:8px; border-radius:55% 45% 50% 42%; background:linear-gradient(135deg,rgba(201,178,255,.18),rgba(255,255,255,0)); transform:rotate(-9deg); border:1px solid rgba(184,151,255,.16); }
.results-title { position:relative; z-index:1; display:flex; align-items:flex-start; gap:17px; }
.results-sparkle { width:45px; height:45px; display:grid; place-items:center; color:var(--purple); }
.results-sparkle svg { width:34px; height:34px; }
.results-title h1 { margin:0; color:var(--ink); font:800 22px Manrope; letter-spacing:-.7px; }
.results-title p { margin:8px 0 0; color:var(--ink-soft); font-size:13px; }
.results-close { position:relative; z-index:2; align-self:flex-start; background:transparent; color:#56609a; font-size:30px; line-height:1; }
.results-tabs { display:flex; max-width:650px; margin:0 28px; overflow:hidden; border:1px solid var(--line); border-radius:14px 14px 0 0; background:rgba(247,244,255,.75); }
.results-tabs button { min-width:310px; display:flex; align-items:center; gap:12px; padding:15px 22px; background:transparent; color:var(--ink-soft); text-align:left; border-bottom:3px solid transparent; }
.results-tabs button.active { background:#fff; color:var(--ink); border-bottom-color:var(--purple); }
.results-tabs svg { width:25px; height:25px; color:var(--purple); }
.results-tabs span { display:grid; gap:4px; }
.results-tabs strong { font:700 13px Manrope; }
.results-tabs small { color:var(--muted); font-size:11px; }
.results-editor-shell { margin:0 28px; overflow:hidden; border:1px solid var(--line); border-radius:0 14px 14px 14px; background:rgba(255,255,255,.9); }
.results-toolbar { height:56px; display:flex; align-items:center; gap:16px; padding:0 20px; color:#4f579d; border-bottom:1px solid var(--line); }
.results-toolbar button { display:inline-flex; align-items:center; gap:7px; background:transparent; color:inherit; font-size:14px; }
.results-toolbar button svg { width:17px; height:17px; }
.style-select, .results-model, .results-ai { padding:9px 11px; border:1px solid var(--line) !important; border-radius:9px; font-size:12px !important; }
.results-model { margin-left:auto; }
.results-ai { color:var(--purple-dark) !important; background:#f0eaff !important; }
.toolbar-divider { width:1px; height:24px; background:var(--line); }
.results-document, .results-transcription { min-height:370px; max-height:470px; overflow:auto; outline:0; padding:20px 26px 28px; color:#4c568f; font-size:15px; line-height:1.45; }
.results-modal, .results-document, .results-transcription { scrollbar-width:thin; scrollbar-color:#8d72f4 rgba(229,224,255,.62); scrollbar-gutter:stable; }
.results-modal::-webkit-scrollbar, .results-document::-webkit-scrollbar, .results-transcription::-webkit-scrollbar { width:11px; height:11px; }
.results-modal::-webkit-scrollbar-track, .results-document::-webkit-scrollbar-track, .results-transcription::-webkit-scrollbar-track { margin:9px 0; border-radius:99px; background:linear-gradient(180deg,rgba(247,244,255,.82),rgba(232,226,255,.62)); }
.results-modal::-webkit-scrollbar-thumb, .results-document::-webkit-scrollbar-thumb, .results-transcription::-webkit-scrollbar-thumb { min-height:58px; border:3px solid transparent; border-radius:99px; background:linear-gradient(180deg,#c084fc 0%,#8b5cf6 48%,#5b5ce2 100%); background-clip:padding-box; box-shadow:inset 0 0 0 1px rgba(255,255,255,.48),0 3px 9px rgba(101,76,211,.22); }
.results-modal::-webkit-scrollbar-thumb:hover, .results-document::-webkit-scrollbar-thumb:hover, .results-transcription::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,#d09aff 0%,#986cff 48%,#6265ec 100%); background-clip:padding-box; }
.results-document h3 { margin:0 0 3px; color:var(--ink); font:700 15px Manrope; }
.results-document p { margin:0 0 22px; padding-bottom:18px; border-bottom:1px solid rgba(95,101,188,.1); }
.ai-extraction-note { display:flex; align-items:flex-start; gap:10px; margin:4px 0 18px; padding:11px 13px; border:1px solid #ddd4ff; border-radius:10px; color:var(--purple-dark); background:linear-gradient(135deg,#faf8ff,#f1edff); }
.ai-extraction-note > svg { flex:0 0 auto; width:20px; height:20px; }
.ai-extraction-note > div { display:grid; gap:3px; }
.ai-extraction-note strong { font:700 12px Manrope; }
.ai-extraction-note span { color:var(--muted); font-size:11px; line-height:1.35; }
.results-transcription p { margin:0 0 18px; }
.review-banner { display:flex; align-items:center; gap:11px; margin:13px 28px 0; padding:13px 18px; border:1px solid #e3dcff; border-radius:10px; color:var(--purple-dark); background:#f4f1ff; }
.review-banner > svg { width:25px; height:25px; }
.review-banner > div { display:grid; flex:1; gap:4px; }
.review-banner strong { font:700 13px Manrope; }
.review-banner span { color:var(--muted); font-size:11px; }
.review-banner button { display:flex; align-items:center; gap:6px; min-height:37px; padding:0 12px; border:1px solid #d8d0ff; border-radius:9px; color:var(--purple-dark); background:#fff; font-size:11px; }
.review-banner button svg { width:15px; height:15px; }
.results-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:23px 28px 22px; }
.results-footer-left, .results-footer-right { display:flex; align-items:center; gap:12px; }
.results-footer-right { display:flex; gap:12px; }
.results-footer .button svg { width:17px; height:17px; }
.results-audio-bar { display:flex; align-items:center; gap:11px; margin:12px 28px 0; padding:11px 14px; border:1px solid #ded7fb; border-radius:11px; color:var(--purple-dark); background:linear-gradient(135deg,#faf8ff,#f0ecff); }
.results-audio-bar > svg { width:22px; height:22px; }
.results-audio-bar > div { display:grid; flex:1; gap:3px; }
.results-audio-bar strong { font:700 12px Manrope; }
.results-audio-bar span, .results-audio-bar small { color:var(--muted); font-size:10px; }
.results-audio-bar audio { width:min(290px,38%); height:32px; accent-color:var(--purple); }

.agenda-slot { cursor:pointer; border-radius:10px; transition:background .18s ease; }
.agenda-slot:hover { background:rgba(237,232,255,.56); }
.agenda-slot:hover .slot, .agenda-slot:hover .lunch, .agenda-slot:hover .week-slot { filter:saturate(1.08); box-shadow:0 5px 16px rgba(91,76,190,.1); }
.week-slot { transition:.18s ease; }
.agenda-dialog-backdrop { position:fixed; inset:0; z-index:55; display:grid; place-items:center; padding:20px; background:rgba(36,32,82,.43); backdrop-filter:blur(9px); }
.agenda-dialog { width:min(760px,100%); max-height:min(790px,calc(100vh - 40px)); overflow:auto; padding:24px; border:1px solid rgba(255,255,255,.95); border-radius:24px; background:linear-gradient(145deg,rgba(255,253,255,.98),rgba(247,246,255,.98)); box-shadow:0 25px 80px rgba(38,31,108,.3); scrollbar-width:thin; scrollbar-color:#8d72f4 rgba(229,224,255,.62); }
.agenda-dialog::-webkit-scrollbar { width:10px; }
.agenda-dialog::-webkit-scrollbar-track { background:#f0ecff; border-radius:99px; margin:9px 0; }
.agenda-dialog::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:99px; background:linear-gradient(180deg,#c084fc,#765ee8); background-clip:padding-box; }
.agenda-dialog-header { display:flex; align-items:flex-start; gap:13px; position:relative; padding-bottom:21px; border-bottom:1px solid var(--line); }
.dialog-heading-icon { width:42px; height:42px; display:grid; place-items:center; flex:none; color:var(--purple); border-radius:14px; background:linear-gradient(145deg,#f5eaff,#e7e4ff); }
.dialog-heading-icon svg { width:22px; height:22px; }
.agenda-dialog-header h2 { margin:2px 0 5px; color:var(--ink); font:800 19px Manrope; letter-spacing:-.4px; }
.agenda-dialog-header p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.45; }
.dialog-close { margin-left:auto; width:32px; height:32px; color:#59629b; background:transparent; font-size:27px; line-height:1; }
.agenda-dialog-patient { display:flex; align-items:center; gap:12px; margin:18px 0; padding:14px; border:1px solid #e3ddfa; border-radius:16px; background:linear-gradient(135deg,#fbfaff,#f4f0ff); }
.agenda-dialog-patient > div:nth-child(2) { display:grid; gap:3px; flex:1; }
.agenda-dialog-patient strong { color:var(--ink); font:700 14px Manrope; }
.agenda-dialog-patient span, .agenda-dialog-patient small { color:var(--ink-soft); font-size:11px; }
.agenda-dialog-patient small { margin-top:2px; }
.dialog-status { align-self:flex-start; padding:7px 10px; border-radius:99px; color:var(--purple-dark) !important; background:#e9e1ff; }
.agenda-dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.agenda-dialog-actions .button { min-height:42px; }
.button.danger { color:#d64662; border-color:#f5c8d0; background:#fff8fa; }
.button.danger:hover { background:#fff0f3; }
.agenda-dialog-grid { display:grid; grid-template-columns:minmax(300px,1fr) minmax(220px,.8fr); gap:18px; padding:20px 0; }
.agenda-dialog-calendar { padding:15px; border:1px solid #e3ddfa; border-radius:16px; background:rgba(255,255,255,.62); }
.dialog-calendar-head, .dialog-section-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.dialog-calendar-head { color:var(--ink); font:700 13px Manrope; margin-bottom:13px; }
.dialog-calendar-head div { display:flex; gap:4px; }
.dialog-calendar-head button { width:27px; height:27px; display:grid; place-items:center; border:1px solid #e4def8; border-radius:8px; color:var(--purple-dark); background:#fff; }
.dialog-calendar-head svg { width:14px; height:14px; }
.dialog-calendar-week, .dialog-calendar-dates { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; text-align:center; }
.dialog-calendar-week { margin-bottom:6px; color:var(--muted); font-size:9px; }
.dialog-calendar-dates button { min-height:31px; border-radius:9px; color:var(--ink-soft); background:transparent; font-size:11px; }
.dialog-calendar-dates button:hover { color:var(--purple-dark); background:#f0eaff; }
.dialog-calendar-dates button.muted { color:#bebbd3; }
.dialog-calendar-dates button.selected { color:#fff; background:linear-gradient(145deg,#a855f7,#5b5ce2); box-shadow:0 5px 13px rgba(108,75,220,.25); }
.available-times { padding:15px; border:1px solid #e3ddfa; border-radius:16px; background:rgba(255,255,255,.62); }
.dialog-section-title { margin-bottom:13px; }
.dialog-section-title strong { color:var(--ink); font:700 12px Manrope; }
.dialog-section-title span { color:var(--muted); font-size:10px; text-align:right; }
.time-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:260px; overflow:auto; padding-right:3px; }
.available-time { display:flex; align-items:center; justify-content:center; gap:6px; min-height:38px; border:1px solid #ded8f7; border-radius:10px; color:var(--purple-dark); background:#fff; font:700 12px Manrope; }
.available-time:hover, .available-time.selected { border-color:#9c7bfa; color:#fff; background:linear-gradient(135deg,#a855f7,#5b5ce2); box-shadow:0 5px 13px rgba(108,75,220,.2); }
.available-time svg { width:15px; height:15px; }
.assignment-time-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:-4px 0 19px; max-height:150px; overflow:auto; padding:3px; }
.agenda-dialog-footer { display:flex; justify-content:flex-end; gap:10px; padding-top:18px; margin-top:3px; border-top:1px solid var(--line); }
.agenda-dialog-footer .button[disabled] { opacity:.42; pointer-events:none; }
.assignment-summary { display:flex; justify-content:space-between; align-items:center; margin:20px 0 18px; padding:13px 15px; border:1px solid #e2dcfb; border-radius:13px; color:var(--purple-dark); background:#f4f0ff; font-size:11px; }
.assignment-summary span { display:flex; align-items:center; gap:7px; }
.assignment-summary svg { width:16px; height:16px; }
.assignment-summary strong { font:800 15px Manrope; }
.assignment-time-fixed { display:flex; align-items:center; justify-content:space-between; margin:-4px 0 19px; padding:12px 15px; border:1px solid #d9d0ff; border-radius:12px; color:var(--purple-dark); background:linear-gradient(135deg,#f7f3ff,#eef4ff); font-size:11px; }
.assignment-time-fixed span { display:flex; align-items:center; gap:7px; color:var(--muted); }
.assignment-time-fixed svg { width:16px; height:16px; color:var(--purple); }
.assignment-time-fixed strong { font:800 15px Manrope; color:var(--purple-dark); }
.dialog-search { display:flex; align-items:center; gap:9px; height:45px; padding:0 13px; border:1px solid #dcd6f5; border-radius:11px; color:var(--purple); background:#fff; }
.dialog-search:focus-within { border-color:var(--purple); box-shadow:0 0 0 3px #eee9ff; }
.dialog-search svg { width:17px; height:17px; }
.dialog-search input { width:100%; border:0; outline:0; color:var(--ink); background:transparent; font-size:12px; }
.dialog-patient-results { display:grid; gap:7px; max-height:220px; overflow:auto; margin-top:11px; padding-right:3px; }
.dialog-search-hint { padding:19px 12px; border:1px dashed #d8d1f2; border-radius:11px; color:var(--muted); text-align:center; font-size:11px; }
.dialog-patient-option { display:flex; align-items:center; gap:10px; width:100%; padding:9px 11px; border:1px solid transparent; border-radius:11px; color:var(--ink); background:#fff; text-align:left; }
.dialog-patient-option:hover, .dialog-patient-option.selected { border-color:#c5b5ff; background:#f2edff; }
.dialog-patient-option > span { display:grid; gap:3px; flex:1; }
.dialog-patient-option strong { font:700 12px Manrope; }
.dialog-patient-option small { color:var(--ink-soft); font-size:10px; }
.dialog-patient-option > svg { width:16px; height:16px; color:var(--purple); }
.selected-patient { display:flex; align-items:center; gap:10px; margin-top:12px; padding:10px; border-radius:11px; color:var(--purple-dark); background:#eee8ff; }
.selected-patient > span { display:grid; gap:3px; flex:1; }
.selected-patient strong { font:700 12px Manrope; }
.selected-patient small { color:var(--ink-soft); font-size:10px; }
.selected-patient-clear { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border:1px solid #cfc1ff; border-radius:9px; color:var(--purple-dark); background:#fff; font:700 19px/1 Manrope; }
.selected-patient-clear:hover { border-color:var(--purple); color:#fff; background:linear-gradient(135deg,#a855f7,#5b5ce2); }
.agenda-status-panel { margin:18px 0; padding:14px; border:1px solid #e2dcfb; border-radius:15px; background:linear-gradient(145deg,#fbfaff,#f4f0ff); }
.agenda-status-panel.doctor-controlled { background:linear-gradient(145deg,#f3efff,#eef5ff); }
.agenda-status-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.agenda-status-panel-head > div { display:grid; gap:4px; }
.agenda-status-panel-head strong { color:var(--ink); font:700 12px Manrope; }
.agenda-status-panel-head small { color:var(--muted); font-size:10px; }
.agenda-status-panel-head .status { white-space:nowrap; }
.agenda-status-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,1fr); gap:10px; margin-top:13px; }
.agenda-status-select, .waiting-switch { display:flex; align-items:center; gap:9px; min-height:43px; padding:8px 10px; border:1px solid #ded8f7; border-radius:11px; background:#fff; }
.agenda-status-select { flex-direction:column; align-items:stretch; gap:4px; }
.agenda-status-select > span { color:var(--muted); font-size:10px; }
.agenda-status-select select { width:100%; border:0; outline:0; color:var(--purple-dark); background:transparent; font:700 12px Manrope; }
.waiting-switch { cursor:pointer; }
.waiting-switch input { position:absolute; opacity:0; pointer-events:none; }
.waiting-switch > span:last-child { display:grid; gap:3px; }
.waiting-switch strong { color:var(--ink); font:700 11px Manrope; }
.waiting-switch small { color:var(--muted); font-size:10px; }
.switch-visual { width:40px; height:23px; flex:none; padding:3px; border-radius:99px; background:#d9d7e8; transition:.2s ease; }
.switch-visual i { display:block; width:17px; height:17px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(35,32,92,.18); transition:.2s ease; }
.waiting-switch input:checked + .switch-visual { background:linear-gradient(135deg,#a855f7,#5b5ce2); }
.waiting-switch input:checked + .switch-visual i { transform:translateX(17px); }
.privacy-consent-backdrop { z-index:120; }
.privacy-consent-modal { width:min(540px,calc(100vw - 32px)); }
.privacy-consent-copy { display:grid; grid-template-columns:42px 1fr; gap:12px; margin:18px 0; color:var(--ink-soft); line-height:1.55; }
.privacy-consent-copy .settings-icon { grid-row:span 3; }
.privacy-consent-copy p { margin:0; }
.privacy-consent-copy small { grid-column:2; color:var(--muted); font-size:12px; }
.privacy-settings-card { grid-column:1 / -1; }
.privacy-status { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border:1px solid #e5defc; border-radius:13px; background:linear-gradient(145deg,#fbfaff,#f4f0ff); }
.privacy-status > div { display:grid; gap:3px; }
.privacy-status strong { color:var(--ink); font:700 12px Manrope; }
.privacy-status small, .privacy-actions small { color:var(--muted); font-size:11px; line-height:1.45; }
.status-dot { width:10px; height:10px; margin-top:3px; border-radius:50%; background:#15a77d; box-shadow:0 0 0 5px rgba(21,167,125,.12); }
.status-dot.warning { background:#db8b16; box-shadow:0 0 0 5px rgba(219,139,22,.12); }
.privacy-actions { display:flex; align-items:center; gap:12px; margin-top:13px; }
.privacy-actions .button { flex:none; }
.consent-request { display:flex; align-items:center; gap:11px; width:min(100%,520px); margin:16px auto 0; padding:13px 15px; border:1px solid #d9d0fb; border-radius:14px; color:var(--purple-dark); background:linear-gradient(135deg,#faf8ff,#f1edff); text-align:left; cursor:pointer; }
.consent-request > svg:first-child { width:20px; height:20px; flex:none; color:var(--purple); }
.consent-request > span { display:grid; gap:3px; flex:1; }
.consent-request strong { font:700 12px Manrope; }
.consent-request small { color:var(--muted); font-size:11px; line-height:1.4; }
.consent-request > svg:last-child { width:16px; height:16px; }
.consent-request:hover { border-color:var(--purple); transform:translateY(-1px); }
.consent-footer { display:flex; align-items:center; gap:10px; width:min(100%,520px); margin:16px auto 0; padding:11px 13px; border-radius:13px; background:#f5fbf8; color:#167b61; text-align:left; }
.consent-footer.pending { background:#fff9ed; color:#a36b13; }
.consent-footer > svg { width:18px; height:18px; flex:none; }
.consent-footer > span { display:grid; gap:3px; flex:1; }
.consent-footer strong { font:700 11px Manrope; }
.consent-footer small { color:var(--muted); font-size:10px; line-height:1.4; }
.consent-footer .button { flex:none; }
.consent-signed-badge { display:inline-flex; align-items:center; gap:4px; margin-left:8px; padding:5px 8px; border:1px solid #bfe8d8; border-radius:999px; color:#157a61; background:#effbf6; font:700 10px Manrope; vertical-align:middle; white-space:nowrap; }
.consent-dialog-backdrop { z-index:120; background:rgba(36,32,82,.46); backdrop-filter:blur(10px); }
.consent-dialog { width:min(650px,calc(100vw - 32px)); max-height:calc(100vh - 48px); padding:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#8d72f4 rgba(229,224,255,.62); }
.consent-dialog::-webkit-scrollbar { width:9px; }
.consent-dialog::-webkit-scrollbar-track { background:#f0ecff; border-radius:99px; margin:12px 0; }
.consent-dialog::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:99px; background:linear-gradient(180deg,#c084fc,#765ee8); background-clip:padding-box; }
.consent-dialog-header { display:flex; align-items:flex-start; gap:13px; padding:25px 25px 20px; background:linear-gradient(135deg,#fff8ff,#f1ebff 68%,#f7fbff); border-bottom:1px solid rgba(125,98,222,.12); }
.consent-dialog-header > div:nth-child(2) { flex:1; }
.consent-dialog-header h2 { margin:3px 0 5px; color:var(--ink); font:800 20px Manrope; letter-spacing:-.35px; }
.consent-dialog-header p { margin:0; color:var(--ink-soft); font-size:11px; line-height:1.45; }
.consent-dialog-header .dialog-close { margin-left:auto; }
.consent-dialog-copy { display:grid; grid-template-columns:42px 1fr; gap:10px 12px; margin:20px 25px 17px; padding:15px; border:1px solid #e3dcfa; border-radius:15px; color:var(--ink-soft); background:linear-gradient(145deg,#fbfaff,#f4f1ff); line-height:1.5; }
.consent-dialog-copy .settings-icon { grid-row:span 3; }
.consent-dialog-copy p, .consent-dialog-copy strong { margin:0; }
.consent-dialog-copy > div:nth-child(2) { display:grid; gap:6px; }
.consent-dialog-copy strong { color:var(--ink); font:800 12px Manrope; }
.consent-link-field { display:grid; gap:8px; margin:0 25px; color:var(--ink); font:700 11px Manrope; }
.consent-link-field > div { display:flex; gap:8px; align-items:stretch; }
.consent-link-field input { min-width:0; flex:1; height:42px; padding:0 12px; border:1px solid #d9d1f5; border-radius:11px; color:var(--ink-soft); background:#fff; font:500 11px Manrope; outline:0; }
.consent-link-field input:focus { border-color:var(--purple); box-shadow:0 0 0 3px #eee9ff; }
.consent-link-field .button { min-height:42px; white-space:nowrap; }
.consent-delivery { margin:15px 25px 0; padding:12px 13px; border:1px solid #f0dfb8; border-radius:11px; color:#8a621e; background:#fff8e9; font-size:11px; line-height:1.45; }
.consent-delivery.sent { border-color:#c9eadc; color:#18785f; background:#effaf5; }
.consent-dialog-footer { display:flex; justify-content:flex-end; gap:9px; margin-top:21px; padding:16px 25px 22px; border-top:1px solid var(--line); background:#fcfbff; }
.consent-link-field { display:grid; gap:7px; color:var(--ink); font:700 11px Manrope; }
.consent-link-field > div { display:flex; gap:8px; }
.consent-link-field input { min-width:0; flex:1; padding:11px 12px; border:1px solid #ddd6f7; border-radius:11px; color:var(--ink-soft); background:#faf9ff; font:500 11px Manrope; }
.consent-delivery { margin-top:13px; padding:11px 12px; border-radius:11px; color:#8a621e; background:#fff7e8; font-size:11px; line-height:1.45; }
.consent-delivery.sent { color:#18785f; background:#effaf5; }
.consent-page { min-height:100vh; margin:0; background:radial-gradient(circle at 20% 0%,#f0eaff 0,#f8f7ff 44%,#edf2ff 100%); }
.patient-consent-screen { display:grid; justify-items:center; gap:18px; min-height:100vh; padding:48px 20px 28px; color:var(--ink); }
.patient-consent-brand { display:flex; align-items:center; gap:10px; color:var(--ink); }
.patient-consent-brand strong { display:block; font:800 18px Manrope; }
.patient-consent-brand small { display:block; color:var(--muted); font-size:12px; }
.patient-consent-card { width:min(620px,100%); padding:30px; border:1px solid rgba(143,116,229,.18); border-radius:24px; background:rgba(255,255,255,.88); box-shadow:0 24px 70px rgba(82,65,145,.14); }
.patient-consent-heading { display:flex; align-items:flex-start; gap:14px; }
.patient-consent-heading h1, .patient-consent-success h1, .patient-consent-loading h1 { margin:4px 0 0; color:var(--ink); font:800 25px/1.16 Manrope; }
.patient-consent-text { margin:24px 0; color:var(--ink-soft); font-size:15px; line-height:1.65; }
.patient-consent-text p { margin:0 0 14px; }
.patient-consent-form { display:grid; gap:15px; }
.patient-consent-form .consent-identity-note { display:grid; gap:3px; padding:11px 12px; border:1px solid #ddd6f7; border-radius:11px; color:var(--ink-soft); background:#faf9ff; font-size:12px; line-height:1.45; }
.patient-consent-form .consent-identity-note strong { color:var(--ink); font:700 12px Manrope; }
.patient-consent-form .consent-identity-choice { padding:10px 11px; border:1px solid #d9d0fb; border-radius:11px; background:#f7f3ff; color:var(--purple-dark); }
.patient-consent-form label:not(.patient-consent-check) { display:grid; gap:7px; color:var(--ink); font:700 12px Manrope; }
.patient-consent-form input[name="cpf"] { padding:13px 14px; border:1px solid #dcd5f7; border-radius:12px; color:var(--ink); background:#fff; font:500 15px Manrope; }
.patient-consent-check { display:flex; align-items:flex-start; gap:9px; color:var(--ink-soft); font-size:13px; line-height:1.45; }
.patient-consent-check input { margin-top:3px; accent-color:var(--purple); }
.patient-consent-form-error { min-height:18px; color:#bd3548; font-size:12px; }
.patient-consent-success, .patient-consent-loading { display:grid; justify-items:center; gap:13px; padding:20px 8px; text-align:center; }
.patient-consent-success p, .patient-consent-loading p { max-width:460px; margin:0; color:var(--ink-soft); font-size:15px; line-height:1.6; }
.patient-consent-success small, .patient-consent-loading p { color:var(--muted); }
.consent-success-icon, .consent-error-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; color:#fff; background:linear-gradient(135deg,#a855f7,#5b5ce2); font:800 27px Manrope; }
.consent-error-icon { background:linear-gradient(135deg,#e56b7a,#b52d4b); }
.patient-consent-legal { margin:0; color:var(--muted); font-size:11px; text-align:center; }

@media (max-width: 1200px) {
  .app-shell { grid-template-columns:220px minmax(0,1fr); }
  .ambient-panel { display:none; }
  .topbar { grid-template-columns:1fr minmax(260px, 360px) 115px 90px; padding-right:22px; }
  .content { padding-left:22px; padding-right:22px; }
}
@media (max-width: 920px) {
  .app-shell { display:block; }
  .sidebar { position:fixed; left:-262px; top:0; bottom:0; width:250px; height:100vh; margin:0; border-radius:0 25px 25px 0; transition:.25s ease; }
  .sidebar.open { left:0; }
  .topbar { height:72px; padding:16px 18px 0; grid-template-columns:32px 1fr 90px 84px; gap:10px; }
  .mobile-menu { display:grid; place-items:center; }
  .breadcrumb { display:none; }
  .content { padding: 9px 18px 25px; }
  .dashboard-grid, .record-layout, .live-work, .agenda-layout { grid-template-columns:1fr; }
  .record-sidebar { display:grid; grid-template-columns:repeat(2,1fr); }
  .agenda-layout .side-info { margin-top:0; }
  .metric-grid { grid-template-columns:repeat(2,1fr); }
  .lower-grid { grid-template-columns:1fr 1fr; }
  .next-card { min-height: unset; }
  .agenda-status-actions { grid-template-columns:1fr; }
  .header-popover-root { top:62px; right:18px; }
}
@media (max-width: 650px) {
  .topbar { grid-template-columns:28px 1fr 42px; }
  .global-clock { display:none; }
  .global-search { min-width:0; }
  .global-search kbd { display:none; }
  .top-actions { gap:0; }
  .top-actions .icon-button { display:none; }
  .top-avatar { width:38px; height:38px; font-size:13px; }
  .header-popover-root { top:58px; right:10px; }
  .profile-modal-backdrop { padding:10px; }
  .profile-modal { max-height:calc(100vh - 20px); padding:18px; border-radius:18px; }
  .page-heading { display:block; }
  .date-note { text-align:left; margin-top:10px; }
  .page-heading .page-actions { margin-top:13px; }
  .results-modal-backdrop { padding:10px; }
  .results-modal { width:100%; max-height:calc(100vh - 20px); }
  .results-header { padding:20px; }
  .results-title h1 { font-size:18px; }
  .results-title p { font-size:11px; }
  .results-tabs { max-width:none; margin:0 14px; overflow:auto; }
  .results-tabs button { min-width:245px; padding:13px; }
  .results-editor-shell { margin:0 14px; }
  .results-toolbar { gap:10px; overflow:auto; }
  .results-document, .results-transcription { min-height:330px; max-height:420px; padding:17px; font-size:13px; }
  .review-banner { flex-wrap:wrap; align-items:flex-start; margin:12px 14px 0; }
  .review-banner button { margin-left:36px; }
  .record-section-heading { flex-direction:column; }
  .document-generator, .extraction-grid { grid-template-columns:1fr; display:grid; align-items:stretch; }
  .document-generator .button, .extraction-grid .button { width:100%; justify-content:center; }
  .pdf-dropzone { align-items:flex-start; flex-wrap:wrap; }
  .pdf-dropzone em { margin-left:53px; }
  .pdf-file-meta { align-items:flex-start; flex-direction:column; }
  .pdf-file-meta .button { width:100%; justify-content:center; }
  .neuropsi-sections { grid-template-columns:1fr; }
  .neuropsi-analysis-heading { align-items:flex-start; flex-wrap:wrap; }
  .neuropsi-analysis-heading > span { margin-left:31px; }
  .neuropsi-diagnoses > div { align-items:flex-start; flex-direction:column; gap:4px; }
  .neuropsi-diagnoses span { text-align:left; }
  .neuropsi-transcript-action { align-items:stretch; flex-direction:column; }
  .neuropsi-transcript-action .button { width:100%; justify-content:center; }
  .results-footer { display:grid; padding:17px 14px; }
  .results-footer-left, .results-footer-right { display:grid; grid-template-columns:1fr 1fr; }
  .results-footer-right { display:grid; grid-template-columns:1fr 1.5fr; }
  .results-footer-right .button { padding:0 10px; font-size:11px; }
  .results-audio-bar { margin:10px 14px 0; flex-wrap:wrap; }
  .results-audio-bar audio { width:100%; }
  .metric-grid, .lower-grid, .feature-cards, .record-sidebar { grid-template-columns:1fr; }
  .settings-layout { grid-template-columns:1fr; }
  .settings-actions { grid-column:auto; justify-content:stretch; }
  .settings-actions .button { flex:1; }
  .settings-fields, .day-settings-grid { grid-template-columns:1fr; }
  .saved-session-card { align-items:flex-start; flex-wrap:wrap; }
  .saved-session-actions { width:100%; margin-left:0; }
  .saved-session-actions .button { flex:1; }
  .consultation-started-card { grid-template-columns:44px minmax(0,1fr); padding:18px; }
  .started-consultation-icon { width:44px; height:44px; }
  .consultation-timer { grid-column:2; justify-self:start; }
  .consultation-started-card > .button { grid-column:1 / -1; justify-self:stretch; }
  .appointment-row { grid-template-columns:45px minmax(0,1fr) 24px; }
  .appointment-row > .status, .appointment-row > .button { display:none; }
  .appointment-row.waiting-room-row > .waiting-start { display:flex; grid-column:2; grid-row:2; justify-self:start; }
  .appointment-row .row-more { grid-column:3; grid-row:1; }
  .agenda-toolbar { overflow:auto; }
  .view-switch { margin-left:0; }
  .view-switch button { padding:9px 12px; }
  .agenda-layout { gap:10px; }
  .day-grid-header, .time-row { grid-template-columns:55px 1fr; }
  .time-row > span { padding-left:10px; }
  .slot { grid-template-columns:38px minmax(0,1fr); }
  .slot .status { display:none; }
  .patients-toolbar { flex-wrap:wrap; }
  .inner-search { width:100%; }
  .table-head { display:none; }
  .patient-table-row { grid-template-columns:1fr 26px; padding:13px; }
  .patient-table-row > *:not(.patient-cell):not(.row-more) { display:none; }
  .patient-table-row .row-more { grid-column:2; grid-row:1; }
  .patient-directory-row { grid-template-columns:1fr; }
  .patient-directory-row > .muted { display:block; grid-column:1; padding-left:44px; }
  .patient-edit-dialog { padding:18px; border-radius:18px; max-height:calc(100vh - 20px); }
  .saved-consultation-card { padding:18px; }
  .saved-consultation-heading { flex-direction:column; }
  .saved-consultation-badge { align-self:flex-start; }
  .history-backdrop { padding:10px; }
  .history-dialog { padding:18px; border-radius:18px; max-height:calc(100vh - 20px); }
  .history-fields { grid-template-columns:1fr; }
  .patient-edit-grid { grid-template-columns:1fr; }
  .patient-edit-grid label.full { grid-column:auto; }
  .patient-edit-actions, .patient-edit-actions > div { display:grid; grid-template-columns:1fr; }
  .patient-banner { flex-wrap:wrap; }
  .banner-actions { width:100%; margin-left:84px; margin-top:-25px; }
  .tabbar { margin-left:-5px; margin-right:-5px; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 8px; }
  .tabbar button { padding:0 9px; }
  .transcribe-card { padding:25px 14px; }
  .transcribe-card .button { min-width:220px; }
  .record-footer { flex-wrap:wrap; }
  .record-footer .button.primary { width:100%; margin-left:0; }
  .recording-strip { flex-wrap:wrap; padding:10px; }
  .capture-mode { margin-left:auto; }
  .wave { min-width:130px; order:3; flex-basis:100%; }
  .agenda-dialog-backdrop { padding:10px; }
  .agenda-dialog { padding:17px; border-radius:19px; max-height:calc(100vh - 20px); }
  .agenda-dialog-grid { grid-template-columns:1fr; gap:11px; }
  .agenda-dialog-actions, .agenda-dialog-footer { display:grid; grid-template-columns:1fr; }
  .agenda-dialog-actions .button, .agenda-dialog-footer .button { width:100%; }
  .time-options { max-height:180px; }
  .assignment-time-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
