:root{--ink:var(--palette-24343b);--muted:var(--palette-74818a);--teal:var(--palette-176d64);--teal-light:var(--palette-e7f3ee);--border:var(--palette-e4e9e7);--bg:var(--palette-f5f7f6);--purple:var(--palette-6d6283);--sidebar:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--teal);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1{font-size:29px;font-weight:650;letter-spacing:-.8px;line-height:1.3}h2{font-size:18px;font-weight:650;letter-spacing:-.3px}h3{font-size:15px}p{margin:7px 0}small{font-size:11px}.sidebar{width:224px;background:var(--sidebar);border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 18px 0;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:26px;font-weight:700;letter-spacing:-1px;padding:0 10px}.brand-mark{background:var(--teal);color:#fff;border-radius:12px;display:grid;place-items:center;width:38px;height:38px;font-size:30px;font-weight:400}.brand-iq{color:var(--teal)}.brand small{display:block;font-size:9px;letter-spacing:2.8px;font-weight:600;color:var(--muted);margin-top:-2px}.workspace-label{font-size:9px;color:var(--palette-929b9d);letter-spacing:1.5px;margin:42px 12px 16px}nav{display:grid;gap:5px}nav a{display:flex;align-items:center;gap:12px;border-radius:7px;padding:11px 12px;color:var(--palette-68757a);font-size:13px;font-weight:500}nav a>span:first-child{font-size:19px;width:19px;text-align:center;color:var(--palette-85928f)}nav a:hover{background:var(--palette-f5f7f6)}nav a.active{background:var(--teal-light);color:var(--teal);font-weight:650}nav a.active>span{color:var(--teal)}.nav-count{margin-left:auto;font-size:10px!important;background:#efe5dc;color:#986b3d!important;border-radius:5px;padding:0 5px}.sidebar-bottom{margin-top:auto;padding:28px 10px 16px;font-size:11px;color:var(--palette-61716c)}.sidebar-bottom p{font-size:10px;color:var(--palette-99a29f);margin:3px 0 8px 14px}.demo-dot,.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--palette-4d9a82);margin-right:5px}.staff{display:flex;align-items:center;gap:10px;padding:18px 7px;border-top:1px solid var(--border);font-size:12px;font-weight:600}.staff small{display:block;color:var(--muted);font-weight:400}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--palette-e8e6ef);color:var(--palette-786d8a);font-size:12px}.avatar.small{width:30px;height:30px}.workspace{margin-left:224px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:20px;padding:0 35px}.search-wrap{position:relative;display:flex;align-items:center;gap:10px;max-width:600px;width:65%;color:var(--palette-9aa4a3)}.search-wrap>span{font-size:27px}.search-wrap input{border:0;background:transparent;flex:1;min-width:0;font-size:13px;padding:12px 0}.search-wrap kbd{border:1px solid var(--border);padding:0 6px;border-radius:4px;font-size:11px}.practice-name{margin-left:auto;color:var(--palette-74837e);font-size:12px;white-space:nowrap}.status-dot{margin:0 0 2px 8px}.search-results{position:absolute;top:50px;left:0;right:0;background:#fff;border:1px solid var(--border);box-shadow:0 12px 25px var(--palette-22372c14);border-radius:9px;z-index:30;overflow:hidden}.search-results button{display:block;width:100%;padding:14px 18px;border:0;border-bottom:1px solid var(--border);text-align:left;background:#fff}.search-results button:hover{background:var(--teal-light)}.search-results span{display:block;font-size:11px;color:var(--muted)}.prototype-strip{padding:8px 35px;background:#f0eee7;color:#897a58;font-size:9px;font-weight:700;letter-spacing:1px}.prototype-strip span{margin-left:12px;font-weight:400;letter-spacing:0;font-size:11px}main{padding:28px 35px 45px;max-width:1700px;margin:auto}.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--palette-87938f);font-weight:650;margin-bottom:5px}.synthetic-tag{font-size:8px;letter-spacing:.7px;background:#eee9df;color:#8b7957;padding:2px 5px;border-radius:3px;margin-left:8px}.patient-header{display:flex;align-items:center;gap:16px;margin-bottom:22px}.patient-avatar{width:57px;height:57px;border:1px solid var(--palette-d5e5dd);border-radius:16px;background:var(--palette-e8f0eb);color:var(--teal);display:grid;place-items:center;font-size:21px;font-weight:550}.patient-meta{display:flex;gap:18px;font-size:11px;color:var(--muted);margin-top:6px}.patient-meta span+span{position:relative}.patient-meta span+span:before{content:'·';position:absolute;left:-11px}.mono{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px}.header-actions{margin-left:auto;display:flex;gap:9px}.button{border:1px solid transparent;border-radius:6px;padding:9px 14px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.button.primary{background:var(--teal);color:white}.button.primary:hover{background:var(--palette-11554e)}.button.secondary{background:white;border-color:var(--palette-dae2de);color:var(--palette-4f625b)}.button.secondary:hover{background:var(--palette-f4f8f6)}.button.danger{background:#fceeee;color:#a34545;border-color:#edcccc}.button.compact{padding:6px 10px;font-size:11px}.text-button{background:none;border:0;color:var(--teal);font-size:11px;padding:0}.patient-tabs{display:flex;gap:27px;border-bottom:1px solid var(--border);margin-bottom:24px;font-size:12px}.patient-tabs a{padding:0 0 13px;color:var(--palette-8a9490)}.patient-tabs a.active{border-bottom:2px solid var(--teal);color:var(--teal);font-weight:650}.overview-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.overview-top h2{font-size:21px}.muted{color:var(--muted);font-size:12px}.compact{font-size:11px}.pill{border:1px solid var(--border);border-radius:5px;padding:4px 8px;font-size:10px;color:var(--palette-6e8077);background:var(--palette-fafcfa);white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 0 23px}.metric{background:#fff;border:1px solid var(--border);border-radius:9px;padding:18px 19px}.metric>span{display:block;font-size:11px;color:var(--palette-849089);margin-bottom:9px}.metric strong{display:block;font-size:20px;letter-spacing:-.4px;font-weight:600}.metric small{display:block;font-size:10px;color:var(--palette-98a29c);margin-top:5px;line-height:1.5}.metric-grid.three{grid-template-columns:repeat(3,1fr)}.overview-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:22px}.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px;margin-bottom:20px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.card-heading a{font-size:11px}.study-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border);padding:20px 0 24px}.study-metrics>div{padding:0 13px;border-right:1px solid var(--border)}.study-metrics>div:first-child{padding-left:0}.study-metrics>div:last-child{border:0}.study-metrics strong{font-size:30px;font-weight:500;letter-spacing:-1px;color:var(--teal);display:block}.study-metrics strong small{font-size:15px;font-weight:400}.study-metrics span{display:block;font-size:10px;color:var(--palette-89958e);margin-top:5px}.study-metrics span small{display:block;font-size:9px;line-height:1.4}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0}.detail-grid label{font-size:10px;color:var(--palette-8b9890)}.detail-grid p{font-size:12px;margin:4px 0}.trial-band{padding:12px;background:var(--palette-eef6f2);border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:10px;color:var(--palette-678375)}.trial-band strong{color:var(--teal);font-weight:600}.trial-band>span:last-child{margin-left:auto}.care-row{background:transparent;border:0;border-top:1px solid var(--palette-eff2f0);display:flex;align-items:center;gap:13px;padding:17px 0;width:100%;text-align:left;color:var(--ink)}.care-row strong{font-size:12px;font-weight:600}.care-row p{font-size:10px;color:var(--muted);margin:3px 0 0}.care-row .badge{margin-left:auto}.care-row>span:last-child{color:var(--palette-91a198)}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--palette-66a08c);flex-shrink:0}.badge{display:inline-block;font-size:9px;font-weight:600;border-radius:4px;padding:3px 7px;white-space:nowrap}.badge.positive{background:#eaf4ef;color:#558970}.badge.negative{background:#fbeceb;color:#b45c53}.badge.neutral{background:var(--palette-f0edf6);color:var(--palette-86729c)}.next-step{display:flex;gap:12px;padding:16px 0;border-top:1px solid var(--palette-eff2f0)}.step-icon{width:30px;height:30px;border-radius:8px;background:var(--palette-f1edf5);color:var(--palette-8d7ca2);display:grid;place-items:center;font-size:20px}.next-step strong{font-size:12px}.next-step p{font-size:11px;color:var(--palette-84938b);margin:3px 0}.next-step small{font-size:10px;color:var(--palette-a0a9a3)}.info-box{background:var(--palette-f4f6f3);color:var(--palette-7a8b7e);border:1px solid var(--palette-e9eee7);border-radius:6px;font-size:11px;line-height:1.6;padding:12px 14px;margin:14px 0}.details{display:grid;grid-template-columns:110px minmax(0,1fr);font-size:11px;gap:15px 14px;margin:17px 0 5px;overflow-wrap:anywhere}.details dt{color:var(--palette-8a968f)}.details dd{margin:0;color:var(--palette-53625b)}.integration-card{display:flex;gap:12px;background:var(--palette-eeedf3);border:1px solid var(--palette-e4e1ec);border-radius:9px;padding:20px;color:var(--palette-7f708f);margin-bottom:20px}.integration-card>span{font-size:23px;line-height:1.3}.integration-card strong{font-size:12px}.integration-card p{font-size:11px;line-height:1.7}.integration-card a{color:var(--palette-77628a);font-size:11px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:8px 0 28px}.page-heading p{font-size:12px;color:var(--muted);margin-top:9px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading p{max-width:620px}.filterbar{display:flex;align-items:center;gap:12px;margin:0 0 20px}.filterbar input{max-width:420px;flex:1}.filterbar select{width:auto;min-width:130px}input,select,textarea{border:1px solid var(--palette-dce4df);background:#fff;color:var(--ink);border-radius:6px;padding:10px 12px;font-size:12px;width:100%}input::placeholder,textarea::placeholder{color:var(--palette-a0aaa4)}input:focus,select:focus,textarea:focus{border-color:var(--palette-5b9a86);outline:2px solid var(--palette-d4e9df)}textarea{resize:vertical;line-height:1.8}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:9px;letter-spacing:.7px;font-weight:600;text-transform:uppercase;color:var(--palette-97a19c);padding:12px 14px;border-bottom:1px solid var(--border);background:var(--palette-fafbf9)}td{padding:17px 14px;border-bottom:1px solid var(--palette-edf0ed);font-size:11px}tbody tr:last-child td{border:0}td strong{font-size:12px;font-weight:550}.cell-sub{display:block;font-size:10px;color:var(--palette-96a098);margin-top:4px}.table-scroll{overflow:auto}.empty{text-align:center;padding:35px;color:var(--muted);font-size:12px}.channel{font-size:10px;letter-spacing:.4px}.notes-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px}.note-list-item{background:#fff;text-align:left;border:1px solid var(--border);border-radius:8px;padding:18px;width:100%;margin-bottom:11px;color:var(--ink)}.note-list-item.selected{border-color:var(--palette-75a68e);background:var(--palette-f0f7f2);box-shadow:inset 3px 0 var(--teal)}.note-list-item>div{font-size:10px;color:var(--palette-8a968f);display:flex;justify-content:space-between;gap:7px;align-items:center}.note-list-item h3{margin:10px 0;font-size:13px}.note-list-item p{font-size:11px;color:var(--palette-7b8980);line-height:1.7}.note-list-item small{font-size:9px;color:var(--palette-99a39d)}.note-reader{padding:30px;min-height:570px}.note-reader h2{font-size:24px}.reader-meta{font-size:11px;color:var(--palette-8a968f);margin:11px 0 28px}.reader-meta .badge{margin-left:10px}.note-body{white-space:pre-wrap;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.note-provenance{margin-top:40px;border-top:1px solid var(--border);padding-top:16px;color:var(--palette-98a39b);font-size:10px;line-height:1.9}.diary-card{padding:0;overflow:hidden}.diary-toolbar{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid var(--border)}.diary-toolbar>div{display:flex;gap:5px}.diary-toolbar h2{font-size:16px;margin-right:auto}.diary-toolbar input{width:145px;font-size:10px}.day-header{display:grid;grid-template-columns:78px 1fr;padding:14px 0;background:var(--palette-f8faf7)}.day-header>span{font-size:7px;text-align:center;color:var(--palette-8c9a92)}.day-header strong{font-size:11px;padding-left:18px}.day-header small{margin-left:12px;color:var(--palette-98a49b);font-weight:400}.day-grid{display:grid;grid-template-columns:78px minmax(0,1fr);grid-template-rows:repeat(var(--diary-slots,20),45px);position:relative}.time-label{font-size:10px;color:var(--palette-a2ada5);text-align:center;padding-top:10px;border-top:1px solid var(--palette-f1f3f0)}.time-slot{background:#fff;border:0;border-top:1px solid var(--palette-eef2ee);text-align:left;padding:8px 20px;color:var(--palette-9cac9f)}.time-slot span{opacity:0;font-size:11px}.time-slot:hover{background:var(--palette-f4f8f3)}.time-slot:hover span{opacity:1}.calendar-event{position:absolute;left:95px;right:22px;top:calc(var(--start)*45px + 3px);height:calc(var(--length)*45px - 6px);min-height:38px;border:1px solid var(--palette-d6e7dd);border-left:3px solid var(--palette-5a9a80);border-radius:6px;background:var(--palette-eaf4ed);color:var(--palette-396654);text-align:left;padding:8px 13px;overflow:hidden}.calendar-event>div{display:flex;justify-content:space-between;font-size:11px}.calendar-event strong{font-size:12px}.calendar-event p{font-size:10px;margin:3px 0}.calendar-event small{font-size:9px;color:var(--palette-7c9587)}.report-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px}.report-grid form>label{display:block;font-size:11px;color:var(--palette-73877b);margin:16px 0 0}.report-grid form label>input,.report-grid form label>select,.report-grid form label>textarea{margin-top:6px}.report-grid form>.button{margin-top:24px}.checkbox-row{display:flex!important;align-items:center;gap:12px;background:var(--palette-f8faf6);border:1px solid var(--border);padding:11px;border-radius:6px;color:var(--ink)!important}.checkbox-row input{width:16px;margin:0!important;accent-color:var(--teal)}.document-row{display:flex;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--border)}.document-row>span{font-size:23px;color:var(--palette-8b9b90)}.document-row strong{font-size:11px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.settings-grid .card{margin:0}.settings-row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;border-top:1px solid var(--border);padding:12px 0}.settings-row>span{color:var(--palette-8c9c90);font-size:10px;flex-shrink:0}dialog{border:1px solid var(--border);border-radius:14px;padding:26px;width:540px;max-width:calc(100vw - 30px);max-height:calc(100vh - 50px);box-shadow:0 25px 90px var(--palette-183d3033);color:var(--ink)}dialog.wide{width:780px}dialog::backdrop{background:var(--palette-17382e66);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.dialog-heading h2{font-size:21px}.icon-button{border:0;background:var(--palette-f2f5f0);border-radius:50%;width:29px;height:29px;font-size:22px;color:var(--palette-7e8f83)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}dialog form label{display:block;font-size:11px;color:var(--palette-73877b);margin-bottom:16px}dialog form label>input,dialog form label>select,dialog form label>textarea{margin-top:6px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.form-error{color:#a9544b;font-size:12px}.message-body{background:var(--palette-f6f8f4);padding:20px;border-radius:6px;font-size:13px;margin-top:20px}.letter-preview{border:1px solid var(--border);background:#fff;padding:28px}.letter-brand{font-size:17px;letter-spacing:2px;color:var(--teal);font-weight:650;border-bottom:1px solid var(--border);padding-bottom:18px}.letter-brand small{display:block;letter-spacing:0;color:var(--muted);font-weight:400}.letter-preview>p{font-size:12px;margin:20px 0}.letter-preview h3{font-size:17px}.letter-preview hr{border:0;border-top:1px solid var(--border);margin:24px 0}.toast{position:fixed;bottom:25px;right:30px;max-width:440px;background:var(--palette-214f42);color:white;border-radius:9px;padding:14px 21px;font-size:12px;box-shadow:0 7px 20px var(--palette-153c2a22);z-index:100}.text-button:hover,a:hover{text-decoration:underline}nav a:hover{text-decoration:none}@media(min-width:1500px){main{padding:36px 48px}.overview-grid{grid-template-columns:2fr 1fr}.metric{padding:22px}.card{padding:25px}}@media(max-width:1150px){.sidebar{width:195px;padding-left:12px;padding-right:12px}.workspace{margin-left:195px}main{padding:24px}.topbar{padding:0 24px}.overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr)}.metric-grid{gap:10px}.metric{padding:14px}.metric strong{font-size:17px}.notes-layout{grid-template-columns:260px minmax(0,1fr)}.patient-header{flex-wrap:wrap}.header-actions{margin-left:auto}.study-metrics strong{font-size:25px}.diary-toolbar{flex-wrap:wrap}}@media(max-width:850px){.sidebar{width:68px;padding:25px 8px 0}.brand{padding:0 6px}.brand>span:last-child,.workspace-label,.sidebar-bottom,.staff,nav a>span:not(:first-child){display:none}.brand-mark{width:36px;height:36px;flex-shrink:0}nav{margin-top:35px}nav a{font-size:0;justify-content:center;padding:12px 8px}nav a>span:first-child{font-size:21px}nav a{gap:0}.workspace{margin-left:68px}.overview-grid,.report-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.practice-name{display:none}.search-wrap{width:100%}.prototype-strip{padding:8px 24px}.prototype-strip span{display:block;margin:3px 0}.notes-layout{grid-template-columns:1fr}.note-reader{min-height:0}.settings-grid{grid-template-columns:1fr}table{min-width:600px}.card:has(>table){overflow:auto}.header-actions{width:100%;margin-left:73px}.overview-top{align-items:flex-start}.overview-top .pill{display:none}}@media(max-width:520px){main{padding:20px 14px}.topbar{padding:0 15px;height:62px}.topbar>.avatar{display:none}.search-wrap kbd{display:none}.search-wrap input{font-size:11px}.patient-header{gap:12px}.patient-header h1{font-size:25px}.patient-meta{flex-wrap:wrap;gap:6px 18px}.patient-avatar{width:46px;height:46px}.header-actions{margin-left:0}.patient-tabs{gap:15px;overflow:auto;white-space:nowrap;font-size:10px}.metric-grid{gap:8px}.metric{padding:12px}.metric strong{font-size:16px}.metric small{font-size:9px}.card{padding:18px}.study-metrics{grid-template-columns:1fr 1fr;gap:20px}.study-metrics>div:nth-child(3){padding-left:0}.study-metrics>div:nth-child(2){border:0}.study-metrics strong{font-size:29px}.detail-grid{gap:13px}.page-heading{flex-wrap:wrap;gap:15px}.filterbar{flex-wrap:wrap}.filterbar input{flex-basis:100%;max-width:none}.filterbar select{flex:1;min-width:100px}.metric-grid.three{grid-template-columns:1fr}.diary-toolbar{gap:12px}.diary-toolbar .pill{display:none}.diary-toolbar h2{font-size:14px}.section-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}dialog{padding:20px}.toast{left:85px;right:15px;bottom:15px}.letter-preview{padding:18px}.overview-top h2{font-size:19px}}
/* In-page clinical workspace */
.composer-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.composer-card{padding:25px}.composer-card form>label,.composer-card .form-grid label{display:block;font-size:11px;color:var(--palette-73877b);margin-bottom:15px}.composer-card label>input,.composer-card label>select{margin-top:6px}.composer-card label>.muted{margin-left:5px}.patient-reference{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;scrollbar-width:thin}.patient-reference>.card{padding:19px}.patient-reference h2{font-size:15px}.patient-reference .pill{font-size:8px;padding:3px 5px}.patient-reference>section>strong{font-size:13px}.reference-study{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;background:var(--palette-f1f7f3);border:1px solid var(--palette-e1eee5);border-radius:7px;padding:15px;margin:17px 0 10px}.reference-study label{display:block;color:var(--palette-7c9384);font-size:10px}.reference-study strong{font-size:24px;font-weight:550;color:var(--teal);display:block;letter-spacing:-.6px}.reference-study small{font-size:9px;color:var(--palette-8a9e8f)}.reference-insert{margin-top:20px;width:100%;font-size:10px}.patient-reference .details{grid-template-columns:88px minmax(0,1fr);gap:12px;font-size:10px}.past-visit{display:flex;gap:13px;align-items:center;padding:14px 0;border-top:1px solid var(--palette-edf1ed)}.past-visit strong{font-size:13px;font-weight:600}.past-visit p{font-size:11px;color:var(--palette-7c8c82);margin:3px 0}.past-visit small{font-size:10px;color:var(--palette-9aa69e)}.past-visit .badge{margin-left:auto}.appointment-snapshot>.muted{margin-top:12px}.patient-reference .past-visit{gap:9px}.patient-reference .past-visit strong{font-size:12px}.patient-reference .past-visit .badge{display:none}.patient-reference .past-visit p{font-size:10px}.rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;background:var(--palette-f6f8f5);border:1px solid var(--palette-dce5df);border-bottom:0;border-radius:7px 7px 0 0;padding:9px}.rich-toolbar button{border:1px solid transparent;background:transparent;border-radius:4px;padding:5px 9px;font-size:12px;color:var(--palette-53695b);min-width:30px}.rich-toolbar button:hover,.rich-toolbar button:focus-visible{background:var(--palette-e5eee7);border-color:var(--palette-d2e2d6)}.rich-toolbar button[data-rich-command=bold]{font-weight:750}.rich-toolbar button[data-rich-command=italic]{font-style:italic}.rich-toolbar button[data-rich-command=underline]{text-decoration:underline}.rich-content{white-space:normal;line-height:1.9;font-size:14px;overflow-wrap:anywhere}.rich-content p{margin:10px 0;min-height:1em}.rich-content h2{font-size:17px;margin:25px 0 8px;color:var(--palette-375f4c)}.rich-content h2:first-child{margin-top:5px}.rich-content h3{font-size:15px;margin:20px 0 8px}.rich-content ul,.rich-content ol{padding-left:26px}.rich-content table{border-collapse:collapse;margin:15px 0;font-size:13px;width:100%;table-layout:fixed;min-width:0}.rich-content td,.rich-content th{border:1px solid var(--palette-d9e3dc);padding:9px 12px;font-size:12px;text-transform:none;letter-spacing:0}.rich-content th{background:var(--palette-edf4ef);color:var(--palette-486654)}.rich-content tbody tr:last-child td{border:1px solid var(--palette-d9e3dc)}.rich-content blockquote{margin:16px 0;padding:4px 16px;border-left:3px solid var(--palette-91b29c);color:var(--palette-637d6b)}.rich-editor{border:1px solid var(--palette-dce5df);border-radius:0 0 7px 7px;padding:22px 25px;min-height:440px;background:white}.rich-editor:focus{outline:2px solid var(--palette-d5e8dc);outline-offset:0;border-color:var(--palette-7ea98a)}.table-builder{background:var(--palette-f5f8f3);padding:14px;display:flex;gap:14px;align-items:end;margin:10px 0;border-radius:6px}.table-builder[hidden]{display:none}.table-builder label{width:85px;margin:0!important}.table-builder button{margin-bottom:2px}.attachments-heading{display:flex;align-items:center;gap:16px;justify-content:space-between;margin:22px 0 8px}.attachments-heading strong{font-size:12px}.attachments-heading label{margin:0!important;font-size:11px!important;cursor:pointer}.file-input{position:absolute;width:1px;height:1px;padding:0;opacity:0;overflow:hidden}.note-attachment{display:flex;gap:10px;align-items:center;padding:12px;background:var(--palette-f8faf6);border:1px solid var(--palette-e2eae3);border-radius:7px;margin:8px 0}.note-attachment>span{font-size:22px;color:var(--palette-8ba18f)}.note-attachment strong{display:block;font-size:11px;overflow-wrap:anywhere}.note-attachment small{display:block;font-size:9px;color:var(--palette-95a399)}.note-attachment>div{flex:1;min-width:0}.saved-note-attachments{border-top:1px solid var(--border);margin-top:26px;padding-top:20px}.saved-note-attachments h3{font-size:12px;color:var(--palette-7b8e80)}.preview-heading{display:flex;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--border);font-size:11px}.preview-heading strong{overflow-wrap:anywhere}#attachment-preview{margin:15px 0;border:1px solid var(--palette-dce5df);border-radius:7px;overflow:hidden;background:var(--palette-f7f9f6)}#attachment-preview iframe{display:block;width:100%;height:460px;border:0}#attachment-preview img{display:block;max-width:100%;max-height:500px;object-fit:contain;margin:auto}#attachment-preview pre{padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.editor-footer{position:sticky;bottom:0;background:#fff;align-items:center;padding-bottom:8px}.editor-footer>span{margin-right:auto;font-size:10px}.editor-notice{border:1px solid #e7d8ba;border-radius:7px;background:#faf5e8;padding:13px;font-size:11px;color:#8e7345;margin:0 0 20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.editor-notice[hidden]{display:none}.editor-notice>span{flex:1;min-width:200px}@media(min-width:1500px){.composer-layout{grid-template-columns:minmax(0,1fr) 355px}}@media(max-width:1150px){.composer-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.composer-card{padding:19px}.patient-reference>.card{padding:16px}.patient-reference .card-heading{flex-wrap:wrap}.rich-editor{padding:20px}.editor-footer{flex-wrap:wrap}.editor-footer>span{width:100%}}@media(max-width:900px){.composer-layout{grid-template-columns:minmax(0,1fr)}.patient-reference{position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:15px}.patient-reference>.card{margin:0}.patient-reference{grid-row:1}.patient-reference .appointment-snapshot{align-self:start}.reference-study{gap:10px}.patient-reference .details{gap:8px}.rich-editor{min-height:350px}}@media(max-width:600px){.patient-reference{grid-template-columns:1fr}.patient-reference .appointment-snapshot{display:none}.patient-reference .details{grid-template-columns:90px 1fr}.reference-study{grid-template-columns:repeat(4,1fr);gap:6px;padding:11px}.reference-study strong{font-size:18px}.reference-study label{font-size:8px}.reference-study small{font-size:7px}.patient-reference .details{font-size:10px}.composer-card{padding:16px}.rich-toolbar{gap:1px;padding:7px}.rich-toolbar button{padding:4px 6px;font-size:10px}.rich-editor{padding:18px 15px}.table-builder{flex-wrap:wrap}.past-visit .badge{display:none}.note-attachment{flex-wrap:wrap}.note-attachment>div{flex-basis:65%}.editor-footer .button{font-size:11px;padding:8px 11px}.composer-card .form-grid{gap:0}}
.pdf-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;font-size:11px;color:var(--palette-798d80)}.pdf-controls button:disabled{opacity:.4;cursor:default}.pdf-canvas-wrap{padding:12px;background:var(--palette-e9ede8)}.pdf-canvas-wrap canvas{display:block;width:100%;height:auto;background:white;box-shadow:0 2px 8px var(--palette-2a4b3020)}
/* ClinicIQ identity: Care in focus. */
.brand{gap:10px}.brand:hover{text-decoration:none}.brand img.brand-mark{display:block;width:42px;height:42px;flex:0 0 42px;background:none;border-radius:0;object-fit:contain}.brand-iq{color:var(--palette-176d64)}.brand small{font-size:8px;letter-spacing:2.8px;margin-top:0}@media(max-width:1150px){.brand{font-size:23px;gap:9px}.brand img.brand-mark{width:38px;height:38px;flex-basis:38px}}@media(max-width:850px){.brand img.brand-mark{width:36px;height:36px;flex-basis:36px}.brand{padding:0 8px}}

.brand-iq{color:var(--palette-183e47)}

/* Structured note editor: calm groups, persistent formatting and inline tools. */
.rich-toolbar{display:block;padding:9px 10px}.rich-toolbar-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:4px 0}.rich-group{display:flex;flex-wrap:wrap;align-items:center;gap:3px;border-right:1px solid var(--border);padding-right:8px;margin-right:3px}.rich-select-label{display:flex!important;flex-direction:column;gap:3px;margin:0!important;font-size:9px!important;color:var(--muted)!important}.rich-select-label select{margin:0!important;padding:5px 7px;width:auto;max-width:145px;font-size:11px}.rich-toolbar button{min-height:30px;white-space:nowrap}.rich-toolbar button[aria-pressed=true]{background:var(--teal-light);color:var(--teal);border-color:var(--teal)}.rich-toolbar button:disabled{opacity:.4;cursor:default}.rich-toolbar button[data-rich-command=strike]{text-decoration:line-through}.toolbar-divider{height:25px;border-left:1px solid var(--border);margin:0 4px}.table-tools{border-top:1px solid var(--border);margin-top:6px;padding-top:9px}.table-tools summary{cursor:pointer;font-size:11px;color:var(--ink)}.table-tools summary span{font-size:9px;color:var(--muted);margin-left:6px}.table-tools button{border:1px solid var(--border);font-size:10px;padding:5px 7px}.rich-editor{line-height:1.5;font-family:Arial,sans-serif}.rich-content h1{font-size:23px;margin:25px 0 9px}.rich-content a{color:var(--teal);text-decoration:underline}.rich-content hr{border:0;border-top:1px solid var(--border);margin:20px 0}.rich-content mark{padding:1px 0}.rich-content pre{font-family:monospace;background:var(--teal-light);padding:12px;white-space:pre-wrap}.rich-content .selectedCell{position:relative;background:var(--teal-light)}.rich-content .selectedCell:after{content:'';position:absolute;inset:0;background:#66c2dd33;pointer-events:none}.ProseMirror-selectednode{outline:2px solid var(--teal)}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-gapcursor:after{content:'';display:block;position:absolute;top:-2px;width:20px;border-top:1px solid var(--ink);animation:cursor-blink 1.1s steps(2,start) infinite}.ProseMirror-focused .ProseMirror-gapcursor{display:block}@keyframes cursor-blink{to{visibility:hidden}}.editor-status{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);padding:9px 2px}.rich-panel{border:1px solid var(--border);border-radius:7px;background:var(--teal-light);padding:15px;margin:12px 0}.rich-panel[hidden]{display:none}.rich-panel label{display:block;font-size:11px}.rich-panel label>input{margin-top:5px}.rich-panel-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}.find-case{display:flex!important;gap:6px;align-items:center;margin-top:10px}.find-case input{width:auto;margin:0!important}.rich-panel [role=status]{display:block;font-size:11px;margin-top:10px}.note-reader-actions{display:flex;gap:8px;flex-wrap:wrap}.note-reader-actions .button{white-space:nowrap}#note-pdf-export{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--teal-light);margin:20px 0}#note-pdf-export[hidden]{display:none}#note-pdf-export .preview-heading{align-items:flex-start}#note-pdf-export .preview-heading small{display:block;font-size:9px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.pdf-export-message{font-size:11px;line-height:1.6;margin:0;padding:12px 15px;color:var(--muted)}#note-pdf-export .pdf-controls{flex-wrap:wrap}#note-pdf-canvas{display:block;max-width:100%;height:auto;margin:auto;background:white}.pdf-canvas-wrap{padding:12px;overflow:auto}.rich-content table{word-break:normal;overflow-wrap:anywhere}.editor-footer{z-index:1}@media(max-width:600px){.rich-select-label select{max-width:125px;font-size:10px}.rich-toolbar button{font-size:10px}.rich-group{padding-right:5px;margin-right:0}.table-tools summary span{display:block;margin:5px 0 0}.editor-status{flex-wrap:wrap;font-size:9px}.note-reader .card-heading{flex-wrap:wrap}.pdf-canvas-wrap{padding:4px}.note-reader-actions{margin-top:6px}.rich-toolbar{padding:7px}.rich-toolbar-row{gap:3px}}

/* Keep age beside DOB while allowing the patient identity row to wrap. */
.patient-meta{flex-wrap:wrap;row-gap:5px}.patient-birth{white-space:nowrap}.patient-avatar{flex-shrink:0}.patient-header>div:nth-child(2){min-width:0}.reference-demographics{line-height:1.8}

/* Clinic navigation and the selected patient's workspace have distinct scopes. */
.sidebar .brand,.sidebar-bottom,.staff{flex-shrink:0}
#main-nav{display:flex;flex-direction:column;gap:21px;margin-top:32px;min-height:0;overflow-y:auto;padding-bottom:16px;scrollbar-width:thin}
.nav-group{display:grid;gap:4px;flex-shrink:0}
.nav-group-heading{font-size:9px;font-weight:650;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 12px 7px;line-height:1.5}
.nav-patient-context{margin:0 12px 8px;border-left:2px solid var(--border);padding-left:10px;min-width:0}
.nav-patient-context strong,.nav-patient-context>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-patient-context strong{font-size:12px;font-weight:600;color:var(--ink)}
.nav-patient-context>span{font-size:9px;color:var(--muted);margin-top:3px}
.nav-workspace{border-top:1px solid var(--border);padding-top:13px}
#main-nav a{min-height:43px}
#main-nav a>span:first-child{flex-shrink:0}
#main-nav .nav-label{min-width:0;line-height:1.4}
@media(max-width:850px){
 #main-nav{margin-top:28px;gap:14px}
 .nav-group-heading,.nav-patient-context{display:none}
 .patient-nav-group{border-top:1px solid var(--border);padding-top:14px}
 .nav-workspace{padding-top:14px}
 #main-nav a{min-height:44px}
}

.managing-gp-card .gp-name{display:block;font-size:15px;font-weight:600;color:var(--ink)}
.managing-gp-card .details{margin-top:15px}
.managing-gp-card .gp-explainer{border-top:1px solid var(--border);padding-top:12px;margin-top:15px;line-height:1.7}
.gp-history{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:8px;margin:18px 0 22px}
.gp-history article{padding:13px 15px;border-bottom:1px solid var(--border)}
.gp-history article:last-child{border-bottom:0}
.gp-history strong,.gp-history span,.gp-history small{display:block}
.gp-history strong{font-size:12px}.gp-history span{font-size:11px;color:var(--muted);margin-top:3px}
.gp-history small{font-size:10px;color:var(--muted);margin-top:5px}.gp-history p{font-size:11px;line-height:1.6}
#note-gp-context{margin:-5px 0 18px;line-height:1.7}
.gp-history-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.gp-history-heading .badge{font-size:9px;margin:0}

.followup-repeat-fields{border:1px solid var(--border);border-radius:8px;padding:16px;margin:0 0 18px;min-width:0;background:var(--bg)}
.followup-repeat-fields[hidden],#followup-form .followup-repeat-fields label[hidden]{display:none}
.followup-repeat-fields legend{font-size:11px;color:var(--muted);padding:0 6px}
.followup-interval{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px}
#followup-form .followup-repeat-fields label{display:block;margin-bottom:14px;font-size:11px;color:var(--muted)}
.followup-repeat-fields input,.followup-repeat-fields select{margin-top:6px}
.followup-repeat-fields small{display:block;margin-top:5px;font-size:10px}
.followup-preview{border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin:0 0 16px;background:var(--teal-light)}
.followup-preview>strong{font-size:12px;color:var(--ink)}
.followup-preview p{font-size:11px;color:var(--muted);line-height:1.6;margin:7px 0}
.followup-preview ol{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:10px 0 0}
.followup-preview li{font-size:11px;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:5px;padding:5px 8px}
.followup-row-actions{display:flex;align-items:center;gap:14px}
@media(max-width:520px){.followup-repeat-fields{padding:12px}.followup-interval{grid-template-columns:85px minmax(0,1fr);gap:12px}}

/* Readily used patient contacts stay beside the patient identity. */
.patient-header > div:nth-child(2){min-width:0;flex:1}
.patient-contact-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:14px 0 4px;padding:12px 14px;background:var(--surface-soft,var(--bg));border:1px solid var(--border);border-radius:12px}
.patient-mobile{display:grid;gap:3px;min-width:155px}.patient-mobile>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.patient-mobile a,.patient-mobile strong{font-size:19px;font-weight:700;color:var(--ink);text-decoration:none;line-height:1.25}.patient-mobile a:hover{text-decoration:underline}.patient-contact-actions{display:flex;flex-wrap:wrap;gap:8px}.patient-email{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.patient-contact-actions .button{padding:8px 12px;font-size:12px}
.patient-message-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:20px}.message-compose,.message-history{min-width:0}.message-compose-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;color:var(--muted)}.message-connection{padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:9px;font-size:13px}.message-review{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:9px;padding:14px}.message-history-row{padding:17px 0;border-bottom:1px solid var(--border)}.message-history-row:last-child{border:0}.message-history-row>div:first-child{display:flex;justify-content:space-between;gap:12px}.message-history-row>small{display:block;margin-top:5px;color:var(--muted);overflow-wrap:anywhere}.message-history-row p{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.message-history-row summary{cursor:pointer;font-weight:600;font-size:12px;color:var(--teal)}.message-history-row>.button{margin-top:12px}.message-history .card-heading{margin-bottom:12px}
@media(max-width:1150px){.patient-header{flex-wrap:wrap}.patient-header>.header-actions{margin-left:72px;width:100%;justify-content:flex-start}.patient-message-layout{grid-template-columns:1fr}}
@media(max-width:650px){.patient-header>.header-actions{margin-left:0}.patient-contact-bar{padding:10px}.patient-email{width:100%}.patient-mobile a{font-size:18px}}

.patient-contact-actions .button:disabled,.message-compose .button:disabled{opacity:.48;cursor:not-allowed}
.integration-subnav{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}.integration-settings-card .details{grid-template-columns:150px minmax(0,1fr)}.integration-settings-card .patient-contact-check{margin:16px 0}.integration-settings-card input[type=password]{font-family:ui-monospace,monospace}.integration-settings-card .form-actions{margin-top:22px}
.email-master-panel{border:1px solid var(--border);border-left:4px solid #8594a4;border-radius:12px;padding:22px 24px;margin:18px 0 6px;background:var(--bg)}.email-master-panel.is-on{border-color:var(--teal);background:var(--teal-light)}.email-master-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.email-master-top .eyebrow{font-size:10px;letter-spacing:.09em;color:var(--muted)}.email-master-top h3{font-size:22px;margin:7px 0 0}.integration-settings-card .email-master-switch{display:flex;align-items:center;gap:11px;margin:0;position:relative;cursor:pointer;flex-shrink:0;color:var(--ink)}.email-master-switch input{position:absolute;width:54px!important;height:30px!important;opacity:0;margin:0!important;inset:0;cursor:pointer;z-index:1}.email-switch-track{display:block;width:54px;height:30px;border-radius:20px;background:#8796a5;padding:4px;transition:background .15s}.email-switch-track>span{display:block;width:22px;height:22px;border-radius:50%;background:white;box-shadow:0 1px 3px #182a3d30;transition:transform .15s}.email-master-switch input:checked+.email-switch-track{background:var(--teal)}.email-master-switch input:checked+.email-switch-track>span{transform:translateX(24px)}.email-master-switch input:focus-visible+.email-switch-track{outline:3px solid var(--teal);outline-offset:4px}.email-master-switch input:disabled{cursor:not-allowed}.email-master-switch input:disabled+.email-switch-track{opacity:.45}.email-master-switch strong{font-size:13px;min-width:24px}.email-master-panel>p{font-size:13px;line-height:1.8;margin:14px 0 0}.email-master-panel .email-save-hint{display:inline-block;font-size:11px;color:var(--muted);margin-top:15px;border-top:1px solid var(--border);padding-top:12px;width:100%}.email-settings-section{padding:26px 0;border-bottom:1px solid var(--border)}.email-settings-section:last-of-type{border-bottom:0}.email-section-title{display:flex;align-items:flex-start;gap:13px;margin:0 0 20px}.email-section-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--teal-light);color:var(--teal);font-size:11px;font-weight:650;flex-shrink:0}.email-section-title h3{font-size:17px;margin:0 0 5px}.email-section-title p{margin:0}.email-settings-section .form-grid{gap:0 20px}.email-settings-section .details{margin:18px 0}.email-context-help{font-size:12px;line-height:1.8;padding:13px 15px;background:var(--teal-light);border:1px solid var(--border);border-radius:8px;margin:12px 0 18px}#email-clinical-approval{border:1px solid var(--border);border-radius:9px;padding:0 15px 15px;margin:18px 0}#email-clinical-approval.is-inactive{background:var(--bg)}#email-clinical-approval.is-inactive label{color:var(--muted)!important}#email-clinical-approval .patient-contact-check{margin:15px 0 9px}.integration-settings-card .button:disabled{opacity:.48;cursor:not-allowed}.integration-settings-card input[type=checkbox]:disabled{cursor:not-allowed}@media(max-width:650px){.email-master-panel{padding:18px}.email-master-top{gap:12px}.email-master-top h3{font-size:20px}.email-settings-section .form-grid{grid-template-columns:minmax(0,1fr)}.integration-settings-card .details{grid-template-columns:110px minmax(0,1fr)}}

.communication-progress { display:flex; align-items:center; gap:10px; padding:12px 14px; margin:14px 0; border-radius:8px; background:var(--teal-light,#e7f3ee); color:var(--ink); font-size:12px; line-height:1.6; }
.communication-progress[hidden] { display:none; }
.communication-spinner { display:inline-block; flex:0 0 auto; width:14px; height:14px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:communication-spin .8s linear infinite; vertical-align:middle; }
.button .communication-spinner { margin-right:8px; }
.communication-test-recipient { border:1px solid var(--palette-dce4df,#dce4df); border-left:3px solid var(--teal); border-radius:8px; padding:14px 16px; margin:0 0 20px; background:var(--teal-light,#e7f3ee); }
.communication-test-recipient h3 { margin:0 0 8px; }
.communication-test-recipient p { font-size:12px; line-height:1.7; }
@keyframes communication-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .communication-spinner { animation:none; } }

.sms-send-timing{margin:20px 0;padding:18px;background:#f2f7fc;border:1px solid #d5e4ef;border-radius:10px}.sms-send-timing h3{margin-bottom:14px}.sms-schedule-fields{min-width:0}.sms-schedule-fields label,.sms-send-timing>label{display:block;margin:0 0 16px;font-size:12px;font-weight:550;color:var(--ink)}.sms-schedule-fields input,.sms-schedule-fields select,.sms-send-timing select{display:block;width:100%;margin-top:7px}.sms-schedule-fields [hidden],.sms-send-timing [hidden],.sms-schedule-manager[hidden],.sms-cancel-warning[hidden]{display:none}.sms-scheduled-summary{display:grid;gap:4px;margin:12px 0;padding:12px;border:1px solid #cedfed;border-radius:8px;background:#eff6fb;color:#285778}.sms-scheduled-summary strong{font-size:12px}.sms-scheduled-summary small{font-size:11px;color:#627d91}.sms-schedule-manager{margin-top:14px;padding:18px;border:1px solid #d7e4ee;background:#f9fbfd;border-radius:10px}.sms-schedule-manager h3{margin:0 0 16px}.sms-schedule-manager .form-actions{gap:8px;flex-wrap:wrap}.sms-cancel-warning{margin-top:14px;border:1px solid #eccbc6;border-radius:8px;background:#fff5f3;padding:14px}.sms-cancel-warning .button{margin:8px 6px 0 0}.sms-schedule-manager input[type=datetime-local]{min-width:0;max-width:100%}

.badge.scheduled{background:#e8f2fb;color:#285b8c;border:1px solid #c1d8ec}

.button[data-saving=true]{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:wait;opacity:.8}
.button[data-saving=true]::before{content:'';width:14px;height:14px;flex:0 0 14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:settings-saving-spin .8s linear infinite}
@keyframes settings-saving-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.button[data-saving=true]::before{animation:none}}
/* Icon-only close controls use a symmetric vector, independent of font baselines. */
button:is(.icon-button,.confirmation-close,.careplan-receipt-close,.letter-email-remove-file,[data-ap-close],[aria-label="Close Contact Form"],[data-contact-log-remove-file],[data-dashboard-hide],[data-patient-search-clear],[data-account-dismiss]){
 display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;
 padding:0!important;gap:0!important;font-size:0!important;line-height:1;letter-spacing:0;text-indent:0;
}
button:is(.icon-button,.confirmation-close,.careplan-receipt-close,.letter-email-remove-file,[data-ap-close],[aria-label="Close Contact Form"],[data-contact-log-remove-file],[data-dashboard-hide],[data-patient-search-clear],[data-account-dismiss])::before{
 content:"";display:block;flex:0 0 auto;width:clamp(16px,var(--ui-font-18,18px),22px);height:clamp(16px,var(--ui-font-18,18px),22px);
 background:currentColor;pointer-events:none;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4L20 20M20 4L4 20' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4L20 20M20 4L4 20' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
button:is(.careplan-receipt-close,[data-ap-close],[aria-label="Close Contact Form"],[data-contact-log-remove-file]){width:36px;min-width:36px;height:36px;min-height:36px}
/* Some attachment buttons already contain an SVG; render only the shared icon. */
button.letter-email-remove-file>svg{display:none}
button:is(.icon-button,.confirmation-close,.careplan-receipt-close,.letter-email-remove-file,[data-ap-close],[aria-label="Close Contact Form"],[data-contact-log-remove-file],[data-dashboard-hide],[data-patient-search-clear],[data-account-dismiss])[hidden]{display:none!important}
@media(forced-colors:active){button:is(.icon-button,.confirmation-close,.careplan-receipt-close,.letter-email-remove-file,[data-ap-close],[aria-label="Close Contact Form"],[data-contact-log-remove-file],[data-dashboard-hide],[data-patient-search-clear],[data-account-dismiss])::before{background:ButtonText;forced-color-adjust:none}}

/* One visible stage for preparing, reviewing and confirming a patient message. */
.message-compose #patient-message-edit[hidden],.message-compose #patient-message-review[hidden]{display:none!important}
.message-flow-steps{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:4px 0 20px;color:var(--muted);font-size:var(--ui-font-12,13px)}
.message-flow-steps li{display:flex;gap:7px;align-items:center;line-height:1.4}
.message-flow-steps li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--bg);border:1px solid var(--border);font-size:.9em}
.message-flow-steps [aria-current=step]{color:var(--teal);font-weight:650}.message-flow-steps [aria-current=step]>span{background:var(--teal-light);border-color:var(--teal)}
.message-compose .message-review{margin-top:0;padding-top:0;border-top:0}.message-review-actions{gap:10px;flex-wrap:wrap}
.message-result{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--teal-light);margin-bottom:20px}
.message-result-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--teal);font-size:23px;line-height:1}
.message-result h2{margin:0 0 8px}.message-result p{margin:6px 0;line-height:1.6}.message-result strong{display:block;margin-top:12px;overflow-wrap:anywhere}
.message-result-content{margin:18px 0}.message-result-content summary{color:var(--teal);font-weight:600;cursor:pointer}
#patient-message-error:empty{display:none}.message-compose [tabindex="-1"]:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
@media(max-width:600px){.message-flow-steps{gap:8px 12px}.message-result{padding:14px;gap:10px}.message-review-actions .button{flex:1 1 150px}}

/* Success confirms the save/queue action; the text still distinguishes delivery. */
.message-result.is-success{background:#edf7f2;border-color:#bbd9cb;color:#215e47}.message-result.is-success h2,.message-result.is-success .message-result-icon{color:#215e47}
