@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Poppins:wght@700;800&family=Sora:wght@500;600;700&display=swap";:root{--bg: var(--odon-bg, #f3f6fb);--panel: var(--odon-panel, #ffffff);--card: var(--odon-card, #ffffff);--muted: var(--odon-muted, #5b6b7d);--text: var(--odon-text, #1e2a3a);--line: var(--odon-line, #d7e0ec);--accent: var(--odon-accent, #3b7bff);--accent2: var(--odon-accent2, #12b981)}.odontogram-root{--bg: var(--odon-bg, #f3f6fb);--panel: var(--odon-panel, #ffffff);--card: var(--odon-card, #ffffff);--muted: var(--odon-muted, #5b6b7d);--text: var(--odon-text, #1e2a3a);--line: var(--odon-line, #d7e0ec);--accent: var(--odon-accent, #3b7bff);--accent2: var(--odon-accent2, #12b981);color:var(--text)}.dark .odontogram-root{--bg: var(--odon-bg, #0f172a);--panel: var(--odon-panel, #1e293b);--card: var(--odon-card, #1e293b);--muted: var(--odon-muted, #94a3b8);--text: var(--odon-text, #f1f5f9);--line: var(--odon-line, #334155)}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:radial-gradient(1200px 600px at 15% 0%,#ffffff 0%,var(--bg) 60%);color:var(--text)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.brand{display:flex;gap:12px;align-items:center}.dot{width:10px;height:10px;border-radius:999px;background:var(--accent2);box-shadow:0 0 0 6px #12b9811f}.title{font-weight:700;letter-spacing:.2px}.subtitle{font-size:12px;color:var(--muted);margin-top:2px}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.topbar-group{display:flex;align-items:center;gap:8px}.segmented{display:flex;gap:6px}.btn{border:1px solid var(--line);color:var(--text);background:#3b7bff1f;padding:8px 12px;border-radius:12px;cursor:pointer;font-weight:600}.btn-sm{padding:6px 10px;font-size:12px}.btn:hover{background:#3b7bff2e}.btn-ghost{background:#0000000a}.btn-ghost:hover{background:#00000014}.btn-danger{background:#d945451f;border-color:#d9454566;color:#b83a3a}.btn-danger:hover{background:#d9454533}.btn-toggle[aria-pressed=true]{background:#640feb33;border-color:#12b98180}.btn-toggle[aria-pressed=false]{background:#0000000a}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:100%;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 24px #1e2a3a1f;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:180px;z-index:20}.dropdown-item{border:1px solid var(--line);background:#0000000a;color:var(--text);padding:8px 10px;border-radius:10px;font-weight:600;cursor:pointer;text-align:left}.dropdown-item:hover{background:#00000014}.dropdown-item[aria-checked=true]{background:#3b7bff2e;border-color:#3b7bff73}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#3b7bff1f;color:var(--text);padding:8px 34px 8px 12px;border-radius:12px;font-weight:600;min-width:220px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}select:focus{outline:none;box-shadow:0 0 0 3px #3b7bff2e}.layout{display:grid;grid-template-columns:1fr 360px;gap:14px;padding:14px}.chart{background:#ffffffe6;border:1px solid var(--line);border-radius:18px;overflow:hidden}.chart-header{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.chart-title{font-weight:700}.chart-hint{font-size:12px;color:var(--muted);margin-top:4px}.chart-actions{display:flex;align-items:center;gap:8px}.tooth-grid{display:grid;grid-template-columns:repeat(16,minmax(36px,1fr));gap:4px;padding:10px}.tooth-label-row{display:contents}.tooth-label-cell{text-align:center;font-size:11px;color:#1e2a3acc;padding:2px 0 4px;font-weight:600;cursor:pointer}.tooth-label-cell:hover{color:#1e2a3a}.tooth-tile{position:relative;border:1px solid var(--line);border-radius:14px;background:#ffffffb3;padding:2px;cursor:pointer;transition:transform .05s ease,border-color .12s ease,background .12s ease;min-height:100px}.tooth-tile.occl-view{min-height:78px}.tooth-tile.placeholder{cursor:default;background:#ffffff4d}.tooth-tile.placeholder .tooth-svg svg{opacity:0}.tooth-tile:hover{background:#3b7bff14}.tooth-tile:active{transform:scale(.99)}@keyframes odon-dash-pulse{0%,to{border-color:#3b7bff80}50%{border-color:#3b7bffe6}}@keyframes odon-glow-pulse{0%,to{filter:drop-shadow(0 0 3px rgba(59,123,255,.2))}50%{filter:drop-shadow(0 0 7px rgba(59,123,255,.45))}}.tooth-tile:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:15px;border:2px dashed transparent;pointer-events:none;transition:border-color .25s ease}.tooth-tile .tooth-svg svg{transition:filter .25s ease}.tooth-tile.active{border-color:#3b7bffb3;background:#3b7bff0f;transition:border-color .2s ease,background .2s ease}.tooth-tile.active:after{border-color:#3b7bff8c;animation:odon-dash-pulse 1.6s ease-in-out infinite}.tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px rgba(59,123,255,.3));animation:odon-glow-pulse 2.5s ease-in-out infinite}.tooth-tile:focus{outline:none}.tooth-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 3px #3b7bff40;z-index:1}.tooth-grid.read-only .tooth-tile{cursor:default;pointer-events:none}.tooth-grid.read-only .tooth-tile:hover{background:inherit}.tooth-grid.read-only .tooth-label-cell{cursor:default;pointer-events:none}.panel.read-only{pointer-events:none;opacity:.5;-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){.tooth-tile.active:after{animation:none;border-color:#3b7bffb3}.tooth-tile.active .tooth-svg svg{animation:none;filter:drop-shadow(0 0 4px rgba(59,123,255,.35))}}.tooth-svg{width:100%;height:120px;display:flex;align-items:center;justify-content:center}.tooth-svg svg{width:72px;height:122px;pointer-events:none}.tooth-tile.occl-view .tooth-svg{height:80px}.tooth-tile.occl-view .tooth-svg svg{width:64px;height:64px}.tooth-tile.tpl-14 .tooth-svg svg{width:68px;height:116px}.tooth-tile.tpl-11 .tooth-svg svg,.tooth-tile.tpl-13 .tooth-svg svg{width:60px;height:102px}.tooth-tile.wisdom-hidden{opacity:.45;pointer-events:none}.tooth-tile.wisdom-hidden .tooth-svg svg{opacity:0}.tooth-tile.occl-hidden,.tooth-svg [data-active="0"]{display:none!important}.panel{background:#fffffff2;border:1px solid var(--line);border-radius:18px;overflow:hidden}.panel-header{padding:12px 14px;border-bottom:1px solid var(--line)}.select-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.select-actions-row{display:flex;flex-wrap:wrap;gap:6px}.status-actions{flex-wrap:wrap;gap:6px}.status-extra-row{align-items:center;gap:8px;flex-wrap:wrap}.status-extra-row select{min-width:220px}.btn-icon{padding:9px 15px;font-size:12px}.btn-icon .icon,.btn-icon .icon-img,.btn-icon svg{width:32px;height:32px;display:block}.fade-toggle{transition:opacity .16s ease,max-width .16s ease,padding .16s ease,margin .16s ease,border-width .16s ease,transform .16s ease;max-width:200px}.fade-toggle.is-hidden{opacity:0;pointer-events:none;max-width:0;padding-left:0;padding-right:0;margin:0;border-width:0;transform:scale(.96)}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title-actions{display:flex;align-items:center;gap:8px}.panel-title{font-weight:800}.panel-subtitle{font-size:12px;color:var(--muted);margin-top:4px}.pill{display:inline-block;background:#12b98124;border:1px solid rgba(18,185,129,.25);padding:2px 8px;border-radius:999px;font-weight:700;color:var(--text)}.warnings{margin-top:10px;display:flex;flex-direction:column;gap:8px}.warning{font-size:12px;color:#8a5b1a;border:1px solid rgba(255,198,116,.45);background:#ffc67438;padding:8px 10px;border-radius:12px}.panel-body{padding:14px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 110px);overflow:auto}.card{background:#ffffffe6;border:1px solid var(--line);border-radius:16px;padding:12px}.card-title{font-weight:800;margin-bottom:8px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card.collapsed .card-title{margin-bottom:0}.card.collapsed .card-body,.card.collapsed #statusCardBody,.card.collapsed .status-extra-row,.card.collapsed .hint,.card.collapsed .row,.card.collapsed .check-grid,.card.collapsed label{display:none}.icon-btn{border:1px solid var(--line);background:#ffffffb3;color:var(--text);border-radius:999px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;line-height:1}.icon-btn .icon{width:16px;height:16px}.icon-btn:hover{background:#3b7bff1f}.icon-btn-danger{color:#d94545;border-color:#d9454566;background:#d9454514}.icon-btn-danger:hover{background:#d9454526}.card-subtitle{font-weight:700;margin:6px 0}.hint{font-size:12px;color:var(--muted);margin:6px 0 10px}.row{display:flex;gap:10px;align-items:center;font-size:13px;padding:6px 2px}.contact-row{margin-bottom:6px}.bruxism-row{margin-top:6px;gap:8px}.fissure-row{margin-top:10px;justify-content:center;text-align:center}#crownReplaceRow,#crownNeededRow,#missingClosedRow{margin-top:8px}.bridge-pillar-row{margin-top:10px}.inline-checks{padding:0}.inline-checks label{display:flex;gap:10px;align-items:center;font-size:13px;padding:6px 10px;border-radius:12px;border:1px solid var(--line);background:#00000005;cursor:pointer}.inline-checks label:hover{background:#3b7bff0f}.inline-checks input[type=checkbox]{display:none}.inline-checks label:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-grid label{display:flex;gap:10px;align-items:center;font-size:13px;padding:6px 8px;border-radius:12px;border:1px solid var(--line);background:#00000005;cursor:pointer}.check-grid label:hover{background:#3b7bff0f}.check-grid input[type=checkbox]{display:none}.check-grid label:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.row input[type=checkbox]{display:none}.row:has(input[type=checkbox]){border-radius:12px;border:1px solid var(--line);padding:6px 10px;background:#00000005;cursor:pointer}.inline-checks:has(input[type=checkbox]){border:0;background:none;padding:0}.row:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.inline-checks:has(input[type=checkbox]:checked){background:none;border:0}.radio-list{display:flex;flex-direction:column;gap:8px}.radio-list label{display:flex;gap:10px;align-items:center;font-size:13px;padding:6px 8px;border-radius:12px;border:1px solid var(--line);background:#00000005}.radio-list label:hover{background:#3b7bff0f}.divider{height:1px;background:var(--line);margin:10px 0}.hidden{display:none!important}@media(max-width:1100px){.layout{grid-template-columns:1fr}.panel{order:2}}.dark{--bg: var(--odon-bg, #0f172a);--panel: var(--odon-panel, #1e293b);--card: var(--odon-card, #1e293b);--muted: var(--odon-muted, #94a3b8);--text: var(--odon-text, #f1f5f9);--line: var(--odon-line, #334155)}.dark body{background:var(--bg)}.dark .topbar{background:#0f172aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark .btn{background:#60a5fa26}.dark .btn:hover{background:#60a5fa40}.dark .btn-ghost{background:#ffffff0f}.dark .btn-ghost:hover{background:#ffffff1f}.dark .btn-danger{background:#f871711f;border-color:#f871714d;color:#f87171}.dark .btn-danger:hover{background:#f8717138}.dark .btn-toggle[aria-pressed=false]{background:#ffffff0f}.dark .dropdown-menu{background:#1e293b;box-shadow:0 12px 24px #00000073}.dark .dropdown-item{background:#ffffff0f}.dark .dropdown-item:hover{background:#ffffff1f}.dark .dropdown-item[aria-checked=true]{background:#60a5fa33;border-color:#60a5fa73}.dark select{background:#60a5fa26;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.dark .chart{background:#1e293be6}.dark .tooth-label-cell{color:#f1f5f999}.dark .tooth-label-cell:hover{color:#f1f5f9}.dark .tooth-tile{background:#1e293bb3}.dark .tooth-tile.placeholder{background:#1e293b4d}.dark .tooth-tile:hover{background:#60a5fa1f}@keyframes odon-dash-pulse-dark{0%,to{border-color:#60a5fa73}50%{border-color:#60a5fad9}}@keyframes odon-glow-pulse-dark{0%,to{filter:drop-shadow(0 0 3px rgba(96,165,250,.2))}50%{filter:drop-shadow(0 0 7px rgba(96,165,250,.45))}}.dark .tooth-tile.active{border-color:#60a5fa99;background:#60a5fa14}.dark .tooth-tile.active:after{border-color:#60a5fa73;animation-name:odon-dash-pulse-dark}.dark .tooth-tile.active .tooth-svg svg{animation-name:odon-glow-pulse-dark;filter:drop-shadow(0 0 4px rgba(96,165,250,.3))}.dark .tooth-tile:focus-visible{outline-color:#60a5facc;box-shadow:0 0 0 3px #60a5fa40}.dark .odon-note-backdrop{background:#0000008c}.dark .odon-note-popover{background:var(--panel);box-shadow:0 16px 48px #00000080}.dark .odon-note-textarea{background:#ffffff0f;border-color:var(--line);color:var(--text)}.dark .odon-note-textarea:focus{box-shadow:0 0 0 3px #60a5fa33;border-color:#60a5fa80}.dark .panel{background:#1e293bf2}.dark .card{background:#1e293bcc;border-color:var(--line)}.dark .icon-btn{background:#1e293bb3}.dark .icon-btn:hover{background:#60a5fa26}.dark .icon-btn-danger{color:#f87171;border-color:#f871714d;background:#f871711a}.dark .icon-btn-danger:hover{background:#f8717133}.dark .warning{color:#fbbf24;border-color:#fbbf244d;background:#fbbf241a}.dark .inline-checks label,.dark .check-grid label,.dark .radio-list label{background:#ffffff0a}.dark .inline-checks label:hover,.dark .check-grid label:hover,.dark .radio-list label:hover{background:#60a5fa1a}.dark .row:has(input[type=checkbox]){background:#ffffff0a}.dark .pill{background:#34d39926;border-color:#34d3994d}.btn-theme{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:12px;background:#0000000a;color:var(--text);cursor:pointer;transition:background .15s ease}.btn-theme:hover{background:#3b7bff1f}.dark .btn-theme{background:#ffffff0f}.dark .btn-theme:hover{background:#60a5fa26}.tooth-note-icon{display:inline-block;font-size:9px;margin-left:2px;vertical-align:middle;opacity:.75}.odon-note-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#00000059;animation:odon-fade-in .12s ease}.odon-note-popover{position:relative;background:var(--panel, #fff);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 48px #0003;padding:14px;width:min(320px,90vw);display:flex;flex-direction:column;gap:10px;animation:odon-ctx-pop .12s ease}.odon-note-header{display:flex;align-items:center;justify-content:space-between}.odon-note-title{font-weight:700;font-size:14px;color:var(--text)}.odon-note-textarea{width:100%;min-height:60px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-family:inherit;font-size:13px;color:var(--text);background:#00000005;resize:vertical}.odon-note-textarea:focus{outline:none;box-shadow:0 0 0 3px #3b7bff2e;border-color:#3b7bff80}.odon-note-textarea::placeholder{color:var(--muted)}.odon-note-actions{display:flex;gap:8px}.odon-note-actions .odon-zoom-btn{flex:1}.warning-item{padding:6px 10px;border-radius:8px;background:#eab3081f;color:#92400e;font-size:12px;font-weight:600;line-height:1.4;margin-bottom:4px}.dark .warning-item{background:#facc151a;color:#fde047}.odon-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0006;display:flex;align-items:center;justify-content:center;animation:odon-fade-in .15s ease}@keyframes odon-fade-in{0%{opacity:0}to{opacity:1}}.odon-zoom-popover{background:var(--panel, #fff);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px #00000040;padding:16px;max-width:min(360px,90vw);width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.odon-zoom-header{width:100%;display:flex;align-items:center;justify-content:space-between}.odon-zoom-title{font-weight:800;font-size:16px;color:var(--text)}.odon-zoom-close{width:32px;height:32px;border:1px solid var(--line);border-radius:999px;background:#0000000a;color:var(--text);font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.odon-zoom-close:hover{background:#d945451f;color:#d94545}.odon-zoom-svg{width:200px;height:200px;display:flex;align-items:center;justify-content:center}.odon-zoom-svg svg{width:180px;height:180px;pointer-events:none}.odon-zoom-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.odon-zoom-btn{border:1px solid var(--line);background:#3b7bff14;color:var(--text);padding:10px 8px;border-radius:12px;font-weight:600;font-size:13px;cursor:pointer;text-align:center}.odon-zoom-btn:hover{background:#3b7bff2e}.odon-zoom-btn.active{background:#12b9812e;border-color:#12b98180}.odon-zoom-btn.danger{background:#d9454514;border-color:#d945454d;color:#b83a3a}.odon-zoom-btn.danger:hover{background:#d945452e}.odon-ctx-menu{position:fixed;z-index:110;background:var(--panel, #fff);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #0003;padding:6px;min-width:180px;display:flex;flex-direction:column;gap:4px;animation:odon-ctx-pop .12s ease}@keyframes odon-ctx-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.odon-ctx-item{border:1px solid var(--line);background:#00000005;color:var(--text);padding:10px 14px;border-radius:12px;font-weight:600;font-size:13px;cursor:pointer;text-align:left}.odon-ctx-item:hover{background:#3b7bff1a}.odon-ctx-item.danger{color:#b83a3a}.odon-ctx-item.danger:hover{background:#d945451f}.odon-ctx-divider{height:1px;background:var(--line);margin:2px 0}.dark .odon-zoom-overlay{background:#0009}.dark .odon-zoom-popover{background:var(--panel);box-shadow:0 20px 60px #00000080}.dark .odon-zoom-close{background:#ffffff0f}.dark .odon-zoom-close:hover{background:#f8717126;color:#f87171}.dark .odon-zoom-btn{background:#60a5fa1a}.dark .odon-zoom-btn:hover{background:#60a5fa33}.dark .odon-zoom-btn.active{background:#34d3992e;border-color:#34d39966}.dark .odon-zoom-btn.danger{background:#f871711a;border-color:#f8717140;color:#f87171}.dark .odon-ctx-menu{background:var(--panel);box-shadow:0 12px 40px #00000080}.dark .odon-ctx-item{background:#ffffff0a}.dark .odon-ctx-item:hover{background:#60a5fa1f}.dark .odon-ctx-item.danger{color:#f87171}.tooth-grid.odon-pinch-active{touch-action:none;transform-origin:center center;transition:transform .05s ease}@media(pointer:coarse){.tooth-tile{min-height:56px}.tooth-tile .tooth-svg{height:80px}.tooth-tile.occl-view .tooth-svg{height:60px}.tooth-label-cell{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.chart-actions .btn-icon{min-width:44px;min-height:44px}}.odon-arch-toggle{display:none;justify-content:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.odon-arch-toggle .odon-arch-btn{border:1px solid var(--line);background:#0000000a;color:var(--text);padding:8px 20px;border-radius:12px;font-weight:700;font-size:13px;cursor:pointer;flex:1;text-align:center}.odon-arch-toggle .odon-arch-btn.active{background:#3b7bff2e;border-color:#3b7bff73}.dark .odon-arch-toggle .odon-arch-btn{background:#ffffff0f}.dark .odon-arch-toggle .odon-arch-btn.active{background:#60a5fa33;border-color:#60a5fa73}@media(max-width:600px){.odon-arch-toggle{display:flex}.tooth-grid.odon-arch-upper .lower-row,.tooth-grid.odon-arch-upper .lower-row+.tooth-label-row{display:none!important}.tooth-grid.odon-arch-lower .upper-row,.tooth-grid.odon-arch-lower .tooth-label-row:first-child{display:none!important}}.tooth-grid.smilo-full-mouth-grid{grid-template-columns:repeat(16,minmax(34px,1fr));gap:3px;padding:8px 10px 12px;align-items:center}.odon-arch-section-title{grid-column:1 / -1;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:8px 4px 2px;border-top:1px solid var(--line)}.odon-arch-section-title:first-child{border-top:0;padding-top:2px}.tooth-grid.smilo-full-mouth-grid .tooth-label-cell{padding:0 0 2px;font-size:10px}.tooth-grid.smilo-full-mouth-grid .tooth-tile{min-height:68px;border-radius:10px;padding:1px}.tooth-grid.smilo-full-mouth-grid .tooth-svg{height:72px}.tooth-grid.smilo-full-mouth-grid .tooth-svg svg{width:50px;height:82px}.tooth-grid.smilo-full-mouth-grid .tooth-tile.tpl-14 .tooth-svg svg{width:48px;height:80px}.tooth-grid.smilo-full-mouth-grid .tooth-tile.tpl-11 .tooth-svg svg,.tooth-grid.smilo-full-mouth-grid .tooth-tile.tpl-13 .tooth-svg svg{width:44px;height:76px}.tooth-grid.smilo-full-mouth-grid .tooth-tile.occl-view{min-height:50px}.tooth-grid.smilo-full-mouth-grid .tooth-tile.occl-view .tooth-svg{height:54px}.tooth-grid.smilo-full-mouth-grid .tooth-tile.occl-view .tooth-svg svg{width:48px;height:48px}.tooth-grid.smilo-full-mouth-grid .tooth-tile.placeholder{background:transparent;border-color:#00000009}.tooth-grid.smilo-full-mouth-grid .tooth-tile.inner-view{background:#fff9}.dark .tooth-grid.smilo-full-mouth-grid .tooth-tile.inner-view{background:#1e293b8c}.dark .odon-arch-section-title{color:#f1f5f9a6}@media(max-width:1240px){.tooth-grid.smilo-full-mouth-grid{overflow-x:auto;grid-template-columns:repeat(16,minmax(46px,1fr))}}@media(pointer:coarse){.tooth-grid.smilo-full-mouth-grid .tooth-tile{min-height:64px}.tooth-grid.smilo-full-mouth-grid .tooth-svg{height:72px}.tooth-grid.smilo-full-mouth-grid .tooth-tile.occl-view .tooth-svg{height:58px}}@media(max-width:600px){.tooth-grid.smilo-full-mouth-grid.odon-arch-upper .lower-row,.tooth-grid.smilo-full-mouth-grid.odon-arch-lower .upper-row{display:none!important}}:root{--primary: #4b39ef;--primary-strong: #3f2fd8;--primary-soft: #ece9ff;--surface: #ffffff;--surface-soft: #f7f8ff;--ink: #15133a;--muted: #6a678f;--border: #dfdbff;--danger: #cb2a66;font-family:Manrope,Segoe UI,sans-serif;color:var(--ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% 10%,rgba(89,218,234,.26),transparent 35%),radial-gradient(circle at 92% 92%,rgba(75,57,239,.2),transparent 34%),linear-gradient(140deg,#eef9ff,#f8fbff 44%,#f1f4ff);color:var(--ink)}#root{min-height:100vh}.signin-shell{position:relative;min-height:100dvh;width:100%;display:grid;place-items:center;padding:clamp(1rem,3vh,2rem);background-size:cover;background-position:center;background-repeat:no-repeat;overflow-y:auto}.dashboard-shell{height:100dvh;min-height:100dvh;display:grid;grid-template-columns:auto minmax(0,1fr) 340px;grid-template-rows:64px minmax(0,1fr);background:#f2f6fb;overflow-x:hidden;overflow-y:auto}.dashboard-sidebar{grid-column:1;grid-row:1 / 3;position:sticky;top:0;align-self:start;width:240px;height:100dvh;background:#fff;border-right:1px solid #e3ebf6;box-shadow:8px 0 24px #1620380d;padding:1rem .75rem .9rem;display:flex;flex-direction:column;gap:.9rem;transition:width .16s ease;min-height:0}.dashboard-sidebar.is-collapsed{width:72px}.sidebar-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem}.sidebar-brand{display:grid;gap:.2rem;min-width:0;justify-items:center;text-align:center;grid-column:2}.sidebar-brand-mark{display:flex;align-items:center;min-width:0}.sidebar-brand-mark img{display:block}.sidebar-brand-mark.is-expanded{width:min(100%,5.8rem);height:auto}.sidebar-brand-mark.is-expanded img{width:100%;height:auto;object-fit:contain}.smilo-odontogram-embed,.smilo-odontogram-embed .chart{position:relative}.smilo-odontogram-embed .chart-header{justify-content:flex-start;flex-wrap:wrap}.smilo-odontogram-embed .panel{position:relative}.smilo-odontogram-chart-header-slot{flex:0 1 auto;min-width:0;display:flex;align-items:center;max-width:100%;position:relative;z-index:1}.smilo-odontogram-embed .chart-actions{margin-left:auto;flex:0 0 auto;position:relative;z-index:2}.smilo-odontogram-embed [data-smilo-hidden=true]{display:none}.smilo-odontogram-chart-inset{padding:0 10px 10px;display:grid;gap:10px}.smilo-odontogram-side-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow:auto;background:inherit;border-radius:inherit}#toothGrid.smilo-full-mouth-grid{align-content:start}#toothGrid.smilo-full-mouth-grid .tooth-label-row{display:contents}#toothGrid.smilo-full-mouth-grid .tooth-tile.history-highlight{border-color:#6d28d9b8;background:linear-gradient(135deg,#ede9fef5,#e0e7ffeb);box-shadow:0 0 0 3px #7c3aed47,0 14px 30px #4f46e533}.sidebar-brand-mark.is-collapsed{width:1.95rem;height:1.95rem;justify-content:center;flex:0 0 1.95rem}.sidebar-brand-mark.is-collapsed img{width:1.72rem;height:1.72rem;object-fit:contain}.sidebar-brand.is-collapsed{display:flex;align-items:center;justify-content:center}.dashboard-sidebar.is-collapsed .sidebar-top{flex-direction:column;align-items:center;justify-content:flex-start;gap:.45rem}.dashboard-sidebar.is-collapsed .sidebar-brand{width:100%;justify-content:center}.dashboard-sidebar.is-collapsed .sidebar-toggle{margin:0 auto}.sidebar-brand-branch{color:#7a86a0;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:0}.sidebar-toggle{width:2rem;height:2rem;border-radius:.62rem;border:1px solid #dbe5f2;background:#fff;color:#5c6784;display:grid;place-items:center;cursor:pointer;grid-column:3;justify-self:end}.sidebar-toggle svg{width:1rem;height:1rem}.sidebar-toggle:hover{background:#f5f8fd}.sidebar-nav{display:grid;gap:.95rem;overflow-y:auto;padding-right:.25rem;min-height:0}.sidebar-group{display:grid;gap:.48rem}.sidebar-group+.sidebar-group{margin-top:.2rem}.sidebar-group-title{margin:0;padding:0 .65rem .18rem;color:#6d7a94;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.sidebar-group-items{display:grid;gap:.18rem}.sidebar-item,.sidebar-logout{position:relative;border:0;border-radius:.72rem;background:transparent;color:#41516f;display:flex;align-items:center;gap:.7rem;padding:.58rem .65rem;cursor:pointer;font:inherit;font-size:.86rem;font-weight:500;text-align:left}.sidebar-item-icon{width:1.15rem;height:1.15rem;flex-shrink:0;display:grid;place-items:center}.sidebar-item-icon svg{width:1.15rem;height:1.15rem}.sidebar-item:hover,.sidebar-logout:hover{background:#f2f6fd}.sidebar-item.is-active{color:#362cb4;background:#eaeafe;box-shadow:inset 0 0 0 1px #dbddff}.sidebar-item.is-nested{margin-left:.25rem;color:#4f5d78}.sidebar-item.is-nested:not(.is-active){background:#f9fbff}.dashboard-sidebar.is-collapsed .sidebar-item,.dashboard-sidebar.is-collapsed .sidebar-logout{justify-content:center;padding-inline:0}.dashboard-sidebar.is-collapsed .sidebar-item.is-nested{margin-left:0}.sidebar-logout{margin-top:auto;color:#4d5671}.dashboard-header{grid-column:2 / 4;grid-row:1;position:sticky;top:0;z-index:20;border-bottom:1px solid #e3ebf6;background:#ffffffe0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.header-meta{margin-left:auto;display:flex;align-items:center;gap:1rem}.header-date{margin:0;color:#63708b;font-weight:600;font-size:.9rem}.header-branch-picker{display:flex;align-items:center;gap:.55rem;border:1px solid #dbe5f2;border-radius:999px;padding:.36rem .48rem .36rem .78rem;background:#fff;min-width:0}.header-branch-picker span{color:#6e7b95;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.header-branch-picker select{border:0;background:transparent;color:#24324d;font-size:.86rem;font-weight:700;min-width:11rem;outline:none;padding-right:.5rem}.dashboard-snapshot-picker{margin-left:auto}.dashboard-snapshot-picker select{min-width:12rem;max-width:min(100%,16rem)}.header-user{display:flex;align-items:center;gap:.65rem;border:1px solid #dbe5f2;border-radius:999px;padding:.32rem .38rem;background:#fff;min-width:0;max-width:min(100%,260px)}.avatar-circle{width:2.05rem;height:2.05rem;border-radius:50%;background:linear-gradient(150deg,#6788ff,#5de3f3);color:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:700;overflow:hidden}.avatar-circle img{width:100%;height:100%;object-fit:cover}.user-copy{display:grid;line-height:1.1;padding-right:.5rem;min-width:0}.user-copy strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small{color:#6e7b95;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-main{grid-column:2;grid-row:2;min-width:0;min-height:auto;overflow:visible;padding:1.2rem;display:grid;gap:1rem;align-content:start}.dashboard-main.is-wide{grid-column:2 / 4}.dashboard-right{grid-column:3;grid-row:2;min-width:0;min-height:auto;overflow:visible;padding:1.2rem;display:grid;gap:1rem;align-content:start}.dashboard-main>*,.dashboard-right>*,.section-card,.quote-card{min-width:0}.quote-card,.section-card{border-radius:18px;border:1px solid #dfE8f4;background:#fff;box-shadow:0 10px 28px #151e3514}.quote-card{position:relative;min-height:230px;margin-top:.7rem;padding:1.5rem 1.75rem 1.2rem;background:radial-gradient(circle at 18% 18%,#ffffffe0,#fff0 34%),linear-gradient(135deg,#f2f8ff,#e4efff 54%,#deebff);box-shadow:0 18px 42px #1b2e561f;overflow:visible}.quote-card.is-sidebar-collapsed{margin-top:1.1rem}.quote-label{margin:0 0 .6rem;color:#627595;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.quote-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:195px;max-width:min(62%,620px);gap:.75rem}.quote-title{margin:0;color:#1f3255;font-family:Poppins,sans-serif;font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.08;letter-spacing:-.02em;overflow-wrap:anywhere}.quote-text{margin:0;color:#314769;font-size:clamp(1.15rem,1.65vw,1.5rem);line-height:1.6;font-weight:600;max-width:34rem;overflow-wrap:anywhere}.quote-visual{position:absolute;right:-.3rem;bottom:-14px;z-index:1;width:min(33%,320px);height:calc(100% + 30px);min-width:235px;display:flex;align-items:flex-end;pointer-events:none}.quote-card.is-sidebar-collapsed .quote-visual{bottom:-20px;height:calc(100% + 18px)}.quote-figure-shell{position:relative;width:100%;display:flex;align-items:flex-end;justify-content:flex-end;transform:translate(8px);filter:drop-shadow(0 22px 26px rgba(35,60,108,.2))}.quote-figure-shell:before{content:"";position:absolute;top:17%;right:13%;bottom:7%;left:13%;border-radius:50%;background:radial-gradient(circle,#8aaeff52,#8aaeff00);transform:translateY(13px) scale(1.07);z-index:-1}.quote-figure{display:block;width:104%;height:auto;object-fit:contain;transform:translateZ(0)}.quote-refresh{position:absolute;right:.5rem;bottom:1.1rem;z-index:3;width:2.3rem;height:2.3rem;border:1px solid #d6e2f2;border-radius:.82rem;background:#ffffffeb;color:#5a6781;display:grid;place-items:center;box-shadow:0 10px 20px #293f6a1f;pointer-events:none}.quote-refresh svg{width:1rem;height:1rem}.page-refresh-btn{width:2.35rem;height:2.35rem;border:1px solid #d6e2f2;border-radius:.82rem;background:#fffffff0;color:#5a6781;display:inline-grid;place-items:center;box-shadow:0 10px 20px #293f6a14;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease;cursor:pointer}.page-refresh-btn svg{width:1rem;height:1rem}.page-refresh-btn:hover:not(:disabled){border-color:#bfd0e8;color:#30456c;background:#fff;transform:translateY(-1px)}.page-refresh-btn:disabled{cursor:wait;opacity:.72}.page-refresh-btn.is-loading svg{animation:page-refresh-spin .8s linear infinite}.section-card{padding:1rem 1rem 1.1rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.section-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.section-head h2{margin:0;font-size:1rem;font-family:Poppins,sans-serif;font-weight:700;color:#1e2b46}.section-head a{color:#3855e8;text-decoration:none;font-size:.88rem;font-weight:600}.section-head a:hover{text-decoration:underline}.appointments-view-all{font-size:.88rem;font-weight:700}.page-card{display:grid;gap:1rem}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-head h1{margin:.18rem 0 0;font-family:Poppins,sans-serif;font-size:1.7rem;color:#1e2b46}.page-eyebrow{margin:0;color:#627595;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-subtitle{margin:.35rem 0 0;color:#6f7c95;font-size:.92rem}.page-head-actions{display:flex;align-items:center;gap:.7rem}.page-primary-action{border:0;border-radius:.95rem;background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 12px 22px #4b39ef2e}.page-card-full{min-height:0;align-content:start}.page-head-stack{gap:.65rem}.new-appointment-topbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.page-back-button{border:1px solid #d9e3f2;border-radius:999px;background:#fff;color:#3f4f6c;padding:.55rem .9rem;display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.page-back-button svg{width:1rem;height:1rem}.page-breadcrumb{display:inline-flex;align-items:center;gap:.45rem;color:#75829c;font-size:.82rem;font-weight:700}.page-breadcrumb-link{border:0;padding:0;background:transparent;color:#75829c;font:inherit;font-weight:700;cursor:pointer}.page-breadcrumb strong{color:#4a59d7}.dentist-session-back-btn{border:1px solid #d8e3f3;border-radius:999px;background:#fff;color:#25324d;display:inline-flex;align-items:center;gap:.35rem;min-height:2.15rem;padding:.38rem .8rem;font-size:.82rem;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #1e2b4914}.dentist-session-back-btn:hover,.dentist-session-back-btn:focus-visible{border-color:#9aafe0;color:#3040a4}.dentist-session-draft-badge{border:1px solid #bfe9dc;border-radius:999px;background:#effcf7;color:#13775a;padding:.34rem .7rem;font-size:.76rem;font-weight:800}.new-appointment-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem;align-items:stretch}.new-appointment-page{display:grid;gap:1rem;align-content:start}.new-appointment-main,.new-appointment-side{min-width:0}.new-appointment-main{display:grid;gap:1rem;justify-items:stretch}.new-appointment-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:1rem;align-items:start}.new-appointment-process-column{display:grid;gap:.85rem;min-width:0}.new-appointment-procedure{display:grid;gap:.85rem}.new-appointment-column{display:grid;gap:1rem;min-width:0;height:100%}.new-appointment-panel,.new-appointment-side-card{border:1px solid #e2eaf5;border-radius:1.05rem;background:#fbfdff;box-shadow:inset 0 1px #ffffffd9}.new-appointment-panel{padding:.9rem;display:grid;gap:.9rem;width:100%;margin:0;justify-self:stretch}.new-appointment-panel-section{display:grid;gap:.78rem}.new-appointment-mode-row{display:flex;align-items:center;justify-content:flex-end;margin-left:auto}.new-appointment-step{align-content:start}.new-appointment-step-head{display:flex;align-items:center;min-width:0;border:1px solid #dfe6ff;border-radius:.85rem;background:var(--primary-soft);padding:.62rem .72rem}.new-appointment-step-head .page-eyebrow{color:var(--primary-strong)}.new-appointment-process-indicator{--process-progress-scale: 0;--process-complete-color: var(--primary-strong);position:relative;grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;justify-self:center;width:min(100%,1000px);padding:.45rem .15rem .2rem;min-height:70px}.new-appointment-process-indicator:before,.new-appointment-process-indicator:after{content:"";position:absolute;top:1.15rem;left:calc(100% / 6);right:calc(100% / 6);height:3px;border-radius:999px}.new-appointment-process-indicator:before{background:#c8d1dd}.new-appointment-process-indicator:after{background:var(--process-complete-color);transform:scaleX(var(--process-progress-scale));transform-origin:left center;transition:transform .18s ease}.new-appointment-process-step{position:relative;z-index:1;display:grid;align-items:center;justify-items:center;gap:.42rem;min-width:0;color:#5f6875;text-align:center}.new-appointment-process-step span{width:1.55rem;height:1.55rem;border-radius:999px;border:2px solid #aeb8c4;background:#fbfdff;color:#6f7c8e;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:800;box-shadow:0 0 0 4px #fbfdff}.new-appointment-process-step strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.7rem;font-weight:800;line-height:1.25;text-transform:uppercase}.new-appointment-process-step.is-current span{border-color:#8f99aa;color:#5f6875;box-shadow:0 0 0 4px #fbfdff}.new-appointment-process-step.is-current strong{color:#5f6875}.new-appointment-process-step.is-complete{color:var(--process-complete-color)}.new-appointment-process-step.is-complete span{border-color:var(--process-complete-color);background:var(--primary-soft);color:#fff;font-size:0}.new-appointment-process-step.is-complete span:before{content:"";width:.42rem;height:.72rem;border-right:2px solid var(--process-complete-color);border-bottom:2px solid var(--process-complete-color);transform:rotate(45deg) translate(-1px,-1px)}.new-appointment-details-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:1rem;align-items:start}.new-appointment-form-card{height:100%}.new-appointment-form-card .new-appointment-panel-section{gap:1rem}.new-appointment-form-block{display:grid;gap:.82rem}.new-appointment-form-divider{border-top:1px solid #e7eef8}.new-appointment-block-head{display:grid;gap:.16rem}.new-appointment-block-head h2{margin:0;font-family:Poppins,sans-serif;font-size:1rem;color:#1e2b46}.new-appointment-patient-stack{display:grid;gap:.82rem}.new-appointment-inline-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.28rem}.new-appointment-inline-note{color:#72809c;font-size:.73rem;font-weight:700;line-height:1.4}.new-appointment-panel-section+.new-appointment-panel-section{margin-top:.95rem;padding-top:.95rem;border-top:1px solid #e7eef8}.new-appointment-side{position:static;display:grid;gap:1rem;align-content:start}.new-appointment-side-card{padding:.9rem;display:grid;gap:.78rem}.new-appointment-section-head{display:flex;align-items:start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.new-appointment-section-head h2,.new-appointment-side-card h2{margin:.18rem 0 0;font-family:Poppins,sans-serif;font-size:1.05rem;color:#1e2b46}.new-appointment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.new-appointment-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.new-appointment-toggle{display:inline-flex;align-items:center;gap:.5rem;color:#42516d;font-size:.76rem;font-weight:700}.pill-tabs,.patient-mode-tabs{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.35rem;width:fit-content;padding:.3rem;border-radius:.95rem;background:#f1f5fb;border:1px solid #dfe7f3}.pill-tab,.patient-mode-tab{border:0;border-radius:.75rem;background:transparent;color:#6f7c95;padding:.62rem .95rem;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.pill-tab.is-active,.patient-mode-tab.is-active{background:#fff;color:#253758;box-shadow:0 8px 18px #1f325814}.patient-mode-tabs .pill-tab.is-active,.patient-mode-tabs .patient-mode-tab.is-active{background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 12px 20px #4b39ef33}.patient-mode-panel{display:grid;gap:.72rem;padding:.85rem .9rem;border:1px solid #e3ebf6;border-radius:.95rem;background:linear-gradient(180deg,#fcfdff,#f7faff)}.new-appointment-step .patient-mode-panel{padding:0;border:0;border-radius:0;background:transparent}.patient-mode-selected-state{display:grid;gap:.55rem}.patient-mode-copy{margin:0;color:#6f7c95;font-size:.78rem;line-height:1.55}.patient-empty-inline{margin:0;color:#72809c;font-size:.77rem;line-height:1.55}.new-appointment-toggle.is-inline{align-self:end;min-height:46px}.new-appointment-toggle input{accent-color:#4b39ef}.patient-search-results{display:grid;gap:.55rem;max-height:210px;overflow:auto;padding-right:.2rem}.patient-search-result{width:100%;border:1px solid #dbe5f2;border-radius:.9rem;background:#fff;color:#2a3a59;padding:.68rem .78rem;text-align:left;font:inherit;display:grid;gap:.22rem;cursor:pointer}.patient-search-result-main{display:flex;align-items:center;gap:.72rem}.patient-search-result-copy{display:grid;gap:.18rem;min-width:0}.patient-search-result-meta,.patient-search-result-latest{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-search-result-latest{color:#536688;font-weight:700}.patient-search-result strong,.patient-summary-card strong{font-size:.88rem;color:#203150}.patient-search-result span,.patient-summary-card span,.new-appointment-side-copy,.new-appointment-summary span{color:#73809b;font-size:.76rem}.patient-search-result:hover{background:#f6f9ff;border-color:#cfdbef}.patient-summary-card{border:1px solid #d9e4f2;border-radius:.95rem;background:linear-gradient(140deg,#f4f8ff,#fff);padding:.75rem .82rem;display:grid;gap:.7rem}.patient-summary-card-compact{padding:.86rem .92rem}.patient-empty-state{border:1px dashed #d7e2f1;border-radius:.95rem;background:linear-gradient(180deg,#fbfdff,#f6faff);padding:1rem 1.05rem;display:grid;gap:.35rem}.patient-empty-state strong{font-size:.88rem;color:#233452}.patient-empty-state span{color:#72809c;font-size:.78rem;line-height:1.6}.patient-selected-compact{border:1px solid #d9e4f2;border-radius:.95rem;background:linear-gradient(180deg,#fbfdff,#f5f9ff);padding:.85rem .95rem;display:grid;gap:.55rem}.booking-selected-patient{position:relative;border-color:#d7d2ff;background:linear-gradient(145deg,#f6f2ff,#eef4ff);box-shadow:0 14px 26px #4b39ef1a;overflow:hidden}.booking-selected-patient:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#6d5cff,#4b39ef)}.booking-selected-patient .patient-selected-compact-head strong{color:#2b2384}.booking-selected-patient .patient-selected-compact-copy span{color:#5d6893}.patient-selected-compact-head{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.patient-selected-compact-head>div{display:grid;gap:.18rem;min-width:0}.patient-selected-compact-head strong{color:#203150;font-size:.92rem}.patient-selected-compact-copy{display:grid;gap:.18rem}.patient-selected-compact-copy span{color:#73809b;font-size:.78rem;line-height:1.45}.patient-summary-top{display:flex;align-items:start;justify-content:space-between;gap:.8rem}.patient-summary-top>div,.patient-summary-copy{display:grid;gap:.2rem}.patient-summary-identity{display:flex;align-items:center;gap:.82rem}.patient-summary-toggle{border:0;background:transparent;color:#4859d8;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;padding:0}.patient-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .8rem}.patient-summary-grid div,.patient-profile-row{display:grid;gap:.12rem}.patient-summary-grid small,.patient-profile-row small{color:#70809b;font-size:.69rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.patient-summary-grid span,.patient-profile-row span{color:#243451;font-size:.8rem;line-height:1.45}.patient-profile-details{display:grid;gap:.8rem;border-top:1px solid #dde7f3;padding-top:.8rem}.patient-profile-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.patient-profile-group{display:grid;gap:.5rem;border:1px solid #e4ebf6;border-radius:.85rem;background:#fff;padding:.75rem .8rem}.patient-profile-group h3{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:.82rem}.patient-profile-notes{display:grid;gap:.75rem;border:1px solid #e4ebf6;border-radius:.85rem;background:#fff;padding:.75rem .8rem}.slot-chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.52rem}.slot-chip{border:1px solid #dbe5f2;border-radius:.85rem;background:#fff;color:#344566;padding:.64rem .72rem;font:inherit;font-size:.77rem;font-weight:700;cursor:pointer}.slot-chip.is-selected{background:#ece9ff;border-color:#cabfff;color:#4332d5}.new-appointment-summary{border-top:1px solid #e4edf7;padding-top:.85rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.new-appointment-slot-card{display:grid;gap:.8rem;height:100%;align-content:start}.new-appointment-slot-layout{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(340px,1.08fr);gap:1rem;align-items:start}.new-appointment-slot-panel{display:grid;gap:.78rem;min-width:0;align-content:start;height:100%}.new-appointment-slot-heading{color:#435470;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.new-appointment-slot-loading{display:flex;align-items:center;gap:.62rem;min-height:2.75rem;border:1px solid #e1e9f5;border-radius:.85rem;background:#f8fbff;color:#52617c;padding:.72rem .82rem;font-size:.8rem;font-weight:700}.new-appointment-slot-spinner{width:1rem;height:1rem;border:2px solid #d6e1f0;border-top-color:#4157d8;border-radius:999px;flex:0 0 auto;animation:page-refresh-spin .8s linear infinite}.new-appointment-date-calendar{border:1px solid #e2eaf5;border-radius:1.2rem;background:#fff;padding:.9rem;box-shadow:inset 0 1px #ffffffe6;width:100%;justify-self:stretch}.new-appointment-date-calendar.month-date-picker.is-compact{width:100%;max-width:none;justify-self:stretch}.new-appointment-date-calendar.month-date-picker.is-compact .month-date-picker-grid,.new-appointment-date-calendar.month-date-picker.is-compact .month-date-picker-weekdays{gap:.34rem}.new-appointment-date-calendar.month-date-picker.is-compact .month-date-picker-day{min-height:44px;font-size:.84rem}.new-appointment-summary div{display:grid;gap:.16rem}.new-appointment-summary strong{color:#223250;font-size:.84rem}.new-appointment-booking-summary{position:sticky;top:1rem;display:grid;gap:.9rem;border:1px solid #e2eaf5;border-radius:1.05rem;background:#fbfdff;padding:.95rem;box-shadow:inset 0 1px #ffffffd9}.new-appointment-summary-head{display:flex;align-items:center;min-width:0;border:1px solid #dfe6ff;border-radius:.85rem;background:var(--primary-soft);padding:.62rem .72rem}.new-appointment-summary-head .page-eyebrow{color:var(--primary-strong)}.new-appointment-summary-groups{display:grid;gap:.72rem}.new-appointment-summary-group{display:grid;gap:.48rem;border:1px solid #e5edf7;border-radius:.9rem;background:#fff;padding:.7rem .75rem}.new-appointment-summary-group h3{margin:0;color:#253758;font-family:Poppins,sans-serif;font-size:.82rem}.new-appointment-summary-row{display:grid;grid-template-columns:minmax(88px,.7fr) minmax(0,1fr);gap:.65rem;align-items:baseline}.new-appointment-summary-row+.new-appointment-summary-row{border-top:1px solid #edf2f8;padding-top:.42rem}.new-appointment-summary-row span{color:#72809c;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.new-appointment-summary-row strong{color:#243451;font-size:.82rem;line-height:1.45;text-align:right}.new-appointment-summary-row.is-primary{grid-template-columns:1fr;gap:.12rem}.new-appointment-summary-row.is-primary strong{color:#1e2b46;font-size:.9rem;text-align:left}.new-appointment-summary-actions{display:grid;gap:.58rem;border-top:1px solid #e7eef8;padding-top:.85rem}.new-appointment-missing-hint{display:grid;gap:.42rem;border:1px solid #f2d8a8;border-radius:.85rem;background:#fff8e8;color:#6f4f12;padding:.7rem .78rem;font-size:.78rem;line-height:1.45}.new-appointment-missing-hint strong{color:#5c4210;font-size:.8rem}.new-appointment-missing-hint ul{display:grid;gap:.28rem;margin:0;padding-left:1.1rem}.new-appointment-missing-hint li{padding-left:.1rem}.new-appointment-summary-actions .primary-btn,.new-appointment-summary-actions .secondary-btn{width:100%;justify-content:center}.new-appointment-footer{display:flex;align-items:center;justify-content:flex-end;gap:.7rem}.new-appointment-page .page-eyebrow{font-size:.68rem}.new-appointment-page .page-head h1{font-size:1.45rem}.new-appointment-page .page-subtitle{font-size:.84rem}.new-appointment-page .field-label{font-size:.82rem}.new-appointment-page .field-group input,.new-appointment-page .field-group select,.new-appointment-page .field-group textarea{padding:.66rem .78rem;font-size:.82rem}.new-appointment-page .field-group input.is-readonly{background:#f5f8fd;border-color:#d8e2f0;color:#344566;font-weight:700;cursor:default}.calendar-page{display:grid;gap:1rem;align-content:start}.calendar-page-topbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.calendar-page-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.calendar-page-card{gap:1rem}.locum-availability-page{display:grid;gap:.75rem;align-content:start;width:min(100%,1120px)}.locum-availability-topbar{display:flex;align-items:center;justify-content:flex-start}.locum-availability-layout{display:grid;grid-template-columns:minmax(280px,330px) minmax(360px,520px);gap:.85rem;justify-content:flex-start;align-items:start}.locum-calendar-card,.locum-form-card{align-content:start}.locum-availability-page .page-head{gap:.55rem}.locum-availability-page .page-head h1{font-size:1.4rem}.locum-availability-page .page-subtitle{margin-top:.18rem;font-size:.82rem;max-width:620px}.month-date-picker{display:grid;gap:.82rem}.month-date-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.month-date-picker-toolbar strong{font-family:Poppins,sans-serif;font-size:1.08rem;color:#1f2f4a}.month-date-picker .calendar-nav-btn{width:2.1rem;height:2.1rem;border-radius:.82rem;border-color:#dce6f3;color:#586783}.month-date-picker .calendar-nav-btn:hover{border-color:#c9d7ea;background:#f8fbff}.month-date-picker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.42rem}.month-date-picker-weekdays span{text-align:center;color:#7c8aa5;font-size:.78rem;font-weight:700;text-transform:none;letter-spacing:0}.month-date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.42rem}.month-date-picker-day{border:1px solid #dce6f3;border-radius:.92rem;background:#fff;min-height:52px;aspect-ratio:1 / 1;padding:0;position:relative;display:flex;align-items:center;justify-content:center;color:#21324f;font:inherit;font-size:.94rem;font-weight:700;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,transform .12s ease,box-shadow .12s ease}.month-date-picker-day.has-date-marker.is-unavailable{border-color:#f0c6c6;background:#fff8f8;color:#9e3232}.month-date-picker-day-marker{position:absolute;bottom:.34rem;left:50%;width:.34rem;height:.34rem;border-radius:999px;background:#d83f3f;transform:translate(-50%);box-shadow:0 0 0 2px #d83f3f1a}.month-date-picker-day.is-placeholder{border-color:transparent;background:transparent;box-shadow:none;cursor:default;pointer-events:none;visibility:hidden}.month-date-picker-day:hover{border-color:#c5d3e6;background:#f8fbff;transform:translateY(-1px)}.month-date-picker-day.is-outside{color:#a3aec3;background:#f8fbff}.month-date-picker-day.is-today{border-color:#c7d4ea;background:#f8fbff;box-shadow:inset 0 0 0 1px #d7e1f1}.month-date-picker-day.is-selected{border-color:#4b39ef;background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 12px 20px #4b39ef33}.month-date-picker-day.is-selected .month-date-picker-day-marker{background:#fff;box-shadow:0 0 0 2px #ffffff42}.month-date-picker-footer{padding:.85rem .95rem;border:1px solid #e3eaf5;border-radius:1rem;background:#fff;display:grid;gap:.2rem}.month-date-picker-footer strong{color:#243553;font-size:.98rem}.month-date-picker.is-compact{gap:.72rem;width:min(100%,348px)}.month-date-picker.is-compact .month-date-picker-toolbar strong{font-size:1rem}.month-date-picker.is-compact .month-date-picker-weekdays span{font-size:.7rem}.month-date-picker.is-compact .month-date-picker-grid{gap:.3rem}.month-date-picker.is-compact .month-date-picker-day{min-height:40px;padding:0;border-radius:.8rem;font-size:.82rem}.month-date-picker.is-compact .month-date-picker-footer{padding:.65rem .75rem}.month-date-picker.is-compact .month-date-picker-footer strong{font-size:.86rem}.locum-form-card{display:grid;gap:0}.locum-month-picker{gap:.45rem}.locum-calendar-card .month-date-picker-toolbar{gap:.55rem}.locum-calendar-card .month-date-picker-weekdays span{font-size:.64rem}.locum-calendar-card .month-date-picker-grid{gap:.28rem}.locum-calendar-card .month-date-picker-day{min-height:40px;padding:.38rem .18rem;border-radius:.72rem;font-size:.74rem}.locum-calendar-card .month-date-picker-footer{display:none}.locum-form-card .new-appointment-panel-section{gap:.65rem}.locum-availability-page .field-label{font-size:.82rem}.locum-availability-page .field-group input,.locum-availability-page .field-group select,.locum-availability-page .field-group textarea{padding:.68rem .78rem;font-size:.84rem}.locum-form-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e7eef8;display:flex;justify-content:flex-end}.locum-form-footer .page-primary-action{min-width:150px}@media(max-width:1100px){.locum-availability-layout{grid-template-columns:1fr}}.appointment-payment-modal .modal-body,.locum-modal-shell .modal-body{display:grid;gap:.85rem}.appointment-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.appointment-payment-summary-card,.appointment-payment-row-card{border:1px solid #e4ebf6;border-radius:1rem;background:#fbfdff;padding:.85rem .95rem}.appointment-payment-summary-card{display:grid;gap:.2rem}.appointment-payment-summary-card span,.appointment-payment-row-head span{color:#7b88a2;font-size:.78rem}.appointment-payment-summary-card strong{color:#20314e;font-size:1rem}.appointment-payment-summary-card small{color:#5f6f8b;font-size:.78rem}.appointment-payment-mode-switch{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem;border:1px solid #e3eaf5;border-radius:999px;background:#f7f9fc}.appointment-payment-mode-btn{border:0;border-radius:999px;background:transparent;color:#51627f;padding:.55rem .95rem;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.appointment-payment-mode-btn.is-active{background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 10px 18px #4b39ef29}.appointment-payment-row-list{display:grid;gap:.75rem}.appointment-payment-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.75rem}.appointment-payment-row-head strong{display:block;color:#22324f;font-size:.94rem}.appointment-payment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .85rem}.appointment-payment-extra-actions{display:flex;justify-content:flex-start}.secondary-btn.is-compact{padding:.42rem .7rem;font-size:.76rem;min-height:auto}.locum-modal-layout{display:grid;grid-template-columns:minmax(300px,332px) minmax(0,1fr);gap:.85rem;align-items:start}.locum-modal-calendar,.locum-modal-form{min-width:0}.locum-modal-form{display:grid;gap:.62rem}.locum-modal-month-picker .month-date-picker-footer{display:none}.locum-modal-calendar{border:1px solid #e2eaf5;border-radius:1.2rem;background:#fff;padding:.9rem;box-shadow:inset 0 1px #ffffffe6;width:100%}.locum-modal-shell .field-label,.appointment-payment-modal .field-label{font-size:.82rem}.locum-modal-shell{width:min(100%,720px)}.locum-modal-shell .field-group input,.locum-modal-shell .field-group select,.dentist-leave-modal-shell .field-group input,.dentist-leave-modal-shell .field-group select,.dentist-leave-modal-shell .field-group textarea,.appointment-payment-modal .field-group input,.appointment-payment-modal .field-group select{padding:.68rem .78rem;font-size:.84rem}.locum-modal-records{margin-top:.9rem;display:grid;gap:.55rem}.locum-modal-records-head h3{margin:0;color:#20283a;font-size:.95rem;font-weight:800}.locum-modal-records-empty{margin:0;color:#70809c;font-size:.84rem}.locum-modal-record-list{display:grid;gap:.45rem}.locum-modal-record-row{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(0,1.5fr) minmax(92px,.9fr) auto;gap:.6rem;align-items:center;border:1px solid #e2eaf5;border-radius:.5rem;background:#fff;padding:.62rem .7rem;color:#2a3548;font-size:.84rem}.locum-modal-record-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locum-modal-delete-btn{border:1px solid #ffd4d4;border-radius:.5rem;background:#fff7f7;color:#c81e1e;padding:.42rem .62rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.locum-modal-delete-btn:hover:enabled{background:#ffecec}.locum-modal-delete-btn:disabled{opacity:.6;cursor:not-allowed}.dentist-leave-modal-shell{width:min(100%,640px)}.dentist-leave-modal-body{display:grid;gap:.82rem}.dentist-leave-modal-shell .field-label{font-size:.82rem}@media(max-width:920px){.appointment-payment-summary,.appointment-payment-form-grid,.locum-modal-layout,.locum-modal-record-row{grid-template-columns:1fr}}.calendar-page-head{align-items:flex-start}.calendar-controls-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem}.calendar-controls-group{display:flex;align-items:center;gap:.65rem;min-width:0}.calendar-controls-group.is-left{justify-content:flex-start;overflow:visible;flex-wrap:wrap;scrollbar-width:none}.calendar-controls-group.is-left::-webkit-scrollbar{display:none}.calendar-controls-group.is-center{justify-content:center}.calendar-controls-group.is-right{justify-content:flex-end;flex-wrap:wrap}.calendar-range-nav{display:inline-flex;align-items:center;gap:.55rem;border:1px solid #dbe5f2;border-radius:999px;background:#f9fbff;padding:.18rem .35rem;min-height:42px}.calendar-range-nav strong{min-width:10.5rem;text-align:center;color:#263656;font-size:.84rem;font-weight:700}.calendar-nav-btn,.calendar-view-btn,.calendar-utility-btn{border:1px solid #dbe5f2;background:#fff;color:#50607f;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.calendar-nav-btn{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.calendar-nav-btn svg{width:.95rem;height:.95rem}.calendar-view-switch{display:inline-flex;align-items:center;gap:.28rem;padding:.18rem;border-radius:999px;border:1px solid #dbe5f2;background:#f9fbff;min-height:42px}.calendar-view-btn{min-width:3.8rem;min-height:2rem;padding:.35rem .75rem;border:0;border-radius:999px;background:transparent}.calendar-view-btn.is-active{background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 10px 18px #4b39ef2e}.calendar-dentist-filter{position:relative;min-width:220px}.calendar-dentist-filter-trigger{width:100%;border:1px solid #dbe5f2;border-radius:.8rem;background:#fff;color:#2b3c5b;padding:.72rem .8rem;font:inherit;display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left;cursor:pointer}.calendar-dentist-filter-trigger strong{color:#2b3c5b;font-size:.94rem;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-utility-btn{min-height:42px;padding:.68rem 1rem;border-radius:11px}.calendar-dentist-filter-trigger svg{width:1rem;height:1rem;flex-shrink:0;transition:transform .14s ease}.calendar-dentist-filter-trigger.is-open svg{transform:rotate(180deg)}.calendar-dentist-filter-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:30;width:min(320px,80vw);border:1px solid #dbe5f2;border-radius:1rem;background:#fffffffa;box-shadow:0 18px 40px #17244024;padding:.7rem;display:grid;gap:.55rem}.calendar-dentist-option-list{display:grid;gap:.32rem;max-height:240px;overflow-y:auto;padding-right:.1rem}.calendar-dentist-option{border:1px solid #edf2f8;border-radius:.85rem;background:#fff;padding:.6rem .65rem;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.55rem;cursor:pointer}.calendar-dentist-option.is-all{grid-template-columns:auto 1fr;background:#f8fbff}.calendar-dentist-option input{width:1rem;height:1rem;margin:0}.calendar-dentist-option-copy{min-width:0;display:grid;gap:.05rem}.calendar-dentist-option-copy strong{color:#253555;font-size:.8rem;font-weight:700}.calendar-dentist-option-copy small{color:#72809b;font-size:.7rem;font-weight:600}.calendar-legend-swatch{width:.56rem;height:.56rem;border-radius:50%;background:var(--calendar-accent, var(--primary));box-shadow:0 0 0 3px color-mix(in srgb,var(--calendar-accent, var(--primary)) 16%,transparent);flex-shrink:0}.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.42rem;min-width:0;width:100%}.calendar-legend-chip{border:1px solid var(--calendar-event-border, #dbe5f2);background:var(--calendar-event-bg, #f7f8ff);color:var(--calendar-event-text, #243451);border-radius:999px;display:inline-flex;align-items:center;gap:.36rem;padding:.34rem .54rem;font:inherit;font-size:.73rem;font-weight:700;line-height:1;text-decoration:none;min-width:0;max-width:none;flex:0 0 auto}.calendar-legend-chip.is-interactive{cursor:pointer}.calendar-legend-chip.is-interactive:hover{transform:translateY(-1px)}.calendar-legend-chip.is-dimmed{background:#fff;border-color:#e0e8f3;color:#8290a8;opacity:.56}.calendar-legend-chip span:last-child{white-space:nowrap;overflow:visible;text-overflow:clip}.calendar-details-modal-body{display:grid;gap:.85rem}.calendar-details-modal-intro{display:grid;gap:.18rem}.calendar-details-modal-intro strong{color:#243451;font-size:.96rem;line-height:1.2}.calendar-details-modal-intro span{color:#6f7d96;font-size:.83rem}.calendar-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .85rem}.calendar-details-grid div{display:grid;gap:.14rem}.calendar-details-grid span,.calendar-details-note span{color:#7c89a1;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.calendar-details-grid strong{color:#243451;font-size:.82rem;line-height:1.35}.calendar-details-status-row{display:flex;flex-wrap:wrap;gap:.45rem}.calendar-details-note{display:grid;gap:.24rem}.calendar-details-note p{margin:0;color:#42526d;font-size:.83rem;line-height:1.45}:root{--calendar-type-label-size: .66rem;--calendar-type-label-weight: 700;--calendar-type-title-size: .74rem;--calendar-type-title-weight: 600;--calendar-type-meta-size: .62rem;--calendar-type-meta-weight: 500;--calendar-type-appointment-size: .67rem;--calendar-type-appointment-weight: 600}.calendar-week-schedule-wrap{overflow:auto;border:1px solid #e2eaf5;border-radius:1rem;background:#fff}.calendar-week-schedule{display:grid;min-width:100%;grid-template-rows:auto 1fr}.calendar-week-schedule-corner{position:sticky;top:0;left:0;z-index:14;border-right:1px solid #e5edf7;border-bottom:1px solid #e5edf7;background:#fff;color:#7b88a1;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;min-height:4.2rem}.calendar-week-schedule-day-head{position:sticky;top:0;z-index:13;border:0;border-left:1px solid #e5edf7;border-bottom:1px solid #e5edf7;background:#fff;padding:.72rem .7rem;display:grid;gap:.1rem;text-align:left;cursor:pointer}.calendar-week-schedule-day-head+.calendar-week-schedule-day-head{border-left-width:3px;border-left-color:#d7e1f0}.calendar-week-schedule-day-head.is-blocked{background:#f9fbff}.calendar-week-schedule-day-head.is-holiday{background:#fff8e8}.calendar-week-schedule-day-head.is-clinic-closed{background:#f3f4f6}.calendar-week-schedule-day-head span{color:#7b88a1;font-size:var(--calendar-type-label-size);font-weight:var(--calendar-type-label-weight);text-transform:uppercase;letter-spacing:.05em}.calendar-week-schedule-day-head strong{color:#223250;font-size:var(--calendar-type-title-size);font-weight:var(--calendar-type-title-weight)}.calendar-week-schedule-day-head small{color:#7f8ca5;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-meta-weight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-week-schedule-time-rail{position:sticky;left:0;z-index:12;display:grid;grid-column:1;border-right:1px solid #e5edf7;background:#fff}.calendar-week-schedule-time-cell{border-bottom:1px solid #edf2f8;padding:.12rem .5rem 0;display:flex;justify-content:flex-end;align-items:flex-start;background:#fff}.calendar-week-schedule-time-cell span{color:#7f8ca5;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-meta-weight)}.calendar-week-day-column{position:relative;border-left:1px solid #e5edf7;background:#fff}.calendar-week-day-column+.calendar-week-day-column{border-left-width:3px;border-left-color:#d7e1f0}.calendar-week-day-column.is-day-blocked{background:#f9fbff}.calendar-week-day-column.is-holiday{background:#fff8e8}.calendar-week-day-column.is-clinic-closed{background:#f3f4f6}.calendar-week-day-lanes{display:grid;height:100%}.calendar-week-lane{position:relative;min-width:0;border-right:1px solid #edf2f8;background:#fff;display:block}.calendar-week-lane:last-child{border-right:0}.calendar-week-lane-head{display:none}.calendar-week-lane-avatar{width:1.34rem;height:1.34rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:color-mix(in srgb,var(--calendar-accent, var(--primary)) 12%,#fff);color:var(--calendar-accent-text, #243451);border:1px solid color-mix(in srgb,var(--calendar-accent, var(--primary)) 22%,#dbe4f2);font-size:.56rem;font-weight:700;letter-spacing:.06em}.calendar-week-lane-head-copy{min-width:0;display:grid;gap:.06rem}.calendar-week-lane-dot{width:.36rem;height:.36rem;border-radius:50%;background:var(--calendar-accent, var(--primary));flex-shrink:0}.calendar-week-lane-head-copy strong{color:#243451;font-size:.66rem;font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-week-lane-head-copy small{color:#7e8ba4;font-size:.55rem;font-weight:600;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-week-lane-badge{margin-left:auto;border:1px solid #d7dfeb;background:#eef2f7;color:#576883;border-radius:999px;padding:.14rem .36rem;font-size:.56rem;font-weight:800;line-height:1;white-space:nowrap}.calendar-week-lane-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);background:#fcfdff;overflow:hidden}.calendar-week-lane-status{position:absolute;top:.2rem;left:.24rem;right:auto;z-index:3;display:flex;pointer-events:none}.calendar-week-lane-status span{border:0;background:transparent;color:#5f6f87;border-radius:0;padding:0;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-meta-weight);line-height:1;white-space:nowrap}.calendar-week-lane-status.is-leave span{color:#5f6f87}.calendar-week-lane-cell{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-bottom:1px solid #edf2f8;border-top:0;border-left:0;border-right:0;outline:none;background:#fff;padding:0;cursor:default}.calendar-week-lane-cell.is-unavailable{background:#f4f6f8}.calendar-week-lane-cell.is-break{background:#f3f7fc}.calendar-week-lane-cell.is-leave{background:color-mix(in srgb,var(--calendar-accent, #6754b7) 18%,#fff)}.calendar-week-lane-cell.is-closed{background:#eef1f4}.calendar-week-lane-cell.is-outside-hours{background:#f4f6f8}.calendar-week-lane-cell.is-occupied{background:color-mix(in srgb,var(--calendar-accent, var(--primary)) 10%,#ffffff)}.calendar-week-day-column.is-day-blocked .calendar-week-lane-cell{background:transparent}.calendar-week-lane-cell.is-clickable{cursor:pointer}.calendar-week-lane-cell-label{position:absolute;left:.22rem;right:.22rem;top:.18rem;display:inline-flex;align-items:center;width:fit-content;max-width:calc(100% - .44rem);padding:0;border-radius:0;background:transparent;color:#5b6982;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-meta-weight);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;pointer-events:none}.calendar-week-lane-cell-label.is-closed{color:#626d7a}.calendar-week-lane-cell-label.is-break{color:#667993}.calendar-week-lane-cell-label.is-leave{color:var(--calendar-accent, #6754b7)}.calendar-week-lane-cell-label.is-unavailable{color:#667385}.calendar-week-lane-cell-hover{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:.55rem;border:1px dashed rgba(75,57,239,0);background:#4b39ef00;transition:background .14s ease,border-color .14s ease}.calendar-week-lane-cell.is-clickable:hover .calendar-week-lane-cell-hover{border-color:#4b39ef3d;background:#4b39ef0a}.calendar-week-lane-cell-action{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#4b39ef;font-size:.72rem;font-weight:800;line-height:1;opacity:0;pointer-events:none;transform:translateY(2px);transition:opacity .14s ease,transform .14s ease}.calendar-week-lane-cell.is-clickable:hover .calendar-week-lane-cell-action,.calendar-week-lane-cell.is-clickable:focus-visible .calendar-week-lane-cell-action{opacity:1;transform:translateY(0)}.calendar-week-appointment-block{align-self:stretch;justify-self:stretch;min-width:0;width:calc(100% - 2px);margin:1px 1px 0;border:1px solid var(--calendar-accent-border, #d5deeb);border-left:4px solid var(--calendar-accent, var(--primary));border-radius:.18rem;background:color-mix(in srgb,var(--calendar-accent, var(--primary)) 16%,#ffffff);box-shadow:inset 0 1px #ffffffb8,0 4px 12px #141f3514;cursor:pointer;z-index:2;padding:.18rem .24rem;display:grid;align-content:start;gap:.08rem;overflow:hidden}.calendar-week-appointment-block:hover{background:color-mix(in srgb,var(--calendar-accent, var(--primary)) 22%,#ffffff);box-shadow:inset 0 1px #ffffffc2,0 8px 18px #141f351f}.calendar-week-appointment-block.is-small{padding:.12rem .18rem}.calendar-week-appointment-block.is-compact{align-items:center;padding:.06rem .18rem}.calendar-week-appointment-top{display:block}.calendar-week-appointment-badge{display:none}.calendar-week-appointment-title{color:var(--calendar-accent-text, #31415f);min-width:0;font-size:var(--calendar-type-appointment-size);font-weight:var(--calendar-type-appointment-weight);line-height:1.16;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.calendar-week-appointment-title.is-small{font-size:var(--calendar-type-meta-size);line-height:1.08}.calendar-week-appointment-title.is-compact{display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset;font-size:var(--calendar-type-meta-size);line-height:1;white-space:nowrap;text-overflow:ellipsis}.calendar-week-appointment-meta{color:#7a89a4;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-meta-weight);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-week-day-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ecf2f9c7;pointer-events:none;display:flex;align-items:flex-start;justify-content:center;padding-top:.55rem;z-index:1}.calendar-week-day-overlay.is-clinic-closed{background:#e5e9eed1}.calendar-week-day-overlay.is-holiday{background:#fff2c4cc}.calendar-week-day-overlay span{color:#667993;border-radius:0;padding:0;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-meta-weight);line-height:1}.calendar-week-day-overlay.is-clinic-closed span{color:#5e6875}.calendar-week-day-closure-band{position:absolute;left:0;right:0;background:#ecf2f9c7;display:flex;align-items:flex-start;justify-content:center;padding-top:.16rem;pointer-events:none;z-index:1}.calendar-week-day-closure-band span{color:#667993;border-radius:0;padding:0;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-meta-weight);line-height:1}.calendar-day-dentist-head{display:flex;align-items:center;justify-content:center;gap:.46rem}.calendar-day-dentist-dot{width:.56rem;height:.56rem;border-radius:50%;background:var(--calendar-accent, var(--primary));flex-shrink:0}.calendar-day-slot{display:flex;align-items:center;justify-content:center}.calendar-day-slot.is-occupied{pointer-events:none}.calendar-day-occupied-block{position:absolute;z-index:5;left:.72rem;right:.72rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--calendar-event-border, #dbe5f2);background:color-mix(in srgb,var(--calendar-accent, var(--primary)) 16%,#ffffff);color:var(--calendar-event-text, #31415f);border-left:4px solid var(--calendar-accent, var(--primary));border-radius:.24rem;box-shadow:inset 0 1px #ffffffb8,0 4px 12px #141f3514;display:grid;align-content:start;gap:.18rem;padding:.42rem .5rem .46rem .58rem;overflow:hidden;text-align:left;font:inherit;cursor:pointer;transition:background .14s ease,box-shadow .14s ease,transform .14s ease}.calendar-day-occupied-block:hover{background:color-mix(in srgb,var(--calendar-accent, var(--primary)) 22%,#ffffff);box-shadow:inset 0 1px #ffffffc2,0 8px 18px #141f351f}.calendar-day-occupied-block:focus-visible{outline:2px solid color-mix(in srgb,var(--calendar-accent, var(--primary)) 40%,#ffffff);outline-offset:2px}.calendar-day-occupied-block.is-standard{gap:.14rem}.calendar-day-occupied-block.is-standard .calendar-day-occupied-patient,.calendar-day-occupied-block.is-standard .calendar-day-occupied-treatment{-webkit-line-clamp:1}.calendar-day-occupied-block.is-compact{gap:.08rem;padding:.28rem .38rem .3rem .44rem;align-content:center}.calendar-day-occupied-time{color:var(--calendar-accent-text, #52627d);font-size:.58rem;font-weight:500;line-height:1.1}.calendar-day-occupied-patient{color:var(--calendar-event-text, #31415f);font-size:.68rem;font-weight:500;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-day-occupied-treatment{color:var(--calendar-event-text, #31415f);font-size:.62rem;font-weight:500;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-day-occupied-block.is-compact .calendar-day-occupied-time{font-size:.52rem;letter-spacing:.02em}.calendar-day-occupied-block.is-compact .calendar-day-occupied-treatment{font-size:.58rem;font-weight:500;line-height:1.12;-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis}.calendar-month-summary-swatch{width:.52rem;height:.52rem;border-radius:50%;background:var(--calendar-accent, var(--primary));flex-shrink:0}.calendar-month-summary-name{min-width:0}.calendar-content-card{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.85rem;display:grid;gap:.75rem;overflow:hidden}.calendar-status-copy{margin:0;color:#66758f;font-size:.86rem}.calendar-clinic-hours-note{padding:.68rem .85rem;border-bottom:1px solid #e7edf6;background:linear-gradient(180deg,#f8fbff,#f3f7fd);color:#5c6f87;font-size:.74rem;font-weight:600;letter-spacing:.01em}.calendar-empty-state{border:1px dashed #dbe5f2;border-radius:1rem;padding:1.15rem;display:grid;gap:.25rem;color:#71809d;text-align:center}.calendar-empty-state strong{color:#263656}.calendar-empty-state.is-blocked{border-style:solid;border-color:#f2d3a6;background:linear-gradient(180deg,#fff8ee,#fff2df)}.calendar-empty-state.is-blocked strong{color:#9a6114}.calendar-empty-state.is-clinic-closed{border-color:#d5dbe3;background:linear-gradient(180deg,#f5f6f8,#eceff3)}.calendar-empty-state.is-holiday{border-color:#f0d39c;background:linear-gradient(180deg,#fff8e6,#fff1cf)}.calendar-empty-state.is-holiday strong{color:#8f6114}.calendar-empty-state.is-clinic-closed strong{color:#5f6874}.calendar-month-view{display:grid;gap:.4rem}.calendar-month-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.calendar-month-weekdays span{color:#77849d;font-size:var(--calendar-type-label-size);font-weight:var(--calendar-type-label-weight);text-transform:uppercase;letter-spacing:.05em;padding:0 .15rem}.calendar-month-cell{min-height:118px;border:1px solid #e4ebf6;border-radius:1rem;background:#fff;padding:.48rem;display:grid;align-content:start;gap:.32rem;cursor:pointer;text-align:left}.calendar-month-cell.is-outside{background:#f7f9fc}.calendar-month-cell.is-today{border-color:#cfc5ff;box-shadow:inset 0 0 0 1px #4b39ef24}.calendar-month-cell.is-holiday-blocked{background:linear-gradient(180deg,#fff8ee,#fff3e2);border-color:#f2d3a6;box-shadow:inset 0 0 0 1px #f2d3a647}.calendar-month-cell.is-clinic-closed-blocked{background:linear-gradient(180deg,#f5f6f8,#eceff3);border-color:#d5dbe3;box-shadow:inset 0 0 0 1px #aab2bd47}.calendar-month-cell-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.calendar-month-cell-head strong{color:#253555;font-size:var(--calendar-type-title-size);font-weight:var(--calendar-type-title-weight)}.calendar-month-cell-head span{color:#8490a9;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-label-weight)}.calendar-month-cell-content{display:grid;align-content:start;gap:.3rem}.calendar-month-summary-chip{border:1px solid var(--calendar-event-border, #dbe5f2);background:var(--calendar-event-bg, #f7f8ff);color:var(--calendar-event-text, #243451);border-radius:999px;display:inline-flex;align-items:center;justify-content:space-between;gap:.45rem;padding:.24rem .48rem;font-size:var(--calendar-type-appointment-size);font-weight:var(--calendar-type-appointment-weight);overflow:hidden}.calendar-month-special-chip{border:1px solid #fde0b6;background:#fff6e7;color:#9a6114;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:.24rem .48rem;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-label-weight);line-height:1}.calendar-month-special-chip.is-holiday{border-color:#f5c98d;background:#fff0d8;color:#a15d08;display:flex;width:100%;min-height:2rem;border-radius:.9rem;padding:.45rem .7rem;justify-content:center;box-shadow:inset 0 0 0 1px #f5c98d59}.calendar-month-special-chip.is-leave{border:0;border-left:3px solid #94a3b8;background:#94a3b829;color:#53627a;border-radius:.55rem;display:flex;width:100%;min-height:1.75rem;padding:.3rem .55rem;justify-content:flex-start;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-label-weight);line-height:1.15}.calendar-month-special-label{display:block;font-size:var(--calendar-type-title-size);font-weight:var(--calendar-type-title-weight);line-height:1.2;padding:.08rem .1rem .12rem}.calendar-month-special-label.is-holiday{color:#9d620f}.calendar-month-special-label.is-clinic-closed{color:#5f6874}.calendar-month-summary-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-month-summary-chip strong{color:var(--calendar-accent, var(--primary));font-size:var(--calendar-type-appointment-size);font-weight:var(--calendar-type-appointment-weight)}.calendar-month-more{color:#61708c;font-size:var(--calendar-type-appointment-size);font-weight:var(--calendar-type-label-weight)}.calendar-week-board-wrap{overflow-x:auto;padding-bottom:.15rem}.calendar-week-board{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:.75rem;min-width:1260px}.calendar-week-day{border:1px solid #e4ebf6;border-radius:1rem;background:#fff;min-height:420px;display:grid;align-content:start}.calendar-week-day.is-today{border-color:#d4cbff;box-shadow:inset 0 0 0 1px #4b39ef1f}.calendar-week-day-head{border:0;border-bottom:1px solid #edf2f8;background:transparent;padding:.72rem .7rem;display:grid;gap:.05rem;text-align:left;cursor:pointer}.calendar-week-day-head span{color:#7a86a0;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.calendar-week-day-head strong{color:#243451;font-size:.84rem}.calendar-week-day-body{padding:.62rem;display:grid;align-content:start;gap:.55rem}.calendar-week-dentist-section{border:1px solid #edf2f8;border-radius:.9rem;background:#fbfdff;display:grid;overflow:hidden}.calendar-week-dentist-head{padding:.42rem .5rem;border-bottom:1px solid #edf2f8;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.42rem}.calendar-week-dentist-dot{width:.58rem;height:.58rem;border-radius:50%;background:var(--calendar-accent, var(--primary))}.calendar-week-dentist-head strong{color:#253555;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-week-dentist-head small{color:var(--calendar-accent, var(--primary));font-size:.65rem;font-weight:800}.calendar-week-dentist-list{padding:.45rem;display:grid;gap:.34rem}.calendar-week-special-list{display:flex;flex-wrap:wrap;gap:.3rem}.calendar-week-special{border:1px solid #fde0b6;background:#fff6e7;color:#9a6114;border-radius:999px;padding:.22rem .46rem;font-size:.62rem;font-weight:800;line-height:1;cursor:default}.calendar-week-appointment{border:1px solid var(--calendar-event-border, #dbe5f2);background:var(--calendar-event-bg, #f7f8ff);color:var(--calendar-event-text, #243451);border-radius:.72rem;display:grid;gap:.06rem;padding:.34rem .42rem}.calendar-week-appointment span{color:var(--calendar-accent, var(--primary));font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.calendar-week-appointment strong{color:#243451;font-size:.69rem;line-height:1.18;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-week-empty{margin:0;color:#8f9cb3;font-size:.68rem}.calendar-day-more-btn{border:0;background:transparent;color:#4556d9;font:inherit;font-size:.68rem;font-weight:800;padding:.2rem 0;text-align:left;cursor:pointer}.calendar-day-board-wrap{overflow:auto;border:1px solid #e4ebf6;border-radius:1rem;background:#fff}.calendar-day-board{min-width:max-content}.calendar-day-head{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:88px minmax(0,1fr);border-bottom:1px solid #e7edf6;background:#fff}.calendar-day-time-spacer{position:sticky;left:0;z-index:14;border-right:1px solid #edf2f8;background:#fff;color:#7b88a1;font-size:var(--calendar-type-label-size);font-weight:var(--calendar-type-label-weight);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;min-height:3rem}.calendar-day-header-columns,.calendar-day-columns{min-width:0}.calendar-day-header-columns{display:grid}.calendar-day-dentist-head{padding:.78rem .7rem;text-align:center;border-left:1px solid #edf2f8;background:#fff}.calendar-day-dentist-head strong{font-size:var(--calendar-type-title-size);color:#243451;font-weight:var(--calendar-type-title-weight)}.calendar-day-body{display:grid;grid-template-columns:88px minmax(0,1fr)}.calendar-day-global-events{display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem .8rem 0;border-bottom:1px solid #edf2f8;background:#fffdf8}.calendar-day-time-column{position:sticky;left:0;z-index:9;display:grid;border-right:1px solid #edf2f8;background:#fff}.calendar-day-time-cell{border-bottom:1px solid #edf2f8;padding-inline:.55rem;display:flex;align-items:flex-start;justify-content:flex-end}.calendar-day-time-label{margin-top:.28rem;color:#7f8ca5;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-meta-weight)}.calendar-day-columns{display:grid;min-width:0}.calendar-day-column{border-left:1px solid #edf2f8;background:#fff}.calendar-day-column-specials{display:flex;flex-wrap:wrap;gap:.32rem;padding:.55rem .55rem .35rem;border-bottom:1px solid #edf2f8;background:#fffdf8}.calendar-day-column-schedule{position:relative}.calendar-day-blocked-banner{border:1px solid #fde0b6;background:#fff6e7;color:#9a6114;border-radius:999px;padding:.24rem .48rem;font-size:var(--calendar-type-meta-size);font-weight:var(--calendar-type-label-weight);line-height:1;cursor:default}.calendar-day-blocked-banner.is-leave{border-color:color-mix(in srgb,var(--calendar-accent, #6754b7) 30%,#d9e3f0);background:color-mix(in srgb,var(--calendar-accent, #6754b7) 12%,#ffffff);color:var(--calendar-event-text, var(--calendar-accent, #52627d))}.calendar-day-column-grid{display:grid}.calendar-day-slot{position:relative;border:0;border-bottom:1px solid #edf2f8;background:transparent;padding:0}.calendar-day-slot-free.is-clickable{cursor:pointer}.calendar-day-slot-free.is-clickable:hover{background:#4b39ef0a}.calendar-day-slot-break{background:#f3f7fc}.calendar-day-slot-leave{background:color-mix(in srgb,var(--calendar-accent, #6754b7) 18%,#fff)}.calendar-day-slot-closed{background:#eef1f4}.calendar-day-slot-unavailable{background:#f4f6f8}.calendar-day-slot-label{position:absolute;left:.42rem;top:.38rem;max-width:calc(100% - .84rem);color:#5a6881;font-size:.58rem;font-weight:500;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.calendar-day-slot-label.is-closed{color:#626d7a}.calendar-day-slot-label.is-break{color:#667993}.calendar-day-slot-label.is-leave{color:#5f6c82}.calendar-day-slot-label.is-unavailable{color:#667385}.calendar-day-slot-label.is-booked{color:var(--calendar-event-text, #31415f);font-weight:700}.calendar-day-slot-action{opacity:0;color:#4b39ef;font-size:.66rem;font-weight:800;letter-spacing:.01em;transition:opacity .14s ease,transform .14s ease;transform:translateY(2px)}.calendar-day-slot-free.is-clickable:hover .calendar-day-slot-action{opacity:1;transform:translateY(0)}.calendar-day-booking{position:absolute;z-index:5;left:.45rem;right:.45rem;border:1px solid var(--calendar-event-border, #dbe5f2);background:var(--calendar-event-bg, #f7f8ff);color:var(--calendar-event-text, #243451);border-left:3px solid var(--calendar-accent, var(--primary));border-radius:.82rem;padding:.42rem .48rem;box-shadow:0 8px 18px #141f350f;display:grid;gap:.2rem;overflow:hidden}.calendar-day-booking strong{color:#243451;font-size:.73rem;line-height:1.2;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-day-booking-treatment{color:#56657f;font-size:.66rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-day-booking-meta{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-top:auto}.calendar-day-booking-time{color:var(--calendar-accent, var(--primary));font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.calendar-day-status-badge{border-radius:999px;padding:.18rem .42rem;font-size:.58rem;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.calendar-day-status-badge.is-waiting{background:#f3f6fb;border-color:#d6e0ed;color:#5f6f88}.calendar-day-status-badge.is-consultation{background:#ecfbf4;border-color:#cdeedc;color:#1f8a55}.calendar-day-status-badge.is-cancel{background:#fff1f1;border-color:#ffd2d2;color:#c43d3d}.calendar-day-status-badge.is-blocked{background:#fff6e7;border-color:#fde0b6;color:#9a6114}.calendar-day-booking.is-compact{padding-block:.34rem}.calendar-day-booking.is-compact .calendar-day-booking-treatment,.calendar-day-booking.is-compact .calendar-day-booking-meta{display:none}.calendar-hover-preview{position:fixed;z-index:990;width:280px;border:1px solid #dce5f1;border-radius:1rem;background:#fffffffa;box-shadow:0 18px 36px #1724402e;padding:.8rem .86rem;display:grid;gap:.55rem;pointer-events:none}.calendar-hover-preview>strong{color:#223250;font-size:.84rem}.calendar-hover-time{margin:0;color:#4b39ef;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.calendar-hover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem}.calendar-hover-grid div{display:grid;gap:.14rem}.calendar-hover-grid span{color:#7d89a1;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.calendar-hover-grid strong{color:#253555;font-size:.71rem;line-height:1.35}.calendar-hover-list{display:grid;gap:.25rem}.calendar-hover-list span{color:#42516b;font-size:.7rem;line-height:1.35}.calendar-hover-more{color:#5f6d88;font-weight:700}.calendar-hover-badges{display:flex;flex-wrap:wrap;gap:.35rem}.page-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr));gap:.8rem}.page-filter-group{display:grid;gap:.35rem}.page-filter-group label{color:#71809d;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.page-filter-group input,.page-filter-group select{width:100%;border:1px solid #dbe5f2;border-radius:.8rem;padding:.72rem .8rem;font:inherit;color:#2b3c5b;background:#fff}.quick-filter-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.quick-filter-chip{border:1px solid #d8e2f1;border-radius:999px;background:#fff;color:#41516f;padding:.42rem .85rem;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.quick-filter-chip.is-active{background:#ece9ff;border-color:#d1c8ff;color:#4332d5}.snapshot-carousel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.75rem;align-items:stretch;overflow:visible;padding-bottom:0}.snapshot-card{border:1px solid #dfE8f4;border-radius:14px;padding:.85rem .92rem .9rem;background:#fbfdff;display:grid;gap:.32rem;position:relative;overflow:hidden;min-width:0}.snapshot-card-icon.is-completed-treatment img{transform:scale(1.08);transform-origin:center}.snapshot-card-head{position:relative;display:flex;align-items:start;justify-content:space-between;gap:.55rem;padding-right:4.35rem;min-width:0}.snapshot-card p{margin:0;color:#66748f;font-size:.8rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.snapshot-card-icon{position:absolute;top:-.15rem;right:.15rem;width:4.75rem;height:4.75rem;flex-shrink:0;display:grid;place-items:center;transform:rotate(-4deg)}.snapshot-card-icon:before{content:"";position:absolute;top:.75rem;right:.55rem;bottom:.55rem;left:.55rem;border-radius:50%;background:radial-gradient(circle,#8aaeff47,#8aaeff00);transform:translateY(8px) scale(1);z-index:0}.snapshot-card-icon img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 12px 10px rgba(47,69,120,.16))}.snapshot-card strong{font-size:1.3rem;line-height:1.1;font-family:Poppins,sans-serif;color:#253758}.snapshot-card span{color:#7a86a0;font-size:.76rem;line-height:1.4;overflow-wrap:anywhere}.appointments-wrap{overflow-x:auto}.appointments-wrap table{width:100%;border-collapse:collapse;min-width:640px}.appointments-wrap th,.appointments-wrap td{padding:.72rem .35rem;border-bottom:1px solid #e7edf7;text-align:left;font-size:.88rem}.appointments-wrap th{color:#596783;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.appointments-wrap td{color:#23324f}.appointments-wrap.is-selection-table table{min-width:980px}.appointments-wrap.is-selection-table th,.appointments-wrap.is-selection-table td{padding:.9rem .45rem;font-size:.84rem}.appointments-wrap.is-selection-table tbody tr:hover{background:#fbfdff}.appointments-wrap.is-selection-table tbody tr.appointment-click-row{cursor:pointer}.appointments-wrap.is-selection-table tbody tr.appointment-click-row:focus-visible{outline:2px solid rgba(75,57,239,.35);outline-offset:-2px}.appointment-expand-cell{width:2.6rem}.appointment-expand-btn{width:2rem;height:2rem;border:1px solid #dbe6f4;border-radius:999px;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.appointment-expand-btn svg{width:.95rem;height:.95rem;transition:transform .14s ease}.appointment-expand-btn:hover{background:#f8fbff;border-color:#c9d8eb;color:#41506f}.appointment-expand-btn.is-expanded svg{transform:rotate(180deg)}.appointment-note-preview{display:block;max-width:15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#51617f;font-size:.82rem;font-weight:600}.appointment-note-preview.is-muted{color:#95a2ba;font-weight:500}.appointment-inline-detail-row,.appointment-inline-detail-row:hover{background:transparent}.appointment-inline-detail-cell{padding-top:0;padding-bottom:1rem}.appointment-inline-detail-card{display:grid;gap:.95rem;padding:1rem 1.05rem 1.05rem;border:1px solid #e3ebf6;border-radius:1rem;background:linear-gradient(180deg,#fcfdff,#f8fbff);box-shadow:0 14px 30px #44567a14}.appointment-inline-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.appointment-inline-meta-item{display:grid;gap:.18rem}.appointment-inline-meta-item span{color:#7f8ca5;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.appointment-inline-meta-item strong{color:#22324f;font-size:.92rem;font-weight:700}.appointment-inline-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.appointment-inline-note-block{display:grid;gap:.38rem;padding:.85rem .95rem;border:1px solid #e1eaf6;border-radius:.9rem;background:#fff}.appointment-inline-note-block span{color:#77839c;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.appointment-inline-note-block p{margin:0;color:#33425e;font-size:.9rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.appointment-inline-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.appointment-inline-action-btn{min-height:2.9rem;border-radius:.95rem;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1rem;font-size:.88rem;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.appointment-inline-action-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #4c5c8224}.appointment-inline-action-btn.is-disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.appointment-inline-action-btn.is-whatsapp{background:#49b461;color:#fff}.appointment-inline-action-btn.is-remind{background:#f3d8a8;color:#76511e}.appointment-inline-action-btn.is-follow-up{background:#7eacc9;color:#fff}.appointment-inline-action-btn.is-review{background:#fff;border-color:#d5dfef;color:#5d6f92}.appointments-operations-page{position:relative;display:grid;gap:1.1rem}.appointments-ops-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.appointments-ops-topbar .page-breadcrumb{font-size:.88rem}.appointments-ops-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.appointments-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.appointments-summary-card{display:grid;gap:.32rem;padding:.92rem 1rem;border:1px solid #e3eaf5;border-radius:1rem;background:linear-gradient(180deg,#fff,#fbfdff)}.appointments-summary-card span{color:#7886a0;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.appointments-summary-card strong{color:#22324f;font-family:Poppins,sans-serif;font-size:1.38rem;font-weight:700}.appointments-ops-filters{align-items:end;justify-self:end;justify-content:end;width:fit-content;max-width:100%;margin-left:auto;grid-template-columns:320px 170px 190px;gap:.6rem}.appointments-ops-sheet{gap:1.15rem}.appointments-ops-sheet .appointments-ops-filters .page-filter-group label{font-size:.68rem}.appointments-ops-sheet .appointments-ops-filters .page-filter-group input,.appointments-ops-sheet .appointments-ops-filters .page-filter-group select{min-height:2.35rem;padding:.56rem .68rem;font-size:.8rem}.appointments-quick-filters{display:inline-flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;min-height:46px}.appointments-date-sheet{margin:-1rem -1rem 0;border:0;border-radius:1rem 1rem 0 0;background:linear-gradient(180deg,#d0dae8,#c2cfdf);padding:.95rem 1rem 1.15rem;box-shadow:none}.appointments-date-sheet.sales-record-sheet{border:0;box-shadow:none}.appointments-date-nav-btn{width:1.9rem;height:1.9rem;background:#ffffffe6}.date-input-stepper{display:grid;grid-template-columns:2.15rem minmax(0,1fr) 2.15rem;align-items:center;gap:.36rem;width:100%}.date-input-stepper.no-steppers{grid-template-columns:minmax(0,1fr)}.date-input-stepper input{width:100%;min-width:0}.date-input-display-wrap{position:relative;min-width:0}.date-input-display-wrap .date-input-display{padding-right:2.45rem;cursor:pointer}.date-input-calendar-btn{position:absolute;top:50%;right:.44rem;display:inline-flex;width:1.8rem;height:1.8rem;align-items:center;justify-content:center;border:0;border-radius:.58rem;background:transparent;color:#637189;cursor:pointer}.date-input-calendar-btn:hover:enabled{background:#f3f6fb;color:#25324b}.date-input-calendar-btn:disabled{cursor:not-allowed;opacity:.55}.date-input-calendar-btn svg{width:1rem;height:1rem;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.date-input-native-proxy{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none}.date-input-stepper.is-display-dmy .date-input-stepper-btn{border-radius:.78rem}.date-input-stepper-btn{width:2.15rem;min-width:2.15rem;height:2.35rem;border:1px solid #d9e2ef;border-radius:.55rem;background:#fff;color:#36445c;font:inherit;font-weight:800;cursor:pointer}.date-input-stepper-btn:hover:enabled{border-color:#5338e952;color:#4c37d8}.date-input-stepper-btn:disabled{cursor:not-allowed;opacity:.55}.appointments-quick-filter-pill{border:1px solid #d9e2ef;border-radius:999px;background:#fff;color:#5f6d85;padding:.58rem .92rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.appointments-quick-filter-pill:hover,.appointments-quick-filter-pill.is-active{border-color:#5338e93d;background:#f3f0ff;color:#4c37d8;box-shadow:inset 0 0 0 1px #5338e914}.appointments-ops-table table{min-width:1180px}.appointments-ops-table{margin-top:.2rem}.appointments-ops-table th,.appointments-ops-table td{padding:.92rem .55rem;vertical-align:middle}.appointments-ops-table th{color:#72819b;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.appointments-ops-table tbody tr{transition:background .14s ease,box-shadow .14s ease}.appointments-ops-table tbody tr:hover{background:#fcfdff}.appointment-ops-row{cursor:pointer;font-size:.88rem}.appointment-ops-row.is-selected{background:linear-gradient(90deg,#5338e90d,#5338e904);box-shadow:inset 3px 0 #5338e9}.appointment-ops-row:focus-visible{outline:2px solid rgba(83,56,233,.28);outline-offset:-2px}.appointment-patient-trigger{width:100%}.appointment-ops-time-cell{color:#31405e;font-weight:500;white-space:nowrap}.appointment-ops-treatment-cell,.appointment-ops-dentist-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2a3956;font-weight:400}.appointment-patient-trigger .person-identity-title-row strong,.appointment-ops-row .person-identity-title-row strong{font-weight:500}.appointment-patient-trigger .person-identity-copy span,.appointment-ops-row .person-identity-copy span{font-size:.79rem}.appointments-ops-table .status-badge,.appointments-ops-table .record-status-badge{min-width:92px;justify-content:center}.appointments-ops-table .status-confirmed{background:#eef3ff;color:#4662bf}.appointments-ops-table .status-waiting{background:#fff3e3;color:#9b620b}.appointments-ops-table .status-in-treatment{background:#e8f7f2;color:#14755a}.appointments-ops-table .status-billing{background:#fff6da;color:#93610b}.appointments-ops-table .status-completed{background:#eef7f1;color:#2f7a55}.appointments-ops-table .status-cancelled{background:#fff1f3;color:#b44a62}.appointments-ops-table .status-consultation{background:#e9f8f4;color:#18765a}.appointments-ops-table .status-done{background:#eef7f1;color:#2f7a55}.appointments-ops-table .status-cancel{background:#fff1f3;color:#b44a62}.appointment-flag-list{display:flex;align-items:center;gap:.35rem;min-height:1.8rem;flex-wrap:wrap}.appointment-flag-icon{width:1.9rem;height:1.9rem;border-radius:999px;border:1px solid #dbe4f1;background:#f7f9fc;color:#61708a;display:inline-flex;align-items:center;justify-content:center}.appointment-flag-icon svg{width:.95rem;height:.95rem}.appointment-flag-icon.is-action{border-color:#ddd4ff;background:#f6f2ff;color:#6146d7}.appointment-flag-icon.is-alert{border-color:#f2d0d7;background:#fff4f6;color:#b24e66}.appointment-flag-icon.is-success{border-color:#c7ead8;background:#eefaf3;color:#20805f}.appointment-flag-placeholder{color:#99a5ba;font-size:.9rem}.appointment-primary-action-btn{min-height:2.35rem;border:1px solid #d8e2f1;border-radius:.8rem;background:#fff;color:#2c3e5e;padding:.56rem .88rem;font:inherit;font-size:.8rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.appointment-primary-action-btn:hover{border-color:#5338e938;background:#f8f6ff;color:#4830da}.appointment-detail-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#121c2d3d;display:flex;justify-content:flex-end;padding:1rem;z-index:70}.appointment-detail-drawer{width:min(456px,100%);height:calc(100vh - 2rem);overflow:auto;border-radius:1.25rem;border:1px solid #dfe6f2;background:#fff;box-shadow:0 28px 60px #111f382e;scrollbar-gutter:stable}.appointment-detail-drawer-top{position:sticky;top:0;z-index:2;background:#fffffff7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e8eef7;padding:1rem 1rem .9rem}.appointment-detail-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.appointment-detail-head-copy{min-width:0}.appointment-detail-head-title{margin:0;font-family:Poppins,sans-serif;font-size:1.34rem;line-height:1.14;color:#22314d}.appointment-detail-drawer-subtitle{margin:.24rem 0 0;color:#71809c;font-size:.82rem;line-height:1.4}.appointment-detail-badges{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:.58rem}.appointment-detail-quick-actions{display:flex;align-items:center;gap:.7rem;margin-top:.85rem}.appointment-detail-quick-actions-main{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0}.appointment-detail-quick-action,.appointment-detail-inline-action{min-height:2.35rem;border-radius:.78rem;border:1px solid transparent;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:.62rem .84rem;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.appointment-detail-quick-action{flex:1;min-width:0}.appointment-detail-quick-action.is-primary,.appointment-detail-inline-action.is-primary{background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff}.appointment-detail-quick-action.is-primary:hover,.appointment-detail-inline-action.is-primary:hover{box-shadow:0 12px 24px #4b39ef2e}.appointment-detail-quick-action.is-secondary,.appointment-detail-inline-action.is-secondary{border-color:#d9e1ef;background:#fbfcff;color:#32435f}.appointment-detail-quick-action.is-secondary:hover,.appointment-detail-inline-action.is-secondary:hover{border-color:#4b39ef3d;background:#f7f6ff;color:#4630d3}.appointment-detail-quick-action.is-whatsapp,.appointment-detail-inline-action.is-whatsapp{border-color:#bfe7cf;background:#eef9f2;color:#20754a}.appointment-detail-quick-action.is-whatsapp:hover,.appointment-detail-inline-action.is-whatsapp:hover{border-color:#99d4b3;background:#e7f6ec}.appointment-detail-quick-action.is-ghost,.appointment-detail-inline-action.is-ghost{border-color:#d9e1ef;background:#fff;color:#52637f}.appointment-detail-quick-action.is-ghost:hover,.appointment-detail-inline-action.is-ghost:hover{border-color:#c7d2e5;background:#f9fbff}.appointment-detail-quick-action.is-disabled,.appointment-detail-inline-action.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.appointment-detail-drawer-body{display:grid;gap:0;padding:.35rem 1rem 1rem}.appointment-detail-section-card{display:grid;gap:.65rem;padding:.9rem 0;border:none;border-top:1px solid #e7edf7;border-radius:0;background:transparent;box-shadow:none}.appointment-detail-section-card:first-child{border-top:none;padding-top:.8rem}.appointment-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.appointment-detail-section-head h3{margin:0;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;color:#22314d}.appointment-detail-summary-stack{display:grid;gap:.7rem}.appointment-detail-summary-line{display:flex;align-items:flex-start;gap:.72rem}.appointment-detail-summary-icon{width:1.85rem;height:1.85rem;border-radius:.72rem;background:#4b39ef14;color:#5a4ad9;display:grid;place-items:center;flex:0 0 auto}.appointment-detail-summary-icon svg{width:1rem;height:1rem}.appointment-detail-summary-line-copy{display:grid;gap:.16rem;min-width:0;padding-top:.08rem}.appointment-detail-summary-line-copy strong{color:#2b3956;font-size:.9rem;line-height:1.4;font-weight:600}.appointment-detail-summary-line-copy span{color:#74829a;font-size:.76rem;line-height:1.35}.appointment-detail-summary-facts{margin-top:.9rem;border-top:1px solid #eef3fa;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.appointment-detail-summary-fact{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.78rem 0;border-bottom:1px solid #eef3fa}.appointment-detail-summary-fact span{color:#7b879d;font-size:.74rem;font-weight:600}.appointment-detail-summary-fact strong{color:#2b3956;font-size:.84rem;line-height:1.35;font-weight:600;text-align:right}.appointment-detail-summary-list{display:grid;gap:0}.appointment-detail-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.42rem 0;border-bottom:1px solid #eef3fa}.appointment-detail-summary-row:last-child{border-bottom:none}.appointment-detail-summary-row span,.appointment-detail-note-block span{color:#7b879d;font-size:.74rem;font-weight:600;letter-spacing:.02em;text-transform:none}.appointment-detail-summary-row strong{color:#2b3956;font-size:.82rem;line-height:1.45;font-weight:600;text-align:right}.appointment-detail-note-grid{display:grid;grid-template-columns:1fr;gap:.7rem}.appointment-detail-note-block{display:grid;gap:.22rem;padding:0;border:none;border-radius:0;background:transparent}.appointment-detail-note-block p{margin:0;color:#3a4a65;font-size:.82rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.appointment-detail-inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.appointment-activity-list{display:grid;gap:.68rem}.appointment-activity-item{display:flex;align-items:flex-start;gap:.65rem}.appointment-activity-dot{width:.72rem;height:.72rem;border-radius:50%;margin-top:.34rem;background:#d4dded;box-shadow:0 0 0 4px #f4f7fc;flex-shrink:0}.appointment-activity-item.is-success .appointment-activity-dot{background:#28a06d}.appointment-activity-item.is-alert .appointment-activity-dot{background:#db596e}.appointment-activity-item.is-muted .appointment-activity-dot{background:#b8c3d8}.appointment-activity-copy{display:grid;gap:.16rem;min-width:0}.appointment-activity-copy strong{color:#25344f;font-size:.82rem;font-weight:600}.appointment-activity-copy span{color:#78859e;font-size:.76rem;line-height:1.45}.appointments-wrap.is-dashboard-preview-table table{min-width:0;table-layout:fixed}.appointments-wrap.is-dashboard-preview-table th,.appointments-wrap.is-dashboard-preview-table td{padding:.7rem .32rem;font-size:.79rem;vertical-align:top}.appointments-wrap.is-dashboard-preview-table th:nth-child(1),.appointments-wrap.is-dashboard-preview-table td:nth-child(1){width:13%}.appointments-wrap.is-dashboard-preview-table th:nth-child(2),.appointments-wrap.is-dashboard-preview-table td:nth-child(2){width:26%}.appointments-wrap.is-dashboard-preview-table th:nth-child(3),.appointments-wrap.is-dashboard-preview-table td:nth-child(3){width:22%}.appointments-wrap.is-dashboard-preview-table th:nth-child(4),.appointments-wrap.is-dashboard-preview-table td:nth-child(4){width:17%}.appointments-wrap.is-dashboard-preview-table th:nth-child(5),.appointments-wrap.is-dashboard-preview-table td:nth-child(5){width:11%}.appointments-wrap.is-dashboard-preview-table th:nth-child(6),.appointments-wrap.is-dashboard-preview-table td:nth-child(6){width:11%;text-align:right;padding-left:.85rem}.appointments-wrap.is-dashboard-preview-table .appointment-patient-cell strong,.appointments-wrap.is-dashboard-preview-table .appointment-dentist-cell strong{font-size:.88rem;line-height:1.28}.appointments-wrap.is-dashboard-preview-table .appointment-patient-cell span{font-size:.77rem}.appointments-wrap.is-dashboard-preview-table .appointment-time-cell{font-size:.8rem;line-height:1.35}.appointments-wrap.is-dashboard-preview-table .status-badge{padding:.22rem .5rem;font-size:.7rem}.appointment-patient-cell,.appointment-dentist-cell{display:grid;gap:.16rem}.appointment-time-cell{white-space:pre-line}.appointment-patient-cell strong,.appointment-dentist-cell strong{color:#23324f;font-size:.96rem;font-weight:700}.appointment-patient-cell span{color:#7c88a2;font-size:.86rem}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.26rem .62rem;font-size:.76rem;font-weight:700}.status-waiting{background:#ecf3ff;color:#2e59cf}.status-confirmed{background:#eef3ff;color:#4662bf}.status-in-treatment{background:#e9f8f4;color:#18765a}.status-billing{background:#fff6da;color:#93610b}.status-completed{background:#edf8f1;color:#24724a}.status-cancelled{background:#fff0f3;color:#c24163}.status-consultation{background:#fff7e8;color:#b87512}.status-done{background:#edf8f1;color:#24724a}.status-cancel{background:#fff0f3;color:#c24163}.status-blocked{background:#fff6e7;color:#9a6114}.appointment-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap}.appointment-table-actions{width:fit-content;padding:.24rem;border:1px solid #e3ebf6;border-radius:999px;background:#fbfdff}.appointment-action{border:1px solid #d7e2f0;border-radius:999px;background:#fff;color:#52627d;width:1.95rem;height:1.95rem;padding:0;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.appointment-action svg{width:.95rem;height:.95rem}.appointment-action:hover{background:#f7faff;border-color:#c8d7ea;transform:translateY(-1px)}.appointment-action.is-disabled{opacity:.45;pointer-events:none}.action-whatsapp{color:#169b5b}.action-cancel{color:#c24163;border-color:#f1c8d3;background:#fff5f7}.action-edit{color:#3d59d6}.appointment-menu-shell{display:inline-flex}.appointment-menu-trigger{width:2.15rem;height:2.15rem;border:1px solid #dbe5f2;border-radius:.8rem;background:#fff;color:#5f6c87;display:grid;place-items:center;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,color .16s ease,background .16s ease}.appointment-menu-trigger svg{width:1rem;height:1rem}.appointment-menu-trigger.is-open,.appointment-menu-trigger:hover{border-color:#cedafb;background:#f8fbff;color:#334a84;box-shadow:0 10px 20px #18223a1a}.appointment-menu-dropdown{position:fixed;width:168px;max-width:calc(100vw - 24px);border:1px solid #dbe5f2;border-radius:.95rem;background:#fff;box-shadow:0 18px 36px #18223a24;padding:.35rem;display:grid;gap:.2rem;z-index:70;animation:appointmentMenuReveal .14s ease}.appointment-menu-item{width:100%;border:0;border-radius:.7rem;background:transparent;color:#2f3d59;padding:.55rem .65rem;text-align:left;font:inherit;font-size:.84rem;font-weight:600;text-decoration:none;cursor:pointer}.appointment-menu-item:hover{background:#f5f8fd}.appointment-menu-item.is-disabled{opacity:.45;pointer-events:none}.appointment-menu-item.is-danger{color:#b4234f}.appointment-menu-item.is-danger:hover{background:#fff1f5}@keyframes appointmentMenuReveal{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.9rem}.table-pagination-copy{margin:0;color:#72809a;font-size:.84rem;font-weight:600}.table-pagination-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.table-pagination-btn{min-width:2.1rem;height:2.1rem;border:1px solid #dbe5f2;border-radius:.72rem;background:#fff;color:#4d5d79;padding:0 .72rem;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.table-pagination-btn.is-active{background:#ece9ff;border-color:#d1c8ff;color:#4332d5}.table-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.confirmation-badge,.request-status-badge,.queue-summary-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.26rem .62rem;font-size:.76rem;font-weight:700}.confirmation-confirmed,.status-accepted{background:#edf8ef;color:#2a8a4f}.confirmation-pending,.status-pending{background:#ecf3ff;color:#2e59cf}.status-rejected{background:#fff0f3;color:#c24163}.notification-button{position:relative;width:3rem;height:3rem;border:1px solid #d8e2f1;border-radius:1rem;background:#fff;color:#41516f;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 22px #1f325814;transition:border-color .16s ease,box-shadow .16s ease,color .16s ease,background .16s ease}.notification-button.is-active,.notification-button:hover{border-color:#cad9f7;background:#f8fbff;color:#324b87;box-shadow:0 16px 28px #1f32581f}.notification-button svg{width:1.2rem;height:1.2rem}.notification-popover-anchor{position:relative;display:inline-flex}.notification-badge,.sidebar-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;padding:0 .35rem;border-radius:999px;background:linear-gradient(145deg,#4b39ef,#6b5cff);color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 8px 16px #4b39ef38}.notification-badge{position:absolute;top:-.2rem;right:-.2rem}.sidebar-count-badge{margin-left:auto}.sidebar-count-badge.is-collapsed{position:absolute;top:.2rem;right:.1rem}.request-slot{display:grid;gap:.14rem}.request-slot strong{font-size:.84rem;color:#243552}.request-slot span{color:#73809b;font-size:.78rem}.mini-action-btn{border:0;border-radius:.72rem;padding:.52rem .78rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.mini-action-btn.is-primary{background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff}.mini-action-btn.is-danger{background:#fff1f4;color:#c24163;border:1px solid #f4cad5}.request-status-text{color:#6f7c95;font-size:.78rem;font-weight:700}.page-placeholder-card{min-height:320px;align-content:start}.patients-directory-page{display:grid;gap:1rem}.patients-page-topbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.patients-page-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.patients-page-sheet{gap:1.15rem}.patient-page-filters{align-items:end;justify-self:end;justify-content:end;width:fit-content;max-width:100%;margin-left:auto;grid-template-columns:320px 160px 180px;gap:.6rem}.patients-page-sheet .patient-page-filters .page-filter-group label{font-size:.68rem}.patients-page-sheet .patient-page-filters .page-filter-group input,.patients-page-sheet .patient-page-filters .page-filter-group select{min-height:2.35rem;padding:.56rem .68rem;font-size:.8rem}.patient-header-action.is-active{border-color:#cfc5ff;background:#f3efff;color:#4b39ef}.patient-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.patient-stat-card{border:1px solid #dfe8f4;border-radius:15px;background:#fbfdff;padding:.95rem 1rem;display:grid;gap:.24rem}.patient-stat-card span{color:#72809c;font-size:.78rem;font-weight:700}.patient-stat-card strong{color:#243451;font-size:1.55rem;font-family:Poppins,sans-serif}.patient-stat-card small{color:#8794aa;font-size:.76rem}.patients-wrap table{min-width:760px}.patients-wrap th,.patients-wrap td{vertical-align:middle}.patient-table-row{cursor:pointer}.patient-table-row:hover{background:#fbfdff}.patient-profile-page{display:grid;gap:1rem;align-content:start}.patient-row-identity{display:flex;align-items:center;gap:.7rem}.patient-avatar{width:2.45rem;height:2.45rem;border-radius:999px;background:linear-gradient(145deg,#e9ecff,#dce8ff);color:#4054cb;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.82rem;font-weight:800;overflow:hidden}.patient-avatar img{width:100%;height:100%;object-fit:cover}.patient-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.3rem .62rem;font-size:.74rem;font-weight:700}.patient-pill-gender{background:#eef2ff;color:#4157ca}.patient-pill-visit{background:#f4f7fd;color:#586884}.patient-pill.is-muted{background:#f4f7fd;color:#6f7c95}.patient-visit-cell{display:grid;gap:.18rem}.patient-visit-cell small{color:#8794aa;font-size:.73rem}.patient-profile-head{align-items:start}.patient-profile-contact.is-disabled{opacity:.5;pointer-events:none}.person-identity-button{border:0;background:transparent;padding:0;margin:0;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.person-identity-button .person-identity-cell{width:100%}@media(max-width:1080px){.appointment-inline-notes,.appointment-inline-actions{grid-template-columns:1fr 1fr}}@media(max-width:760px){.appointment-note-preview{max-width:10rem}.appointment-inline-meta,.appointment-inline-notes,.appointment-inline-actions{grid-template-columns:1fr}}.patient-detail-page{display:grid;gap:1rem;align-content:start}.patient-detail-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.patient-detail-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.patient-information-panel{display:grid;gap:.9rem;border:1px solid #e2eaf5;border-radius:1.05rem;background:#fbfdff;padding:.9rem;box-shadow:inset 0 1px #ffffffd9}.patient-information-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border:1px solid #d9e6f7;border-radius:.78rem;background:#eef5ff;padding:.54rem .68rem}.patient-information-head.is-registration-mode{border-color:#dfe6ff;border-radius:.85rem;background:var(--primary-soft);padding:.62rem .72rem}.patient-information-head h1{margin:.08rem 0 0;color:#21385c;font-family:Poppins,sans-serif;font-size:.98rem;line-height:1.2}.patient-information-head .page-eyebrow{font-size:.62rem}.patient-information-head.is-registration-mode .page-eyebrow{color:var(--primary-strong);font-size:.68rem}.patient-information-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.48rem;flex-wrap:wrap}.patient-information-layout{display:grid;grid-template-columns:172px minmax(0,1fr);gap:.72rem;align-items:start}.patient-information-media{display:grid;gap:.48rem;justify-items:center;align-content:start;border:1px solid #e5edf7;border-radius:.86rem;background:#fff;padding:.62rem;text-align:center}.patient-information-photo{width:5.8rem;height:6.6rem;border:1px solid #dce6f3;border-radius:.78rem;background:#eef4ff;color:#1f3359;display:inline-grid;place-items:center;overflow:hidden;font-size:.78rem;font-weight:800}.patient-information-photo img{width:100%;height:100%;object-fit:cover}.patient-information-age{color:#667694;font-size:.72rem;font-weight:800}.patient-information-error{margin:0;color:#b54141;font-size:.7rem;font-weight:700;line-height:1.35}.patient-mykad-preview-grid{display:grid;grid-template-columns:minmax(7rem,.42fr) 1fr;gap:.72rem 1rem;align-items:start;margin-top:.9rem}.patient-mykad-preview-grid span{color:#64748b;font-size:.82rem;font-weight:700}.patient-mykad-preview-grid strong{color:#263653;font-size:.9rem;font-weight:700;line-height:1.45}.patient-information-fields{display:grid;gap:.58rem;min-width:0}.patient-information-grid{display:grid;grid-template-columns:1.2fr .9fr repeat(4,minmax(110px,.7fr));gap:.48rem;align-items:start}.patient-information-field{display:grid;gap:.24rem;min-width:0}.patient-information-field.is-wide{grid-column:span 2}.patient-residential-address-section{display:grid;gap:.5rem;padding:.62rem;border:1px solid #e0e8f5;border-radius:.78rem;background:#fbfdff}.patient-residential-address-toggle{display:inline-flex;align-items:center;gap:.45rem;color:#263653;font-size:.78rem;font-weight:800}.patient-residential-address-toggle input{width:.95rem;height:.95rem;accent-color:var(--primary)}.patient-residential-address-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.48rem}.patient-residential-address-main{grid-column:1 / -1}.patient-information-field span{color:#566782;font-size:.68rem;font-weight:800;line-height:1.2}.patient-information-field input,.patient-information-field select,.patient-information-field textarea{width:100%;min-width:0;border:1px solid #dce6f3;border-radius:.62rem;background:#fff;color:#233452;padding:.48rem .58rem;font:inherit;font-size:.74rem;line-height:1.25;outline:none}.patient-information-field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23556481' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .58rem center;background-repeat:no-repeat;background-size:.78rem;padding-right:1.8rem}.patient-information-field textarea{min-height:4.2rem;resize:vertical}.patient-information-field input:focus,.patient-information-field select:focus,.patient-information-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4b39ef1f}.patient-information-notes{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.48rem;align-items:stretch}.patient-information-field.is-notes-wide{grid-column:auto}.patient-information-talking-points{display:grid;gap:.32rem;border:1px solid #dce6f3;border-radius:.72rem;background:#fff;padding:.54rem;min-height:8rem}.patient-information-notes-head,.patient-information-anamnesis-head{display:block;border-bottom:1px solid #e7eef8;padding:0 0 .16rem}.patient-information-notes-head:after,.patient-information-anamnesis-head:after{content:none}.patient-information-notes-head span,.patient-information-anamnesis-head span{color:#344566;display:block;font-size:.72rem;font-weight:800;line-height:1.25}.patient-information-talking-points textarea{width:100%;min-height:6.5rem;border:0;border-radius:0;background:transparent;color:#233452;padding:.42rem 0 0;font:inherit;font-size:.74rem;line-height:1.35;outline:none;resize:vertical}.patient-information-talking-points textarea:focus{box-shadow:none}.patient-information-anamnesis{display:grid;grid-template-columns:1fr;gap:.32rem;border:1px solid #dce6f3;border-radius:.72rem;background:#fff;padding:.54rem;min-height:8rem}.patient-information-anamnesis-list{display:grid;gap:0;min-width:0}.patient-information-anamnesis-row{display:grid;grid-template-columns:104px minmax(0,1fr) 1.75rem;gap:.45rem;align-items:start;border:0;border-radius:0;background:transparent;padding:.42rem 0;min-height:2.3rem}.patient-information-anamnesis-row+.patient-information-anamnesis-row{border-top:1px solid #edf2f8}.patient-information-anamnesis-row.is-editing{background:transparent}.patient-information-anamnesis-label strong{color:#566782;font-size:.68rem;font-weight:800;line-height:1.25}.patient-information-anamnesis-content{min-width:0}.patient-information-anamnesis-content p{margin:0;color:#233452;font-size:.74rem;line-height:1.35;white-space:pre-line}.patient-information-anamnesis-content p.is-empty{color:#8a96a8;font-style:italic}.patient-information-anamnesis-content textarea{width:100%;min-height:3.35rem;border:0;border-radius:0;background:transparent;color:#233452;padding:0;font:inherit;font-size:.74rem;line-height:1.35;outline:none;resize:vertical}.patient-information-anamnesis-content textarea:focus{box-shadow:none}.patient-information-anamnesis-edit{width:1.75rem;height:1.75rem;border:1px solid #dce6f3;border-radius:.55rem;background:#fff;color:#4b5f82;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.patient-information-anamnesis-edit:hover{border-color:#cad9f7;background:#f4f8ff;color:var(--primary-strong)}.patient-information-anamnesis-edit svg{width:.82rem;height:.82rem}.patient-information-submit-error{margin-top:0}.patient-detail-summary-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.9fr) minmax(260px,.95fr);gap:.85rem}.patient-detail-notes-column{grid-column:2 / -1;display:grid;align-content:start;gap:.85rem}.patient-detail-notes-column .patient-detail-card{min-height:13.5rem}.patient-detail-card{border:1px solid #e2eaf5;border-radius:1.05rem;background:#fbfdff;box-shadow:inset 0 1px #ffffffd9;overflow:hidden;display:grid;align-content:start;min-height:100%}.patient-detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1rem .82rem;border-bottom:1px solid #e7eef8}.patient-detail-card-head h2{margin:0;color:#223452;font-size:.96rem;font-weight:800}.patient-detail-card-head-action{display:inline-flex;align-items:center}.patient-detail-card-icon-btn{width:2rem;height:2rem;border:1px solid #dfe7f3;border-radius:.72rem;background:#fff;color:#5f71f0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.patient-detail-card-icon-btn svg{width:.92rem;height:.92rem}.patient-detail-name-edit-btn{width:1.85rem;height:1.85rem;border-radius:.68rem;position:absolute;top:0;right:0}.patient-detail-card-icon-btn:hover{border-color:#cfd9ff;background:#f5f7ff;color:#4b39ef}.patient-detail-card-body{padding:1rem;display:grid;gap:.95rem}.patient-detail-card-identity .patient-detail-card-body{gap:1rem}.patient-detail-profile{position:relative;display:grid;justify-items:center;gap:.72rem;text-align:center;padding:.2rem 2.1rem .1rem}.patient-detail-profile-avatar{width:5.4rem;height:5.4rem;font-size:1.25rem}.patient-detail-profile-copy{display:grid;justify-items:center;gap:.22rem}.patient-detail-profile-copy strong{color:#233452;font-size:1.08rem;font-weight:800;line-height:1.25}.patient-detail-profile-copy span{color:#5d6c87;font-size:.9rem;font-weight:700}.patient-detail-contact-list{width:min(100%,18rem);display:grid;gap:.48rem;justify-items:center}.patient-detail-contact-row{min-width:0;max-width:100%;display:inline-grid;grid-template-columns:1.65rem minmax(0,auto);align-items:center;gap:.52rem;color:#233452;font-size:.95rem;font-weight:400;text-align:center;text-decoration:none}.patient-detail-contact-row span:last-child{min-width:0;overflow-wrap:anywhere}.patient-detail-contact-icon{width:1.65rem;height:1.65rem;border-radius:999px;background:#eef3ff;color:#4b39ef;display:inline-flex;align-items:center;justify-content:center}.patient-detail-contact-icon.is-whatsapp{background:#e7f8ee;color:#1c9d59}.patient-detail-contact-icon svg{width:1rem;height:1rem}.patient-detail-demographics-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.patient-detail-demographics-row strong{color:#233452;font-size:.92rem;font-weight:800}.patient-detail-source-chip{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .62rem;border-radius:999px;background:#f0edff;color:#4b39ef;font-size:.74rem;font-weight:700}.patient-meta-row{display:grid;grid-template-columns:2.35rem minmax(0,1fr);gap:.78rem;align-items:start}.patient-meta-row-icon{width:2.35rem;height:2.35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.9rem;background:#eef3ff;color:#4b39ef;box-shadow:inset 0 1px #ffffffe6}.patient-meta-row-icon svg{width:1rem;height:1rem}.patient-meta-row-copy{min-width:0;display:grid;gap:.2rem}.patient-meta-row-label{color:#74819b;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.patient-meta-row-value{min-width:0}.patient-detail-phone-link{color:#233452;text-decoration:none;word-break:break-word}.patient-detail-email-link{color:#4d5c78;text-decoration:none}.patient-detail-phone-link.is-disabled,.patient-detail-email-link.is-disabled{pointer-events:none;color:#7e8ba2}.patient-detail-talking-points{margin:0;color:#344565;font-size:.9rem;line-height:1.55;white-space:pre-line}.patient-detail-inline-editor,.patient-detail-anamnesis-editor-grid{display:grid;gap:.7rem}.patient-detail-anamnesis-editor-field{display:grid;gap:.32rem}.patient-detail-anamnesis-editor-field>span{color:#74819b;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.patient-detail-anamnesis-editor-field input{width:100%;border:1px solid #dfe7f3;border-radius:.9rem;background:#fff;color:#233452;padding:.78rem .86rem;font:inherit;font-size:.88rem;line-height:1.4;outline:none}.patient-detail-anamnesis-editor-field input:disabled,.patient-detail-anamnesis-editor-field textarea:disabled{background:#f6f8fc;color:#7e8ba2;cursor:not-allowed}.patient-detail-inline-textarea{width:100%;min-height:118px;border:1px solid #dfe7f3;border-radius:.9rem;background:#fff;color:#233452;padding:.78rem .86rem;font:inherit;font-size:.88rem;line-height:1.55;resize:vertical;outline:none}.patient-detail-inline-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4b39ef1f}.patient-detail-inline-editor-note{color:#74819b;font-size:.76rem;line-height:1.5}.patient-detail-inline-editor-actions{display:flex;justify-content:flex-end;gap:.55rem}.patient-detail-core-grid{display:grid;gap:0;padding-top:.95rem;border-top:1px solid #e7eef8}.patient-detail-pair{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.62rem 0;border-bottom:1px solid #eef3fb}.patient-detail-pair:last-child{border-bottom:0}.patient-detail-pair span{color:#74819b;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.patient-detail-pair strong{min-width:0;max-width:58%;color:#233452;font-size:.94rem;line-height:1.45;text-align:right;overflow-wrap:anywhere}.patient-detail-anamnesis-list{display:grid;gap:0}.patient-detail-content-card{display:grid;gap:1rem;border:1px solid #e2eaf5;background:#fbfdff;box-shadow:inset 0 1px #ffffffd9}.patient-detail-tabbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem 1.35rem;padding:.15rem 0 0}.patient-detail-panel{display:grid;gap:1rem}.patient-detail-journey-summary{display:grid;gap:.18rem}.patient-detail-journey-summary p,.patient-detail-journey-summary span{margin:0;color:#4b5a76;font-size:.94rem}.patient-detail-journey-summary strong{color:#233452}.patient-detail-filters{width:auto;justify-self:end;grid-template-columns:minmax(150px,170px) minmax(118px,132px) minmax(118px,132px);gap:.5rem;align-items:end}.patient-detail-filters .page-filter-group{gap:.18rem;min-width:0}.patient-detail-filters .page-filter-group label{font-size:.64rem}.patient-detail-filters .page-filter-group input,.patient-detail-filters .page-filter-group select{min-height:2.1rem;border-radius:.62rem;padding:.42rem .62rem;font-size:.8rem}.patient-detail-filters .page-filter-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:1.8rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23556481' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .72rem center;background-size:.72rem}.patient-timeline-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr);gap:1.4rem;align-items:start}.patient-timeline-list{display:grid;gap:1rem;position:relative}.patient-timeline-item{display:grid;grid-template-columns:126px minmax(0,1fr);gap:1rem;align-items:start}.patient-timeline-rail{position:relative;padding-top:.2rem;padding-right:.8rem}.patient-timeline-rail:after{content:"";position:absolute;top:1.55rem;right:0;width:1px;height:calc(100% + 1rem);background:#d9e2f0}.patient-timeline-item:last-child .patient-timeline-rail:after{display:none}.patient-timeline-rail strong{color:#2b3d5b;font-size:.92rem;font-weight:700;display:block}.patient-timeline-dot{position:absolute;top:1.15rem;right:-.38rem;width:.78rem;height:.78rem;border-radius:50%;border:2px solid #cfd9ea;background:#fff}.patient-timeline-card{width:100%;border:1px solid #dfe8f4;border-radius:1rem;background:linear-gradient(180deg,#fff,#fbfdff);padding:1rem 1.1rem;display:grid;gap:.4rem;text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .2s ease}.patient-timeline-card:hover{border-color:#c8d7f3;box-shadow:0 14px 28px #38547a14;transform:translateY(-1px)}.patient-timeline-card.is-active{border-color:#8f92ff;background:linear-gradient(180deg,#f8f7ff,#fdfcff);box-shadow:0 18px 34px #524bc61f}.patient-timeline-card-copy{display:grid;gap:.22rem}.patient-timeline-card-copy strong{color:#233452;font-size:1rem}.patient-timeline-card-copy span{color:#61708b;font-size:.93rem}.patient-timeline-details{position:sticky;top:1rem;border:1px solid #dfe8f4;border-radius:1.15rem;background:linear-gradient(180deg,#fcfdff,#f8fbff);padding:1.2rem;display:grid;gap:1rem;min-height:280px}.patient-timeline-details-head{position:relative;display:grid;gap:.42rem;padding-bottom:1rem;padding-right:13.25rem;border-bottom:1px solid #e5ecf6}.patient-timeline-details-date,.patient-timeline-details-note span{color:#7b8aa8;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.patient-timeline-details-created{position:absolute;top:0;right:0;display:grid;justify-items:end;gap:.14rem;color:#6b7a95;font-size:.78rem;line-height:1.35}.patient-timeline-details-created span{white-space:nowrap}.patient-timeline-details-created-row{display:inline-flex;align-items:baseline;gap:.25rem}.patient-timeline-details-created-label,.patient-timeline-details-created-value{color:inherit;font-size:inherit;font-weight:500;line-height:inherit;letter-spacing:0;text-transform:none}.patient-timeline-details-head strong{color:#243553;font-size:1.2rem;line-height:1.3}.patient-timeline-details-head p{margin:0;color:#61708b;font-size:.94rem;line-height:1.55}.patient-timeline-details-status-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.patient-timeline-details-note{display:grid;gap:.55rem}.patient-timeline-details-note p{margin:0;min-height:190px;border:1px solid #e2eaf5;border-radius:1rem;background:#fff;padding:1rem 1.05rem;color:#354664;font-size:.94rem;line-height:1.75;white-space:pre-wrap}.patient-timeline-details-note p.is-empty{color:#7f8ca5}.patient-detail-empty-state{min-height:180px}.form-grid.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.secondary-btn.is-compact,.primary-btn.is-compact{min-height:34px;padding:.5rem .78rem;font-size:.76rem;border-radius:10px}.table-inline-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.record-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.32rem .66rem;font-size:.72rem;font-weight:800;line-height:1;border:1px solid #dce4f1;background:#f5f8fc;color:#53627b}.record-status-badge.is-active,.record-status-badge.is-paid{border-color:#bae6d3;background:#eafbf3;color:#187a53}.invoice-header-status-chip{min-height:38px;padding-inline:.9rem}.record-status-badge.is-inactive,.record-status-badge.is-draft{border-color:#dce4f1;background:#f4f7fb;color:#5f6d85}.record-status-badge.is-partially-paid{border-color:#f4d8a6;background:#fff5e4;color:#a86811}.record-status-badge.is-ready{border-color:#dce4f1;background:#f4f7fb;color:#5f6d85}.record-status-badge.is-voided{border-color:#f2c9d3;background:#fff4f7;color:#b24262}.record-status-badge.is-requested{border-color:#d8d1ff;background:#f3f0ff;color:#5140d7}.record-status-badge.is-issued{border-color:#bfe8d3;background:#ecfbf3;color:#1a7a53}.record-status-badge.is-none{border-color:#dce4f1;background:#f5f8fc;color:#53627b}.invoice-page-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem}.invoice-page-tabs{justify-self:start}.sales-record-sheet{border:1px solid #e2eaf6;border-radius:1rem;background:linear-gradient(180deg,#fff,#fbfcff);padding:1rem;display:grid;gap:1rem}.sales-record-day-header,.sales-record-total,.sales-record-subtotal-row,.sales-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem}.sales-record-day-header{grid-template-columns:auto minmax(0,1fr) auto;padding-bottom:.35rem}.sales-record-day-header strong{justify-self:center;color:#243451;font-family:Poppins,sans-serif;font-size:1.02rem}.sales-record-list,.sales-record-subtotal-list{display:grid;gap:0}.sales-record-row,.sales-record-subtotal-row{padding:.9rem 0;border-top:1px solid #e4edf7}.sales-record-row:first-child,.sales-record-subtotal-row:first-child{border-top:1px solid #e4edf7}.sales-record-row-copy,.sales-record-row-meta{display:grid;gap:.18rem}.sales-record-row-copy strong,.sales-record-row-meta strong,.sales-record-total strong,.sales-record-subtotal-row strong{color:#243451;font-size:.95rem}.sales-record-row-copy span,.sales-record-row-meta span,.sales-record-total span,.sales-record-subtotal-row span{color:#6f7c95;font-size:.8rem;line-height:1.45}.sales-record-row-meta,.sales-record-subtotal-row strong,.sales-record-total strong{justify-items:end;text-align:right}.sales-record-total{padding-top:.4rem;border-top:1px solid #dfe8f4}.sales-record-total span{color:#243451;font-family:Poppins,sans-serif;font-size:.96rem}.sales-record-total strong{font-family:Poppins,sans-serif;font-size:1.6rem}.sales-record-subtotals{display:grid;gap:.6rem}.invoice-summary-card,.invoice-mini-card{border:1px solid #e2eaf6;border-radius:1rem;background:linear-gradient(180deg,#fff,#fbfcff);padding:.9rem 1rem;display:grid;gap:.22rem}.invoice-summary-card span,.invoice-mini-card span{color:#7a88a4;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.invoice-summary-card strong,.invoice-mini-card strong{color:#243451;font-size:1.2rem;font-weight:800}.invoice-summary-card small,.invoice-mini-card small,.invoice-mini-card-copy{color:#6f7c95;font-size:.8rem;line-height:1.5}.invoice-table-row{cursor:pointer}.invoice-table-row:hover{background:#fbfdff}.invoice-table-empty{border:0;box-shadow:none;background:transparent}.invoice-create-layout,.invoice-detail-layout{display:grid;gap:1rem}.invoice-create-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start}.invoice-create-patient-panel{grid-column:1;grid-row:1 / span 3}.invoice-create-details-panel,.invoice-create-lines-panel,.invoice-create-totals-panel{grid-column:2}.invoice-detail-section{border:1px solid #e2eaf6;border-radius:1.05rem;background:#fbfdff;padding:.95rem 1rem;display:grid;gap:.85rem}.invoice-detail-section-head,.invoice-preview-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.invoice-detail-section-head h3,.invoice-preview-section-head h3{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:.98rem}.invoice-form-grid,.invoice-detail-grid,.invoice-detail-side-by-side,.invoice-payment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem .9rem}.invoice-line-items{display:grid;gap:.8rem}.invoice-line-item-card{border:1px solid #e2eaf6;border-radius:1rem;background:#fff;padding:.85rem .9rem;display:grid;gap:.75rem}.invoice-line-item-footer,.invoice-detail-head-actions,.invoice-inline-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.invoice-line-item-footer{justify-content:space-between}.invoice-patient-results,.invoice-doc-list,.invoice-preview-lines{display:grid;gap:.7rem}.invoice-patient-results{max-height:420px;overflow:auto;padding-right:.15rem}.invoice-patient-result,.invoice-doc-item{width:100%;border:1px solid #dbe5f2;border-radius:.95rem;background:#fff;color:inherit;text-align:left;padding:.75rem .85rem;text-decoration:none}.invoice-patient-result{cursor:pointer}.invoice-patient-result:hover,.invoice-doc-item:hover{background:#f8fbff;border-color:#cedaec}.invoice-patient-result.is-active{border-color:#cfc5ff;background:#f4f1ff}.invoice-selected-patient{border:1px solid #d7ddf9;border-radius:1rem;background:linear-gradient(180deg,#f8f6ff,#fdfdff);padding:.9rem;display:grid;gap:.8rem}.invoice-selected-patient.is-static{margin-bottom:1rem}.invoice-context-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;color:#62708f;font-size:.88rem}.patient-detail-billing-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-bottom:1rem}.patient-detail-plan-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.patient-detail-mini-summary{border:1px solid #d7ddf9;border-radius:1rem;background:#fff;padding:1rem 1.1rem;display:grid;gap:.35rem}.patient-detail-mini-summary span{color:#74819c;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.patient-detail-mini-summary strong{color:#23314f;font-size:1.05rem}.patient-detail-mini-summary small{color:#6f7d9b;font-size:.82rem;line-height:1.45}.patient-detail-stack{display:grid;gap:1rem}.patient-detail-plan-card,.patient-detail-billing-card{border:1px solid #dfe8f4;border-radius:1.1rem;background:linear-gradient(180deg,#fff,#fbfdff);padding:1rem 1.1rem;display:grid;gap:.9rem}.patient-detail-plan-card-head,.patient-detail-billing-card-head,.patient-detail-billing-card-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.patient-detail-plan-card-title,.patient-detail-billing-card-title{display:grid;gap:.28rem}.patient-detail-plan-card-title strong,.patient-detail-billing-card-title strong{color:#243553;font-size:1.02rem;line-height:1.35}.patient-detail-plan-card-title p,.patient-detail-billing-card-title p{margin:0;color:#64738f;font-size:.9rem;line-height:1.5}.patient-detail-plan-card-grid,.patient-detail-billing-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.patient-detail-billing-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-detail-plan-card-grid div,.patient-detail-billing-card-grid div{border:1px solid #e5ecf6;border-radius:1rem;background:#fff;padding:.82rem .92rem;display:grid;gap:.28rem}.patient-detail-plan-card-grid span,.patient-detail-billing-card-grid span{color:#7b8aa8;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.patient-detail-plan-card-grid strong,.patient-detail-billing-card-grid strong{color:#243553;font-size:.94rem;line-height:1.5}.patient-detail-billing-table-shell table{min-width:1120px}.patient-detail-billing-description-cell{min-width:220px}.patient-detail-billing-cell-copy{display:grid;gap:.2rem}.patient-detail-billing-cell-copy strong{color:#243553;font-size:.9rem;line-height:1.45}.patient-detail-billing-cell-copy span{color:#6d7b96;font-size:.78rem;line-height:1.4}.patient-detail-billing-action-cell{white-space:nowrap}.invoice-doc-item strong{color:#273756;font-size:.88rem}.invoice-doc-item span{display:block;margin-top:.2rem;color:#74819c;font-size:.75rem}.invoice-draft-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.invoice-detail-description{display:grid;gap:.3rem}.invoice-detail-description p,.invoice-preview-empty-copy,.invoice-preview-mc p{margin:0;color:#687791;font-size:.84rem;line-height:1.6}.invoice-payment-mode{font-size:.92rem}.invoice-preview{display:grid;gap:1rem}.invoice-preview-head,.invoice-preview-meta,.invoice-preview-summary,.invoice-preview-totals{display:grid;gap:.8rem}.invoice-preview-head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.invoice-preview-meta{justify-items:end}.invoice-preview-summary,.invoice-preview-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-preview-summary span,.invoice-preview-totals span{color:#7987a3;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.invoice-preview-summary strong,.invoice-preview-totals strong,.invoice-preview-line strong{color:#243451}.invoice-preview-section{border:1px solid #e3ebf6;border-radius:1rem;background:#fbfdff;padding:.9rem 1rem;display:grid;gap:.75rem}.invoice-preview-line{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.invoice-preview-line span{color:#74819c;font-size:.78rem}.invoice-preview-mc{border:1px solid #e3ebf6;border-radius:1rem;background:#fbfdff;padding:.9rem 1rem;display:grid;gap:.55rem}.receipt-preview-modal.modal-card.is-lg{width:min(96vw,980px);max-height:94vh;display:flex;flex-direction:column}.receipt-preview-modal-body{overflow:auto;padding:.3rem;background:#edf2f7;border-radius:.9rem}.official-receipt{--receipt-bg: #ffffff;--receipt-text: #1e293b;--receipt-muted: #64748b;--receipt-accent: #5548d9;--receipt-border: #e2e8f0;width:min(100%,210mm);min-height:297mm;margin:0 auto;padding:15mm;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:0;background:var(--receipt-bg);border-radius:8px;box-shadow:0 18px 36px #0f172a1f;color:var(--receipt-text);font-family:Segoe UI,Arial,sans-serif}.official-receipt-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);color:#0d948809;font-size:clamp(3.5rem,13vw,6.5rem);font-weight:900;letter-spacing:.1em;line-height:1;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.official-receipt-header{display:flex;justify-content:space-between;gap:1.25rem;padding-bottom:1.2rem;margin-bottom:1.5rem;border-bottom:2px solid var(--receipt-accent);position:relative;z-index:1}.official-receipt-clinic-details{max-width:66%}.official-receipt-clinic-details h1{margin:0 0 .4rem;color:var(--receipt-accent);font-size:1.6rem;font-weight:800;line-height:1.2}.official-receipt-clinic-details p{margin:0;color:var(--receipt-muted);font-size:.85rem;line-height:1.45}.official-receipt-logo{width:90px;height:90px;border:4px solid #f0fdfa;border-radius:999px;background:var(--receipt-accent);box-shadow:inset 0 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;font-size:1.2rem;font-weight:800}.official-receipt-logo span{margin-top:-2px;font-size:.55rem;font-weight:500;letter-spacing:.08em;opacity:.86;text-transform:uppercase}.official-receipt-title-block{text-align:center;margin-bottom:1.5rem;position:relative;z-index:1}.official-receipt-title-block h2{margin:0;color:var(--receipt-text);font-size:1.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.official-receipt-meta-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;padding:1.2rem;margin-bottom:1.5rem;position:relative;z-index:1;background:#f8fafc;border:1px solid var(--receipt-border);border-radius:8px;font-size:.9rem}.official-receipt-patient-block h3,.official-receipt-detail-block h3,.official-receipt-payment-section h3,.official-receipt-totals-section h3{margin:0 0 .55rem;color:var(--receipt-accent);font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.official-receipt-patient-block strong{display:block;margin-bottom:.25rem;color:var(--receipt-text);font-size:1.05rem}.official-receipt-patient-block p{margin:0 0 .16rem;color:var(--receipt-muted);line-height:1.45}.official-receipt-patient-block span{font-weight:700}.official-receipt-detail-block table,.official-receipt-totals-section table,.official-receipt-items-table{width:100%;border-collapse:collapse}.official-receipt-detail-block td{padding:.15rem 0;vertical-align:top}.official-receipt-detail-block td:first-child{width:42%;color:var(--receipt-muted);font-weight:600}.official-receipt-detail-block td:last-child{color:var(--receipt-text);font-weight:700;text-align:right}.official-receipt-items-table{margin-bottom:1.5rem;position:relative;z-index:1;font-size:.9rem}.official-receipt-items-table th{padding:.6rem .8rem;background:var(--receipt-accent);color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.official-receipt-items-table th:first-child{border-radius:6px 0 0 6px;text-align:left}.official-receipt-items-table th:last-child{border-radius:0 6px 6px 0}.official-receipt-items-table td{padding:.8rem;border-bottom:1px solid var(--receipt-border);color:var(--receipt-text);vertical-align:top}.official-receipt-items-table tr:last-child td{border-bottom:2px solid var(--receipt-accent)}.official-receipt-items-table td strong,.official-receipt-items-table td span{display:block}.official-receipt-items-table td span{margin-top:.18rem;color:var(--receipt-muted);font-size:.78rem;line-height:1.45}.official-receipt-bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;margin-top:auto;padding-top:1rem;position:relative;z-index:1;font-size:.9rem}.official-receipt-payment-section h3,.official-receipt-totals-section h3{padding-bottom:.35rem;border-bottom:1px solid var(--receipt-border)}.official-receipt-payment-section p{margin:0;color:var(--receipt-muted);line-height:1.55}.official-receipt-payment-row{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px dashed var(--receipt-border)}.official-receipt-payment-row span{font-weight:600}.official-receipt-payment-row strong{color:var(--receipt-text)}.official-receipt-progress{margin-top:1rem;padding:.8rem;background:#fdfefe;border:1px dashed var(--receipt-accent);border-radius:6px}.official-receipt-progress h4{margin:0 0 .45rem;color:var(--receipt-accent);font-size:.8rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.official-receipt-progress div{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.25rem;color:var(--receipt-muted);font-size:.8rem}.official-receipt-progress div:last-child{margin-bottom:0;padding-top:.3rem;border-top:1px solid var(--receipt-border);color:var(--receipt-accent)}.official-receipt-progress div.has-balance{color:#dc2626}.official-receipt-totals-section td{padding:.42rem 0}.official-receipt-totals-section td:first-child{color:var(--receipt-muted)}.official-receipt-totals-section td:last-child{color:var(--receipt-text);font-size:1rem;font-weight:800;text-align:right}.official-receipt-grand-total td{padding-top:.62rem;border-top:1px solid var(--receipt-border);color:var(--receipt-accent)!important;font-size:1.15rem;font-weight:900}.official-receipt-grand-total td:last-child{font-size:1.25rem}.official-receipt-footer{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--receipt-border);color:var(--receipt-muted);text-align:center;position:relative;z-index:1}.official-receipt-footer p{margin:0 0 .2rem;color:var(--receipt-accent);font-size:.9rem;font-weight:800}.official-receipt-footer span{font-size:.75rem;line-height:1.5}.receipt-preview-paper{padding:0;overflow:hidden;background:#eef4f8}.official-receipt.is-embedded{width:100%;min-height:auto;padding:1.1rem;border-radius:1rem;box-shadow:none;font-size:.82rem}.official-receipt.is-embedded .official-receipt-watermark{font-size:clamp(2.4rem,8vw,4.4rem)}.official-receipt.is-embedded .official-receipt-header{gap:.85rem;padding-bottom:.85rem;margin-bottom:1rem}.official-receipt.is-embedded .official-receipt-clinic-details{max-width:calc(100% - 76px)}.official-receipt.is-embedded .official-receipt-clinic-details h1{font-size:1rem}.official-receipt.is-embedded .official-receipt-clinic-details p{font-size:.68rem}.official-receipt.is-embedded .official-receipt-logo{width:62px;height:62px;border-width:3px;font-size:.9rem}.official-receipt.is-embedded .official-receipt-logo span{font-size:.44rem}.official-receipt.is-embedded .official-receipt-title-block{margin-bottom:.9rem}.official-receipt.is-embedded .official-receipt-title-block h2{font-size:1.1rem}.official-receipt.is-embedded .official-receipt-meta-grid,.official-receipt.is-embedded .official-receipt-bottom-grid{grid-template-columns:1fr;gap:.85rem}.official-receipt.is-embedded .official-receipt-meta-grid{padding:.85rem;margin-bottom:1rem;font-size:.76rem}.official-receipt.is-embedded .official-receipt-patient-block h3,.official-receipt.is-embedded .official-receipt-detail-block h3,.official-receipt.is-embedded .official-receipt-payment-section h3,.official-receipt.is-embedded .official-receipt-totals-section h3,.official-receipt.is-embedded .official-receipt-progress h4{font-size:.66rem}.official-receipt.is-embedded .official-receipt-patient-block strong{font-size:.86rem}.official-receipt.is-embedded .official-receipt-detail-block td:last-child{max-width:150px;overflow-wrap:anywhere}.official-receipt.is-embedded .official-receipt-items-table{margin-bottom:.9rem;font-size:.72rem}.official-receipt.is-embedded .official-receipt-items-table th,.official-receipt.is-embedded .official-receipt-items-table td{padding:.48rem .38rem}.official-receipt.is-embedded .official-receipt-items-table th{font-size:.62rem}.official-receipt.is-embedded .official-receipt-items-table td span{font-size:.66rem}.official-receipt.is-embedded .official-receipt-bottom-grid{padding-top:.55rem;font-size:.76rem}.official-receipt.is-embedded .official-receipt-progress{padding:.65rem}.official-receipt.is-embedded .official-receipt-progress div{font-size:.7rem}.official-receipt.is-embedded .official-receipt-totals-section td:last-child{font-size:.86rem}.official-receipt.is-embedded .official-receipt-grand-total td,.official-receipt.is-embedded .official-receipt-grand-total td:last-child{font-size:.98rem}.official-receipt.is-embedded .official-receipt-footer{margin-top:1.1rem;padding-top:.75rem}.official-receipt.is-embedded .official-receipt-footer p{font-size:.78rem}.official-receipt.is-embedded .official-receipt-footer span{font-size:.66rem}.invoice-create-modal{display:flex;flex-direction:column;max-height:min(92vh,940px)}.invoice-create-modal .modal-body{overflow:auto;padding-right:.1rem}.invoice-screen-shell{display:grid;gap:1rem;align-content:start}.invoice-screen-footer{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.invoice-detail-screen{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1rem;align-items:start}.invoice-detail-main,.invoice-detail-side{display:grid;gap:1rem}.invoice-detail-hero,.invoice-inline-form-card{border:1px solid #e2eaf6;border-radius:1.05rem;background:linear-gradient(180deg,#fff,#fbfcff);padding:1rem;display:grid;gap:.85rem}.invoice-checkout-complete{border:1px solid #d8d2ff;border-radius:1.05rem;background:linear-gradient(180deg,#fff,#f8f6ff);box-shadow:0 16px 34px #4835d414;padding:1rem;display:grid;gap:.95rem}.invoice-checkout-complete-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.invoice-checkout-complete-head h3{margin:.15rem 0 0;color:#243451;font-family:Poppins,sans-serif;font-size:1.05rem}.invoice-checkout-complete-head p:not(.page-eyebrow){margin:.2rem 0 0;color:#6d7a96;font-size:.86rem;line-height:1.5}.invoice-checkout-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.invoice-checkout-document{border:1px solid #e2e7fb;border-radius:.95rem;background:#fff;padding:.85rem .9rem;display:grid;gap:.24rem}.invoice-checkout-document span,.invoice-mc-preview-strip span{color:#7b88a4;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.invoice-checkout-document strong,.invoice-mc-preview-strip strong{color:#243451;font-size:.98rem;line-height:1.45}.invoice-checkout-document small,.invoice-mc-preview-strip small,.invoice-mc-helper span{color:#6f7c95;font-size:.8rem;line-height:1.5}.invoice-mc-preview-strip{border:1px solid #e5ecf7;border-radius:.95rem;background:#fff;padding:.82rem .9rem;display:grid;gap:.25rem}.medical-certificate-modal{display:flex;flex-direction:column;max-height:min(92vh,760px);font-size:.88rem}.medical-certificate-modal-body{display:grid;gap:.9rem;overflow:auto;padding-right:.1rem}.medical-certificate-modal .modal-head h2{font-size:1.12rem;line-height:1.35}.medical-certificate-modal .modal-head p{font-size:.82rem;line-height:1.45}.medical-certificate-modal .field-label{font-size:.7rem}.medical-certificate-modal .field-group input,.medical-certificate-modal .field-group textarea,.medical-certificate-modal .field-group select{font-family:inherit;font-size:.9rem;line-height:1.4}.medical-certificate-modal .field-group textarea{min-height:76px;resize:vertical}.medical-certificate-modal .invoice-mc-preview-strip strong{font-size:.9rem}.medical-certificate-modal .invoice-mc-preview-strip small,.medical-certificate-modal .modal-footer .secondary-btn,.medical-certificate-modal .modal-footer .primary-btn{font-size:.82rem}.invoice-detail-hero-status{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.invoice-detail-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.invoice-preview-paper{position:sticky;top:94px;border:1px solid #e2eaf6;border-radius:1.1rem;background:#fff;box-shadow:0 14px 32px #18223a14;padding:1.1rem;display:grid;gap:.9rem}.invoice-paper-header,.invoice-paper-meta,.invoice-paper-totals,.invoice-preview-summary{display:grid;gap:.75rem}.invoice-paper-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.invoice-paper-meta,.invoice-paper-totals,.invoice-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-paper-section{border:1px solid #e3ebf6;border-radius:1rem;background:#fbfdff;padding:.9rem 1rem;display:grid;gap:.75rem}.invoice-paper-table{display:grid;gap:.45rem}.invoice-paper-table-head,.invoice-paper-table-row{display:grid;grid-template-columns:minmax(0,1.5fr) .45fr .7fr .8fr;gap:.7rem;align-items:start}.invoice-paper-table-head span,.invoice-paper-table-row span,.invoice-paper-table-row small{color:#72809c;font-size:.75rem}.invoice-paper-table-row strong,.invoice-paper-meta strong,.invoice-paper-totals strong,.invoice-preview-summary strong{color:#243451;font-size:.88rem}@media(max-width:1100px){.invoice-page-summary,.invoice-draft-totals,.invoice-preview-summary,.invoice-preview-totals,.invoice-detail-metric-grid,.invoice-paper-meta,.invoice-paper-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-create-layout{grid-template-columns:1fr}.invoice-create-patient-panel,.invoice-create-details-panel,.invoice-create-lines-panel,.invoice-create-totals-panel{grid-column:auto;grid-row:auto}.invoice-form-grid,.invoice-detail-grid,.invoice-detail-side-by-side,.invoice-payment-form,.invoice-detail-screen{grid-template-columns:1fr}}@media(max-width:760px){.invoice-create-layout,.invoice-page-summary,.invoice-draft-totals,.invoice-preview-summary,.invoice-preview-totals,.invoice-preview-head{grid-template-columns:1fr}.invoice-preview-meta{justify-items:start}.invoice-screen-footer,.invoice-detail-hero-status{justify-content:stretch}.invoice-paper-table-head,.invoice-paper-table-row{grid-template-columns:1fr}.receipt-preview-modal.modal-card.is-lg{width:min(100%,96vw)}.official-receipt{min-height:auto;padding:1rem}.official-receipt-header,.official-receipt-meta-grid,.official-receipt-bottom-grid{grid-template-columns:1fr}.official-receipt-header{display:grid}.official-receipt-clinic-details{max-width:none}.official-receipt-logo{width:72px;height:72px;justify-self:start}.official-receipt-title-block h2{font-size:1.35rem}.official-receipt-meta-grid,.official-receipt-bottom-grid{gap:1rem}.official-receipt-items-table{font-size:.78rem}.official-receipt-items-table th,.official-receipt-items-table td{padding:.55rem .45rem}}.treatment-name-cell strong{color:#243451}.billing-workspace-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);gap:1rem;align-items:start}.billing-main-column,.billing-search-results,.billing-line-items,.billing-summary-stack,.billing-history-section,.receipt-preview,.receipt-preview-lines,.view-record-results,.view-record-section-actions{display:grid;gap:.9rem}.billing-panel,.billing-summary-card,.view-record-results,.view-record-summary{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:1rem}.billing-panel-head,.view-record-summary-head{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.billing-panel-head h2,.view-record-summary-head h2{margin:.2rem 0 0;color:#243451;font-size:1.2rem}.billing-search-result{border:1px solid #e0e8f4;border-radius:.95rem;background:#fff;padding:.78rem .9rem;text-align:left;cursor:pointer}.billing-search-result:hover,.view-record-result:hover{border-color:#cad7ef;box-shadow:0 12px 24px #2739580f}.billing-empty-state{min-height:132px}.billing-line-item{border:1px solid #e4ebf6;border-radius:1rem;background:#fff;padding:.95rem;display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(90px,.55fr)) minmax(160px,1fr) auto auto;gap:.8rem;align-items:end}.billing-line-item-notes{min-width:0}.billing-line-item-total{display:grid;gap:.2rem;min-width:110px}.billing-line-item-total span{color:#7a87a0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.billing-line-item-total strong{color:#243451;font-size:.9rem}.billing-totals{display:grid;gap:.6rem;padding:.9rem 0;border-top:1px solid #e6edf7;border-bottom:1px solid #e6edf7}.billing-totals div,.receipt-preview-totals div{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.billing-totals span,.receipt-preview-totals span{color:#71809a;font-size:.82rem;font-weight:700}.billing-totals strong,.receipt-preview-totals strong{color:#243451;font-size:.92rem}.billing-status-banner{border:1px solid #e2eaf5;border-radius:1rem;background:#fff;padding:.9rem;display:grid;gap:.45rem}.billing-status-banner p{margin:0;color:#65748f;font-size:.9rem;line-height:1.55}.billing-summary-actions,.view-record-result-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.billing-history-link{width:100%}.receipt-preview-head{display:grid;gap:.2rem}.receipt-preview-head span{color:#7d8aa3;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.receipt-preview-head strong{color:#243451;font-size:1.05rem}.receipt-preview-line{display:flex;align-items:start;justify-content:space-between;gap:.8rem;border:1px solid #e3ebf6;border-radius:.95rem;background:#fff;padding:.85rem .95rem}.receipt-preview-line div{display:grid;gap:.18rem}.receipt-preview-line span{color:#71809a;font-size:.82rem}.receipt-preview-totals{display:grid;gap:.45rem;border-top:1px solid #e6edf7;padding-top:.9rem}.view-record-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:1rem;align-items:start}.view-record-result{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:.85rem .95rem;display:grid;gap:.75rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.view-record-result.is-active{border-color:#cec7ff;box-shadow:0 16px 28px #4b39ef1a;transform:translateY(-1px)}.view-record-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.view-record-overview-card{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:.9rem;display:grid;gap:.32rem}.view-record-overview-card span{color:#7b88a3;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.view-record-overview-card strong{color:#243451;font-size:1rem}.view-record-overview-card small{color:#66758f;font-size:.84rem;line-height:1.55}.view-record-section-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.view-record-empty{min-height:240px}.patient-profile-summary-card,.patient-profile-content-card{display:grid;gap:1rem}.patient-profile-summary-grid,.patient-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.patient-profile-meta{display:grid;gap:.16rem;padding:.85rem .9rem;border:1px solid #e3ebf6;border-radius:.9rem;background:#fbfdff}.patient-profile-meta small{color:#72809c;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.patient-profile-meta strong{color:#233452;font-size:.9rem;line-height:1.45}.patient-profile-tabs{display:flex;gap:.45rem;flex-wrap:wrap}.patient-profile-tab{border:1px solid #dbe5f2;border-radius:999px;background:#fff;color:#556581;padding:.48rem .9rem;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.patient-profile-tab.is-active{background:#ece9ff;border-color:#d1c8ff;color:#4332d5}.patient-profile-panel{display:grid;gap:.9rem}.patient-profile-panel-head{display:grid;gap:.2rem}.patient-profile-panel-head h2{margin:0;font-size:1.08rem;color:#233452}.patient-profile-panel-head p,.patient-empty-copy{margin:0;color:#72809c;font-size:.82rem;line-height:1.6}.patient-profile-list-block{display:flex;gap:.55rem;flex-wrap:wrap}.patient-tag,.patient-note-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.36rem .72rem;font-size:.8rem;font-weight:700}.patient-tag{background:#eef7f1;color:#2a8a4f}.patient-note-chip{background:#f4f7fd;color:#455471}.patient-edit-modal{width:min(100%,560px)}.patient-edit-modal-head{margin-bottom:.95rem}.patient-edit-modal-head h2{margin:0}.patient-edit-modal-head p{margin-bottom:0}.patient-edit-form{max-height:min(72vh,760px);overflow-y:auto;padding-right:.2rem;display:grid;gap:1rem}.patient-edit-error{margin:0}.patient-edit-section{display:grid;gap:.75rem;border:1px solid #e3ebf6;border-radius:.95rem;background:#fbfdff;padding:.9rem}.patient-edit-section h3{margin:0;color:#233452;font-size:.94rem}.patient-edit-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.patient-edit-section-heading p{margin:.25rem 0 0;color:#6d7890;font-size:.8rem;line-height:1.4}.calendar-nav{display:flex;gap:.4rem}.calendar-nav button{width:1.8rem;height:1.8rem;border:1px solid #dae4f2;border-radius:.55rem;background:#fff;color:#5f6c87;display:grid;place-items:center;cursor:pointer}.calendar-nav svg{width:.95rem;height:.95rem}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-weekdays span{text-align:center;font-size:.72rem;color:#7c88a2;font-weight:700}.calendar-day{position:relative;height:2.1rem;border:1px solid #e6edf8;border-radius:.55rem;display:inline-grid;place-items:center;padding:0;border-width:1px;border-style:solid;font-family:Manrope,Segoe UI,sans-serif;font-size:.83rem;font-weight:500;line-height:1;color:#2f3d59;background:#fff;width:100%;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.calendar-day:hover:not(.is-empty){border-color:#cfdcf0;transform:translateY(-1px)}.calendar-day.is-empty{border-color:transparent;background:transparent;cursor:default}.calendar-day.is-today{background:#e9ecff;border-color:#cbd2ff;color:#3949bf;font-weight:700}.calendar-day.is-today:after{content:"";position:absolute;right:.28rem;top:.28rem;width:.32rem;height:.32rem;border-radius:50%;background:#4b39ef}.calendar-day.is-selected{background:linear-gradient(145deg,#4b39ef,#5f7fff);border-color:#4b39ef;color:#fff;font-weight:700;box-shadow:0 10px 18px #4b39ef33}.calendar-day.is-selected:after{background:#fff}.tasks-card{display:grid;gap:.9rem}.tasks-add-button{border:1px solid #d9e2f1;border-radius:999px;background:#fff;color:#34456a;padding:.42rem .8rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;width:auto;flex:0 0 auto;align-self:flex-start;white-space:nowrap}.tasks-toolbar{display:grid;gap:.55rem}.tasks-date-label{margin:0;color:#6d7a94;font-size:.76rem;font-weight:700}.tasks-filter{display:grid;gap:.35rem}.tasks-filter label{color:#71809d;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.tasks-filter select{border:1px solid #dbe5f2;border-radius:.65rem;padding:.55rem 1.8rem .55rem .65rem;font:inherit;color:#2b3c5b;background:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23556481' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .78rem center;background-size:.8rem}.task-list{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.task-item{position:relative;border:1px solid #e3eaf6;border-radius:.9rem;background:linear-gradient(145deg,#f8fbff,#fdfefe);padding:.7rem .75rem;box-shadow:inset 0 1px #ffffffd9}.task-item:nth-child(3n+1){border-color:#dfe8f5;background:linear-gradient(145deg,#f7fbff,#f3f8ff)}.task-item:nth-child(3n+2){border-color:#e8e2f2;background:linear-gradient(145deg,#fcf8ff,#f7f2fb)}.task-item:nth-child(3n+3){border-color:#e5eadf;background:linear-gradient(145deg,#fbfff7,#f4faed)}.task-item-delete{position:absolute;top:.48rem;right:.48rem;width:1.7rem;height:1.7rem;border:0;border-radius:0;background:transparent;color:#d33a3a;display:inline-grid;place-items:center;cursor:pointer;transition:color .14s ease,transform .14s ease,opacity .14s ease}.task-item-delete svg{width:.85rem;height:.85rem}.task-item-delete:hover:not(:disabled){color:#a91f1f;transform:translateY(-1px)}.task-item-delete:disabled{cursor:wait;opacity:.72}.task-item-delete.is-loading svg{animation:page-refresh-spin .8s linear infinite}.task-item-main{display:flex;align-items:flex-start;gap:.65rem;color:#2d3d5b;cursor:pointer;padding-right:1.8rem}.task-list input,.task-done-toggle input{accent-color:#4658e6;margin-top:.15rem}.task-item-copy{display:grid;gap:.38rem;min-width:0}.task-item-title{color:#23324f;font-size:.9rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.task-item-meta{display:grid;gap:.4rem}.task-time{color:#74829d;font-size:.78rem;font-weight:600}.task-category-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;padding:.24rem .56rem;font-size:.7rem;font-weight:700}.category-cde{background:#eef1ff;color:#4a55d6}.category-online-meeting{background:#eaf7ff;color:#1d7bc2}.category-physical-meeting{background:#edf8ef;color:#28824c}.category-holiday{background:#fff4e5;color:#b87416}.category-audit{background:#fff0f4;color:#bf4164}.category-others{background:#f1f4fb;color:#596783}.task-item.is-done{background:#f6f8fc;border-color:#e2e8f1;box-shadow:none}.task-item.is-done .task-item-title{text-decoration:line-through;color:#8a95ab}.task-item.is-done .task-time{color:#9aa4b8}.tasks-empty{border:1px dashed #dbe5f2;border-radius:.9rem;padding:.9rem .8rem;color:#7a86a0;font-size:.84rem;text-align:center}.add-task-modal{width:min(100%,500px);padding:.98rem 1rem 1rem}.add-task-head{margin-bottom:.4rem}.add-task-form{display:grid;gap:.72rem}.add-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem}.task-done-toggle{display:flex;align-items:center;gap:.55rem;color:#334364;font-size:.8rem;font-weight:600}.add-task-form .field-group input[type=date],.add-task-form .field-group input[type=time]{min-height:46px}.online-request-popover{position:absolute;top:calc(100% + .8rem);right:0;z-index:48;width:min(420px,calc(100vw - 2rem));max-height:min(500px,calc(100vh - 8rem));border:1px solid #dbe5f2;border-radius:1.15rem;background:#fffffffa;box-shadow:0 28px 48px #18223a2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:.85rem;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.7rem;overflow:hidden}.online-request-popover:before{content:"";position:absolute;top:-.45rem;right:1.2rem;width:.9rem;height:.9rem;border-top:1px solid #dbe5f2;border-left:1px solid #dbe5f2;background:#fffffffa;transform:rotate(45deg)}.online-request-popover-head{display:flex;align-items:start;justify-content:space-between;gap:.8rem}.online-request-popover-title-block{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.online-request-popover-title-block h2{margin:0;font-family:Poppins,sans-serif;font-size:.96rem;color:#1e2b46}.online-request-popover-list{display:grid;gap:.45rem;overflow-y:auto;max-height:min(360px,calc(100vh - 14rem));padding-right:.2rem}.online-request-popover-card{position:relative;border:1px solid #e3ebf6;border-radius:.85rem;background:linear-gradient(180deg,#fcfdff,#f7faff);padding:.58rem .68rem;display:flex;flex-direction:column;align-items:stretch;gap:.38rem}.online-request-popover-card.is-accepted{border-color:#bfecd4;background:linear-gradient(180deg,#f9fffb,#f2fff7)}.online-request-accept-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;background:#f8fffbf0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.online-request-accept-badge{display:grid;justify-items:center;gap:.65rem;color:#1c7b4d;animation:online-request-accept-pop .42s cubic-bezier(.2,.9,.2,1)}.online-request-accept-badge strong{font-size:.96rem;font-weight:800;letter-spacing:.01em}.online-request-accept-icon{width:3.4rem;height:3.4rem;border-radius:999px;display:grid;place-items:center;background:linear-gradient(145deg,#20b46d,#169a5b);box-shadow:0 14px 26px #1c7b4d3d}.online-request-accept-icon svg{width:1.7rem;height:1.7rem}.online-request-accept-icon path{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:22;stroke-dashoffset:22;animation:online-request-check-draw .22s ease forwards .13s}.online-request-popover-card-head{display:flex;align-items:center;justify-content:space-between;min-width:0;width:100%;gap:.55rem}.online-request-popover-card-head .appointment-action{flex:0 0 auto}.online-request-popover-patient{display:flex;flex-direction:column;gap:.18rem;min-width:0;flex:1 1 auto}.online-request-popover-patient strong{display:block;color:#223250;font-size:.82rem;line-height:1.2;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-request-popover-patient span{color:#73809b;font-size:.72rem;line-height:1.2}.online-request-popover-meta{display:flex;flex-direction:column;gap:.14rem;align-items:center;min-width:0}.online-request-popover-service,.online-request-popover-datetime,.online-request-popover-note{margin:0;min-width:0}.online-request-popover-service{color:#2c3d5d;font-weight:700;font-size:.73rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-request-popover-datetime{color:#5d6f8e;font-size:.7rem;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-request-popover-note{color:#6f7c95;font-size:.7rem;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.online-request-popover-actions{display:flex;align-items:center;justify-content:flex-start;gap:.35rem;padding-top:.18rem;border-top:1px solid #eef3fb;flex-wrap:nowrap}.online-request-popover-actions .mini-action-btn{min-height:2rem;padding:.36rem .68rem;border-radius:999px;font-size:.7rem;font-weight:700;flex:0 0 auto}.online-request-popover-empty{border:1px dashed #dbe5f2;border-radius:1rem;padding:1rem;color:#7a86a0;font-size:.88rem;text-align:center}@keyframes online-request-accept-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes online-request-check-draw{to{stroke-dashoffset:0}}@media(max-width:900px){.notification-popover-anchor{position:static}.online-request-popover{position:fixed;top:6.25rem;right:1rem;left:1rem;width:auto;max-height:min(70vh,560px)}.online-request-popover:before{display:none}.online-request-popover-card{align-items:start}.online-request-popover-actions{justify-content:flex-start;flex-wrap:wrap}}.signin-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#eff6ff6b,#e0f2fe42);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none}.signin-stage{position:relative;z-index:2;width:min(430px,100%)}.stage-brand{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:.4rem}.stage-logo-icon{width:6rem;height:6rem;object-fit:contain}.signin-card,.dashboard-card,.modal-card{background:#fffffff2;border:1px solid var(--border);box-shadow:0 24px 40px #1d224c24}.signin-card{width:100%;border-radius:24px;padding:1.75rem;animation:reveal-up .42s ease both}.signin-card h1,.modal-card h2,.dashboard-card h1{margin:0;font-family:Sora,Trebuchet MS,sans-serif}.modal-card h2{font-size:1.18rem;line-height:1.2}.signin-card h1{text-align:center;font-size:1.7rem;letter-spacing:-.01em}.signin-eyebrow{margin:0;color:var(--primary);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.signin-subtitle{margin:.5rem 0 1.15rem;color:var(--muted);text-align:center}.signin-form{display:grid;gap:.95rem}.field-group{display:grid;gap:.4rem}.field-label{color:#312d58;font-size:.9rem;font-weight:600}.field-group input{width:100%;border:1px solid var(--border);border-radius:11px;background:#fff;color:#1a173f;padding:.75rem .85rem;font:inherit;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field-group select,.field-group textarea{width:100%;border:1px solid var(--border);border-radius:11px;background:#fff;color:#1a173f;padding:.75rem .85rem;font:inherit;outline:none;transition:border-color .12s ease,box-shadow .12s ease;resize:vertical}.field-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4b39ef29}.field-group select:focus,.field-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4b39ef29}.searchable-select,.searchable-select-control{position:relative}.field-group .searchable-select-input,.new-appointment-page .field-group .searchable-select-input,.modal-card .field-group .searchable-select-input{padding-right:2.8rem}.searchable-select-toggle{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);width:1.9rem;height:1.9rem;border:0;border-radius:999px;background:transparent;color:#596887;display:grid;place-items:center;cursor:pointer}.searchable-select-toggle:hover{color:#263654}.searchable-select-toggle svg{width:1rem;height:1rem;transition:transform .16s ease}.searchable-select.is-open .searchable-select-toggle svg{transform:rotate(180deg)}.searchable-select-dropdown{position:absolute;top:calc(100% + .45rem);left:0;right:0;z-index:60;display:grid;gap:.25rem;max-height:15rem;overflow-y:auto;padding:.38rem;border:1px solid #dbe5f2;border-radius:.95rem;background:#fff;box-shadow:0 18px 36px #18233b24}.searchable-select-option{width:100%;border:0;border-radius:.72rem;background:transparent;color:#243451;padding:.58rem .68rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;text-align:left;font:inherit;font-size:.88rem;cursor:pointer}.searchable-select-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-option small,.searchable-select-empty{color:#70809c;font-size:.76rem}.searchable-select-option.is-highlighted,.searchable-select-option:hover{background:#f6f9ff}.searchable-select-option.is-selected{background:#f2eeff;color:#31288e}.searchable-select-empty{padding:.68rem}.password-row{display:grid;grid-template-columns:1fr auto;gap:.48rem}.password-toggle{width:42px;border-radius:11px;border:1px solid var(--border);color:#585184;background:#fff;display:grid;place-items:center}.password-toggle svg{width:18px;height:18px}.password-toggle:hover:enabled{border-color:#c4bdfc;color:#3e376e}.meta-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.checkbox-row{display:inline-flex;align-items:center;gap:.45rem;color:#4f4a78;font-size:.92rem}.checkbox-row input{accent-color:var(--primary)}.page-primary-action,.page-back-button,.primary-btn,.secondary-btn,.link-btn,.password-toggle{font:inherit;cursor:pointer}.page-primary-action,.page-back-button,.primary-btn,.secondary-btn{min-height:42px;padding:.68rem 1rem;font-size:.84rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.primary-btn{border:none;border-radius:11px;background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff;font-weight:700}.primary-btn:hover:enabled{transform:translateY(-1px);box-shadow:0 10px 18px #4b39ef47}.primary-btn:disabled{opacity:.65;cursor:not-allowed}.secondary-btn{border-radius:11px;border:1px solid #d7deeb;background:#fff;color:#39445a;font-weight:700}.secondary-btn:hover:enabled{border-color:#bcc7db;background:#f8fafc}.secondary-btn.is-danger{border-color:#f1ccd9;color:#b4234f}.secondary-btn.is-danger:hover:enabled{border-color:#e4b4c6;background:#fff5f8}.link-btn{border:none;background:transparent;padding:0;color:var(--primary);text-decoration:none}.link-btn:hover{text-decoration:underline}.error-banner{border:1px solid #f3c4d7;border-left:4px solid var(--danger);background:#fff4f8;color:#8f1b45;border-radius:11px;padding:.66rem .72rem;margin-bottom:.95rem}.field-error{color:var(--danger);font-size:.84rem;font-weight:600}.signin-footer{margin:1rem 0 0;color:var(--muted);text-align:center;font-size:.88rem}.signup-link{border:0;background:transparent;color:var(--primary);font-weight:700;padding:0;font:inherit;cursor:pointer}.signup-link:hover{text-decoration:underline}.or-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.65rem;color:#8a93a5;font-size:.76rem;font-weight:700;letter-spacing:.08em}.or-divider:before,.or-divider:after{content:"";height:1px;background:#e3e8f1}.or-divider span{background:#fffffff2;padding:0 .2rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#120e3480;display:grid;place-items:center;padding:.75rem}.modal-card{width:min(100%,560px);position:relative;z-index:1001;max-height:calc(100vh - 1.5rem);overflow-y:auto;border-radius:16px;padding:1.25rem;animation:fade-scale .17s ease}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;margin-bottom:.9rem}.modal-head h2{margin:0}.modal-head-compact{margin-bottom:.15rem}.modal-close-btn{width:2.15rem;height:2.15rem;flex-shrink:0;border:1px solid #dbe5f2;border-radius:.8rem;background:#fff;color:#5a6781;display:grid;place-items:center;cursor:pointer}.modal-close-btn svg{width:.95rem;height:.95rem}.modal-close-btn:hover{background:#f7faff;border-color:#cfdced}.modal-card p{color:var(--muted);margin:.45rem 0 1rem}.appointment-cancel-modal{width:min(100%,560px)}.appointment-edit-modal{width:min(100%,1160px)}.appointment-flow-helper{margin:0;color:#6f7c95;font-size:.84rem;line-height:1.5}.appointment-flow-placeholder{margin:0;color:#7b88a1;font-size:.78rem;line-height:1.45}.appointment-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.cancel-warning{border:1px solid #f7dfb0;border-left:4px solid #d99216;background:#fff8e8;color:#8b5a06;border-radius:11px;padding:.7rem .8rem}.cancel-form{display:grid;gap:.95rem}.appointment-edit-form{display:grid;gap:.82rem}.appointment-edit-grid,.appointment-edit-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.appointment-edit-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.1rem;flex-wrap:wrap}.appointment-edit-meta-copy{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;color:#56657f;font-size:.82rem}.appointment-edit-toggle{justify-self:flex-end}.appointment-edit-summary{display:grid;gap:.6rem}.appointment-edit-summary-row{display:grid;gap:.18rem;border:1px solid #e2eaf5;border-radius:12px;background:#fbfdff;padding:.72rem .82rem}.appointment-edit-summary-row span{color:#72809c;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.appointment-edit-summary-row strong{color:#243554;font-size:.9rem}@media(max-width:720px){.appointment-edit-grid,.appointment-edit-notes-grid{grid-template-columns:1fr}.appointment-edit-meta{flex-direction:column;align-items:flex-start}}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.appointment-summary-modal{width:min(100%,560px)}.appointment-summary-helper{margin:0 0 .9rem;color:#6f7c95;font-size:.84rem;line-height:1.5}.appointment-summary-error{margin:.8rem 0 0;color:#c24163;font-size:.82rem;font-weight:700;line-height:1.45}.appointment-summary-patient{display:flex;align-items:center;gap:.72rem;border:1px solid #e2eaf5;border-radius:12px;background:#fbfdff;padding:.72rem .82rem;margin-bottom:.75rem}.appointment-summary-patient-copy{display:grid;gap:.14rem}.appointment-summary-patient-copy strong{color:#233452;font-size:.9rem}.appointment-summary-patient-copy span{color:#72809c;font-size:.78rem}.appointment-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1rem}.appointment-summary-row{border:1px solid #e2eaf5;border-radius:12px;background:#fbfdff;padding:.64rem .72rem;display:grid;gap:.16rem}.appointment-summary-row span{color:#72809c;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.appointment-summary-row strong{color:#233452;font-size:.82rem;line-height:1.35}.appointment-summary-modal .modal-actions{margin-top:.1rem}.appointment-success-modal{width:min(100%,560px);text-align:center;display:grid;gap:.8rem}.appointment-success-modal .modal-actions{justify-content:center}.appointment-success-checkmark{width:76px;height:76px;margin:0 auto;border-radius:999px;background:linear-gradient(160deg,#effaf2,#d9f6e5);border:1px solid #bde7cc;color:#1f8b4d;display:grid;place-items:center;box-shadow:0 16px 28px #175b351f}.appointment-success-checkmark svg{width:34px;height:34px}.appointment-success-copy{margin:0}.success-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:30;border-radius:12px;border:1px solid #b8e7c9;background:#effcf4;color:#1e7a42;box-shadow:0 18px 32px #19382524;padding:.8rem .95rem;font-size:.9rem;font-weight:700}.dentist-session-workspace{display:grid;gap:.95rem;align-content:start;min-width:0}.dentist-session-header-shell{position:sticky;top:0;z-index:18;display:grid;gap:.8rem}.dentist-session-topbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.dentist-session-topbar-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dentist-session-workspace-back{flex:0 0 auto}.dentist-session-patient-card{border:1px solid #e3ebf6;border-radius:16px;background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 12px 26px #151e3512;padding:.9rem 1rem;display:grid;gap:.65rem;align-items:start}.dentist-session-page-head .page-head h1{font-size:1.45rem}.dentist-session-header-right{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.dentist-session-header-right--patient{gap:.65rem}.dentist-session-compact-patient{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.dentist-session-compact-avatar{width:2.35rem;height:2.35rem;border-radius:999px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:linear-gradient(135deg,#e6f7f5,#eef4ff);color:#117c73;font-size:.95rem;font-weight:900;box-shadow:inset 0 0 0 1px #1fb5a92e}.dentist-session-compact-avatar img{width:100%;height:100%;object-fit:cover}.dentist-session-compact-copy{display:grid;gap:.08rem;min-width:0;max-width:14rem}.dentist-session-compact-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#152238;font-size:.9rem;line-height:1.1}.dentist-session-compact-copy span{color:#738098;font-size:.75rem;font-weight:700;line-height:1.1}.dentist-session-header-whatsapp{color:#16815d;text-decoration:none!important}.dentist-session-header-whatsapp:hover,.dentist-session-header-whatsapp:focus-visible{text-decoration:none!important}.dentist-session-header-whatsapp svg{width:1rem;height:1rem;flex:0 0 auto}.dentist-session-close-action{white-space:nowrap}.session-status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.32rem .66rem;font-size:.72rem;font-weight:800;line-height:1;border:1px solid #dce4f1;background:#f5f8fc;color:#53627b}.session-status-chip.is-open{border-color:#cfc5ff;background:#f0edff;color:#4332d5}.session-status-chip.is-done{border-color:#bae6d3;background:#eafbf3;color:#187a53}.session-status-chip.is-canceled{border-color:#f1c8d3;background:#fff5f7;color:#c24163}.session-autosave-indicator{color:#6f7c95;font-size:.78rem;font-weight:700;padding-inline:.35rem}.dentist-session-layout{display:grid;grid-template-columns:168px minmax(0,1fr) 320px;gap:1rem;align-items:start;min-width:0}.dentist-session-nav{position:sticky;top:88px;border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.55rem;display:grid;gap:.35rem}.dentist-session-nav-item{width:100%;border:1px solid transparent;border-radius:.95rem;background:transparent;color:#41516f;padding:.65rem .7rem;text-align:left;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.dentist-session-nav-item:hover{background:#f2f6fd}.dentist-session-nav-item.is-active{border-color:#dbddff;background:#eaeafe;color:#362cb4}.dentist-session-main{min-width:0}.session-close-shell,.session-close-review,.session-close-review-copy,.session-close-side,.session-close-lock-copy,.session-close-lock-list,.session-close-financial-rows,.session-close-warning-copy,.session-close-procedure-copy{display:grid;gap:.8rem}.session-close-review{gap:1rem}.session-close-review-hero,.session-close-review-actions,.session-close-stats,.session-close-procedure-row,.session-close-lock-item,.session-close-financial-row,.session-close-warning{display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap}.session-close-review-copy h2{margin:0;color:#1f2d4d;font-family:Poppins,sans-serif;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.05}.session-close-review-copy p{margin:0;color:#5a6c8d;font-size:1rem;line-height:1.6}.session-close-review-copy p strong{color:#1f2d4d}.session-close-review-separator{color:#b4bfd3;font-weight:700}.session-close-review-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);gap:1rem;align-items:start}.session-close-summary{gap:1rem}.session-close-summary .session-card-head h2,.session-close-financial-card .session-card-head h2{margin:.15rem 0 0;color:#1f2d4d;font-family:Poppins,sans-serif;font-size:1.6rem}.session-close-stats{gap:.85rem;align-items:stretch}.session-close-stat{flex:1 1 180px;border:1px solid #e5ecf7;border-radius:1rem;background:linear-gradient(180deg,#fff,#f9fbff);padding:.95rem 1rem;display:grid;gap:.3rem}.session-close-stat span{color:#6f7d98;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-close-stat strong{color:#1f2d4d;font-size:1.85rem;font-weight:800;line-height:1.05}.session-close-procedure-list{display:grid;gap:.85rem}.session-close-procedure-row{border:1px solid #e4ebf6;border-radius:1rem;background:#fff;padding:.95rem 1rem;align-items:center}.session-close-procedure-icon{min-width:3.1rem;padding:.4rem .65rem;border-radius:999px;background:#e8fbf3;color:#187b55;font-size:.74rem;font-weight:800;text-align:center;letter-spacing:.03em;text-transform:uppercase}.session-close-procedure-copy{flex:1 1 260px;gap:.2rem}.session-close-procedure-copy strong{color:#1f2d4d;font-size:1rem;font-weight:800}.session-close-procedure-copy span{color:#71809d;font-size:.87rem;line-height:1.5}.session-close-procedure-amount{color:#1f2d4d;font-size:1rem;font-weight:800}.session-close-side{gap:1rem}.session-close-lock-card{border-radius:1.25rem;background:linear-gradient(180deg,#1c1a27,#211e2f);color:#fff;padding:1.2rem;display:grid;gap:1rem;box-shadow:0 18px 36px #0e0f1933}.session-close-lock-copy p{margin:0;color:#9aa4bc;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-close-lock-copy h3{margin:0;color:#fff;font-family:Poppins,sans-serif;font-size:1.15rem;line-height:1.25}.session-close-lock-copy span{color:#c6cede;font-size:.95rem;line-height:1.7}.session-close-lock-item{justify-content:flex-start;gap:.65rem;color:#fff;font-size:.92rem;font-weight:700}.session-close-lock-dot{width:.75rem;height:.75rem;border-radius:999px;background:#7ee0d6;box-shadow:0 0 0 4px #7ee0d61f;flex:0 0 auto}.session-close-financial-card{gap:1rem}.session-close-financial-rows{gap:0}.session-close-financial-row{padding:.85rem 0;border-bottom:1px solid #edf2f9}.session-close-financial-row:last-child{border-bottom:0}.session-close-financial-row span{color:#6f7d98;font-size:.95rem;line-height:1.5}.session-close-financial-row strong{color:#1f2d4d;font-size:1rem;font-weight:800}.session-close-financial-row.is-total strong{color:#382ad7;font-size:2rem;line-height:1}.session-close-warning{border:1px solid #f4cbd0;border-radius:1.2rem;background:linear-gradient(180deg,#fff8f8,#fff2f3);padding:1rem 1.1rem;align-items:center}.session-close-warning-copy{flex:1 1 320px;gap:.35rem}.session-close-warning-copy strong{color:#b4232c;font-size:1.08rem;font-weight:800}.session-close-warning-copy span{color:#bf4b54;font-size:.94rem;line-height:1.65}.danger-btn{border:0;border-radius:1rem;background:linear-gradient(180deg,#e63333,#c81e1e);color:#fff;padding:.95rem 1.3rem;font:inherit;font-size:.92rem;font-weight:800;cursor:pointer;box-shadow:0 16px 30px #c41e1e38}.danger-btn:hover{filter:brightness(1.02)}.danger-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.dentist-session-summary-panel{position:sticky;top:88px;border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.95rem;display:grid;gap:.75rem;align-content:start;min-width:0}.dentist-session-summary-panel h2{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:1.05rem}.session-overview-tab{display:grid;gap:1rem}.session-overview-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.session-summary-card{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:.95rem;display:grid;gap:.25rem}.session-summary-card h2{margin:0;color:#72809c;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.session-summary-card p{margin:0;color:#243451;font-size:.92rem;font-weight:800}.session-overview-continue{border:1px dashed #dbe5f2;border-radius:1rem;padding:1rem;background:linear-gradient(180deg,#fbfdff,#f6faff);display:grid;gap:.55rem}.session-overview-continue h3{margin:0;color:#263656;font-size:.95rem;font-weight:800}.session-overview-continue p{margin:0;color:#71809d;font-size:.86rem;line-height:1.5}.session-placeholder{border:1px dashed #dbe5f2;border-radius:1rem;padding:1.15rem;color:#71809d;background:linear-gradient(180deg,#fbfdff,#f6faff)}.session-chart-tab{display:grid;gap:1rem;align-content:start}.session-chart-studio,.session-chart-studio-shell,.session-chart-board,.session-chart-form-panel,.session-chart-inline-history,.session-chart-form-block,.session-chart-surface-inline-copy,.session-chart-board-helper{display:grid;gap:.9rem}.session-chart-studio{gap:1rem}.session-chart-studio-shell{background:linear-gradient(180deg,#fff,#faf7ff)}.session-chart-studio-head,.session-chart-studio-head-actions,.session-chart-board-meta,.session-chart-board-shell,.session-chart-form-head,.session-chart-records{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.session-chart-studio-head h2{margin:.15rem 0 0;color:#243451;font-family:Poppins,sans-serif;font-size:1.45rem}.session-chart-studio-pills{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.session-chart-studio-pill{border:1px solid #dce4f1;border-radius:999px;background:#fff;color:#60718f;padding:.46rem .8rem;font-size:.77rem;font-weight:800;line-height:1}.session-chart-studio-pill.is-active{border-color:#cfc5ff;background:#f0edff;color:#4332d5}.session-chart-studio-body{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:1rem;align-items:start}.session-chart-board{min-width:0}.session-chart-board-meta{justify-content:flex-start}.session-chart-board-stat{flex:1 1 170px;border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:.85rem .9rem;display:grid;gap:.28rem}.session-chart-board-stat span{color:#71809d;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-chart-board-stat strong{color:#243451;font-size:1.2rem;font-weight:800}.session-chart-board-shell{align-items:stretch;flex-wrap:nowrap}.session-chart-board-rail{width:50px;border:1px solid #e3ebf6;border-radius:1.1rem;background:linear-gradient(180deg,#fff,#f7f9ff);padding:.85rem .75rem;display:grid;justify-items:center;align-content:center;gap:.7rem}.session-chart-rail-dot{width:.9rem;height:.9rem;border-radius:999px}.session-chart-rail-dot.is-selected{background:#6b86ff}.session-chart-rail-dot.is-recommended{background:#f0c26d}.session-chart-rail-dot.is-treated{background:#54b882}.session-chart-rail-dot.is-recent{background:#e07171}.session-chart-board-canvas{flex:1 1 auto;min-height:560px;background:linear-gradient(180deg,#fff,#fbfcff)}.session-chart-board-helper{color:#7382a0;font-size:.84rem;line-height:1.6}.session-chart-form-panel{border:1px solid #e3ebf6;border-radius:1.2rem;background:#fff;padding:1rem;align-content:start;box-shadow:0 18px 36px #2434511a}.session-chart-form-head h3{margin:.12rem 0 0;color:#243451;font-family:Poppins,sans-serif;font-size:1.22rem}.session-chart-form-block{border:1px solid #ecf0f7;border-radius:1rem;background:#fbfdff;padding:.85rem .9rem}.session-chart-surface-pad{display:grid;justify-content:center;gap:.45rem}.session-chart-surface-pad-middle{display:flex;align-items:center;justify-content:center;gap:.45rem}.session-chart-surface-pad-btn{width:46px;height:46px;border:1px solid #dbe5f2;border-radius:.95rem;background:#fff;color:#4d5d7d;font:inherit;font-size:.86rem;font-weight:800;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}.session-chart-surface-pad-btn.is-core{background:#f6f3ff}.session-chart-surface-pad-btn:hover{border-color:#c7d6ee;background:#f2f7ff}.session-chart-surface-pad-btn.is-active{border-color:#4a39d8;background:linear-gradient(135deg,#5d49f2,#4334db);color:#fff;transform:translateY(-1px)}.session-chart-surface-inline-copy strong{color:#243451;font-size:.92rem}.session-chart-surface-inline-copy span{color:#72809c;font-size:.8rem;line-height:1.5}.session-chart-inline-history{border-top:1px solid #edf2f8;padding-top:.95rem}.session-chart-inline-history h4{margin:.15rem 0 0;color:#243451;font-family:Poppins,sans-serif;font-size:1rem}.session-chart-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.session-chart-tab--workspace{grid-template-columns:minmax(0,1.18fr) minmax(320px,380px);align-items:start}.session-chart-tab--v1{gap:1.1rem}.session-chart-stage{grid-column:2;position:sticky;top:94px;border:1px solid #e3ebf6;border-radius:1.2rem;background:#fff;padding:1rem;display:grid;gap:.95rem;align-content:start;box-shadow:0 18px 36px #2434511a}.session-chart-stage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.session-chart-stage-header h2{margin:.15rem 0 0;color:#243451;font-size:1.28rem;font-family:Poppins,sans-serif}.session-chart-tooth-badge{min-width:2.4rem;height:2.4rem;border-radius:.85rem;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5d49f2,#4334db);color:#fff;font-size:.95rem;font-weight:800}.session-chart-hero{border:1px solid #e3ebf6;border-radius:1.2rem;background:linear-gradient(180deg,#fff,#f9fbff);padding:1rem 1.05rem;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:1rem;align-items:start}.session-chart-hero-copy{display:grid;gap:.35rem}.session-chart-hero-copy h2{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:1.22rem}.session-chart-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.session-chart-toolbar{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.9rem;display:grid;gap:.8rem}.session-chart-toolbar--v1{background:#fff}.session-chart-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1rem;align-items:start}.session-chart-prototype,.session-chart-prototype-shell,.session-chart-prototype-summary,.session-chart-prototype-main,.session-chart-prototype-inspector,.session-chart-prototype-summary-card,.session-chart-prototype-board,.session-chart-prototype-notes-card,.session-chart-prototype-table-card,.session-chart-prototype-support-card,.session-chart-prototype-focus-card,.session-chart-prototype-composer,.session-chart-prototype-side-card{display:grid;gap:.75rem}.session-chart-prototype-shell{background:linear-gradient(180deg,#fff,#fbf9ff)}.session-chart-prototype-head,.session-chart-prototype-actions,.session-chart-prototype-board-head,.session-chart-prototype-summary-head,.session-chart-prototype-focus-head,.session-chart-prototype-progress-row,.session-chart-prototype-focus-status{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.session-chart-prototype-head h2{margin:.12rem 0 0;color:#243451;font-family:Poppins,sans-serif;font-size:1.08rem}.session-chart-prototype-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;align-items:start}.session-chart-prototype-summary,.session-chart-prototype-inspector{align-content:start;position:sticky;top:.35rem}.session-chart-prototype-summary-card,.session-chart-prototype-board,.session-chart-prototype-table-card,.session-chart-prototype-support-card,.session-chart-prototype-focus-card,.session-chart-prototype-composer,.session-chart-prototype-side-card{border:1px solid #e2eaf6;border-radius:1.1rem;background:#fff;padding:.72rem;box-shadow:0 18px 36px #24345114}.session-chart-prototype-summary-card.is-featured{background:linear-gradient(180deg,#fff,#f5f2ff)}.session-chart-prototype-summary-head h3,.session-chart-prototype-board h3,.session-chart-prototype-notes-card h3,.session-chart-prototype-table-card h3,.session-chart-prototype-support-card h3,.session-chart-prototype-focus-head h3,.session-chart-prototype-composer h3,.session-chart-prototype-side-card h3{margin:.14rem 0 0;color:#243451;font-family:Poppins,sans-serif;font-size:.88rem}.session-chart-prototype-focus-head p,.session-chart-prototype-board-head p{margin:0;color:#72809c;font-size:.72rem;line-height:1.45}.session-chart-prototype-progress{display:grid;gap:.5rem}.session-chart-prototype-progress-row span,.session-chart-prototype-metric-card span{color:#71809d;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-chart-prototype-progress-row strong,.session-chart-prototype-metric-card strong{color:#243451;font-size:1rem;font-weight:800}.session-chart-prototype-progressbar{height:.52rem;overflow:hidden;border-radius:999px;background:#ebe7ff}.session-chart-prototype-progressbar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#5d49f2,#4334db)}.session-chart-prototype-summary-metrics{display:grid;gap:.7rem}.session-chart-prototype-metric-card{border:1px solid #e7edf7;border-radius:1rem;background:#fbfdff;padding:.9rem}.session-chart-prototype-legend-list{display:grid;gap:.7rem}.session-chart-prototype-legend-row{display:flex;align-items:center;gap:.7rem;color:#334462;font-size:.9rem;font-weight:600}.session-chart-prototype-legend-dot{width:.95rem;height:.95rem;border:1px solid transparent;border-radius:999px;display:inline-flex;flex:0 0 auto}.session-chart-prototype-main{min-width:0;display:grid;gap:.8rem;width:100%}.session-chart-layout-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.session-chart-layout-strip-block{border:1px solid #e2eaf6;border-radius:1rem;background:linear-gradient(180deg,#fff,#fbfdff);padding:.62rem .72rem;display:grid;gap:.15rem}.session-chart-layout-strip-block span{color:#71809d;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-chart-layout-strip-block strong{color:#243451;font-size:.9rem;font-weight:800}.session-chart-layout-strip-block small{color:#72809c;font-size:.72rem}.session-chart-prototype-panel-title{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:.9rem}.session-chart-prototype-board-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:.75rem;align-items:stretch}.session-chart-prototype-board-legend{border:1px solid #e2eaf6;border-radius:1rem;background:#fbfdff;padding:.75rem;display:grid;gap:.62rem;align-content:start}.session-chart-prototype-board-legend h3{margin:-.25rem 0 0}.session-chart-prototype-board-legend .session-chart-prototype-legend-list{gap:.55rem}.session-chart-prototype-board-legend .session-chart-prototype-legend-row{gap:.55rem;font-size:.78rem}.session-chart-prototype-inline-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem 0}.session-chart-prototype-inline-legend-item{display:inline-flex;align-items:center;color:#61708b;font-size:.68rem;font-weight:700;line-height:1;padding:0 .6rem;border-left:1px solid #dbe5f2}.session-chart-prototype-inline-legend-item:first-child{padding-left:0;border-left:0}.session-chart-prototype-chip-strip{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.session-chart-prototype-board-canvas{min-height:560px;background:linear-gradient(180deg,#fff,#fbfcff)}.session-chart-prototype-board-helper{display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap;color:#7382a0;font-size:.84rem;line-height:1.6}.session-chart-prototype-teeth-shell{display:grid;gap:.85rem}.session-chart-prototype-teeth-panel{border:1px solid #e4ebf6;border-radius:1.7rem;background:#fff;padding:.82rem 1.4rem .62rem;box-shadow:0 8px 24px #18223a0d}.session-chart-prototype-arch-label{text-align:center;text-transform:uppercase;letter-spacing:.22em;font-size:.58rem;font-weight:700;color:#7b8aa7}.session-chart-tooth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 2rem}.session-chart-tooth-row{display:flex;justify-content:center;gap:0}.session-chart-tooth-button{border:0;background:transparent;padding:0;width:58px;height:154px;transition:transform .16s ease}.session-chart-tooth-button:hover{transform:translateY(-1px)}.session-chart-tooth-button.is-selected{transform:translateY(-2px)}.session-chart-tooth-svg{width:100%;height:100%;overflow:visible}.session-chart-tooth-svg .is-interactive{cursor:pointer}.session-chart-prototype-table-wrap{overflow-x:auto;border:1px solid #ebeff7;border-radius:1rem}.session-chart-prototype-table{width:100%;min-width:740px;border-collapse:collapse}.session-chart-prototype-table thead{background:#f7f9ff}.session-chart-prototype-table th,.session-chart-prototype-table td{padding:.62rem .68rem;border-bottom:1px solid #edf2f8;text-align:left;vertical-align:top;color:#42516d;font-size:.78rem}.session-chart-prototype-table th{color:#71809d;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-chart-prototype-table td strong{display:block;margin-bottom:.18rem;color:#243451;font-size:.8rem}.session-chart-prototype-table td span{color:#72809c;font-size:.7rem;line-height:1.5}.session-chart-prototype-support-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:.85rem}.session-chart-prototype-attachments{display:grid;gap:.75rem}.session-chart-prototype-attachment{overflow:hidden;border:1px solid #e6ecf6;border-radius:1rem;background:#fff}.session-chart-prototype-attachment-preview{min-height:102px;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#eef4ff,#f6f3ff);color:#5f6e89;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center}.session-chart-prototype-attachment-copy{display:grid;gap:.2rem;padding:.85rem .9rem}.session-chart-prototype-attachment-copy strong{color:#243451;font-size:.82rem}.session-chart-prototype-attachment-copy span,.session-chart-prototype-empty-state{color:#72809c;font-size:.74rem;line-height:1.6}.session-chart-prototype-focus-preview,.session-chart-prototype-composer-block{border:1px solid #edf2f8;border-radius:1rem;background:#fbfdff;padding:.72rem}.session-chart-prototype-focus-preview--tooth{display:flex;align-items:center;justify-content:center}.session-chart-prototype-tooth-preview{width:98px;height:196px}.session-chart-prototype-focus-status span{color:#71809d;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-chart-prototype-focus-status strong{display:inline-flex;align-items:center;gap:.55rem;color:#243451;font-size:.92rem}.session-chart-prototype-surface-visual{display:grid;grid-template-columns:repeat(3,minmax(0,46px));justify-content:center;gap:.45rem}.session-chart-prototype-surface-visual .session-chart-surface-pad-btn:nth-child(1){grid-column:2}.session-chart-prototype-surface-visual .session-chart-surface-pad-btn:nth-child(2){grid-column:1;grid-row:2}.session-chart-prototype-surface-visual .session-chart-surface-pad-btn:nth-child(3){grid-column:2;grid-row:2}.session-chart-prototype-surface-visual .session-chart-surface-pad-btn:nth-child(4){grid-column:3;grid-row:2}.session-chart-prototype-surface-visual .session-chart-surface-pad-btn:nth-child(5){grid-column:2;grid-row:3}.session-chart-prototype-surface-summary{display:grid;gap:.25rem}.session-chart-prototype-surface-summary strong{color:#243451;font-size:.9rem}.session-chart-prototype-surface-summary span{color:#72809c;font-size:.8rem;line-height:1.5}.session-chart-inline-select{min-width:124px;min-height:38px;border-radius:.85rem;border:1px solid #d7e1f0;background:#fff;color:#243451;font:inherit;padding:0 .8rem}.session-chart-prototype-finding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.session-chart-prototype-finding-chip{border:1px solid #dbe4f2;border-radius:.95rem;background:#fff;color:#445474;padding:.62rem .72rem;display:inline-flex;align-items:center;justify-content:flex-start;gap:.6rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.session-chart-prototype-finding-chip:hover{border-color:#cdd9ec;background:#fbfdff}.session-chart-prototype-finding-chip.is-active{border-color:#cfc5ff;background:#f6f2ff;box-shadow:0 10px 22px #4334db1f}.session-chart-prototype-side-card .session-findings-rows{max-height:300px;overflow:auto;padding-right:.2rem}.session-chart-prototype-side-card--compact{gap:.55rem}.session-chart-prototype-side-card--compact .session-chart-prototype-focus-head p{font-size:.72rem}.session-chart-prototype-table-head-actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.session-chart-prototype-notes-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:.85rem}.session-chart-prototype-notes-editor{display:grid;gap:.6rem}.session-chart-prototype-notes-card .session-chart-detail textarea{min-height:92px}.session-chart-prototype-note-hint{margin:0;color:#72809c;font-size:.72rem;line-height:1.5}.session-chart-prototype-note-field{display:grid;gap:.35rem}.session-chart-inline-select--full{width:100%}.session-chart-prototype-findings-card .session-findings-rows{max-height:260px;overflow:auto;padding-right:.2rem}.session-chart-side-action{width:100%;margin-top:1rem}.session-chart-quick-menu{position:fixed;z-index:70;width:min(220px,calc(100vw - 1rem));display:grid;gap:.2rem;padding:.32rem;border:1px solid #e2eaf6;border-radius:.82rem;background:#fff;box-shadow:0 22px 50px #18223a2e;max-height:min(420px,calc(100vh - 1rem));overflow:auto}.session-chart-quick-menu-head,.session-chart-quick-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:.45rem;padding:.28rem .38rem .2rem}.session-chart-quick-menu-head strong{display:block;color:#243451;font-size:.84rem}.session-chart-quick-menu-head span{color:#72809c;font-size:.68rem}.session-chart-quick-menu-grid{display:grid;grid-template-columns:1fr;gap:.1rem}.session-chart-quick-menu-action{display:flex;align-items:center;gap:0;border:0;border-radius:0;background:transparent;color:#243451;min-height:30px;padding:.38rem .42rem;font:inherit;font-size:.71rem;font-weight:600;text-align:left;border-bottom:1px solid #edf2f8}.session-chart-quick-menu-action:hover{background:#f3f6fc}.session-chart-quick-menu-action:last-child{border-bottom:0}.session-chart-quick-menu-close{border:0;background:transparent;color:#6f7c95;width:1.6rem;height:1.6rem;border-radius:.45rem;cursor:pointer;font:inherit;font-size:1rem;line-height:1}.session-chart-quick-menu-close:hover{background:#f3f6fc}.session-chart-prototype-diagnosis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:.7rem}.session-chart-prototype-diagnosis-picker,.session-chart-prototype-diagnosis-assignment{display:grid;gap:.6rem}.session-chart-prototype-diagnosis-picker .session-chip-cluster-label,.session-chart-prototype-diagnosis-assignment .session-chip-cluster-label{font-size:.74rem}.session-chart-prototype-diagnosis-assignment strong{color:#243451;font-size:.9rem;line-height:1.35}.session-chart-prototype-diagnosis-assignment p{margin:0;color:#72809c;font-size:.78rem;line-height:1.45}.session-chart-prototype-diagnosis-results{display:grid;gap:.4rem;max-height:220px;overflow:auto;padding-right:.18rem}.session-chart-prototype-diagnosis-log{display:grid;gap:.5rem;max-height:220px;overflow:auto;padding-right:.2rem}.session-chart-prototype-table--findings td input{width:100%;min-width:140px;border:1px solid #d7e1f0;border-radius:.78rem;background:#fff;color:#243451;font:inherit;padding:.48rem .65rem}.session-chart-prototype-table--findings .session-table-actions{flex-wrap:nowrap}.session-chart-prototype-table--findings tr.is-highlighted{background:#fff8dd}.session-chart-table-note{color:#61708c;font-size:.79rem;line-height:1.45}@media(max-width:1680px){.session-chart-prototype-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1460px){.session-chart-prototype-summary,.session-chart-prototype-inspector{position:static}}@media(max-width:1180px){.session-chart-prototype-grid,.session-chart-prototype-diagnosis-grid,.session-chart-prototype-notes-grid,.session-chart-prototype-support-grid,.session-chart-layout-strip{grid-template-columns:1fr}.session-chart-prototype-board-helper,.session-chart-prototype-head,.session-chart-prototype-actions{align-items:stretch}.session-chart-prototype-board-body{grid-template-columns:1fr}.session-chart-quick-menu{width:min(240px,calc(100vw - 1rem))}.session-chart-prototype-chip-strip{justify-content:flex-start}}.session-chart-tab--workspace .session-chart-workspace{grid-column:1;grid-row:1;grid-template-columns:1fr;gap:1rem}.session-chart-main,.session-chart-sidebar{display:grid;gap:1rem;min-width:0}.session-chart-tab--workspace .session-chart-main{order:1}.session-chart-tab--workspace .session-chart-sidebar{order:2}.session-chart-canvas-card{border:1px solid #e3ebf6;border-radius:1.2rem;background:#fff;padding:1rem;display:grid;gap:.85rem}.session-chart-canvas-card--workspace{background:linear-gradient(180deg,#fff,#faf7ff)}.session-chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.session-chart-selection-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:start}.session-chart-selection-summary{display:grid;gap:.35rem;align-content:start}.session-chart-orientation{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.session-chart-orientation span,.session-selected-chip--ghost{border:1px solid #dbe5f2;border-radius:999px;background:#f8fafd;color:#5f6d85;padding:.34rem .6rem;font-size:.74rem;font-weight:800}.session-odontogram-shell--hero-chart{padding:1rem;min-height:560px;background:linear-gradient(180deg,#fff,#fbfcff)}.odontogram-svg--hero{max-height:620px}.session-chart-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.session-chart-legend{display:grid;gap:.55rem}.session-chart-legend span{display:inline-flex;align-items:center;gap:.5rem;color:#50607a;font-size:.84rem;font-weight:700}.session-chart-legend i{width:.95rem;height:.95rem;border-radius:999px;display:inline-block}.session-chart-legend i.is-selected{background:#6b86ff}.session-chart-legend i.is-recommended{background:#f0c26d}.session-chart-legend i.is-treated{background:#54b882}.session-chart-legend i.is-recent{background:#e07171}.session-chart-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.session-chart-toolbar-row.is-chips{align-items:end}.session-chart-stage .session-chart-toolbar-row{display:grid;gap:.8rem;align-items:start;justify-content:stretch}.session-chart-stage .session-chart-toolbar-row.is-chips{align-items:start}.session-chart-surfaces-cluster{min-width:220px}.session-chart-surface-state{display:grid;gap:.6rem;align-content:start}.session-toggle-group{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.session-selected-teeth{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-width:0}.session-selected-label{color:#72809c;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.session-chip-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-width:0}.session-chip-row.is-wrap{align-items:flex-start}.session-selected-chip{border:1px solid #dbe5f2;border-radius:999px;background:#fff;color:#2a3a59;padding:.34rem .6rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.session-selected-chip.is-summary{background:#f0edff;border-color:#cfc5ff;color:#4332d5;cursor:default}.session-selected-empty{color:#7b88a3;font-size:.84rem;font-weight:700}.session-chip-cluster{display:grid;gap:.35rem;min-width:0}.session-chip-cluster-label{color:#72809c;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.session-chart-detail{min-width:min(320px,100%);display:grid;gap:.35rem}.session-chart-detail input{width:100%;border:1px solid #dbe5f2;border-radius:.8rem;padding:.72rem .8rem;font:inherit;font-size:.86rem;color:#2b3c5b;background:#fff}.session-chart-detail select{width:100%;font:inherit;font-size:.86rem}.session-chart-detail textarea{width:100%;border:1px solid #dbe5f2;border-radius:.95rem;padding:.8rem .85rem;font:inherit;font-size:.84rem;line-height:1.5;color:#2b3c5b;background:#fff;resize:vertical;min-height:132px}.session-chart-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.session-chart-surface-menu{position:fixed;z-index:70;width:240px;border:1px solid #dbe5f2;border-radius:1.05rem;background:#fff;box-shadow:0 22px 50px #24345133;padding:.85rem;display:grid;gap:.8rem}.session-chart-surface-menu-head,.session-chart-surface-menu-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.session-chart-surface-menu-head strong{display:block;color:#243451;font-size:.92rem}.session-chart-surface-menu-head span,.session-chart-surface-menu-footer span{color:#72809c;font-size:.76rem;line-height:1.45}.session-chart-surface-menu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.session-chart-surface-btn{border:1px solid #dbe5f2;border-radius:.9rem;background:#f8fbff;color:#4e5e7d;min-height:46px;font-size:.9rem;font-weight:800;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}.session-chart-surface-btn:hover{border-color:#c7d6ee;background:#f2f7ff}.session-chart-surface-btn.is-active{border-color:#4a39d8;background:linear-gradient(135deg,#5d49f2,#4334db);color:#fff;transform:translateY(-1px)}.session-chart-finding-card{position:fixed;z-index:72;width:min(340px,calc(100vw - 24px));border:1px solid #dce8f5;border-radius:1rem;background:#fffffffc;box-shadow:0 24px 56px #1f2d482e;padding:.82rem;display:grid;gap:.72rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.session-chart-finding-card-head,.session-chart-finding-card-history-head,.session-chart-finding-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.session-chart-finding-card-title{display:flex;align-items:center;gap:.62rem;min-width:0}.session-chart-finding-card-tooth-badge{width:2.15rem;height:2.15rem;border-radius:.72rem;background:#eef7ff;color:#2563a7;display:inline-grid;place-items:center;font-size:.9rem;font-weight:900;box-shadow:inset 0 0 0 1px #d9eafa}.session-chart-finding-card-close{width:2rem;height:2rem;border:1px solid #fecaca;border-radius:999px;background:#fff1f2;color:#dc2626;display:inline-flex;align-items:center;justify-content:center;padding:0;font:inherit;font-size:1.18rem;font-weight:900;line-height:1;cursor:pointer}.session-chart-finding-card-close:hover{background:#fee2e2;color:#b91c1c}.session-chart-finding-card-head strong{display:block;color:#243451;font-size:.96rem}.session-chart-finding-card-head span,.session-chart-finding-card-helper{color:#72809c;font-size:.78rem;line-height:1.45}.session-chart-finding-card-section{display:grid;gap:.42rem}.session-chart-finding-card .filter-field,.session-chart-finding-card .session-chart-detail{gap:.38rem}.session-chart-finding-card .filter-field select,.session-chart-finding-card .session-chart-detail textarea{border-color:#dfe8f4;background:#fbfdff;border-radius:.72rem}.session-chart-finding-card-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.session-chart-finding-quick-chip{border:1px solid var(--finding-quick-stroke, #dbe5f2);border-radius:.78rem;background:color-mix(in srgb,var(--finding-quick-fill, #f8fbff) 76%,#ffffff);color:#324562;min-height:38px;padding:.48rem .6rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.session-chart-finding-quick-chip:hover,.session-chart-finding-quick-chip.is-active{transform:translateY(-1px);box-shadow:0 8px 18px #55678b1f}.session-chart-finding-quick-chip.is-active{background:var(--finding-quick-fill, #f8fbff);border-color:var(--finding-quick-stroke, #dbe5f2);box-shadow:0 0 0 2px #fffffff2,0 0 0 4px var(--finding-quick-stroke, #dbe5f2)}.session-chart-finding-card-surface-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}.session-chart-finding-card-history-list{display:grid;gap:.45rem;max-height:150px;overflow-y:auto;padding-right:.2rem}.session-chart-finding-card-history-item{border:1px solid #e6edf7;border-radius:.9rem;background:#f8fbff;padding:.65rem .7rem;display:grid;gap:.18rem}.session-chart-finding-card-history-item strong{color:#243451;font-size:.82rem}.session-chart-finding-card-history-item span,.session-chart-finding-card-history-item p{margin:0;color:#70809d;font-size:.75rem;line-height:1.45}.session-findings-list--workspace{background:#fff}.session-odontogram-shell{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fff;padding:.85rem;overflow:hidden}.odontogram-svg{width:100%;height:auto;display:block;max-height:620px}.odontogram-numbers text{fill:#1f2937;font-size:28px;font-weight:700}.odontogram-arch-title{fill:#2f3a4f;font-size:30px;font-weight:500;letter-spacing:.01em}.odontogram-tooth{cursor:pointer}.odontogram-tooth.is-disabled{cursor:not-allowed;opacity:.55}.odontogram-hit-area{fill:transparent}.odontogram-tooth-shape{fill:#fff;stroke:#cfd7e6;stroke-width:1.6;transition:stroke .14s ease,fill .14s ease,stroke-width .14s ease}.odontogram-tooth-inner{fill:#f7fafffa;stroke:#e9eef5;stroke-width:1;transition:fill .14s ease,stroke .14s ease}.odontogram-tooth-detail path{fill:none;stroke:#e3e9f2;stroke-width:1.1;stroke-linecap:round}.odontogram-tooth:hover .odontogram-tooth-shape{stroke:#b7c4dd}.odontogram-tooth.has-finding .odontogram-tooth-shape{fill:var(--odontogram-finding-fill);stroke:var(--odontogram-finding-stroke)}.odontogram-tooth.has-finding .odontogram-tooth-inner{fill:#ffffff7a;stroke:#ffffffb8}.odontogram-tooth.is-selected .odontogram-tooth-shape{stroke:#4b39ef;stroke-width:2.4}.odontogram-tooth.is-selected .odontogram-tooth-inner{stroke:#c7bbff}.odontogram-tooth.is-treated .odontogram-tooth-shape{stroke:#416cff;stroke-width:2.1}.odontogram-tooth.is-recommended .odontogram-tooth-shape{stroke:#f0c26d;stroke-width:2}.odontogram-tooth.is-recent .odontogram-tooth-shape{stroke:#e07171;stroke-width:2}.odontogram-number-pill text{font-size:18px;font-weight:800}.odontogram-tooth-mark--missing path{fill:none;stroke:var(--odontogram-finding-stroke, #ef4444);stroke-width:2.3;stroke-linecap:round}.session-findings-list{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.95rem;display:grid;gap:1rem}.session-findings-section h3{margin:0 0 .55rem;color:#243451;font-size:1rem;font-family:Poppins,sans-serif}.session-findings-rows,.session-diagnosis-rows{display:grid;gap:.55rem}.session-finding-row,.session-dx-row{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:.8rem .9rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center}.session-finding-row.is-highlighted,.session-dx-row.is-highlighted{border-color:#cec7ff;box-shadow:0 16px 28px #4b39ef1f}.session-finding-main,.session-dx-main{display:grid;gap:.2rem;min-width:0}.session-finding-main strong,.session-dx-main strong{color:#243451;font-size:.9rem}.session-finding-main span,.session-dx-main span{color:#6f7c95;font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}.session-finding-meta,.session-dx-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.session-tooth-group{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;overflow:hidden}.session-tooth-group summary{cursor:pointer;padding:.7rem .85rem;font-weight:800;color:#2a3a59;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.session-group-count{border:1px solid #dbe5f2;border-radius:999px;padding:.15rem .45rem;font-size:.7rem;color:#5f6d85;background:#f4f7fb}.session-findings-groups,.session-diagnosis-groups{display:grid;gap:.65rem}.session-tooth-group>div{padding:.75rem .85rem .9rem}.session-empty-copy{margin:0;color:#72809c;font-size:.86rem;line-height:1.6}.session-exams-shell{display:grid;grid-template-columns:180px minmax(0,1fr) 300px;gap:1rem;align-items:start}.session-exams-left{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.75rem;display:grid;gap:.5rem;position:sticky;top:88px}.session-exams-left h3{margin:.2rem 0 .35rem;font-family:Poppins,sans-serif;font-size:1rem;color:#243451}.session-exam-card{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:1rem}.session-exam-card-head{display:flex;align-items:start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.session-exam-card-head h2{margin:.2rem 0 0;color:#243451;font-size:1.2rem}.session-exam-form{display:grid;gap:.85rem}.session-exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem}.session-exam-completion{display:grid;gap:.75rem}.session-diagnosis-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr) minmax(280px,.95fr);gap:1rem;align-items:start}.session-diagnosis-left,.session-diagnosis-right{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.95rem;display:grid;gap:.85rem;align-content:start;position:sticky;top:88px}.session-diagnosis-left h3,.session-diagnosis-right h2,.session-diagnosis-right h3{margin:0;color:#243451;font-family:Poppins,sans-serif}.session-diagnosis-group h4{margin:0 0 .45rem;color:#72809c;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.session-dx-assignment-card,.session-dx-picker-card{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.95rem;display:grid;gap:.85rem}.session-dx-assignment-head h2,.session-dx-picker-head h2{margin:.2rem 0 0;color:#243451;font-size:1.2rem}.session-dx-assignment-controls{display:grid;gap:.85rem}.session-dx-results{display:grid;gap:.45rem;max-height:420px;overflow:auto;padding-right:.2rem}.session-dx-result{width:100%;border:1px solid #e3ebf6;border-radius:.95rem;background:#fff;padding:.7rem .8rem;text-align:left;display:grid;gap:.16rem;cursor:pointer}.session-dx-result strong{color:#243451;font-size:.86rem;line-height:1.35}.session-dx-result span{color:#72809c;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.35}.session-dx-result.is-active{border-color:#cec7ff;background:#f8f7ff}.session-chart-primary-action{min-height:40px;padding:.68rem 1rem;font-size:.84rem;font-weight:800}@media(max-width:1280px){.session-chart-studio-body,.session-chart-records{grid-template-columns:1fr}.session-chart-board-shell{flex-wrap:wrap}.session-chart-board-rail{width:100%;grid-auto-flow:column;justify-content:center}.session-chart-tab--workspace{grid-template-columns:1fr}.session-chart-stage{grid-column:auto;position:static}.session-chart-tab--workspace .session-chart-workspace{grid-column:auto;grid-row:auto}.session-chart-selection-row{grid-template-columns:1fr}}@media(max-width:1100px){.session-exams-shell,.session-diagnosis-layout{grid-template-columns:1fr}.session-exams-left,.session-diagnosis-left,.session-diagnosis-right{position:static}.session-odontogram{grid-template-columns:repeat(4,minmax(0,1fr))}}.session-toast-stack{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;display:grid;gap:.45rem}.session-toast{border-radius:12px;border:1px solid #dbe5f2;background:#fffffff5;box-shadow:0 18px 32px #17244024;padding:.75rem .9rem;font-size:.88rem;font-weight:700;color:#2a3a59}.session-toast-success{border-color:#b8e7c9;background:#effcf4;color:#1e7a42}.session-toast-warning{border-color:#f4d8a6;background:#fff5e4;color:#a86811}.session-toast-info{border-color:#cfc5ff;background:#f0edff;color:#4332d5}@media(max-width:1100px){.dentist-session-layout{grid-template-columns:1fr}.dentist-session-nav,.dentist-session-summary-panel{position:static}.session-overview-cards{grid-template-columns:1fr}}.dentist-session-header--sticky{top:.25rem}.dentist-session-layout--clinical{grid-template-columns:minmax(0,1fr);gap:0}.session-mini-header,.session-mini-copy{display:grid;gap:.3rem;min-width:0}.session-mini-title-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.dentist-session-patient-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.session-mini-copy h1{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:1.2rem;line-height:1.25}.dentist-session-patient-summary{margin:0;color:#6f7c95;font-size:.88rem;line-height:1.55}.dentist-session-patient-contact{display:grid;gap:.22rem;color:#6f7c95;font-size:.8rem;font-weight:700}.dentist-session-patient-meta{gap:.5rem .8rem}.dentist-session-whatsapp-link{display:inline-flex;align-items:center;gap:.42rem;color:#1f7a53;text-decoration:none;font-weight:700}.dentist-session-whatsapp-link svg{width:1rem;height:1rem;flex-shrink:0}.dentist-session-whatsapp-link:hover{color:#176744;text-decoration:underline}.dentist-session-patient-highlights{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.session-mini-highlight{border:1px solid #e2e9f5;border-radius:999px;background:#f8fbff;padding:.22rem .55rem;color:#5f708d;font-size:.74rem;font-weight:700}.session-mini-highlight.is-alert{border-color:#f5d3da;background:#fff7f8;color:#b1415f}.session-preset-field{display:grid;gap:.24rem;min-width:180px}.session-preset-field span{color:#72809c;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.session-preset-field select,.session-readonly-shell :is(input,select,textarea){width:100%;border:1px solid #dbe5f2;border-radius:.82rem;background:#fff;color:#2b3c5b;font:inherit;padding:.72rem .8rem}.session-readonly-shell{border:0;margin:0;padding:0;min-width:0}.session-readonly-shell:disabled{opacity:1}.session-readonly-shell:disabled :is(input,select,textarea){background:#f7f9fd;color:#73819c}.session-tab-panel{display:grid;gap:.45rem;align-content:start}.dentist-session-main{display:grid;gap:.55rem;align-content:start}.dentist-session-nav--top{position:sticky;top:88px;z-index:8;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(148px,1fr);gap:.45rem;padding:.55rem;overflow-x:auto;scrollbar-width:thin}.dentist-session-nav--top .dentist-session-nav-item{text-align:left;padding:.8rem .85rem;display:grid;gap:.2rem}.dentist-session-nav-label{font-size:.86rem}.dentist-session-nav-short{display:none;font-size:.72rem;font-weight:800;color:#72809c;text-transform:uppercase;letter-spacing:.04em}.dentist-session-nav-item.is-accent{background:linear-gradient(180deg,#fbf9ff,#f4f1ff)}.dentist-session-nav-item.is-accent.is-active{border-color:#cfc5ff;box-shadow:0 10px 22px #4b39ef24}.session-card{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.95rem;display:grid;gap:.9rem}.session-card--nested{background:#fff}.dentist-workspace-reference-layout{display:grid;gap:.45rem;align-items:stretch}.dentist-workspace-clinical-grid{display:grid;grid-template-columns:minmax(430px,1.02fr) minmax(400px,.98fr) 2.35rem;gap:.45rem;align-items:stretch}.dentist-workspace-clinical-grid.is-intake-only{grid-template-columns:minmax(0,1fr) 2.35rem}.dentist-workspace-clinical-grid.is-history-open{grid-template-columns:minmax(420px,1fr) minmax(380px,.94fr) minmax(132px,.28fr)}.dentist-workspace-clinical-grid.is-intake-only.is-history-open{grid-template-columns:minmax(0,1fr) minmax(132px,.28fr)}.dentist-workspace-odontogram-stack{display:grid;gap:.7rem;min-width:0}.dentist-workspace-embedded-chart-panel{min-height:0;padding:.45rem}.dentist-workspace-embedded-chart-panel .smilo-odontogram-embed{overflow:visible;border-radius:.8rem;border:0}.dentist-workspace-case-note-panel--under-chart .dentist-workspace-note-field textarea{min-height:10rem}.dentist-workspace-case-note-panel--in-chart{border-color:#dde8f2;border-radius:.9rem;background:#fffffff5;box-shadow:none;padding:.65rem;gap:.52rem}.dentist-workspace-case-note-panel--in-chart .dentist-workspace-note-field textarea{min-height:7.4rem}.dentist-workspace-case-note-panel--in-chart .dentist-workspace-tca-field textarea{min-height:4.7rem}.dentist-workspace-case-note-panel--in-chart .dentist-workspace-chart-suggestion-panel{padding:.52rem}.dentist-workspace-case-note-panel--in-chart .dentist-workspace-note-actions{padding-top:.12rem}.dentist-workspace-chart-suggestion-panel{border:1px solid #dcefeb;border-radius:.86rem;background:#fbfffe;padding:.62rem;display:grid;gap:.55rem}.dentist-workspace-chart-suggestion-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dentist-workspace-chart-suggestion-head div{display:grid;gap:.15rem}.dentist-workspace-chart-suggestion-head strong{color:#25324a;font-weight:900}.dentist-workspace-chart-suggestion-head span,.dentist-workspace-chart-suggestion-chip small{color:#6c788d;font-size:.72rem;font-weight:700}.dentist-workspace-chart-suggestion-list{display:flex;flex-wrap:wrap;gap:.4rem}.dentist-workspace-chart-suggestion-chip{border:1px solid rgba(109,93,252,.22);border-radius:999px;background:#f1efff;color:#5548d9;display:inline-flex;align-items:center;gap:.34rem;padding:.36rem .55rem;font:inherit;font-size:.72rem;cursor:pointer}.dentist-workspace-chart-suggestion-chip strong{color:inherit;font-size:.74rem}.dentist-workspace-chart-suggestion-chip span:not([aria-hidden]){border-radius:999px;background:#ffffffb8;padding:.12rem .28rem;font-weight:900}.dentist-workspace-chart-tabbar{display:inline-flex;align-items:center;gap:.35rem;padding:.24rem;margin:0;border:1px solid #dfdcff;border-radius:999px;background:#f8f6ff}.dentist-workspace-chart-tab{border:0;border-radius:999px;background:transparent;color:#657086;display:inline-flex;align-items:center;gap:.4rem;padding:.46rem .82rem;font:inherit;font-size:.82rem;font-weight:900;cursor:pointer}.dentist-workspace-chart-tab.is-active{background:#6d5dfc;color:#fff;box-shadow:0 8px 18px #6d5dfc2e}.dentist-workspace-chart-tab span{min-width:1.25rem;height:1.25rem;border-radius:999px;background:#ffffff3d;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}.dentist-workspace-planning-chart-panel{display:grid;gap:.65rem;padding:.65rem;border:1px solid #e1ecf4;border-radius:.95rem;background:#fff}.dentist-workspace-planning-odontogram{min-height:36rem;background:linear-gradient(180deg,#fbfffe,#f4fbfa)}.dentist-workspace-chart-suggestion-panel--planning{border-color:#6d5dfc42;background:#f8f6ff}.dentist-workspace-chart-suggestion-chip.is-planning{background:#f1efff;border-color:#d9d4ff;color:#5548d9}.dentist-workspace-planning-list{display:grid;gap:.5rem}.dentist-workspace-planning-list .session-treatment-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;border:1px solid #e3ebf4;border-radius:.85rem;background:#fbfdff;padding:.7rem}.dentist-workspace-planning-list .session-treatment-card>div:first-child{display:grid;gap:.2rem}.dentist-workspace-planning-list .session-treatment-card span,.dentist-workspace-planning-list .session-treatment-card small{color:#64748b;font-size:.78rem;font-weight:700}.session-treatment-card-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.dentist-workspace-clinical-grid.is-chart-expanded{grid-template-columns:minmax(360px,.78fr) minmax(560px,1.38fr) 2.35rem}.dentist-workspace-clinical-grid.is-chart-expanded.is-history-open{grid-template-columns:minmax(360px,.72fr) minmax(520px,1.3fr) minmax(132px,.28fr)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dentist-workspace-patient-panel,.dentist-workspace-case-note-panel,.dentist-workspace-chart-panel{border:1px solid #e3ebf6;border-radius:.95rem;background:#fff;padding:.72rem;display:grid;gap:.55rem;align-content:start;min-width:0;box-shadow:0 10px 22px #21304e0b}.dentist-workspace-patient-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem}.dentist-workspace-avatar{width:3.6rem;height:3.6rem;border-radius:999px;border:.25rem solid #f3f7fc;background:linear-gradient(135deg,#dff4ff,#e8e4ff);color:#3795c6;display:grid;place-items:center;flex:0 0 auto;font-family:Poppins,sans-serif;font-size:1.45rem;font-weight:800;box-shadow:0 10px 22px #3895c629}.dentist-workspace-patient-copy{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(190px,.5fr) minmax(220px,1fr);gap:.35rem 1rem;align-items:center;min-width:0;flex:1 1 auto}.dentist-workspace-patient-copy .page-eyebrow{grid-column:1 / -1}.dentist-workspace-patient-copy .session-mini-title-row{align-items:center}.dentist-workspace-patient-copy .dentist-session-patient-contact,.dentist-workspace-patient-copy .dentist-session-patient-meta,.dentist-workspace-patient-copy .dentist-session-patient-summary{margin:0}.dentist-workspace-patient-copy h2,.dentist-workspace-case-note-panel h2,.dentist-workspace-chart-panel h2{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:1.02rem;line-height:1.2}.dentist-workspace-card-title{padding-bottom:.15rem}.dentist-workspace-note-editor{border:1px solid #dfe6ef;border-radius:.88rem;background:#fff;display:grid;gap:0;overflow:hidden}.dentist-workspace-note-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;min-height:2.35rem;background:#eefaf7;border-bottom:1px solid #dbeae7;padding:.42rem .55rem}.dentist-workspace-tool-btn{border:1px solid rgba(109,93,252,.22);border-radius:999px;background:#f1efff;color:#5b4fd6;display:inline-flex;align-items:center;gap:.35rem;padding:.48rem .72rem;font:inherit;font-size:.76rem;font-weight:900;cursor:pointer;box-shadow:0 4px 10px #6d5dfc14}.dentist-workspace-tool-btn.is-ai{background:#eef8ff;border-color:#448fdc38;color:#2f6faa}.dentist-workspace-tool-btn:hover:not(:disabled){background:#dff7f4;color:#0f726b;transform:translateY(-1px)}.dentist-workspace-tool-btn.is-ai:hover:not(:disabled){background:#e4f2ff;color:#285f94}.dentist-workspace-tool-btn:disabled{cursor:not-allowed;opacity:.55}.dentist-workspace-image-strip{display:flex;align-items:center;gap:.35rem;overflow-x:auto;padding:.45rem .55rem;border-bottom:1px solid #eef2f6;background:#fbfdfd}.dentist-workspace-image-chip{width:3.2rem;height:2.35rem;border:1px solid #dce7f3;border-radius:.55rem;background:#f7fafc;padding:0;overflow:hidden;cursor:pointer}.dentist-workspace-image-chip img{width:100%;height:100%;object-fit:cover}.dentist-workspace-image-chip span,.dentist-workspace-image-more{color:#61708a;font-size:.66rem;font-weight:800}.dentist-workspace-patient-panel .dentist-session-patient-highlights{flex:0 1 300px;justify-content:flex-end}.dentist-workspace-case-note-panel .session-chart-editor-actions{justify-content:flex-end}.dentist-workspace-note-actions{gap:.45rem;flex-wrap:wrap}.dentist-workspace-note-field{margin:0}.dentist-workspace-note-field textarea{width:100%;min-height:16rem;resize:vertical;background:#fff;border:0;border-radius:0;box-shadow:none;padding:.9rem}.dentist-workspace-note-field textarea:focus{outline:none;box-shadow:none}.dentist-workspace-tca-field{gap:.38rem}.dentist-workspace-tca-field textarea{min-height:6.25rem;resize:vertical;line-height:1.45}.dentist-workspace-tca-field span{font-weight:900}.dentist-workspace-keyword-zone{min-height:2.55rem;border-top:1px solid #dbeae7;display:block;padding:.48rem .65rem;background:#fff}.dentist-workspace-keyword-groups{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.45rem .5rem;min-width:0}.dentist-workspace-keyword-group{border:1px solid #e2efee;border-radius:.72rem;background:#fbfefd;display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;padding:.32rem;min-width:0}.dentist-workspace-keyword-category{border-radius:999px;background:#f1f6f8;color:#5e6b80;padding:.26rem .46rem;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.dentist-workspace-keyword-list{display:flex;align-items:center;flex-wrap:wrap;gap:.32rem;min-width:0}.dentist-workspace-keyword-groups em{color:#9aa6b8;font-size:.74rem;font-style:normal;font-weight:700}.dentist-workspace-keyword-chip{border:1px solid rgba(109,93,252,.24);border-radius:999px;background:#f1efff;color:#5b4fd6;padding:.32rem .58rem;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}.dentist-workspace-keyword-chip span{margin-left:.22rem;color:#0c6f68}.dentist-workspace-ai-preview-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:.9rem}.dentist-workspace-ai-preview-card{border:1px solid #e0e7f0;border-radius:.9rem;background:#fbfdff;display:grid;gap:.55rem;padding:.85rem;min-width:0}.dentist-workspace-ai-preview-card.is-suggested{border-color:#6d5dfc47;background:#f8f6ff}.dentist-workspace-ai-preview-card>span{color:#59677f;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.dentist-workspace-ai-preview-card pre,.dentist-workspace-ai-preview-card textarea{min-height:16rem;margin:0;border:1px solid #dce5ef;border-radius:.75rem;background:#fff;color:#243451;font:inherit;font-size:.88rem;line-height:1.6;padding:.8rem;white-space:pre-wrap;overflow:auto}.dentist-workspace-ai-preview-card textarea{resize:vertical}@media(max-width:860px){.dentist-workspace-ai-preview-grid{grid-template-columns:1fr}}.dentist-workspace-chart-panel{background:linear-gradient(180deg,#fff,#f9fbff)}.dentist-workspace-chart-title-row{display:flex;align-items:center;justify-content:flex-start;gap:.45rem}.dentist-workspace-chart-toggle{border:1px solid rgba(109,93,252,.24);border-radius:999px;background:#f1efff;color:#5b4fd6;min-width:2.25rem;height:1.65rem;padding:0 .45rem;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:.78rem;font-weight:900;line-height:1;cursor:pointer}.dentist-workspace-chart-toggle:hover{background:#dcf6f2;color:#0f726b}.dentist-workspace-chart-canvas{min-height:26.5rem}.dentist-workspace-history-drawer{min-width:0;border:1px solid rgba(28,171,164,.45);border-radius:.8rem;background:linear-gradient(180deg,#28c9c0,#10a9a0);color:#fff;display:grid;grid-template-columns:2.35rem;overflow:hidden;box-shadow:0 10px 22px #10a9a029}.dentist-workspace-history-drawer.is-open{grid-template-columns:2.35rem minmax(0,1fr)}.dentist-workspace-history-rail{border:0;color:inherit;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);padding:.55rem 0;font:inherit;font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;background:#0000001a;cursor:pointer}.dentist-workspace-history-rail:hover{background:#00000029}.dentist-workspace-history-list{display:grid;align-content:start;gap:.5rem;padding:.7rem}.dentist-workspace-history-list p{margin:0;font-size:.74rem;font-weight:700;line-height:1.35}.dentist-workspace-history-item{display:grid;gap:.2rem;border-radius:.7rem;background:#ffffff29;padding:.55rem}.dentist-workspace-history-item strong{font-size:.72rem;line-height:1.2}.dentist-workspace-history-item span{font-size:.68rem;line-height:1.35;opacity:.92}@media(max-width:1280px){.dentist-workspace-clinical-grid{grid-template-columns:minmax(380px,.98fr) minmax(340px,.94fr) 2.35rem}.dentist-workspace-clinical-grid.is-intake-only{grid-template-columns:minmax(0,1fr) 2.35rem}.dentist-workspace-clinical-grid.is-history-open{grid-template-columns:minmax(370px,.95fr) minmax(320px,.9fr) minmax(120px,.28fr)}.dentist-workspace-clinical-grid.is-intake-only.is-history-open{grid-template-columns:minmax(0,1fr) minmax(120px,.28fr)}.dentist-workspace-clinical-grid.is-chart-expanded{grid-template-columns:minmax(320px,.72fr) minmax(470px,1.28fr) 2.35rem}.dentist-workspace-clinical-grid.is-chart-expanded.is-history-open{grid-template-columns:minmax(320px,.68fr) minmax(430px,1.2fr) minmax(120px,.28fr)}.dentist-workspace-patient-copy{grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr)}.dentist-workspace-patient-copy .dentist-session-patient-summary{grid-column:1 / -1}}@media(max-width:980px){.dentist-workspace-clinical-grid,.dentist-workspace-clinical-grid.is-history-open,.dentist-workspace-clinical-grid.is-chart-expanded,.dentist-workspace-clinical-grid.is-chart-expanded.is-history-open{grid-template-columns:1fr}.dentist-workspace-patient-panel{align-items:flex-start;flex-wrap:wrap}.dentist-workspace-patient-copy{grid-template-columns:1fr}.dentist-workspace-patient-panel .dentist-session-patient-highlights{flex-basis:100%;justify-content:flex-start}}.session-workspace-overview{border:1px solid #e3ebf6;border-radius:1.2rem;background:linear-gradient(180deg,#fff,#f9fbff);padding:1rem 1.05rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem;align-items:start}.session-workspace-overview-copy{display:grid;gap:.35rem}.session-workspace-overview-copy h2{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:1.18rem}.session-workspace-overview-copy p:last-child{margin:0;color:#6f7c95;font-size:.9rem;line-height:1.6}.session-workspace-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.session-metric-card{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:.85rem .9rem;display:grid;gap:.18rem}.session-metric-card span{color:#72809c;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.session-metric-card strong{color:#243451;font-size:1.25rem;font-family:Poppins,sans-serif}.session-metric-card.is-accent{border-color:#cec7ff;background:linear-gradient(180deg,#faf8ff,#f1eeff)}.session-summary-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.session-summary-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.session-summary-card--accent{border-color:#cec7ff;background:linear-gradient(180deg,#faf8ff,#f2eeff)}.session-summary-card span{color:#72809c;font-size:.78rem;line-height:1.5}.session-helper-copy{margin:0;color:#72809c;font-size:.84rem;line-height:1.55;max-width:34rem}.session-odontogram-legend{border:1px dashed #d7e0ef;border-radius:.95rem;background:#fbfdff;padding:.8rem .9rem;display:grid;gap:.35rem}.session-odontogram-legend span{color:#667592;font-size:.82rem;line-height:1.55}.session-odontogram-shell--hero{min-height:100%;padding:1rem}.session-diagnosis-layout{grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr);gap:1rem;align-items:start}.session-diagnosis-left{position:sticky;top:88px}.session-diagnosis-workbench{display:grid;gap:1rem;min-width:0}.session-plan-page,.session-plan-builder-shell,.session-plan-saved-shell,.session-plan-treatment-shell,.session-chart-notes-card,.session-exam-form-shell{display:grid;gap:1rem}.session-plan-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.3fr) minmax(320px,.92fr);gap:1rem;align-items:start}.session-plan-left,.session-plan-center,.session-plan-right{min-width:0}.session-plan-left{display:grid;gap:.9rem}.session-plan-dx-list{display:grid;gap:.8rem}.session-plan-left-footer{border:1px dashed #d9e3f2;border-radius:1rem;padding:.9rem 1rem;background:#fbfdff}.session-plan-dx-card{border:1px solid #e3ebf6;border-radius:1.05rem;background:#fff;padding:.95rem 1rem;display:grid;gap:.65rem}.session-plan-dx-card.is-highlighted{border-color:#cec7ff;box-shadow:0 18px 34px #4b39ef1f}.session-plan-dx-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.session-plan-dx-card-head strong{display:block;margin-top:.25rem;color:#243451;font-size:1rem;font-family:Poppins,sans-serif}.session-plan-dx-card-eyebrow{color:#647391;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.session-plan-dx-card-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.session-plan-dx-card-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.session-plan-dx-card-copy,.session-plan-dx-card-note{margin:0;color:#6f7c95;font-size:.85rem;line-height:1.55}.session-plan-center{display:grid;gap:.9rem}.session-plan-step-strip{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.session-plan-step-pill{border:1px solid #dbe5f2;border-radius:999px;background:#f8fbff;padding:.45rem .75rem;display:inline-flex;align-items:center;gap:.45rem;color:#667592;font-size:.82rem;font-weight:700}.session-plan-step-pill strong{width:1.45rem;height:1.45rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#edf2f9;color:#42516c;font-size:.76rem}.session-plan-step-pill.is-active{border-color:#c9bcff;background:#f3efff;color:#3f31ce}.session-plan-step-pill.is-active strong{background:linear-gradient(135deg,#5d49f2,#4334db);color:#fff}.session-plan-builder-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:1rem;align-items:start}.session-plan-library-card,.session-plan-assignment-card{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:1rem;display:grid;gap:.9rem}.session-plan-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.session-plan-section-head h3{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:1rem}.session-plan-section-head span{color:#72809c;font-size:.8rem;line-height:1.45}.session-plan-filter-chips{display:flex;gap:.55rem;flex-wrap:wrap}.session-plan-filter-chip{border:1px solid #dbe5f2;border-radius:999px;background:#fff;color:#53627d;padding:.55rem .85rem;font-size:.82rem;font-weight:700}.session-plan-filter-chip.is-active{border-color:#4b39ef;background:#f1edff;color:#3c2ed1;box-shadow:0 10px 20px #4b39ef1f}.session-plan-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.session-plan-assignment-head strong{display:block;color:#243451;font-size:1rem;font-family:Poppins,sans-serif}.session-plan-assignment-head span{color:#72809c;font-size:.8rem;line-height:1.45}.session-plan-assignment-body{display:grid;gap:.85rem}.session-plan-help-card{border:1px solid #e2e8f4;border-radius:.95rem;background:linear-gradient(180deg,#fff,#f8fbff);padding:.85rem .95rem;display:grid;gap:.25rem}.session-plan-help-card strong{color:#243451;font-size:.9rem}.session-plan-help-card span{color:#6f7c95;font-size:.83rem;line-height:1.55}.session-plan-odontogram{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:.75rem}.session-plan-results{display:grid;gap:.9rem;max-height:640px;overflow:auto;padding-right:.2rem}.session-plan-result-section{border:1px solid #e3ebf6;border-radius:1rem;overflow:hidden;background:#fff}.session-plan-result-section-head{border-bottom:1px solid #e9f0f8;background:#f8fbff;color:#60708d;padding:.8rem .95rem;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.session-plan-result-list{display:grid}.session-plan-right{display:grid;gap:.9rem}.session-plan-status-legend{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.session-plan-status-dot{display:inline-flex;align-items:center;gap:.35rem;color:#5d6d88;font-size:.82rem;font-weight:700}.session-plan-status-dot:before{content:"";width:10px;height:10px;border-radius:999px;background:#c9d6ea}.session-plan-status-dot.is-done:before{background:#21b573}.session-plan-status-dot.is-proposed:before{background:#4b8dff}.session-plan-right-toolbar{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);gap:.75rem}.session-plan-treatment-board{border:1px solid #e3ebf6;border-radius:1rem;overflow:hidden;background:#fff}.session-plan-treatment-table-head,.session-plan-treatment-row{display:grid;grid-template-columns:76px minmax(0,1fr) 96px 160px;gap:.75rem;align-items:start;padding:.9rem 1rem}.session-plan-treatment-table-head{border-bottom:1px solid #e8eef7;background:#f8fbff;color:#60708d;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.session-plan-treatment-row+.session-plan-treatment-row{border-top:1px solid #edf2f8}.session-plan-treatment-row.is-done{background:#20b36f0d}.session-plan-treatment-row.is-cancelled{background:#ee565f0a}.session-plan-treatment-tooth{color:#243451;font-size:1rem;font-weight:800}.session-plan-treatment-service{display:grid;gap:.35rem;min-width:0}.session-plan-treatment-service strong{color:#243451;font-size:.96rem}.session-plan-treatment-meta{display:flex;align-items:center;gap:.4rem .45rem;flex-wrap:wrap}.session-plan-treatment-meta span:not(.session-table-status):not(.session-lock-chip){color:#72809c;font-size:.78rem;line-height:1.4}.session-plan-treatment-fee{color:#243451;font-size:.96rem;font-weight:800;text-align:right}.session-plan-treatment-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.session-plan-treatment-footer{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:1rem;display:grid;gap:.8rem}.session-plan-total-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.session-plan-total-row span{color:#72809c;font-size:.88rem}.session-plan-total-row strong{color:#243451;font-family:Poppins,sans-serif;font-size:1rem}@media(max-width:1480px){.session-plan-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.15fr)}.session-plan-builder-grid{grid-template-columns:1fr}.session-plan-right{grid-column:1 / -1}}@media(max-width:1120px){.session-plan-layout,.session-plan-right-toolbar{grid-template-columns:1fr}.session-plan-treatment-table-head,.session-plan-treatment-row{grid-template-columns:68px minmax(0,1fr)}.session-plan-treatment-table-head span:nth-child(3),.session-plan-treatment-table-head span:nth-child(4),.session-plan-treatment-fee,.session-plan-treatment-actions{display:none}}.session-dx-assignment-card--hero{padding:1rem;gap:1rem}.session-dx-workbench-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}.session-dx-workbench-copy{display:grid;gap:.85rem;align-content:start}.session-diagnosis-right--workbench{position:static;background:#fff;display:grid;gap:.85rem}.session-dx-picker-search{margin-top:.1rem}.session-dx-picker-selected{border:1px solid #dbe5f2;border-radius:.95rem;background:#f8fbff;padding:.8rem .9rem;display:grid;gap:.2rem}.session-dx-picker-selected strong{color:#243451;font-size:.94rem}.session-dx-picker-selected span{color:#72809c;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.session-dx-picker-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;align-items:end}.session-dx-picker-toolbar>.primary-btn{align-self:stretch}.session-dx-picker-toolbar--secondary{margin-top:-.1rem}.session-dx-picker-meta{color:#72809c;font-size:.78rem;font-weight:800;line-height:1.3}.session-ortho-shell{gap:1rem}.session-ortho-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.session-ortho-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:1rem;align-items:start}.session-ortho-section{gap:1rem}.session-ortho-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.session-check-card{border:1px solid #e3ebf6;border-radius:.95rem;background:#fbfdff;padding:.8rem .85rem;min-height:56px}.checkbox-row--badge{border:1px solid #dbe5f2;border-radius:999px;padding:.4rem .7rem;background:#f7f9fd}.session-ortho-notes-field{grid-column:1 / -1}.session-exam-header{padding-bottom:.2rem}.session-exam-complete-toggle{border:1px solid #dbe5f2;border-radius:999px;padding:.55rem .85rem;background:#f8fbff;font-weight:700}.session-exam-block{border:1px solid #e8eef7;border-radius:1.05rem;background:#fbfdff;padding:1rem;display:grid;gap:.9rem}.session-exam-block-head h3{margin:0;color:#243451;font-family:Poppins,sans-serif;font-size:1rem}.session-exam-block-head span{color:#72809c;font-size:.82rem;line-height:1.5}.session-exam-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}.session-exam-check-card{border:1px solid #dfe8f4;border-radius:1rem;background:#fff;padding:.9rem 1rem;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:.9rem;color:#334460;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.session-exam-check-card:hover{border-color:#c8d7f3;background:#fbfdff}.session-exam-check-card.is-checked{border-color:#cfc7ff;background:#f5f2ff;box-shadow:0 12px 26px #4b39ef14}.session-exam-check-copy{display:grid;gap:.2rem}.session-exam-check-copy strong{color:#243451;font-size:.95rem;font-weight:700;line-height:1.45}.session-exam-check-card input{width:18px;height:18px;flex:0 0 auto}.session-exam-notes-grid{gap:.85rem .95rem}.session-exam-footer{display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap;border-top:1px solid #edf2f8;padding-top:.95rem}.session-card-head,.session-toolbar-row,.session-inline-actions,.session-record-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.session-card-head h2,.session-photo-group h3{margin:.15rem 0 0;color:#243451;font-family:Poppins,sans-serif;font-size:1.14rem}.session-inline-field{min-width:220px}.session-inline-field--wide{flex:1 1 260px}.session-findings-layout,.session-photos-layout,.session-billing-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:1rem;align-items:start}.session-selected-teeth--stacked{align-items:flex-start}.session-odontogram-shell--dense{padding:.75rem}.session-inline-editor{display:grid;gap:.55rem}.session-ortho-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .9rem}.session-table-shell{overflow:auto;border:1px solid #e3ebf6;border-radius:1rem}.session-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.session-table th,.session-table td{padding:.75rem .85rem;border-bottom:1px solid #edf2f8;text-align:left;color:#344461;font-size:.84rem;vertical-align:top}.session-table th{background:#f8fbff;color:#72809c;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.session-table tbody tr:last-child td{border-bottom:0}.session-imaging-workspace{display:grid;grid-template-columns:minmax(320px,.56fr) minmax(0,1fr);gap:1rem;align-items:stretch}.session-xray-request-card{grid-column:1 / -1;display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid #dfe7f4;border-radius:.5rem;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 18px 42px #2232540d;padding:1rem}.session-xray-request-card h3{margin:0;color:#263852;font-size:1rem;font-weight:900}.session-xray-request-card p:not(.page-eyebrow){margin:.25rem 0 0;color:#667594;font-size:.88rem;font-weight:700}.session-xray-request-controls{display:flex;align-items:end;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.session-xray-request-controls .filter-field{min-width:190px;margin:0}.session-xray-request-actions{display:flex;gap:.55rem;flex-wrap:wrap}.session-imaging-library,.session-imaging-viewer,.session-incoming-xray-panel{min-width:0;border:1px solid #dfe7f4;border-radius:.5rem;background:#fff;box-shadow:0 18px 42px #2232540d}.session-incoming-xray-panel{grid-column:1 / -1;padding:1rem;display:grid;gap:.85rem}.session-incoming-xray-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.session-incoming-xray-header h4{margin:0;color:#263852;font-size:.95rem;font-weight:900}.session-incoming-xray-header>span{color:#7d4ec2;background:#f4edff;border:1px solid #e3d3ff;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:900}.session-incoming-xray-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.session-incoming-xray-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:.75rem;align-items:center;border:1px solid #e1e8f4;border-radius:.5rem;padding:.65rem;background:#fbfdff}.session-incoming-xray-error{grid-column:1 / -1;margin:0;border:1px solid #fecdd3;border-radius:.45rem;background:#fff1f2;color:#9f1239;padding:.55rem .7rem;font-size:.78rem;font-weight:800}.session-incoming-xray-preview{width:78px;height:78px;border-radius:.5rem;overflow:hidden;background:#111827;color:#d1d5db;display:grid;place-items:center;font-size:.7rem;font-weight:800;text-align:center}.session-incoming-xray-preview img{width:100%;height:100%;object-fit:cover}.session-incoming-xray-card strong,.session-incoming-xray-card small,.session-incoming-xray-card em{display:block;min-width:0}.session-incoming-xray-card strong{color:#263852;font-size:.88rem;font-weight:900}.session-incoming-xray-card small{margin-top:.2rem;color:#6b7a99;font-size:.76rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-incoming-xray-card em{margin-top:.3rem;color:#51627f;font-size:.72rem;font-style:normal;font-weight:900}.session-incoming-xray-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.5rem;padding-top:.15rem}.session-incoming-xray-actions .primary-btn,.session-incoming-xray-actions .secondary-btn{min-height:34px}.session-imaging-library{padding:1rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem}.session-imaging-filter{display:grid;grid-template-columns:126px minmax(0,1fr);gap:1rem;align-items:center}.session-imaging-filter label{color:#70809f;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.session-imaging-filter select{width:100%;min-height:44px;border:1px solid #dce5f3;border-radius:.5rem;background:#fff;color:#263852;font:inherit;font-size:.88rem;font-weight:700;padding:0 .9rem}.session-imaging-thumb-grid{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;align-content:start;overflow:auto;padding-right:.2rem}.session-imaging-thumb-card{position:relative;min-width:0;border:1px solid #dde6f4;border-radius:.5rem;background:#fff;padding:.42rem;display:grid;gap:.45rem;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.session-imaging-thumb-card:hover{transform:translateY(-1px);border-color:#c9d6ea}.session-imaging-thumb-card.is-selected{border-color:#6957f5;box-shadow:0 14px 28px #4f3add24}.session-imaging-thumb-frame{position:relative;aspect-ratio:1 / .78;overflow:hidden;border-radius:.38rem;background:#eef3fb;display:block}.session-imaging-thumb-frame img,.session-imaging-stage img{width:100%;height:100%;object-fit:cover;display:block}.session-imaging-document-preview{width:100%;height:100%;min-height:100%;display:grid;place-items:center;align-content:center;gap:.45rem;background:#f6f8fc;color:#253652;text-align:center;padding:.8rem}.session-imaging-document-preview strong{width:fit-content;border-radius:.4rem;background:#e8edf7;color:#52627f;padding:.35rem .55rem;font-size:.72rem;font-weight:900}.session-imaging-document-preview small{max-width:100%;color:#52627f;font-size:.72rem;font-weight:700;overflow-wrap:anywhere}.session-imaging-document-preview.is-stage{width:min(84%,820px);min-height:min(42vw,430px);border:1px solid #dfe7f4;border-radius:.45rem;transform:scale(var(--imaging-zoom, 1));transition:transform .18s ease}.session-imaging-selected-mark{position:absolute;top:-.35rem;right:-.35rem;width:1.9rem;height:1.9rem;border-radius:999px;background:#5a49e8;color:#fff;display:grid;place-items:center;font-size:.82rem;font-weight:900}.session-imaging-thumb-meta{display:grid;gap:.3rem;padding:0 .15rem .15rem}.session-imaging-thumb-meta strong{color:#253652;font-size:.75rem;font-weight:800}.session-imaging-thumb-meta small{width:fit-content;max-width:100%;border-radius:.36rem;background:#efecff;color:#4a33d7;padding:.28rem .45rem;font-size:.68rem;font-weight:800;overflow-wrap:anywhere}.session-imaging-thumb-meta em{width:fit-content;border-radius:999px;background:#e8f6f2;color:#14715d;padding:.18rem .42rem;font-size:.65rem;font-style:normal;font-weight:800}.session-imaging-thumb-more{position:absolute;right:.62rem;bottom:2.25rem;color:#7180a0;font-size:.95rem;font-weight:900;letter-spacing:.08em}.session-imaging-empty,.session-imaging-stage-empty{border:1px dashed #d7e1f0;border-radius:.5rem;background:#fbfdff;color:#74829d;padding:1.3rem;display:grid;gap:.3rem;text-align:center}.session-imaging-empty{grid-column:1 / -1}.session-imaging-empty.is-error{border-color:#f2c4c7;background:#fff7f7;color:#9a3442}.session-imaging-empty strong,.session-imaging-stage-empty strong{color:#263852}.session-imaging-library-footer,.session-imaging-pagination,.session-imaging-viewer-top,.session-imaging-tools,.session-imaging-actions{display:flex;align-items:center;gap:.75rem}.session-imaging-library-footer{justify-content:space-between;border-top:1px solid #edf2f8;padding-top:1rem;color:#52627f;font-size:.82rem}.session-imaging-pagination{gap:.3rem}.session-imaging-pagination button,.session-imaging-tools button,.session-imaging-tools a{width:2.05rem;height:2.05rem;border:1px solid #dfe7f4;border-radius:.45rem;background:#fff;color:#263852;display:inline-grid;place-items:center;font:inherit;font-size:.82rem;font-weight:800;text-decoration:none}.session-imaging-tools button svg,.session-imaging-tools a svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.session-imaging-tools button:disabled{cursor:not-allowed;opacity:.5}.session-imaging-pagination button.is-active{background:#efeaff;border-color:#d9d0ff;color:#4a33d7}.session-imaging-viewer{padding:1rem;display:grid;gap:1rem}.session-imaging-viewer-top{justify-content:space-between;min-height:2.2rem;color:#52627f;font-size:.86rem;font-weight:800}.session-imaging-tools{justify-content:flex-end;flex-wrap:wrap}.session-imaging-stage{position:relative;min-height:360px;border-radius:.45rem;background:linear-gradient(180deg,#f8fbff,#fff);display:grid;place-items:center;overflow:hidden}.session-imaging-stage img{width:min(84%,820px);height:min(42vw,430px);border-radius:.45rem;object-fit:contain;background:#eef3fb;transform:scale(var(--imaging-zoom, 1));transition:transform .18s ease}.session-imaging-nav{position:absolute;top:50%;z-index:2;width:2.25rem;height:2.25rem;border:0;border-radius:999px;background:#8c7beb;color:#fff;transform:translateY(-50%);font:inherit;font-size:1.2rem;font-weight:800;box-shadow:0 12px 24px #4b36d338}.session-imaging-nav.is-left{left:1rem}.session-imaging-nav.is-right{right:1rem}.session-imaging-details{border:1px solid #dfe7f4;border-radius:.5rem;background:#fff;padding:1rem;display:grid;gap:1rem}.session-imaging-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem 1.4rem}.session-imaging-detail-item{min-width:0;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.6rem;align-items:start}.session-imaging-detail-icon{width:2rem;height:2rem;border-radius:.45rem;background:#f1f4fb;color:#5f6f90;display:grid;place-items:center;font-size:.62rem;font-weight:900}.session-imaging-detail-item small,.session-imaging-tags span{display:block;color:#70809f;font-size:.72rem;font-weight:800;line-height:1.35}.session-imaging-detail-item strong{display:block;color:#253652;font-size:.84rem;line-height:1.4;overflow-wrap:anywhere}.session-imaging-tags{display:grid;gap:.5rem}.session-imaging-file-name{margin:0;color:#52627f;font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.session-imaging-tags div{display:flex;flex-wrap:wrap;gap:.42rem}.session-imaging-tags strong,.session-imaging-tags button{border:0;border-radius:.44rem;background:#efecff;color:#4a33d7;min-height:2rem;padding:.42rem .75rem;font:inherit;font-size:.76rem;font-weight:800}.session-imaging-migrated-badge{width:fit-content;border-radius:999px;background:#e8f6f2;color:#14715d;padding:.38rem .75rem;font-size:.76rem;font-weight:800}.session-imaging-actions{justify-content:space-between;flex-wrap:wrap}.session-imaging-actions .secondary-btn{min-width:9.5rem;justify-content:center}.session-imaging-actions .secondary-btn.is-danger{margin-left:auto}.session-imaging-composer{margin-top:-.2rem}.session-photos-gallery{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}.session-photo-sidebar,.session-photo-main,.session-photo-gallery-shell,.session-photo-sidebar-head,.session-photo-filter-sections,.session-photo-filter-group,.session-photo-filter-stack,.session-photo-insights,.session-photo-composer,.session-photo-card-body{display:grid;gap:.9rem}.session-photo-sidebar{position:sticky;top:1rem}.session-photo-filter-group p{margin:0;color:#7a88a6;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-photo-filter-btn{width:100%;border:1px solid #dde8f5;border-radius:1rem;background:#fff;color:#334564;padding:.75rem .85rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.session-photo-filter-btn span,.session-photo-filter-btn strong{pointer-events:none}.session-photo-filter-btn strong{min-width:1.9rem;padding:.18rem .45rem;border-radius:999px;background:#eef3fb;color:#5f6f8f;font-size:.78rem;font-weight:800;text-align:center}.session-photo-filter-btn:hover{border-color:#c7d8ef;transform:translateY(-1px)}.session-photo-filter-btn.is-active{border-color:#c8b8ff;background:linear-gradient(180deg,#faf7ff,#f3eeff);box-shadow:0 14px 32px #4b36d314}.session-photo-filter-btn.is-active strong{background:#4831d61f;color:#4a33d7}.session-photo-sidebar-note{border-radius:1rem;border:1px solid #e4ebf7;background:linear-gradient(180deg,#fbfdff,#f4f8ff);padding:.9rem .95rem;display:grid;gap:.3rem}.session-photo-upload-dropzone{position:relative;min-height:108px;border:1px dashed #cfd9e8;border-radius:.7rem;background:#f8fbff;display:grid;place-items:center;overflow:hidden;cursor:pointer}.session-photo-upload-dropzone.has-preview{border-style:solid;background:#eef3fb}.session-photo-upload-dropzone img{width:100%;height:100%;min-height:260px;object-fit:contain;display:block}.session-photo-upload-dropzone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.session-photo-upload-dropzone input:disabled{cursor:not-allowed}.session-photo-upload-empty{display:grid;justify-items:center;gap:.48rem;color:#52627f;text-align:center}.session-photo-upload-empty>span{width:3rem;height:3rem;border-radius:.55rem;background:#eef3fb;color:#4f63a4;display:grid;place-items:center}.session-photo-upload-empty svg{width:1.35rem;height:1.35rem}.session-photo-upload-empty strong{color:#253652;font-size:.95rem;font-weight:900}.session-photo-upload-empty small{color:#7180a0;font-size:.76rem;font-weight:800}.session-photo-upload-list{display:grid;gap:.55rem}.session-photo-upload-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem}.session-photo-upload-list-head div{display:grid;gap:.2rem}.session-photo-upload-list-head strong{color:#243451;font-size:.9rem;font-weight:900}.session-photo-upload-list-head small{color:#72809c;font-size:.76rem;font-weight:700}.session-photo-upload-list-head>span{max-width:100%;border-radius:999px;background:#eef3fb;color:#52627f;padding:.32rem .58rem;font-size:.72rem;font-weight:800;white-space:nowrap}.session-photo-upload-review-item{overflow:hidden;border:1px solid #e6ecf6;border-radius:.82rem;background:#fff}.session-photo-upload-review-row{width:100%;border:0;background:transparent;padding:.58rem .65rem;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:.65rem;text-align:left;cursor:pointer}.session-photo-upload-review-row:hover{background:#f8fbff}.session-photo-upload-review-row:disabled{cursor:not-allowed}.session-photo-upload-review-thumb{width:54px;height:54px;border-radius:.58rem;background:linear-gradient(135deg,#eef4ff,#f6f3ff);color:#5f6e89;display:grid;place-items:center;overflow:hidden;font-size:.68rem;font-weight:900;letter-spacing:.08em}.session-photo-upload-review-thumb img{width:100%;height:100%;object-fit:cover;display:block}.session-photo-upload-review-main{min-width:0;display:grid;gap:.2rem}.session-photo-upload-review-main strong{color:#243451;font-size:.84rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-photo-upload-review-main small{color:#72809c;font-size:.74rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-photo-upload-review-chevron{width:1.6rem;height:1.6rem;border-radius:999px;background:#eef3fb;color:#52627f;display:grid;place-items:center;font-size:1.2rem;font-weight:900;line-height:1}.session-photo-upload-review-item.is-expanded{border-color:#c8b8ff;box-shadow:0 14px 32px #4b36d314}.session-photo-upload-review-details{border-top:1px solid #edf2f8;padding:.72rem;display:grid;gap:.72rem;background:#fbfdff}.session-photo-upload-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.session-photo-upload-error,.session-photo-upload-progress{border-radius:.5rem;padding:.72rem .85rem;font-size:.82rem;font-weight:800}.session-photo-upload-error{background:#fff7f7;color:#9a3442}.session-photo-upload-progress{background:#eef8ff;color:#23608a}.session-photo-upload-md{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:.85rem;align-items:stretch}@media(max-width:880px){.session-photo-upload-md{grid-template-columns:minmax(0,1fr)}}.session-photo-upload-md-master{display:grid;grid-template-rows:auto 1fr auto;gap:.55rem;min-height:240px}.session-photo-upload-md-dropzone{min-height:88px;padding:.55rem .75rem}.session-photo-upload-md-dropzone .session-photo-upload-empty{flex-direction:row;gap:.6rem;text-align:left;align-items:center;display:flex}.session-photo-upload-md-dropzone .session-photo-upload-empty>span:first-child{width:2.2rem;height:2.2rem;border-radius:.5rem}.session-photo-upload-md-dropzone .session-photo-upload-empty strong{font-size:.88rem}.session-photo-upload-md-dropzone .session-photo-upload-empty small{font-size:.72rem}.session-photo-upload-md-list{list-style:none;margin:0;padding:0 2px 0 0;display:grid;gap:.4rem;max-height:320px;overflow-y:auto}.session-photo-upload-md-item{position:relative;border:1px solid #e6ecf6;border-radius:.7rem;background:#fff;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.session-photo-upload-md-item.is-selected{border-color:#b4a4ff;background:#f6f3ff;box-shadow:0 10px 24px #4b36d314}.session-photo-upload-md-row{width:100%;border:0;background:transparent;padding:.5rem .6rem;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:.55rem;text-align:left;cursor:pointer;border-radius:inherit}.session-photo-upload-md-row:hover{background:#eef3fb99}.session-photo-upload-md-row:disabled{cursor:not-allowed}.session-photo-upload-md-row .session-photo-upload-review-thumb{width:44px;height:44px}.session-photo-upload-md-remove{position:absolute;top:.35rem;right:.35rem;width:1.5rem;height:1.5rem;border-radius:999px;border:0;background:#ffffffd9;color:#72809c;font-size:1rem;line-height:1;cursor:pointer;display:grid;place-items:center}.session-photo-upload-md-remove:hover{background:#fdeceb;color:#9a3442}.session-photo-upload-md-remove:disabled{cursor:not-allowed;opacity:.5}.session-photo-upload-md-master-foot{display:flex;justify-content:space-between;gap:.5rem;color:#72809c;font-size:.74rem;font-weight:700;padding:0 .1rem}.session-photo-upload-md-detail{border:1px solid #e6ecf6;border-radius:.85rem;background:#fff;padding:.85rem;display:grid;grid-template-rows:auto 1fr auto;gap:.75rem;min-height:240px}.session-photo-upload-md-detail-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:.65rem;align-items:center}.session-photo-upload-md-detail-thumb{width:48px;height:48px}.session-photo-upload-md-detail-title{min-width:0;display:grid;gap:.15rem}.session-photo-upload-md-detail-title strong{color:#243451;font-size:.95rem;font-weight:900}.session-photo-upload-md-detail-title small{color:#72809c;font-size:.74rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-photo-upload-md-detail-close{width:1.7rem;height:1.7rem;border-radius:999px;border:1px solid #e6ecf6;background:#fff;color:#52627f;font-size:1.05rem;line-height:1;cursor:pointer;display:grid;place-items:center}.session-photo-upload-md-detail-close:hover{background:#eef3fb}.session-photo-upload-md-detail-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem}@media(max-width:720px){.session-photo-upload-md-detail-body{grid-template-columns:minmax(0,1fr)}}.session-photo-upload-md-detail-body .session-field-span-all{grid-column:1 / -1}.session-photo-upload-md-detail-actions{display:flex;justify-content:flex-end;gap:.5rem}.session-photo-upload-md-empty{display:grid;align-content:center;justify-items:center;gap:.3rem;text-align:center;color:#72809c;padding:1rem}.session-photo-upload-md-empty strong{color:#243451;font-size:.95rem;font-weight:900}.session-photo-upload-md-empty small{color:#72809c;font-size:.78rem;font-weight:700;max-width:28ch;line-height:1.4}.session-photo-upload-md-bulk{border-top:1px solid #edf2f8;padding-top:.75rem}.session-photo-upload-md-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;border-top:1px solid #edf2f8;padding-top:.75rem}.session-photo-upload-md-foot-meta{color:#72809c;font-size:.78rem;font-weight:800}.session-photo-upload-md-foot-actions{display:flex;gap:.5rem}.session-photo-sidebar-note strong{color:#243451}.session-photo-sidebar-note span,.session-photo-gallery-meta,.session-photo-gallery-copy,.session-photo-composer-head span,.session-photo-insight-copy p{color:#6f7f9f;font-size:.88rem;line-height:1.55}.session-photo-gallery-head,.session-photo-gallery-actions,.session-photo-gallery-toolbar,.session-photo-composer-actions,.session-photo-card-actions,.session-photo-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.session-photo-gallery-meta{display:block;margin-top:.2rem}.session-photo-gallery-actions{align-items:stretch}.session-photo-gallery-toolbar{padding-top:.1rem;border-top:1px solid #edf2f9}.session-photo-active-filter{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:#f2edff;color:#4a33d7;font-size:.82rem;font-weight:800;letter-spacing:.02em}.session-photo-composer{border:1px solid #e2e8f4;border-radius:1.15rem;background:linear-gradient(180deg,#fbfdff,#f6f9ff);padding:1rem}.session-photo-composer-head>div{display:grid;gap:.16rem}.session-photo-composer-head strong{color:#243451;font-size:.98rem}.session-photo-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.9rem}.session-photo-groups{display:grid;gap:1rem}.session-photo-group{display:grid;gap:.75rem}.session-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.session-photo-card{border:1px solid #e3ebf6;border-radius:1rem;background:#fff;padding:.75rem;display:grid;gap:.75rem}.session-photo-card--gallery{padding:0;gap:0;overflow:hidden;box-shadow:0 18px 36px #2232540f}.session-photo-thumb{aspect-ratio:4 / 3;overflow:hidden;border-radius:.85rem;background:#eef3fb}.session-photo-thumb--gallery{position:relative;border-radius:0;background:linear-gradient(180deg,#edf3ff,#dfe9fb)}.session-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.session-photo-badge,.session-photo-tooth-chip{position:absolute;top:.8rem;z-index:1;display:inline-flex;align-items:center;padding:.34rem .72rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.session-photo-badge{left:.8rem;color:#fff}.session-photo-badge.is-intraoral{background:#4d33de}.session-photo-badge.is-extraoral{background:#365ad7}.session-photo-badge.is-radiology{background:#0f8b88}.session-photo-badge.is-periapical{background:#c87918}.session-photo-tooth-chip{top:auto;right:.8rem;bottom:.8rem;background:#ffffffe6;color:#32476c;letter-spacing:.01em;text-transform:none}.session-photo-copy,.session-record-copy,.session-record-meta,.session-billing-summary{display:grid;gap:.25rem}.session-photo-copy strong,.session-record-copy strong{color:#243451}.session-photo-copy span,.session-record-copy span,.session-record-meta span{color:#72809c;font-size:.8rem;line-height:1.45}.session-photo-card-body{padding:.95rem}.session-photo-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.session-photo-meta-row{justify-content:flex-start;gap:.4rem 1rem}.session-photo-meta-row span{color:#7b89a3;font-size:.77rem;line-height:1.45}.session-photo-note{margin:0;color:#415475;font-size:.84rem;line-height:1.55}.session-photo-note.is-muted{color:#8b97af}.session-photo-add-card{min-height:100%;border:1.5px dashed #d7dff0;border-radius:1.15rem;background:linear-gradient(180deg,#fbfdff,#f6f9ff);padding:1.1rem;display:grid;place-content:center;gap:.35rem;text-align:center;color:#5e6f91}.session-photo-add-card span{font-size:2rem;font-weight:300;line-height:1;color:#4b37d1}.session-photo-add-card strong{color:#253652;font-size:1rem}.session-photo-add-card small{color:#7d89a1;font-size:.78rem;line-height:1.5}.session-photo-insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.session-photo-insight-card{border:1px solid #e4eaf5;border-radius:1rem;background:linear-gradient(180deg,#fff,#f9fbff);padding:.85rem .9rem;display:grid;gap:.25rem}.session-photo-insight-card strong{color:#243451;font-size:1.12rem;font-weight:800}.session-photo-insight-card span{color:#7382a1;font-size:.8rem;line-height:1.45}.session-photo-insight-copy{border-top:1px solid #edf2f9;padding-top:.9rem}.session-record-rows{display:grid;gap:.55rem}.session-record-row{border:1px solid #e3ebf6;border-radius:.95rem;background:#fff;padding:.75rem .85rem}.session-procedure-combobox{position:relative}.session-procedure-options{position:absolute;z-index:30;top:calc(100% + .35rem);left:0;right:0;display:grid;max-height:18rem;overflow-y:auto;border:1px solid #dbe6f4;border-radius:.9rem;background:#fff;box-shadow:0 18px 42px #1f315424;padding:.35rem}.session-procedure-option{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border:0;border-radius:.7rem;background:transparent;padding:.7rem .8rem;color:#1f3154;font:inherit;text-align:left;cursor:pointer}.session-procedure-option strong{font-family:inherit;font-size:.92rem;font-weight:700}.session-procedure-option:hover,.session-procedure-option[aria-selected=true]{background:#eef6ff}.session-procedure-option span{color:#71809c;font-size:.78rem;white-space:nowrap}.session-procedure-option.is-empty{cursor:default;justify-content:center;color:#71809c}.odontogram-tooth-badge-shell{fill:#1f3154;opacity:.92}.odontogram-tooth-badge-text{fill:#fff;font-size:16px;font-weight:800}@media(max-width:1240px){.dentist-session-layout--clinical,.session-close-review-grid,.session-findings-layout,.session-imaging-workspace,.session-photos-layout,.session-photos-gallery,.session-billing-layout,.session-diagnosis-layout,.session-ortho-layout,.session-workspace-overview,.session-dx-workbench-grid,.session-chart-workspace,.session-chart-hero,.session-chart-support-grid{grid-template-columns:1fr}.session-ortho-overview,.session-summary-highlights,.session-workspace-metrics,.session-imaging-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dentist-session-nav--top,.session-diagnosis-left,.session-photo-sidebar{position:static}}@media(max-width:760px){.session-xray-request-card,.session-xray-request-controls,.session-xray-request-actions{align-items:stretch;flex-direction:column}.session-xray-request-controls .filter-field,.session-xray-request-actions .primary-btn,.session-xray-request-actions .secondary-btn{width:100%}.dentist-session-topbar,.dentist-session-topbar-title,.dentist-session-header-right,.dentist-session-patient-head,.session-chart-studio-head,.session-chart-board-meta,.session-chart-records{align-items:stretch}.session-chart-board-stat{flex-basis:100%}.session-chart-surface-pad-btn{width:42px;height:42px}.dentist-session-nav-short{display:inline}.dentist-session-nav-label{display:none}.session-ortho-check-grid,.session-ortho-overview,.session-summary-highlights,.session-workspace-metrics,.session-dx-picker-toolbar,.session-close-stats,.session-photo-insights-grid,.session-imaging-thumb-grid,.session-imaging-detail-grid{grid-template-columns:1fr}.session-close-warning,.session-close-review-hero{align-items:stretch}.session-imaging-library-footer,.session-imaging-filter,.session-imaging-actions{align-items:stretch;flex-direction:column}.session-imaging-filter{display:grid;grid-template-columns:1fr}.session-imaging-stage{min-height:260px}.session-imaging-stage img{width:100%;height:260px}.session-imaging-actions .secondary-btn,.session-imaging-actions .secondary-btn.is-danger{width:100%;margin-left:0}}@keyframes reveal-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-scale{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media(max-width:960px){.dashboard-shell{grid-template-columns:auto minmax(0,1fr);grid-template-rows:64px minmax(0,1fr) auto}.dashboard-header{grid-column:2}.dashboard-main{grid-column:2;grid-row:2}.dashboard-main.is-wide{grid-column:2}.dashboard-right{grid-column:2;grid-row:3;padding:0 1.2rem 1.2rem}.page-filters,.patient-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-information-layout{grid-template-columns:1fr}.patient-information-media{grid-template-columns:auto minmax(0,1fr) auto;justify-items:start;text-align:left}.patient-information-error{grid-column:1 / -1}.patient-information-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-detail-summary-grid,.patient-profile-summary-grid,.patient-profile-grid{grid-template-columns:1fr}.patient-detail-notes-column{grid-column:auto;grid-template-rows:none}.patient-detail-notes-column .patient-detail-card{min-height:0}.patient-detail-core-grid,.patient-detail-tabbar{grid-template-columns:1fr}.patient-detail-filters{justify-self:stretch;width:100%;grid-template-columns:minmax(170px,1.1fr) repeat(2,minmax(130px,.8fr))}.patient-detail-plan-summary-grid,.patient-detail-plan-card-grid,.patient-detail-billing-card-grid,.form-grid.two-column,.billing-workspace-grid,.view-record-layout,.view-record-overview-grid,.view-record-section-actions{grid-template-columns:1fr}.billing-line-item{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-timeline-layout{grid-template-columns:1fr}.patient-timeline-item{grid-template-columns:1fr;gap:.55rem}.patient-timeline-rail{padding-right:0;display:flex;align-items:center;gap:.55rem}.patient-timeline-rail:after{display:none}.patient-timeline-dot{position:static}.patient-timeline-details{position:static;min-height:0}.patient-detail-billing-actions,.patient-detail-billing-card-actions,.view-record-result-actions,.billing-summary-actions{justify-content:flex-start}.new-appointment-layout,.new-appointment-booking-layout{grid-template-columns:1fr}.new-appointment-booking-summary{position:static}.new-appointment-details-grid,.new-appointment-slot-layout{grid-template-columns:1fr}.new-appointment-side{position:static}.calendar-controls-row{grid-template-columns:1fr;justify-items:stretch}.calendar-controls-group{width:100%;flex-wrap:wrap}.calendar-controls-group.is-left,.calendar-controls-group.is-center,.calendar-controls-group.is-right{justify-content:flex-start}.calendar-range-nav strong{min-width:8.5rem}.calendar-month-cell{min-height:120px}.calendar-week-schedule{min-width:980px}.quote-copy{max-width:calc(100% - 232px)}.quote-visual{right:-.15rem;width:228px;bottom:-10px;height:calc(100% + 20px);min-width:228px}.quote-figure-shell{transform:translate(5px)}}@media(max-width:1480px)and (min-width:961px){.dashboard-shell{grid-template-columns:auto minmax(0,1fr) 304px}.dashboard-main,.dashboard-right{padding:1rem}.quote-card{min-height:214px;padding:1.25rem 1.35rem 1.05rem}.quote-copy{min-height:180px;max-width:calc(100% - 214px);gap:.62rem}.quote-title{font-size:clamp(1.55rem,2.1vw,2.2rem)}.quote-text{font-size:clamp(.98rem,1.2vw,1.2rem);line-height:1.5;max-width:calc(100% - .2rem)}.quote-visual{right:-.1rem;width:min(30%,248px);min-width:206px;height:calc(100% + 18px);bottom:-10px}.quote-refresh{right:.35rem;bottom:.7rem}.snapshot-carousel{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.snapshot-card{padding:.78rem .82rem .84rem}.snapshot-card-head{padding-right:3.85rem}.snapshot-card-icon{width:4.1rem;height:4.1rem;top:-.05rem;right:.05rem}.snapshot-card strong{font-size:1.16rem}.header-user{max-width:220px}.patient-detail-tabbar{grid-template-columns:minmax(0,1fr) auto;align-items:start}.patient-detail-filters{justify-self:end;width:auto;grid-template-columns:minmax(132px,150px) minmax(112px,124px) minmax(112px,124px)}}@media(max-width:760px){.signin-shell{padding:1rem}.signin-card{border-radius:18px;padding:1.15rem}.meta-row{flex-wrap:wrap}.dashboard-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto}.dashboard-sidebar{grid-column:1;grid-row:1;position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid #dbe5f2;box-shadow:none;padding:.75rem}.dashboard-sidebar.is-collapsed{width:100%}.dashboard-header{grid-column:1;grid-row:2;padding-inline:.75rem}.dashboard-main{grid-column:1;grid-row:3;padding:.75rem}.dashboard-main.is-wide{grid-column:1}.dashboard-right{grid-column:1;grid-row:4;padding:0 .75rem .75rem}.patient-information-head,.patient-information-actions{align-items:stretch}.patient-information-head{flex-direction:column}.patient-information-head,.patient-information-media,.patient-information-grid,.patient-residential-address-fields,.patient-information-notes,.patient-information-anamnesis{grid-template-columns:1fr}.patient-information-field.is-wide{grid-column:auto}.patient-information-anamnesis-row{grid-template-columns:minmax(0,1fr) 1.75rem}.patient-information-anamnesis-label,.patient-information-anamnesis-content{grid-column:1}.patient-information-anamnesis-edit{grid-column:2;grid-row:1 / span 2}.sidebar-item.is-nested{margin-left:0}.header-meta{width:100%;flex-wrap:wrap;justify-content:space-between}.header-branch-picker{order:3;width:100%;justify-content:space-between}.header-branch-picker select{min-width:0;width:100%}.quote-card{min-height:0;margin-top:.35rem;padding:1.2rem 1.1rem 1.25rem}.quote-copy{min-height:0;max-width:100%;padding-right:0}.quote-title{max-width:calc(100% - 118px)}.quote-text{max-width:calc(100% - 76px);font-size:1rem}.quote-visual{right:-.1rem;width:142px;bottom:-6px;height:calc(100% + 14px);min-width:142px}.quote-figure-shell{transform:none}.quote-refresh{right:.35rem;bottom:.7rem;width:2rem;height:2rem}.add-task-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.calendar-controls-group,.calendar-controls-group.is-left,.calendar-controls-group.is-center,.calendar-controls-group.is-right{width:100%;justify-content:flex-start}.calendar-dentist-filter,.calendar-dentist-filter-trigger{width:100%}.calendar-range-nav,.calendar-view-switch{width:100%;justify-content:space-between}.calendar-view-btn{flex:1}.calendar-content-card{padding:.75rem}.calendar-month-weekdays,.calendar-month-grid{gap:.35rem}.calendar-week-schedule{min-width:860px}.calendar-month-cell{min-height:106px;padding:.55rem}.page-filters,.patient-detail-filters,.patient-stat-grid,.new-appointment-grid,.new-appointment-grid-3,.patient-summary-grid,.patient-profile-groups,.patient-profile-summary-grid,.patient-profile-grid,.new-appointment-slot-layout,.slot-chip-grid,.new-appointment-summary,.appointment-summary-list{grid-template-columns:1fr}.new-appointment-topbar,.new-appointment-footer{align-items:stretch}.patient-summary-top{flex-direction:column;align-items:stretch}.page-back-button,.new-appointment-footer .primary-btn,.new-appointment-footer .secondary-btn{width:100%;justify-content:center}.page-head-actions{width:100%}.patient-edit-modal{width:min(100%,96vw)}.patient-edit-form{max-height:none}.online-request-popover-title-block,.online-request-popover-actions{flex-wrap:wrap}}.page-actions{flex-wrap:wrap}.segmented-switch{display:inline-flex;align-items:center;gap:.28rem;padding:.18rem;border-radius:999px;border:1px solid #dbe5f2;background:#f9fbff;min-height:42px}.segmented-switch-btn{border:0;min-width:3.8rem;min-height:2rem;padding:.35rem .75rem;border-radius:999px;background:transparent;color:#50607f;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.segmented-switch-btn.is-active{background:linear-gradient(145deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 10px 18px #4b39ef2e}.filter-bar,.data-table-shell{width:100%}.page-filters.calendar-controls-row{grid-template-columns:minmax(0,1fr) auto}.person-identity-cell{display:flex;align-items:center;gap:.7rem;min-width:0}.person-identity-avatar{flex-shrink:0}.person-identity-copy{min-width:0}.person-identity-title-row{display:flex;align-items:center;gap:.45rem;min-width:0}.person-identity-title-row strong{min-width:0}.person-identity-title-action{display:inline-flex;align-items:center;flex-shrink:0}.modal-card.is-sm{width:min(100%,420px)}.modal-card.is-md{width:min(100%,500px)}.modal-card.is-lg{width:min(100%,660px)}.modal-head-copy{display:grid;gap:.3rem}.modal-head-copy p,.modal-head p{margin:0;color:#72809c;font-size:.78rem;line-height:1.45}.modal-card{padding:1.05rem}.modal-head{gap:.75rem;margin-bottom:.75rem}.modal-card h2{font-size:1.04rem;line-height:1.2}.modal-card .page-eyebrow{font-size:.66rem}.modal-card .field-group{gap:.34rem}.modal-card .field-label{font-size:.78rem;font-weight:700}.modal-card .field-group input,.modal-card .field-group select,.modal-card .field-group textarea{padding:.64rem .72rem;font-size:.79rem;border-radius:10px}.modal-card .searchable-select-option{font-size:.79rem}.modal-card .searchable-select-option small,.modal-card .searchable-select-empty{font-size:.72rem}.modal-card .field-group textarea{min-height:96px}.modal-card .primary-btn,.modal-card .secondary-btn,.modal-card .page-primary-action{min-height:38px;padding:.58rem .88rem;font-size:.79rem}.modal-card .error-banner{margin-bottom:0;font-size:.77rem}.appointment-whatsapp-trigger{display:inline-flex;align-items:center;gap:.5rem}@keyframes page-refresh-spin{to{transform:rotate(360deg)}}.appointment-whatsapp-status-dot{width:.55rem;height:.55rem;border-radius:999px;background:#c7d2e6;box-shadow:0 0 0 4px #c7d2e638}.appointment-whatsapp-status-dot.is-connected{background:#2ea36b;box-shadow:0 0 0 4px #2ea36b2e}.whatsapp-modal .modal-body{display:grid;gap:.9rem;max-height:72vh;overflow-y:auto}.whatsapp-modal-section{border:1px solid #e2ebf7;border-radius:16px;background:#fff;padding:.95rem 1rem;display:grid;gap:.75rem}.whatsapp-status-section{grid-template-columns:minmax(0,1fr) auto;align-items:center}.whatsapp-connection-section{align-items:stretch}.whatsapp-connection-header{display:grid;gap:.85rem}.whatsapp-session-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.85rem;border:1px solid #edf2f8;border-radius:14px;background:#fbfdff}.whatsapp-session-copy{display:grid;gap:.25rem}.whatsapp-session-copy p{margin:0;color:#22314e;font-size:.82rem;line-height:1.5}.whatsapp-session-copy small{color:#7c8ba5;font-size:.74rem}.whatsapp-status-copy{display:grid;gap:.25rem}.whatsapp-status-copy h3,.whatsapp-modal-section-head h3{margin:0;color:#22314e;font-size:.94rem;font-weight:700}.whatsapp-status-copy p,.whatsapp-qr-panel p,.whatsapp-modal-empty{margin:0;color:#61718f;font-size:.82rem;line-height:1.5}.whatsapp-status-copy small,.whatsapp-log-row small,.whatsapp-candidate-copy small{color:#7c8ba5;font-size:.74rem}.error-text{color:#c04b5f}.whatsapp-toggle-panel{display:inline-flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.whatsapp-toggle-state{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .8rem;border-radius:999px;border:1px solid #dbe5f2;background:#f8fbff;color:#5d6c86;font-size:.8rem;font-weight:700}.whatsapp-toggle-state.is-enabled{border-color:#2ea36b33;background:#eef9f3;color:#1f6f48}.whatsapp-status-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.whatsapp-qr-panel{display:grid;justify-items:center;gap:.75rem;padding:.35rem 0 .15rem}.whatsapp-qr-panel img{width:196px;height:196px;border-radius:14px;border:1px solid #dce6f3;background:#fff;padding:.55rem}@media(max-width:720px){.whatsapp-status-section,.whatsapp-session-row{grid-template-columns:1fr}.whatsapp-status-actions,.whatsapp-toggle-panel{justify-content:flex-start}}.whatsapp-modal-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.whatsapp-modal-section-head span{color:#7b8aa4;font-size:.76rem;font-weight:700}.whatsapp-candidate-list,.whatsapp-log-list{display:grid;gap:.6rem}.whatsapp-candidate-row,.whatsapp-log-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:start;padding-top:.1rem}.whatsapp-candidate-row+.whatsapp-candidate-row,.whatsapp-log-row+.whatsapp-log-row{border-top:1px solid #edf2fa;padding-top:.75rem}.whatsapp-candidate-copy,.whatsapp-log-row>div{display:grid;gap:.2rem;min-width:0}.whatsapp-candidate-copy strong,.whatsapp-log-row strong{color:#263554;font-size:.85rem;font-weight:700}.whatsapp-candidate-copy span,.whatsapp-log-row span{color:#51617f;font-size:.77rem;line-height:1.4}.whatsapp-candidate-copy p{margin:.25rem 0 0;color:#52627f;font-size:.76rem;line-height:1.45;white-space:pre-line}.appointment-payment-summary-card span,.appointment-payment-row-head span{font-size:.72rem}.appointment-payment-summary-card strong{font-size:.92rem}.appointment-payment-summary-card small{font-size:.74rem}.appointment-payment-mode-btn{padding:.48rem .86rem;font-size:.78rem}.appointment-payment-row-head strong{font-size:.88rem}.modal-body{display:grid;gap:.85rem}.modal-body>:first-child{margin-top:0}.modal-footer{margin-top:.15rem}.modal-footer.is-centered{justify-content:center}.empty-state{border:1px dashed #dbe5f2;border-radius:1rem;padding:1.15rem;display:grid;gap:.25rem;color:#71809d;text-align:center}.empty-state strong{color:#263656}@media(max-width:1100px){.page-filters.calendar-controls-row{grid-template-columns:1fr}.patient-detail-plan-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-height:760px){.signin-shell{place-items:start center}}.session-workspace-back{justify-self:start;margin-bottom:.1rem}.session-preset-field--compact{min-width:160px}.session-summary-flag{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.34rem .72rem;border:1px solid #dbe5f2;background:#f7f9fd;color:#556580;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.session-summary-flag.is-structured{border-color:#b8e7c9;background:#effcf4;color:#1e7a42}.session-summary-flag.is-hybrid{border-color:#cec7ff;background:#f1eeff;color:#4332d5}.session-summary-flag.is-legacy{border-color:#c8d7f2;background:#eef5ff;color:#315a99}.session-summary-flag.is-new{border-color:#dbe5f2;background:#f8fbff;color:#667592}.session-notes-layout{display:grid;gap:1rem}.session-chart-notes-card .session-card-head,.session-exam-form-shell .session-card-head{align-items:flex-start}.session-notes-grid{gap:.85rem .95rem}.session-field-span-all{grid-column:1 / -1}.session-legacy-details{display:grid;gap:.85rem}.session-legacy-details summary{cursor:pointer;color:#50607a;font-size:.84rem;font-weight:800}.session-exams-stage{display:grid;gap:1rem}.session-exam-switch{justify-self:start}.session-exams-shell--modern{grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr)}.session-table-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;border-radius:999px;padding:.26rem .6rem;font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;border:1px solid #dbe5f2;background:#f7f9fd;color:#556580}.session-table-status.is-proposed{border-color:#d6dcff;background:#eff1ff;color:#4657d8}.session-table-status.is-done{border-color:#bae6d3;background:#eafbf3;color:#187a53}.session-table-status.is-cancelled{border-color:#f1c8d3;background:#fff5f7;color:#c24163}.session-lock-chip{display:inline-flex;align-items:center;margin-left:.5rem;border-radius:999px;padding:.16rem .48rem;background:#eef3fb;color:#5b6b87;font-size:.68rem;font-weight:800}.session-table-actions{display:flex;flex-wrap:wrap;gap:.35rem}.session-empty-block{border:1px dashed #dbe5f2;border-radius:1rem;padding:1rem;background:linear-gradient(180deg,#fbfdff,#f6faff);display:grid;gap:.35rem;color:#71809d}.session-empty-block strong{color:#263656}@media(max-width:1100px){.session-exams-shell--modern,.session-notes-layout,.session-exam-check-grid{grid-template-columns:1fr}.session-exam-footer{align-items:flex-start}.session-table-actions{justify-content:flex-start}}.dentist-session-layout--clinical{grid-template-columns:minmax(0,1fr)}.session-clinical-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.session-stepper{position:sticky;top:92px;z-index:14;display:grid;align-items:start;gap:.75rem;margin-bottom:1rem;padding:.45rem .15rem .35rem;min-height:70px;overflow-x:auto;scrollbar-width:thin}.session-stepper:before,.session-stepper:after{content:"";position:absolute;top:1.15rem;left:calc(100% / (var(--session-step-count) * 2));right:calc(100% / (var(--session-step-count) * 2));height:3px;border-radius:999px}.session-stepper:before{background:#c8d1dd}.session-stepper:after{background:var(--primary-strong);transform:scaleX(var(--session-progress-scale, 0));transform-origin:left center;transition:transform .18s ease}.session-stepper-step{position:relative;z-index:1;display:grid;align-items:center;justify-items:center;gap:.42rem;min-width:0;padding:0;border:0;background:transparent;color:#5f6875;text-align:center;font:inherit;cursor:pointer}.session-stepper-step span{width:1.55rem;height:1.55rem;border-radius:999px;border:2px solid #aeb8c4;background:#fbfdff;color:#6f7c8e;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:800;box-shadow:0 0 0 4px #fbfdff;transition:border-color .18s ease,color .18s ease,background-color .18s ease,box-shadow .18s ease}.session-stepper-step strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:inherit;font-size:.7rem;font-weight:800;line-height:1.25;text-transform:uppercase;transition:color .18s ease}.session-stepper-step:hover strong{color:#39475f}.session-stepper-step.is-current span{border-color:#8f99aa;color:#5f6875}.session-stepper-step.is-current strong{color:#5f6875}.session-stepper-step.is-complete{color:var(--primary-strong)}.session-stepper-step.is-complete span{border-color:var(--primary-strong);background:var(--primary-soft);color:#fff;font-size:0}.session-stepper-step.is-complete span:before{content:"";width:.42rem;height:.72rem;border-right:2px solid var(--primary-strong);border-bottom:2px solid var(--primary-strong);transform:rotate(45deg) translate(-1px,-1px)}.session-stepper-step.is-recommended:not(.is-current):not(.is-complete) strong{color:#6857d9}.session-stepper-step.is-recommended:not(.is-current):not(.is-complete) span{border-color:#d3c8ff;color:#6857d9}.session-context-rail{position:sticky;top:190px;display:grid;gap:.9rem;align-content:start}.session-context-card{border:1px solid #e2eaf6;border-radius:1.1rem;background:linear-gradient(180deg,#fff,#fbfcff);padding:.95rem 1rem;display:grid;gap:.8rem;box-shadow:0 14px 30px #18223a0d}.session-context-card h2{margin:.12rem 0 0;color:#243451;font-family:Poppins,sans-serif;font-size:1rem}.session-context-stack{display:grid;gap:.65rem}.session-context-row{display:grid;gap:.2rem}.session-context-row span{color:#7a88a4;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.session-context-row strong{color:#2a3a58;font-size:.85rem;line-height:1.5}.session-context-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.session-context-count{border:1px solid #ebf0f7;border-radius:.95rem;background:#fff;padding:.75rem .8rem;display:grid;gap:.22rem}.session-context-count span{color:#7786a3;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.session-context-count strong{color:#243451;font-size:1.1rem;font-weight:800}.session-context-next-copy{margin:0;color:#667692;font-size:.84rem;line-height:1.6}.session-intake-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.session-intake-context-card{border:1px solid #e4ebf6;border-radius:1rem;background:#fbfdff;padding:.9rem .95rem;display:grid;gap:.28rem}.session-intake-context-card span{color:#7a88a4;font-size:.73rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.session-intake-context-card strong{color:#2b3b58;font-size:.88rem;line-height:1.5}.session-procedures-flow{display:grid;gap:1rem}.record-procedure-page{display:grid;gap:1rem;color:#24324b}.record-procedure-grid{display:grid;grid-template-columns:minmax(360px,.42fr) minmax(540px,.58fr);gap:1rem;align-items:stretch}.record-procedure-card{border:1px solid rgba(220,226,239,.92);border-radius:1.05rem;background:#fffffff5;box-shadow:0 18px 45px #2c2d540b;padding:1.16rem 1.22rem}.record-procedure-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.record-procedure-card-head h2{margin:0;color:#2a3150;font-family:Poppins,sans-serif;font-size:1.02rem;font-weight:800;letter-spacing:-.02em}.record-procedure-card-head p{margin:.25rem 0 0;color:#7a8199;font-size:.79rem;font-weight:600}.record-procedure-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem .85rem}.record-procedure-field{display:grid;min-width:0;gap:.42rem}.record-procedure-field-wide{grid-column:1 / -1}.record-procedure-note-field{min-height:5.15rem}.record-procedure-field label,.record-procedure-field>span,.record-procedure-field>label{color:#44506a;font-size:.76rem;font-weight:800}.record-procedure-field span span,.record-procedure-field em,.record-procedure-field label span{color:#d4517a;font-style:normal}.record-procedure-field input,.record-procedure-field textarea,.record-procedure-input-shell{width:100%;border:1px solid #e1e6f1;border-radius:.72rem;background:#fff;color:#25314a;font:inherit;font-size:.84rem;transition:border-color .16s ease,box-shadow .16s ease}.record-procedure-field input,.record-procedure-input-shell{min-height:2.9rem}.record-procedure-field input,.record-procedure-field textarea{padding:.72rem .82rem}.record-procedure-input-shell{display:flex;align-items:center;gap:.48rem;padding:0 .78rem}.record-procedure-input-shell>span{color:#9aa3b8;font-size:1rem;line-height:1}.record-procedure-input-shell input{min-height:auto;border:0;border-radius:0;box-shadow:none;padding:0}.record-procedure-input-shell:focus-within,.record-procedure-field input:focus,.record-procedure-field textarea:focus{outline:none;border-color:#6f4cf7;box-shadow:0 0 0 3px #6f4cf71f}.record-procedure-note-field textarea{min-height:5.1rem;resize:vertical}.record-procedure-note-field small{justify-self:end;margin-top:-1.35rem;padding-right:.6rem;color:#9aa3b8;font-size:.68rem;pointer-events:none}.record-procedure-submit-row{display:flex;flex-wrap:wrap;gap:.72rem;margin-top:1rem}.record-procedure-submit-row .secondary-btn,.record-procedure-submit-row .record-procedure-add-btn{margin-top:0}.record-procedure-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;margin-top:1rem;border:0;border-radius:.72rem;background:linear-gradient(135deg,#6544f5,#461bd1);color:#fff;box-shadow:0 14px 25px #5335dc3d;padding:0 1.05rem;font:inherit;font-size:.86rem;font-weight:800}.record-procedure-list-card{display:flex;flex-direction:column;padding-bottom:.82rem}.record-procedure-clear-btn{border:1px solid #f0dce3;border-radius:.62rem;background:#fff7f9;color:#c65e76;padding:.48rem .65rem;font:inherit;font-size:.75rem;font-weight:800}.record-procedure-table-wrap{overflow:hidden;border:1px solid #edf0f7;border-radius:.9rem;background:#fff}.record-procedure-table{width:100%;border-collapse:collapse;table-layout:fixed}.record-procedure-table th:nth-child(1){width:21%}.record-procedure-table th:nth-child(2){width:13%}.record-procedure-table th:nth-child(3){width:19%}.record-procedure-table th:nth-child(4){width:7%}.record-procedure-table th:nth-child(5){width:15%}.record-procedure-table th:nth-child(6){width:15%}.record-procedure-table th:nth-child(7){width:10%}.record-procedure-table th{border-bottom:1px solid #eef1f7;color:#7d859a;font-size:.68rem;font-weight:900;letter-spacing:.04em;padding:.78rem .74rem;text-align:left;text-transform:uppercase}.record-procedure-table td{border-bottom:1px solid #f0f2f7;color:#39445e;font-size:.8rem;font-weight:700;padding:.78rem .74rem;vertical-align:middle}.record-procedure-table tbody tr:last-child td{border-bottom:0}.record-procedure-treatment-cell{display:flex;align-items:center;gap:.72rem;min-width:0}.record-procedure-treatment-cell div{display:grid;min-width:0;gap:.1rem}.record-procedure-treatment-cell strong{overflow:hidden;color:#2d354f;font-size:.82rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.record-procedure-treatment-cell small{color:#8a93a7;font-size:.68rem;font-weight:700}.record-procedure-note-cell{overflow:hidden;color:#58637a;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.record-procedure-row-actions{display:flex;align-items:center;gap:.45rem}.record-procedure-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid #dce6f3;border-radius:.55rem;background:#fff;color:#4b5f82;font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.record-procedure-icon-btn:hover:enabled{border-color:#cad9f7;background:#f4f8ff;color:var(--primary-strong)}.record-procedure-icon-btn svg{width:.82rem;height:.82rem}.record-procedure-icon-btn.is-danger{color:#8b5f6a}.record-procedure-icon-btn.is-danger:hover:enabled{border-color:#f1c8d0;background:#fff6f8;color:#c94f68}.record-procedure-total-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.3rem;background:#fafbff;color:#2f3954;padding:0 .95rem}.record-procedure-total-row strong,.record-procedure-total-row span{font-size:.84rem;font-weight:900}.record-procedure-total-row b{color:#5e2de5;font-size:1.1rem;margin-left:1.4rem}.record-procedure-empty-state{display:grid;place-items:center;min-height:14rem;border:1px dashed #dfe5f1;border-radius:.9rem;background:#fbfcff;color:#7c8498;text-align:center}.record-procedure-empty-state strong{color:#2e3751}.record-procedure-action-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #ded6ff;border-radius:.82rem;background:#fff;box-shadow:0 12px 28px #4936940d;padding:.72rem .82rem}.record-procedure-action-bar p{display:flex;align-items:center;gap:.65rem;margin:0;color:#6d7489;font-size:.8rem;font-weight:700}.record-procedure-action-bar p span{color:#5e2de5;font-size:1.25rem}.record-procedure-action-buttons{display:flex;align-items:center;gap:.78rem}.record-procedure-action-buttons .secondary-btn,.record-procedure-action-buttons .primary-btn{min-width:9.2rem;min-height:2.8rem;justify-content:center;border-radius:.72rem;font-size:.82rem;font-weight:900}.record-procedure-action-buttons .primary-btn{min-width:10.5rem;background:linear-gradient(135deg,#6544f5,#461bd1);box-shadow:0 14px 25px #5335dc38}@media(max-width:1180px){.record-procedure-grid{grid-template-columns:1fr}.record-procedure-action-bar{align-items:stretch;flex-direction:column}.record-procedure-action-buttons{justify-content:flex-end;flex-wrap:wrap}}@media(max-width:760px){.record-procedure-card{padding:.95rem}.record-procedure-form{grid-template-columns:1fr}.record-procedure-table-wrap{overflow-x:auto}.record-procedure-table{min-width:720px}.record-procedure-action-buttons,.record-procedure-action-buttons .secondary-btn,.record-procedure-action-buttons .primary-btn{width:100%}}.session-billing-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.session-billing-summary-strip .session-summary-card{min-height:104px;align-content:start}.session-billing-summary-strip .session-summary-card h3{margin:0;color:#75839e;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.session-billing-summary-strip .session-summary-card p{font-size:1.18rem}.billing-handoff-page{gap:1rem}.billing-handoff-reference-page{padding-top:.6rem}.billing-handoff-reference-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.1rem}.billing-handoff-reference-header h1{margin:.18rem 0 .34rem;color:#15233d;font-size:clamp(1.42rem,2.2vw,1.9rem);line-height:1.08;letter-spacing:-.035em}.billing-handoff-reference-header p:not(.page-eyebrow){margin:0;color:#65738f;font-size:.9rem;font-weight:600}.billing-handoff-refresh{min-width:104px}.billing-handoff-reference-layout{display:grid;grid-template-columns:minmax(500px,.47fr) minmax(560px,.53fr);gap:.9rem;align-items:stretch}.billing-handoff-reference-card{border:1px solid #e7ecf6;border-radius:22px;background:#fffffffa;box-shadow:0 18px 42px #1e2d4a0f;padding:1rem;display:grid;align-content:start;gap:.95rem;min-height:560px}.billing-handoff-reference-card-head,.billing-handoff-reference-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.billing-handoff-reference-card-head h2,.billing-handoff-reference-detail-head h2,.billing-handoff-reference-procedures h3{margin:0;color:#202f49;font-size:1.02rem;letter-spacing:-.015em}.billing-handoff-reference-card-head p{margin:.32rem 0 0;color:#66758f;font-size:.78rem;font-weight:600}.billing-handoff-reference-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:.68rem;align-items:center}.billing-handoff-search-field{min-height:42px;border:1px solid #e5ebf4;border-radius:9px;background:#fff;display:flex;align-items:center;gap:.48rem;padding:0 .72rem;color:#77849c}.billing-handoff-search-field input{width:100%;border:0;outline:0;background:transparent;color:#273650;font:inherit;font-size:.82rem;font-weight:650}.billing-handoff-reference-table-shell,.billing-handoff-procedure-table-shell{overflow-x:auto}.billing-handoff-reference-table,.billing-handoff-procedure-table{width:100%;border-collapse:separate;border-spacing:0}.billing-handoff-reference-table{table-layout:fixed}.billing-handoff-reference-table th:nth-child(1),.billing-handoff-reference-table td:nth-child(1){width:32%}.billing-handoff-reference-table th:nth-child(2),.billing-handoff-reference-table td:nth-child(2){width:14%}.billing-handoff-reference-table th:nth-child(3),.billing-handoff-reference-table td:nth-child(3){width:16%}.billing-handoff-reference-table th:nth-child(4),.billing-handoff-reference-table td:nth-child(4){width:8%;text-align:center}.billing-handoff-reference-table th:nth-child(5),.billing-handoff-reference-table td:nth-child(5){width:15%}.billing-handoff-reference-table th:nth-child(6),.billing-handoff-reference-table td:nth-child(6){width:15%}.billing-handoff-reference-table thead th,.billing-handoff-procedure-table thead th{color:#7d89a1;font-size:.63rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;padding:.82rem .7rem;border-bottom:1px solid #edf1f7;text-align:left;white-space:nowrap}.billing-handoff-reference-table tbody tr{cursor:pointer;transition:background .18s ease,box-shadow .18s ease}.billing-handoff-reference-table tbody tr.is-active{background:#fbfaff;box-shadow:inset 0 0 0 1.5px #806df6}.billing-handoff-reference-table tbody tr:hover{background:#fcfdff}.billing-handoff-reference-table tbody td,.billing-handoff-procedure-table tbody td{border-bottom:1px solid #edf1f7;padding:.88rem .7rem;color:#273650;font-size:.74rem;font-weight:700;vertical-align:middle;white-space:nowrap}.billing-handoff-reference-table tbody tr.is-active td:first-child{border-top-left-radius:15px;border-bottom-left-radius:15px}.billing-handoff-reference-table tbody tr.is-active td:last-child{border-top-right-radius:15px;border-bottom-right-radius:15px}.billing-handoff-reference-table strong,.billing-handoff-procedure-table strong{display:block;color:#21314e;font-size:.7rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-handoff-reference-table small,.billing-handoff-procedure-table small,.billing-handoff-reference-patient small,.billing-handoff-reference-meta-grid small,.billing-handoff-mc-card small,.billing-handoff-reference-notes span{display:block;color:#7a879d;font-size:.64rem;font-weight:650;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-handoff-patient-cell{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.5rem;min-width:0}.billing-handoff-radio{width:13px;height:13px;border:1.5px solid #bfc8d8;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #fff}tr.is-active .billing-handoff-radio{background:#6c54ef;border-color:#6c54ef}.billing-handoff-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ece9ff,#dff5ff);color:#5744d8;display:inline-flex;align-items:center;justify-content:center;font-weight:850;letter-spacing:.02em;flex-shrink:0}.billing-handoff-avatar--large{width:52px;height:52px;font-size:1.15rem}.billing-handoff-status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f0eaff;color:#715ae9;padding:.28rem .55rem;font-size:.62rem;font-weight:850;white-space:nowrap}.billing-handoff-reference-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#738098;font-size:.74rem;font-weight:700;margin-top:auto;padding-top:.5rem}.billing-handoff-reference-footer div{display:flex;align-items:center;gap:.45rem}.billing-handoff-reference-footer button,.billing-handoff-reference-footer strong{width:30px;height:30px;border:1px solid #e5ebf4;border-radius:8px;background:#fff;color:#6d7891;display:inline-flex;align-items:center;justify-content:center}.billing-handoff-reference-footer strong{background:#f3efff;color:#6e58ea}.billing-handoff-reference-detail-card{gap:1rem}.billing-handoff-reference-detail-head h2{display:flex;align-items:center;gap:.55rem}.billing-handoff-reference-patient{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.15rem 0 .9rem;border-bottom:1px solid #edf1f7}.billing-handoff-reference-patient strong{color:#21314e;font-size:.88rem}.billing-handoff-reference-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #edf1f7;border-radius:16px;overflow:hidden}.billing-handoff-reference-meta-grid div{min-height:76px;padding:.82rem;display:grid;align-content:center;gap:.22rem;border-right:1px solid #edf1f7}.billing-handoff-reference-meta-grid div:last-child{border-right:0}.billing-handoff-reference-meta-grid span,.billing-handoff-mc-card span{color:#7d89a1;font-size:.63rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.billing-handoff-reference-meta-grid strong,.billing-handoff-mc-card strong{color:#21314e;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-handoff-mc-card{border:1px solid #e7ecf6;border-radius:16px;background:#fbfdff;padding:.82rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center}.billing-handoff-mc-card div{display:grid;gap:.24rem;min-width:0}.billing-handoff-reference-procedures{display:grid;gap:.55rem}.billing-handoff-procedure-table thead th:nth-child(2),.billing-handoff-procedure-table tbody td:nth-child(2),.billing-handoff-procedure-table thead th:nth-child(n+3),.billing-handoff-procedure-table tbody td:nth-child(n+3){text-align:right}.billing-handoff-procedure-table tbody td{padding-top:.7rem;padding-bottom:.7rem}.billing-handoff-reference-notes{border:1px solid #e7ecf6;border-radius:14px;background:#fbfdff;padding:.78rem;display:grid;gap:.25rem}.billing-handoff-reference-notes strong{color:#21314e;font-size:.78rem}.billing-handoff-reference-totals{display:grid;gap:.32rem;justify-items:end;border-top:1px solid #edf1f7;padding-top:.65rem}.billing-handoff-reference-totals div{min-width:210px;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#64728d;font-size:.78rem;font-weight:800}.billing-handoff-reference-totals div:last-child strong{color:#6652e8;font-size:1.28rem}.billing-handoff-reference-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:.72rem;margin-top:auto}.billing-handoff-reference-actions .secondary-btn,.billing-handoff-reference-actions .primary-btn{min-height:48px;display:grid;justify-items:center;align-content:center;gap:.08rem;line-height:1.12}.billing-handoff-reference-actions span{display:block;font-size:.62rem;font-weight:700;opacity:.82}.billing-handoff-empty-detail{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;color:#72809c}.billing-handoff-empty-detail h2{margin:.1rem 0;color:#1e2f49}.billing-handoff-empty-detail p{margin:0}@media(max-width:1280px){.billing-handoff-reference-layout{grid-template-columns:1fr}}@media(max-width:720px){.billing-handoff-reference-header,.billing-handoff-reference-footer,.billing-handoff-reference-patient{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.billing-handoff-reference-toolbar,.billing-handoff-reference-meta-grid,.billing-handoff-reference-actions,.billing-handoff-mc-card{grid-template-columns:1fr}.billing-handoff-reference-card{padding:.82rem}.billing-handoff-reference-meta-grid div{border-right:0;border-bottom:1px solid #edf1f7}.billing-handoff-reference-meta-grid div:last-child{border-bottom:0}}.billing-review-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#232a3e5c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem}.billing-review-modal{width:min(92vw,980px);max-height:min(94vh,900px);border-radius:24px;background:#fff;box-shadow:0 30px 90px #1a243e47;border:1px solid rgba(226,232,244,.92);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.billing-review-modal-head,.billing-review-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.12rem;border-bottom:1px solid #edf1f7}.billing-review-modal-footer{justify-content:flex-end;border-top:1px solid #edf1f7;border-bottom:0;background:#fbfdff}.billing-review-modal-head h2{margin:.12rem 0 0;color:#172641;font-size:1.18rem;letter-spacing:-.025em}.billing-review-modal-close,.billing-review-icon-btn{border:1px solid #dce6f3;background:#fff;color:#4b5f82;border-radius:.55rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:850;transition:border-color .12s ease,background .12s ease,color .12s ease}.billing-review-icon-btn.is-danger{color:#8b5f6a}.billing-review-modal-close{width:36px;height:36px;font-size:1.25rem}.billing-review-icon-btn{width:1.75rem;height:1.75rem;font-size:.9rem}.billing-review-icon-btn svg{width:.82rem;height:.82rem}.billing-review-row-actions{display:inline-flex;align-items:center;justify-content:center;gap:.32rem}.billing-review-add-btn{border:0;border-radius:10px;background:#6f5bed;color:#fff;min-height:34px;padding:0 .78rem;font-size:.72rem;font-weight:850;cursor:pointer;box-shadow:0 10px 22px #6f5bed38}.billing-review-add-btn:hover{background:#5f4be5}.billing-review-modal-close:hover:enabled,.billing-review-icon-btn:hover:enabled{border-color:#cad9f7;color:var(--primary-strong);background:#f4f8ff}.billing-review-icon-btn.is-danger:hover:enabled{border-color:#f1c8d0;background:#fff6f8;color:#c94f68}.billing-review-patient-strip{display:grid;grid-template-columns:auto minmax(180px,1fr) repeat(3,minmax(120px,auto));gap:.78rem;align-items:center;padding:.78rem 1.12rem;border-bottom:1px solid #edf1f7;background:#fcfdff}.billing-review-patient-strip>div{display:grid;gap:.18rem;min-width:0}.billing-review-patient-strip span,.billing-review-section-head p,.billing-review-payment-row span,.billing-review-mc-grid span{color:#7d89a1;font-size:.64rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.billing-review-patient-strip small{color:#7a879d;font-size:.7rem;font-weight:650}.billing-review-patient-strip strong{color:#22314e;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-review-modal-body{overflow:auto;padding:.82rem 1.12rem .9rem;display:grid;gap:.72rem}.billing-review-section{border:1px solid #e8eef7;border-radius:18px;background:#fff;padding:.72rem;display:grid;gap:.62rem}.billing-review-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.billing-review-section-head h3{margin:0;color:#202f49;font-size:.95rem;letter-spacing:-.01em}.billing-review-section-head p{margin:.25rem 0 0;letter-spacing:0;text-transform:none;font-size:.72rem;font-weight:650}.billing-review-table-shell{overflow-x:auto}.billing-review-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.billing-review-table th{color:#7d89a1;font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;padding:.6rem .5rem;border-bottom:1px solid #edf1f7;text-align:left;white-space:nowrap}.billing-review-table td{padding:.56rem .5rem;border-bottom:1px solid #edf1f7;color:#273650;font-size:.75rem;font-weight:750;vertical-align:middle}.billing-review-table tbody tr.is-editing{background:#fbfaff}.billing-review-treatment-cell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.58rem;align-items:center;min-width:0}.billing-review-treatment-cell>div{min-width:0}.billing-review-tooth-mark{width:28px;height:28px;border-radius:9px;background:#f0edff;color:#6b55ea;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;transform:rotate(180deg)}.billing-review-treatment-cell strong{display:block;color:#22314e;font-size:.78rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-review-treatment-cell small{display:block;color:#7a879d;font-size:.68rem;font-weight:650;line-height:1.25;margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-review-table th:nth-child(n+3),.billing-review-table td:nth-child(n+3){text-align:right}.billing-review-table th:last-child,.billing-review-table td:last-child{text-align:center}.billing-review-table input,.billing-review-payment-row input,.billing-review-payment-row select,.billing-review-mc-grid input,.billing-review-mc-grid textarea{width:100%;min-height:34px;border:1px solid #e1e8f4;border-radius:10px;background:#fbfdff;color:#253650;font:inherit;font-size:.75rem;font-weight:700;padding:.45rem .58rem;outline:none}.billing-review-table td:first-child{min-width:240px}.billing-review-table .billing-review-treatment-cell input+input{margin-top:.35rem;color:#6c7890}.billing-review-error{margin:0}.billing-review-mc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.68rem}.billing-review-mc-grid label,.billing-review-payment-row label{display:grid;gap:.28rem;min-width:0}.billing-review-mc-note{border:1px solid #e7ecf7;border-radius:12px;background:#fbfdff;color:#4f5d75;font-size:.78rem;font-weight:700;line-height:1.45;padding:.72rem}.billing-review-field-wide{grid-column:1 / -1}.billing-review-payment-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.28fr);gap:.85rem;align-items:start}.billing-review-payment-rows{display:grid;gap:.58rem}.billing-review-payment-row{display:grid;grid-template-columns:minmax(105px,.24fr) minmax(160px,.3fr) minmax(180px,1fr) auto;gap:.58rem;align-items:end}.billing-review-summary-box{border:1px solid #e6ecf6;border-radius:16px;background:#fbfdff;padding:.75rem;display:grid;gap:.45rem}.billing-review-summary-box div{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#66738e;font-size:.76rem;font-weight:800}.billing-review-summary-box div:last-child{border-top:1px solid #e7edf7;padding-top:.48rem}.billing-review-summary-box strong{color:#5f4be5}@media(max-width:920px){.billing-review-modal-backdrop{padding:.75rem;align-items:flex-start}.billing-review-modal{max-height:calc(100vh - 1.5rem)}.billing-review-patient-strip,.billing-review-payment-layout,.billing-review-payment-row,.billing-review-mc-grid{grid-template-columns:1fr}}.billing-queue-checkout-page{gap:1rem}.billing-queue-checkout-actions,.billing-queue-mobile-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.billing-queue-checkout-shell.session-billing-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.34fr);gap:1rem;align-items:start}.billing-queue-checkout-table .session-table{min-width:980px}.billing-queue-checkout-table input,.billing-queue-payment-panel input,.billing-queue-payment-panel select{width:100%;min-height:38px;border:1px solid #dce5f3;border-radius:.55rem;background:#fff;color:#263852;font:inherit;font-size:.84rem;padding:0 .7rem}.billing-queue-checkout-table input:focus,.billing-queue-payment-panel input:focus,.billing-queue-payment-panel select:focus{outline:none;border-color:#6e5cf7;box-shadow:0 0 0 3px #6957f51f}.billing-queue-payment-panel{position:sticky;top:1rem;gap:.85rem}.billing-queue-receipt-page{gap:1rem}.billing-queue-receipt-shell.session-billing-layout{grid-template-columns:minmax(520px,.72fr) minmax(300px,.28fr);gap:1rem;align-items:start}.billing-queue-receipt-card{overflow:visible}.billing-queue-receipt-card .official-receipt{margin:0 auto}.billing-queue-receipt-side-panel{position:sticky;top:1rem;gap:.85rem}.billing-queue-receipt-actions-stack{display:grid;gap:.7rem;justify-content:stretch;align-items:stretch}.billing-queue-receipt-actions-stack .secondary-btn,.billing-queue-receipt-actions-stack .primary-btn{width:100%}.billing-queue-receipt-modal.modal-card.is-lg{width:min(92vw,980px);max-height:94vh}.billing-queue-receipt-modal-body{min-height:0;overflow:hidden;padding-top:.75rem}.billing-queue-receipt-success{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.9rem;padding:.72rem .86rem;border:1px solid #bfe7cf;border-radius:.9rem;background:#edf9f1;color:#16824c;font-weight:800}.billing-queue-receipt-success svg{width:1rem;height:1rem}.billing-queue-receipt-modal-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,280px);gap:1rem;min-height:0;max-height:calc(94vh - 9rem)}.billing-queue-receipt-preview-pane{min-width:0;overflow:auto;padding:1rem;border:1px solid #e2eaf5;border-radius:1.05rem;background:#f7f9fd}.billing-queue-receipt-preview-pane .official-receipt{margin:0 auto}.billing-queue-receipt-action-pane{align-self:start;display:grid;gap:.95rem;padding:1rem;border:1px solid #e2eaf5;border-radius:1.05rem;background:#fff}.billing-queue-receipt-action-copy{display:grid;gap:.25rem}.billing-queue-receipt-action-copy h2,.billing-queue-receipt-action-copy p{margin:0}.billing-queue-receipt-action-copy h2{color:#233452;font-size:1.05rem}.billing-queue-receipt-action-copy p:not(.page-eyebrow){color:#64728d;font-size:.86rem;line-height:1.45}.receipt-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.65rem}.receipt-action-btn svg{width:1rem;height:1rem}.receipt-action-btn.is-subtle{color:#5d6c87}.billing-queue-mobile-actions{display:none}@media(max-width:1180px){.billing-queue-checkout-shell.session-billing-layout,.billing-queue-receipt-shell.session-billing-layout,.billing-queue-receipt-modal-layout{grid-template-columns:1fr}.billing-queue-payment-panel,.billing-queue-receipt-side-panel{position:static}}@media(max-width:720px){.billing-queue-checkout-actions{display:none}.billing-queue-mobile-actions{display:flex}}@media(max-width:1360px){.session-clinical-layout{grid-template-columns:1fr}.session-context-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.session-stepper{padding-bottom:.5rem}.session-context-rail,.session-billing-summary-strip{grid-template-columns:1fr}}.whatsapp-queue-drawer .appointment-detail-drawer-body,.whatsapp-composer-drawer .appointment-detail-drawer-body{gap:14px}.whatsapp-queue-section{display:flex;flex-direction:column;gap:10px}.whatsapp-queue-controls{padding:12px 14px;border:1px solid rgba(205,218,242,.9);border-radius:16px;background:#fff;display:grid;gap:12px}.whatsapp-queue-primary-grid,.whatsapp-queue-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.whatsapp-queue-primary-grid label,.whatsapp-queue-control-grid label{display:grid;gap:5px}.whatsapp-queue-primary-grid label span,.whatsapp-queue-control-grid label span{font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#7b89a8}.whatsapp-queue-helper{display:grid;gap:4px;margin-bottom:10px}.whatsapp-queue-helper strong{font-size:11px;font-weight:600;color:#243457}.whatsapp-queue-helper p{margin:0;font-size:10px;line-height:1.45;color:#6b7a99}.whatsapp-queue-helper span{color:#4e3ee7;font-weight:600}.whatsapp-queue-controls-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.whatsapp-queue-advanced-panel{display:grid;gap:10px;padding:12px;border-radius:14px;background:#f8fbff;border:1px solid rgba(205,218,242,.82)}.whatsapp-queue-advanced-copy{display:grid;gap:3px}.whatsapp-queue-advanced-copy strong{font-size:11px;font-weight:600;color:#243457}.whatsapp-queue-advanced-copy p{margin:0;font-size:10px;line-height:1.4;color:#6b7a99}.whatsapp-queue-primary-grid select,.whatsapp-queue-control-grid select,.whatsapp-queue-primary-grid input,.whatsapp-queue-control-grid input{min-height:34px;border:1px solid rgba(205,218,242,.95);border-radius:12px;padding:.45rem .65rem;font:inherit;font-size:12px;line-height:1.4;color:#243457;background:#fff}.whatsapp-queue-drawer .appointment-detail-head-title{font-size:15px;line-height:1.15}.whatsapp-queue-drawer .appointment-detail-drawer-subtitle{font-size:10px;line-height:1.35}.whatsapp-queue-results-panel{padding:14px;border:1px solid rgba(205,218,242,.9);border-radius:16px;background:#fff}.whatsapp-queue-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.whatsapp-queue-section-copy{display:grid;gap:2px}.whatsapp-queue-section-head h3{margin:0;font-size:12px;font-weight:600;color:#243457}.whatsapp-queue-section-copy p{margin:0;font-size:10px;line-height:1.4;color:#6b7a99}.whatsapp-queue-section-head span{font-size:11px;font-weight:600;color:#6b7a99}.whatsapp-queue-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.whatsapp-queue-summary-card{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid rgba(205,218,242,.84);background:#f8fbff}.whatsapp-queue-summary-card span{font-size:10px;color:#7b89a8;font-weight:600}.whatsapp-queue-summary-card strong{font-size:14px;line-height:1;color:#243457}.whatsapp-queue-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#f8fbff;border:1px solid rgba(205,218,242,.82)}.whatsapp-queue-results-copy{display:grid;gap:3px}.whatsapp-queue-results-copy strong{font-size:11px;font-weight:600;color:#243457}.whatsapp-queue-results-copy p{margin:0;font-size:10px;line-height:1.4;color:#6b7a99}.whatsapp-queue-results-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.whatsapp-queue-empty{margin:0;font-size:11px;color:#6b7a99}.whatsapp-queue-list{display:flex;flex-direction:column;gap:10px}.whatsapp-queue-row{display:grid;gap:8px;padding:12px 14px;border:1px solid rgba(205,218,242,.9);border-radius:16px;background:#fff}.whatsapp-queue-row.is-selected{border-color:#4e3ee78c;box-shadow:inset 0 0 0 1px #4e3ee72e;background:#fcfbff}.whatsapp-queue-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.whatsapp-queue-row-main{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1 1 auto}.whatsapp-queue-select-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px}.whatsapp-queue-select-toggle input{position:absolute;opacity:0;pointer-events:none}.whatsapp-queue-select-toggle span{width:16px;height:16px;border-radius:5px;border:1px solid rgba(182,194,218,.95);background:#fff;box-shadow:inset 0 1px #ffffffe6}.whatsapp-queue-select-toggle input:checked+span{border-color:#4e3ee7b8;background:linear-gradient(145deg,#5a49f4,#4b39ef);box-shadow:inset 0 0 0 3px #fff}.whatsapp-queue-select-toggle input:disabled+span{background:#f3f6fb;border-color:#cddaf2f2;opacity:.7}.whatsapp-queue-copy{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:3px}.whatsapp-queue-copy strong{font-size:12px;font-weight:500;color:#243457}.whatsapp-queue-copy span,.whatsapp-queue-copy small{font-size:10px;line-height:1.35;color:#6b7a99}.whatsapp-queue-copy p{margin:4px 0 0;font-size:12px;line-height:1.45;color:#425174}.whatsapp-queue-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.whatsapp-queue-actions .secondary-btn.is-compact{min-height:34px;padding:.42rem .78rem;font-size:11px}.whatsapp-queue-badges{display:flex;flex-wrap:wrap;gap:6px}.whatsapp-queue-state-badge,.whatsapp-queue-type-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:.2rem .55rem;font-size:10px;font-weight:600}.whatsapp-queue-state-badge.is-ready{background:#49c28c21;color:#1f7c57}.whatsapp-queue-state-badge.is-sent{background:#624cef1f;color:#4e3ee7}.whatsapp-queue-state-badge.is-cooldown{background:#f4ad4e24;color:#a26409}.whatsapp-queue-state-badge.is-missing,.whatsapp-queue-state-badge.is-failed{background:#e553531f;color:#b13939}.whatsapp-queue-state-badge.is-review{background:#4251741a;color:#425174}.whatsapp-queue-type-badge{background:#cddaf261;color:#4f5f7f}.whatsapp-queue-meta{display:grid;gap:2px}.whatsapp-queue-meta span,.whatsapp-queue-meta small{text-align:left}.whatsapp-queue-meta span{font-size:11px;line-height:1.4;color:#425174}.whatsapp-queue-meta small,.whatsapp-queue-eligibility{font-size:10px;line-height:1.35;color:#6b7a99}.whatsapp-queue-preview{margin:0;font-size:11px;line-height:1.5;color:#425174;text-align:left}.whatsapp-queue-last-sent{font-size:10px;line-height:1.35;color:#7b89a8}.whatsapp-queue-resend-block{display:grid;gap:8px}.whatsapp-queue-resend-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#624cef0f}.whatsapp-queue-resend-actions span{font-size:10px;line-height:1.4;color:#5f6f90}.whatsapp-queue-resend-actions>div{display:flex;gap:8px}.whatsapp-composer-toolbar{display:flex;align-items:center;justify-content:flex-start}.whatsapp-composer-body{gap:14px}.whatsapp-composer-drawer .appointment-detail-head-title{font-size:15px;line-height:1.18}.whatsapp-composer-drawer .appointment-detail-drawer-subtitle{font-size:10px;line-height:1.35}.whatsapp-composer-drawer .appointment-detail-section-head h3{font-size:12px}.whatsapp-composer-drawer .appointment-detail-summary-row{padding:.3rem 0}.whatsapp-composer-drawer .appointment-detail-summary-row span{font-size:11px}.whatsapp-composer-drawer .appointment-detail-summary-row strong{font-size:12px;line-height:1.4;font-weight:500}.whatsapp-composer-drawer .link-btn{font-size:12px}.whatsapp-composer-mode-group{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.whatsapp-composer-mode-pill{border:1px solid rgba(205,218,242,.95);border-radius:999px;background:#fff;padding:7px 13px;font-family:inherit;font-size:12px;font-weight:600;line-height:1;color:#425174;cursor:pointer}.whatsapp-composer-mode-pill.is-active{border-color:#624cef42;background:#624cef1a;color:#4e3ee7}.whatsapp-composer-textarea{width:100%;min-height:260px;border:1px solid rgba(205,218,242,.95);border-radius:18px;padding:12px 14px;resize:vertical;font-size:12px;line-height:1.5;font-family:inherit;color:#243457;background:#fff}.whatsapp-composer-textarea:focus{outline:none;border-color:#624cef59;box-shadow:0 0 0 4px #624cef14}.whatsapp-composer-note{margin:10px 0 0;font-size:11px;color:#6b7a99}.whatsapp-composer-resend-banner{display:grid;gap:4px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#624cef0f}.whatsapp-composer-resend-banner strong{font-size:11px;font-weight:600;color:#425174}.whatsapp-composer-resend-banner span{font-size:10px;line-height:1.45;color:#6b7a99}.whatsapp-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.whatsapp-composer-meta{font-size:11px;color:#6b7a99}.whatsapp-composer-footer .primary-btn{min-height:36px;font-size:12px;padding:.5rem .9rem}.communication-workspace-page{display:grid;gap:.85rem}.communication-date-controls{display:grid;gap:.7rem}.communication-date-filter-bar{grid-template-columns:minmax(220px,320px)}.communication-date-filter-bar .filter-field label{font-size:11px}.communication-date-filter-bar .filter-field input,.communication-date-filter-bar .filter-field select{min-height:42px;font-size:13px}.communication-date-sheet{padding:.9rem 1rem}.communication-date-sheet .sales-record-day-header{min-height:0}.communication-date-sheet .sales-record-day-header strong{font-size:17px}.communication-page-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:nowrap}.communication-automation-toggle{display:inline-flex;align-items:center;gap:.5rem;height:2.25rem;padding:0 .1rem 0 .25rem;border:0;background:transparent;color:#36435d;font:inherit;font-size:.78rem;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap}.communication-automation-toggle:disabled{cursor:not-allowed;opacity:.58}.communication-automation-toggle:focus-visible{outline:3px solid rgba(75,57,239,.22);outline-offset:4px;border-radius:999px}.communication-automation-label{transform:translateY(.01rem)}.communication-automation-switch{position:relative;width:2.65rem;height:1.5rem;border-radius:999px;background:#dfe3ee;box-shadow:inset 0 0 0 1px #15133a0f;transition:background .16s ease,box-shadow .16s ease}.communication-automation-knob{position:absolute;top:.2rem;left:.2rem;width:1.1rem;height:1.1rem;border-radius:999px;background:#fff;box-shadow:0 .18rem .45rem #15133a38;transition:transform .16s ease}.communication-automation-toggle.is-enabled .communication-automation-switch{background:#14b8a6;box-shadow:inset 0 0 0 1px #15133a0a,0 .45rem 1rem #14b8a63d}.communication-automation-toggle.is-enabled .communication-automation-knob{transform:translate(1.15rem)}@media(prefers-reduced-motion:reduce){.communication-automation-switch,.communication-automation-knob{transition:none}}.communication-status-chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #dce6f3;border-radius:999px;background:#fff;color:#53627d;padding:.5rem .84rem;font-size:.76rem;font-weight:700}.communication-status-chip span{width:.55rem;height:.55rem;border-radius:999px;background:#f0ad4e}.communication-status-chip.is-connected span{background:#20b26b}.communication-whatsapp-button{display:inline-flex;align-items:center;gap:.45rem}.communication-whatsapp-connection-dot{width:.55rem;height:.55rem;border-radius:999px;background:#f0ad4e;box-shadow:0 0 0 3px #f0ad4e24;flex:0 0 auto}.communication-whatsapp-connection-dot.is-connected{background:#20b26b;box-shadow:0 0 0 3px #20b26b24}.communication-status-banner{display:flex;align-items:center;justify-content:space-between;gap:.9rem;border:1px solid #eadfb5;border-radius:1rem;background:#fff9ea;padding:.8rem .9rem}.communication-status-banner strong,.communication-status-banner p{margin:0}.communication-status-banner strong{color:#36435d;font-size:.86rem}.communication-status-banner p{color:#6f7d95;font-size:.76rem;line-height:1.55;margin-top:.2rem}.communication-filters-card,.communication-panel{border:1px solid #e3ebf6;border-radius:1.1rem;background:#fbfdff;padding:.9rem}.communication-workspace-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(320px,.9fr);gap:1rem;align-items:start}.communication-workspace-grid.is-compact{grid-template-columns:minmax(0,900px) minmax(320px,400px);gap:.85rem;justify-content:space-between}.communication-panel-head{display:flex;align-items:start;justify-content:space-between;gap:.8rem;margin-bottom:.75rem}.communication-panel-head h2{margin:0;color:#243451;font-size:1.12rem}.communication-panel-head p{margin:.22rem 0 0;color:#71809a;font-size:.74rem;line-height:1.55}.communication-selection-actions,.communication-row-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.communication-table-shell{overflow:hidden}.communication-panel.is-appointment-list{max-width:900px}.communication-table.is-appointment-style th{font-size:12px;padding-top:11px;padding-bottom:11px}.communication-table.is-appointment-style td{font-size:13px;padding-top:10px;padding-bottom:10px}.communication-table td:first-child,.communication-table th:first-child{width:40px}.communication-table tbody tr.is-selected{background:#f4f0ff}.communication-patient-cell,.communication-sent-cell,.communication-status-stack{display:grid;gap:.16rem}.communication-patient-cell strong,.communication-sent-cell strong{color:#243451;font-size:.82rem}.communication-patient-cell span,.communication-patient-cell small,.communication-sent-cell span,.communication-sent-cell small,.communication-status-stack small,.communication-empty-copy{color:#71809a;font-size:.72rem;line-height:1.5}.communication-time-cell{display:grid;gap:.08rem;min-width:84px}.communication-time-cell span{font-size:13px;line-height:1.35}.communication-treatment-cell{color:#41516f;line-height:1.45;max-width:210px}.communication-manual-action-group{display:flex;flex-wrap:wrap;gap:.35rem;min-width:220px}.communication-manual-action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:.28rem .52rem;border-radius:999px;border:1px solid #d7deeb;background:#fff;color:#39445a;font:inherit;font-size:11px;font-weight:700;line-height:1;cursor:pointer}.communication-manual-action-btn:hover:enabled{transform:translateY(-1px)}.communication-manual-action-btn:disabled{cursor:not-allowed;opacity:.55}.communication-manual-action-btn.is-reminder{border-color:#d8d3ff;background:#f2f0ff;color:#4c3ce8}.communication-manual-action-btn.is-follow-up{border-color:#f7dfb0;background:#fff8e7;color:#9a6a04}.communication-manual-action-btn.is-review{border-color:#bdebcf;background:#ecfff3;color:#1f9b5c}.communication-manual-wa-notice{border:1px solid #bdebcf;border-left:4px solid #24a35f;background:#ecfff3;color:#1f7a4f;border-radius:14px;padding:.65rem .85rem;margin-bottom:.85rem;font-size:.82rem;font-weight:700}.communication-came-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:.2rem .48rem;border-radius:999px;background:#fff1c7;color:#9a6a04;font-size:11px;font-weight:700}.communication-came-badge.is-yes{background:#eaf9ef;color:#208551}.whatsconnect-appointment-reference-page{padding:1.25rem;background:#fff;border-color:#e5edf7;box-shadow:0 24px 60px #36435d14}.whatsconnect-appointment-shell{display:grid;gap:1rem;min-height:calc(100vh - 9rem)}.whatsconnect-appointment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.whatsconnect-appointment-header h1,.whatsconnect-appointment-header p{margin:0}.whatsconnect-appointment-header h1{color:#1f2b44;font-size:clamp(1.45rem,2.3vw,1.95rem);line-height:1.08;letter-spacing:-.035em}.whatsconnect-appointment-header p{color:#6e7a91;font-size:.92rem;line-height:1.45;margin-top:.22rem}.whatsconnect-appointment-eyebrow{display:block;color:#00786f;font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.28rem}.whatsconnect-connection-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;border:1px solid #dce8f3;border-radius:999px;background:#f8fbff;color:#6c7890;font:inherit;font-size:.78rem;font-weight:800;padding:.42rem .82rem;white-space:nowrap;cursor:pointer}.whatsconnect-connection-pill.is-connected{border-color:#d9f1e9;background:#effbf7;color:#087456}.whatsconnect-appointment-toolbar{display:grid;grid-template-columns:minmax(170px,220px) minmax(230px,280px) auto auto;align-items:end;gap:.7rem;border:1px solid #e5edf7;border-radius:1.15rem;background:#fff;padding:.9rem}.whatsconnect-appointment-toolbar .page-filter-group{min-width:0}.whatsconnect-appointment-toolbar .page-filter-group input,.whatsconnect-appointment-toolbar .page-filter-group select,.whatsconnect-quick-options-row select{min-height:42px;border:1px solid #dce6f3;border-radius:.78rem;background:#fff;color:#243047;font-size:.84rem;font-weight:750;padding:.52rem .7rem}.whatsconnect-appointment-day-controls{display:flex;gap:.42rem;align-items:center}.whatsconnect-appointment-day-controls .secondary-btn{width:2.45rem;padding-inline:0;font-size:1.12rem}.whatsconnect-appointment-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr);gap:1rem;align-items:start}.whatsconnect-appointment-list-card,.whatsconnect-appointment-quick-card{border:1px solid #e5edf7;border-radius:1.15rem;background:#fff;box-shadow:0 18px 36px #26344f0f;padding:.95rem;min-width:0}.whatsconnect-appointment-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;margin-bottom:.75rem}.whatsconnect-appointment-card-head h2,.whatsconnect-appointment-card-head p,.whatsconnect-quick-action-card h3,.whatsconnect-quick-action-card p{margin:0}.whatsconnect-appointment-card-head h2{color:#25324b;font-size:1.02rem;line-height:1.2;letter-spacing:-.015em}.whatsconnect-appointment-card-head p,.whatsconnect-quick-action-card p{color:#76829a;font-size:.76rem;line-height:1.45;margin-top:.18rem}.whatsconnect-appointment-card-head.is-quick{margin-bottom:.7rem}.whatsconnect-appointment-list-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.whatsconnect-appointment-table-shell{border-radius:.95rem;border:1px solid #edf2f8}.whatsconnect-appointment-table th{background:#fff;color:#75839b;font-size:.71rem!important;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.whatsconnect-appointment-table td{color:#34425c;vertical-align:middle}.whatsconnect-appointment-table tbody tr.is-selected{background:#f7f4ff}.whatsconnect-appointment-table .communication-time-cell.is-single{min-width:58px}.whatsconnect-appointment-table .communication-time-cell.is-single span{color:#26344d;font-weight:700}.whatsconnect-appointment-checkbox{width:1rem;height:1rem;accent-color:#4d36e9;cursor:pointer}.whatsconnect-appointment-checkbox:disabled{cursor:not-allowed;opacity:.45}.communication-wa-badge{display:inline-flex;align-items:center;justify-content:center;min-width:52px;border-radius:999px;background:#f4f6fb;color:#7b879d;font-size:.7rem;font-weight:850;padding:.22rem .5rem}.communication-wa-badge.is-ready{background:#e9fbf4;color:#0f766e}.whatsconnect-quick-action-stack{display:grid;gap:.75rem}.whatsconnect-quick-action-card{display:grid;gap:.65rem;border:1px solid #e7edf6;border-radius:1rem;background:#fff;padding:.85rem;box-shadow:0 12px 24px #26344f0b}.whatsconnect-quick-action-card h3{color:#25324b;font-size:.94rem;line-height:1.25;letter-spacing:-.01em}.whatsconnect-quick-select-btn,.whatsconnect-quick-send-btn{width:100%}.whatsconnect-quick-options-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center}.whatsconnect-ai-checkbox{display:inline-flex;align-items:center;gap:.35rem;color:#596782;font-size:.78rem;font-weight:800;white-space:nowrap}.whatsconnect-ai-checkbox input{width:.95rem;height:.95rem;accent-color:#4d36e9}.whatsconnect-appointment-reference-page .primary-btn.is-compact,.whatsconnect-appointment-reference-page .secondary-btn.is-compact{min-height:34px;padding-top:.42rem;padding-bottom:.42rem}.whatsconnect-quick-action-card{gap:.48rem;padding:.72rem}.whatsconnect-quick-options-row select{min-height:36px;padding-top:.42rem;padding-bottom:.42rem}.whatsconnect-quick-action-stack{gap:.62rem}.whatsconnect-appointment-list-card,.whatsconnect-appointment-quick-card{padding:.85rem}.whatsconnect-appointment-quick-card{padding:.72rem}.whatsconnect-appointment-card-head.is-quick{margin-bottom:.5rem}.whatsconnect-quick-action-stack{gap:.48rem}.whatsconnect-quick-action-card{gap:.36rem;padding:.56rem .64rem;border-radius:.85rem}.whatsconnect-quick-action-card h3{font-size:.86rem}.whatsconnect-quick-action-card p{font-size:.7rem;line-height:1.35}.whatsconnect-quick-select-btn,.whatsconnect-quick-send-btn,.whatsconnect-appointment-reference-page .whatsconnect-quick-action-card .primary-btn.is-compact,.whatsconnect-appointment-reference-page .whatsconnect-quick-action-card .secondary-btn.is-compact{min-height:30px;padding-top:.32rem;padding-bottom:.32rem}.whatsconnect-quick-options-row select{min-height:32px;font-size:.78rem;padding-top:.3rem;padding-bottom:.3rem}.whatsconnect-ai-checkbox{font-size:.72rem}@media(max-width:1180px){.whatsconnect-appointment-main-grid{grid-template-columns:1fr}.whatsconnect-appointment-quick-card{max-width:none}}@media(max-width:820px){.whatsconnect-appointment-header,.whatsconnect-appointment-card-head{display:grid}.whatsconnect-appointment-toolbar{grid-template-columns:1fr}.whatsconnect-appointment-list-actions{justify-content:start}}.communication-actions-panel,.communication-action-card-list{display:grid;gap:.75rem}.communication-action-card{border:1px solid #e4ebf6;border-radius:1rem;background:#fff;padding:.8rem;display:grid;gap:.65rem}.communication-action-card.is-active{border-color:#5338e947;box-shadow:0 12px 24px #5338e914}.communication-action-card-head{display:flex;align-items:start;justify-content:flex-start;gap:.75rem}.communication-action-card-head h3{margin:0;color:#243451;font-size:.92rem}.communication-action-card-head p,.communication-action-card-footer small{margin:.22rem 0 0;color:#71809a;font-size:.72rem;line-height:1.55}.communication-action-card-head span,.communication-action-card-footer span{color:#4c3ce8;font-size:.72rem;font-weight:700}.communication-action-card-actions{display:grid;gap:.5rem}.communication-action-textarea{width:100%;min-height:112px;resize:vertical;border-radius:.9rem;border:1px solid #dbe5f2;background:#fff;color:#243451;padding:.65rem .75rem;font:inherit;font-size:12px;line-height:1.5}.communication-action-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.communication-inline-resend{display:flex;align-items:center;gap:.45rem;margin-top:.45rem}.communication-inline-resend span{color:#71809a;font-size:.76rem}.communication-action-note-input{width:100%;min-height:36px;border-radius:.8rem;border:1px solid #dbe5f2;background:#fff;color:#243451;padding:.55rem .75rem;font:inherit;font-size:13px}.communication-ai-toggle{display:inline-flex;align-items:center;gap:.45rem;color:#52627d;font-size:12px;font-weight:600}.communication-ai-toggle input{width:14px;height:14px}.communication-bottom-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:1rem;align-items:start}.communication-summary-grid{margin-top:.2rem}.communication-selected-preview{margin-top:.9rem;padding-top:.9rem;border-top:1px solid #e8eef8;display:grid;gap:.2rem}.communication-selected-preview strong{color:#243451;font-size:.86rem}.communication-selected-preview p{margin:0;color:#71809a;font-size:.82rem;line-height:1.55}.communication-activity-table td,.communication-activity-table th{vertical-align:top;font-size:11px}.communication-activity-preview{max-width:260px;color:#5d6d87;white-space:normal;line-height:1.5}.communication-sent-activity-drawer{width:min(760px,100%)}.whatsapp-composer-guidance-box{border:1px solid #e3ebf6;border-radius:.95rem;background:#f8fbff;padding:.75rem .8rem;display:grid;gap:.25rem}.whatsapp-composer-guidance-box strong{color:#31415e;font-size:11px;font-weight:700}.whatsapp-composer-guidance-box p{margin:0;color:#65748f;font-size:12px;line-height:1.5}@media(max-width:1100px){.whatsapp-queue-row-top,.whatsapp-queue-actions,.whatsapp-composer-footer,.whatsapp-queue-results-toolbar{width:100%;justify-content:flex-start}.whatsapp-queue-row-top{flex-direction:column}.whatsapp-queue-primary-grid,.whatsapp-queue-control-grid,.whatsapp-queue-summary-grid,.communication-workspace-grid,.communication-bottom-grid{grid-template-columns:1fr}.communication-status-banner,.communication-panel-head,.communication-action-card-head,.communication-action-card-footer,.whatsapp-queue-results-toolbar{flex-direction:column;align-items:flex-start}}.appointment-detail-communication-history{display:grid;gap:10px;margin-top:14px}.appointment-detail-communication-history>strong{font-size:11px;font-weight:600;color:#425174}.appointment-detail-communication-history-list{display:grid;gap:10px}.appointment-detail-communication-history-item{display:grid;gap:4px;padding-top:10px;border-top:1px solid rgba(223,230,243,.8)}.appointment-detail-communication-history-item span{font-size:10px;line-height:1.35;color:#7b89a8}.appointment-detail-communication-history-item p,.appointment-detail-communication-empty{margin:0;font-size:11px;line-height:1.45;color:#425174}select:not([multiple]){appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.65rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23556481' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.2rem center;background-size:.8rem}.modal-card.medical-certificate-modal{font-family:Manrope,Segoe UI,sans-serif;font-size:.82rem}.modal-card.medical-certificate-modal .modal-head h2{font-family:Poppins,Manrope,sans-serif;font-size:1.02rem;line-height:1.32}.modal-card.medical-certificate-modal .modal-head p,.modal-card.medical-certificate-modal .invoice-mc-preview-strip small{font-family:Manrope,Segoe UI,sans-serif;font-size:.76rem;line-height:1.45}.modal-card.medical-certificate-modal .field-label,.modal-card.medical-certificate-modal .page-filter-group label,.modal-card.medical-certificate-modal .invoice-mc-preview-strip span{font-family:Manrope,Segoe UI,sans-serif;font-size:.66rem}.modal-card.medical-certificate-modal .field-group input,.modal-card.medical-certificate-modal .field-group select,.modal-card.medical-certificate-modal .field-group textarea,.modal-card.medical-certificate-modal .page-filter-group input,.modal-card.medical-certificate-modal .page-filter-group select,.modal-card.medical-certificate-modal .page-filter-group textarea,.modal-card.medical-certificate-modal #mc-reason{color:#405174;font-family:Manrope,Segoe UI,sans-serif;font-size:.82rem;line-height:1.42}.modal-card.medical-certificate-modal .field-group textarea,.modal-card.medical-certificate-modal .page-filter-group textarea,.modal-card.medical-certificate-modal #mc-reason{min-height:78px}.modal-card.medical-certificate-modal .field-group textarea:focus,.modal-card.medical-certificate-modal .page-filter-group textarea:focus,.modal-card.medical-certificate-modal #mc-reason:focus{border-color:#6f63ff;box-shadow:0 0 0 3px #6f63ff1f;outline:none}.modal-card.medical-certificate-modal .invoice-mc-preview-strip strong{font-family:Manrope,Segoe UI,sans-serif;font-size:.84rem}.modal-card.medical-certificate-modal .primary-btn,.modal-card.medical-certificate-modal .secondary-btn{font-family:Manrope,Segoe UI,sans-serif;font-size:.76rem}.official-receipt{--receipt-text: #000000;width:min(100%,210mm);min-height:297mm;margin:0 auto;padding:18mm;background:#fff;color:var(--receipt-text);border-radius:0;box-shadow:0 18px 36px #0f172a1f;display:block;overflow:hidden;font-family:Arial,Helvetica,sans-serif;font-size:10pt;line-height:1.22}.receipt-preview-paper{padding:0;overflow:hidden;background:#fff;border-color:#dde5f2}.receipt-preview-modal-body{overflow:auto;padding:.3rem;background:#dcdcdc;border-radius:.9rem}.official-receipt-header{display:grid;grid-template-columns:52mm minmax(0,1fr);gap:10px;align-items:start;padding:0;margin:0 0 2mm;border:0}.official-receipt-logo-lockup img{display:block;width:52mm;max-height:30mm;object-fit:contain;object-position:left top}.official-receipt-clinic-details{max-width:none;padding-top:1mm}.official-receipt-clinic-details h1{margin:0 0 2mm;color:#000;font-size:14pt;font-weight:700;line-height:1.15;letter-spacing:0}.official-receipt-clinic-details p{margin:0;color:#000;font-size:10pt;line-height:1.28}.official-receipt-title-block{margin:0 0 5mm;padding:0;text-align:center}.official-receipt-title-block h2{margin:0;color:#000;font-size:18pt;font-weight:700;line-height:1.15;letter-spacing:0;text-transform:none}.official-receipt-rule{height:0;margin:0 0 5mm;border-top:2px solid #000000}.official-receipt-meta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:0 0 16mm;padding:0;background:transparent;border:0;border-radius:0;color:#000;font-size:10pt}.official-receipt-patient-block h3{margin:0;color:#000;font-size:11pt;font-weight:700;letter-spacing:0;text-transform:none}.official-receipt-patient-block strong{display:block;margin:0;color:#000;font-size:10pt;font-weight:400;line-height:1.25}.official-receipt-patient-block p,.official-receipt-detail-block p{margin:0;color:#000;font-size:10pt;font-weight:400;line-height:1.25}.official-receipt-patient-block .official-receipt-patient-name{display:block;margin:0;color:#000;font-size:10pt;font-weight:400;line-height:1.25}.official-receipt-detail-block{padding-left:0}.official-receipt-items-table{width:100%;margin:0 0 7mm;border-collapse:collapse;color:#000;font-size:9pt}.official-receipt-items-table th{padding:4px 10px;background:#e6e6e6;border:1px solid #000000;color:#000;font-size:10pt;font-weight:700;letter-spacing:0;line-height:1.2;text-transform:none}.official-receipt-items-table th:first-child{width:50%;border-radius:0;text-align:left}.official-receipt-items-table th:nth-child(2){width:12%}.official-receipt-items-table th:nth-child(3){width:18%}.official-receipt-items-table th:last-child{width:20%;border-radius:0}.official-receipt-items-table th:not(:first-child),.official-receipt-items-table td:not(:first-child){text-align:right}.official-receipt-items-table td{padding:5px 10px;border:1px solid #000000;color:#000;font-size:9pt;line-height:1.25;vertical-align:top}.official-receipt-items-table tr:last-child td{border-bottom:1px solid #000000}.official-receipt-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:20px;align-items:start;margin:0;padding:0;color:#000;font-size:10pt}.official-receipt-payment-section{padding-top:9mm}.official-receipt-payment-section h3{margin:0 0 3mm;padding:0;border:0;color:#000;font-size:11pt;font-weight:700;letter-spacing:0;text-transform:none}.official-receipt-payment-row{display:grid;grid-template-columns:1fr 35mm;gap:12px;max-width:78mm;padding:0;border:0;color:#000;font-size:10pt;line-height:1.3}.official-receipt-payment-row span,.official-receipt-payment-row strong{color:#000;font-size:10pt;font-weight:400}.official-receipt-payment-row strong{text-align:right}.official-receipt-totals-section table,.official-receipt-progress table{width:100%;border-collapse:collapse;color:#000}.official-receipt-totals-section td,.official-receipt-progress td{padding:0 0 3mm;color:#000;font-size:10pt;line-height:1.25;border:0}.official-receipt-totals-section td:last-child,.official-receipt-progress td:last-child{text-align:right;font-weight:400}.official-receipt-grand-total td,.official-receipt-grand-total td:last-child{color:#000!important;font-size:11pt;font-weight:700}.official-receipt-progress{max-width:78mm;margin-top:7mm;padding:0;background:transparent;border:0;border-radius:0}.official-receipt-progress h3{margin:0 0 3mm;color:#000;font-size:11pt;font-weight:700;letter-spacing:0;text-transform:none}.official-receipt.is-embedded{width:100%;min-height:0;padding:10mm;box-shadow:none;transform:none;font-size:8.5pt}.official-receipt.is-embedded .official-receipt-header{grid-template-columns:38% minmax(0,1fr);gap:8px;margin-bottom:1mm}.official-receipt.is-embedded .official-receipt-logo-lockup img{width:100%;max-height:24mm}.official-receipt.is-embedded .official-receipt-clinic-details h1{font-size:10.5pt}.official-receipt.is-embedded .official-receipt-clinic-details p,.official-receipt.is-embedded .official-receipt-patient-block strong,.official-receipt.is-embedded .official-receipt-patient-block p,.official-receipt.is-embedded .official-receipt-patient-block .official-receipt-patient-name,.official-receipt.is-embedded .official-receipt-detail-block p,.official-receipt.is-embedded .official-receipt-payment-row span,.official-receipt.is-embedded .official-receipt-payment-row strong,.official-receipt.is-embedded .official-receipt-totals-section td,.official-receipt.is-embedded .official-receipt-progress td{font-size:7.5pt}.official-receipt.is-embedded .official-receipt-title-block{margin-bottom:3mm}.official-receipt.is-embedded .official-receipt-title-block h2{font-size:13pt}.official-receipt.is-embedded .official-receipt-rule{margin-bottom:4mm}.official-receipt.is-embedded .official-receipt-meta-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:10mm;font-size:7.5pt}.official-receipt.is-embedded .official-receipt-patient-block{grid-column:1}.official-receipt.is-embedded .official-receipt-detail-block{grid-column:2;min-width:0}.official-receipt.is-embedded .official-receipt-patient-block h3,.official-receipt.is-embedded .official-receipt-payment-section h3,.official-receipt.is-embedded .official-receipt-progress h3{font-size:8.5pt}.official-receipt.is-embedded .official-receipt-items-table th{padding:3px 5px;font-size:7.5pt}.official-receipt.is-embedded .official-receipt-items-table td{padding:3px 5px;font-size:7pt}.official-receipt.is-embedded .official-receipt-bottom-grid{grid-template-columns:minmax(0,1fr) 42%;gap:12px}.official-receipt.is-embedded .official-receipt-payment-section{padding-top:6mm}@media print{@page{size:A4;margin:0}body{background:#fff!important}body *{visibility:hidden!important}.receipt-preview-modal .invoice-preview,.receipt-preview-modal .invoice-preview *{visibility:visible!important}.receipt-preview-modal .invoice-preview{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:24px!important;background:#fff!important;box-shadow:none!important;color:#111827!important}.receipt-preview-modal .invoice-preview.official-receipt{width:210mm!important;min-height:297mm!important;margin:0!important;padding:18mm!important;border-radius:0!important;box-shadow:none!important}.official-receipt-meta-grid{background:#fff!important;border-color:#94a3b8!important}.official-receipt-progress{background:#fff!important;border-color:#111827!important}.modal-footer,.modal-head{display:none!important}}.dentist-workspace-treatment-history-panel{display:flex;min-height:100%;flex-direction:column;background:linear-gradient(180deg,#f8fafffa,#fffffff5)}.dentist-workspace-treatment-history-list{display:grid;gap:.7rem;padding:.9rem;overflow-y:auto}.dentist-workspace-treatment-history-card{display:grid;gap:.35rem;width:100%;border:1px solid rgba(124,58,237,.14);border-radius:1rem;background:#fff;padding:.82rem;text-align:left;box-shadow:0 12px 28px #33415514;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.dentist-workspace-treatment-history-card:hover,.dentist-workspace-treatment-history-card.is-active{border-color:#6d28d973;box-shadow:0 16px 34px #4f46e529;transform:translateY(-1px)}.dentist-workspace-treatment-history-date{color:#4c1d95;font-size:.86rem;font-weight:800}.dentist-workspace-treatment-history-meta,.dentist-workspace-treatment-history-teeth{color:#64748b;font-size:.75rem;font-weight:700}.dentist-workspace-treatment-history-note{display:-webkit-box;color:#26334f;font-size:.82rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;white-space:pre-wrap}.dentist-workspace-treatment-history-note.is-empty{color:#94a3b8;font-style:italic}.oauth-result-page{min-height:100vh;display:grid;place-items:center;padding:.75rem;background:radial-gradient(circle at 14% 10%,rgba(84,237,214,.12),transparent 28rem),radial-gradient(circle at 86% 88%,rgba(80,58,220,.08),transparent 30rem),#f7f8fb}.oauth-result-window{width:min(100%,1180px);min-height:min(92vh,760px);display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid #e7e9f0;border-radius:.9rem;background:#fffffff5;box-shadow:0 22px 70px #1f294a14}.oauth-result-topbar{min-height:4.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #eceef4;background:#ffffffeb}.oauth-result-brand{display:inline-flex;align-items:center;height:2.2rem}.oauth-result-brand img{width:6.8rem;height:auto;display:block;object-fit:contain}.oauth-result-secure-note svg,.oauth-result-note svg,.oauth-result-copy svg,.oauth-result-detail-icon svg,.oauth-result-icon svg{width:1.25rem;height:1.25rem;display:block}.oauth-result-content{display:grid;justify-items:center;align-content:center;gap:1.25rem;padding:clamp(2.2rem,6vw,4.25rem) 1.25rem 2.25rem;text-align:center}.oauth-result-icon{position:relative;width:6.9rem;height:6.9rem;display:grid;place-items:center;margin-bottom:.45rem;border-radius:50%;background:radial-gradient(circle,#f8fffd 0,#f8fffd 44%,#dcfaf3c7 45%,#dcfaf3c7 72%,#dcfaf342 73%,#dcfaf342);color:#dc5947;box-shadow:0 18px 42px #2ab58924}.oauth-result-icon:before,.oauth-result-icon:after{content:"";position:absolute;width:.48rem;height:.48rem;border-radius:35% 65% 55% 45%;background:#bdeee4e0}.oauth-result-icon:before{left:-2.25rem;bottom:2.25rem}.oauth-result-icon:after{right:-2.1rem;top:2.05rem}.oauth-result-icon>svg{width:3.9rem;height:3.9rem;position:relative;z-index:1;filter:drop-shadow(0 10px 18px rgba(38,68,107,.08))}.oauth-result-icon>span{width:3.9rem;height:3.9rem;display:grid;place-items:center;border-radius:50%;background:#fff;color:#c95744;font-size:2rem;font-weight:900}.oauth-result-icon strong{position:absolute;right:.45rem;top:.1rem;z-index:2;width:2rem;height:2rem;display:grid;place-items:center;border:3px solid #fff;border-radius:999px;background:#31b77f;color:#fff;box-shadow:0 10px 22px #31b77f42}.oauth-result-icon strong svg{width:1.15rem;height:1.15rem}.oauth-result-icon.is-failed{background:radial-gradient(circle,#fff 0,#fff 44%,#ffe8e1e0 45%,#ffe8e1e0 72%,#ffe8e161 73%,#ffe8e161);color:#c95744;box-shadow:0 18px 42px #c957441f}.oauth-result-icon.is-failed strong{background:#dc5947}.oauth-result-window h1{margin:0;color:#182032;font-size:clamp(2rem,4vw,2.45rem);line-height:1.06;letter-spacing:-.04em}.oauth-result-message{max-width:37rem;margin:-.35rem 0 0;color:#4c5568;font-size:1rem;line-height:1.55}.oauth-result-details{width:min(100%,31.5rem);display:grid;margin:.6rem 0 0;padding:0;overflow:hidden;border:1px solid #e5e7ef;border-radius:.85rem;background:#fff;box-shadow:0 14px 36px #202a440a;text-align:left}.oauth-result-detail-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:5rem;padding:1rem 1.2rem}.oauth-result-detail-row+.oauth-result-detail-row{border-top:1px solid #edf0f5}.oauth-result-detail-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:999px;color:#5d4dde;background:#f3efff;box-shadow:inset 0 0 0 1px #e6e0ff}.oauth-result-detail-icon.is-status{color:#178d68;background:#e9f8f2;box-shadow:inset 0 0 0 1px #caefe0}.oauth-result-detail-copy{min-width:0;display:grid;gap:.35rem}.oauth-result-details dt{color:#626b7d;font-size:.84rem;font-weight:600}.oauth-result-details dd{min-width:0;margin:0;color:#111827;font-size:1rem;font-weight:600;overflow-wrap:anywhere}.oauth-result-copy{width:2.4rem;height:2.4rem;display:grid;place-items:center;border:0;border-radius:.65rem;background:transparent;color:#808899;cursor:pointer}.oauth-result-copy:hover{background:#f6f7fb;color:#4b39ef}.oauth-result-status{color:#13875f;font-size:1rem;font-weight:700}.oauth-result-status.is-failed{color:#b74735}.oauth-result-note{width:min(100%,31.5rem);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding:1rem 1.15rem;border:1px solid #e4e0ff;border-radius:.65rem;background:#f7f5ff;color:#4b39ef;text-align:left}.oauth-result-note p{margin:0;display:grid;gap:.35rem;color:#2b2a43;font-size:.95rem;line-height:1.45;font-weight:600}.oauth-result-note span{color:#2b2a43;font-weight:500}.oauth-result-note.is-failed{border-color:#f3d4cc;background:#fff6f3;color:#b74735}.oauth-result-warning{max-width:31.5rem;margin:0;color:#9a6400;font-size:.82rem;line-height:1.45}.oauth-result-action{min-width:12rem;min-height:3.1rem;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;margin-top:.25rem;padding-inline:1.65rem;border-radius:.55rem;background:linear-gradient(135deg,#6352ff,#4b39ef);box-shadow:0 14px 28px #4b39ef3d}.oauth-result-secure-note{display:inline-flex;align-items:center;gap:.5rem;margin:.4rem 0 0;color:#677184;font-size:.9rem;font-weight:500}.oauth-result-secure-note svg{color:#8791a2}@media(max-width:720px){.oauth-result-page{padding:0;place-items:stretch}.oauth-result-window{min-height:100vh;border-radius:0;border-inline:0}.oauth-result-topbar{padding-inline:1rem}.oauth-result-content{align-content:start;padding-top:3rem}.oauth-result-detail-row{grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;padding-inline:.9rem}.oauth-result-brand img{width:5.9rem}}@media(max-width:420px){.oauth-result-icon{width:6.1rem;height:6.1rem}.oauth-result-detail-icon{width:2.4rem;height:2.4rem}.oauth-result-details dd,.oauth-result-status{font-size:.92rem}}.settings-page{display:grid;gap:1rem}.settings-page-header{align-items:flex-start;gap:1rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-panel{min-width:0;display:grid;gap:1rem;align-content:start;padding:1rem;border:1px solid #e2e8f4;border-radius:1rem;background:#fff;box-shadow:0 12px 28px #1d2b490f}.settings-gmail-panel{grid-column:1 / -1}.settings-panel-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem}.settings-panel-head h2,.settings-panel-head p{margin:0}.settings-panel-head h2{color:#23324d;font-size:1rem}.settings-panel-head p{color:#6f7d95;font-size:.82rem;overflow-wrap:anywhere}.settings-panel-icon{width:2.6rem;height:2.6rem;display:inline-grid;place-items:center;border-radius:.85rem;background:#eef1ff;color:#4b39ef;font-weight:800;letter-spacing:.02em}.settings-panel-icon.is-branch{background:#e8f7ff;color:#1479a8}.settings-panel-icon.is-gmail{background:#fff1f0;color:#d94638}.settings-panel-icon.is-connected{background:#e8fbf4;color:#0f9f6e}.settings-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.settings-detail-list div{min-width:0;padding:.78rem;border:1px solid #edf1f8;border-radius:.8rem;background:#f8fafc}.settings-detail-list dt{margin:0 0 .3rem;color:#7a8699;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.settings-detail-list dd{margin:0;color:#27364f;font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.settings-gmail-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-action-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.primary-action-button,.secondary-action-button{min-height:2.55rem;border:0;border-radius:.65rem;padding:.65rem 1rem;font:inherit;font-weight:800;cursor:pointer}.primary-action-button{background:#4b39ef;color:#fff;box-shadow:0 12px 24px #4b39ef2e}.secondary-action-button{background:#f3f6fb;color:#34425d;border:1px solid #dfe6f2}.primary-action-button:disabled,.secondary-action-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.primary-action-button:focus-visible,.secondary-action-button:focus-visible{outline:3px solid rgba(75,57,239,.2);outline-offset:3px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.4rem .75rem;border-radius:999px;background:#eef2f7;color:#667085;font-size:.72rem;font-weight:800;white-space:nowrap}.status-pill.is-success{background:#e8fbf4;color:#0f8b64}.status-pill.is-warning{background:#fff7df;color:#a06200}.status-pill.is-muted{background:#f0f3f8;color:#7a8699}.form-error-message,.form-success-message{margin:0;padding:.75rem .85rem;border-radius:.75rem;font-size:.82rem;font-weight:700}.form-error-message{border:1px solid #ffd2df;background:#fff4f7;color:#b42355}.form-success-message{border:1px solid #bee7d8;background:#effcf7;color:#087456}@media(max-width:1080px){.settings-grid,.settings-gmail-meta{grid-template-columns:1fr}}@media(max-width:720px){.settings-page-header,.settings-panel-head,.settings-detail-list{grid-template-columns:1fr}.settings-action-row>button,.settings-page-header>button{width:100%}}.whatsconnect-page{display:grid;gap:.95rem;min-width:0}.whatsconnect-marketing-page .page-actions{flex-wrap:wrap}.whatsconnect-status-strip{display:flex;flex-wrap:wrap;gap:.55rem}.whatsconnect-status-strip span,.whatsconnect-manual-rules span{display:inline-flex;align-items:center;min-height:2rem;border:1px solid #dfe8f4;border-radius:.8rem;background:#fff;color:#526078;font-size:.82rem;font-weight:700;padding:.35rem .65rem}.whatsconnect-marketing-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.82fr);gap:.9rem;align-items:stretch}.whatsconnect-placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.whatsconnect-panel{min-width:0}.whatsconnect-panel .section-head.compact{align-items:flex-start;gap:.8rem}.whatsconnect-panel .section-head.compact p{margin:.22rem 0 0;color:#6c7890;font-size:.86rem}.whatsconnect-source-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.9rem}.whatsconnect-source-tab{display:grid;gap:.22rem;min-height:74px;border:1px solid #dfe8f4;border-radius:1rem;background:#f8fbff;color:#273347;text-align:left;padding:.75rem;cursor:pointer}.whatsconnect-source-tab span{color:#718098;font-size:.78rem;line-height:1.35}.whatsconnect-source-tab.is-active{border-color:#7c68f1;background:#f3f0ff;box-shadow:inset 0 0 0 1px #7c68f126}.whatsconnect-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.75rem;align-items:end;margin-top:.85rem}.whatsconnect-field-block{display:grid;gap:.3rem;min-width:0}.whatsconnect-field-block.is-wide{grid-column:span 2}.whatsconnect-field-block label{color:#68758c;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.whatsconnect-field-block input,.whatsconnect-field-block select,.whatsconnect-field-block textarea,.whatsconnect-table-actions select,.whatsconnect-drawer-toolbar input,.whatsconnect-drawer-toolbar select{width:100%;min-height:42px;border:1px solid #d8e2f1;border-radius:.8rem;background:#fff;color:#243047;font:inherit;padding:.55rem .7rem}.whatsconnect-page button:disabled,.whatsconnect-page input:disabled,.whatsconnect-page select:disabled,.whatsconnect-page textarea:disabled{cursor:not-allowed;opacity:.58}.whatsconnect-field-block textarea{resize:vertical}.whatsconnect-file-row,.whatsconnect-table-actions,.whatsconnect-drawer-toolbar{display:flex;gap:.55rem;align-items:center}.whatsconnect-file-row input[type=file]{min-width:0}.whatsconnect-manual-rules{display:flex;flex-wrap:wrap;gap:.45rem;align-self:center}.whatsconnect-template-empty,.whatsconnect-drawer-empty{display:grid;gap:.45rem;min-height:180px;border:1px dashed #cfd9ea;border-radius:1rem;background:#f8fbff;color:#6a778f;place-content:center;text-align:center;padding:1.2rem}.whatsconnect-template-empty strong,.whatsconnect-drawer-empty strong{color:#29344a}.whatsconnect-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.whatsconnect-summary-card{display:grid;gap:.25rem;border:1px solid #dfe8f4;border-radius:1rem;background:#fff;padding:.85rem}.whatsconnect-summary-card span{color:#6b778d;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.whatsconnect-summary-card strong{color:#202b41;font-size:1.35rem}.whatsconnect-summary-card.is-ready strong{color:#15945b}.whatsconnect-summary-card.is-warning strong{color:#b7791f}.whatsconnect-summary-card.is-blocked strong{color:#c24141}.whatsconnect-recipient-table-shell{margin-top:.85rem}.whatsconnect-recipient-table th,.whatsconnect-recipient-table td{white-space:nowrap}.whatsconnect-empty-cell{color:#7a879d;font-weight:700;text-align:center;padding:2rem!important}.whatsconnect-drawer-toolbar{margin-top:1rem}.whatsconnect-feature-list{display:grid;gap:.5rem;margin:.8rem 0 0;padding:0;list-style:none}.whatsconnect-feature-list li{border:1px solid #e2eaf5;border-radius:.8rem;background:#f9fbff;color:#334158;font-weight:700;padding:.62rem .7rem}@media(max-width:1180px){.whatsconnect-marketing-grid,.whatsconnect-placeholder-grid{grid-template-columns:1fr}.whatsconnect-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.whatsconnect-source-tabs,.whatsconnect-source-grid,.whatsconnect-summary-grid,.whatsconnect-template-stats{grid-template-columns:1fr}.whatsconnect-field-block.is-wide{grid-column:auto}.whatsconnect-file-row,.whatsconnect-table-actions,.whatsconnect-drawer-toolbar{align-items:stretch;flex-direction:column}.whatsconnect-drawer-toolbar select{flex-basis:auto}}.whatsconnect-marketing-page{gap:.85rem}.whatsconnect-marketing-page .communication-page-header-actions{flex-wrap:wrap}.whatsconnect-marketing-page button:disabled,.whatsconnect-marketing-page input:disabled,.whatsconnect-marketing-page select:disabled,.whatsconnect-marketing-page textarea:disabled{cursor:not-allowed;opacity:.58}.whatsconnect-marketing-safety-panel{align-items:center}.whatsconnect-marketing-source-bar{grid-template-columns:minmax(360px,560px)}.whatsconnect-marketing-source-toggle{display:inline-flex;flex-wrap:wrap;gap:.45rem;min-height:42px;align-items:center}.whatsconnect-marketing-source-btn{min-height:38px;border:1px solid #d8e2f1;border-radius:.75rem;background:#fff;color:#526078;font-size:.82rem;font-weight:800;padding:.45rem .72rem}.whatsconnect-marketing-source-btn.is-active{border-color:#8f80f7;background:#f3f0ff;color:#4936bf;box-shadow:inset 0 0 0 1px #5b48e61f}.whatsconnect-marketing-filter-bar{grid-template-columns:minmax(180px,280px) minmax(120px,160px) minmax(120px,160px) auto;align-items:end}.whatsconnect-marketing-filter-bar input[type=file]{padding-top:.48rem}.whatsconnect-marketing-load-btn{min-height:42px;align-self:end}.whatsconnect-marketing-manual-panel{display:grid;grid-template-columns:minmax(360px,640px) minmax(180px,1fr) auto;gap:.7rem;align-items:end}.whatsconnect-marketing-manual-examples{display:flex;flex-wrap:wrap;gap:.4rem;align-self:center}.whatsconnect-marketing-manual-examples span,.whatsconnect-marketing-count-row span{display:inline-flex;align-items:center;min-height:1.9rem;border:1px solid #dfe8f4;border-radius:.75rem;background:#fff;color:#647189;font-size:.78rem;font-weight:800;padding:.28rem .58rem}.whatsconnect-marketing-sheet{padding-bottom:.75rem}.whatsconnect-marketing-strip .icon-stepper-button{min-width:150px;padding-inline:.8rem}.whatsconnect-marketing-strip-actions{display:inline-flex;gap:.45rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.whatsconnect-marketing-strip span{display:block;color:#728099;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.whatsconnect-marketing-strip strong{display:block;margin-top:.12rem}.whatsconnect-marketing-count-row{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-top:.7rem}.whatsconnect-marketing-table-shell{margin-top:0}.whatsconnect-marketing-table th,.whatsconnect-marketing-table td{white-space:nowrap}.whatsconnect-marketing-empty-cell{height:160px}.whatsconnect-template-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#1218265c}.whatsconnect-template-drawer{width:min(560px,100vw);height:100%;overflow-y:auto;background:#fff;box-shadow:-22px 0 48px #202a3d2e;padding:1.2rem}.whatsconnect-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #edf1f7;padding-bottom:.9rem}.whatsconnect-drawer-head h2{margin:.15rem 0 0;color:#202b41}.whatsconnect-drawer-toolbar{display:flex;gap:.55rem;align-items:center;margin-top:1rem}.whatsconnect-drawer-toolbar input,.whatsconnect-drawer-toolbar select{min-height:42px;border:1px solid #d8e2f1;border-radius:.8rem;background:#fff;color:#243047;font:inherit;padding:.55rem .7rem}.whatsconnect-drawer-toolbar input{flex:1 1 auto}.whatsconnect-drawer-toolbar select{flex:0 0 150px}.whatsconnect-template-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0}.whatsconnect-template-stats div{display:grid;gap:.2rem;border:1px solid #e1e9f5;border-radius:.9rem;background:#f8fbff;padding:.75rem}.whatsconnect-template-stats span{color:#697690;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.whatsconnect-template-stats strong{color:#243047}.whatsconnect-drawer-empty{display:grid;gap:.45rem;min-height:180px;border:1px dashed #cfd9ea;border-radius:1rem;background:#f8fbff;color:#6a778f;place-content:center;text-align:center;padding:1.2rem}.whatsconnect-drawer-empty strong{color:#29344a}.whatsconnect-marketing-source-message{margin:.1rem 0 0;color:#647189;font-size:.82rem;font-weight:700}.whatsconnect-marketing-source-message.is-error{color:#b42318}.whatsconnect-template-list{display:grid;gap:.55rem}.whatsconnect-template-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;border:1px solid #e1e9f5;border-radius:.9rem;background:#fff;color:#263248;text-align:left;padding:.75rem .85rem}.whatsconnect-template-row:hover,.whatsconnect-template-row.is-selected{border-color:#8f80f7;background:#f7f5ff}.whatsconnect-template-row span{display:grid;gap:.18rem}.whatsconnect-template-row small{color:#6d7a90;font-size:.76rem;font-weight:700}.whatsconnect-template-row em{border:1px solid #dbe5f3;border-radius:999px;color:#59677f;font-size:.72rem;font-style:normal;font-weight:800;padding:.22rem .5rem}.whatsconnect-drawer-head-actions{display:inline-flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.whatsconnect-template-row-main{display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;gap:.8rem;border:0;background:transparent;color:inherit;text-align:left;padding:0}.whatsconnect-template-editor{display:grid;gap:.85rem;margin-top:1rem}.whatsconnect-template-editor-grid,.whatsconnect-setting-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.whatsconnect-setting-form-grid.is-compact{grid-template-columns:minmax(180px,260px) 1fr;align-items:end}.whatsconnect-template-editor input,.whatsconnect-template-editor select,.whatsconnect-template-editor textarea,.whatsconnect-setting-page input,.whatsconnect-setting-page select{min-height:42px;border:1px solid #d8e2f1;border-radius:.8rem;background:#fff;color:#243047;font:inherit;padding:.55rem .7rem}.whatsconnect-template-editor-grid input,.whatsconnect-template-editor-grid select{min-height:36px;border-radius:.68rem;font-size:.78rem;line-height:1.25;padding:.42rem .58rem}.whatsconnect-template-editor textarea{min-height:104px;resize:vertical}.whatsconnect-template-active-toggle{display:inline-flex;align-items:center;gap:.55rem;color:#30405c;font-size:.86rem;font-weight:800}.whatsconnect-template-active-toggle input{width:18px;min-height:18px;height:18px;accent-color:#5b48e6}.whatsconnect-template-message-head,.whatsconnect-template-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.whatsconnect-template-message-list{display:grid;gap:.75rem}.whatsconnect-template-message-card{display:grid;gap:.7rem;border:1px solid #e1e9f5;border-radius:1rem;background:#f8fbff;padding:.85rem}.whatsconnect-template-message-card-head{display:grid;grid-template-columns:1fr minmax(130px,160px) auto;gap:.55rem;align-items:center}.whatsconnect-template-preview-box{border:1px solid #e1e9f5;border-radius:.85rem;background:#fff;color:#53627a;font-size:.82rem;font-weight:650;line-height:1.45;min-height:44px;padding:.65rem .75rem;white-space:pre-wrap}.whatsconnect-setting-page{gap:.85rem}.whatsconnect-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.whatsconnect-setting-panel{min-width:0}.whatsconnect-setting-panel:first-child{grid-column:1 / -1}.whatsconnect-setting-toggle-row{grid-template-columns:repeat(2,minmax(180px,max-content));margin-top:.8rem}.whatsconnect-setting-save-btn{margin-top:.85rem}@media(max-width:1180px){.whatsconnect-marketing-filter-bar,.whatsconnect-marketing-manual-panel,.whatsconnect-template-editor-grid,.whatsconnect-setting-form-grid,.whatsconnect-setting-form-grid.is-compact,.whatsconnect-setting-grid,.whatsconnect-setting-toggle-row{grid-template-columns:1fr}.whatsconnect-marketing-strip .icon-stepper-button{min-width:0}}.whatsconnect-template-drawer{width:min(920px,100vw)}.whatsconnect-template-scope-note{display:grid;gap:.18rem;border:1px solid #e1e9f5;border-radius:.9rem;background:#f8fbff;color:#5d6a82;padding:.75rem .85rem}.whatsconnect-template-scope-note strong{color:#243047}.whatsconnect-template-message-head>div:first-child{display:grid;gap:.15rem}.whatsconnect-template-message-head span{color:#6d7a90;font-size:.78rem;font-weight:700}.whatsconnect-template-add-actions,.whatsconnect-template-editor-toolbar,.whatsconnect-template-media-row,.whatsconnect-template-message-tool-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.whatsconnect-template-editor-toolbar{position:relative}.whatsconnect-template-message-workbench{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:.8rem;min-height:360px}.whatsconnect-template-message-list-pane{display:grid;align-content:start;gap:.5rem;border:1px solid #e1e9f5;border-radius:1rem;background:#f8fbff;padding:.7rem}.whatsconnect-template-message-list-item{display:grid;gap:.2rem;width:100%;border:1px solid #e1e9f5;border-radius:.85rem;background:#fff;color:#2b3850;text-align:left;padding:.65rem .7rem}.whatsconnect-template-message-list-item.is-active,.whatsconnect-template-message-list-item:hover{border-color:#8f80f7;background:#f7f5ff}.whatsconnect-template-message-list-item span{overflow:hidden;color:#6d7a90;font-size:.76rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.whatsconnect-template-message-editor-panel{display:grid;gap:.7rem;min-width:0;border:1px solid #e1e9f5;border-radius:1rem;background:#fff;padding:.8rem}.whatsconnect-template-message-card-head.is-workbench{grid-template-columns:1fr minmax(130px,170px) auto}.whatsconnect-template-media-row{justify-content:space-between;border:1px dashed #cdd8ea;border-radius:.85rem;background:#f9fbff;color:#647189;font-size:.8rem;font-weight:750;padding:.6rem .7rem}.whatsconnect-template-media-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whatsconnect-template-message-tool-actions{flex:0 0 auto;justify-content:flex-end}.whatsconnect-template-icon-action,.whatsconnect-template-emoji-trigger{min-width:38px;padding-left:.55rem;padding-right:.55rem}.whatsconnect-template-emoji-picker{position:absolute;z-index:6;top:calc(100% + .45rem);left:0;width:min(320px,calc(100vw - 2rem));max-height:240px;overflow:auto;display:grid;gap:.55rem;border:1px solid #e1e9f5;border-radius:1rem;background:#fff;box-shadow:0 18px 44px #202a3d29;padding:.65rem}.whatsconnect-template-emoji-tabs,.whatsconnect-template-emoji-grid{display:flex;flex-wrap:wrap;gap:.35rem}.whatsconnect-template-emoji-tabs button,.whatsconnect-template-emoji-grid button{min-width:2.1rem;min-height:2.1rem;border:1px solid #dbe5f3;border-radius:.65rem;background:#fff;font-size:1rem}.whatsconnect-template-emoji-tabs button.is-active{border-color:#8f80f7;background:#f3f0ff}.whatsconnect-template-preview-box{display:grid;gap:.3rem}.whatsconnect-template-preview-box strong{color:#2b3850}.appointment-detail-drawer-overlay.whatsconnect-template-drawer-backdrop{z-index:80;padding:0;background:#1218265c}.whatsconnect-appointment-template-drawer{width:min(920px,100vw);height:100%;max-width:100vw;overflow-y:auto;border:0;border-radius:0;background:#fff;box-shadow:-22px 0 48px #202a3d2e;padding:1.2rem}.whatsconnect-appointment-template-top{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.whatsconnect-appointment-template-body{display:flex;flex-direction:column;gap:.85rem;padding:1rem 0 0}.whatsconnect-appointment-template-drawer .appointment-detail-section-card,.whatsconnect-appointment-template-drawer .whatsapp-composer-guidance-box{border-color:#e1e9f5;border-radius:1rem;background:#f8fbff;box-shadow:none}.whatsconnect-appointment-template-drawer .appointment-detail-section-head h3{color:#243047;font-size:.92rem}.whatsconnect-appointment-template-drawer .whatsapp-composer-textarea{border:1px solid #d8e2f1;border-radius:.9rem;background:#fff}.whatsconnect-appointment-template-drawer .whatsapp-composer-mode-pill{border-color:#dbe5f3;background:#fff}.whatsconnect-appointment-template-drawer .whatsapp-composer-mode-pill.is-active{border-color:#8f80f7;background:#f7f5ff;color:#493be3}.whatsconnect-marketing-template-top{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.whatsconnect-marketing-template-body{display:flex;flex-direction:column;gap:.85rem;padding:1rem 0 0}.whatsconnect-marketing-template-drawer .appointment-detail-section-card,.whatsconnect-marketing-template-drawer .whatsconnect-template-editor,.whatsconnect-marketing-template-drawer .whatsconnect-drawer-toolbar,.whatsconnect-marketing-template-drawer .whatsconnect-template-stats,.whatsconnect-marketing-template-drawer .whatsconnect-template-list,.whatsconnect-marketing-template-drawer .whatsconnect-drawer-empty{border-color:#e1e9f5;border-radius:1rem;background:#f8fbff;box-shadow:none}.whatsconnect-marketing-template-drawer .whatsconnect-template-editor,.whatsconnect-marketing-template-drawer .whatsconnect-drawer-toolbar,.whatsconnect-marketing-template-drawer .whatsconnect-template-list,.whatsconnect-marketing-template-drawer .whatsconnect-drawer-empty{border:1px solid #e1e9f5;padding:.85rem}.whatsconnect-template-command-card{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.whatsconnect-template-command-card .appointment-detail-section-head{margin:0}.whatsconnect-template-command-card .appointment-detail-section-head h3{color:#243047;font-size:.92rem}.whatsconnect-marketing-template-drawer .whatsconnect-drawer-toolbar{margin-top:0}.whatsconnect-marketing-template-drawer .whatsconnect-template-stats{margin:0;padding:0;background:transparent;border:0}.whatsconnect-template-icon-action{display:inline-flex;align-items:center;justify-content:center}.whatsconnect-template-icon-action svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}@media(max-width:1180px){.whatsconnect-template-message-workbench{grid-template-columns:1fr}}@media(max-width:760px){.whatsconnect-marketing-source-bar{grid-template-columns:1fr}.whatsconnect-drawer-toolbar{align-items:stretch;flex-direction:column}.whatsconnect-drawer-toolbar select{flex-basis:auto}.whatsconnect-template-message-card-head.is-workbench,.whatsconnect-template-message-card-head{grid-template-columns:1fr}}.whatsconnect-marketing-template-focus-page{display:flex;flex-direction:column;gap:1rem}.whatsconnect-marketing-stepper{border:1px solid #e1e9f5;border-radius:1.1rem;background:#fff;box-shadow:0 12px 34px #1f294a0d;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.85rem;padding:.85rem 1rem}.whatsconnect-marketing-stepper>i{height:1px;min-width:3rem;background:#e1e9f5}.whatsconnect-marketing-step{display:flex;align-items:center;gap:.7rem;min-width:0;color:#71809c}.whatsconnect-marketing-step>span{width:2rem;height:2rem;border-radius:.78rem;background:#f1f4fb;color:#61708c;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.whatsconnect-marketing-step.is-active>span{background:#4b39ef;color:#fff}.whatsconnect-marketing-step.is-ready>span{background:#eafbf3;color:#187a53}.whatsconnect-marketing-step strong{display:block;color:#22314d;font-family:var(--font-heading, "Poppins", sans-serif);font-size:.88rem}.whatsconnect-marketing-step small{display:block;color:#71809c;font-size:.7rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whatsconnect-marketing-focus-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,24rem);gap:1rem;min-height:0}.whatsconnect-marketing-template-library-panel,.whatsconnect-marketing-send-list-panel{min-width:0;overflow:hidden}.whatsconnect-marketing-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #e8eef7;background:#fbfdff;padding:1rem 1.1rem}.whatsconnect-marketing-panel-head.is-compact{display:block}.whatsconnect-marketing-panel-head h2,.whatsconnect-marketing-send-list-card h3{margin:0;color:#22314d;font-family:var(--font-heading, "Poppins", sans-serif)}.whatsconnect-marketing-panel-head h2{font-size:1.08rem}.whatsconnect-marketing-panel-head p,.whatsconnect-marketing-send-list-card p{margin:.32rem 0 0;color:#71809c;font-size:.78rem;font-weight:750;line-height:1.42}.whatsconnect-marketing-template-workspace{display:grid;grid-template-columns:19rem minmax(0,1fr);min-height:32rem}.whatsconnect-marketing-template-list-panel{border-right:1px solid #e8eef7;background:#fbfdff;display:grid;align-content:start;gap:.75rem;padding:.9rem}.whatsconnect-marketing-status-filter-row{display:flex;gap:.35rem;flex-wrap:wrap}.whatsconnect-marketing-status-filter{border:1px solid #dfe6f2;background:#fff;border-radius:999px;color:#52637f;font:inherit;font-size:.68rem;font-weight:850;padding:.38rem .55rem}.whatsconnect-marketing-status-filter.is-active{background:#ece9ff;border-color:#d8d1ff;color:#4b39ef}.whatsconnect-marketing-template-list-scroll{display:grid;gap:.6rem;max-height:27rem;overflow:auto;padding-right:.15rem}.whatsconnect-marketing-template-card{border:1px solid #e2e9f5;border-radius:.95rem;background:#fff;color:inherit;display:grid;gap:.35rem;font:inherit;padding:.75rem;text-align:left}.whatsconnect-marketing-template-card.is-selected{border-color:#d8d1ff;background:#f8f6ff}.whatsconnect-marketing-template-card strong{color:#22314d;font-size:.83rem}.whatsconnect-marketing-template-card span,.whatsconnect-marketing-template-card em{color:#71809c;font-size:.7rem;font-style:normal;font-weight:750}.whatsconnect-marketing-template-card div{display:flex;gap:.4rem;flex-wrap:wrap}.whatsconnect-marketing-template-card em{border-radius:999px;background:#f1f4fb;padding:.22rem .45rem}.whatsconnect-marketing-template-preview-panel{display:grid;align-content:start;gap:.85rem;padding:1.05rem}.whatsconnect-marketing-selected-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.whatsconnect-marketing-selected-template-head h3{margin:0;color:#182032;font-family:var(--font-display, "Sora", sans-serif);font-size:1.45rem;letter-spacing:-.03em}.whatsconnect-marketing-selected-template-head p{margin:.4rem 0 0;color:#53627a;font-size:.8rem;font-weight:750;line-height:1.45}.whatsconnect-marketing-rule-row,.whatsconnect-marketing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.whatsconnect-marketing-rule-row span,.whatsconnect-marketing-summary-grid span{border:1px solid #edf1f7;border-radius:.85rem;background:#fbfdff;color:#71809c;display:block;font-size:.65rem;font-weight:850;letter-spacing:.04em;padding:.65rem;text-transform:uppercase}.whatsconnect-marketing-rule-row strong,.whatsconnect-marketing-summary-grid strong{color:#22314d;display:block;font-size:1.08rem;letter-spacing:0;line-height:1;margin-bottom:.25rem;text-transform:none}.whatsconnect-marketing-phone-preview{border:1px solid #e7edf7;border-radius:1rem;background:#fbfdff;display:grid;gap:.65rem;justify-items:center;max-height:22rem;overflow:auto;padding:1rem}.whatsconnect-marketing-preview-message{width:min(100%,24rem)}.whatsconnect-marketing-preview-message p{border-radius:1rem 1rem 1rem .25rem;background:#f1f5fb;color:#25314b;font-size:.82rem;font-weight:700;line-height:1.42;margin:0;padding:.75rem}.whatsconnect-marketing-preview-media{border:1px dashed #cdd8ef;border-radius:.9rem;background:linear-gradient(135deg,#edf8ff,#f1efff);color:#63708b;display:grid;font-size:.75rem;font-weight:850;height:5rem;margin-bottom:.55rem;place-items:center}.whatsconnect-marketing-template-action-row,.whatsconnect-marketing-send-list-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.whatsconnect-marketing-source-stack,.whatsconnect-marketing-send-list-panel{display:grid;gap:.85rem}.whatsconnect-marketing-send-list-panel{align-content:start;padding-bottom:1rem}.whatsconnect-marketing-source-stack,.whatsconnect-marketing-summary-grid,.whatsconnect-marketing-send-list-card,.whatsconnect-marketing-view-send-list-btn,.whatsconnect-marketing-send-list-panel>.whatsconnect-marketing-source-message{margin-left:1rem;margin-right:1rem}.whatsconnect-marketing-source-stack{margin-top:1rem}.whatsconnect-marketing-source-stack .primary-btn,.whatsconnect-marketing-source-stack .secondary-btn,.whatsconnect-marketing-view-send-list-btn{justify-content:center;width:calc(100% - 2rem)}.whatsconnect-marketing-source-stack .primary-btn,.whatsconnect-marketing-source-stack .secondary-btn{width:100%}.whatsconnect-marketing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsconnect-marketing-summary-grid.is-modal{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.whatsconnect-marketing-send-list-card{border:1px solid #d8d1ff;border-radius:1rem;background:#f8f6ff;padding:.9rem}.whatsconnect-marketing-send-list-card h3{color:#3526c2;font-size:.95rem}.whatsconnect-marketing-send-list-card p{color:#5b50c9}.whatsconnect-marketing-template-empty{border:1px dashed #d8e2f1;border-radius:1rem;background:#fff;color:#71809c;display:grid;gap:.25rem;padding:1rem}.whatsconnect-marketing-template-empty.is-large{min-height:18rem;place-content:center;text-align:center}.whatsconnect-marketing-template-empty strong{color:#22314d}.whatsconnect-recipient-picker-overlay{z-index:70}.whatsconnect-recipient-picker-modal{max-width:min(58rem,calc(100vw - 3rem));width:58rem}.whatsconnect-recipient-picker-tabs{border-bottom:1px solid #e8eef7;display:flex;gap:.5rem;padding:0 1.25rem .9rem}.whatsconnect-recipient-picker-body{display:grid;gap:.85rem}.whatsconnect-recipient-picker-footer{justify-content:flex-end}@media(max-width:1180px){.whatsconnect-marketing-focus-grid,.whatsconnect-marketing-template-workspace{grid-template-columns:1fr}.whatsconnect-marketing-template-list-panel{border-right:0;border-bottom:1px solid #e8eef7}}.whatsconnect-classic-page .whatsconnect-marketing-stepper.is-classic{margin:12px 0 16px}.whatsconnect-classic-marketing-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,.9fr) minmax(340px,1.15fr);gap:14px;align-items:stretch}.whatsconnect-classic-step-card,.whatsconnect-classic-send-sidebar,.whatsconnect-classic-send-table-card,.whatsconnect-classic-setting-card{border:1px solid rgba(45,55,72,.1);box-shadow:0 10px 24px #0f172a0a}.whatsconnect-classic-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.whatsconnect-classic-card-head p{margin:0 0 3px;color:#7b8794;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.whatsconnect-classic-card-head h2{margin:0;color:#1f2933;font-size:1.02rem;font-weight:800}.whatsconnect-classic-template-list{display:grid;gap:8px;margin-top:10px;max-height:350px;overflow:auto;padding-right:3px}.whatsconnect-classic-selected-template{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid rgba(68,102,242,.16);border-radius:14px;background:#4466f20f}.whatsconnect-classic-selected-template div{display:grid;gap:2px;min-width:0}.whatsconnect-classic-selected-template strong,.whatsconnect-classic-contact-row strong{color:#1f2933;font-size:.88rem}.whatsconnect-classic-selected-template span,.whatsconnect-classic-contact-row span,.whatsconnect-classic-empty-state span,.whatsconnect-classic-send-note span{color:#7b8794;font-size:.76rem}.whatsconnect-classic-source-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}.whatsconnect-classic-source-grid .primary-btn,.whatsconnect-classic-source-grid .secondary-btn{justify-content:center;width:100%}.whatsconnect-classic-contact-preview{display:grid;gap:8px;margin-top:12px}.whatsconnect-classic-contact-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(45,55,72,.08);border-radius:12px;background:#fff}.whatsconnect-classic-contact-row div,.whatsconnect-classic-empty-state{display:grid;gap:2px}.whatsconnect-classic-empty-state{padding:18px;border:1px dashed rgba(45,55,72,.18);border-radius:14px;background:#f8fafcc7;text-align:center}.whatsconnect-classic-review-stats,.whatsconnect-classic-send-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.whatsconnect-classic-review-stats span,.whatsconnect-classic-send-stats span{display:grid;gap:2px;min-height:58px;padding:9px 10px;border:1px solid rgba(45,55,72,.08);border-radius:12px;background:#f8fafce6;color:#7b8794;font-size:.74rem}.whatsconnect-classic-review-stats strong,.whatsconnect-classic-send-stats strong{color:#1f2933;font-size:1.05rem}.whatsconnect-marketing-phone-preview.is-classic{min-height:178px;max-height:300px}.whatsconnect-classic-review-actions,.whatsconnect-classic-setting-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.whatsconnect-classic-queue-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:14px;align-items:start}.whatsconnect-classic-send-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsconnect-classic-send-note{display:grid;gap:4px;margin-top:12px;padding:12px;border-radius:14px;background:#4466f20f;color:#1f2933}.whatsconnect-classic-setting-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.whatsconnect-classic-setting-card.is-timezone{grid-column:span 2}.whatsconnect-classic-setting-grid{display:grid;gap:10px}.whatsconnect-classic-setting-grid.is-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsconnect-classic-setting-grid label{display:grid;gap:5px}.whatsconnect-classic-setting-grid span{color:#52606d;font-size:.78rem;font-weight:700}.whatsconnect-classic-setting-grid input,.whatsconnect-classic-setting-grid select{min-height:38px;border:1px solid rgba(45,55,72,.14);border-radius:10px;background:#fff;color:#1f2933;font:inherit;font-size:.84rem;padding:0 10px}@media(max-width:1200px){.whatsconnect-classic-marketing-layout,.whatsconnect-classic-setting-layout{grid-template-columns:1fr}.whatsconnect-classic-setting-card.is-timezone{grid-column:auto}}@media(max-width:900px){.whatsconnect-classic-queue-layout,.whatsconnect-classic-review-stats,.whatsconnect-classic-send-stats,.whatsconnect-classic-setting-grid.is-two-column{grid-template-columns:1fr}}.whatsconnect-marketing-classic-page .whatsconnect-marketing-stepper.is-classic{padding:10px 14px;gap:10px}.whatsconnect-marketing-classic-page .whatsconnect-marketing-step>span{width:1.55rem;height:1.55rem;font-size:.72rem;font-weight:700}.whatsconnect-marketing-classic-page .whatsconnect-marketing-step strong{color:#344054;font-size:.78rem;font-weight:650;letter-spacing:0}.whatsconnect-marketing-classic-page .whatsconnect-marketing-step small{font-size:.68rem;line-height:1.25}.whatsconnect-marketing-classic-page .whatsconnect-classic-card-head{margin-bottom:10px}.whatsconnect-marketing-classic-page .whatsconnect-classic-card-head p{color:#8a97a8;font-size:.66rem;font-weight:650;letter-spacing:.045em}.whatsconnect-marketing-classic-page .whatsconnect-classic-card-head h2{color:#25364d;font-size:.94rem;font-weight:680;line-height:1.25}.whatsconnect-marketing-classic-page .whatsconnect-marketing-template-card strong,.whatsconnect-marketing-classic-page .whatsconnect-classic-selected-template strong,.whatsconnect-marketing-classic-page .whatsconnect-classic-contact-row strong{color:#2f3f55;font-size:.8rem;font-weight:620}.whatsconnect-marketing-classic-page .whatsconnect-marketing-template-card span,.whatsconnect-marketing-classic-page .whatsconnect-marketing-template-card em,.whatsconnect-marketing-classic-page .whatsconnect-classic-selected-template span,.whatsconnect-marketing-classic-page .whatsconnect-classic-contact-row span,.whatsconnect-marketing-classic-page .whatsconnect-classic-empty-state span,.whatsconnect-marketing-classic-page .whatsconnect-marketing-source-message{font-size:.69rem;line-height:1.35}.whatsconnect-marketing-classic-page .whatsconnect-marketing-summary-grid span,.whatsconnect-marketing-classic-page .whatsconnect-classic-review-stats span{min-height:48px;padding:8px 9px;font-size:.69rem}.whatsconnect-marketing-classic-page .whatsconnect-marketing-summary-grid strong,.whatsconnect-marketing-classic-page .whatsconnect-classic-review-stats strong{color:#25364d;font-size:.94rem;font-weight:650}.whatsconnect-marketing-classic-page .whatsconnect-classic-review-stats{gap:7px}.whatsconnect-marketing-classic-page .whatsapp-queue-state-badge{font-size:.66rem;font-weight:650;min-height:22px;padding:.2rem .48rem}.whatsconnect-marketing-classic-page .whatsconnect-classic-step-card{padding:14px}.whatsconnect-marketing-classic-page .whatsconnect-marketing-phone-preview.is-classic{min-height:150px;max-height:260px}.whatsconnect-marketing-classic-page .whatsconnect-marketing-preview-message p{font-size:.78rem;line-height:1.48}.whatsconnect-marketing-classic-page .whatsconnect-classic-review-actions .primary-btn,.whatsconnect-marketing-classic-page .whatsconnect-classic-review-actions .secondary-btn,.whatsconnect-marketing-classic-page .whatsconnect-classic-source-grid .primary-btn,.whatsconnect-marketing-classic-page .whatsconnect-classic-source-grid .secondary-btn{min-height:34px;font-size:.76rem;font-weight:650}.whatsconnect-marketing-classic-page .page-header-title,.whatsconnect-marketing-classic-page h1{font-size:1.35rem;font-weight:680;letter-spacing:-.02em}.whatsconnect-marketing-classic-page .page-header-subtitle,.whatsconnect-marketing-classic-page .communication-status-banner p{font-size:.82rem;font-weight:420}.whatsconnect-marketing-classic-page .communication-status-banner strong,.whatsconnect-marketing-classic-page .whatsconnect-classic-card-head h2{font-size:.88rem;font-weight:620}.whatsconnect-marketing-classic-page .whatsconnect-classic-card-head p{font-size:.64rem;font-weight:600}.whatsconnect-marketing-classic-page .whatsconnect-marketing-step strong{font-size:.74rem;font-weight:600}.whatsconnect-marketing-classic-page .whatsconnect-marketing-step small{font-size:.66rem;font-weight:420}.whatsconnect-marketing-classic-page .whatsconnect-marketing-template-card strong,.whatsconnect-marketing-classic-page .whatsconnect-classic-selected-template strong,.whatsconnect-marketing-classic-page .whatsconnect-classic-contact-row strong,.whatsconnect-marketing-classic-page .whatsconnect-classic-empty-state strong{font-size:.76rem;font-weight:590}.whatsconnect-marketing-classic-page .whatsconnect-marketing-template-card em,.whatsconnect-marketing-classic-page .whatsapp-queue-state-badge{font-weight:560}.whatsconnect-marketing-classic-page .whatsconnect-marketing-summary-grid strong,.whatsconnect-marketing-classic-page .whatsconnect-classic-review-stats strong{font-size:.86rem;font-weight:590}.whatsconnect-marketing-classic-page .whatsconnect-marketing-summary-grid span,.whatsconnect-marketing-classic-page .whatsconnect-classic-review-stats span{text-transform:none;font-weight:420}.whatsconnect-marketing-classic-page .whatsconnect-marketing-preview-message p,.whatsconnect-marketing-classic-page .whatsconnect-marketing-preview-media{font-size:.76rem;font-weight:450}.whatsconnect-marketing-classic-page .primary-btn,.whatsconnect-marketing-classic-page .secondary-btn,.whatsconnect-marketing-classic-page .communication-refresh-btn{font-weight:600}.whatsconnect-marketing-classic-page .whatsconnect-marketing-source-message{font-weight:420}.whatsconnect-marketing-reference-page .patients-page-header-actions .primary-btn{min-height:38px;padding:.58rem .9rem;border-radius:11px;box-shadow:0 10px 18px #4b39ef33}.whatsconnect-marketing-reference-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.95fr);gap:14px;align-items:start}.whatsconnect-marketing-reference-main{display:grid;gap:12px;min-width:0}.whatsconnect-marketing-reference-card{border:1px solid #e5edf7;border-radius:18px;background:#fff;box-shadow:0 14px 32px #26344f0e;padding:16px;min-width:0}.whatsconnect-reference-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.whatsconnect-reference-section-head h2{margin:0;color:#24364f;font-size:.98rem;font-weight:720;line-height:1.2}.whatsconnect-reference-section-head p,.whatsconnect-marketing-reference-note,.whatsconnect-marketing-reference-manual span,.whatsconnect-reference-loaded-patients>div:first-child span{margin:3px 0 0;color:#718096;font-size:.72rem;line-height:1.35}.whatsconnect-reference-button-row,.whatsconnect-reference-load-controls{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.whatsconnect-reference-button-row select,.whatsconnect-reference-load-controls input,.whatsconnect-reference-load-controls select,.whatsconnect-marketing-reference-template-select,.whatsconnect-marketing-reference-manual textarea{min-height:36px;border:1px solid #dce6f3;border-radius:10px;background:#fff;color:#243047;font:inherit;font-size:.78rem;padding:.48rem .62rem}.whatsconnect-reference-button-row .secondary-btn,.whatsconnect-reference-load-controls .secondary-btn,.whatsconnect-marketing-reference-page .secondary-btn.is-compact{background:#fff;border-color:#d7deeb;color:#39445a}.whatsconnect-marketing-reference-page .primary-btn.is-compact{min-height:34px;padding:.48rem .78rem;font-size:.76rem;font-weight:680}.whatsconnect-marketing-reference-page .secondary-btn.is-compact{min-height:34px;padding:.48rem .78rem;font-size:.74rem;font-weight:650}.whatsconnect-marketing-reference-template-select{width:min(100%,560px);font-weight:650}.whatsconnect-marketing-reference-manual,.whatsconnect-reference-loaded-patients{display:grid;gap:8px;margin-top:12px}.whatsconnect-marketing-reference-manual>div:first-child,.whatsconnect-reference-loaded-patients>div:first-child{display:grid;gap:2px}.whatsconnect-marketing-reference-manual strong,.whatsconnect-reference-loaded-patients>div:first-child strong{color:#25364d;font-size:.8rem;font-weight:680}.whatsconnect-marketing-reference-manual textarea{width:100%;min-height:72px;resize:vertical}.whatsconnect-reference-wide-action{width:100%;justify-content:center}.whatsconnect-reference-table-shell{margin-top:8px;border:1px solid #edf2f8;border-radius:12px;overflow:auto;background:#fff}.whatsconnect-reference-table{width:100%;min-width:620px;border-collapse:collapse}.whatsconnect-reference-table thead th{background:transparent;color:#72819b;font-size:.64rem;font-weight:720;letter-spacing:.045em;padding:.5rem .45rem;text-align:left;text-transform:uppercase;white-space:nowrap}.whatsconnect-reference-table tbody td{border-top:1px solid #edf2f8;color:#34425c;font-size:.7rem;line-height:1.25;padding:.42rem .45rem;vertical-align:middle;white-space:nowrap}.whatsconnect-reference-table tbody tr:hover{background:#fcfdff}.whatsconnect-reference-table input[type=checkbox]{width:14px;height:14px}.whatsconnect-reference-empty-cell{color:#8792a6!important;font-style:normal;text-align:left}.whatsconnect-reference-loaded-patients .filter-field{min-width:104px}.whatsconnect-reference-loaded-patients .filter-field label,.whatsconnect-reference-loaded-patients .filter-label{color:#52606d;font-size:.66rem;font-weight:650}.whatsconnect-reference-table .whatsapp-queue-state-badge{min-height:20px;padding:.16rem .42rem;font-size:.62rem;font-weight:650}.whatsconnect-marketing-reference-preview{position:sticky;top:14px;display:grid;gap:12px}.whatsconnect-reference-checkbox{display:inline-flex;align-items:center;gap:8px;color:#34425c;font-size:.76rem;font-weight:650}.whatsconnect-marketing-reference-preview .whatsconnect-classic-review-stats{margin-bottom:0}.whatsconnect-marketing-reference-preview .whatsconnect-classic-review-actions{display:grid;grid-template-columns:1fr;margin-top:0}.whatsconnect-reference-send-btn,.whatsconnect-reference-view-list-btn{width:100%;justify-content:center}.whatsconnect-marketing-reference-preview .whatsconnect-marketing-phone-preview.is-classic{min-height:150px;max-height:320px}.whatsconnect-marketing-reference-preview .whatsconnect-marketing-preview-message strong{display:block;margin-bottom:6px;color:#24364f;font-size:.74rem}.whatsconnect-marketing-reference-preview .whatsconnect-marketing-preview-message p{font-size:.76rem}@media(max-width:1180px){.whatsconnect-marketing-reference-layout{grid-template-columns:1fr}.whatsconnect-marketing-reference-preview{position:static}}.whatsconnect-send-confirm-modal{width:min(92vw,720px);border-radius:18px}.whatsconnect-send-confirm-head h2{font-size:1.08rem}.whatsconnect-send-confirm-body{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:12px}.whatsconnect-send-confirm-body h3{margin:0 0 8px;color:#25364d;font-size:.82rem;font-weight:700}.whatsconnect-send-confirm-list,.whatsconnect-send-confirm-preview{min-width:0}.whatsconnect-send-confirm-scroll{max-height:220px;overflow-y:auto;border:1px solid #e5edf7;border-radius:12px;background:#f9fbff}.whatsconnect-send-confirm-row{display:grid;gap:2px;padding:9px 10px;border-bottom:1px solid #e8eef7}.whatsconnect-send-confirm-row:last-child{border-bottom:0}.whatsconnect-send-confirm-row strong{color:#24364f;font-size:.76rem}.whatsconnect-send-confirm-row span{color:#718096;font-size:.68rem}.whatsconnect-send-confirm-message-box{max-height:220px;overflow-y:auto;border:1px solid #e5edf7;border-radius:12px;background:#fff;padding:10px}.whatsconnect-send-confirm-message-box div+div{margin-top:10px;padding-top:10px;border-top:1px solid #edf2f8}.whatsconnect-send-confirm-message-box strong{display:block;margin-bottom:4px;color:#52606d;font-size:.68rem;text-transform:uppercase;letter-spacing:.045em}.whatsconnect-send-confirm-message-box p{margin:0;color:#34425c;font-size:.76rem;line-height:1.45;white-space:pre-wrap}.whatsconnect-send-confirm-footer{padding-top:10px}@media(max-width:760px){.whatsconnect-send-confirm-body{grid-template-columns:1fr}}.whatsconnect-reference-setting-page{gap:16px}.whatsconnect-reference-settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.whatsconnect-reference-setting-card{border:1px solid rgba(45,55,72,.1);border-radius:18px;background:#fff;box-shadow:0 10px 24px #0f172a0a;padding:16px}.whatsconnect-reference-setting-card h2{margin:0;color:#24364f;font-size:1rem;font-weight:670;letter-spacing:-.01em}.whatsconnect-reference-setting-card p{margin:6px 0 14px;color:#718096;font-size:.78rem;line-height:1.45}.whatsconnect-reference-inline-row,.whatsconnect-reference-profile-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}.whatsconnect-reference-inline-row .filter-field{min-width:128px;flex:0 0 auto}.whatsconnect-reference-inline-row.is-three .filter-field{min-width:116px}.whatsconnect-reference-setting-card input,.whatsconnect-reference-setting-card select{min-height:36px;border:1px solid rgba(45,55,72,.14);border-radius:10px;background:#fff;color:#1f2933;font:inherit;font-size:.82rem;padding:0 10px}.whatsconnect-reference-setting-card .filter-field label,.whatsconnect-reference-setting-card .filter-label{color:#52606d;font-size:.72rem;font-weight:650}.whatsconnect-reference-setting-card.is-timezone{display:grid;align-content:start}.whatsconnect-reference-pill{display:inline-flex;width:fit-content;align-items:center;min-height:30px;border-radius:999px;background:#4466f214;color:#3c4db8;font-size:.78rem;font-weight:650;padding:0 12px}.whatsconnect-reference-profile-card{margin-top:0}.whatsconnect-reference-profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.whatsconnect-reference-profile-head p{margin-bottom:0}.whatsconnect-reference-profile-row .filter-field{min-width:220px;flex:1 1 260px}.whatsconnect-reference-hint{margin:10px 0 0;color:#718096;font-size:.76rem}.whatsconnect-reference-save-btn{align-self:flex-end;margin-left:auto;min-width:auto;min-height:34px;padding:0 14px;font-size:.78rem;font-weight:650}@media(max-width:980px){.whatsconnect-reference-settings-layout{grid-template-columns:1fr}}.whatsconnect-reference-queue-page{gap:16px}.whatsconnect-reference-queue-tabbar{display:flex;grid-template-columns:none;align-items:center;padding-top:0}.whatsconnect-reference-queue-tabs{width:fit-content}.whatsconnect-reference-queue-card{border:1px solid rgba(45,55,72,.1);border-radius:18px;background:#fff;box-shadow:0 10px 24px #0f172a0d;padding:14px}.whatsconnect-reference-queue-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.whatsconnect-reference-queue-card-head h2{margin:0;color:#24364f;font-size:.98rem;font-weight:670;letter-spacing:-.01em}.whatsconnect-reference-queue-card-head p{margin:3px 0 0;color:#718096;font-size:.72rem;line-height:1.35}.whatsconnect-reference-queue-table-shell{border:1px solid rgba(45,55,72,.08);border-radius:12px;overflow:hidden}.whatsconnect-reference-queue-table{width:100%;border-collapse:collapse}.whatsconnect-reference-queue-table thead th{background:transparent;color:#72819b;font-size:.72rem;font-weight:600;letter-spacing:.03em;padding:.92rem .55rem;text-align:left;text-transform:uppercase;white-space:nowrap}.whatsconnect-reference-queue-table tbody td{border-top:1px solid rgba(45,55,72,.08);color:#2f3f55;font-size:.76rem;padding:10px 12px;vertical-align:middle}.whatsconnect-reference-queue-table th:nth-child(n+4),.whatsconnect-reference-queue-table td:nth-child(n+4){text-align:center}.whatsconnect-reference-appointment-queue-table th:nth-child(n+4),.whatsconnect-reference-appointment-queue-table td:nth-child(n+4){text-align:left}.whatsconnect-reference-appointment-queue-table th:nth-child(6),.whatsconnect-reference-appointment-queue-table td:nth-child(6),.whatsconnect-reference-appointment-queue-table th:nth-child(7),.whatsconnect-reference-appointment-queue-table td:nth-child(7){text-align:center}@media(max-width:900px){.whatsconnect-reference-queue-card-head{flex-direction:column}.whatsconnect-reference-queue-tabbar,.whatsconnect-reference-queue-tabs{width:100%}}.whatsconnect-standard-page{display:grid;gap:1.15rem}.whatsconnect-standard-page.whatsconnect-appointment-reference-page,.whatsconnect-standard-page.whatsconnect-marketing-page,.whatsconnect-standard-page.whatsconnect-reference-queue-page,.whatsconnect-standard-page.whatsconnect-reference-setting-page{padding:0;background:transparent;box-shadow:none;border:0;border-radius:0}.whatsconnect-standard-page .patients-page-topbar{margin-bottom:0}.whatsconnect-standard-page .page-breadcrumb strong{color:#406bb3}.whatsconnect-standard-sheet{gap:1rem}.whatsconnect-standard-sheet>.communication-status-banner:first-child,.whatsconnect-standard-sheet>.whatsconnect-appointment-toolbar:first-child,.whatsconnect-standard-sheet>.patient-detail-tabbar:first-child,.whatsconnect-standard-sheet>.whatsconnect-reference-settings-layout:first-child{margin-top:0}.whatsconnect-automation-panel{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:.9rem;padding:.78rem .88rem;border:1px solid #dbe7f6;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#eef6ff)}.whatsconnect-automation-panel.is-on{border-color:#b8d9ce;background:linear-gradient(135deg,#f4fbf8,#e7f7f0)}.whatsconnect-automation-copy{display:grid;gap:.14rem}.whatsconnect-automation-kicker{color:#7890ad;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.whatsconnect-automation-copy strong{color:#22314e;font-size:.92rem;font-weight:800}.whatsconnect-automation-copy p{margin:0;color:#687792;font-size:.78rem}.whatsconnect-automation-counts{display:flex;flex-wrap:wrap;gap:.42rem;justify-content:flex-end}.whatsconnect-automation-counts span{display:inline-flex;align-items:baseline;gap:.24rem;padding:.34rem .55rem;border:1px solid rgba(114,142,180,.22);border-radius:999px;background:#ffffffc7;color:#65748d;font-size:.72rem;font-weight:700}.whatsconnect-automation-counts strong{color:#283953;font-size:.82rem}.whatsconnect-automation-switch{display:inline-flex;align-items:center;gap:.44rem;color:#53647d;font-size:.78rem;font-style:normal;font-weight:800;white-space:nowrap}.whatsconnect-automation-switch input{position:absolute;opacity:0;pointer-events:none}.whatsconnect-automation-switch span{position:relative;width:46px;height:26px;border-radius:999px;background:#cbd7e8;box-shadow:inset 0 0 0 1px #576f9124;transition:background .16s ease,box-shadow .16s ease}.whatsconnect-automation-switch span:after{content:"";position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #32466438;transition:transform .16s ease}.whatsconnect-automation-switch input:checked+span{background:#4f9d7b}.whatsconnect-automation-switch input:checked+span:after{transform:translate(20px)}.whatsconnect-automation-switch input:focus-visible+span{outline:3px solid rgba(74,111,194,.22);outline-offset:2px}.whatsconnect-automation-switch input:disabled+span{cursor:not-allowed;opacity:.55}.whatsconnect-automation-switch em{font-style:normal}@media(max-width:980px){.whatsconnect-automation-panel{grid-template-columns:1fr;align-items:stretch}.whatsconnect-automation-counts{justify-content:flex-start}}
