:root{--ink:#183b3e;--ink-soft:#496467;--muted:#728587;--line:#dfe8e5;--paper:#fff;--canvas:#f4f7f5;--green:#214f4b;--green-dark:#143d3a;--mint:#e7f2e8;--lime:#d9ee9f;--rose:#b6494c;--rose-bg:#fff0ef;--amber:#97600e;--amber-bg:#fff6df;--radius:15px;--shadow:0 6px 30px #15393207;--sidebar:238px}*{box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,Segoe UI,Tahoma,Arial,sans-serif;line-height:1.55}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button,input,select,textarea{color:inherit}input,select,textarea{border:1px solid #cfdbd7;border-radius:9px;padding:10px 12px;background:#fff;width:100%;min-height:43px}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;accent-color:var(--green)}input[type=number],input[type=email],input[type=tel],input[type=password],input[type=date],input[type=datetime-local]{direction:ltr;text-align:start}textarea{resize:vertical;min-height:92px}input::placeholder,textarea::placeholder{color:#879996}select{cursor:pointer}input:focus,select:focus,textarea:focus{outline:2px solid #91b8a7;outline-offset:1px;border-color:var(--green)}:focus-visible{outline:3px solid #6b9d87;outline-offset:3px}h1,h2,h3,h4,p{margin:0 0 12px}h1{font-size:2rem;letter-spacing:-1px;font-weight:650;line-height:1.2}h2{font-size:1.4rem;letter-spacing:-.4px;font-weight:650}h3{font-size:1.12rem;font-weight:650}small,.small{font-size:.83rem}strong{font-weight:650}hr{border:0;border-top:1px solid var(--line);margin:24px 0}button{border:0;background:transparent}.muted{color:var(--muted)}.danger{color:var(--rose)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;inset-block-start:-100px;inset-inline-start:12px;background:var(--green);color:#fff;padding:12px;z-index:100}.skip-link:focus{inset-block-start:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:41px;padding:9px 16px;border:1px solid transparent;border-radius:9px;font-size:.89rem;font-weight:600;text-align:center;line-height:1.4}.button:hover{text-decoration:none}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.secondary:hover{background:#f2f6f3}.subtle{background:var(--mint);color:var(--green)}.danger-button{background:var(--rose-bg);color:var(--rose);border-color:#f6ccc9}.large{min-height:50px;padding:13px 23px}.small-button{padding:5px 10px;min-height:33px;font-size:.82rem}.text-link{font-weight:600;text-decoration:underline;text-underline-offset:5px}.icon-button{display:inline-grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:9px;min-width:39px;min-height:39px;font-size:1.18rem}.eyebrow{display:block;text-transform:uppercase;font-size:.72rem;letter-spacing:1.7px;font-weight:700;color:#608479;margin-bottom:16px}.pill,.badge{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:4px 9px;font-size:.74rem;line-height:1.45;white-space:nowrap;background:#eef3f1;color:#526c64}.pill{background:var(--lime);color:var(--green);font-weight:600}.badge.success,.badge.paid,.badge.active,.badge.published,.badge.acknowledged{background:#e4f2e5;color:#326441}.badge.warning,.badge.partially_paid,.badge.pending,.badge.planned,.badge.draft{background:var(--amber-bg);color:var(--amber)}.badge.danger,.badge.unpaid,.badge.cancelled,.badge.void,.badge.rejected,.badge.suspended{background:var(--rose-bg);color:var(--rose)}.badge.confirmed,.badge.in_progress,.badge.submitted{background:#e7eff7;color:#456984}.brand{display:inline-flex;gap:10px;align-items:center;font-size:1.63rem;font-weight:700;letter-spacing:-.8px;color:var(--ink);line-height:1}.brand:hover{text-decoration:none}.brand-dot{color:#85a360}.brand-mark{display:inline-grid;place-items:center;width:36px;height:39px;background:var(--green);color:var(--lime);font-size:1.5rem;border-radius:12px 12px 12px 2px;font-weight:600;font-style:italic}.header-actions{display:flex;align-items:center;gap:16px}.header-actions select{width:auto;min-height:37px;font-size:.84rem;padding:6px 8px}.public-page{background:#fafbf7}.public-header,.public-footer{max-width:1240px;padding:30px 40px;margin:auto;display:flex;align-items:center;justify-content:space-between}.public-header{border-bottom:1px solid #e5ebe2}.hero{max-width:1240px;margin:auto;padding:85px 40px 75px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.hero h1{font-family:Georgia,Times New Roman,serif;font-size:4.5rem;font-weight:400;line-height:1.08;letter-spacing:-2.7px;margin:20px 0 25px;max-width:650px}.lead{font-size:1.12rem;color:var(--ink-soft);max-width:490px;line-height:1.8}.hero-actions{margin:28px 0 17px;display:flex;flex-direction:column;align-items:start;gap:18px}.hero-art{position:relative;padding:30px 10px}.hero-orbit{position:absolute;width:390px;height:390px;background:#e2eacb;border-radius:50%;inset-inline-start:20px;top:-20px}.preview-card{position:relative;transform:rotate(-5deg);background:#fff;box-shadow:0 25px 80px #2943381a;border:1px solid #d9e0d0;border-radius:22px;padding:24px;min-height:370px}.preview-top{display:flex;gap:12px;align-items:center;font-size:.9rem}.preview-top span:last-child{margin-inline-start:auto;color:#7e9656;font-size:1.5rem}.tiny-mark{background:var(--green);color:var(--lime);padding:2px 9px;border-radius:6px}.preview-calendar{margin-top:28px;position:relative;padding-top:3px}.preview-line{height:56px;border-top:1px solid #e8efeb}.preview-appointment{position:absolute;background:#e4eecf;border-inline-start:3px solid #819753;border-radius:7px;inset:15px 70px auto 24px;padding:12px 15px;font-size:.74rem;display:flex;flex-direction:column;color:#425c31}.preview-time{font-size:.68rem;margin-bottom:4px}.preview-appointment.light{top:129px;inset-inline-start:65px;inset-inline-end:10px;background:#e4eff0;border-color:#6d9694;color:#496d6d}.preview-bottom{border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:.77rem;display:flex;align-items:center;gap:7px}.status-dot{width:6px;height:6px;border-radius:50%;background:#79a070}.floating-note{position:absolute;bottom:15px;inset-inline-end:-10px;transform:rotate(6deg);padding:16px 22px;border-radius:12px;background:var(--green);color:var(--lime);box-shadow:var(--shadow);font-size:.88rem}.portal-section{max-width:1240px;margin:auto;padding:35px 40px 80px}.section-title{margin-bottom:30px}.section-title h2{font-size:2rem}.portal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.portal-card{display:flex;align-items:start;flex-direction:column;border:1px solid var(--line);border-radius:17px;padding:28px;background:#fff}.portal-card .pill{align-self:end;margin-top:-34px}.portal-symbol{font-size:2rem;color:#77966d;margin-bottom:18px}.portal-card h3{font-size:1.25rem}.portal-card p{color:var(--muted);font-size:.93rem;flex:1}.portal-card .text-link{margin-top:18px}.portal-card small,.portal-card>a.small{margin-top:13px}.public-footer{border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);gap:20px}.public-footer a{color:var(--muted)}.auth-layout{display:grid;grid-template-columns:42% 58%;min-height:100vh;background:#fff}.auth-story{background:var(--green-dark);padding:48px 60px;display:flex;flex-direction:column;justify-content:space-between;color:#e4f0e8;overflow:hidden}.light-brand{color:#fff}.light-brand .brand-mark{background:#44685a}.auth-story h1{font-family:Georgia,serif;font-weight:400;font-size:3.7rem;letter-spacing:-1.6px}.auth-story p{color:#b5cdc3;font-size:1.04rem;max-width:380px}.auth-decoration{font-size:7rem;color:#bdd587;font-weight:200}.auth-story small{color:#aec1b6}.auth-panel{padding:35px 55px;display:flex;flex-direction:column}.auth-top{display:flex;align-items:center;justify-content:space-between;font-size:.84rem}.auth-top select{width:auto}.auth-card{width:100%;max-width:470px;margin:70px auto 50px}.auth-card h2{font-size:1.9rem;margin-bottom:25px}.auth-footnote{margin:auto auto 10px;max-width:450px;text-align:center;color:var(--muted);font-size:.8rem}.auth-links{display:flex;justify-content:space-between;font-size:.86rem;gap:15px;margin-top:22px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar);background:#fff;border-inline-end:1px solid var(--line);padding:33px 20px 18px;display:flex;flex-direction:column;z-index:25}.sidebar .brand{margin:0 10px 27px}.portal-label{display:flex;align-items:center;justify-content:space-between;font-size:.71rem;font-weight:600;color:var(--muted);padding:0 12px 24px;letter-spacing:.3px}.free-label{color:#54734b;background:#eef4e6;padding:1px 6px;border-radius:4px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-link{display:flex;align-items:center;text-align:start;gap:12px;padding:11px 13px;color:#6b7e7c;font-size:.88rem;border-radius:9px;width:100%}.nav-link:hover{background:#f4f7f3;text-decoration:none;color:var(--ink)}.nav-link.active{background:#eaf1e5;color:#355c40;font-weight:600}.nav-icon{width:20px;display:inline-grid;place-items:center;font-size:1.15rem;font-weight:400}.nav-new{margin-inline-start:auto;font-size:.61rem;color:#638150}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-bottom>.nav-link{font-size:.8rem}.account-link{display:flex;align-items:center;gap:10px;margin-top:22px;border-top:1px solid var(--line);padding:20px 0 0;font-size:.8rem}.account-link>span:nth-child(2){min-width:0;flex:1}.account-link strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-link small{display:block;color:var(--muted);font-size:.69rem}.avatar{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#ebeedf;color:#64764e;flex-shrink:0;font-weight:600}.avatar.large-avatar{width:58px;height:58px;font-size:1.5rem}.main-column{margin-inline-start:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0;display:flex;flex-direction:column}.app-header{height:78px;background:#ffffffb3;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{display:flex;align-items:center;gap:14px;font-size:.81rem}.breadcrumb>span{color:#97a5a0}.breadcrumb strong{font-weight:500}.header-date{font-size:.78rem;color:var(--muted)}.workspace{padding:32px 36px 50px;flex:1;max-width:1720px;width:100%;margin:auto}.app-footer{padding:18px 36px;color:#82938c;font-size:.71rem;display:flex;justify-content:space-between}.mobile-menu{display:none}.page-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:25px;gap:20px}.page-heading h1{margin-bottom:8px;font-size:1.95rem}.page-heading p{color:var(--muted);font-size:.88rem;margin:0}.page-actions,.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.page-actions{justify-content:end}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:23px;overflow:hidden}.card-body{padding:24px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 23px;border-bottom:1px solid var(--line)}.card-header h2,.card-header h3{margin:0}.card-header h2{font-size:1.02rem;letter-spacing:0}.card-header p{margin:5px 0 0;font-size:.81rem;color:var(--muted)}.card-footer{border-top:1px solid var(--line);padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:17px;margin-bottom:26px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px 23px;position:relative}.metric .metric-label{font-size:.78rem;color:var(--muted);display:block;margin-bottom:13px}.metric strong{font-size:1.7rem;letter-spacing:-.8px;font-weight:600}.metric small{display:block;color:#7d8e82;font-size:.7rem;margin-top:5px}.metric.featured{background:#e8efdc;border-color:#dce5c9}.metric-icon{position:absolute;inset-inline-end:20px;top:20px;color:#8eaa8c}.two-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:24px}.split-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field>legend{font-size:.8rem;font-weight:600;color:#47615a}.field .hint{color:var(--muted);font-size:.76rem}.span-two{grid-column:1/-1}.stack{display:flex;flex-direction:column;gap:17px}.form-actions{display:flex;justify-content:end;align-items:center;gap:10px;margin-top:25px}.form-error,.notice{padding:13px 16px;border-radius:9px;margin-bottom:17px;font-size:.88rem}.form-error{background:var(--rose-bg);color:#943a3b;border:1px solid #f1d5d1}.notice{background:#eef4ea;color:#496b45;border:1px solid #dbe8d6}.notice.demo{background:#fff6df;color:#866123;border-color:#f1e4bd}.notice.info{background:#edf3f7;color:#42637b;border-color:#d5e3ec}.loading-panel,.empty-state{padding:64px 24px;text-align:center;color:var(--muted)}.empty-state h3{color:var(--ink);margin:13px 0 8px}.empty-symbol{display:block;font-size:2.5rem;color:#9caf94;margin-bottom:13px}.empty-state p{max-width:430px;margin:0 auto 20px;font-size:.88rem}.spinner{display:inline-block;width:17px;height:17px;border:2px solid #d0dfd4;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin-inline-end:10px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.filter-bar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:23px}.filter-bar .field{flex:1;min-width:150px}.filter-bar .field.search-field{flex:2;min-width:230px}.filter-bar label{font-size:.73rem}.table-scroll{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:.84rem;text-align:start}th{text-align:start;background:#f8faf7;color:#6f8277;text-transform:uppercase;letter-spacing:.6px;font-size:.65rem;font-weight:600;padding:13px 21px;white-space:nowrap}td{padding:17px 21px;border-top:1px solid #edf1ed;vertical-align:middle}td .secondary-line{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}tr:hover td{background:#fcfdfb}td.money,th.money{text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums}td .button{white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:end;gap:15px;margin-top:18px;font-size:.81rem}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:auto}.tab{padding:10px 1px 13px;color:var(--muted);font-size:.86rem;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{border-color:var(--green);color:var(--green);font-weight:600}.tabs .tab:hover{text-decoration:none;color:var(--ink)}.details-list{display:grid;grid-template-columns:150px 1fr;gap:13px 20px;margin:0;font-size:.86rem}.details-list dt{color:var(--muted)}.details-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.patient-heading{display:flex;align-items:center;gap:16px}.patient-heading h1{margin-bottom:4px}.patient-heading p{font-size:.85rem;color:var(--muted)}.timeline{list-style:none;padding:0;margin:0}.timeline li{position:relative;padding:0 0 25px 23px;border-inline-start:1px solid #dce7dc;margin-inline-start:6px}.timeline li:before{content:"";position:absolute;inset-inline-start:-4px;top:7px;width:7px;height:7px;border-radius:50%;background:#8aab82}.timeline li:last-child{border-color:transparent;padding-bottom:0}.timeline strong{font-size:.87rem;display:block}.timeline p{font-size:.84rem;margin:7px 0;white-space:pre-wrap}.timeline small{color:var(--muted);font-size:.73rem}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:19px 22px;border-bottom:1px solid var(--line)}.calendar-navigation{display:flex;align-items:center;gap:9px}.calendar-navigation h2{font-size:1.08rem;margin:0 7px;min-width:150px}.segmented{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f7faf5}.segmented button{border-radius:6px;padding:6px 14px;font-size:.78rem;color:#718174}.segmented button.active{background:#fff;box-shadow:0 1px 5px #193c1810;color:var(--green);font-weight:600}.calendar-filters{display:flex;gap:13px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line)}.calendar-filters input{max-width:250px;min-height:36px;font-size:.81rem}.calendar-filters input[type=date]{max-width:155px}.calendar-scroll{overflow:auto}.calendar-week{min-width:750px;display:grid;grid-template-columns:52px repeat(7,minmax(95px,1fr));background:#fff;position:relative}.calendar-week.day-view{min-width:320px;grid-template-columns:52px 1fr}.calendar-day-heading{height:67px;padding:9px;text-align:center;border-inline-start:1px solid #edf1ea;border-bottom:1px solid var(--line);font-size:.69rem;color:#7a8f82}.calendar-day-heading strong{display:block;font-size:1.1rem;color:#42634f;font-weight:500;margin-top:2px}.calendar-day-heading.today strong{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--green);color:#fff;margin:1px auto}.calendar-times{font-size:.65rem;color:#9ba99e}.calendar-times div{height:74px;text-align:center;padding-top:8px;border-top:1px solid #edf1ea}.calendar-day-column{position:relative;height:814px;border-inline-start:1px solid #edf1ea;background:repeating-linear-gradient(to bottom,transparent 0,transparent 73px,#edf1ea 73px,#edf1ea 74px)}.calendar-event{position:absolute;inset-inline:4px;min-height:39px;padding:6px 7px;border-radius:6px;border-inline-start:3px solid #9cae79;text-align:start;background:#edf3dc;font-size:.7rem;color:#4c6541;overflow:hidden;line-height:1.3}.calendar-event strong{display:block;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{display:block;font-size:.62rem;margin-top:3px}.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:600px}.month-day{min-height:110px;border-top:1px solid var(--line);border-inline-end:1px solid var(--line);padding:8px}.month-day.outside{background:#f8faf7;color:#afbab0}.month-date{font-size:.8rem;display:block;margin-bottom:7px}.month-day.today .month-date{font-weight:700;color:var(--green)}.month-event{display:block;width:100%;text-align:start;font-size:.68rem;margin-bottom:4px;padding:4px 6px;border-radius:4px;background:#edf3df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:15px 22px;color:var(--muted);font-size:.72rem;border-top:1px solid var(--line)}.calendar-legend span{display:flex;align-items:center;gap:6px}.tooth-legend{display:flex;gap:18px;font-size:.75rem;flex-wrap:wrap;padding:10px 20px 20px;color:var(--muted)}.checkbox-label{display:flex;align-items:center;gap:7px;font-size:.85rem}.entry-card{padding:17px 0;border-top:1px solid var(--line)}.entry-card:first-child{border-top:0}.entry-card h4{font-size:.91rem;margin:0 0 5px}.entry-card p{font-size:.84rem;white-space:pre-wrap}.entry-card small{font-size:.73rem;color:var(--muted)}.entry-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.totals{margin-inline-start:auto;max-width:320px;display:grid;grid-template-columns:1fr auto;gap:11px 25px;font-size:.88rem}.totals strong{font-size:1.06rem}.totals dd{margin:0;text-align:end}.document{padding:40px;max-width:1000px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.document-heading{display:flex;justify-content:space-between;gap:30px;margin-bottom:35px}.document h1{font-size:2rem}.document-identities{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:25px 0;font-size:.86rem}.document-identities p{white-space:pre-wrap;color:var(--muted)}.document .totals{margin-top:25px}.bar-chart{display:flex;flex-direction:column;gap:15px}.bar-row{display:grid;grid-template-columns:120px 1fr 50px;gap:13px;align-items:center;font-size:.8rem}.bar-track{height:12px;background:#f0f4ee;border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:#98b07e;border-radius:6px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:21px}.product-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.product-visual{height:125px;display:grid;place-items:center;background:linear-gradient(140deg,#edf2e6,#f8faf3);color:#8fa77b;font-size:3.1rem;position:relative}.product-visual .badge{position:absolute;top:12px;inset-inline-end:12px;font-size:.65rem}.product-content{padding:21px;display:flex;flex-direction:column;flex:1}.product-content h3{font-size:1rem;margin:6px 0 8px}.product-brand{font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.product-meta{font-size:.77rem;color:var(--muted);margin-bottom:12px}.product-price{font-size:1.25rem;font-weight:650;margin:10px 0 4px}.product-price small{font-size:.74rem;font-weight:400;color:var(--muted)}.product-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:auto;padding-top:15px;font-size:.74rem;gap:7px}.product-detail-symbol{height:230px;border-radius:13px;background:#edf2e4;display:grid;place-items:center;font-size:6rem;color:#9fb08a}.checklist{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;font-size:.87rem}.checklist li{display:flex;gap:10px;align-items:start}.checklist li:before{content:"○";color:#90a382}.checklist li.complete:before{content:"✓";color:#6c995b}.subscription-card{padding:32px;background:#edf2e4;border-radius:14px;border:1px solid #dce7ce}.subscription-card h2{font-size:1.8rem}.toast{position:fixed;bottom:25px;inset-inline-end:25px;z-index:100;background:var(--green-dark);color:#fff;padding:14px 22px;border-radius:10px;max-width:400px;box-shadow:0 8px 35px #102c2030;font-size:.88rem}dialog{padding:0;border:1px solid var(--line);border-radius:17px;max-width:min(760px,94vw);width:690px;max-height:90vh;color:var(--ink);background:#fff;box-shadow:0 30px 120px #162d3630}dialog::backdrop{background:#172c315d;backdrop-filter:blur(2px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:23px 27px;border-bottom:1px solid var(--line)}.dialog-header h2{margin:0;font-size:1.3rem}.dialog-body{padding:25px 27px}.dialog-wide{width:950px;max-width:min(950px,94vw)}.tour-step{padding:10px 0 20px}.tour-step .eyebrow{margin-bottom:13px}.tour-step p{color:var(--muted);font-size:1.02rem;line-height:1.8}.tour-progress{display:flex;gap:6px;margin:22px 0}.tour-progress span{height:4px;flex:1;background:#e1eadf;border-radius:3px}.tour-progress span.current{background:#8eaa6c}.error-page{max-width:630px;margin:80px auto;padding:30px}.error-page .brand{margin-bottom:70px}.error-page h1{font-size:2.4rem}.error-page p{color:var(--muted);margin:25px 0}.error-page .button{margin-top:10px}[hidden]{display:none!important}.pre-wrap{white-space:pre-wrap}.nowrap{white-space:nowrap}.ltr{direction:ltr;unicode-bidi:embed}.section-space{margin-top:26px}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.inline-form{display:flex;align-items:end;gap:10px}.inline-form .field{flex:1}.muted-list{color:var(--muted);font-size:.84rem}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.compact-list{list-style:none;padding:0;margin:0}.compact-list li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.85rem}.compact-list li:last-child{border-bottom:0}@media(min-width:1500px){.workspace{padding:38px 48px}.app-header{padding-inline:48px}.calendar-day-column{height:880px;background-size:100% 80px}.calendar-times div{height:80px}}@media(max-width:1200px){:root{--sidebar:213px}.sidebar{padding-inline:14px}.workspace{padding:25px}.app-header{padding:0 25px}.header-date{display:none}.auth-story{padding:40px}.hero h1{font-size:3.8rem}.hero{gap:35px}.hero-orbit{width:300px;height:300px}.two-columns{grid-template-columns:1fr}.hero-art{padding-inline:0}.hero{padding-top:65px}.hero-copy .lead{font-size:1rem}}@media(max-width:900px){.portal-cards{gap:13px}.portal-card{padding:22px}.portal-card .pill{margin:0 0 10px;align-self:start}.auth-story{padding:40px 30px}.auth-story h1{font-size:3rem}.auth-panel{padding:30px}.hero{grid-template-columns:1fr;max-width:740px;text-align:center;padding:60px 30px 40px}.hero h1{font-size:4rem}.hero .lead{margin-inline:auto}.hero-actions{align-items:center}.hero-art{width:100%;max-width:400px;margin:20px auto}.public-header{padding:25px}.hero-orbit{width:350px;height:350px}.portal-section{padding:35px 25px 55px}.portal-cards{grid-template-columns:1fr}.portal-card .pill{margin-top:-37px;align-self:end}.section-title h2{font-size:1.7rem}.public-footer{padding:25px;flex-wrap:wrap}.split-columns{grid-template-columns:1fr}.page-heading{flex-direction:column}.page-actions{justify-content:start}.document{padding:25px}}@media(max-width:720px){:root{--sidebar:238px}.sidebar{transform:translate(-100%);transition:none;box-shadow:10px 0 30px #192d1614}[dir=rtl] .sidebar{transform:translate(100%)}.sidebar.is-open,[dir=rtl] .sidebar.is-open{transform:translate(0)}.main-column{margin:0;width:100%}.mobile-menu{display:inline-grid}.app-header{height:66px;padding:0 18px;gap:9px}.breadcrumb{font-size:.77rem;gap:8px;margin-inline-end:auto}.breadcrumb>span:first-child{display:none}.header-actions{gap:9px}.workspace{padding:24px 17px 35px}.page-heading h1{font-size:1.65rem}.page-heading{gap:15px;margin-bottom:22px}.metrics{grid-template-columns:repeat(2,1fr);gap:12px}.metric{padding:16px}.metric strong{font-size:1.5rem}.metric-icon{display:none}.metric .metric-label{font-size:.72rem}.card-header,.card-body{padding:19px}.card-header{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.filter-bar{gap:10px}.filter-bar .field{min-width:125px}.filter-bar .field.search-field{min-width:100%;flex:auto}.calendar-toolbar{padding:16px;gap:14px}.calendar-navigation h2{font-size:.95rem;min-width:110px}.calendar-filters{padding:13px 16px;flex-wrap:wrap}.calendar-filters input{max-width:none;flex:1}.tabs{gap:23px}.tab{font-size:.8rem}.auth-layout{display:flex;flex-direction:column}.auth-story{padding:25px;background:#edf3e8;color:var(--ink)}.auth-story .brand{color:var(--ink)}.auth-story>div,.auth-story>small{display:none}.auth-panel{padding:22px}.auth-card{margin:40px auto}.auth-footnote{margin:25px auto}.auth-card h2{font-size:1.7rem}.auth-links{flex-wrap:wrap}.dialog-header{padding:18px 20px}.dialog-body,.document{padding:20px}.document-heading{flex-direction:column;gap:15px}.document-identities{grid-template-columns:1fr}.details-list{grid-template-columns:105px 1fr;font-size:.81rem;gap:12px}.tooth-legend{padding-inline:13px;font-size:.7rem}.page-actions .button{font-size:.81rem}.header-actions .icon-button{min-width:34px;min-height:34px}.public-header .brand{font-size:1.42rem}.hero h1{font-size:3.15rem}.hero .eyebrow{font-size:.65rem}.hero-orbit{width:270px;height:270px}.hero-art{max-width:330px}.preview-card{min-height:340px;padding:17px}.floating-note{inset-inline-end:-5px}.public-header .header-actions{gap:8px}.public-header .button{font-size:.78rem;padding:7px 10px}.public-header{padding:21px 18px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.app-footer{padding:18px}.toast{inset-inline:15px;max-width:none}.bar-row{grid-template-columns:90px 1fr 35px;font-size:.72rem}.form-actions{flex-wrap:wrap}.document-identities .details-list{grid-template-columns:1fr}.patient-heading{align-items:start}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{body{background:#fff;font-size:11pt}.sidebar,.app-header,.app-footer,.page-heading,.tabs,.no-print,.toast,dialog,.skip-link{display:none!important}.main-column{width:100%;margin:0}.workspace{padding:0;max-width:none}.document{border:0;border-radius:0;padding:0;box-shadow:none}.card{box-shadow:none;break-inside:avoid}.document table{font-size:10pt}.document th,.document td{padding:8px}a{color:inherit;text-decoration:none}.document-heading h1{font-size:24pt}.document-identities{grid-template-columns:1fr 1fr}.document-heading{flex-direction:row}.print-only{display:block!important}.notice.demo{border:2px solid #777}.loading-panel{display:none}}:root{--muted:#556f68}input::placeholder,textarea::placeholder{color:#627872;opacity:1}.nav-link,.portal-label,.account-link small,.header-date,.breadcrumb>span,.app-footer,.public-footer,.public-footer a,.calendar-legend,.calendar-day-heading,.calendar-times,.tooth-legend,.product-brand,.product-meta,.product-price small,.timeline small,.entry-card small,.metric small,.metric .metric-label,.filter-bar label,.preview-bottom{color:var(--muted)}.eyebrow{color:#516f60}.nav-new{color:#526e43}.month-day.outside{color:#62756a}.calendar-day-heading strong{color:#3b5a47}.auth-story .eyebrow{color:var(--lime)}.sidebar-close{position:absolute;inset-block-start:14px;inset-inline-end:10px;min-width:30px;min-height:30px}.sidebar .sidebar-close{display:none}@media(max-width:720px){.sidebar .sidebar-close{display:inline-grid}}.patient-picker{position:relative;min-width:0}.patient-suggestions{position:absolute;inset-inline:0;inset-block-start:calc(100% + 5px);z-index:5;list-style:none;margin:0;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 8px 24px #183b3e24;max-height:245px;overflow:auto;overscroll-behavior:contain}.patient-suggestions [role=option]{padding:11px 12px;min-height:56px;border-radius:6px;cursor:pointer;text-align:start;overflow-wrap:anywhere}.patient-suggestions [role=option]+[role=option]{border-top:1px solid var(--line)}.patient-suggestions [role=option]:hover,.patient-suggestions [aria-selected=true]{background:var(--mint)}.patient-suggestions [aria-selected=true]{outline:2px solid var(--green);outline-offset:-2px}.patient-suggestions strong,.patient-suggestions span{display:block}.patient-suggestions strong{font-size:.9rem}.patient-suggestions span{font-size:.76rem;color:var(--muted);margin-top:3px;unicode-bidi:plaintext}#appointment-patient-status:empty{display:none}.toast{pointer-events:none}.interactive-calendar{--calendar-hour:64px;grid-template-columns:62px repeat(7,minmax(105px,1fr));min-width:800px;align-items:start;isolation:isolate}.interactive-calendar.day-view{grid-template-columns:62px minmax(0,1fr);min-width:280px}.time-scroll,.month-scroll{max-height:min(52vh,480px);overscroll-behavior:contain;scrollbar-gutter:stable}.interactive-calendar .calendar-day-heading{position:sticky;top:0;z-index:4;background:#fff}.interactive-calendar .calendar-day-column{height:calc(var(--calendar-hour)*24);background:#fff}.interactive-calendar .calendar-times div{height:var(--calendar-hour);padding-top:3px}.calendar-slot{display:block;position:relative;width:100%;height:calc(var(--calendar-hour)/2);min-height:0;padding:0 6px;border:0;border-bottom:1px dashed #edf1ea;border-radius:0;background:transparent;text-align:start;cursor:cell;line-height:1;font-size:.65rem;color:var(--green)}.interactive-calendar[data-slot-minutes="15"] .calendar-slot{height:calc(var(--calendar-hour)/4)}.calendar-slot.hour-start{border-top:1px solid #dfe7dd}.calendar-slot span{opacity:0;pointer-events:none}.calendar-slot:hover,.calendar-slot:focus-visible{background:#edf4e6;box-shadow:inset 0 0 0 1px #8ea778;z-index:1}.calendar-slot:hover span,.calendar-slot:focus-visible span{opacity:1}.interactive-calendar .calendar-event{z-index:2;min-height:0;inset-inline-end:auto;padding:3px 5px;border-radius:4px;line-height:1.2}.interactive-calendar .calendar-event.short-event small{display:none}.calendar-event-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;white-space:nowrap;overflow:hidden}.calendar-event-status{font-size:.6rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event[data-movable=false],.month-event[data-movable=false]{user-select:none;-webkit-user-select:none}.month-event{display:flex;align-items:center;gap:5px}.month-event-label{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.month-event .calendar-event-status{flex-shrink:0;max-width:55%}[data-movable=true]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.interactive-calendar .calendar-event:focus-visible{z-index:3}[data-appointment].is-dragging{opacity:.45;cursor:grabbing}.calendar-month .month-day{min-height:85px}.calendar-drop-day{box-shadow:inset 0 0 0 2px var(--green);background:#edf4e6}.calendar-slot-setting{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:.78rem}.calendar-slot-setting select{min-height:36px;width:auto;padding-block:5px;font-size:.8rem}.calendar-drop-preview{position:absolute;inset-inline:2px;z-index:3;pointer-events:none;border:2px dashed var(--green);border-radius:5px;background:#dfeddcdd;color:var(--green);padding:3px 6px;font-size:.72rem;font-weight:600}#calendar-feedback{margin:12px 20px}#calendar-reload{margin:0 20px 12px}[data-tour=calendar][aria-busy=true] .calendar-event,[data-tour=calendar][aria-busy=true] .calendar-slot{cursor:wait}.field .patient-search-error{color:#943a3b}.calendar-event[data-status=planned],.month-event[data-status=planned],.calendar-status-key[data-status=planned]{background:#fff;border:2px dashed #245b8f;color:#245b8f}.calendar-event[data-status=confirmed],.month-event[data-status=confirmed],.calendar-status-key[data-status=confirmed]{background:#245b8f;border:2px solid #245b8f;color:#fff}.calendar-status-key{display:inline-block;width:24px;height:15px;border-radius:4px;flex-shrink:0}.calendar-month .month-event{flex-direction:column;align-items:stretch;gap:3px;white-space:normal}.calendar-month .month-event-label{white-space:nowrap}.calendar-month .calendar-event-status{max-width:100%;white-space:normal;font-size:.64rem}.appointment-fields{margin:0}.appointment-field{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;padding:15px 0;border-bottom:1px solid var(--line);align-items:start}.appointment-field:last-child{border-bottom:0}.appointment-field dt{font-size:.82rem;font-weight:600;color:var(--muted);padding-block-start:7px}.appointment-field dd{margin:0;min-width:0}.appointment-field-reading{display:flex;align-items:start;gap:10px;min-height:34px}.appointment-field-value{flex:1;min-width:0;padding-block-start:5px;font-size:.9rem;overflow-wrap:anywhere;unicode-bidi:plaintext}.appointment-field-actions{display:flex;gap:5px;align-items:start;flex-shrink:0}.appointment-field-button{display:inline-grid;place-items:center;width:34px;height:34px;min-width:34px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);flex-shrink:0}.appointment-field-button:hover{background:var(--mint)}.appointment-field-button:disabled{cursor:default;opacity:.45}.appointment-field-button.save{background:var(--green);color:#fff;border-color:var(--green)}.appointment-field-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.appointment-editor-controls{display:flex;align-items:start;gap:8px}.appointment-editor-controls>input,.appointment-editor-controls>select,.appointment-editor-controls>textarea{flex:1;min-width:0}.appointment-editor-controls input[type=datetime-local]{min-width:210px}.appointment-inline-form .hint{display:block;margin-top:7px;font-size:.78rem}.appointment-inline-form .form-error{margin:12px 0 0;font-size:.83rem}.appointment-inline-form [data-appointment-reason]{margin-top:14px}.appointment-inline-form [data-appointment-reason] label{display:block;margin-bottom:6px;font-size:.84rem;font-weight:600}.appointment-review{margin-top:12px;padding:13px;border:1px solid #d9e3d0;border-radius:9px;background:#f5f8ef;font-size:.83rem}.appointment-review p:last-child{margin-bottom:0}.appointment-latest{margin:12px 0;padding:12px;background:#fff;border-radius:7px;overflow-wrap:anywhere;white-space:pre-wrap}.appointment-latest p{margin:5px 0}.appointment-latest small{color:var(--muted)}@media(max-width:720px){.appointment-field{grid-template-columns:1fr;gap:5px;padding:13px 0}.appointment-field dt{padding-top:0}.appointment-editor-controls{flex-wrap:wrap}.appointment-editor-controls>input,.appointment-editor-controls>select,.appointment-editor-controls>textarea{flex-basis:calc(100% - 84px)}.appointment-editor-controls input[type=datetime-local]{flex-basis:100%}.appointment-field.is-editing .appointment-field-actions{margin-inline-start:auto}.appointment-field-value{font-size:.88rem}}.statistics-presets{margin-block:0 16px}.financial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-recurrence-help{margin-block:12px 0}[data-expense-once],[data-expense-recurrence]{margin-block-end:6px}[data-invoice-patient] strong{font-size:1.05rem}@media(max-width:440px){.financial-metrics{grid-template-columns:1fr}.statistics-presets{flex-wrap:wrap}}.clinical-chart .card-header p{margin:5px 0 0;color:var(--muted);font-size:.86rem}.clinical-chart .segmented{flex-wrap:wrap}.chart-selection-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chart-selection-help{margin-block:12px 8px;max-width:900px}.selected-teeth-summary{font-weight:600;font-size:.9rem;overflow-wrap:anywhere}.clinical-glyph{width:20px;height:20px;flex:none;vertical-align:middle}.tooth-marker{display:inline-flex;align-items:center;justify-content:center;gap:1px;min-width:31px;min-height:25px;padding:2px;border:1px solid;border-radius:5px;font-size:.78rem;font-weight:700;line-height:1.1;flex:none}.tooth-marker .clinical-glyph{width:16px;height:17px}.entry-card h4>.clinical-glyph{margin-inline-end:7px}@media(max-width:720px){.clinical-chart .card-body{padding:16px}.chart-selection-tools .button{font-size:.73rem;padding:7px 9px}}.patient-more-details{border-block-start:1px solid var(--line);padding-block-start:4px}.patient-more-details>summary{cursor:pointer;color:var(--green);font-weight:600;padding-block:12px;min-height:44px}.patient-more-details>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}.patient-more-details>.form-grid{padding-block:8px 4px}.patient-workspace-stack{display:flex;flex-direction:column;gap:24px}.patient-workspace-section{min-width:0;scroll-margin-block-start:24px}.patient-workspace-section>.card:last-child{margin-bottom:0}.patient-workspace-section:focus-visible{outline:2px solid var(--green);outline-offset:5px;border-radius:var(--radius)}.patient-workspace-section .card-header{align-items:start;flex-wrap:wrap}.patient-workspace-section .card-header>.actions{margin-inline-start:auto}.patient-workspace-section .entry-card p{white-space:pre-wrap;overflow-wrap:anywhere}.patient-workspace-section .pagination{margin-block:14px 0}.patient-workspace-section .pagination:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:8px}.patient-portal-disclosure{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.patient-portal-disclosure>summary{cursor:pointer;min-height:48px;padding:17px 22px;color:var(--ink);font-weight:600}.patient-portal-disclosure>summary:focus-visible{outline:2px solid var(--green);outline-offset:-4px}.patient-portal-disclosure[open]>summary{border-bottom:1px solid var(--line)}.patient-portal-disclosure>.card{margin:0;border:0;border-radius:0;box-shadow:none}.patient-portal-disclosure .card:last-child{margin-bottom:0}[data-treatment-card] .entry-actions{flex-wrap:wrap}@media(max-width:720px){.patient-workspace-stack{gap:18px}.patient-workspace-section{scroll-margin-block-start:16px}.patient-workspace-section .card-header>.actions{margin-inline-start:0;width:100%}.patient-workspace-section .entry-actions .button{font-size:.78rem}.patient-portal-disclosure>summary{padding:16px 18px}}.patient-workspace-header{position:sticky;top:0;z-index:20;background:var(--canvas);display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;border-bottom:1px solid var(--line);margin-block:-24px 8px}.patient-workspace-header h1{font-size:1.6rem;margin:0;overflow-wrap:anywhere}.patient-workspace-header .page-actions{flex-shrink:0;flex-wrap:wrap}.patient-workspace-section{scroll-margin-block-start:95px}.patient-workspace-stack{gap:18px}.patient-today-appointments{display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center}#today-patients,#all-patients{margin-top:20px;scroll-margin-block-start:20px}.clinical-chart{margin-bottom:12px}.clinical-chart .card-header{padding-block:8px}.clinical-chart .card-body{padding-block:12px}.clinical-chart .chart-selection-help{margin-block:4px;font-size:.79rem}.clinical-chart .selected-teeth-summary{margin-block:4px}.clinical-chart .tooth-marker{min-height:22px}.clinical-context-entry{display:grid;grid-template-columns:minmax(140px,1fr) auto;column-gap:14px;padding-block:8px}.clinical-context-entry h4{margin-bottom:2px}.clinical-context-entry>small{grid-column:1}.clinical-context-actions{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0;display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.clinical-context-entry:last-child{border-bottom:0}.calendar-event-shell{position:absolute;z-index:2;min-height:0}.interactive-calendar .calendar-event-shell>.calendar-event{position:absolute;inset:0;width:100%;height:100%;z-index:auto;padding-inline-end:27px}.calendar-event-shell:focus-within{z-index:3}.month-event-shell{position:relative;margin-bottom:4px}.calendar-month .month-event-shell>.month-event{margin:0;padding-inline-end:27px}.calendar-event-actions{position:absolute;z-index:3;inset-inline-end:2px;top:2px;width:24px;height:24px;max-height:calc(100% - 4px);min-height:0;padding:0;border-radius:4px;background:#fff;color:var(--green);border:1px solid #c5d4d0;line-height:1;font-size:18px;display:grid;place-items:center}.calendar-event-actions:hover,.calendar-event-actions[aria-expanded=true]{background:var(--mint);border-color:var(--green)}.calendar-context-menu{position:fixed;z-index:55;min-width:205px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 9px 28px #1d403429}.calendar-context-heading{font-size:.8rem;font-weight:600;color:var(--muted);padding:6px 10px;margin:0;max-width:290px;overflow-wrap:anywhere}.calendar-context-menu [role=menuitemradio],.calendar-context-details{display:flex;width:100%;align-items:center;text-align:start;padding:10px;border-radius:6px;font-size:.86rem;min-height:38px}.calendar-context-menu [role=menuitemradio]:before{content:"○";width:22px;font-size:.9rem;flex-shrink:0}.calendar-context-menu [aria-checked=true]:before{content:"●"}.calendar-context-menu [role=menuitemradio]:disabled{opacity:.7;cursor:default}.calendar-context-menu [role=menuitemradio]:hover:not(:disabled),.calendar-context-details:hover{background:var(--mint);text-decoration:none}@media(max-width:720px){.patient-workspace-header{gap:10px;flex-direction:row;flex-wrap:wrap;padding-block:10px;margin-block:-10px 8px}.patient-workspace-header h1{font-size:1.25rem}.patient-workspace-header .page-actions{gap:6px}.patient-workspace-header .button{min-height:35px;font-size:.78rem;padding:7px 10px}.patient-workspace-section{scroll-margin-block-start:125px}.patient-record-nav{gap:3px 13px;font-size:.78rem}.clinical-context-entry{grid-template-columns:minmax(0,1fr)}.clinical-context-actions{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:8px}}@media print{.patient-workspace-header,.patient-record-nav,.calendar-context-menu{display:none!important}}.clinical-chart button{-webkit-tap-highlight-color:transparent}.billing-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.billing-add-choices{display:grid;grid-template-columns:1fr 1fr;gap:15px}.billing-add-choice{display:flex;flex-direction:column;align-items:start;gap:10px;padding:23px;text-align:start;border:1px solid var(--line);border-radius:12px;background:#f8fbf8;color:var(--ink)}.billing-add-choice>span{font-size:1.6rem;color:var(--green)}.billing-add-choice small{color:var(--muted);line-height:1.5}.billing-add-choice:hover{border-color:var(--green);background:#eef5ef}.billing-payment-options summary{cursor:pointer;color:var(--green);font-size:.86rem;padding-block:8px}.billing-payment-options .field{margin-block:8px}.billing-entry-inactive td{color:var(--muted)}.billing-void-amount{text-decoration:line-through}.billing-print-preview{background:#edf1ee;border:1px solid var(--line);border-radius:10px;padding:16px;overflow:auto;margin-top:20px}.billing-print-paper{box-sizing:border-box;width:100%;max-width:210mm;margin:auto;padding:12mm;background:#fff;color:#18383e;border:0;border-radius:0;box-shadow:0 1px 8px #152c2315;font-size:10pt;overflow-wrap:anywhere}.billing-print-paper table{table-layout:fixed;font-size:9pt}.billing-print-paper th,.billing-print-paper td{padding:9px 7px;white-space:normal;overflow-wrap:anywhere;text-align:start}.billing-print-paper th:first-child{width:17%}.billing-print-paper th:nth-child(2){width:29%}.billing-print-paper .table-scroll{overflow:visible}.billing-print-paper .document-identities{font-size:10pt}.billing-print-paper .document-identities p{margin-block:6px;overflow-wrap:anywhere}.billing-print-paper .totals{max-width:100%;margin:10px 0 0;font-size:10pt;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 15px}.billing-print-paper .totals dd{overflow-wrap:anywhere}.billing-print-summary{margin-block:20px;break-inside:avoid}.billing-print-summary h2{font-size:11pt;margin-bottom:9px}.billing-print-note{font-size:8pt;color:#4d6569;margin-top:20px}.billing-print-paper[data-print-format=thermal58]{width:58mm}.billing-print-paper[data-print-format=thermal80]{width:80mm}.billing-print-paper[data-print-format^=thermal]{max-width:none;padding:3mm;font-size:9pt;line-height:1.4}.billing-print-paper[data-print-format^=thermal] .document-heading{display:block;margin-bottom:4mm}.billing-print-paper[data-print-format^=thermal] .document-heading h1{font-size:15pt;margin-block:2mm}.billing-print-paper[data-print-format^=thermal] .document-heading p{font-size:8pt;margin-block:2mm}.billing-print-paper[data-print-format^=thermal] .eyebrow{font-size:7pt;letter-spacing:.4px}.billing-print-paper[data-print-format^=thermal] .document-identities{display:block;font-size:8.5pt;margin-block:4mm}.billing-print-paper[data-print-format^=thermal] .document-identities>div{margin-bottom:3mm}.billing-print-paper[data-print-format^=thermal] table,.billing-print-paper[data-print-format^=thermal] tbody,.billing-print-paper[data-print-format^=thermal] tr,.billing-print-paper[data-print-format^=thermal] td{display:block;width:100%;font-size:8.5pt}.billing-print-paper[data-print-format^=thermal] thead{display:none}.billing-print-paper[data-print-format^=thermal] tr{border-block-start:1px dashed #667774;padding-block:2mm;break-inside:avoid}.billing-print-paper[data-print-format^=thermal] td{border:0;padding:1mm 0;white-space:normal;overflow-wrap:anywhere;text-align:start}.billing-print-paper[data-print-format^=thermal] td .secondary-line{font-size:7.5pt}.billing-print-paper[data-print-format^=thermal] td[data-print-amount]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:2mm;text-align:end}.billing-print-paper[data-print-format^=thermal] td[data-print-amount]:before{content:attr(data-print-label);font-size:7.5pt;text-align:start;color:#4d6569}.billing-print-paper[data-print-format^=thermal] .totals,.billing-print-paper[data-print-format^=thermal] .totals strong{font-size:9pt}.billing-print-paper[data-print-format^=thermal] .totals{gap:2mm;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.billing-print-paper[data-print-format^=thermal] .details-list{display:block;font-size:9pt}.billing-print-paper[data-print-format^=thermal] .details-list dt{font-size:8pt;margin-top:3mm}.billing-print-paper[data-print-format^=thermal] .details-list dd{margin-top:1mm}.billing-print-paper[data-print-format^=thermal] .badge{font-size:7pt}.billing-print-paper[data-print-format^=thermal] .billing-print-note{font-size:7.5pt;margin-top:4mm}.billing-print-paper[data-print-format^=thermal] .billing-print-summary{margin-block:4mm}.billing-print-paper[data-print-format^=thermal] .billing-print-summary h2{font-size:9pt}.billing-print-paper .notice{font-size:8pt;padding:2mm;overflow-wrap:anywhere}#billing-print-root{position:fixed;left:0;top:0;max-width:0;max-height:0;overflow:hidden;visibility:hidden;pointer-events:none}@media(max-width:520px){.billing-add-choices{grid-template-columns:1fr}.billing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-print-preview{padding:10px}.billing-print-paper[data-print-format=a4]{min-width:170mm}}@page siladent-a4{size:A4;margin:12mm}@page siladent-thermal58{size:58mm 297mm;margin:3mm}@page siladent-thermal80{size:80mm 297mm;margin:3mm}@media print{body.billing-print-ready{margin:0;padding:0;background:#fff}body.billing-print-ready>:not(#billing-print-root){display:none!important}body.billing-print-ready #billing-print-root{display:block!important;visibility:visible;position:static;pointer-events:auto;width:auto;max-width:none;max-height:none;overflow:visible}#billing-print-root[data-print-format=a4]{page:siladent-a4}#billing-print-root[data-print-format=thermal58]{page:siladent-thermal58}#billing-print-root[data-print-format=thermal80]{page:siladent-thermal80}#billing-print-root .billing-print-paper{width:auto;min-width:0;max-width:none;margin:0;padding:0;border:0;box-shadow:none}#billing-print-root .document-heading,#billing-print-root tr{break-inside:avoid}#billing-print-root thead{display:table-header-group}#billing-print-root .billing-print-paper[data-print-format^=thermal] thead{display:none}#billing-print-root a{color:inherit;text-decoration:none}}.appointment-duration{margin:0;border:1px solid var(--line);border-radius:9px;padding:12px}.appointment-duration legend{font-weight:600;font-size:.85rem}.duration-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duration-presets{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.duration-presets [aria-pressed=true]{background:var(--mint);border-color:var(--green)}.appointment-inline-form .appointment-duration{width:100%;min-width:0}
