:root{--porcelain:#f6f8fb;--white:#fff;--sunk:#eef1f6;--ink:#142034;--slate:#5b6b82;--line:#e4e9f0;--line-soft:#eef1f7;--teal:#bbe12a;--teal-hover:#a8cc1f;--teal-deep:#7c9a12;--teal-wash:#f1f8d6;--teal-line:#dcec9e;--verified:#2f8f6b;--verified-bg:#e7f4ee;--verified-ink:#1f6e50;--verified-line:#bfe2d3;--amber:#c8781e;--amber-bg:#fbf1e3;--amber-ink:#8a5210;--danger:#b5322f;--radius:10px;--shadow:0 1px 1px rgba(20,32,52,.04),0 6px 20px rgba(20,32,52,.05);--t-xs:11.5px;--t-sm:13px;--t-base:15px;--t-md:17px;--t-lg:21px;--t-xl:27px;--t-2xl:34px;--amber-line:#ebd6b6;--danger-line:#eec7c5;--on-teal:#fff;--on-lime:#142034;--shade:rgba(20,32,52,.55)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--porcelain:#0c1524;--white:#16223a;--sunk:#101a2c;--ink:#e9edf3;--slate:#93a0b8;--line:#283751;--line-soft:#1d283e;--teal:#bbe12a;--teal-hover:#cbe95a;--teal-deep:#d8ee85;--teal-wash:#212d13;--teal-line:#3a4a1e;--verified:#4cb28b;--verified-bg:#12271f;--verified-ink:#7fd1af;--verified-line:#23503e;--amber:#e2a25a;--amber-bg:#2e2413;--amber-ink:#f0c27a;--amber-line:#4a3a1c;--danger:#d97d72;--danger-line:#4a2320;--on-teal:#0c1524;--on-lime:#142034;--shadow:0 1px 1px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.28);--shade:rgba(0,0,0,.62)}}:root[data-theme=dark]{--porcelain:#0c1524;--white:#16223a;--sunk:#101a2c;--ink:#e9edf3;--slate:#93a0b8;--line:#283751;--line-soft:#1d283e;--teal:#bbe12a;--teal-hover:#cbe95a;--teal-deep:#d8ee85;--teal-wash:#212d13;--teal-line:#3a4a1e;--verified:#4cb28b;--verified-bg:#12271f;--verified-ink:#7fd1af;--verified-line:#23503e;--amber:#e2a25a;--amber-bg:#2e2413;--amber-ink:#f0c27a;--amber-line:#4a3a1c;--danger:#d97d72;--danger-line:#4a2320;--on-teal:#0c1524;--on-lime:#142034;--shadow:0 1px 1px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.28);--shade:rgba(0,0,0,.62)}:root{color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark}}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--porcelain);color:var(--ink);font-size:var(--t-base);line-height:1.55;-webkit-font-smoothing:antialiased;min-width:0}body,h1,h2,h3,html{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif}h1,h2,h3{font-weight:500;letter-spacing:-.012em;text-wrap:balance}h1{font-size:var(--t-xl);line-height:1.15}h2{font-size:var(--t-lg)}h3{font-size:var(--t-md)}.mono{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:var(--teal-deep);text-underline-offset:3px}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.eyebrow{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--t-xs);letter-spacing:.13em;text-transform:uppercase;color:var(--slate)}.topbar{background:var(--white);border-bottom:1px solid var(--line);padding:10px 0;position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar .row{justify-content:space-between;gap:10px;flex-wrap:nowrap}.topbar .row,.topbar-actions,.topbar-primary{display:flex;align-items:center;min-width:0}.topbar-primary{gap:14px}.topbar-actions{gap:12px;justify-content:flex-end}.brand{white-space:nowrap;display:inline-flex;align-items:center;text-decoration:none;color:inherit}.brand-logo{display:inline-block;line-height:0;flex:0 0 auto}.brand-logo-image{display:block;width:100%;height:auto}.brand-logo-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo-light{display:none}:root:not([data-theme=light]) .brand-logo-dark{display:block}}:root[data-theme=dark] .brand-logo-light{display:none}:root[data-theme=dark] .brand-logo-dark,:root[data-theme=light] .brand-logo-light{display:block}:root[data-theme=light] .brand-logo-dark{display:none}.brand-logo-header{width:142px}.auth-brand{width:220px;margin-bottom:8px}.auth-brand-small{width:150px;margin-bottom:16px}.topbar-user{color:var(--slate);font-size:var(--t-sm);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.theme-toggle{cursor:pointer}.logout-button{padding:7px 14px;white-space:nowrap;flex:0 0 auto}.conn{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-sm);font-weight:500;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 10px;color:var(--slate);background:var(--white);white-space:nowrap}.conn:hover{border-color:var(--slate)}.conn .dot{width:7px;height:7px;border-radius:50%;background:var(--line);flex-shrink:0}.conn.live{color:var(--teal-deep);border-color:var(--teal);background:var(--teal-wash)}.conn.live .dot{background:var(--teal)}.conn.off .dot{background:var(--amber)}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);overflow-wrap:anywhere}.panel+.panel{margin-top:16px}.panel .label{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:12px}.btn{font:inherit;font-size:14px;font-weight:600;border-radius:9px;padding:9px 14px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;transition:background-color .12s,border-color .12s,color .12s;min-height:40px;white-space:nowrap}.btn:hover{border-color:var(--slate)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--teal);border-color:var(--teal);color:var(--on-lime)}.btn.primary:hover{background:var(--teal-hover);border-color:var(--teal-hover)}.btn.danger{color:var(--danger);border-color:var(--danger-line)}.btn.big{font-size:15px;padding:12px 18px}label{display:block;font-size:12px;font-weight:600;color:var(--slate);margin-bottom:5px}input,select,textarea{font:inherit;font-size:14px;width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--white);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}.field{margin-bottom:12px}.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.patient-search{min-width:0}.template-manager h2{font-size:19px}.template-manager-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.template-manager-head .label{margin-bottom:3px}.template-manager-intro{margin-top:8px}.template-message{color:var(--verified-ink);background:var(--verified-bg);border:1px solid var(--verified-line);border-radius:8px;padding:9px 11px;margin-top:12px;font-size:13px}.template-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.template-form textarea{resize:vertical}.field-help{color:var(--slate);font-size:12px;margin-top:5px}.template-form-actions{display:flex;gap:8px;flex-wrap:wrap}.custom-template-list{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.custom-template{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--porcelain)}.custom-template-copy{display:flex;flex-direction:column;min-width:0}.custom-template-copy strong{font-size:14px}.custom-template-copy span{color:var(--slate);font-size:12.5px}.built-in-template small,.custom-template-copy small{color:var(--slate);font-size:11.5px}.custom-template-actions{display:flex;gap:8px;flex:0 0 auto}.custom-template-actions .btn{padding:7px 10px}.template-empty{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px dashed var(--line);border-radius:9px;color:var(--slate);font-size:13px}.template-empty strong{color:var(--ink)}.built-in-templates{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.built-in-templates summary{cursor:pointer;color:var(--ink);font-size:13px;font-weight:600;display:list-item;padding:9px 0}.built-in-template-list{display:grid;grid-gap:1px;gap:1px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.built-in-template{display:flex;flex-direction:column;padding:10px 12px;background:var(--porcelain);border-bottom:1px solid var(--line)}.built-in-template:last-child{border-bottom:0}.built-in-template strong{font-size:13.5px}.built-in-template>span{color:var(--slate);font-size:12.5px}.built-in-template small{margin-top:4px;line-height:1.45}.flag{display:inline-flex;align-items:center;gap:6px;background:var(--amber-bg);color:var(--amber-ink);border:1px solid var(--amber-line);border-radius:8px;padding:6px 10px;font-size:13px;margin:4px 6px 0 0}.pill{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--porcelain);color:var(--slate)}.pill.recording{color:var(--danger);border-color:var(--danger-line)}.pill.draft{color:var(--amber-ink);border-color:var(--amber-line);background:var(--amber-bg)}.pill.pushed{color:var(--teal-deep);border-color:var(--teal);background:var(--teal-wash)}.transcript{background:var(--porcelain);border:1px solid var(--line);border-radius:10px;padding:13px;height:280px;overflow-y:auto;font-size:15px;line-height:1.6}.transcript .final{color:var(--ink)}.transcript .interim{color:var(--slate)}.editor{min-height:420px;border:1px solid var(--line);border-radius:10px;padding:18px;background:var(--white);overflow-y:auto}.editor:focus{outline:2px solid var(--teal)}.editor h3{font-size:15px;margin:14px 0 4px}.editor mark{background:var(--amber-bg);color:var(--amber-ink);padding:0 3px;border-radius:3px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.stack>*+*{margin-top:12px}.muted{color:var(--slate);font-size:var(--t-sm)}.error{color:var(--danger);font-size:14px;margin-top:8px}.rec-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--danger);animation:pulse 1.2s infinite;margin-right:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--on-teal);padding:12px 20px;border-radius:10px;font-size:14px;z-index:100;box-shadow:var(--shadow)}.toast.warn{background:var(--amber-ink)}table.data{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}table.data td,table.data th{padding:8px 11px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--line)}table.data th{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);background:var(--sunk)}table.data tr:last-child td{border-bottom:none}@media (max-width:820px){.grid-2{grid-template-columns:1fr}}@media (max-width:560px){.wrap{padding:0 14px}.eu-chip{display:none}.grid-2{grid-template-columns:1fr}.panel{padding:14px}.pagehead .btn.big{width:100%}input,select,textarea{font-size:16px;min-height:44px}.btn{min-height:44px}.topbar{padding:8px 0;position:static}.topbar .row{align-items:stretch;flex-direction:column;gap:8px}.topbar-actions,.topbar-primary{width:100%;justify-content:space-between}.topbar-primary{gap:10px}.topbar-actions{gap:8px}.topbar-user{margin-left:auto;max-width:125px}.theme-toggle,.topbar-actions>.pill{min-height:40px;display:inline-flex;align-items:center}.brand-logo-header{width:128px}.conn{max-width:190px;overflow:hidden;text-overflow:ellipsis}.auth-brand{width:190px}.auth-brand.auth-brand-small{width:150px}.auth-page{padding:14px}}@media (min-width:561px) and (max-width:1024px){body{font-size:16px}.grid-2{grid-template-columns:1fr;gap:16px}.btn{padding:12px 18px;font-size:15px}.btn.big{padding:16px 24px;font-size:17px;width:100%}input,select,textarea{padding:12px 13px;font-size:16px}label{font-size:13px}table.data td,table.data th{padding:11px 13px;font-size:14.5px}.transcript{height:240px;font-size:16px}.editor{min-height:320px;font-size:16px}.pill{padding:5px 11px;font-size:12px}}@media (hover:none) and (pointer:coarse){.btn{min-height:44px}input[type=checkbox]{width:22px;height:22px}a.btn{display:inline-flex;align-items:center}}.quad{display:grid;grid-template-columns:1fr 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.quad .cell{padding:22px 24px 20px;min-width:0}.quad .cell:nth-child(odd){border-right:1px solid var(--line)}.quad .cell:nth-child(-n+2){border-bottom:1px solid var(--line)}.quad .figure{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:clamp(30px,6vw,42px);line-height:1;letter-spacing:-.02em;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;color:var(--ink);display:flex;align-items:baseline;gap:6px}.quad .figure .unit{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:0}.quad .cap,.quad .figure .unit{font-size:var(--t-sm);color:var(--slate)}.quad .cap{margin-top:8px}.quad .cell.needs .figure{color:var(--amber-ink)}@media (max-width:560px){.quad .cell{padding:16px 16px 14px}}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.pagehead .date{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}.awaiting{border-style:dashed;box-shadow:none;background:transparent}.awaiting .label{color:var(--slate)}.patientbar{position:-webkit-sticky;position:sticky;top:53px;z-index:15;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 18px;margin:10px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.patient-identity{min-width:0}.patientbar .who{font-size:var(--t-lg);font-weight:500;letter-spacing:-.012em;line-height:1.15}.patientbar .dob,.patientbar .who{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif}.patientbar .dob{font-size:var(--t-xs);color:var(--slate);letter-spacing:.06em;margin-top:2px}.steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.steps .step{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-sm);color:var(--slate);white-space:nowrap}.steps .step .n{width:21px;height:21px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:11px;background:var(--white)}.steps .step.done .n{background:var(--teal-wash);border-color:var(--teal);color:var(--teal-deep)}.steps .step.now{color:var(--ink);font-weight:600}.steps .step.now .n{background:var(--teal);border-color:var(--teal);color:var(--on-lime)}.steps .sep{width:16px;height:1px;background:var(--line);flex-shrink:0}.transcript{background:var(--sunk)}.editor{font-size:var(--t-md);line-height:1.65;max-width:68ch}.editor h3{font-family:Libre Franklin,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--t-base);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--teal-deep)}@media (max-width:700px){.patientbar{position:static}.steps .sep{display:none}}.consult-choice-panel{margin-top:18px;max-width:620px}.consult-choice-title{font-size:20px;margin:7px 0 14px}.mode-choice-list{display:grid;grid-gap:10px;gap:10px}.mode-choice{width:100%;min-height:92px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);text-align:left;font:inherit;cursor:pointer;box-shadow:0 1px 1px rgba(20,32,52,.03);transition:border-color .15s ease,background-color .15s ease}.mode-choice:hover{border-color:var(--teal);background:var(--teal-wash)}.mode-choice:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.mode-choice-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.mode-choice-copy strong{font-size:15.5px}.mode-choice-copy span{color:var(--slate);font-size:13.5px;line-height:1.4}.mode-choice-tag{color:var(--slate);border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;white-space:nowrap}.manual-note-option{color:var(--slate);font-size:13px;margin-top:14px}.text-action{min-height:36px;margin:-8px -8px -8px 0;padding:8px;border:0;background:transparent;color:var(--teal-deep);font:inherit;font-weight:600;cursor:pointer}.privacy-note{color:var(--slate);font-size:12px;line-height:1.5;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.recording-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.recording-actions .btn{flex:0 1 auto}.referral-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px}.referral-actions{display:flex;gap:8px;flex-wrap:wrap}.review-actions{display:flex;gap:10px;align-items:flex-end;margin-top:14px;flex-wrap:wrap}.review-tooth-field{margin:0;width:130px}@media (max-width:560px){.patientbar{padding:14px;margin:10px 0 16px;gap:12px}.patient-identity{width:100%}.patientbar .who{font-size:19px}.steps{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px}.steps>span{min-width:0}.steps .step{gap:5px;font-size:12px}.steps .step .n{width:20px;height:20px}.consult-choice-panel{margin-top:16px}.consult-choice-title{font-size:19px}.mode-choice{min-height:0;gap:10px;padding:15px}.mode-choice-tag{justify-self:start}.recording-actions{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.recording-actions .btn,.review-actions .btn,.review-tooth-field{width:100%}.referral-toolbar{align-items:flex-start;flex-direction:column}.editor{min-height:340px;padding:14px;font-size:16px}.transcript{height:220px}.toast{width:calc(100% - 28px);bottom:14px}table.data{display:block;overflow-x:auto;white-space:nowrap}.custom-template,.template-manager-head{align-items:flex-start}.custom-template{flex-direction:column}.custom-template-actions{width:100%}.custom-template-actions .btn,.template-form-actions .btn{flex:1 1}}@media (max-width:380px){.mode-choice{grid-template-columns:1fr}.mode-choice-tag{justify-self:start}}:root.theme-switching *,:root.theme-switching :after,:root.theme-switching :before{transition:none!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}