:root{--ink:#172a2b;--muted:#718180;--line:#e8eeec;--canvas:#f5f8f7;--card:#fff;--green:#236e66;--green-dark:#195a54;--green-pale:#e7f4f0;--mint:#8dcbbc;--amber:#c9822e;--amber-pale:#fbf1e3;--blue:#4a86a8;--blue-pale:#e9f2f7;--violet:#7466a9;--violet-pale:#f0edf8;--shadow:0 12px 34px #1f413d0f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Avenir Next,Avenir,Segoe UI,system-ui,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}.app-shell{min-height:100vh}.sidebar{z-index:20;border-right:1px solid var(--line);background:#fbfcfc;flex-direction:column;width:244px;padding:26px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 10px 30px;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:12px 12px 12px 4px;place-items:center;width:36px;height:36px;font:800 19px/1 Avenir Next,sans-serif;display:grid;box-shadow:0 7px 16px #236e6638}.brand-name{letter-spacing:-.55px;font:800 21px/1 Avenir Next,sans-serif}.official-mark-crop{background:#fff;border-radius:10px;flex:0 0 41px;width:41px;height:37px;position:relative;overflow:hidden;box-shadow:0 7px 16px #236e661f}.official-mark-crop img{width:238px;max-width:none;position:absolute;top:-44px;left:-99px}.main-nav{flex-direction:column;gap:5px;display:flex}.main-nav>p{color:#9aa7a5;letter-spacing:1.35px;text-transform:uppercase;margin:0 11px 9px;font-size:10px;font-weight:700}.nav-link{color:#657674;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:0 12px;font-size:13.5px;font-weight:600;transition:all .16s;display:flex}.nav-link:hover{color:var(--green);background:#f0f5f3}.nav-link--active{background:var(--green-pale);color:var(--green)}.nav-icon{color:currentColor;text-align:center;width:19px;font-size:18px}.nav-badge{color:#b65f48;text-align:center;background:#fae9e4;border-radius:99px;min-width:20px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-footer{margin-top:auto}.account-card{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:14px;padding:13px 10px;display:flex}.account-avatar{width:34px;height:34px;color:var(--green);background:#dcece8;border-radius:50%;flex:0 0 34px;place-items:center;font-size:11px;font-weight:700;display:grid}.account-copy{flex-direction:column;flex:1;min-width:0;display:flex}.account-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.account-copy small{color:#92a09e;margin-top:2px;font-size:9.5px}.account-card button{cursor:pointer;color:#879492;background:0 0;border:0}.main-content{min-height:100vh;margin-left:244px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;align-items:center;gap:24px;height:76px;padding:0 36px;display:flex}.mobile-menu{background:0 0;border:0;font-size:22px;display:none}.mobile-overlay{display:none}.search-box{color:#96a3a1;background:#f9fbfa;border:1px solid #e1e8e6;border-radius:10px;align-items:center;gap:9px;width:min(420px,42vw);height:40px;padding:0 11px;display:flex}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12.5px}.search-box input::placeholder{color:#a8b2b0}.search-box kbd{color:#9ba6a4;background:#fff;border:1px solid #dfe6e4;border-radius:5px;padding:3px 6px;font:10px Avenir Next}.topbar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.primary-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;align-items:center;gap:7px;height:40px;padding:0 17px;font-size:12.5px;font-weight:700;display:flex;box-shadow:0 8px 18px #236e662e}.primary-button:hover{background:var(--green-dark)}.page-content{box-sizing:border-box;width:100%;max-width:none;margin:0 auto;padding:30px 36px 46px}.welcome-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px;display:flex}.eyebrow{color:var(--green);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 5px;font-size:9px;font-weight:800}.welcome-row h1{letter-spacing:-.75px;margin:0;font:800 27px/1.18 Avenir Next,sans-serif}.welcome-row>div>p:last-child{color:var(--muted);margin:7px 0 0;font-size:12.5px}.date-control{cursor:pointer;color:#637371;background:#fff;border:1px solid #dfe7e5;border-radius:9px;align-items:center;gap:8px;height:36px;padding:0 12px;font-size:11.5px;font-weight:600;display:flex}.date-picker-control{position:relative}.date-picker-input{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.api-notice{background:var(--amber-pale);color:#9a672a;border-radius:8px;margin:-10px 0 18px;padding:9px 12px;font-size:11px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-card{border:1px solid var(--line);background:var(--card);min-height:128px;box-shadow:var(--shadow);border-radius:14px;align-items:flex-start;gap:13px;padding:20px;display:flex}.metric-icon{border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid;position:relative}.metric-icon span,.metric-icon span:before,.metric-icon span:after{content:"";display:block;position:absolute}.metric-icon--cal{background:var(--green-pale)}.metric-icon--cal span{border:1.8px solid var(--green);border-radius:3px;width:16px;height:15px}.metric-icon--cal span:before{border-top:1.8px solid var(--green);width:16px;top:3px;left:-2px}.metric-icon--cal span:after{border-left:1.8px solid var(--green);border-right:1.8px solid var(--green);width:7px;height:3px;top:-4px;left:3px}.metric-icon--pat{background:var(--blue-pale)}.metric-icon--pat span{border:1.7px solid var(--blue);border-radius:50%;width:8px;height:8px;top:9px}.metric-icon--pat span:after{border:1.7px solid var(--blue);border-bottom:0;border-radius:9px 9px 0 0;width:16px;height:8px;top:9px;left:-5px}.metric-icon--quo{background:var(--amber-pale)}.metric-icon--quo span{border:1.7px solid var(--amber);border-radius:2px;width:15px;height:18px}.metric-icon--quo span:before{border-top:1.5px solid var(--amber);width:7px;box-shadow:0 4px 0 var(--amber);top:5px;left:3px}.metric-icon--rev{background:var(--violet-pale)}.metric-icon--rev span{border-left:1.7px solid var(--violet);border-bottom:1.7px solid var(--violet);width:18px;height:14px}.metric-icon--rev span:after{border-top:1.7px solid var(--violet);border-right:1.7px solid var(--violet);width:10px;height:7px;top:1px;left:3px;transform:skewY(-32deg)}.metric-copy{flex-direction:column;min-width:0;display:flex}.metric-copy p{color:var(--muted);margin:0 0 7px;font-size:10.5px;font-weight:600}.metric-copy strong{letter-spacing:-.45px;white-space:nowrap;font:800 21px/1.1 Avenir Next,sans-serif}.metric-detail{margin-top:10px;font-size:9.5px}.metric-detail--positive{color:var(--green)}.metric-detail--attention{color:var(--amber)}.dashboard-grid{grid-template-columns:minmax(0,1.75fr) minmax(290px,.85fr);align-items:start;gap:18px;display:grid}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:15px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:18px 20px 15px;display:flex}.panel-heading.compact{border-bottom:0;min-height:auto;padding-bottom:8px}.panel-heading h2{letter-spacing:-.2px;margin:0;font:700 15px/1.2 Avenir Next,sans-serif}.panel-heading a{color:var(--green);font-size:10.5px;font-weight:700}.panel-heading a span{margin-left:4px}.appointments-list{padding:3px 20px 10px}.appointment-row{border-bottom:1px solid #edf1f0;grid-template-columns:55px 38px minmax(160px,1.25fr) minmax(128px,.9fr) 90px 26px;align-items:center;gap:10px;min-height:76px;display:grid}.appointment-row:last-child{border-bottom:0}.appointment-time{flex-direction:column;display:flex}.appointment-time strong{font-size:12.5px}.appointment-time span{color:#98a4a2;margin-top:3px;font-size:8.5px}.patient-avatar{border-radius:50%;place-items:center;width:34px;height:34px;font-size:9.5px;font-weight:700;display:grid}.patient-avatar--mint{background:var(--green-pale);color:var(--green)}.patient-avatar--blue{background:var(--blue-pale);color:var(--blue)}.patient-avatar--amber{background:var(--amber-pale);color:var(--amber)}.patient-avatar--violet{background:var(--violet-pale);color:var(--violet)}.appointment-patient,.appointment-doctor{flex-direction:column;min-width:0;display:flex}.appointment-patient strong,.appointment-doctor strong{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.appointment-patient span,.appointment-doctor span{color:#8b9997;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.appointment-doctor span{order:-1;margin:0 0 4px}.status{white-space:nowrap;border-radius:99px;justify-self:start;padding:5px 8px;font-size:8.5px;font-weight:700}.status--confirmada{background:var(--green-pale);color:var(--green)}.status--en-consulta{background:var(--blue-pale);color:var(--blue)}.status--pendiente{background:var(--amber-pale);color:var(--amber)}.more-button{cursor:pointer;color:#95a19f;letter-spacing:1px;background:0 0;border:0;font-size:15px}.right-column{gap:18px;display:grid}.daily-summary{padding-bottom:18px}.progress-wrap{align-items:center;gap:18px;padding:13px 20px 18px;display:flex}.progress-ring{--progress:240deg;background:conic-gradient(var(--green) var(--progress), #e9efed 0);border-radius:50%;flex:0 0 82px;place-items:center;width:82px;height:82px;display:grid;transform:rotate(-90deg)}.progress-ring:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:66px;height:66px}.progress-ring div{z-index:1;flex-direction:column;grid-area:1/1;align-items:center;display:flex;transform:rotate(90deg)}.progress-ring strong{font:800 20px/1 Avenir Next}.progress-ring span{color:#8e9b99;margin-top:4px;font-size:8.5px}.progress-copy{flex-direction:column;min-width:0;display:flex}.progress-copy strong{font-size:11px}.progress-copy>span{color:#8d9a98;margin-top:4px;font-size:9.5px}.progress-copy small{color:var(--green);margin-top:11px;font-size:8.5px}.progress-copy i{background:var(--mint);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.money-summary{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0 20px;padding-top:16px;display:grid}.money-summary div{flex-direction:column;display:flex}.money-summary div+div{border-left:1px solid var(--line);padding-left:18px}.money-summary span{color:#8a9896;font-size:9px}.money-summary strong{margin-top:5px;font:700 13px Avenir Next}@media (max-width:760px){.money-summary{grid-template-columns:repeat(2,1fr);row-gap:14px}}.quick-actions{padding-bottom:10px}.quick-action-grid{grid-template-columns:1fr 1fr;gap:1px;padding:8px 13px;display:grid}.quick-action-grid a{border-radius:9px;grid-template-rows:auto auto;grid-template-columns:30px 1fr;column-gap:9px;padding:11px 7px;transition:background .15s;display:grid}.quick-action-grid a:hover{background:#f6f9f8}.quick-icon{border-radius:8px;grid-row:1/3;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.quick-icon--patient{background:var(--green-pale);color:var(--green)}.quick-icon--quote{background:var(--amber-pale);color:var(--amber)}.quick-icon--payment{background:var(--blue-pale);color:var(--blue)}.quick-icon--procedure{background:var(--violet-pale);color:var(--violet)}.quick-action-grid strong{align-self:end;font-size:9.5px}.quick-action-grid small{color:#93a09e;margin-top:2px;font-size:7.8px}@media (max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}}@media (max-width:820px){.sidebar{display:none}.sidebar.sidebar--open{width:min(290px,86vw);display:flex;box-shadow:18px 0 48px #122d2a2e}.mobile-overlay{z-index:19;background:#11262461;border:0;display:block;position:fixed;inset:0}.main-content{margin-left:0}.topbar{padding:0 20px}.mobile-menu{display:block}.search-box{flex:1;width:auto}.search-box kbd{display:none}.page-content{padding:26px 20px 40px}.appointment-row{grid-template-columns:48px 36px 1fr auto;padding:12px 0}.appointment-doctor{display:none}.status{grid-column:3}.more-button{grid-area:1/4/3}}.module-page-content{padding-top:32px}.module-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.module-heading h1{letter-spacing:-.8px;margin:0;font:800 28px/1.2 Avenir Next,sans-serif}.module-heading>div>p:last-child{color:var(--muted);margin:7px 0 0;font-size:12.5px}.module-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.agenda-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-page-content--agenda{box-sizing:border-box;width:100%;max-width:none}.module-page-content--agenda>*{box-sizing:border-box;width:100%}.module-page-content--agenda .agenda-summary-grid{grid-template-columns:minmax(0,1fr)}.module-page-content--finanzas{flex-direction:column;display:flex}.module-page-content--finanzas .module-summary-grid{order:2}.module-page-content--finanzas .module-table-panel{order:3}.module-page-content--finanzas .finance-status-chart{order:4}.finance-list-filters{box-sizing:border-box;width:95%;margin-left:auto;margin-right:auto}.module-summary-card{border:1px solid var(--line);min-height:118px;box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;padding:19px 20px;display:flex}.module-summary-card>span{color:var(--muted);font-size:10.5px;font-weight:600}.module-summary-card strong{margin-top:9px;font:800 21px/1.1 Avenir Next,sans-serif}.module-summary-card small{color:var(--green);margin-top:auto;padding-top:9px;font-size:9.5px}.module-table-panel{overflow:hidden}.agenda-table-panel{margin-top:clamp(20px,2vw,48px)}.module-table-actions{align-items:center;gap:10px;display:flex}.agenda-list-filters{border-width:1px 0;border-radius:0;gap:13px;margin:0;padding:15px 17px}.agenda-list-filters select{height:36px}.module-table-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:15px 20px;display:flex}.module-table-heading h2{margin:0;font:700 14px Avenir Next,sans-serif}.module-table-heading p{color:var(--muted);margin:4px 0 0;font-size:9.5px}.module-table-heading label{border:1px solid var(--line);color:#97a5a3;background:#fafcfb;border-radius:9px;align-items:center;gap:8px;width:210px;height:36px;padding:0 10px;display:flex}.module-table-heading input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:10.5px}.table-scroll{overflow-x:auto}.module-table{border-collapse:collapse;text-align:left;width:100%}.module-table th{color:#879593;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap;background:#f8faf9;padding:12px 16px;font-size:13.5px;font-weight:800}.module-table td{color:#485a58;white-space:nowrap;border-top:1px solid #edf1f0;padding:15px 16px;font-size:13.5px}.module-table tbody tr:hover{background:#fbfdfc}.module-table td:nth-child(2){color:var(--ink);font-weight:700}.table-status{border-radius:99px;padding:5px 8px;font-size:8.5px;font-weight:700;display:inline-flex}.table-status--success{background:var(--green-pale);color:var(--green)}.table-status--warning{background:var(--amber-pale);color:var(--amber)}.module-alert-banner{color:#80601f;background:#fff8e8;border:1px solid #efd7aa;border-radius:10px;gap:3px;margin:0 0 18px;padding:14px 16px;display:grid}.module-alert-banner strong{color:#6f5016;font-size:13px}.module-alert-banner span,.module-alert-banner small{font-size:12px;line-height:1.45}.module-alert-banner small{color:#94713a}.table-status--neutral{background:var(--blue-pale);color:var(--blue)}@media (max-width:760px){.appointment-modal fieldset.module-form-field,.module-summary-grid{grid-template-columns:1fr}.module-heading{align-items:flex-start}.module-table-heading label{display:none}}.import-feature-card{box-shadow:var(--shadow);background:linear-gradient(120deg,#f3faf8,#fff);border:1px solid #cae3dd;border-radius:14px;align-items:center;gap:14px;margin-bottom:18px;padding:17px 19px;display:flex}.import-feature-card>span{background:var(--green-pale);width:38px;height:38px;color:var(--green);border-radius:10px;flex:0 0 38px;place-items:center;font-size:18px;display:grid}.import-feature-card>div{flex-direction:column;flex:1;display:flex}.import-feature-card strong{font-size:12px}.import-feature-card small{color:var(--muted);margin-top:4px;font-size:9.5px}.import-feature-card b{color:var(--green)}.import-page{max-width:1220px}.import-notice{background:#f1faf7;border:1px solid #cfe5df;border-radius:12px;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.import-notice>span{background:var(--green);color:#fff;border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:11px;font-weight:800;display:grid}.import-notice div{flex-direction:column;display:flex}.import-notice strong{font-size:11px}.import-notice p{color:#66807c;margin:3px 0 0;font-size:9.5px}.import-setup{grid-template-columns:1fr 1fr;gap:17px 24px;padding:22px;display:grid}.import-step{border-bottom:1px solid var(--line);grid-column:1/-1;align-items:center;gap:11px;padding-bottom:10px;display:flex}.import-step>span{background:var(--green);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:800;display:grid}.import-step>div{flex-direction:column;display:flex}.import-step strong{font-size:11.5px}.import-step small{color:var(--muted);margin-top:3px;font-size:9px}.import-field{flex-direction:column;gap:7px;display:flex}.import-field>span{color:#51625f;font-size:10px;font-weight:700}.import-field select,.import-field input,.mapping-grid select{height:41px;color:var(--ink);background:#fbfcfc;border:1px solid #dce6e3;border-radius:9px;outline:0;padding:0 11px;font-size:10.5px}.mapping-grid select:disabled{color:#687673;background:#eef3f1}.immutable-note{color:#7c8987;background:#f5f7f6;border-radius:9px;align-self:end;align-items:center;min-height:41px;padding:0 12px;font-size:9.5px;display:flex}.immutable-note strong{color:#586966;margin-right:4px}.file-drop{cursor:pointer;background:#fafdfc;border:1.5px dashed #b9d3cd;border-radius:12px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;min-height:138px;display:flex}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-icon{background:var(--green-pale);width:34px;height:34px;color:var(--green);border-radius:9px;place-items:center;margin-bottom:9px;font-size:17px;display:grid}.file-drop strong{font-size:11px}.file-drop small{color:var(--muted);margin-top:4px;font-size:9px}.import-preview-button{grid-column:2;justify-self:end}.import-review{margin-top:18px;overflow:hidden}.import-review-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:19px 20px;display:flex}.import-review-heading h2{margin:0;font:700 15px Avenir Next}.import-review-heading p{color:var(--muted);margin:4px 0 0;font-size:9.5px}.update-id-selector{border-bottom:1px solid var(--line);background:#f2f9f7;align-items:end;gap:18px;padding:16px 20px;display:flex}.update-id-selector label{min-width:270px}.update-id-selector p{color:var(--muted);margin:0 0 12px;font-size:9.5px}.secondary-button{height:35px;color:var(--green);cursor:pointer;background:#fff;border:1px solid #dbe5e2;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:9.5px;font-weight:700;text-decoration:none;display:inline-flex}.mapping-grid{border-bottom:1px solid var(--line);background:#fbfcfc;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;padding:18px 20px;display:grid}.mapping-grid label{grid-template-columns:minmax(90px,1fr) 20px minmax(140px,1.2fr);align-items:center;gap:8px;display:grid}.mapping-grid label>span{text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:700;overflow:hidden}.mapping-grid b{color:#9aa8a5;text-align:center}.import-table-scroll{max-height:430px}.import-table th:first-child,.import-table td:first-child{z-index:1;background:inherit;position:sticky;left:0}.import-table input[type=checkbox]{accent-color:var(--green)}.import-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:15px 20px;display:flex}.import-footer p{color:var(--muted);margin:0;font-size:9.5px}.import-footer p strong{color:var(--ink)}.import-footer>div{align-items:center;gap:10px;display:flex}.import-message{border-radius:10px;margin:16px 0 0;padding:12px 14px;font-size:10.5px}.import-message--error{color:#a94d37;background:#fff0ec}.import-message--success{background:var(--green-pale);color:var(--green-dark)}.user-create-form{margin-top:18px;overflow:hidden}.user-form-heading,.user-form-footer{justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.user-form-heading{border-bottom:1px solid var(--line)}.user-form-heading h2{margin:0;font-size:15px}.user-form-heading small,.user-form-footer p{color:var(--muted);margin:0;font-size:9.5px}.user-form-grid{background:#fbfcfc;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:20px;display:grid}.user-form-footer{border-top:1px solid var(--line)}.temporary-credential{background:var(--green-pale);border:1px solid #b9d8d0;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:14px 20px;margin-top:16px;padding:18px 20px;display:grid}.temporary-credential p{color:var(--muted);margin:3px 0 0;font-size:9.5px}.temporary-credential dl{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.temporary-credential dl>div{background:#fff;border-radius:8px;min-width:0;padding:11px 12px}.temporary-credential dt{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:8.5px;font-weight:700}.temporary-credential dd{overflow-wrap:anywhere;color:var(--green-dark);margin:0;font-size:12px;font-weight:800}.user-list-panel{margin-top:18px;overflow:hidden}.access-toggle{color:var(--muted);align-items:center;gap:7px;font-size:9.5px;display:inline-flex}.access-toggle input{accent-color:var(--green)}.module-filters{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:14px;margin:-10px 0 18px;padding:16px 18px;display:grid}.module-filters label{flex-direction:column;gap:6px;display:flex}.module-filters label span{color:var(--muted);font-size:9px;font-weight:700}.module-filters select,.module-filters input{height:38px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dce6e3;border-radius:8px;padding:0 10px;font-size:10px}.module-search{background:#fbfcfc;border:1px solid #dce5e3;border-radius:9px;align-items:center;display:flex;overflow:hidden}.module-search>span{color:#91a19e;padding-left:10px}.module-search input{background:0 0;border:0;outline:0;width:185px;height:36px;padding:0 9px;font-size:10px}.module-search button{height:36px;color:var(--green);cursor:pointer;background:#fff;border:0;border-left:1px solid #dce5e3;padding:0 12px;font-size:9px;font-weight:700}.active-filter-note{border-top:1px solid var(--line);background:var(--green-pale);color:var(--green-dark);justify-content:space-between;align-items:center;padding:9px 16px;font-size:9px;display:flex}.active-filter-note button{color:var(--green);cursor:pointer;font:inherit;background:0 0;border:0;font-weight:800}.finance-status-chart{margin-bottom:18px;overflow:hidden}.finance-currency-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0 24px 22px;display:grid}.finance-currency-chart{border:1px solid var(--line);border-radius:12px;min-width:0}.finance-currency-chart h3{color:var(--green-dark);margin:18px 24px 0;font-size:12px}.finance-chart-range{color:var(--muted);font-size:9.5px}.finance-chart-body{align-items:center;gap:34px;padding:22px 24px;display:flex}.finance-pie{border-radius:50%;flex:none;place-items:center;width:150px;height:150px;display:grid}.finance-pie:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:92px;height:92px}.finance-pie span{z-index:1;color:var(--green-dark);grid-area:1/1;font-size:11px;font-weight:800}.finance-chart-legend{gap:12px;min-width:230px;display:grid}.finance-chart-legend>div{color:var(--muted);grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:10.5px;display:grid}.finance-chart-legend strong{color:var(--ink);font-size:10.5px}.finance-legend-dot{border-radius:50%;width:9px;height:9px}.finance-legend-dot--pagado{background:#2a9d8f}.finance-legend-dot--pendiente{background:#e6b85c}.finance-legend-dot--parcial{background:#d4775d}@media (max-width:780px){.finance-currency-charts{grid-template-columns:1fr}}.empty-table{text-align:center;color:var(--muted)!important;padding:36px!important;font-weight:500!important}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0823208c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.module-modal{background:#fff;border-radius:16px;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px #041f1c4d}.module-modal>header{z-index:1;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px;display:flex;position:sticky;top:0}.module-modal header h2{margin:2px 0 4px;font-size:18px}.module-modal header p:last-child{color:var(--muted);margin:0;font-size:10px}.module-modal header>button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#f2f5f4;border:0;border-radius:8px;font-size:20px}.module-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:22px;display:grid}.module-form-field{flex-direction:column;gap:7px;display:flex}.module-form-field--wide{grid-column:1/-1}.module-form-field>span{color:#51625f;font-size:13.5px;font-weight:700}.module-form-field input,.module-form-field select,.module-form-field textarea{width:100%;min-height:40px;color:var(--ink);font:inherit;background:#fbfcfc;border:1px solid #dce6e3;border-radius:9px;outline:0;padding:9px 11px;font-size:13.5px}.module-form-field input:focus,.module-form-field select:focus,.module-form-field textarea:focus{border-color:#67a99b;box-shadow:0 0 0 3px #2a9d8f1a}.module-checkbox{align-items:center;gap:8px;font-size:13.5px;display:flex}.module-checkbox input{accent-color:var(--green)}.appointment-modal fieldset.module-form-field{background:#f8fbfa;border:1px solid #dce6e3;border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;padding:16px;display:grid}.appointment-modal fieldset.module-form-field legend{color:var(--green-dark);grid-column:1/-1;padding:0 7px;font-size:10.5px;font-weight:800}.appointment-modal fieldset.module-form-field .module-checkbox{color:#51625f;background:#fff;border:1px solid #e0ebe8;border-radius:8px;min-height:42px;padding:10px 11px;font-size:10px}.appointment-modal fieldset.module-form-field .module-checkbox input{flex:none;width:16px;height:16px}.module-form-error{color:#a94d37;background:#fff0ec;border-radius:9px;margin:0 22px 16px;padding:10px 12px;font-size:10px}.appointment-modal{width:min(680px,100%)}.availability-action{grid-column:1/-1;justify-content:flex-end;display:flex}.availability-result{color:#236e66;background:#edf8f4;border-radius:8px;grid-column:1/-1;margin:-4px 0 0;padding:9px 11px;font-size:10.5px;line-height:1.4}.availability-schedule-backdrop{z-index:60;background:#081f2485;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.availability-schedule-modal{background:#fff;border-radius:16px;flex-direction:column;width:min(100%,720px);max-height:min(82vh,760px);display:flex;overflow:hidden;box-shadow:0 24px 70px #041f1c4d}.availability-schedule-modal>header{border-bottom:1px solid #e5eeeb;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px 18px;display:flex}.availability-schedule-modal h2{margin:4px 0 6px;font-size:22px}.availability-schedule-modal header p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px}.availability-schedule-modal header>button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:26px}.availability-schedule-table-wrap{padding:8px 26px;overflow:auto}.availability-schedule-table-wrap table{border-collapse:collapse;width:100%;font-size:12px}.availability-schedule-table-wrap th,.availability-schedule-table-wrap td{text-align:left;border-bottom:1px solid #edf1ef;padding:10px 8px}.availability-schedule-table-wrap th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.availability-schedule-table-wrap td:last-child{text-align:right}.availability-schedule-table-wrap .secondary-button{min-height:31px;padding:5px 9px;font-size:10px}.availability-slot--available,.availability-slot--unavailable{font-size:10px;font-weight:700}.availability-slot--available{color:#237467}.availability-slot--unavailable{color:#a94d37}.availability-schedule-modal>footer{border-top:1px solid #e5eeeb;justify-content:flex-end;padding:16px 26px;display:flex}.clinic-hours-panel{gap:20px;padding:24px;display:grid}.clinic-hours-panel>div:first-child{border-bottom:1px solid var(--line);padding-bottom:18px}.clinic-hours-panel h2{margin:5px 0 8px;font-size:21px}.clinic-hours-panel>div>p:not(.eyebrow){max-width:680px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.clinic-hours-form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.clinic-hours-form label{color:#51625f;gap:7px;min-width:170px;font-size:10px;font-weight:700;display:grid}.clinic-hours-form input{box-sizing:border-box;width:170px;min-height:42px;color:var(--ink);font:inherit;background:#fbfcfc;border:1px solid #dce6e3;border-radius:9px;padding:8px 10px}.clinic-hours-form .primary-button{min-height:42px}.clinic-days-grid{gap:8px;max-width:620px;display:grid}.clinic-day-row{grid-template-columns:minmax(130px,1fr) 120px 14px 120px;align-items:center;gap:10px;display:grid}.clinic-day-toggle{color:var(--ink);align-items:center;gap:9px;font-size:11px;font-weight:700;display:flex}.clinic-day-toggle input{width:16px;height:16px;accent-color:var(--green)}.clinic-day-row>input{width:120px;min-height:36px}.clinic-day-row>input:disabled{opacity:.45;background:#f1f4f3}.clinic-picker{background:#fff;border:1px solid #d5e1de;border-radius:16px;width:100%;overflow:hidden;box-shadow:0 12px 30px #18413d17}.clinic-picker-calendar{padding:16px 18px 18px}.clinic-picker-header{color:var(--ink);text-transform:capitalize;justify-content:space-between;align-items:center;display:flex}.clinic-picker-header button{width:30px;height:30px;color:var(--green);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:24px}.clinic-picker-weekdays,.clinic-picker-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px;display:grid}.clinic-picker-weekdays{color:#91a4a0;font-size:9px;font-weight:800}.clinic-picker-days button{width:38px;height:38px;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:50%;justify-self:center;font-size:12px;transition:background .15s,color .15s,transform .15s}.clinic-picker-days button:hover:not(:disabled){color:var(--green);background:#e8f4f1;transform:translateY(-1px)}.clinic-picker-days button.is-selected{background:var(--green);color:#fff;box-shadow:0 4px 10px #23776f38}.clinic-picker-days button:disabled{color:#c5cfcd;cursor:not-allowed;text-decoration:line-through}.clinic-picker-time{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px 16px;font-size:10px;font-weight:700;display:flex}.clinic-picker-time div{gap:3px;display:grid}.clinic-picker-time small{color:var(--ink);text-transform:capitalize;font-size:11px;font-weight:500}.clinic-picker-time select{min-height:40px;color:var(--ink);font:inherit;background:#f1f7f5;border:1px solid #d5e1de;border-radius:9px;padding:0 12px;font-size:12px;font-weight:700}.clinic-hours-panel>.import-message{max-width:620px;margin:0}.clinic-calendar-settings{gap:18px;display:grid}.clinic-calendar-settings>.panel{gap:18px;padding:24px;display:grid}.clinic-calendar-settings h2{margin:4px 0 7px;font:750 19px Avenir Next,sans-serif}.clinic-calendar-settings h3{margin:0;font-size:13px}.clinic-calendar-settings p:not(.eyebrow){max-width:760px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.clinic-calendar-policy__controls{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.clinic-calendar-policy__controls .clinic-day-toggle{max-width:560px}.clinic-calendar-sync-status{background:#f1f6f5;border-radius:9px;padding:11px 13px}.clinic-calendar-note{color:#80601f!important}.clinic-calendar-holidays ul,.clinic-exception-list ul,.clinic-calendar-conflicts ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.clinic-calendar-holidays li{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(140px,190px) minmax(180px,1fr) auto;align-items:center;gap:12px;padding:11px 0;font-size:11px;display:grid}.clinic-calendar-holidays li strong{color:var(--ink);font-size:11px}.clinic-exception-form{grid-template-columns:repeat(2,minmax(180px,1fr));align-items:end;gap:14px;display:grid}.clinic-exception-form__wide{grid-column:1/-1}.clinic-exception-form .primary-button{justify-self:start;min-height:40px}.clinic-exception-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.clinic-exception-list li>div:first-child{gap:4px;display:grid}.clinic-exception-list li strong{color:var(--ink);font-size:11px}.clinic-exception-list li span,.clinic-exception-list li time{color:var(--muted);font-size:10px}.clinic-exception-list li small{color:#80601f;font-size:10px}.clinic-exception-list li.is-inactive{opacity:.58}.clinic-exception-actions{gap:8px;display:flex}.clinic-exception-actions button{min-height:32px;padding:5px 10px;font-size:10px}.clinic-calendar-conflicts{background:#fffaf0;border-color:#efd7aa}.clinic-calendar-conflicts ul{color:#80601f;gap:6px;padding-left:18px;font-size:10px;list-style:outside}.clinic-calendar-conflicts h2{color:#6f5016}.module-form-field small{color:var(--muted);font-size:9px;line-height:1.45}.calendar-required{background:#fff9ec;border:1px solid #efd7a6;border-radius:12px;margin:22px;padding:22px}.calendar-required strong{color:#78591f;font-size:12px}.calendar-required p{color:#806f50;margin:7px 0 14px;font-size:10px;line-height:1.5}.calendar-required a{color:var(--green);font-size:10px;font-weight:800}.calendar-settings{gap:18px;display:grid}.calendar-connection-card{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px;display:grid}.calendar-connection-card h2,.calendar-rules h2{margin:5px 0 7px;font:750 16px Avenir Next,sans-serif}.calendar-connection-card p:last-child{color:var(--muted);margin:0;font-size:10.5px;line-height:1.55}.calendar-connection-icon{color:#82908e;background:#eef2f1;border-radius:12px;place-items:center;width:48px;height:48px;font-size:15px;font-weight:800;display:grid}.calendar-connection-icon--active{background:var(--green-pale);color:var(--green)}.calendar-connection-actions .primary-button{align-items:center;display:inline-flex}.calendar-button--disabled{pointer-events:none;opacity:.45}.calendar-rules{padding:22px 24px}.calendar-rules h2{margin-top:0}.calendar-rules ul{color:var(--muted);margin:0;padding-left:18px;font-size:10.5px;line-height:1.9}.appointment-calendar{padding:20px;overflow:hidden}.appointment-calendar__header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.appointment-calendar__header h2{text-transform:capitalize;margin:4px 0 0;font:750 17px Avenir Next,sans-serif}.appointment-calendar__controls{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.appointment-calendar__controls .secondary-button{min-height:32px;padding:6px 10px}.calendar-view-toggle{border:1px solid #dce7e4;border-radius:8px;display:inline-flex;overflow:hidden}.calendar-view-toggle button{color:var(--muted);cursor:pointer;background:#fff;border:0;padding:7px 10px;font-size:10px;font-weight:800}.calendar-view-toggle button+button{border-left:1px solid #dce7e4}.calendar-view-toggle button.is-active{background:var(--green);color:#fff}.appointment-calendar__weekdays,.appointment-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.appointment-calendar__weekdays{background:#f6faf8;border:1px solid #e1eae7;border-bottom:0;border-radius:10px 10px 0 0}.appointment-calendar__weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;padding:9px 8px;font-size:9px;font-weight:800}.appointment-calendar__grid{border:1px solid #e1eae7;border-right:0;border-radius:0 0 10px 10px;overflow:hidden}.appointment-calendar__day{background:#fff;border-bottom:1px solid #e1eae7;border-right:1px solid #e1eae7;min-width:0;min-height:142px;padding:7px}.appointment-calendar--month .appointment-calendar__day{min-height:110px}.appointment-calendar__day:nth-last-child(-n+7){border-bottom:0}.appointment-calendar__day time{color:var(--green-dark);margin:0 0 6px;font-size:10px;font-weight:800;display:block}.appointment-calendar__day-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.appointment-calendar__day.is-selected{box-shadow:inset 0 0 0 2px var(--green);background:#e7f4f0}.appointment-calendar__week-scroll{border:1px solid #e1eae7;border-radius:10px;overflow:auto}.appointment-calendar__week-head,.appointment-calendar__week-row{grid-template-columns:68px repeat(7,minmax(120px,1fr));min-width:920px;display:grid}.appointment-calendar__week-head{z-index:2;background:#f6faf8;position:sticky;top:0}.appointment-calendar__week-head>span{border-bottom:1px solid #e1eae7}.appointment-calendar__week-head>button{min-height:50px;color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;border-top:0;border-bottom:1px solid #e1eae7;border-left:1px solid #e1eae7;border-right:0;justify-content:center;align-items:center;gap:6px;font-weight:800;display:flex}.appointment-calendar__week-head>button time{color:var(--ink)}.appointment-calendar__week-head>button small{color:var(--muted);text-transform:none;font-size:10px;font-weight:500}.appointment-calendar__week-head>button.is-selected{z-index:1;background:var(--green);color:#fff;box-shadow:inset 0 0 0 2px var(--green-dark);font-weight:900;position:relative}.appointment-calendar__week-head>button.is-selected time,.appointment-calendar__week-head>button.is-selected small{color:inherit}.appointment-calendar__week-grid{min-width:920px}.appointment-calendar__week-row{grid-template-rows:minmax(82px,auto)}.appointment-calendar__time-label{color:var(--muted);text-align:right;padding:7px 8px 0 0;font-size:10px;transform:translateY(-7px)}.appointment-calendar__week-slot{border-bottom:1px solid #e1eae7;border-left:1px solid #e1eae7;min-width:0;padding:5px;position:relative}.appointment-calendar__week-slot.is-open{background:#fff}.appointment-calendar__week-slot.is-closed{background:#f5f8f7}.appointment-calendar__week-slot.is-selected-column{box-shadow:inset 2px 0 var(--green), inset -2px 0 var(--green)}.appointment-calendar__week-slot.is-selected-column.is-column-start{box-shadow:inset 2px 0 var(--green), inset -2px 0 var(--green), inset 0 2px var(--green)}.appointment-calendar__week-slot.is-selected-column.is-column-end{box-shadow:inset 2px 0 var(--green), inset -2px 0 var(--green), inset 0 -2px var(--green)}.appointment-calendar__week-slot .appointment-calendar__event{min-height:66px;margin:0;padding:7px;font-size:10px}.appointment-calendar__week-slot .appointment-calendar__event strong,.appointment-calendar__week-slot .appointment-calendar__event span,.appointment-calendar__week-slot .appointment-calendar__event small{font-size:10px}.appointment-calendar__now{z-index:2;pointer-events:none;border-top:2px solid #e45762;height:0;position:absolute;left:0;right:0;transform:translateY(-1px)}.appointment-calendar__now:before{content:"";background:#e45762;border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-1px}.appointment-calendar__now time{color:#fff;white-space:nowrap;background:#e45762;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:800;position:absolute;top:-14px;right:4px}.appointment-calendar__closed-week{color:var(--muted);text-align:center;padding:20px}.danger-button{color:#a44235;height:35px;font:inherit;cursor:pointer;background:#fff4f1;border:1px solid #e2aaa0;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:9.5px;font-weight:700;display:inline-flex}.appointment-edit-date{margin:22px 22px 4px}.appointment-edit-date input{box-sizing:border-box;width:100%}.input-prefix-field{background:#fbfcfc;border:1px solid #dbe5e2;border-radius:8px;align-items:center;min-height:35px;display:flex;overflow:hidden}.input-prefix-field>span{color:var(--muted);padding-left:10px;font-size:10px;font-weight:700}.input-prefix-field input{background:0 0;border:0;flex:1;min-width:0}.search-field{align-items:center;gap:8px;display:flex}.search-field input{flex:1;min-width:0}.search-field .secondary-button{flex:none}.quotation-procedure-picker{min-height:0;padding:8px}.appointment-quote-mode>label:nth-of-type(4),.appointment-quote-mode>label:nth-of-type(5),.appointment-quote-mode>label:nth-of-type(6){display:none}.appointment-quote-mode fieldset.module-form-field{gap:8px;padding:10px 12px}.appointment-quote-mode fieldset.module-form-field .module-checkbox{min-height:34px;padding:7px 9px}.appointment-quote-mode fieldset.appointment-procedures-field{grid-template-rows:auto auto;align-self:start;height:fit-content;min-height:0}.appointment-quote-mode fieldset.appointment-procedures-field .module-checkbox{width:fit-content;min-width:180px}.appointment-procedures-field{padding:12px 14px}.payment-confirmation-backdrop{z-index:20;background:#112b2873;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.payment-confirmation{background:#fff;border-radius:16px;width:min(420px,100%);padding:24px;box-shadow:0 20px 60px #041f1c47}.payment-confirmation h3{margin:0 0 8px;font-size:18px}.payment-confirmation p{color:var(--muted);font-size:10.5px}.payment-confirmation>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:11px;display:flex}.payment-confirmation>div span{color:var(--muted)}.payment-confirmation footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.appointment-calendar__day.is-outside{background:#fbfcfc}.appointment-calendar__day.is-outside time{color:#aebbb7}.appointment-calendar__event{color:#194f49;background:#eff8f5;border-left:3px solid #91bdb4;border-radius:4px;gap:2px;margin-bottom:5px;padding:5px;font-size:8px;line-height:1.25;display:grid;overflow:hidden}.appointment-calendar__event--warning{color:#755615;background:#fff8e9;border-color:#d7a542}.appointment-calendar__event--neutral{color:#42565c;background:#f2f5f5;border-color:#8a9aa1}.appointment-calendar__event strong{font-size:8px}.appointment-calendar__event span,.appointment-calendar__event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.appointment-calendar__event small{font-size:7.5px}.module-modal footer{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:10px;padding:15px 22px;display:flex;position:sticky;bottom:0}.quote-modal{width:min(820px,100%)}.quote-id-notice{background:var(--green-pale);border:1px solid #cfe5df;border-radius:10px;align-items:center;gap:16px;margin:22px 22px 0;padding:12px 14px;display:flex}.quote-id-notice span,.quote-status-notice span{color:var(--muted);font-size:9px;font-weight:700}.quote-id-notice strong{color:var(--green-dark);letter-spacing:.7px;font-size:13px}.quote-patient-field{grid-column:1/-1}.quote-select-action{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.quote-select-action button{color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #b9d8d0;border-radius:9px;padding:0 13px;font-size:9.5px;font-weight:800}.quote-new-patient{background:#f8fbfa;border:1px solid #dce6e3;border-radius:11px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;padding:16px;display:grid}.quote-new-patient>div:first-child{grid-column:1/-1;align-items:baseline;gap:9px;display:flex}.quote-new-patient strong{color:var(--green-dark);font-size:11px}.quote-new-patient small{color:var(--muted);font-size:9px}.quote-new-patient label{flex-direction:column;gap:6px;display:flex}.quote-new-patient label span{color:var(--muted);font-size:9px;font-weight:700}.quote-new-patient input,.quote-new-patient select{min-height:38px;font:inherit;background:#fff;border:1px solid #dce6e3;border-radius:8px;outline:0;padding:8px 10px;font-size:10px}.quote-new-patient-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.quote-status-notice{background:#fff8e8;border-radius:9px;grid-column:1/-1;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:11px 13px;display:grid}.quote-status-notice strong{color:#8b651d;font-size:10px}.quote-status-notice small{color:#796c52;font-size:9px}.quote-consent-preview{background:#fbfcfc;border:1px solid #dce6e3;border-radius:9px;grid-column:1/-1;max-height:150px;padding:13px;overflow:auto}.quote-consent-preview>span{color:var(--green-dark);font-size:9px;font-weight:800}.quote-consent-item{margin-top:10px}.quote-consent-item>strong{color:#3f514d;font-size:9px}.quote-consent-preview p{color:#52625f;white-space:pre-wrap;margin:7px 0 0;font-size:9.5px;line-height:1.55}.quote-consent-preview .quote-consent-missing{color:#9a6b24}.quote-adjustment-note{background:#f3f7f6;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.quote-adjustment-note span{color:var(--muted);font-size:9px;font-weight:700}.quote-adjustment-note strong{color:var(--green-dark);font-size:11px}.quote-insurance-note{background:#fafdfc;border:1px solid #dbe5e2;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.quote-insurance-note span{color:var(--muted);font-size:9px;font-weight:700}.quote-insurance-note strong{color:var(--green-dark);font-size:11px}.quote-line-items{flex-direction:column;grid-column:1/-1;gap:12px;display:flex}.quote-line-items-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.quote-line-items-header>div{flex-direction:column;gap:3px;display:flex}.quote-line-items-header strong{color:var(--green-dark);font-size:11px}.quote-line-items-header small{color:var(--muted);font-size:9px}.quote-line-items-header button{min-height:34px;color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #b9d8d0;border-radius:9px;padding:0 12px;font-size:9.5px;font-weight:800}.quote-line-items-list{flex-direction:column;gap:10px;display:flex}.quote-line-item{background:#f8fbfa;border:1px solid #dce6e3;border-radius:11px;grid-template-columns:1fr 1.25fr 1.25fr .55fr;gap:11px;padding:14px;display:grid}.quote-line-item-heading{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.quote-line-item-heading strong{color:var(--green-dark);font-size:10px}.quote-line-item-heading button{color:#a34d43;cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;font-weight:750}.quote-line-price{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.quote-line-price span{color:var(--muted);font-size:8.5px;font-weight:700}.quote-line-price strong{color:var(--green-dark);font-size:9.5px}.quote-line-items-total{background:var(--green-pale);border-radius:9px;justify-content:flex-end;align-items:center;gap:18px;padding:10px 12px;display:flex}.quote-line-items-total span{color:var(--muted);font-size:9px;font-weight:700}.quote-line-items-total strong{color:var(--green-dark);font-size:14px}.quote-edit-modal{width:min(900px,100%)}.quote-lines-loading{color:var(--muted);text-align:center;border:1px solid #dce6e3;border-radius:10px;grid-column:1/-1;margin:0;padding:18px;font-size:10px}.quote-print-confirm{width:min(470px,100%)}.quote-print-confirm-body{text-align:center;padding:30px 28px 26px}.quote-print-confirm-body>span{background:var(--green-pale);width:45px;height:45px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 16px;font-size:22px;font-weight:800;display:grid}.quote-print-confirm-body h2{margin:6px 0 10px;font-size:22px}.quote-print-confirm-body>p:last-child{max-width:360px;color:var(--muted);margin:0 auto;font-size:11px;line-height:1.6}.quote-edit-summary{background:var(--green-pale);border-radius:9px;flex-direction:column;justify-content:center;gap:6px;padding:10px 12px;display:flex}.quote-edit-summary span{color:var(--muted);font-size:9px;font-weight:700}.quote-edit-summary strong{color:var(--green-dark);font-size:14px}.quote-consent-check{background:#f8fbfa;border:1px solid #cfe5df;border-radius:9px;grid-column:1/-1;padding:12px}.quote-approval-warning{color:#80601f;background:#fff8e8;border-radius:9px;grid-column:1/-1;margin:0;padding:10px 12px;font-size:9.5px;line-height:1.45}.quote-print-button{color:var(--green-dark);margin-right:auto}.quote-print-root{display:none}.immutable-id-notice{background:#f8fbfa;border:1px solid #dce6e3;border-radius:9px;align-items:center;gap:12px;margin:22px 22px 0;padding:11px 13px;display:flex}.immutable-id-notice span{color:var(--muted);font-size:9px;font-weight:700}.immutable-id-notice strong{color:var(--green-dark);font-size:12px}.immutable-id-notice small{color:var(--muted);margin-left:auto;font-size:9px}.record-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:22px;display:grid}.record-detail-grid>div{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;min-width:0;padding:12px;display:flex}.record-detail-grid>div span{color:var(--muted);font-size:9px;font-weight:700}.record-detail-grid>div strong{overflow-wrap:anywhere;color:var(--ink);font-size:10.5px}.record-detail-grid footer{grid-column:1/-1;justify-content:flex-end;padding-top:18px;display:flex}.more-button:disabled{cursor:not-allowed;opacity:.45}@media (max-width:760px){.import-setup,.mapping-grid,.user-form-grid,.module-form-grid,.module-filters,.quote-new-patient{grid-template-columns:1fr}.import-preview-button{grid-column:1}.mapping-grid label{grid-template-columns:minmax(80px,1fr) 18px minmax(120px,1.2fr)}.user-form-heading,.user-form-footer{flex-direction:column;align-items:flex-start}.module-form-field--wide,.quote-patient-field,.quote-new-patient,.quote-new-patient>div:first-child,.quote-new-patient-actions,.quote-status-notice,.quote-consent-preview,.quote-consent-check,.quote-approval-warning,.quote-line-items{grid-column:auto}.quote-line-item{grid-template-columns:1fr}.quote-line-item-heading{grid-column:auto}.quote-status-notice,.quote-select-action{grid-template-columns:1fr}.quote-select-action button{min-height:38px}.record-detail-grid{grid-template-columns:1fr}.immutable-id-notice{flex-direction:column;align-items:flex-start}.immutable-id-notice small{margin-left:0}.calendar-connection-card{grid-template-columns:auto 1fr}.calendar-connection-actions{grid-column:1/-1}.appointment-calendar__header{flex-direction:column;align-items:flex-start}.clinic-calendar-holidays li{grid-template-columns:1fr;align-items:flex-start;gap:5px}.clinic-exception-form{grid-template-columns:1fr}.clinic-exception-form__wide{grid-column:auto}.clinic-exception-list li{flex-direction:column;align-items:flex-start}}@media (max-width:620px){.search-box{display:none}.topbar-actions{margin-left:auto}.welcome-row{align-items:flex-start}.date-control{display:none}.metric-grid,.right-column{grid-template-columns:1fr}.metric-card{min-height:112px}.primary-button{padding:0 12px}.panel-heading,.appointments-list{padding-inline:15px}.panel-heading a{font-size:0}.panel-heading a span{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@page{size:8.5in 11in;margin:0}@media print{html,body{width:8.5in;min-height:11in;background:#fff!important}body *{visibility:hidden!important}.quote-print-root,.quote-print-root *{visibility:visible!important}.quote-print-root{box-sizing:border-box;color:#283330;background:#fff;width:8.5in;min-height:11in;font-family:Avenir Next,Avenir,Arial,sans-serif;font-size:10pt;display:block;position:absolute;top:0;left:0}.quote-print-scale{box-sizing:border-box;transform-origin:0 0;width:17in;min-height:22in;padding:12mm 12mm 14mm;position:absolute;top:0;left:0;transform:scale(.5)}.quote-print-table{border-collapse:collapse;table-layout:fixed;width:100%}.quote-print-table thead{display:table-header-group}.quote-print-table tbody{display:table-row-group}.quote-print-table tr{break-inside:avoid;page-break-inside:avoid}.quote-print-brand-row th{border:0;padding:0 2mm 7mm}.quote-print-brand{justify-content:space-between;align-items:center;height:40mm;display:flex}.quote-print-logo-window{background:#fff;width:48mm;height:40mm;position:relative;overflow:hidden}.quote-print-logo-window img{width:121mm;max-width:none;position:absolute;top:-18.5mm;left:-36.5mm}.quote-print-title{color:#9a9575;letter-spacing:1.2pt;text-transform:uppercase;flex-direction:column;align-items:center;gap:5mm;padding-right:2mm;font-size:24pt;font-weight:400;display:flex}.quote-print-title i{background:#1b9ca3;width:32mm;height:.45mm}.quote-print-meta-row th{border:0;padding:0 0 7mm}.quote-print-meta{border-top:.45mm solid #1b9ca3;border-bottom:.45mm solid #1b9ca3;grid-template-columns:repeat(3,1fr);display:grid}.quote-print-meta>div{text-align:left;flex-direction:column;gap:2mm;min-width:0;padding:2.5mm 2mm;display:flex}.quote-print-meta>div+div{border-left:.3mm solid #1b9ca3}.quote-print-meta span{color:#008f98;font-size:9.5pt;font-weight:750}.quote-print-meta strong{overflow-wrap:anywhere;color:#333a38;font-size:9.5pt;font-weight:500}.quote-print-columns th{color:#008f98;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:.25mm solid #b7c1bf;padding:2.25mm 1.5mm;font-size:9.5pt;font-weight:750;background:#f2f8f8!important}.quote-print-columns th:first-child{width:35%}.quote-print-columns th:nth-child(2){width:16%}.quote-print-columns th:nth-child(3){width:25%}.quote-print-columns th:last-child{width:24%}.quote-print-table tbody td{border:.25mm solid #b7c1bf;padding:2.5mm 2mm;font-size:9.5pt}.quote-print-table tbody td:not(:first-child){text-align:center}.quote-print-table tbody td:first-child strong,.quote-print-table tbody td:first-child small{display:block}.quote-print-table tbody td:first-child strong{font-weight:600}.quote-print-table tbody td:first-child small{color:#687371;margin-top:1mm;font-size:8pt}.quote-print-summary-block{break-inside:avoid;page-break-inside:avoid}.quote-print-totals{width:48%;margin:7mm 0 0 auto}.quote-print-totals>div{border-bottom:.25mm solid #b7c1bf;grid-template-columns:1fr auto;align-items:center;gap:7mm;margin:0;padding:2mm 1.5mm;display:grid}.quote-print-totals dt,.quote-print-totals dd{margin:0}.quote-print-totals dt{font-weight:500}.quote-print-totals dd{white-space:nowrap;text-align:right}.quote-print-totals .quote-print-total-due{color:#008f98;text-transform:uppercase;border-top:.45mm solid #1b9ca3;border-bottom:.45mm solid #1b9ca3;font-size:11.5pt;font-weight:800}.quote-print-totals .quote-print-total-due dt{font-weight:800}.quote-print-signatures{grid-template-columns:1fr 1fr;gap:32mm;margin:33mm 4mm 0;display:grid}.quote-print-signatures>div{text-align:center;flex-direction:column;gap:3mm;display:flex}.quote-print-signatures span{background:#69716f;height:.25mm}.quote-print-signatures strong{font-size:8.5pt;font-weight:500}.quote-print-page-footer{color:#77817f;text-align:center;font-size:7.5pt;position:absolute;bottom:5mm;left:12mm;right:12mm}}.login-page{background:#fff;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:linear-gradient(160deg,#0f4c5c 0%,#123f4c 55%,#0b3843 100%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:46px 54px;display:flex;position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";border-radius:50%;position:absolute}.login-brand-panel:before{border:80px solid #ffffff0e;width:440px;height:440px;bottom:-110px;right:-170px}.login-brand-panel:after{border:1px solid #ffffff14;width:150px;height:150px;top:28%;right:55px}.official-logo-card{z-index:1;background:#fff;border-radius:16px;place-items:center;width:246px;height:199px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 45px #07302c38}.official-logo-crop{background:#fff;width:230px;height:184px;position:relative;overflow:hidden}.official-logo-crop img{width:656px;max-width:none;position:absolute;top:-123px;left:-221px}.login-message{z-index:1;max-width:490px;margin:auto 0;position:relative}.login-message .eyebrow{color:#9fd3c7}.login-message h1{letter-spacing:-2.2px;max-width:470px;margin:13px 0 18px;font:800 clamp(36px,4vw,58px)/1.08 Avenir Next,sans-serif}.login-message>p:last-child{color:#c6dcd7;max-width:430px;margin:0;font-size:15px;line-height:1.7}.login-security-note{z-index:1;color:#b8d5cf;align-items:center;gap:9px;margin:0;font-size:12px;display:flex;position:relative}.login-security-note span{color:#bfe6dc;background:#ffffff1a;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.login-form-panel{place-items:center;min-height:100vh;padding:48px;display:grid}.login-form-wrap{width:min(100%,420px)}.login-mobile-brand{width:188px;height:150px;display:none;overflow:hidden}.login-mobile-brand .official-logo-crop{transform-origin:0 0;width:188px;height:150px;transform:scale(.817)}.login-form-wrap h2{letter-spacing:-.8px;margin:7px 0 9px;font:800 29px/1.2 Avenir Next,sans-serif}.login-intro{color:var(--muted);margin:0 0 31px;font-size:13px}.login-form{gap:18px;display:grid}.login-form label>span{color:#425654;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.login-input{background:#fbfcfc;border:1px solid #dce6e3;border-radius:11px;align-items:center;gap:10px;height:48px;padding:0 13px;transition:all .15s;display:flex}.login-input:focus-within{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #236e661a}.login-input i{color:#8ca09d;font-size:14px;font-style:normal}.login-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.login-input button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:700}.login-error{color:#a94d37;background:#fff0ec;border-radius:8px;margin:-3px 0 0;padding:10px 12px;font-size:11px}.login-submit{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:12px;height:48px;font-size:13px;font-weight:700;display:flex;box-shadow:0 10px 22px #236e6633}.login-submit:hover{background:var(--green-dark)}.login-submit:disabled{cursor:wait;opacity:.7}.login-help{color:#8a9896;text-align:center;margin:26px 0 0;font-size:10.5px}.password-change-page{background:linear-gradient(160deg,#0f4c5c 0%,#123f4c 55%,#0b3843 100%);place-items:center;min-height:100vh;padding:28px;display:grid}.password-change-card{background:#fff;border-radius:18px;width:min(100%,480px);padding:38px;box-shadow:0 24px 70px #041f1c4d}.password-change-card h1{letter-spacing:-.8px;margin:7px 0 10px;font-size:29px}.password-change-card>p:not(.eyebrow){color:var(--muted);margin:0 0 28px;font-size:12px;line-height:1.6}.no-access-page{background:var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.no-access-card{border:1px solid var(--line);width:min(100%,510px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;padding:45px}.no-access-mark{margin:0 auto 24px;display:block}.no-access-card h1{margin:9px 0 12px;font:800 25px/1.25 Avenir Next}.no-access-card>p:not(.eyebrow){color:var(--muted);margin:0 auto 24px;font-size:13px;line-height:1.6}.no-access-card a{background:var(--green);color:#fff;border-radius:9px;padding:11px 17px;font-size:12px;font-weight:700;display:inline-flex}@media (max-width:800px){.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{padding:28px}.login-mobile-brand{align-items:center;gap:10px;margin-bottom:54px;display:flex}}@media (max-width:520px){.temporary-credential,.temporary-credential dl{grid-template-columns:1fr}.temporary-credential button{justify-self:start}.appointment-calendar{overflow-x:auto}.appointment-calendar__weekdays,.appointment-calendar__grid{min-width:680px}.password-change-card{padding:28px 22px}}.consent-public{color:#163952;background:#eef4f6;min-height:100vh;padding:28px 16px 56px}.consent-brand{max-width:820px;margin:0 auto 24px;font-size:25px;font-weight:700}.consent-brand span{font-size:14px;font-weight:400}.consent-card{background:#fff;border-radius:18px;max-width:820px;margin:auto;padding:32px;box-shadow:0 8px 32px #1639520d}.consent-card h1{margin:8px 0 24px;font-size:30px}.consent-card h2{margin:22px 0 14px;font-size:20px}.consent-summary{grid-template-columns:1fr 1fr;gap:16px;display:grid}.consent-summary span{color:#647788;margin-bottom:5px;font-size:13px;display:block}.consent-deadline{color:#684d0b;background:#fff6dd;border-radius:10px;margin:24px 0;padding:16px}.consent-deadline p{margin:8px 0 0;line-height:1.6}.consent-text{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #dce6ec;border-radius:10px;margin-bottom:16px;padding:20px;line-height:1.8}.consent-card fieldset{border:0;min-width:0;margin:28px 0 16px;padding:0}.consent-card legend{margin-bottom:16px;font-size:20px;font-weight:600}.consent-methods{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.consent-methods label,.consent-accept{align-items:flex-start;gap:8px;line-height:1.6;display:flex}.consent-name{flex-direction:column;gap:8px;margin:16px 0;display:flex}.consent-name input{border:1px solid #c4d3dd;border-radius:8px;width:100%;padding:12px;font-size:16px}.signature-pad{background:#fff;border:1px solid #c4d3dd;border-radius:10px;width:100%;height:220px;margin:12px 0;display:block}.typed-signature{overflow-wrap:anywhere;border-bottom:1px solid #c4d3dd;min-height:90px;padding:24px;font:italic 30px Georgia,serif}.consent-accept{margin:24px 0 8px}.consent-accept input{flex-shrink:0;margin-top:6px}.consent-success{background:#eff9f4;border-radius:12px;padding:20px;line-height:1.7}.consent-admin-filters{border:0;border-radius:0;margin:0}.consent-admin-filters input,.consent-admin-filters select{height:38px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dce6e3;border-radius:8px;padding:0 10px;font-size:10px}.consent-admin-pagination{border-top:1px solid var(--line);color:var(--muted);justify-content:flex-end;align-items:center;gap:14px;padding:15px 20px;font-size:9.5px;display:flex}.table-loading{color:var(--muted);text-align:center;margin:0;padding:36px;font-size:10.5px}.consent-admin-detail{max-height:85vh;overflow:auto}.consent-admin-detail>p{color:var(--muted);margin:0;padding:12px 22px;font-size:10.5px;line-height:1.5}.consent-admin-detail>p+p{padding-top:0}.consent-admin-detail>p:nth-of-type(2){color:var(--green-dark);letter-spacing:.2px;padding-bottom:18px;font-size:9px;font-weight:700}.consent-admin-detail .consent-text{color:#334844;white-space:pre-wrap;background:#f8fbfa;border:1px solid #dce8e4;border-radius:12px;margin:6px 22px 18px;padding:18px 20px;font-size:11px;line-height:1.7}.consent-admin-detail .typed-signature{background:var(--green-pale);color:var(--green-dark);border:1px solid #cfe4de;border-radius:10px;margin:4px 22px 18px;padding:14px 16px;font-size:16px;font-style:italic}.consent-admin-detail>footer{margin-top:4px}@media (max-width:600px){.consent-card{padding:22px 16px}.consent-card h1{font-size:25px}.consent-summary{grid-template-columns:1fr}.consent-methods{flex-direction:column}.consent-card form>.primary-button{width:100%;min-height:48px}}@media screen{body :where(p,span,small,a,button,input,select,textarea,label,li,td,th,strong,legend){font-size:13px!important}body :where(.brand-mark,.brand-name,.nav-icon,.mobile-menu,.more-button,.account-avatar,.quick-icon,.file-icon,.calendar-connection-icon){font-size:revert!important}body :where(.eyebrow,.nav-badge){font-size:13px!important}}.module-filters.agenda-list-filters{box-sizing:border-box;gap:8px;width:95%;margin:0 auto;padding:8px 12px}.module-page-content--agenda .module-filters.agenda-list-filters{width:100%}.module-filters.agenda-list-filters label{gap:3px}.module-filters.agenda-list-filters select{height:40px;padding-top:0;padding-bottom:0}.module-filters.finance-list-filters,.module-filters.quotation-list-filters{box-sizing:border-box;width:95%;margin:0 auto}.theme-settings{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:20px 22px;display:flex}.theme-settings h2{margin:0 0 6px;font:750 17px Avenir Next,sans-serif}.theme-settings p:not(.eyebrow){color:var(--muted);margin:0}.theme-switch{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:11px;padding:9px 12px;font-weight:700;display:inline-flex}.theme-switch__track{background:#9aa7a5;border-radius:99px;align-items:center;width:38px;height:22px;padding:3px;transition:background .16s;display:flex}.theme-switch__track span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s}.theme-switch[aria-checked=true] .theme-switch__track{background:var(--green)}.theme-switch[aria-checked=true] .theme-switch__track span{transform:translate(16px)}html[data-theme=dark] .app-shell{--ink:#e5e9ef;--muted:#aab3c0;--line:#394656;--canvas:#151b24;--card:#202a37;--green:#9eb4ce;--green-dark:#bdcbe0;--green-pale:#303c4b;--mint:#afc1d5;--amber-pale:#413820;--blue-pale:#303d4d;--violet-pale:#393a48;--shadow:0 12px 34px #0003;background:var(--canvas);min-height:100vh;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] .sidebar{background:#191f29}html[data-theme=dark] .brand-mark,html[data-theme=dark] .official-mark-crop{background:#f8fbfa}html[data-theme=dark] .nav-link{color:#bac2ce}html[data-theme=dark] .nav-link:hover,html[data-theme=dark] .quick-action-grid a:hover{background:#293340}html[data-theme=dark] .main-nav>p,html[data-theme=dark] .account-copy small{color:#9fa9b7}html[data-theme=dark] .account-avatar{background:#303a47}html[data-theme=dark] .topbar{background:#191f29f0}html[data-theme=dark] .search-box,html[data-theme=dark] .module-table-heading label,html[data-theme=dark] .module-search,html[data-theme=dark] .module-filters,html[data-theme=dark] .user-form-grid,html[data-theme=dark] .mapping-grid,html[data-theme=dark] .quote-new-patient,html[data-theme=dark] .quote-line-item,html[data-theme=dark] .module-form-field input,html[data-theme=dark] .module-form-field select,html[data-theme=dark] .module-form-field textarea,html[data-theme=dark] .import-field select,html[data-theme=dark] .import-field input,html[data-theme=dark] .mapping-grid select,html[data-theme=dark] .clinic-hours-form input,html[data-theme=dark] .module-filters select,html[data-theme=dark] .module-filters input,html[data-theme=dark] .module-search button,html[data-theme=dark] .date-control,html[data-theme=dark] .secondary-button,html[data-theme=dark] .module-table th,html[data-theme=dark] .immutable-note,html[data-theme=dark] .module-table tbody tr:hover,html[data-theme=dark] .module-modal,html[data-theme=dark] .module-modal>header,html[data-theme=dark] .module-modal footer,html[data-theme=dark] .availability-schedule-modal,html[data-theme=dark] .payment-confirmation,html[data-theme=dark] .clinic-picker,html[data-theme=dark] .appointment-calendar__day,html[data-theme=dark] .calendar-view-toggle button,html[data-theme=dark] .quote-select-action button,html[data-theme=dark] .quote-new-patient input,html[data-theme=dark] .quote-new-patient select,html[data-theme=dark] .quote-line-price,html[data-theme=dark] .temporary-credential dl>div,html[data-theme=dark] .consent-admin-filters input,html[data-theme=dark] .consent-admin-filters select{background-color:var(--card);color:var(--ink)}html[data-theme=dark] .module-table th,html[data-theme=dark] .appointment-calendar__weekdays{background:#293444}html[data-theme=dark] .module-table td,html[data-theme=dark] .module-table th,html[data-theme=dark] .appointment-calendar__day,html[data-theme=dark] .appointment-calendar__weekdays,html[data-theme=dark] .appointment-calendar__day{border-color:var(--line)}html[data-theme=dark] .module-table td{color:#cbd2dc;border-top-color:var(--line)}html[data-theme=dark] .module-table th,html[data-theme=dark] .module-table-heading label{color:var(--muted)}html[data-theme=dark] .app-shell :where(input,select,textarea,.panel,.module-summary-card,.metric-card,.date-control,.secondary-button,.module-search,.module-filters,.import-feature-card,.theme-switch,.clinic-picker,.module-modal,.availability-schedule-modal){border-color:var(--line)}html[data-theme=dark] .module-table tbody tr:hover,html[data-theme=dark] .appointment-calendar__day.is-outside{background:#191f29}html[data-theme=dark] .progress-ring{background:conic-gradient(var(--green) var(--progress), #414852 0)}html[data-theme=dark] .progress-ring:before,html[data-theme=dark] .finance-pie:before{background:var(--card)}html[data-theme=dark] .import-feature-card,html[data-theme=dark] .import-notice,html[data-theme=dark] .quote-new-patient,html[data-theme=dark] .quote-consent-preview,html[data-theme=dark] .quote-insurance-note,html[data-theme=dark] .quote-consent-check,html[data-theme=dark] .immutable-id-notice,html[data-theme=dark] .clinic-calendar-sync-status,html[data-theme=dark] .clinic-picker-time select,html[data-theme=dark] .input-prefix-field,html[data-theme=dark] .appointment-calendar__day.is-selected{color:var(--ink);border-color:var(--line);background:#2a3543}html[data-theme=dark] .import-feature-card small,html[data-theme=dark] .import-notice p,html[data-theme=dark] .module-form-field label,html[data-theme=dark] .appointment-calendar__day time,html[data-theme=dark] .clinic-picker-days button{color:var(--muted)}html[data-theme=dark] .appointment-calendar__event{color:#d0d9e5;background:#303c4b}html[data-theme=dark] .appointment-calendar__event--warning{color:#f1d18d;background:#413623}html[data-theme=dark] .appointment-calendar__event--neutral{color:#cfdbdf;background:#29383d}html[data-theme=dark] .quote-line-items-total,html[data-theme=dark] .quote-edit-summary{background:var(--green-pale)}html[data-theme=dark] .theme-settings{background:var(--card)}html[data-theme=dark] .theme-switch{background:#2a3542;border-color:#4a5664}html[data-theme=dark] .import-message--success,html[data-theme=dark] .availability-result,html[data-theme=dark] .consent-success{color:#d0d9e5;background:#303c4b}html[data-theme=dark] .module-alert-banner,html[data-theme=dark] .quote-approval-warning,html[data-theme=dark] .quote-status-notice,html[data-theme=dark] .calendar-required,html[data-theme=dark] .clinic-calendar-conflicts{color:#f0d99e;background:#3c3321;border-color:#665331}html[data-theme=dark] .module-form-error,html[data-theme=dark] .import-message--error,html[data-theme=dark] .login-error{color:#ffc1b0;background:#482c28}html[data-theme=dark] .status--confirmada,html[data-theme=dark] .table-status--success{background:#303c4b}html[data-theme=dark] .status--pendiente,html[data-theme=dark] .table-status--warning{background:#413623}html[data-theme=dark] .status--en-consulta,html[data-theme=dark] .table-status--neutral{background:#303a45}html[data-theme=dark] .module-summary-card,html[data-theme=dark] .metric-card,html[data-theme=dark] .panel,html[data-theme=dark] .login-input,html[data-theme=dark] .no-access-card{background:var(--card);color:var(--ink)}html[data-theme=dark] .login-page,html[data-theme=dark] .password-change-card{color:var(--ink);background:#202a37}html[data-theme=dark] .login-input input{color:var(--ink)}html[data-theme=dark] .login-brand-panel,html[data-theme=dark] .password-change-page{background:linear-gradient(160deg,#303b49 0%,#222c39 55%,#151b24 100%)}html[data-theme=dark] .appointment-calendar__day-button:hover,html[data-theme=dark] .clinic-picker-days button:hover:not(:disabled){background:#3a4655}html[data-theme=dark] .appointment-calendar__day.is-selected{box-shadow:inset 0 0 0 2px var(--green)}html[data-theme=dark] .appointment-calendar__week-scroll{border-color:var(--line)}html[data-theme=dark] .appointment-calendar__week-head{background:#293444}html[data-theme=dark] .appointment-calendar__week-head>span,html[data-theme=dark] .appointment-calendar__week-head>button,html[data-theme=dark] .appointment-calendar__week-slot{border-color:var(--line)}html[data-theme=dark] .appointment-calendar__week-head>button.is-selected{background:var(--green);color:#151b24;box-shadow:inset 0 0 0 2px #c7d3e0}html[data-theme=dark] .calendar-view-toggle button.is-active{background:var(--green);color:#151b24;box-shadow:inset 0 0 0 1px #c7d3e0}html[data-theme=dark] .appointment-calendar__week-slot.is-open{background:var(--card)}html[data-theme=dark] .appointment-calendar__week-slot.is-closed{background:#191f29}html[data-theme=dark] .appointment-calendar__week-slot.is-selected-column{box-shadow:inset 2px 0 var(--green), inset -2px 0 var(--green)}html[data-theme=dark] .appointment-calendar__week-slot.is-selected-column.is-column-start{box-shadow:inset 2px 0 var(--green), inset -2px 0 var(--green), inset 0 2px var(--green)}html[data-theme=dark] .appointment-calendar__week-slot.is-selected-column.is-column-end{box-shadow:inset 2px 0 var(--green), inset -2px 0 var(--green), inset 0 -2px var(--green)}@media (max-width:600px){.theme-settings{flex-direction:column;align-items:flex-start}}
