:root{--ink:#173c55;--blue:#246997;--line:#dde7ec;--muted:#617c8d;--bg:#f3f7fa}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ccdbe4;border-radius:7px;margin-top:6px;color:var(--ink);background:white}textarea{min-height:90px}input[type=checkbox]{width:auto}label{display:block;font-size:12px;font-weight:650;color:var(--muted)}button{border:1px solid #ccdbe4;background:white;padding:10px 15px;border-radius:7px;color:var(--ink)}button.primary{background:var(--blue);color:white;border-color:var(--blue)}h1{font-size:30px;letter-spacing:-1px;margin:0}h2{font-size:21px;margin:0 0 20px}h3{font-size:16px}p{color:var(--muted);line-height:1.6}aside{position:fixed;inset:0 auto 0 0;background:var(--ink);color:white;width:230px;padding:30px 18px}.brand{font-size:30px;font-weight:750;letter-spacing:-1.5px}.brand span,.welcome h1 span{color:#9bd2e8}.brand small{display:block;font-size:11px;letter-spacing:0;color:#c0d6e2;font-weight:400;margin-top:6px}.nav{margin-top:35px}.nav button{display:block;width:100%;text-align:left;color:#c9dce6;border:0;background:none;margin:6px 0}.nav button.active{background:#ffffff18;color:white}.user{font-size:12px;margin-top:35px;color:#c0d6e2;line-height:1.6}.user button{margin-top:12px}main{margin-left:230px;padding:30px 36px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.tag{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;color:var(--blue)}.notice{padding:13px 17px;background:#fff5df;color:#856020;border-radius:8px;margin-bottom:22px;font-size:12px}.card{padding:24px;border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:20px}.row{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:15px 0}.row label{min-width:160px;flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.welcome{max-width:500px;margin:7vh auto;padding:35px;background:white;border:1px solid var(--line);border-radius:15px}.welcome label{margin-bottom:15px}.welcome h1{margin-bottom:10px}.error{color:#ac3838;line-height:1.5}.muted{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;color:var(--muted);text-transform:uppercase;background:#f7fafb}td small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:11px;background:#eaf3f8;color:var(--blue)}.calendar{overflow:auto;border:1px solid var(--line);border-radius:9px}.calendar-head,.calendar-row{display:grid;grid-template-columns:60px repeat(7,minmax(125px,1fr));min-width:1000px}.calendar-head>div{padding:12px;background:#f0f6fa;font-size:12px;font-weight:650;border-right:1px solid var(--line)}.calendar-row>div{padding:4px;min-height:62px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.time{font-size:11px;color:var(--muted);padding:10px!important}.slot{font-size:11px;border:0;padding:4px 7px;color:#65899f;background:#f5f9fb;margin:2px}.event{display:block;width:100%;text-align:left;font-size:11px;padding:7px;background:#e7f2fa;border:0;border-left:3px solid var(--blue);margin-bottom:4px}.event.cancel{background:#f0f1f2;border-color:#919da4}.event.absent{background:#ffeded;border-color:#b85555}.event.done{background:#e8f5ee;border-color:#4d9574}.event small{display:block}.blocked{background:repeating-linear-gradient(135deg,#eee,#eee 8px,#fafafa 8px,#fafafa 16px);padding:5px;font-size:10px;color:#6c7b83}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px}.metrics strong{display:block;font-size:27px;margin-top:8px}dialog{max-width:780px;width:calc(100% - 30px);border:1px solid var(--line);border-radius:14px;padding:28px;color:var(--ink);max-height:90vh}dialog::backdrop{background:#13324799}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}#toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:white;padding:15px 22px;border-radius:8px;display:none;max-width:90vw;z-index:100}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px system-ui}.empty{padding:25px;text-align:center;color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){aside{position:static;width:100%;padding:18px}.nav{display:flex;overflow:auto;margin-top:20px}.nav button{white-space:nowrap;width:auto}.user{margin-top:15px}.user button{margin:0 0 0 10px}main{margin:0;padding:20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}header{gap:15px}h1{font-size:24px}.calendar-head,.calendar-row{min-width:960px}}

.brand{display:flex;align-items:center;gap:12px;font-size:26px;letter-spacing:-.6px}.brand img{width:48px;height:48px;object-fit:contain;flex-shrink:0}.brand small{font-size:12px}.welcome-logo{display:block;width:76px;height:76px;object-fit:contain;margin-bottom:18px}

.calendar-day .calendar-head,.calendar-day .calendar-row{grid-template-columns:60px minmax(250px,1fr);min-width:0}.calendar-head .is-today{background:#d9f2fc;color:#075d92}.calendar-row>.is-today{background-color:#f3fbff}.calendar-head .selected-date{box-shadow:inset 0 -3px #246997}.calendar-summary{font-weight:600;color:var(--ink)}button[aria-pressed=true]{background:#e0f1fa;border-color:var(--blue)}.calendar[aria-busy=true]{opacity:.65}
.calendar-row>.schedule-open{background:#e4f5ed}.calendar-row>.schedule-pending{background:#fff4d9}.calendar-row>.schedule-closed{background:#f0f2f4}.calendar-row>.has-block{background-image:repeating-linear-gradient(135deg,transparent,transparent 8px,#b0bdc529 8px,#b0bdc529 16px)}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin:15px 0;font-size:12px}.calendar-legend span{padding:6px 10px;border-radius:5px}.legend-open{background:#e4f5ed;color:#175c3f}.legend-pending{background:#fff4d9;color:#775414}.legend-closed{background:#f0f2f4;color:#697781}.available-slot{display:block;width:100%;margin:4px 0;text-align:left;border:1px solid #a6d2b9;background:#fff;color:#175c3f}.available-slot:hover{background:#d0eddf;border-color:#3a9061}.available-slot small{display:block;font-size:10px}.window-label{display:block;color:#326b55;font-size:10px;font-weight:650;margin-bottom:5px}.outside-label{color:#b1bbc0}.month-scroll{overflow:auto}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:940px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.month-weekday{padding:10px;background:#edf4f8;font-weight:650;font-size:12px}.month-day{padding:9px;min-height:155px;overflow-wrap:anywhere}.month-day.schedule-open{background:#e4f5ed}.month-day.schedule-pending{background:#fff4d9}.month-day.schedule-closed{background:#f0f2f4}.month-date{display:block;padding:4px;border:0;background:transparent;font-weight:750;margin-bottom:7px}.month-window{display:block;font-size:10px;margin:4px 0}.month-day.other-month{opacity:.65}.month-day.month-today{box-shadow:inset 0 0 0 2px #246997}.month-slots{display:block;width:100%;padding:7px;margin-top:8px;background:white;color:#175c3f;border-color:#a6d2b9;font-size:11px}.month-day .event{font-size:10px;padding:5px}.month-day .blocked{display:block;margin:5px 0}button:disabled{cursor:not-allowed}
.clinical-layout{display:grid;grid-template-columns:280px 1fr;gap:18px}.clinical-patients{display:flex;flex-wrap:wrap;gap:8px}.encounter-link{display:block;width:100%;text-align:left;margin:8px 0}.encounter-link small{display:block;margin-top:5px}.encounter-link.selected{background:#e1f1fa;border-color:#246997}.tabs{display:flex;flex-wrap:wrap;gap:5px;margin:18px 0}.tabs button{padding:8px;font-size:12px}#clinical-note{min-height:360px;line-height:1.6}.print-brand{display:flex;align-items:center;gap:15px}.print-brand img{width:60px}.signature{margin-top:70px}details{padding:10px;border-bottom:1px solid var(--line)}summary{cursor:pointer}.nav{max-height:60vh;overflow:auto}@media(max-width:900px){.clinical-layout{grid-template-columns:1fr}}@media print{@page{size:A4;margin:18mm}body{background:white}#root,#toast,dialog>h2,dialog>p,dialog>button,dialog>form{display:none!important}dialog{position:static;display:block!important;max-height:none;max-width:none;width:100%;padding:0;border:0;overflow:visible}dialog::backdrop{display:none}#print-sheet{display:block;color:black}#print-sheet pre{font:14px system-ui;white-space:pre-wrap;overflow-wrap:anywhere}#print-sheet h1{font-size:24px}#print-sheet p{color:black}#print-sheet .print-brand img{width:55px}}
.plan-options{border:1px solid var(--line);border-radius:8px;padding:16px;margin-top:20px}.plan-options>label{padding:9px 0;border-bottom:1px solid var(--line)}.plan-options small{display:block;margin:4px 0 0 22px;font-weight:400}.plan-options button{margin:0 8px 12px 0}.financial-metrics{margin:20px 0}.financial-metrics strong{font-size:21px}
.day-counts{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;color:var(--muted)}.day-appointment{display:grid;grid-template-columns:90px 1.3fr 1fr 1fr 180px;gap:18px;align-items:center;padding:24px;margin-bottom:14px;background:white;border:1px solid var(--line);border-left:6px solid #74b8dc;border-radius:12px}.day-appointment small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.day-appointment .primary{display:block;margin-top:12px;width:100%}.day-in-progress{border-left-color:#e9b44c}.day-completed{border-left-color:#65ad87}.day-time strong{font-size:20px}.day-patient strong{color:#176d83}#template-professionals{max-height:240px;overflow:auto}fieldset{border:1px solid var(--line);border-radius:7px}fieldset label{padding:5px}form[data-workflow-form=template] textarea{min-height:280px}@media(max-width:1100px){.day-appointment{grid-template-columns:80px 1fr 1fr}.day-appointment>div:last-child{grid-column:2/-1}}@media(max-width:650px){.day-appointment{grid-template-columns:1fr}.day-appointment>div:last-child{grid-column:auto}}
.report-costs{margin-top:14px;padding:18px}.report-costs legend{font-weight:750}.report-costs th{min-width:200px}.cost-input{display:flex;gap:6px;min-width:205px}.cost-input input{min-width:95px;flex:1}.cost-input select{width:125px;flex-shrink:0}.financial-table th{min-width:125px}.financial-table th:first-child{min-width:170px}.net-result{font-weight:750;color:#176b48}.net-negative{font-weight:750;color:#ac3838}
form[data-finance-form] .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-costs{min-width:0;max-width:100%}.report-costs .table-wrap{max-width:100%}@media(max-width:850px){form[data-finance-form] .form-grid{grid-template-columns:minmax(0,1fr)}}

.month-day.has-block{background-image:repeating-linear-gradient(135deg,transparent,transparent 8px,#b0bdc529 8px,#b0bdc529 16px)}
.wa-inbox-banner{display:flex;align-items:center;justify-content:space-between;gap:24px}.wa-inbox-banner h2{margin:12px 0 5px}.wa-inbox-banner p{margin:0}.wa-inbox-count{min-width:100px;text-align:center;padding:14px;background:#e5f6ee;border-radius:12px;color:#1a6849}.wa-inbox-count strong,.wa-inbox-count span{display:block}.wa-inbox-count strong{font-size:26px}.wa-inbox-filters{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr;gap:14px;align-items:end}.wa-inbox-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(400px,1fr);gap:18px;align-items:start}.wa-inbox-list,.wa-chat{margin:0;min-height:480px}.wa-inbox-list{padding:10px}.wa-thread{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 12px}.wa-thread.selected{background:#eaf6f2;border-left:4px solid #41a67d}.wa-thread-top,.wa-thread-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.wa-thread-top strong{font-size:13px}.wa-thread time,.wa-bubble time{font-size:10px;color:var(--muted)}.wa-thread-snippet,.wa-thread-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:7px;color:var(--muted);font-size:12px}.wa-thread-meta{font-size:10px}.wa-thread-bottom{margin-top:9px}.wa-match,.wa-unknown,.wa-read{font-size:10px}.wa-match{color:#246b4b}.wa-unknown{color:#916411}.wa-unread{background:#21966c;color:white;min-width:21px;text-align:center;border-radius:12px;padding:2px 6px;font-size:10px}.wa-chat{display:flex;flex-direction:column}.wa-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px}.wa-chat-head h3{margin:0 0 4px}.wa-chat-head span{font-size:12px;color:var(--muted)}.wa-link-state{display:flex;flex-direction:column;gap:4px;padding:12px;margin:14px 0;border-radius:8px;background:#eaf6ef;color:#286744;font-size:12px}.wa-link-state.unknown{background:#fff5df;color:#805d1b}.wa-messages{display:flex;flex-direction:column;gap:10px;min-height:220px;max-height:430px;overflow:auto;padding:15px;background:#f4f8f6;border-radius:9px}.wa-bubble{max-width:78%;padding:10px 13px;border-radius:10px;background:white;box-shadow:0 1px 2px #163c5514}.wa-bubble.out{align-self:flex-end;background:#dcf3e6}.wa-bubble p{margin:0 0 5px;color:var(--ink)}.wa-reply{display:flex;gap:8px;margin:12px 0}.wa-reply input{flex:1}.wa-chat>.muted{margin-top:0}@media(max-width:950px){.wa-inbox-filters{grid-template-columns:1fr 1fr}.wa-inbox-layout{grid-template-columns:1fr}.wa-inbox-list{min-height:0}}@media(max-width:560px){.wa-inbox-banner{align-items:flex-start}.wa-inbox-count{min-width:72px}.wa-inbox-filters{grid-template-columns:1fr}.wa-chat-head{align-items:flex-start;flex-direction:column}.wa-bubble{max-width:92%}}

.event.pending,.status-legend .status-pending{background:#edf0f2;color:#424e58;border-color:#7b8791}.event.confirmed,.status-legend .status-confirmed{background:#e4efff;color:#164f9d;border-color:#2875d0}.event.done,.status-legend .status-done{background:#e2f5e8;color:#21643b;border-color:#2f9252}.event.cancel,.status-legend .status-cancel{background:#ffe6e6;color:#9d2424;border-color:#cf3b3b}.event.rescheduled{background:#f0edf6;color:#625176;border-color:#9382a9}.status-legend span{border-left:4px solid}

.nav .backup-link{display:block;padding:12px;color:inherit;text-decoration:none;border-radius:8px}.nav .backup-link:hover{background:#e7f2fa}
.professional-board{display:flex;overflow:auto;max-height:680px;border:1px solid #d4dfe7;border-radius:10px;isolation:isolate}.professional-axis{flex:0 0 65px;position:sticky;left:0;z-index:5;background:#fff}.professional-column{flex:1 0 240px;min-width:240px;border-left:1px solid #d4dfe7}.professional-heading{height:100px;box-sizing:border-box;padding:12px 8px;background:#f3f7fa;border-bottom:1px solid #d4dfe7;position:sticky;top:0;z-index:4;text-align:center;display:flex;flex-direction:column;gap:5px;justify-content:center;font-size:14px}.professional-heading small{display:block;color:#587080;font-size:11px}.professional-track{position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,#e1e7ed 39px,#e1e7ed 40px),repeating-linear-gradient(45deg,#f1f3f5 0,#f1f3f5 7px,#fff 7px,#fff 14px)}.professional-axis .professional-track{background:#fff}.professional-tick{position:absolute;left:0;right:0;text-align:center;border-top:1px solid #e1e7ed;font-size:12px;color:#4c6172}.professional-window{position:absolute;left:0;right:0;opacity:.85}.professional-window.schedule-open{background:#effaf5}.professional-window.schedule-pending{background:#fff2d9}.professional-block{position:absolute;left:0;right:0;background:repeating-linear-gradient(45deg,#cbd1d8 0,#cbd1d8 7px,#f4f5f7 7px,#f4f5f7 14px);z-index:1;overflow:hidden;font-size:11px;color:#4a5261}.professional-block span{background:#fff9;padding:3px;display:block}.professional-item{position:absolute;box-sizing:border-box;padding:1px 2px;z-index:2;overflow:hidden}.professional-item button{height:100%;width:100%;margin:0;box-sizing:border-box;overflow:hidden;font-size:12px;padding:3px 5px;text-align:left;min-height:0}.professional-item button strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block}.professional-item button small{font-size:10px;white-space:nowrap;display:block}.professional-item .available-slot{opacity:.8;background:#fff;border:1px dashed #86b8a6}.professional-item button:hover{opacity:1;filter:brightness(.97)}

.professional-column{flex-basis:192px;min-width:192px}.professional-heading{height:80px;padding:8px 6px;gap:3px}.professional-track{background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#e1e7ed 31px,#e1e7ed 32px),repeating-linear-gradient(45deg,#f1f3f5 0,#f1f3f5 7px,#fff 7px,#fff 14px)}.professional-item button{padding:1px 4px}

@media print{html,body{margin:0!important;padding:0!important;height:auto!important;min-height:0!important}dialog[open]{position:absolute!important;inset:0 auto auto 0!important;margin:0!important;padding:0!important;transform:none!important;width:100%!important;height:auto!important;max-height:none!important;box-sizing:border-box!important}#print-sheet{margin:0!important;padding:0!important}#print-sheet .print-brand{margin-top:0!important;break-inside:avoid}#print-sheet .print-brand h1{margin:0}#print-sheet .print-address{font-size:12px;line-height:1.5;margin:12px 0 18px}}

.internal-signature{margin:16px 0;padding:12px;border:1px solid #b9cbd7;border-radius:8px;overflow-wrap:anywhere}.signature-initials{display:inline-block;font-size:1.35rem;font-style:italic;letter-spacing:.12em}.internal-signature p{margin:6px 0}.internal-signature small{font-size:.75rem}@media print{.internal-signature{break-inside:avoid;color:#000}}

.professional-heading .contingency-trigger{position:absolute;right:2px;top:2px;width:22px;height:22px;min-height:0;padding:2px;margin:0;border:0;background:#e3eef6;color:#163e55;font-size:0;line-height:1;border-radius:4px}.professional-heading .contingency-trigger::before{content:"✎";font-size:17px}.professional-heading .contingency-trigger:hover{background:#c9e0ef}

.professional-heading .contingency-trigger{position:static;align-self:center;flex:0 0 auto;width:auto;height:20px;min-height:20px;padding:1px 7px;margin:0;border:1px solid #c3d7e5;background:#edf4f9;color:#163e55;font-size:11px;line-height:16px;border-radius:4px;white-space:nowrap}.professional-heading .contingency-trigger::before{content:none}.professional-heading{height:112px;min-height:112px;justify-content:flex-start;padding-top:6px}.professional-heading strong{flex:0 0 auto;line-height:16px}.professional-heading small{flex:0 0 auto;line-height:13px}

#print-sheet .print-header-rule{display:block;border:0;border-top:1px solid #183e55;margin:16px 0 20px;width:100%}#print-sheet .print-website{font-size:12px}@media print{#print-sheet .print-header-rule{border-top:1px solid #000;break-before:avoid;break-after:avoid}#print-sheet .print-address{break-after:avoid}}
