:root{--nav:#263f52;--nav2:#1f3444;--accent:#4e91ad;--accent-dark:#326f89;--ink:#253239;--muted:#6e7b82;--line:#dce3e7;--page:#f7f8f9;--white:#fff;--danger:#a13d3d;--success:#37765b;--warning:#9a6a26;--shadow:0 7px 24px rgba(30,52,66,.055)}*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--page);line-height:1.45}a{color:var(--accent-dark)}.container{width:min(1220px,calc(100% - 44px));margin:0 auto}.topbar{background:linear-gradient(180deg,var(--nav),var(--nav2));border-bottom:1px solid #162b38;color:#fff;box-shadow:0 2px 10px rgba(21,38,49,.12)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;font-size:20px;font-weight:700;letter-spacing:-.01em}.brand img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}.brand small{display:block;color:#bac9d1;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}.main-nav{display:flex;align-items:center;gap:18px}.main-nav>a,.nav-dropdown>button{color:#e6eef2;text-decoration:none;font-size:13px;font-weight:650;background:none;border:0;padding:10px 0;cursor:pointer}.main-nav>a:hover,.nav-dropdown>button:hover{color:#fff}.nav-user{color:#b7c6ce;font-size:12px;padding-left:7px;border-left:1px solid rgba(255,255,255,.15)}.nav-dropdown{position:relative}.nav-dropdown>div{display:none;position:absolute;right:0;top:34px;width:190px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(20,37,48,.14);padding:7px;z-index:10}.nav-dropdown:hover>div{display:block}.nav-dropdown>div a{display:block;padding:9px 10px;text-decoration:none;color:#394950;border-radius:5px;font-size:13px}.nav-dropdown>div a:hover{background:#f2f5f6}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:32px 0 20px}.page-header h1{margin:0;font-size:29px;letter-spacing:-.025em;font-weight:720}.page-header p,.section-heading p{margin:5px 0 0;color:var(--muted);font-size:13px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-dark);font-weight:750;margin-bottom:4px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:23px;margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-heading h2,.form-section-title h2,.card h2{font-size:17px;margin:0;color:#2d3b42}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid transparent;border-radius:7px;font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dark)}.btn-outline{background:#fff;color:#384850;border-color:#d2dce0}.btn-outline:hover{background:#f7f9fa}.btn-danger{background:#fff6f6;color:var(--danger);border-color:#e8caca}.btn-danger-solid{background:var(--danger);color:#fff}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.field{margin-bottom:0}.field label,.universal-search label{display:block;font-size:11px;font-weight:750;color:#5f6d74;text-transform:uppercase;letter-spacing:.055em;margin-bottom:6px}input,select,textarea{width:100%;min-height:39px;padding:9px 10px;border:1px solid #cfd9de;border-radius:7px;background:#fff;color:#26343a;font:inherit;font-size:13px;transition:.15s}textarea{min-height:94px;resize:vertical}input:focus,select:focus,textarea:focus{outline:0;border-color:#7daabe;box-shadow:0 0 0 3px rgba(78,145,173,.11)}input[readonly]{background:#f5f7f8;color:#48575e}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.read-only-field{padding:9px 10px;background:#f7f9fa;border:1px solid #e1e7ea;border-radius:7px}.read-only-field strong{font-size:13px}.form-section-title{border-bottom:1px solid #edf1f2;padding-bottom:13px;margin-bottom:17px}.form-errors{margin-top:14px;padding:10px 12px;background:#fff4f4;border:1px solid #edcece;color:#923c3c;border-radius:6px}.form-actions{justify-content:flex-end;margin:2px 0 38px}.hero-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:9px 10px;margin-bottom:21px}.hero-search>span,.universal-search>div>span{color:#829198;font-size:18px}.hero-search input{border:0;box-shadow:none;flex:1;font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 4px 15px rgba(31,52,66,.04);padding:17px 18px;position:relative}.metric-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:#7ba4b7;border-radius:0 3px 3px 0}.metric-card span{display:block;color:#68767d;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:750}.metric-card strong{display:block;font-size:25px;letter-spacing:-.02em;color:#2e414b;margin:6px 0 2px}.metric-card small{color:#89959a;font-size:11px}.dashboard-panels{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.column-chart{height:240px;display:flex;align-items:flex-end;gap:16px;padding:14px 6px 0}.column-item{height:100%;flex:1;display:grid;grid-template-rows:20px 1fr 20px 18px;text-align:center;gap:4px}.column-value{font-size:10px;color:#75838a;align-self:end}.column-track{height:100%;background:#f0f3f4;border-radius:5px 5px 2px 2px;position:relative;overflow:hidden}.column-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#7ea8ba,#557f92);border-radius:5px 5px 2px 2px;min-height:3px}.column-item strong{font-size:11px}.column-item small{font-size:10px;color:#8b969b}.status-chart{display:flex;flex-direction:column;gap:16px;padding-top:6px}.status-chart-row{display:grid;grid-template-columns:95px 1fr 34px;align-items:center;gap:10px}.status-chart-row>div:first-child{display:flex;justify-content:space-between;gap:6px;font-size:12px}.status-chart-row>div:first-child strong{color:#34464f}.status-track{height:9px;background:#eef2f3;border-radius:999px;overflow:hidden}.status-fill{height:100%;border-radius:999px;background:#789cac}.status-fill-accepted{background:#668f7a}.status-fill-declined{background:#a77a7a}.status-fill-expired{background:#8c9498}.status-fill-presented{background:#6e97a9}.status-fill-draft{background:#9ea9ae}.status-chart-row small{text-align:right;color:#78858b}.recent-list{display:flex;flex-direction:column}.recent-row{display:grid;grid-template-columns:2fr 1.1fr .8fr auto;gap:16px;align-items:center;padding:13px 3px;border-bottom:1px solid #edf1f2;text-decoration:none;color:var(--ink)}.recent-row:last-child{border-bottom:0}.recent-row>div:first-child span,td small{display:block;color:#89959a;font-size:10.5px;margin-top:2px}.status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f4;color:#58666d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.status-accepted{background:#edf6f0;color:#347258}.status-declined{background:#fff1f1;color:#9a4141}.status-expired{background:#f0f1f2;color:#606b70}.status-presented{background:#eef5f8;color:#376f86}.status-draft{background:#f1f3f4;color:#667278}.universal-search{margin-bottom:12px}.universal-search>div{display:flex;align-items:center;border:1px solid #cfd9de;border-radius:8px;padding:0 10px}.universal-search>div input{border:0;box-shadow:none}.advanced-search{border-top:1px solid #edf1f2;border-bottom:1px solid #edf1f2;padding:11px 0;margin:13px 0}.advanced-search summary{cursor:pointer;font-weight:700;color:#4b5b63;font-size:12px}.advanced-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}.filter-actions{display:flex;gap:8px;margin-top:14px}.toolbar{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin:19px 0 12px}.upload-button input{display:none}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{background:#fafbfb;color:#6a777d;font-size:10px;text-transform:uppercase;letter-spacing:.055em;text-align:left;padding:10px 8px;border-bottom:1px solid #dbe3e6;white-space:nowrap}td{padding:12px 8px;border-bottom:1px solid #edf1f2;vertical-align:middle;font-size:12.5px}tbody tr:hover{background:#fbfcfc}.strong-link{font-weight:750;text-decoration:none}.icon-btn{font-size:11px;font-weight:700;text-decoration:none;margin-right:8px}.danger-text{color:var(--danger)!important}.treatment-table input{min-width:72px}.treatment-table td:nth-child(3) input{min-width:190px}.row-remove{border:0;background:#fff1f1;color:#9c4040;border-radius:50%;width:28px;height:28px;font-size:18px;cursor:pointer}.hidden-delete{display:none}.live-totals{width:min(480px,100%);margin:20px 0 0 auto}.live-totals>div{display:flex;justify-content:space-between;padding:8px 2px;border-bottom:1px solid #e5eaec;font-size:12.5px}.live-totals .grand{font-size:16px;font-weight:750;border-top:2px solid #91adba;border-bottom:0;padding-top:11px}.live-totals.static{margin-top:18px}.detail-card{padding:20px 23px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.detail-grid>div>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:#718087;font-weight:750;margin-bottom:4px}.detail-grid>div>strong{display:block;font-size:13.5px}.detail-grid>div>small{display:block;color:#8a969b;font-size:10.5px;margin-top:2px}.expired-banner,.history-notice{padding:11px 14px;border-radius:7px;margin-bottom:17px;font-size:12px}.expired-banner{background:#fff3f3;border:1px solid #eccccc;color:#913d3d}.history-notice{background:#f1f6f8;border:1px solid #d6e4ea;color:#416271}.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.timeline{display:flex;flex-direction:column}.timeline-row{display:grid;grid-template-columns:18px 1fr;gap:8px;padding:10px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid #edf1f2}.timeline-dot{width:9px;height:9px;border-radius:50%;background:#6d98aa;margin-top:5px}.timeline-row span,.timeline-row small{display:block;color:#7f8c92;font-size:10.5px;margin-top:2px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.permission-grid>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px}.permission-grid p{color:var(--muted);font-size:12px;margin:5px 0 0}.settings-grid{display:grid;grid-template-columns:2fr .8fr;gap:18px}.brand-preview{text-align:center}.brand-preview img{max-width:180px;max-height:95px;object-fit:contain;margin:10px auto 18px;display:block}.brand-preview strong,.brand-preview span{display:block}.brand-preview span{color:var(--muted);font-size:12px}.logo-placeholder{height:90px;display:flex;align-items:center;justify-content:center;background:#f2f5f6;border:1px dashed #cdd8dc;border-radius:8px;color:#839097;margin-bottom:18px}.toggle-row{display:flex;gap:22px;margin:16px 0}.toggle-row label{font-size:12px}.toggle-row input{width:auto;min-height:0}.messages{margin-top:15px}.message{padding:10px 13px;border-radius:7px;margin-bottom:7px;font-size:12px;background:#eef3f5}.message-success{background:#edf7f0;color:#32694f}.message-error{background:#fff1f1;color:#913b3b}.message-warning{background:#fff7e9;color:#855d22}.empty-state{padding:24px;text-align:center;color:var(--muted)}.narrow{max-width:780px}.danger-card{border-left:4px solid var(--danger)}.notes-text{color:#4b5960}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f3f5f6}.login-card{width:min(420px,calc(100% - 30px));background:#fff;border:1px solid var(--line);border-radius:11px;padding:30px;box-shadow:0 10px 35px rgba(31,52,68,.09)}.login-brand{color:var(--nav);margin-bottom:24px}.btn-full{width:100%}
@media(max-width:1080px){.advanced-grid{grid-template-columns:repeat(3,1fr)}.grid-4,.detail-grid{grid-template-columns:repeat(2,1fr)}.dashboard-panels,.settings-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.container{width:min(100% - 24px,1220px)}.nav-wrap,.page-header{align-items:flex-start;flex-direction:column;padding:13px 0}.main-nav{gap:11px}.metric-grid,.grid-2,.grid-4,.detail-grid,.history-grid,.permission-grid,.advanced-grid{grid-template-columns:1fr}.recent-row{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.column-chart{gap:8px}.span-2{grid-column:auto}}

@media print{.topbar,.page-header .actions,.messages{display:none!important}body{background:#fff}.container{width:100%;max-width:none}.card{box-shadow:none;break-inside:avoid}.page-header{margin-top:0}.page-header p{color:#555}}

/* v5.2 icon-first controls and signature */
.icon-btn,.btn.icon-btn{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;font-size:19px;line-height:1;text-decoration:none;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.icon-btn:hover{background:#f3f6f7;border-color:#bfcbd1}
.icon-large{width:42px;height:42px;font-size:21px;padding:0}
.primary-icon{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}
.danger-icon{color:var(--danger)!important;border-color:#efcece!important;background:#fff7f7!important}
.icon-actions{gap:7px}
.signature-pad-wrap{background:#fff;border:1px solid #cbd5da;border-radius:9px;overflow:hidden;box-shadow:inset 0 0 0 1px #f2f4f5}
.signature-pad-wrap canvas{display:block;width:100%;height:220px;touch-action:none}
.signature-summary img{max-width:320px;max-height:100px;display:block;margin:8px 0;border-bottom:1px solid #9daab0}
.signature-summary div{display:flex;gap:18px;color:var(--muted);font-size:13px}


/* v5.3 — Clocktower Family Dental inspired visual refinement */
:root{
  --nav:#ffffff; --nav2:#ffffff; --accent:#5a91a8; --accent-dark:#3f748a;
  --olive:#95a26e; --olive-dark:#788653; --ink:#30383b; --muted:#6f7b7f;
  --line:#d3dde0; --line-strong:#aebdc3; --page:#f8f8f6; --white:#ffffff;
  --shadow:0 8px 24px rgba(42,65,72,.075);
}
body{background:var(--page);color:var(--ink)}
.topbar{background:#fff;color:var(--ink);border-bottom:1px solid #dce4e6;box-shadow:0 3px 14px rgba(43,64,70,.07);position:sticky;top:0;z-index:30}
.brand-accent{height:4px;background:linear-gradient(90deg,var(--accent) 0 72%,var(--olive) 72% 100%)}
.nav-wrap{min-height:82px}
.brand{color:var(--accent-dark);font-size:21px;font-weight:700}
.brand img{width:58px;height:52px;padding:0;background:transparent;border-radius:0}
.brand small{color:var(--olive-dark);font-size:10px;letter-spacing:.14em;font-weight:700}
.main-nav>a,.nav-dropdown>button{color:#465357;font-weight:700}
.main-nav>a:hover,.nav-dropdown>button:hover{color:var(--accent-dark)}
.main-nav>a{position:relative;padding:29px 0 25px}
.main-nav>a:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--olive);transform:scaleX(0);transition:.18s}
.main-nav>a:hover:after{transform:scaleX(1)}
.nav-user{color:#68767b;border-left:1px solid #d6dfe2;display:inline-flex;align-items:center;gap:6px}
.nav-user svg,.nav-icon-link svg,.nav-icon-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-icon-link{padding:8px!important;color:#52646b!important}.nav-icon-link:after{display:none!important}
.nav-icon-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0!important;border:1px solid #c8d3d7!important;border-radius:8px!important;color:#52646b!important}
.nav-dropdown>div{top:44px;border-color:#ccd8dc;box-shadow:0 14px 32px rgba(35,55,63,.14)}
.page-header{margin-top:36px}.page-header h1{font-size:30px;color:#34464d}.eyebrow{color:var(--olive-dark)}
.card{border-color:#d7e0e3;border-radius:12px;box-shadow:var(--shadow)}
.metric-card{border-color:#d8e1e3;border-radius:11px}.metric-card:before{background:var(--olive)}
.metric-card strong{color:#38505a}
.column-fill{background:linear-gradient(180deg,#76a8bb,#4f8298)}
.status-fill{background:#7ca0ad}.status-fill-accepted{background:#8b9b67}.status-fill-declined{background:#aa7777}.status-fill-presented{background:#658fa1}
input,select,textarea{border-color:#bccbd0;background:#fff;box-shadow:inset 0 1px 2px rgba(40,60,67,.025)}
input:hover,select:hover,textarea:hover{border-color:#9fb3ba}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(90,145,168,.14)}
.btn-outline,.icon-btn,.btn.icon-btn{border:1px solid var(--line-strong)!important;background:#fff!important;color:#40545c!important;box-shadow:0 1px 2px rgba(35,55,63,.04)}
.icon-btn:hover,.btn-outline:hover{background:#f0f6f7!important;border-color:var(--accent)!important;color:var(--accent-dark)!important}
.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.icon-large svg{width:20px;height:20px}
.primary-icon,.btn-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
.primary-icon:hover,.btn-primary:hover{background:var(--accent-dark)!important;border-color:var(--accent-dark)!important;color:#fff!important}
.danger-icon,.btn-danger{background:#fff8f7!important;color:#9d4949!important;border-color:#d7aaaa!important}
.sign-icon{background:#f5f7ef!important;color:var(--olive-dark)!important;border-color:#b9c39a!important}
.sign-icon:hover{background:#edf1e3!important;color:#65723f!important;border-color:var(--olive)!important}
.hero-search{border-color:#cbd7da;box-shadow:0 7px 22px rgba(42,65,72,.06)}
.search-leading{display:inline-flex;color:var(--accent)!important}.search-leading svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
th{background:#f4f6f5;color:#5c686c;border-bottom-color:#cbd6d9}tbody tr:hover{background:#f8fbfb}
.live-totals .grand{border-top-color:var(--olive)}
.status-accepted{background:#eef2e5;color:#66733e}.status-presented{background:#edf5f7;color:#32677c}
.signature-card{border-top:3px solid #b3c080}.signature-heading{margin-bottom:12px}.signature-heading h2{color:#3d4a4f}
.signature-empty{border:1px dashed #b7c5c9;border-radius:8px;background:#fafbf9;padding:24px;text-align:center;color:#788589;font-size:12px}
.signature-summary{padding-top:2px}.signature-summary img{border-bottom:1px solid #89989e;background:#fff}
.signature-label-row{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}.signature-label-row>label{font-size:11px;font-weight:750;color:#5f6d74;text-transform:uppercase;letter-spacing:.055em}.signature-inline-actions{display:flex;gap:7px}
.signature-pad-wrap{border:1.5px solid #9fb2b8;background:#fff;box-shadow:inset 0 0 0 1px #edf1f2}.signature-hint{text-align:center;color:#869398;font-size:11px;padding:8px;border-top:1px solid #e3e9eb;background:#fafbfb}
.upload-button{border-color:#aebdc3!important;color:#40545c!important}.upload-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media print{.signature-card .icon-btn{display:none!important}}
/* v6 classic-theme additions: keeps the v5.3 visual language without Tailwind */
.compact-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:12px 10px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6d7d83;border-bottom:1px solid var(--line)}.data-table td{padding:13px 10px;border-bottom:1px solid #edf1f2;vertical-align:middle}.link-action{color:var(--blue);font-weight:700;text-decoration:none}.link-action:hover{text-decoration:underline}.subtle{color:var(--muted);font-size:13px}.form-actions-left{display:flex;gap:8px;align-items:center}.followup-note{max-width:380px;white-space:normal}.progress-line{height:7px;background:#edf1f2;border-radius:10px;overflow:hidden}.progress-line>span{display:block;height:100%;background:var(--blue);border-radius:10px}.classic-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.classic-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}@media(max-width:800px){.classic-grid-2,.classic-grid-3{grid-template-columns:1fr}.main-nav{gap:7px;flex-wrap:wrap}}

/* v6.2 workflow + visual polish */
.form-control{width:100%;border:1px solid #cbd5da;border-radius:8px;padding:10px 11px;font:inherit;background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(31,52,68,.03)}
.form-control:focus{outline:2px solid rgba(78,145,173,.14);border-color:var(--blue)}
.estimate-editor .card{padding:26px}.estimate-info-card{border-top:3px solid rgba(78,145,173,.55)}.treatment-entry-card{border-top:3px solid rgba(143,157,91,.55)}
.form-section-title p,.section-heading p{margin:3px 0 0;color:var(--muted);font-size:13px}.read-only-field small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.estimate-id-badge{display:inline-block;margin-top:7px;padding:3px 8px;border-radius:999px;background:#f0f3f4;color:#64737a;font-size:11px;font-weight:700}
.treatment-table th{white-space:nowrap}.treatment-table input{min-width:88px}.treatment-table input.procedure-code{min-width:92px;text-transform:uppercase;font-weight:700}.treatment-table input.procedure-description{min-width:210px}.treatment-row.code-match input.procedure-code{border-color:#79a98d;background:#f5fbf7}.row-remove{width:30px;height:30px;border-radius:7px;border:1px solid #e2c5c5;background:#fff7f7;color:#a33a3a;cursor:pointer;font-size:18px}.row-remove:hover{background:#ffeded}
.account-estimate-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(90deg,#f7fafb,#fff);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:10px;padding:18px 20px;margin-bottom:24px}.account-estimate-callout strong{display:block;font-size:15px}.account-estimate-callout span{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.search-card{padding-bottom:20px}.search-actions{margin-top:16px}.table-id{display:inline-block;min-width:34px;text-align:center;padding:4px 7px;border-radius:6px;background:#f1f4f5;color:#65737a;font-size:11px;font-weight:800}
.data-tools{padding:0;overflow:hidden}.data-tools summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;background:#fafbfb}.data-tools summary::-webkit-details-marker{display:none}.data-tools summary strong{display:block}.data-tools summary small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.data-tools-chevron{font-size:20px;color:var(--muted);transition:transform .2s}.data-tools[open] .data-tools-chevron{transform:rotate(180deg)}.data-tools-content{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}.import-tool,.export-tool{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:18px 20px}.import-tool{border-right:1px solid var(--line)}.import-tool strong,.export-tool strong{display:block}.import-tool span,.export-tool span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.file-picker{position:relative;display:inline-flex;align-items:center;justify-content:center}.file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-picker>span{margin:0!important;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)!important;font-weight:700;white-space:nowrap}
@media(max-width:900px){.data-tools-content{grid-template-columns:1fr}.import-tool{border-right:0;border-bottom:1px solid var(--line)}.import-tool,.export-tool{grid-template-columns:1fr}}

/* v6.3 public landing page and visible tenant administration */
.landing-page{background:#fff;color:var(--ink)}
.landing-header{background:#fff;border-bottom:1px solid var(--line)}
.landing-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.landing-brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none}
.landing-brand strong{display:block;font-size:17px}.landing-brand small{display:block;margin-top:3px;color:var(--muted);font-size:11px;letter-spacing:.04em}
.brand-mark{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;font-weight:800;letter-spacing:.04em}
.landing-hero{padding:78px 0 72px;background:linear-gradient(180deg,#fbfcfc 0%,#f5f7f7 100%);border-bottom:1px solid var(--line)}
.landing-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.landing-hero h1{font-size:48px;line-height:1.08;letter-spacing:-.035em;max-width:720px;margin:11px 0 20px;color:#263d49}
.landing-lead{font-size:18px;line-height:1.65;color:#627179;max-width:680px}
.landing-actions{margin:28px 0 18px}.btn-large{padding:13px 20px;font-size:15px}
.landing-trust{font-size:12px;color:#879299}
.landing-preview{background:#fff;border:1px solid #d5dfe3;border-radius:14px;box-shadow:0 22px 55px rgba(33,61,75,.11);overflow:hidden}
.preview-top{height:42px;background:#f2f5f6;border-bottom:1px solid var(--line);display:flex;gap:6px;align-items:center;padding:0 15px}.preview-top span{width:8px;height:8px;border-radius:50%;background:#bdc9ce}
.preview-body{padding:26px}.preview-heading,.preview-patient,.preview-line,.preview-total{display:flex;justify-content:space-between;gap:18px}.preview-heading small,.preview-patient span{display:block;color:var(--muted);font-size:11px}.preview-heading strong{font-size:20px}.preview-patient{padding:20px 0;border-bottom:1px solid var(--line);flex-direction:column;gap:3px}.preview-line{padding:14px 0;border-bottom:1px solid #edf1f2;font-size:13px}.preview-total{padding:19px 0 3px;font-size:16px}.preview-total strong{color:var(--blue-dark)}
.landing-features{padding:72px 0}.landing-section-title{max-width:650px;margin-bottom:30px}.landing-section-title h2,.tenancy-callout h2{font-size:30px;margin:8px 0 0;color:#293f4a}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-grid article{border:1px solid var(--line);border-radius:11px;padding:24px;background:#fff}.feature-grid h3{margin:15px 0 8px;font-size:17px}.feature-grid p{color:var(--muted);line-height:1.6;font-size:13px}.feature-icon{font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.08em}
.landing-tenancy{padding:0 0 72px}.tenancy-callout{background:#263f4b;color:#fff;border-radius:14px;padding:42px;display:grid;grid-template-columns:1.4fr .6fr;gap:45px;align-items:center}.tenancy-callout h2{color:#fff}.tenancy-callout p{color:#cdd8dd;line-height:1.65}.tenant-stack{display:flex;flex-direction:column;gap:9px}.tenant-stack div{background:#fff;color:#334852;border-radius:8px;padding:12px 16px;font-weight:700;font-size:13px}.landing-footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:12px;background:#fafbfb}
.tenant-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tenant-card{margin:0}.tenant-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.tenant-card-head h2{font-size:19px;margin:5px 0 18px}.tenant-account{font-size:11px;color:var(--blue-dark);font-weight:800;letter-spacing:.05em}.tenant-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.tenant-metrics div{text-align:center;border-right:1px solid var(--line)}.tenant-metrics div:last-child{border-right:0}.tenant-metrics strong{display:block;font-size:20px;color:#304957}.tenant-metrics span{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.tenant-note{font-size:11px;color:var(--muted);padding-top:13px}
@media(max-width:850px){.landing-hero-grid,.tenancy-callout{grid-template-columns:1fr}.feature-grid,.tenant-summary-grid{grid-template-columns:1fr}.landing-hero h1{font-size:38px}}
@media(max-width:600px){.landing-nav{align-items:flex-start;flex-direction:column;padding:16px 0}.landing-hero{padding:50px 0}.landing-hero h1{font-size:34px}.feature-grid{grid-template-columns:1fr}.tenant-metrics{grid-template-columns:repeat(2,1fr);row-gap:14px}}

/* v6.4 graphical landing + public signup */
.landing-menu{display:flex;gap:24px}.landing-menu a{color:#53646c;text-decoration:none;font-size:13px;font-weight:700}.landing-menu a:hover{color:var(--blue-dark)}
.graphical-hero{padding:70px 0 66px;background:radial-gradient(circle at 75% 25%,#e8f4f7 0,#f7f9fa 33%,#fff 70%)}
.hero-copy h1{font-size:50px;line-height:1.06;letter-spacing:-.04em;margin:10px 0 20px;color:#253b48}.hero-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;margin:24px 0;color:#40545e;font-size:13px}.hero-checks span{display:block}.hero-visual-card{background:#fff;border:1px solid #d8e1e5;border-radius:16px;padding:12px;box-shadow:0 24px 55px rgba(35,67,82,.13)}.hero-visual-card img{display:block;width:100%;height:auto;border-radius:10px}.landing-tooth-logo{width:46px;height:46px;border:3px solid var(--blue);border-radius:20px 20px 26px 26px;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:24px;font-weight:900;transform:rotate(180deg)}
.feature-symbol{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#edf6f8;color:var(--blue-dark);font-size:22px;font-weight:800}.landing-product{padding:68px 0;background:#f7f9fa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.product-grid h2{font-size:31px;margin:8px 0 25px;color:#2a404c}.workflow-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:17px}.workflow-steps li{display:flex;gap:14px;align-items:flex-start}.workflow-steps b{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;font-size:12px}.workflow-steps span{display:flex;flex-direction:column;gap:4px}.workflow-steps small{color:var(--muted);line-height:1.45}.product-mock{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 35px rgba(31,58,70,.08);padding:20px}.mock-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:15px}.mock-header span{font-size:11px;color:var(--muted)}.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mock-stats div{background:#f7f9fa;border:1px solid #e4e9eb;border-radius:8px;padding:12px}.mock-stats small{display:block;color:var(--muted);font-size:10px}.mock-stats strong{font-size:22px}.mock-chart{height:190px;margin-top:20px;display:flex;align-items:flex-end;gap:13px;padding:15px 10px 0;border-left:1px solid #e5eaed;border-bottom:1px solid #e5eaed}.mock-chart span{flex:1;background:linear-gradient(180deg,#4e91ad,#36778f);border-radius:5px 5px 0 0}.btn-light{background:#fff;color:#29414e;border:1px solid #fff}.tenant-stack div{display:flex;flex-direction:column;gap:3px}.tenant-stack div span{font-size:11px;color:#70818a}.footer-row{display:flex;justify-content:space-between;gap:20px}
.signup-page{background:#f5f7f8;min-height:100vh}.signup-shell{width:min(1120px,calc(100% - 36px));margin:55px auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}.signup-intro{padding:38px 10px}.signup-intro h1{font-size:42px;line-height:1.08;margin:10px 0 18px;color:#273f4b}.signup-intro p{color:var(--muted);font-size:16px;line-height:1.65}.signup-benefits{display:grid;gap:10px;margin-top:28px;color:#42565f;font-size:13px}.signup-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:28px;box-shadow:0 12px 34px rgba(31,56,68,.08)}.signup-card h2{margin-bottom:22px}.span-two{grid-column:1/-1}.signup-login{text-align:center;color:var(--muted);font-size:12px;margin:16px 0 0}.success-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px}.success-card{max-width:580px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:42px;text-align:center;box-shadow:0 14px 38px rgba(31,56,68,.08)}.success-mark{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;background:#eaf6ef;color:#2e7455;font-size:26px;font-weight:800}.success-card h1{font-size:28px}.success-card p{color:var(--muted);line-height:1.65}.center-actions{justify-content:center;margin-top:24px}.request-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.request-summary span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.request-summary .span-all{grid-column:1/-1}.signup-request-table{margin-top:28px}
@media(max-width:900px){.landing-menu{display:none}.product-grid,.signup-shell{grid-template-columns:1fr}.hero-copy h1{font-size:41px}.hero-checks{grid-template-columns:1fr}}
@media(max-width:650px){.graphical-hero{padding:45px 0}.hero-copy h1{font-size:34px}.footer-row{flex-direction:column}.signup-shell{margin:28px auto}.signup-intro{padding:10px 0}.signup-intro h1{font-size:34px}}

/* v6.5 — Duralux-inspired application shell (original implementation, no copied assets/code) */
:root{--sidebar-w:252px;--d-bg:#f5f7fb;--d-card:#fff;--d-border:#e8edf2;--d-text:#28323c;--d-muted:#7b8794;--d-accent:#4f67f6;--d-accent-soft:#eef1ff;--d-shadow:0 2px 8px rgba(31,45,61,.045)}
.app-body{background:var(--d-bg);color:var(--d-text)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
.app-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--d-border);display:flex;flex-direction:column;padding:18px 14px 14px;z-index:20}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:4px 9px 21px;text-decoration:none;color:var(--d-text);border-bottom:1px solid #f0f2f5;margin-bottom:14px}.sidebar-brand img,.sidebar-logo-mark{width:38px;height:38px;border-radius:50%;object-fit:contain;background:var(--d-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.sidebar-brand strong{display:block;font-size:14px;max-width:155px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand small{display:block;font-size:9px;color:var(--d-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.sidebar-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#a1aab4;padding:12px 12px 7px}.sidebar-nav{display:flex;flex-direction:column;gap:3px}.sidebar-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:7px;text-decoration:none;color:#5f6b78;font-size:12.5px;font-weight:600}.sidebar-nav a:hover{background:#f6f7fb;color:#2e3a47}.sidebar-nav a:focus{background:var(--d-accent-soft);color:var(--d-accent)}.side-icon{width:19px;text-align:center;font-size:15px;color:#7c8794}.sidebar-footer{margin-top:auto;border-top:1px solid #f0f2f5;padding:14px 8px 2px;display:grid;grid-template-columns:34px 1fr 22px;align-items:center;gap:9px}.sidebar-user-avatar{width:34px;height:34px;border-radius:50%;background:#edf1f5;color:#52606d;display:flex;align-items:center;justify-content:center;font-weight:800}.sidebar-footer strong{display:block;font-size:11px}.sidebar-footer small{display:block;font-size:9px;color:var(--d-muted)}.sidebar-footer a{color:#7d8995}.sidebar-footer svg{width:17px;height:17px}
.app-main{min-width:0}.app-topbar{height:64px;background:#fff;border-bottom:1px solid var(--d-border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:15}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:16px}.sidebar-toggle{border:0;background:transparent;color:#7b8794;font-size:18px;cursor:pointer}.topbar-practice{font-size:12px;color:#87919c}.topbar-search{width:34px;height:34px;border:1px solid var(--d-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#687482;background:#fff}.topbar-search svg{width:15px;height:15px}.topbar-user{font-size:11px;font-weight:700;color:#52606d}.app-content{width:auto;max-width:none;margin:0;padding:24px 26px}.app-content>.container,.app-content main.container{width:100%;max-width:none;margin:0;padding:0}.app-content .page-header{margin:0 0 20px;align-items:center}.app-content .page-header h1{font-size:22px;font-weight:700;letter-spacing:-.02em}.app-content .page-header p{font-size:11.5px;color:var(--d-muted)}
.app-content .card{border:1px solid var(--d-border);border-radius:6px;box-shadow:var(--d-shadow);padding:19px;background:#fff}.app-content .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.app-content .metric-card{border:1px solid var(--d-border);border-radius:6px;box-shadow:var(--d-shadow);padding:18px;background:#fff}.app-content .metric-card:before{display:none}.app-content .metric-card span{font-size:10px;color:#8b95a1}.app-content .metric-card strong{font-size:24px;color:#2f3944}.app-content .metric-card small{font-size:10px}.app-content .dashboard-panels{grid-template-columns:1.45fr 1fr;gap:16px}.app-content .section-heading h2,.app-content .card h2{font-size:14px}.app-content .section-heading p{font-size:10.5px}.app-content .column-fill{background:linear-gradient(180deg,#7385ff,#5267ee)}.app-content .status-fill{background:#8a98a9}.app-content .status-fill-accepted{background:#70b38d}.app-content .status-fill-declined{background:#d98484}.app-content .status-fill-presented{background:#6f85f6}.app-content .recent-row{padding:11px 2px;font-size:11.5px}.app-content .status{border-radius:4px;padding:4px 7px;font-size:9px}.app-content .hero-search{border-radius:6px;box-shadow:none;border:1px solid var(--d-border);padding:6px 8px}.app-content .search-card{padding:18px}.app-content input,.app-content select,.app-content textarea{border-color:#dfe5ea;border-radius:5px;min-height:36px;font-size:12px}.app-content input:focus,.app-content select:focus,.app-content textarea:focus{border-color:#8290f6;box-shadow:0 0 0 3px rgba(79,103,246,.09)}.app-content .btn,.app-content .icon-btn{border-radius:5px}.app-content .btn-primary,.app-content .primary-icon{background:var(--d-accent)!important;border-color:var(--d-accent)!important}.app-content table{font-size:11.5px}.app-content th{background:#fafbfc;color:#89939f;font-size:9px;padding:10px 9px;border-bottom:1px solid var(--d-border)}.app-content td{padding:11px 9px;border-bottom:1px solid #f0f2f5}.app-content tr:hover td{background:#fbfcfe}.app-content .data-tools{padding:0;overflow:hidden}.app-content .data-tools summary{padding:15px 18px;background:#fff}.app-content .data-tools-content{border-top:1px solid var(--d-border)}
.sidebar-collapsed .app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar-collapsed .sidebar-brand span:last-child,.sidebar-collapsed .sidebar-nav a span:last-child,.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-footer>div:nth-child(2){display:none}.sidebar-collapsed .sidebar-nav a{justify-content:center}.sidebar-collapsed .sidebar-brand{justify-content:center}.sidebar-collapsed .sidebar-footer{grid-template-columns:34px 22px;justify-content:center}
@media(max-width:980px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar-brand span:last-child,.sidebar-nav a span:last-child,.sidebar-section-label,.sidebar-footer>div:nth-child(2){display:none}.sidebar-nav a{justify-content:center}.sidebar-brand{justify-content:center}.sidebar-footer{grid-template-columns:34px 22px;justify-content:center}.app-content .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.app-shell{display:block}.app-sidebar{display:none}.app-content{padding:18px 14px}.app-content .metric-grid,.app-content .dashboard-panels{grid-template-columns:1fr}.topbar-user{display:none}}


/* v7 — Navy Duralux-style sidebar and control cleanup */
:root{
  --sidebar-navy:#17395c;
  --sidebar-navy-deep:#102b46;
  --sidebar-text:#d9e6f2;
  --sidebar-muted:#92abc0;
  --sidebar-active:#2f7693;
  --sidebar-hover:rgba(255,255,255,.075);
}

/* Strong navy sidebar with visible icons/text */
.app-sidebar{
  background:linear-gradient(180deg,var(--sidebar-navy) 0%,var(--sidebar-navy-deep) 100%);
  border-right:0;
  box-shadow:3px 0 16px rgba(20,45,69,.09);
}
.sidebar-brand{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.11);
}
.sidebar-brand strong{color:#fff}
.sidebar-brand small{color:#a9bfd1}
.sidebar-logo-mark{
  background:#fff;
  color:var(--sidebar-navy);
}
.sidebar-section-label{color:#819cb3}
.sidebar-nav a{color:var(--sidebar-text)}
.sidebar-nav a:hover{
  background:var(--sidebar-hover);
  color:#fff;
}
.sidebar-nav a:focus,
.sidebar-nav a.active{
  background:rgba(57,143,176,.22);
  color:#fff;
}
.side-icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#b9cee0;
  flex:0 0 20px;
}
.side-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  display:block;
}
.sidebar-nav a:hover .side-icon,
.sidebar-nav a:focus .side-icon{color:#fff}
.sidebar-footer{
  border-top-color:rgba(255,255,255,.11);
}
.sidebar-user-avatar{
  background:rgba(255,255,255,.13);
  color:#fff;
}
.sidebar-footer strong{color:#fff}
.sidebar-footer small{color:#9fb6c9}
.sidebar-footer a{color:#bcd0df}
.sidebar-footer svg{stroke:currentColor}

/* More consistent action sizes; no invisible white-outline actions */
.app-content .icon-btn,
.app-content .btn{
  min-height:36px;
  border-width:1px;
  border-color:#d4dde5;
  box-shadow:none;
}
.app-content .icon-btn{
  min-width:36px;
  color:#485966;
  background:#fff;
}
.app-content .icon-btn svg{
  width:17px;
  height:17px;
  display:block;
  stroke:currentColor;
  fill:none;
}
.app-content .icon-btn:hover{
  background:#f2f5f7;
  border-color:#bfcbd4;
  color:#263b48;
}
.app-content .btn-primary{
  min-width:112px;
  padding:9px 16px;
  background:#326f89!important;
  border-color:#326f89!important;
  color:#fff!important;
}
.app-content .btn-primary:hover{
  background:#285d74!important;
  border-color:#285d74!important;
}
.app-content .form-actions{
  gap:10px;
}

/* Tenant/platform notices */
.tenant-mode-note,
.tenant-architecture-banner{
  border:1px solid #dce6ec;
  background:#f6fafc;
  color:#526874;
  border-radius:6px;
  padding:11px 13px;
  font-size:11px;
  line-height:1.55;
  margin-bottom:16px;
}
.tenant-architecture-banner{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 18px;
}
.tenant-architecture-banner strong{
  color:#245e78;
  white-space:nowrap;
}
.tenant-card h2 small{
  display:block;
  margin-top:5px;
  color:#7d8d98;
  font-size:10px;
  font-weight:500;
}

/* Platform topbar keeps a clear identity if no dental practice is selected */
.app-topbar{
  box-shadow:0 1px 3px rgba(31,45,61,.025);
}

/* v7.0.2 platform administration */
.tenant-admin-action{margin-top:20px}
.tenant-help{margin-top:10px;font-size:11px;line-height:1.5}
.password-reset-inline{display:flex;gap:8px;align-items:center}
.password-reset-inline input{min-width:180px;max-width:240px}
.tenant-card-actions{display:flex;justify-content:flex-end;margin-top:13px}
@media(max-width:700px){.password-reset-inline{align-items:stretch;flex-direction:column}.password-reset-inline input{max-width:none;width:100%}}


/* v7.1 Demo + Follow-up */
.btn-demo{background:#edf7f4!important;color:#27695c!important;border:1px solid #b9dcd2!important}
.btn-demo:hover{background:#e1f1ec!important;border-color:#96c9ba!important}
.followup-type-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.followup-type-card{display:block;border:1px solid var(--line);border-radius:8px;padding:16px;text-decoration:none;color:var(--ink);background:#fbfcfc}
.followup-type-card:hover{border-color:#8eb4c5;background:#f6fafb}
.followup-type-card strong{display:block;font-size:14px;margin-bottom:5px;color:#2e5366}
.followup-type-card span{display:block;font-size:11px;line-height:1.5;color:var(--muted)}
.field-span-2{grid-column:span 2}
.public-link-preview{background:#f6f8f9;border:1px solid var(--line);border-radius:7px;padding:12px 14px;margin:8px 0 20px}
.public-link-preview span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.public-link-preview code{font-size:11px;word-break:break-all;color:#315f74}
.table-subtext{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.followup-error{display:block;color:#9b3c3c;font-size:10px;margin-top:4px;max-width:260px}
.followup-estimate-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #edf1f2}
.followup-estimate-row:last-child{border-bottom:0}
.followup-estimate-row>div:first-child span{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.public-estimate-page{background:#f4f6f7;color:var(--ink);padding:36px 16px}
.public-estimate-shell{max-width:900px;margin:0 auto}
.public-estimate-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.public-estimate-header img{max-width:82px;max-height:52px;object-fit:contain}
.public-estimate-header strong{display:block;font-size:17px;color:#2d4653}
.public-estimate-header span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.public-estimate-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;box-shadow:0 10px 30px rgba(31,52,68,.06)}
.public-estimate-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.public-estimate-title span:first-child{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.public-estimate-title h1{font-size:28px;margin:4px 0 0}
.public-estimate-contact{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.status-due{background:#fff6e7;color:#8a5b14}
.status-sent{background:#edf6f0;color:#327054}
.status-failed{background:#fff0f0;color:#9a3636}
.status-cancelled{background:#f1f3f4;color:#68757c}
@media(max-width:700px){
  .followup-type-shortcuts{grid-template-columns:1fr}
  .field-span-2{grid-column:auto}
  .followup-estimate-row{align-items:flex-start;flex-direction:column}
}


/* v7.2 Enterprise foundation */
.support-banner{background:#fff2cc;border-bottom:1px solid #e3c96e;color:#5f4b13;padding:9px 18px;font-size:12px}
.support-banner a{color:#5f4b13;font-weight:800;margin-left:8px}
.security-policy-banner{background:#fff7e9;border-bottom:1px solid #edd7a4;color:#725621;padding:9px 18px;font-size:11px}
.security-notice{background:#f6fafc;border:1px solid #d8e5eb;border-radius:7px;padding:13px 15px;margin-bottom:18px;color:#526773}
.security-notice strong{display:block;color:#2f586b;margin-bottom:4px}.security-notice p{margin:0;font-size:11px;line-height:1.55}
.tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tier-card{margin:0}.tier-quota{display:flex;align-items:baseline;gap:8px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tier-quota strong{font-size:28px;color:#2f6077}.tier-quota span{color:var(--muted);font-size:11px}
.feature-list{padding:12px 0}.feature-list div{display:flex;justify-content:space-between;gap:15px;padding:5px 0;font-size:11px;border-bottom:1px solid #f0f2f3}.feature-list div:last-child{border-bottom:0}
.subscription-summary{background:#f6f8f9;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:11px;margin:8px 0 14px}
.insurance-rule-block{padding:14px 0;border-bottom:1px solid var(--line)}.insurance-rule-block:last-child{border-bottom:0}
.rule-chips{display:flex;gap:7px;flex-wrap:wrap}.rule-chips span{display:inline-flex;background:#f2f6f7;border:1px solid #dce5e9;border-radius:14px;padding:5px 9px;font-size:10px;color:#526b76}
.field-required{background:#fffaf1!important}.field-required input{border-color:#d9b96c!important}
.treatment-table .surface-cell,.treatment-table .quadrant-cell{min-width:90px}
@media(max-width:1000px){.tier-grid{grid-template-columns:1fr}}


/* v7.3 Customer Admin Analytics */
.sidebar-logout-form{margin:0 0 0 auto}
.sidebar-logout-btn{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:6px;cursor:pointer;padding:7px;border-radius:6px;font:inherit}
.sidebar-logout-btn:hover{background:rgba(255,255,255,.08)}
.sidebar-logout-btn svg{width:16px;height:16px}.sidebar-logout-btn span{font-size:10px;font-weight:700}
.analytics-dashboard{max-width:1480px}
.dashboard-header{align-items:flex-end}
.dashboard-filter-card{padding:14px 18px}
.dashboard-filter-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.dashboard-filter-form .field{margin:0;min-width:150px}
.dashboard-filter-submit{min-width:auto!important}
.dashboard-range-caption{margin-left:auto;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;padding-bottom:10px}
.custom-date-field.is-hidden{display:none}
.analytics-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.analytics-metric-grid .metric-card strong{font-size:22px}
.analytics-panels{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.analytics-card{min-width:0}
.analytics-card-wide{grid-column:auto}
.morris-chart{height:300px;min-height:300px}
.bar-chart{height:320px;min-height:320px}
.donut-chart{height:235px;min-height:235px}
.chart-empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;background:#fafcfc;border:1px dashed var(--line);border-radius:8px}
.chart-legend{display:grid;gap:4px;margin-top:8px}
.chart-legend>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-bottom:1px solid #edf1f2;padding:6px 0;font-size:10px}
.chart-legend>div:last-child{border-bottom:0}.chart-legend span{color:#4a626d}.chart-legend strong{color:#2f6077}.chart-legend small{color:var(--muted)}
.financial-mix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:10px}
.financial-mix.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.financial-mix>div{background:#f7f9fa;border:1px solid #e3e9ec;border-radius:8px;padding:20px}
.financial-mix span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.04em}
.financial-mix strong{display:block;color:#2f5e73;font-size:23px;margin-top:8px}
.analytics-dashboard .status{white-space:nowrap}
.morris-hover{font-family:inherit!important;font-size:11px!important}
@media(max-width:1100px){
  .analytics-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-panels{grid-template-columns:1fr}
}
@media(max-width:700px){
  .analytics-metric-grid{grid-template-columns:1fr}
  .dashboard-filter-form{align-items:stretch;flex-direction:column}
  .dashboard-filter-form .field{width:100%}
  .dashboard-range-caption{margin-left:0;padding:0}
  .financial-mix,.financial-mix.three-up{grid-template-columns:1fr}
  .morris-chart{height:260px;min-height:260px}
}

/* Consistent estimate status badges */
.status-draft{background:#f1f3f4;color:#596a72}
.status-pending{background:#fff6e7;color:#8a5b14}
.status-presented{background:#eef5fb;color:#3d6884}
.status-accepted{background:#edf6f0;color:#327054}
.status-complete{background:#e9f5f2;color:#286958}
.status-declined{background:#fff0f0;color:#9a3636}
.status-expired{background:#f2f2f3;color:#6f7378}


/* v7.4 Dentura branding + tenant page editor/theme */
.app-body{background:var(--tenant-page-bg,#f5f7f8)}
.app-sidebar{background:var(--tenant-sidebar,#1f5135)!important;color:var(--tenant-sidebar-text,#fff)}
.app-sidebar a,.app-sidebar .sidebar-section-label,.sidebar-user-avatar{color:var(--tenant-sidebar-text,#fff)}
.btn-primary,.primary-icon{background:var(--tenant-accent,#2a7c9c)!important;border-color:var(--tenant-accent,#2a7c9c)!important}
.status-presented{background:var(--tenant-accent-soft,#eaf4f7);color:var(--tenant-accent,#2a7c9c)}
.card,.metric-card{border-radius:var(--tenant-radius,8px)}
.dentura-sidebar-logo{width:105px!important;height:38px!important;object-fit:contain!important;object-position:left center!important;background:#fff;border-radius:5px;padding:3px 5px}
.compact-navigation .sidebar-nav a{padding-top:7px;padding-bottom:7px}
.analytics-error{align-self:flex-end;background:#fff0f0;border:1px solid #efc7c7;color:#8c3838;border-radius:6px;padding:9px 12px;font-size:11px;max-width:420px}
.reduced-charts .morris-chart{height:260px;min-height:260px}

/* Product and tenant landing pages */
.dentura-public-body,.tenant-public-body{margin:0;background:#f8fafb;color:#263842;font-family:Inter,Segoe UI,Arial,sans-serif}
.dentura-public-nav,.tenant-public-nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 max(5vw,32px);background:#fff;border-bottom:1px solid #e5ebee}
.dentura-public-nav nav,.tenant-public-nav nav{display:flex;align-items:center;gap:10px}
.dentura-public-nav nav>a:not(.btn),.tenant-public-nav nav>a{font-size:12px;font-weight:700;color:#43606d;text-decoration:none}
.dentura-public-brand img{width:245px;max-height:58px;object-fit:contain;object-position:left center}
.tenant-public-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#294652;font-weight:800}
.tenant-public-brand img{width:125px;max-height:50px;object-fit:contain}
.dentura-hero,.tenant-hero{max-width:1320px;margin:0 auto;min-height:530px;padding:70px 5vw;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.dentura-hero-copy h1,.tenant-hero-copy h1{font-size:52px;line-height:1.04;letter-spacing:-.035em;color:#263b45;margin:12px 0 18px;max-width:720px}
.dentura-hero-copy p,.tenant-hero-copy p{font-size:17px;line-height:1.65;color:#64777f;max-width:680px;margin:0 0 28px}
.dentura-hero-brand{background:#fff;border:1px solid #e3eaed;border-radius:24px;box-shadow:0 20px 60px rgba(32,69,86,.09);padding:50px}
.dentura-hero-brand img{display:block;width:100%}
.dentura-feature-grid,.tenant-feature-grid{max-width:1180px;margin:0 auto 80px;padding:0 5vw;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dentura-feature-grid article,.tenant-feature-grid article{background:#fff;border:1px solid #e3eaed;border-radius:12px;padding:28px;box-shadow:0 8px 25px rgba(45,78,91,.04)}
.dentura-feature-grid strong,.tenant-feature-grid strong{display:block;color:#285c73;font-size:16px;margin-bottom:9px}
.dentura-feature-grid p,.tenant-feature-grid p{margin:0;color:#687c84;font-size:13px;line-height:1.6}
.dentura-public-footer{text-align:center;border-top:1px solid #e2e9ec;padding:24px;color:#7f8e94;font-size:11px;background:#fff}
.tenant-hero-art{min-height:360px;display:flex;align-items:center;justify-content:center}
.tenant-hero-art>img{max-width:100%;max-height:440px;border-radius:18px;box-shadow:0 20px 60px rgba(35,66,80,.12)}
.tenant-estimate-visual{width:80%;max-width:420px;background:linear-gradient(145deg,#e8f4f7,#dcecf1);padding:34px;border-radius:26px;transform:rotate(2deg)}
.mini-card{background:#fff;border-radius:15px;padding:30px;box-shadow:0 16px 35px rgba(31,71,88,.12)}
.mini-card span{display:block;font-size:10px;text-transform:uppercase;color:#77919d;font-weight:800}.mini-card strong{display:block;font-size:22px;line-height:1.25;color:#294e5e;margin:10px 0 22px}
.mini-card i{display:block;height:9px;background:#edf2f4;border-radius:10px;margin:10px 0}.mini-card i:nth-of-type(2){width:76%}.mini-card i:nth-of-type(3){width:54%}
.tenant-intro{max-width:800px;text-align:center;margin:0 auto 42px;padding:0 30px}.tenant-intro h2{font-size:32px;margin:8px 0 12px}.tenant-intro p{font-size:15px;line-height:1.7;color:#677b84}
.tenant-landing-disabled{max-width:700px;margin:110px auto;padding:50px;text-align:center;background:#fff;border:1px solid #e3eaed;border-radius:14px}

/* Theme editor */
.theme-preview{margin:20px 0;display:grid;grid-template-columns:160px 1fr;min-height:160px;border:1px solid #dfe7ea;border-radius:8px;overflow:hidden}
.theme-preview-sidebar{padding:22px;font-weight:800}.theme-preview-sidebar small{font-weight:400;opacity:.75}.theme-preview-main{padding:26px}.theme-preview-main span{display:block;width:90px;height:8px;border-radius:10px;margin-bottom:22px}
.settings-section h2{font-size:15px;color:#365765;margin-bottom:16px}

/* Dentura login */
.dentura-login-card{max-width:410px}.dentura-login-logo{text-align:center;margin-bottom:18px}.dentura-login-logo img{max-width:280px;max-height:92px;object-fit:contain}
.dentura-login-card h1{text-align:center}.dentura-login-card>p{text-align:center}.login-back-link{display:block;text-align:center;margin-top:18px;font-size:11px;color:#527384;text-decoration:none}

@media(max-width:900px){
 .dentura-hero,.tenant-hero{grid-template-columns:1fr;padding-top:46px}.dentura-hero-copy h1,.tenant-hero-copy h1{font-size:40px}
 .dentura-feature-grid,.tenant-feature-grid{grid-template-columns:1fr}.dentura-public-brand img{width:190px}
}
@media(max-width:650px){
 .dentura-public-nav,.tenant-public-nav{padding:0 18px}.dentura-public-nav .btn-outline,.dentura-public-nav nav>a:not(.btn){display:none}
 .dentura-public-brand img{width:160px}.dentura-hero,.tenant-hero{padding:42px 22px}.dentura-hero-copy h1,.tenant-hero-copy h1{font-size:34px}
}

.signup-dentura-logo{width:230px;max-height:58px;object-fit:contain;object-position:left center}


/* v7.5 branding, sidebar account, and profile polish */
.sidebar-brand-stacked{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:8px!important;padding:5px 8px 16px!important}
.sidebar-brand-stacked span{width:100%;min-width:0}.sidebar-brand-stacked strong{max-width:100%!important;white-space:normal!important;line-height:1.25}.sidebar-brand-stacked small{line-height:1.35}
.sidebar-practice-logo{width:auto!important;height:auto!important;max-width:150px!important;max-height:62px!important;object-fit:contain!important;background:#fff!important;border-radius:7px!important;padding:6px!important}
.dentura-platform-logo{max-width:155px!important}.sidebar-practice-fallback{width:58px;height:58px;border-radius:12px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:800}
.sidebar-account-footer{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:12px 8px 4px!important}
.sidebar-profile-link{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;text-decoration:none!important;color:inherit!important;padding:7px!important;border-radius:8px!important}.sidebar-profile-link:hover{background:rgba(255,255,255,.07)!important}
.sidebar-user-photo,.sidebar-user-avatar{width:38px!important;height:38px!important;border-radius:50%!important;object-fit:cover!important}.sidebar-profile-link strong{color:#fff!important;display:block;font-size:11px}.sidebar-profile-link small{color:#9fb6c9!important;display:block;font-size:9px;margin-top:2px}
.sidebar-logout-form{width:100%!important;margin:0!important}.sidebar-signout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#dce8f0;border-radius:7px;padding:8px 10px;font-size:10.5px;font-weight:700;cursor:pointer}.sidebar-signout-btn:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.25)}.sidebar-signout-btn svg{width:15px;height:15px;stroke:currentColor}
.topbar-profile-link{text-decoration:none;color:inherit}.topbar-profile-link:hover{text-decoration:underline}
.tenant-login-logo img{max-width:220px!important;max-height:90px!important;object-fit:contain!important}
.dentura-main-brand img{width:auto!important;height:42px!important;max-width:145px!important;object-fit:contain!important;border-radius:0!important;background:transparent!important}
.profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.profile-summary-card{text-align:center}.profile-photo-large,.profile-photo-placeholder{width:112px;height:112px;border-radius:50%;margin:0 auto 14px;object-fit:cover}.profile-photo-placeholder{display:flex;align-items:center;justify-content:center;background:#e9f0f4;color:#315f74;font-size:38px;font-weight:800}.profile-summary-card h2{margin:0;font-size:18px}.profile-summary-card>p{color:var(--muted);margin:5px 0 18px}.profile-meta{display:grid;text-align:left;border-top:1px solid var(--line);padding-top:12px}.profile-meta span{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800;margin-top:9px}.profile-meta strong{font-size:11px;margin-top:2px}.profile-edit-card .field input[type=file]{padding:9px;background:#f7f9fa;border:1px solid var(--line);border-radius:6px;width:100%}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.sidebar-brand-stacked span{display:none}.sidebar-practice-logo{max-width:58px!important;max-height:48px!important;padding:4px!important}.sidebar-account-footer{align-items:center!important}.sidebar-profile-link{grid-template-columns:38px!important;padding:4px!important}.sidebar-profile-link>div:last-child,.sidebar-signout-btn span{display:none}.sidebar-signout-btn{width:38px;height:38px;padding:0}.sidebar-signout-btn svg{margin:auto}}


/* v7.6 top-bar account menu, spacing, and control cleanup */
.app-sidebar{padding-bottom:14px}
.topbar-actions{gap:12px}
.topbar-profile-menu{position:relative}
.topbar-profile-trigger{min-width:82px;border:0;background:transparent;padding:4px 8px 3px;border-radius:8px;display:grid;grid-template-columns:34px auto;grid-template-rows:22px 15px;column-gap:8px;align-items:center;cursor:pointer;color:#40515c}
.topbar-profile-trigger:hover,.topbar-profile-trigger[aria-expanded="true"]{background:#f3f6f7}
.topbar-profile-photo,.topbar-profile-avatar{grid-row:1/3;width:34px;height:34px;border-radius:50%;object-fit:cover}
.topbar-profile-avatar{display:flex;align-items:center;justify-content:center;background:#e3edf1;color:#315f74;font-size:12px;font-weight:800}
.topbar-profile-name{grid-column:2;grid-row:1;font-size:10.5px;font-weight:750;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:end}
.topbar-profile-chevron{grid-column:2;grid-row:2;font-size:10px;color:#8b989f;align-self:start}
.topbar-profile-dropdown{position:absolute;right:0;top:48px;width:220px;background:#fff;border:1px solid #dce5e9;border-radius:9px;box-shadow:0 14px 35px rgba(31,54,67,.16);padding:7px;z-index:100}
.topbar-profile-dropdown[hidden]{display:none}
.profile-dropdown-heading{padding:9px 10px 10px;border-bottom:1px solid #edf1f2;margin-bottom:4px}
.profile-dropdown-heading strong{display:block;font-size:11.5px;color:#30444e}.profile-dropdown-heading small{display:block;margin-top:3px;font-size:9.5px;color:#849199}
.topbar-profile-dropdown>a,.profile-dropdown-signout{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#40545e;text-decoration:none;text-align:left;padding:9px 10px;border-radius:6px;font-size:10.5px;font-weight:650;cursor:pointer}
.topbar-profile-dropdown>a:hover,.profile-dropdown-signout:hover{background:#f3f6f7;color:#285e76}
.profile-dropdown-signout svg{width:14px;height:14px;stroke:currentColor}

input[type="checkbox"]{width:14px!important;height:14px!important;min-width:14px!important;margin:0 6px 0 0!important;vertical-align:-2px}
input[type="radio"]{width:14px!important;height:14px!important;min-width:14px!important}
.landing-check{font-style:normal;font-size:10px;display:inline-block;margin-right:3px;vertical-align:1px}
.hero-checks span{font-size:12px;line-height:1.55}

.platform-dashboard .page-header{margin-bottom:28px}
.platform-dashboard .dashboard-grid{gap:18px;margin-bottom:30px}
.platform-dashboard .stat-card{padding:22px 20px;min-height:104px}
.platform-dashboard>.card{margin-top:8px}
.platform-dashboard .section-heading{margin-bottom:22px}
.platform-dashboard table th,.platform-dashboard table td{padding-top:12px;padding-bottom:12px}

/* Prevent customer dashboard rows from visually colliding. */
.analytics-dashboard .analytics-panels{margin-bottom:24px;align-items:start}
.analytics-dashboard .analytics-panels>.card{margin-bottom:0;position:relative;overflow:hidden}
.analytics-dashboard .reduced-charts{margin-bottom:28px}
.analytics-dashboard .metric-grid{margin-bottom:26px}

/* Profile page spacing */
.profile-page .page-header{margin-bottom:26px}
.profile-layout{gap:24px}
.profile-edit-card .grid{row-gap:18px}
.profile-edit-card .form-actions{margin-top:22px}

@media(max-width:700px){
  .topbar-profile-name,.topbar-profile-chevron{display:none}
  .topbar-profile-trigger{min-width:42px;display:block;padding:4px}
  .topbar-profile-dropdown{right:-4px}
}


/* v7.6.1 topbar profile is intentionally stacked: photo above user name */
.topbar-profile-trigger{
  position:relative!important;
  min-width:74px!important;
  height:58px!important;
  padding:4px 7px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:2px!important;
}
.topbar-profile-photo,.topbar-profile-avatar{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
}
.topbar-profile-name{
  display:block!important;
  max-width:110px!important;
  font-size:9px!important;
  line-height:11px!important;
  text-align:center!important;
}
.topbar-profile-chevron{
  position:absolute!important;
  right:4px!important;
  bottom:7px!important;
  font-size:8px!important;
}
@media(max-width:700px){
  .topbar-profile-trigger{min-width:42px!important;width:42px!important;height:48px!important}
  .topbar-profile-name,.topbar-profile-chevron{display:none!important}
}


/* v7.7 navigation, demo roles, profile, and spacing refinements */
.dentura-main-brand>span{display:none!important}

.platform-dashboard .dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 22px;
}
.platform-dashboard .stat-card{
  background:#fff;
  border:1px solid var(--d-border,#e3e8eb);
  border-radius:7px;
  box-shadow:var(--d-shadow,0 2px 8px rgba(36,55,66,.05));
  min-height:0;
  padding:17px 18px;
  display:flex;
  flex-direction:column;
}
.platform-dashboard .stat-card>span{
  font-size:10px;
  font-weight:750;
  color:#7b8991;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:7px;
}
.platform-dashboard .stat-card>strong{
  display:block;
  color:#2f4450;
  font-size:25px;
  line-height:1;
  margin:0 0 7px;
}
.platform-dashboard .stat-card>small{
  display:block;
  color:#89959c;
  font-size:10px;
  line-height:1.3;
}
.platform-dashboard>.card{margin-top:0}
.platform-dashboard .page-header{margin-bottom:22px}
.platform-dashboard .section-heading{margin-bottom:18px}
.platform-dashboard table th,.platform-dashboard table td{padding-top:10px;padding-bottom:10px}

.topbar-estimate-search{
  position:relative;
  width:210px;
  margin:0;
}
.topbar-estimate-search input{
  width:100%;
  height:34px;
  padding:6px 10px 6px 32px;
  border:1px solid var(--d-border,#dce4e8);
  border-radius:17px;
  background:#f9fbfb;
  font-size:10.5px;
  color:#445962;
}
.topbar-estimate-search input:focus{
  outline:none;
  border-color:#9bbbc8;
  background:#fff;
}
.topbar-search-icon{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  width:13px;
  height:13px;
  color:#819098;
  pointer-events:none;
}
.topbar-search-icon svg{width:13px;height:13px}

.topbar-profile-dropdown{width:230px}
.topbar-profile-dropdown>a{border-bottom:1px solid #f1f3f4}
.topbar-profile-dropdown>a:last-of-type{border-bottom:0}
.profile-dropdown-signout{color:#8a4040}
.profile-dropdown-signout:hover{background:#fff4f4;color:#8a3030}

.login-card form .field{margin-bottom:14px}
.login-card form .field+ .field{margin-top:2px}
.login-card .btn-full{margin-top:7px}

.add-plus-btn{
  width:36px;
  height:36px;
  min-width:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:0;
  background:var(--tenant-accent,var(--accent,#2a7c9c));
  color:#fff;
  font-size:24px;
  font-weight:400;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 3px 9px rgba(38,92,116,.16);
}
.add-plus-btn:hover{filter:brightness(.94);color:#fff}
.tenant-new-user-form{
  background:#f8fafb;
  border:1px solid #e2e9ec;
  border-radius:8px;
  padding:16px;
  margin:0 0 18px;
}
.tenant-new-user-form[hidden]{display:none!important}
.tenant-new-user-form .grid{margin-bottom:12px}

.profile-detail-card{padding:25px!important}
.profile-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 26px;
}
.profile-detail-grid>div{border-bottom:1px solid #edf1f2;padding-bottom:12px}
.profile-detail-grid span,.profile-bio>span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#8a979e;
  font-size:9px;
  font-weight:800;
  margin-bottom:5px;
}
.profile-detail-grid strong{font-size:12px;color:#394d57}
.profile-bio{margin-top:22px}
.profile-bio p{margin:0;color:#60727b;font-size:12px;line-height:1.65}
.profile-quick-actions{margin-top:24px;padding-top:18px;border-top:1px solid #edf1f2}
.account-form-field{margin-bottom:17px!important}
.account-practice-settings{margin-top:18px}

.demo-role-body{margin:0;background:#f5f8f9;color:#2d414b;font-family:Inter,Segoe UI,Arial,sans-serif}
.demo-role-shell{max-width:980px;margin:65px auto;padding:0 24px;text-align:center}
.demo-role-brand img{width:210px;max-height:76px;object-fit:contain;margin-bottom:24px}
.demo-role-shell h1{font-size:34px;margin:8px 0 10px}.demo-role-shell>p{max-width:670px;margin:0 auto 30px;color:#6c7c84;line-height:1.6}
.demo-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:left}
.demo-role-card{display:block;background:#fff;border:1px solid #dfe7ea;border-radius:10px;padding:22px;text-decoration:none;color:#344a55;box-shadow:0 7px 20px rgba(40,72,86,.04)}
.demo-role-card:hover{border-color:#9fbec9;transform:translateY(-1px)}
.demo-role-card strong{display:block;font-size:15px;color:#2b5e74;margin-bottom:7px}
.demo-role-card span{display:block;font-size:11.5px;line-height:1.55;color:#687b84;min-height:36px}
.demo-role-card small{display:block;margin-top:14px;color:#2a7897;font-weight:750}

@media(max-width:980px){
  .platform-dashboard .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .topbar-estimate-search{width:160px}
}
@media(max-width:700px){
  .topbar-estimate-search{display:none}
  .profile-detail-grid,.demo-role-grid{grid-template-columns:1fr}
  .platform-dashboard .dashboard-grid{grid-template-columns:1fr 1fr}
}


/* v7.7.3 immediate estimate texting */
.text-estimate-card{padding:24px}
.text-estimate-preview{background:#f6f9fa;border:1px solid #dfe8eb;border-radius:8px;padding:14px 16px;margin-bottom:20px}
.text-estimate-preview span{display:block;color:#7b8b93;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.text-estimate-preview strong{display:block;color:#315f73;font-size:11px;overflow-wrap:anywhere}
.text-estimate-preview small{display:block;color:#829198;font-size:9.5px;line-height:1.45;margin-top:6px}
.text-estimate-actions{margin-top:20px}


/* v7.8 estimate-linked appointment scheduling */
.public-scheduling-section{margin-top:24px;padding-top:22px;border-top:1px solid #e2e8eb}
.public-scheduling-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}
.public-scheduling-heading span{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#819199;margin-bottom:4px}
.public-scheduling-heading h2{margin:0 0 5px;font-size:18px;color:#315e72}
.public-scheduling-heading p{margin:0;max-width:650px;color:#71818a;font-size:11px;line-height:1.55}
.public-visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.public-visit-card{border:1px solid #dfe7ea;background:#f8fafb;border-radius:8px;padding:12px 13px}
.public-visit-card strong{display:block;color:#344f5b;font-size:11px;margin-bottom:3px}
.public-visit-card span{display:block;color:#2f7895;font-size:13px;font-weight:800;margin-bottom:4px}
.public-visit-card small{display:block;color:#75858d;font-size:9.5px;line-height:1.4}
.public-schedule-shell{max-width:880px}
.public-schedule-intro{margin:2px 0 18px}
.public-schedule-intro>p{color:#5f727c;line-height:1.6}
.schedule-visit-reference{margin-bottom:20px}
.public-schedule-form{margin-top:20px;padding-top:20px;border-top:1px solid #e6ecee}
.public-schedule-actions{margin-top:20px}
.public-schedule-success{text-align:center;padding:42px 36px}
.success-mark{width:54px;height:54px;border-radius:50%;margin:0 auto 15px;display:flex;align-items:center;justify-content:center;background:#edf7f1;color:#317154;font-size:25px;font-weight:800}
.public-schedule-success h1{margin:0 0 8px;color:#315e72}
.public-schedule-success>p{margin:0 auto 24px;max-width:580px;color:#687a83;line-height:1.6}
.appointment-confirmation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left;margin:0 auto 22px}
.appointment-confirmation-grid>div{border:1px solid #dfe7ea;background:#f8fafb;border-radius:8px;padding:13px}
.appointment-confirmation-grid span{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:#849198;margin-bottom:5px}
.appointment-confirmation-grid strong{font-size:11px;color:#3d525c}
.appointment-filter{max-width:440px}
.appointment-filter select{max-width:260px}
.appointment-status-form{display:flex;align-items:center;gap:6px;min-width:210px}
.appointment-status-form select{min-width:125px;font-size:9.5px}
.status-requested{background:#fff6e7;color:#8a5b14}
.status-confirmed{background:#edf6f0;color:#327054}
.status-cancelled{background:#f2f2f3;color:#6f7378}
.status-failed{background:#fff0f0;color:#9a3636}
.appointment-minutes-cell input{width:72px}
button[disabled].btn{opacity:.5;cursor:not-allowed;filter:none!important}
@media(max-width:760px){
  .public-scheduling-heading{flex-direction:column}
  .public-visit-grid{grid-template-columns:1fr}
  .appointment-confirmation-grid{grid-template-columns:1fr}
}


/* v7.8.1 estimate editor stability + dashboard density */
.estimate-editor .treatment-table{min-width:1040px}
.estimate-editor .treatment-table input{min-width:78px}
.estimate-editor .treatment-table input.procedure-description{min-width:220px}
.estimate-editor .treatment-table .insurance-amount{
  background:#fff!important;
  color:#344a54!important;
  opacity:1!important;
  cursor:text!important;
}
.estimate-editor .treatment-table .appointment-minutes{min-width:72px;max-width:82px}
.estimate-editor .row-remove{
  width:auto!important;
  min-width:54px;
  height:28px;
  padding:0 8px;
  border-radius:6px;
  border:1px solid #e3c5c5;
  background:#fff7f7;
  color:#963b3b;
  font-size:10px;
  font-weight:750;
}
.estimate-editor .row-remove:hover{background:#ffeded}
.treatment-empty-row td{text-align:center;color:#829096;padding:20px!important;background:#fafcfc}
.treatment-form-errors{margin-bottom:14px}
.treatment-form-errors ul{margin:4px 0 0;padding-left:18px}

/* Keep the customer dashboard useful above the fold. */
.analytics-dashboard .metric-grid{margin-bottom:16px}
.analytics-dashboard>.card{margin-bottom:18px}
.analytics-dashboard .analytics-panels{margin-top:0;margin-bottom:18px}
.analytics-dashboard .reduced-charts{margin-top:0}
.analytics-dashboard .morris-chart{height:240px;min-height:240px}
.analytics-dashboard .donut-chart{height:210px;min-height:210px}
.analytics-dashboard .chart-empty{height:88px;min-height:88px}
.analytics-dashboard .dashboard-filter-card{margin-bottom:16px}
.analytics-dashboard .page-header{margin-bottom:18px}

.tenant-public-contact{display:flex;align-items:center;color:#60747d;font-size:12px;font-weight:650}

/* v7.8.2 treatment line delete + insurance workspace */
.estimate-editor .row-remove{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid #e1b4b4!important;
  background:#fff4f4!important;
  color:#b52f2f!important;
}
.estimate-editor .row-remove svg{width:15px;height:15px;display:block}
.estimate-editor .row-remove:hover{background:#ffe6e6!important;color:#941f1f!important;border-color:#d99191!important}
.estimate-insurance-summary{margin-top:18px;padding:15px 16px;border:1px solid #dce6e9;background:#f8fbfc;border-radius:8px}
.insurance-summary-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}
.insurance-summary-heading strong{font-size:13px;color:#345765}
.insurance-summary-heading span{font-size:10px;color:#74858c}
.insurance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.insurance-summary-grid>div{background:#fff;border:1px solid #e2e9eb;border-radius:7px;padding:10px}
.insurance-summary-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#7b8a91;font-weight:750;margin-bottom:4px}
.insurance-summary-grid strong{font-size:14px;color:#36545f}
.estimate-insurance-summary>small{display:block;margin-top:9px;color:#7b898f}
.insurance-table td{vertical-align:middle}
.insurance-key-field{background:#f8fbfc;border:1px solid #e0e8eb;border-radius:8px;padding:12px}
.insurance-benefit-heading{margin-bottom:15px}
.insurance-benefit-heading h2{margin:0 0 4px}
.insurance-benefit-heading p{margin:0;color:var(--muted);font-size:12px}
.patient-insurance-card{border:1px solid #e1e8ea;border-radius:8px;padding:12px 13px;margin-top:9px;background:#fbfcfc}
.patient-insurance-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.patient-insurance-title strong,.patient-insurance-title span{display:block}
.patient-insurance-title span{font-size:10px;color:var(--muted);margin-top:2px}
.patient-insurance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 7px}
.patient-insurance-metrics>div{background:#fff;border:1px solid #e5ebed;border-radius:6px;padding:8px}
.patient-insurance-metrics span{display:block;font-size:8.5px;text-transform:uppercase;color:#7d8b91;font-weight:750}
.patient-insurance-metrics strong{display:block;font-size:12px;margin-top:3px}
.patient-insurance-card>small{color:var(--muted)}
@media(max-width:800px){
  .insurance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .patient-insurance-metrics{grid-template-columns:1fr}
}


/* v7.8.3 QR/mobile patient signature */
.signature-page{max-width:1180px}
.signature-method-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.35fr);gap:18px;align-items:start}
.signature-method-heading{margin-bottom:16px}
.signature-method-heading h2{margin:2px 0 5px;color:#345b6d}
.signature-method-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.signature-mobile-card{text-align:center}
.signature-qr-wrap{display:flex;justify-content:center;padding:8px}
.signature-qr-wrap img{display:block;width:230px;height:230px;max-width:100%;border:1px solid #dce5e8;border-radius:10px;background:#fff;padding:8px}
.signature-qr-instructions strong,.signature-qr-instructions span{display:block}
.signature-qr-instructions strong{font-size:14px;color:#355968;margin-top:6px}
.signature-qr-instructions span{font-size:11px;color:#78878d;margin-top:4px;line-height:1.5}
.signature-link-details{margin-top:13px;text-align:left}
.signature-link-details summary{cursor:pointer;color:#56727f;font-size:10px;font-weight:750}
.signature-link-box{margin-top:7px;padding:8px;border:1px solid #e0e7e9;background:#f8fafb;border-radius:6px;font-size:9px;word-break:break-all;color:#64767e}
.signature-waiting{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;color:#627780;font-size:11px}
.signature-waiting-dot{width:8px;height:8px;border-radius:50%;background:#6e9bae;animation:signaturePulse 1.3s infinite}
.signature-complete-inline{margin-top:16px;padding:10px;border-radius:7px;background:#edf7f1;color:#327054;font-weight:750;font-size:11px}
.signature-complete-state{padding:24px 10px}
.signature-complete-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;background:#edf7f1;color:#347254;font-size:23px;font-weight:800}
.signature-complete-state strong,.signature-complete-state span{display:block}
.signature-complete-state span{margin-top:5px;color:var(--muted);font-size:11px}
.signature-save-actions{margin-top:14px}
.signature-preview-qr{display:flex;align-items:center;gap:17px;padding:12px 14px;border:1px solid #dfe7e9;background:#f9fbfb;border-radius:8px}
.signature-preview-qr img{width:112px;height:112px;background:#fff;padding:5px;border:1px solid #e1e7e9;border-radius:7px;flex:none}
.signature-preview-qr strong,.signature-preview-qr span,.signature-preview-qr a{display:block}
.signature-preview-qr strong{color:#365967;font-size:13px}
.signature-preview-qr span{color:#77868c;font-size:11px;line-height:1.5;margin:4px 0}
.signature-preview-qr a{font-size:10px;font-weight:750}

.public-sign-section{margin-top:24px;padding-top:22px;border-top:1px solid #e2e8eb}
.mobile-sign-shell{max-width:720px}
.mobile-sign-card{padding:24px}
.mobile-sign-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}
.mobile-sign-summary>div{border:1px solid #e0e7e9;background:#f8fafb;border-radius:8px;padding:11px}
.mobile-sign-summary span{display:block;font-size:9px;text-transform:uppercase;color:#7b8a91;font-weight:800;margin-bottom:3px}
.mobile-sign-summary strong{display:block;color:#365664;font-size:13px}
.mobile-sign-instruction{color:#60737c;font-size:12px;line-height:1.6;margin:17px 0}
.mobile-signature-pad-wrap{touch-action:none;overscroll-behavior:contain}
.mobile-signature-pad-wrap canvas{touch-action:none;width:100%;height:230px}
.mobile-sign-authorization{display:flex;align-items:flex-start;gap:10px;margin:17px 0;padding:12px;border-radius:8px;background:#f8fafb;border:1px solid #e0e7e9;color:#566c76;font-size:11px;line-height:1.5}
.mobile-sign-authorization input{margin-top:2px;flex:none}
.mobile-sign-submit{min-height:46px;font-size:13px}
.mobile-sign-back{display:block;text-align:center;margin-top:16px;color:#667a83;font-size:11px}
.mobile-sign-state{text-align:center;padding:24px 8px}
.mobile-sign-state h2{color:#345b6d}
.mobile-sign-state p{color:#677b84;line-height:1.6}
@keyframes signaturePulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
@media(max-width:820px){
  .signature-method-grid{grid-template-columns:1fr}
  .signature-mobile-card{order:0}
  .signature-capture-card{order:1}
}
@media(max-width:600px){
  .mobile-sign-card{padding:18px 15px}
  .mobile-sign-summary{grid-template-columns:1fr}
  .mobile-signature-pad-wrap canvas{height:260px}
  .signature-preview-qr{align-items:flex-start}
  .signature-preview-qr img{width:96px;height:96px}
}


/* v7.8.4 signature delivery choices */
.signature-delivery-card{margin-bottom:18px}
.signature-delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.signature-delivery-option{border:1px solid #dfe7e9;background:#fbfcfc;border-radius:10px;padding:16px;min-height:100%}
.signature-delivery-option:target{outline:2px solid var(--tenant-accent,#2d6964);outline-offset:2px}
.signature-delivery-option h3{margin:8px 0 5px;color:#365866;font-size:15px}
.signature-delivery-option>p{margin:0 0 13px;color:#74858c;font-size:11px;line-height:1.5}
.signature-delivery-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#eef5f7;color:#35697d;font-size:11px;font-weight:850;letter-spacing:.02em}
.signature-qr-wrap.compact img{width:190px;height:190px}
.signature-delivery-form{margin-top:11px}
.signature-delivery-form .field{margin-bottom:11px}
.signature-delivery-form textarea{min-height:92px}
.signature-email-preview{padding:10px;border:1px solid #e2e8ea;background:#fff;border-radius:7px;margin-bottom:11px}
.signature-email-preview span,.signature-email-preview strong,.signature-email-preview small{display:block}
.signature-email-preview span{font-size:8.5px;text-transform:uppercase;color:#7b8a91;font-weight:800}
.signature-email-preview strong{margin-top:3px;font-size:11px;color:#3e5d69}
.signature-email-preview small{margin-top:4px;color:#7a888e;line-height:1.45}
.signature-global-waiting{margin-top:17px;padding-top:13px;border-top:1px solid #e2e8ea}
.signature-complete-banner{display:flex;align-items:center;gap:13px}
.signature-complete-banner .signature-complete-icon{margin:0;flex:none}
.signature-complete-banner strong,.signature-complete-banner span{display:block}
.signature-complete-banner span{margin-top:3px;color:var(--muted);font-size:11px}
.signature-delivery-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:13px}
.signature-shortcut{display:block;text-decoration:none;border:1px solid #dfe7e9;background:#f9fbfb;border-radius:8px;padding:10px 11px}
.signature-shortcut:hover{background:#f1f7f9;border-color:#c9dce3}
.signature-shortcut strong,.signature-shortcut span{display:block}
.signature-shortcut strong{font-size:11px;color:#365d6c}
.signature-shortcut span{font-size:9px;color:#7b898f;margin-top:2px}
@media(max-width:1000px){
  .signature-delivery-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .signature-delivery-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v7.8.5 layout selector */
.layout-choice-note{margin:16px 0;padding:13px 14px;border:1px solid #dfe7e9;background:#f8fafb;border-radius:8px}
.layout-choice-note strong,.layout-choice-note span{display:block}
.layout-choice-note strong{font-size:12px;color:#385965;margin-bottom:7px}
.layout-choice-note span{font-size:10px;color:#718087;margin-top:4px;line-height:1.5}


/* v7.8.5 choose-one signature method */
.signature-method-picker-card{margin-bottom:18px}
.signature-picker-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.signature-method-button{border:1px solid #dce5e8;background:#fff;border-radius:9px;padding:15px 12px;cursor:pointer;text-align:left;transition:.15s ease;color:#455f69}
.signature-method-button:hover{border-color:#bdd2da;background:#f8fbfc;transform:translateY(-1px)}
.signature-method-button.selected{border-color:var(--tenant-accent,#2d6964);box-shadow:0 0 0 2px rgba(42,124,156,.10);background:#f7fbfc}
.signature-method-button-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#edf4f6;color:#35687a;font-size:10px;font-weight:850;margin-bottom:8px}
.signature-method-button strong,.signature-method-button small{display:block}
.signature-method-button strong{font-size:12px}
.signature-method-button small{font-size:9px;color:#829096;margin-top:2px}
.signature-selected-panel{margin-bottom:18px;scroll-margin-top:92px}
.signature-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.signature-panel-header h2{margin:2px 0 5px;color:#365b69}
.signature-panel-header p{margin:0;color:#7b8a90;font-size:11px}
.signature-qr-focused{display:flex;align-items:center;justify-content:center;gap:24px;padding:18px;border:1px solid #e0e8ea;background:#f9fbfb;border-radius:9px}
.signature-qr-focused img{width:245px;height:245px;padding:8px;background:#fff;border:1px solid #dce5e8;border-radius:9px}
.signature-qr-focused strong,.signature-qr-focused span{display:block}
.signature-qr-focused strong{font-size:14px;color:#365967}
.signature-qr-focused span{font-size:10px;color:#79888e;line-height:1.5;margin-top:5px;max-width:270px}
.signature-authorization-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid #e1e8ea;background:#f9fbfb;border-radius:8px}
.signature-authorization-choice strong,.signature-authorization-choice span{display:block}
.signature-authorization-choice strong{font-size:12px;color:#385b69}
.signature-authorization-choice span{font-size:10px;color:#7d8b91;margin-top:3px}
@media(max-width:850px){
  .signature-picker-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signature-panel-header{display:block}.signature-panel-header .btn{margin-top:10px}
  .signature-qr-focused{flex-direction:column;text-align:center}
}
@media(max-width:520px){
  .signature-picker-buttons{grid-template-columns:1fr}
  .signature-authorization-choice{display:block}.signature-authorization-choice .btn{margin-top:10px;width:100%}
}

/* v7.8.6 dashboard charts - no Morris/Raphael dependency */
.native-line-svg{width:100%;height:220px;display:block;overflow:visible}
.native-chart-grid{stroke:#e8edef;stroke-width:1}
.native-chart-axis{fill:#8a989e;font-size:8px;font-family:Inter,Segoe UI,Arial,sans-serif}
.native-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.native-line.presented{stroke:#3f7f95}.native-line.accepted{stroke:#78a88a}
.native-point.presented{fill:#3f7f95}.native-point.accepted{fill:#78a88a}
.native-chart-key{display:flex;justify-content:center;gap:20px;margin-top:3px;font-size:9px;color:#718087}
.native-chart-key span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.native-chart-key .presented:before{background:#3f7f95}.native-chart-key .accepted:before{background:#78a88a}
.native-donut-wrap{height:210px;display:flex;align-items:center;justify-content:center}
.native-donut{width:168px;height:168px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}
.native-donut:after{content:"";position:absolute;width:106px;height:106px;border-radius:50%;background:#fff}
.native-donut>div{position:relative;z-index:2;text-align:center}.native-donut strong,.native-donut span{display:block}.native-donut strong{font-size:26px;color:#365864}.native-donut span{font-size:8px;text-transform:uppercase;color:#87959b;margin-top:2px}


/* v7.8.8 landing contact visibility controls */
.landing-contact-toggle-grid{margin-top:12px}
.landing-visibility-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 16px;
  border:1px solid #dfe7e9;
  background:#f9fbfb;
  border-radius:8px;
}
.landing-visibility-option strong,
.landing-visibility-option span{display:block}
.landing-visibility-option strong{font-size:11px;color:#385a67}
.landing-visibility-option span{font-size:9px;color:#7b898f;margin-top:3px;line-height:1.45}
.landing-visibility-option input[type="checkbox"]{width:18px;height:18px;flex:none}


/* v7.8.9 platform demo controls */
.platform-demo-control .section-heading{align-items:center}
.platform-demo-status-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.platform-demo-status-actions form{margin:0}


/* v7.9.0 platform site activity audit */
.audit-agent{
  max-width:300px;
  white-space:normal;
  word-break:break-word;
  font-size:9px;
  line-height:1.45;
  color:#697980;
}
.audit-pagination{
  padding-top:16px;
  justify-content:flex-end;
}
.audit-pagination>span{
  font-size:10px;
  color:#6d7b81;
  padding:8px 5px;
}

.audit-session{max-width:150px;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;color:#66777e}


/* v7.9.1 visit grouping and estimate comparison */
.visit-editor-actions{display:flex;gap:10px;flex-wrap:wrap}
.visit-preview-stack{display:flex;flex-direction:column;gap:18px}
.visit-preview-group{border:1px solid #dce6e9;border-radius:14px;overflow:hidden;background:#fff}
.visit-preview-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 16px;background:#f1f7f8}
.visit-preview-heading>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.visit-preview-heading span{font-size:10px;color:#6b7b82}
.visit-preview-heading strong{color:#284a58}
.visit-preview-subtotal{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;padding:10px 14px;background:#f8fbfc;font-size:10px}
.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:22px;align-items:start}
.comparison-card{padding:22px}
.comparison-card-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.comparison-card-header h2{margin:6px 0 0}
.comparison-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e7f1f3;color:#356f82;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.comparison-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.comparison-summary>div{padding:12px;border-radius:10px;background:#f7fafb;display:flex;flex-direction:column;gap:5px}
.comparison-summary span{font-size:9px;color:#718087}
.comparison-summary strong{font-size:16px}
.comparison-summary .grand{background:#eaf3f5}
.comparison-visits{display:flex;flex-direction:column;gap:14px}
.comparison-visit{border:1px solid #e0e8eb;border-radius:11px;overflow:hidden}
.comparison-visit-heading{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#f3f7f8;font-size:10px}
.comparison-line{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-top:1px solid #edf1f2;font-size:10px}
.inline-form{display:inline-block;margin:0}
.dentura-login-logo img{max-width:260px;max-height:96px;width:auto;height:auto}
@media(max-width:700px){
  .visit-preview-heading{align-items:flex-start;flex-direction:column}
  .comparison-grid{grid-template-columns:1fr}
}

.public-visit-heading td{background:#eef5f7!important;color:#356f82;font-size:10px}

.treatment-table tbody tr.visit-group-start:not(:first-child) td{border-top:3px solid #b7ccd4}
.treatment-table tbody tr.visit-group-start td:first-child{background:#eef5f7}
.treatment-table .visit-number{font-weight:800;color:#356f82}


/* v7.9.5 accessibility fallback */
body:not(.dm-marketing){color:#111}
body:not(.dm-marketing) p,
body:not(.dm-marketing) td,
body:not(.dm-marketing) .muted{color:#111}

/* v7.9.7 patient data minimization */
.privacy-note{margin-top:16px;line-height:1.55;max-width:680px}

/* v7.10.0 patient education */
.patient-education{margin-top:20px}
.patient-education-item{padding:14px 16px;margin-top:10px;border:1px solid #d9dcbd;border-radius:12px;background:#fbfcf8}
.patient-education-item h3{margin:0 0 5px;color:#1f5135;font-size:16px}
.patient-education-item p{margin:0;line-height:1.55;color:#111}


/* v7.10.2 universal staff table pagination */
.table-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 2px 2px}
.table-pager-info{font-size:11px;color:#56666d}
.table-pager-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.table-page-size{display:flex;align-items:center;gap:6px;font-size:11px;color:#56666d}
.table-page-size select{min-width:72px;padding:6px 26px 6px 8px;font-size:12px}
.table-page-buttons{display:flex;align-items:center;gap:5px}
.table-page-buttons button{min-width:32px;height:32px;border:1px solid #d8e0dd;background:#fff;border-radius:7px;cursor:pointer;font-size:11px}
.table-page-buttons button:hover:not(:disabled){border-color:var(--tenant-accent,#2d6964);color:var(--tenant-accent,#2d6964)}
.table-page-buttons button.active{background:var(--tenant-accent,#2d6964);border-color:var(--tenant-accent,#2d6964);color:#fff}
.table-page-buttons button:disabled{opacity:.4;cursor:default}

.procedure-illustration-link{font-weight:800;color:var(--tenant-accent,#2d6964);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.procedure-illustration-link:hover{opacity:.78}

.illustration-form-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 4px;padding:14px 16px;border:1px solid #d9dcbd;border-radius:12px;background:#fbfcf8}.illustration-form-preview img{width:210px;max-height:130px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid #e3e6da}.illustration-form-preview[hidden]{display:none!important}@media(max-width:720px){.illustration-form-preview{align-items:flex-start;flex-direction:column}.illustration-form-preview img{width:100%}}

/* Dentura Favorite Greens palette */
:root{
  --dentura-olive:#65695C;
  --dentura-cream:#E1E2CF;
  --dentura-sage:#D9DCBD;
  --dentura-mist:#CAD8C5;
  --dentura-leaf:#ADC99B;
  --dentura-eucalyptus:#81A694;
  --dentura-teal:#2D6964;
  --dentura-forest:#1F5135;
  --dentura-deep-green:#2A4F42;
}

/* v7.10.5 security audit filters */
.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.filter-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#2a4f42}.filter-grid .actions{align-self:end}.audit-pagination{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}

/* v7.11 billing + presentation settings */
.billing-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;margin-bottom:18px}.billing-plan-name{font-size:1.45rem;font-weight:800;margin-top:10px}.billing-price{font-size:2rem;font-weight:800;margin:8px 0 18px}.billing-price small{font-size:.85rem;font-weight:600;color:#718079}.billing-facts{display:grid;gap:8px;margin:14px 0}.billing-facts>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #e6ece8}.billing-facts span{color:#73817b}.billing-plans{display:grid;gap:10px}.billing-plan-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e1e8e3;border-radius:10px;padding:14px}.billing-plan-row.current{border-color:var(--tenant-accent,#2d6964);background:var(--tenant-accent-soft,#e1e2cf)}.billing-plan-row>div:first-child{display:flex;flex-direction:column}.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #e6ece8}.setting-toggle input[type=checkbox]{width:22px;height:22px}.btn-sm{padding:7px 10px;font-size:.82rem}@media(max-width:900px){.billing-grid{grid-template-columns:1fr}}

/* v7.12 — Case Recovery polish and subscription packaging */
.case-recovery-page,.recovery-campaign-page{width:100%;max-width:none}
.case-recovery-header{display:flex;align-items:flex-start!important;justify-content:space-between;gap:20px}
.case-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px}
.case-kpi-card{min-width:0;min-height:132px;background:#fff;border:1px solid #e2e8df;border-radius:var(--tenant-radius,8px);box-shadow:0 2px 10px rgba(42,79,66,.06);padding:20px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.case-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tenant-accent,#2d6964)}
.case-kpi-card>span{font-size:11px;font-weight:700;color:#58655f;text-transform:uppercase;letter-spacing:.04em}
.case-kpi-card>strong{font-size:26px;line-height:1.1;color:#1d332b;margin:9px 0 7px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-kpi-card>small{font-size:11px;line-height:1.45;color:#748078}
.case-pipeline-card,.case-priority-card{margin-bottom:18px}
.case-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.case-section-heading h2{margin-bottom:4px}
.case-pipeline-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}
.case-pipeline-stage{min-width:0;min-height:116px;border:1px solid #e3e8e4;border-radius:9px;padding:15px;background:#fbfcfa;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.case-pipeline-stage:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#adc99b}
.case-stage-viewed:before{background:#81a694}.case-stage-considering:before{background:#2d6964}.case-stage-financing:before{background:#65695c}.case-stage-accepted:before,.case-stage-scheduled:before{background:#1f5135}
.case-stage-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.case-stage-name{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#516057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-stage-count{min-width:27px;height:27px;border-radius:50%;background:#eef3eb;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#2a4f42}
.case-pipeline-stage>strong{font-size:18px;color:#1f352c;margin-top:13px;font-variant-numeric:tabular-nums}
.case-pipeline-stage>small{font-size:10px;color:#78847c;margin-top:3px}
.case-list-count{font-size:11px;font-weight:700;color:#617067;background:#f1f5ef;border:1px solid #dfe7dc;border-radius:999px;padding:7px 11px;white-space:nowrap}
.case-table-wrap{border-radius:7px!important}
.case-recovery-table{width:100%;table-layout:auto}
.case-recovery-table th,.case-recovery-table td{vertical-align:middle;white-space:nowrap}
.case-recovery-table td:nth-child(2),.case-recovery-table th:nth-child(2){min-width:170px}
.case-priority-score{width:38px;height:30px;border-radius:7px;background:#edf3e9;color:#1f5135;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.case-stage-badge{text-transform:capitalize;min-width:78px;text-align:center;display:inline-block}
.case-action-col{width:72px}.case-empty-state{text-align:center!important;padding:35px!important;color:#6f7d74!important}
.recovery-stop-note{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:#f3f7ef;border:1px solid #dbe6d6;border-radius:8px;padding:13px 15px;margin-bottom:16px;font-size:11px;line-height:1.45}.recovery-stop-note strong{color:#1f5135;white-space:nowrap}.recovery-stop-note span{color:#55645b}
.campaign-step-number{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef3eb;color:#1f5135;font-weight:800}
.campaign-tags{display:flex;gap:6px;flex-wrap:wrap}.campaign-tags>span:not(.muted){display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf4ef;color:#2d6964;font-size:10px;font-weight:700}
.campaign-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.campaign-actions form{margin:0}.campaign-actions button{background:#fff;border:1px solid #dfe5e1;color:#5f6d65}
.recovery-step-form-card{padding:22px}.recovery-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.recovery-form-grid .form-group{margin:0}.recovery-form-grid .form-span-2{grid-column:1/-1}

/* Keep Material navigation typography identical on every feature page. */
.material-able-body .ma-nav a b{font-size:12.5px!important;line-height:1.25!important;font-weight:600!important}
.material-able-body .ma-submenu summary{font-size:12px!important;line-height:1.25!important}
.material-able-body .ma-submenu-links a b{font-size:11.5px!important;line-height:1.25!important}

/* Billing plan selector */
.subscription-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.subscription-plan-card{min-width:0;border:1px solid #dfe6e1;border-radius:11px;background:#fff;padding:20px;display:flex;flex-direction:column;position:relative;box-shadow:0 2px 9px rgba(42,79,66,.045)}
.subscription-plan-card.current{border:2px solid var(--tenant-accent,#2d6964);padding:19px;box-shadow:0 4px 14px rgba(45,105,100,.10)}
.subscription-plan-card.featured{background:linear-gradient(180deg,#ffffff 0%,#f7faf5 100%)}
.subscription-plan-badge{position:absolute;right:14px;top:14px;border-radius:999px;padding:5px 9px;background:#edf3e9;color:#1f5135;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.subscription-plan-card h3{font-size:18px;margin:0 0 6px;color:#20372d}.subscription-plan-summary{font-size:11px;color:#6c7971;min-height:34px;line-height:1.45}
.subscription-plan-price{font-size:28px;font-weight:800;color:#1f352c;margin:14px 0 15px;font-variant-numeric:tabular-nums}.subscription-plan-price small{font-size:11px;font-weight:600;color:#758078}
.subscription-feature-list{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:9px;flex:1}.subscription-feature-list li{font-size:11px;color:#4f5e55;display:flex;gap:8px;align-items:flex-start}.subscription-feature-list li:before{content:"✓";color:#1f5135;font-weight:900}.subscription-feature-list li.not-included{color:#9aa39e}.subscription-feature-list li.not-included:before{content:"—";color:#aab2ae}
.subscription-plan-action{margin-top:auto}.subscription-plan-action form,.integration-addon-actions form{margin:0}.subscription-plan-action .btn{width:100%;justify-content:center}
.integration-addon-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}.integration-addon-copy h2{margin:0 0 6px}.integration-addon-price{font-size:22px;font-weight:800;color:#1f352c;white-space:nowrap}.integration-addon-price small{font-size:11px;font-weight:600;color:#748078}.integration-addon-status{display:flex;align-items:center;gap:10px;margin-top:12px}.integration-addon-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:190px}.integration-addon-actions .btn{width:100%;justify-content:center}.subscription-note{font-size:10.5px;color:#758078;line-height:1.45;margin-top:7px}
.plan-capability-table td:first-child{font-weight:700}.plan-capability-table td{text-align:center}.plan-capability-table td:first-child,.plan-capability-table th:first-child{text-align:left}.capability-yes{font-weight:900;color:#1f5135}.capability-no{color:#a0aaa4}.capability-addon{font-size:10px;font-weight:800;color:#2d6964;background:#edf4ef;padding:4px 7px;border-radius:999px;white-space:nowrap}

@media(max-width:1180px){.case-pipeline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.case-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-plan-grid{grid-template-columns:1fr}.subscription-plan-summary{min-height:0}}
@media(max-width:760px){.case-recovery-header,.case-section-heading{flex-direction:column;align-items:stretch!important}.case-kpi-grid,.case-pipeline-grid{grid-template-columns:1fr}.case-kpi-card{min-height:112px}.recovery-form-grid{grid-template-columns:1fr}.recovery-form-grid .form-span-2{grid-column:auto}.recovery-stop-note,.integration-addon-card{grid-template-columns:1fr}.recovery-stop-note strong{white-space:normal}.integration-addon-actions{align-items:stretch;min-width:0}.case-recovery-table th,.case-recovery-table td{white-space:normal}}

/* v7.13.0 interactive workflow + security polish */
.session-timeout-warning{position:fixed;right:22px;bottom:22px;z-index:10050;width:min(360px,calc(100vw - 32px));padding:15px 17px;border-radius:12px;background:#fffaf0;border:1px solid #ead8a8;box-shadow:0 12px 36px rgba(31,52,42,.16);display:none;color:#5c4b22}.session-timeout-warning.show{display:block}.session-timeout-warning.expired{background:#fff2f2;border-color:#e6c3c3;color:#7b3131}.session-timeout-warning strong,.session-timeout-warning span,.session-timeout-warning small{display:block}.session-timeout-warning span{margin-top:4px;font-weight:700}.session-timeout-warning small{margin-top:4px;color:inherit;opacity:.78}

.visit-planner{margin:18px 0 22px;padding:18px;border:1px solid #dfe8e2;border-radius:14px;background:linear-gradient(180deg,#fbfdfb 0%,#f5f9f6 100%)}
.visit-planner-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}.visit-planner-heading h3{margin:2px 0 4px;font-size:17px;color:#243b31}.visit-planner-heading p{margin:0;color:#708078;font-size:12px;max-width:760px}.visit-planner-actions{display:flex;gap:8px;flex-shrink:0}
.visit-planner-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}.visit-planner-column{min-height:150px;border:1px solid #dce5de;border-radius:12px;background:#fff;overflow:hidden;scroll-snap-align:start;transition:border-color .16s,box-shadow .16s,transform .16s}.visit-planner-column.drag-over{border-color:var(--tenant-accent,#2d6964);box-shadow:0 0 0 3px rgba(45,105,100,.12);transform:translateY(-1px)}.visit-planner-column>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border-bottom:1px solid #e5ebe7;background:#f7faf8}.visit-planner-column>header span{display:block;font-weight:800;color:#2b4639}.visit-planner-column>header small{display:block;margin-top:2px;color:#79877f;font-size:10.5px}.visit-planner-drop-hint{font-size:9px!important;text-transform:uppercase;letter-spacing:.06em;color:#8b9991!important}.visit-planner-dropzone{min-height:100px;padding:10px;display:flex;flex-direction:column;gap:9px}
.visit-planner-treatment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 10px;border:1px solid #e2e8e3;border-radius:10px;background:#fff;box-shadow:0 2px 7px rgba(42,79,66,.05);cursor:grab;user-select:none}.visit-planner-treatment:hover{border-color:#bfd1c5;box-shadow:0 5px 14px rgba(42,79,66,.09)}.visit-planner-treatment.dragging{opacity:.52;cursor:grabbing}.visit-planner-card-main{min-width:0}.visit-planner-card-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;color:#263b32}.visit-planner-card-main span{display:block;margin-top:3px;font-size:10.5px;color:#7b8981}.visit-planner-card-side{text-align:right}.visit-planner-card-side>strong{font-size:11.5px;color:#2a4f42}.visit-planner-move-buttons{display:flex;gap:4px;justify-content:flex-end;margin-top:5px}.visit-planner-move-buttons button{width:25px;height:23px;border:1px solid #dce5df;border-radius:6px;background:#f8faf8;color:#496155;cursor:pointer;line-height:1}.visit-planner-move-buttons button:hover{background:#edf4ef;border-color:#bfd1c5}.visit-planner-status{min-height:18px;margin-top:7px;font-size:11px;color:#3f6f58;opacity:0;transition:opacity .15s}.visit-planner-status.show{opacity:1}.visit-planner-empty{grid-column:1/-1;padding:22px;text-align:center;border:1px dashed #cfdcd3;border-radius:10px;color:#738078;background:#fff}

.case-pipeline-stage{appearance:none;text-align:left;font:inherit;cursor:pointer}.case-pipeline-stage:hover,.case-pipeline-stage.active{border-color:var(--tenant-accent,#2d6964);box-shadow:0 5px 16px rgba(42,79,66,.09)}.case-pipeline-stage.active{background:#f1f7f3}.case-live-indicator{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#4b765f}.case-live-indicator i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5b9873;box-shadow:0 0 0 4px rgba(91,152,115,.12)}
.case-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 14px}.case-filter-chips{display:flex;gap:7px;flex-wrap:wrap}.case-filter-chips button{border:1px solid #dce5df;background:#fff;border-radius:999px;padding:7px 10px;color:#5f6f67;font-size:10.5px;font-weight:750;cursor:pointer}.case-filter-chips button span{display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;margin-left:5px;padding:0 5px;border-radius:999px;background:#eef3ef;font-size:9px}.case-filter-chips button:hover,.case-filter-chips button.active{background:#edf5ef;border-color:#bdd0c2;color:#315d48}.case-search{display:flex;flex-direction:column;gap:4px;min-width:220px}.case-search span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#75827b}.case-search input{height:36px;border:1px solid #d7e0da;border-radius:8px;padding:0 10px;background:#fff}.case-recovery-table tr[hidden]{display:none!important}

@media(max-width:900px){.visit-planner-heading,.case-toolbar{flex-direction:column;align-items:stretch}.visit-planner-board{grid-auto-columns:minmax(230px,82vw)}.case-search{min-width:0;width:100%}}


/* v7.14.0 — React-inspired Dentura workspace polish */
:root{--rx-bg:#f6f8fb;--rx-card:#fff;--rx-border:#e5e9ef;--rx-text:#17212b;--rx-muted:#778391;--rx-blue:#255edb;--rx-blue-soft:#edf3ff;--rx-green:#1f5135;--rx-shadow:0 1px 3px rgba(20,32,45,.04),0 8px 24px rgba(20,32,45,.035)}
.material-able-body,.app-body{background:var(--tenant-page-bg,var(--rx-bg))!important;color:var(--rx-text)}
.ma-content,.app-content{padding:24px 28px!important}.ma-content>.container,.app-content>.container{max-width:1500px;margin:0 auto}
.ma-topbar{height:66px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px);border-bottom:1px solid var(--rx-border)!important}.ma-sidebar{box-shadow:4px 0 22px rgba(19,34,55,.10)!important}.ma-nav a{border-radius:7px!important;margin:2px 10px!important;padding:9px 12px!important}.ma-nav a:hover{transform:translateX(1px)}
.page-header h1,.workspace-header h1{letter-spacing:-.025em}.card{border-color:var(--rx-border)!important;box-shadow:var(--rx-shadow)!important;border-radius:12px!important}.btn{border-radius:7px!important;font-weight:700!important}.btn-primary{box-shadow:0 4px 10px rgba(37,94,219,.12)}
.analytics-dashboard .dashboard-header{margin-bottom:18px}.analytics-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.analytics-metric-grid .metric-card{min-height:112px;border-radius:10px!important;padding:17px!important}.analytics-metric-grid .metric-card span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.analytics-metric-grid .metric-card strong{font-size:25px!important;letter-spacing:-.03em}.dashboard-filter-card{padding:13px 16px!important}.analytics-panels{gap:14px!important}
.case-kpi-grid{gap:12px!important}.case-kpi-card{border-radius:10px!important;box-shadow:var(--rx-shadow)!important}.case-pipeline-card,.case-priority-card{border-radius:12px!important}.case-pipeline-stage{border-radius:9px!important;position:relative;overflow:hidden}.case-pipeline-stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#84a4e8}.case-stage-considering:after{background:#74af82}.case-stage-financing:after{background:#d3ab53}.case-stage-accepted:after{background:#6fa77d}.case-stage-scheduled:after{background:#d97b60}
.estimate-workspace{padding-bottom:48px}.workspace-header{background:#fff;border:1px solid var(--rx-border);border-radius:12px;box-shadow:var(--rx-shadow);margin-bottom:18px;overflow:hidden}.workspace-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:21px 23px 15px}.workspace-back{display:inline-block;font-size:10px;font-weight:800;color:#657181;text-decoration:none;margin-bottom:9px}.workspace-eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#8995a3;font-weight:800}.workspace-heading-line{display:flex;align-items:center;gap:10px}.workspace-heading-line h1{font-size:22px;margin:3px 0 2px}.workspace-title-row p{margin:4px 0 0;color:var(--rx-muted);font-size:11.5px}.workspace-actions{display:flex;align-items:center;gap:8px;padding-top:5px}.workspace-tabs{display:flex;align-items:center;gap:0;border-top:1px solid #eef1f4;padding:0 18px;overflow-x:auto}.workspace-tabs button{position:relative;border:0;background:transparent;padding:13px 15px 12px;color:#697583;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.workspace-tabs button:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px;background:transparent}.workspace-tabs button.active{color:var(--tenant-accent,#255edb)}.workspace-tabs button.active:after{background:var(--tenant-accent,#255edb)}.workspace-tabs button span{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f0f3f6;font-size:9px}.workspace-panel{display:none}.workspace-panel.active{display:block;animation:workspaceFade .16s ease}@keyframes workspaceFade{from{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:none}}
.workspace-summary-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr);gap:16px}.workspace-main-column,.workspace-side-column{display:flex;flex-direction:column;gap:16px}.workspace-card{padding:20px!important}.workspace-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 20px}.workspace-detail-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8a95a2;font-weight:800;margin-bottom:5px}.workspace-detail-grid strong{font-size:12px;color:#28333e}.workspace-visit-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.workspace-visit-chip{border:1px solid #e5eaf0;border-radius:9px;padding:12px;background:#fafbfd}.workspace-visit-chip span,.workspace-visit-chip strong,.workspace-visit-chip small{display:block}.workspace-visit-chip span{font-size:9px;color:#7e8a96;text-transform:uppercase;font-weight:800}.workspace-visit-chip strong{font-size:12px;margin:4px 0}.workspace-visit-chip small{font-size:10px;color:#788592}.financial-snapshot{padding:21px!important;background:linear-gradient(160deg,#fff 0%,#f8fbff 100%)!important}.snapshot-label{font-size:10px;color:#798692;font-weight:800}.snapshot-total{display:block;font-size:32px;letter-spacing:-.035em;margin:4px 0 16px;color:#172c22}.snapshot-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid #edf0f3;font-size:11px}.snapshot-row span{color:#798590}.snapshot-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.quick-actions-card{padding:13px!important}.quick-actions-card h3{font-size:11px;margin:2px 7px 8px}.quick-actions-card>a{display:grid;grid-template-columns:27px 1fr 14px;gap:9px;align-items:center;padding:10px 8px;border-radius:8px;text-decoration:none;color:#35414c}.quick-actions-card>a:hover{background:#f7f9fb}.quick-actions-card>a>span{width:27px;height:27px;border-radius:7px;background:#eef3fb;display:flex;align-items:center;justify-content:center;color:#4771bd}.quick-actions-card strong,.quick-actions-card small{display:block}.quick-actions-card strong{font-size:11px}.quick-actions-card small{font-size:9.5px;color:#8a95a0;margin-top:2px}.quick-actions-card b{color:#a2abb4}.workspace-planner-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;padding:2px 1px 10px}.workspace-planner-column{border:1px solid #e4e8ee;border-radius:10px;background:#fafbfd;min-height:340px}.workspace-planner-column>header{display:flex;justify-content:space-between;align-items:flex-start;padding:13px 14px;border-bottom:1px solid #e7ebef}.workspace-planner-column>header span{display:block;font-weight:800;font-size:12px}.workspace-planner-column>header small{display:block;font-size:9.5px;color:#8a95a0;margin-top:2px}.workspace-planner-column>header b{font-size:11px}.workspace-planner-cards{display:flex;flex-direction:column;gap:9px;padding:10px}.workspace-treatment-card{display:grid;grid-template-columns:1fr auto;gap:12px;background:#fff;border:1px solid #e3e8ed;border-radius:8px;padding:11px;box-shadow:0 2px 7px rgba(18,33,49,.04)}.workspace-treatment-card strong,.workspace-treatment-card span,.workspace-treatment-card small{display:block}.workspace-treatment-card strong{font-size:10px;color:#4770ba}.workspace-treatment-card span{font-size:11px;font-weight:700;margin-top:3px}.workspace-treatment-card small{font-size:9px;color:#89949f;margin-top:4px}.workspace-treatment-card>b{font-size:10.5px;white-space:nowrap}.workspace-two-column{display:grid;grid-template-columns:1.35fr .75fr;gap:16px}.payment-breakdown>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f3}.payment-breakdown span{color:#71808c;font-size:11px}.payment-breakdown strong{font-size:12px}.payment-breakdown .total{margin-top:5px;border-bottom:0;background:#f4f8f5;border-radius:8px;padding:14px}.payment-breakdown .total span,.payment-breakdown .total strong{font-weight:800;color:#244738}.workspace-coming-soon{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px}.workspace-feature-icon{width:44px;height:44px;border-radius:12px;background:#eef3ff;color:#3564c4;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800}.workspace-coming-soon h2{margin:12px 0 6px}.workspace-coming-soon p{max-width:360px;color:#74808b;font-size:11px;line-height:1.55}.workspace-coming-soon small{color:#9aa4ad}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.document-card{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:15px;border:1px solid #e4e9ee;border-radius:9px;text-decoration:none;color:#34404b;background:#fff}.document-card:hover{border-color:#bfcde4;box-shadow:0 5px 14px rgba(20,32,45,.05)}.document-icon{width:42px;height:42px;border-radius:9px;background:#eef3ff;color:#315fb7;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center}.document-card strong,.document-card small{display:block}.document-card strong{font-size:11.5px}.document-card small{font-size:9.5px;color:#8b95a0;margin-top:3px}.document-card>b{font-size:10px;color:#4770ba}.activity-timeline{position:relative;padding-left:5px}.activity-item{display:grid;grid-template-columns:12px 1fr auto;gap:11px;align-items:start;padding:12px 0;border-bottom:1px solid #edf0f3}.activity-item i{width:9px;height:9px;border-radius:50%;background:#7191d5;margin-top:3px;box-shadow:0 0 0 4px #edf3ff}.activity-item.success i{background:#5f9f75;box-shadow:0 0 0 4px #edf7f0}.activity-item strong,.activity-item span{display:block}.activity-item strong{font-size:11px}.activity-item span,.activity-item time{font-size:9.5px;color:#87929d}.workspace-empty{padding:28px;text-align:center;color:#7f8a94;border:1px dashed #d9e0e6;border-radius:9px}.workspace-empty.compact{padding:18px}.workspace-empty p{margin:0 0 12px}
@media(max-width:1200px){.workspace-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-summary-grid{grid-template-columns:1fr}.workspace-side-column{display:grid;grid-template-columns:1fr 1fr}.analytics-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){.ma-content,.app-content{padding:16px!important}.workspace-title-row{flex-direction:column}.workspace-actions{width:100%;flex-wrap:wrap}.workspace-side-column,.workspace-two-column{display:grid;grid-template-columns:1fr}.document-grid{grid-template-columns:1fr}.workspace-detail-grid{grid-template-columns:1fr 1fr}.workspace-tabs{padding:0 7px}.workspace-tabs button{padding:12px 10px}.analytics-metric-grid{grid-template-columns:1fr!important}}
@media(max-width:520px){.workspace-detail-grid{grid-template-columns:1fr}.snapshot-actions{grid-template-columns:1fr}.workspace-heading-line{align-items:flex-start;flex-direction:column}.workspace-side-column{display:flex}}

.material-able-body .ma-nav>a{display:flex!important;align-items:center!important;gap:10px!important}.ma-nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;color:inherit;font-size:14px}.ma-nav-icon svg{width:16px;height:16px;stroke:currentColor;fill:none}.ma-nav a b{min-width:0}
/* Estimate editor aligned with the v7.14 treatment workspace */
.estimate-editor>.page-header{background:#fff;border:1px solid var(--rx-border);border-radius:12px;box-shadow:var(--rx-shadow);padding:18px 20px;margin-bottom:16px}.estimate-editor>.page-header h1{font-size:21px;margin:2px 0}.estimate-editor .estimate-info-card,.estimate-editor .treatment-entry-card{border-radius:12px!important}.estimate-editor .treatment-entry-card{padding:20px!important}.estimate-editor .visit-planner{background:#f8fafc;border:1px solid #e3e8ee;border-radius:11px}.estimate-editor .visit-planner-column{background:#fbfcfd;border-color:#e3e8ed}.estimate-editor .visit-planner-column>header{background:#f6f8fa}.estimate-editor .visit-planner-treatment{border-radius:8px;border-color:#e3e8ed;box-shadow:0 2px 7px rgba(18,33,49,.04)}.estimate-editor .live-totals{border-radius:10px;overflow:hidden;border:1px solid #e6eaee}.estimate-editor .treatment-table{border-collapse:separate;border-spacing:0}.estimate-editor .treatment-table thead th{background:#f8fafc}.estimate-editor .treatment-table tbody tr:hover td{background:#fbfcfe}


/* Dentura v7.15 — Material UI inspired coordinator workspace */
:root{
  --mui-primary:#1967d2;
  --mui-primary-dark:#0b3b82;
  --mui-primary-soft:#eef5ff;
  --mui-bg:#f7f9fc;
  --mui-surface:#ffffff;
  --mui-border:#e4e9f0;
  --mui-text:#1f2937;
  --mui-muted:#64748b;
  --mui-shadow:0 1px 2px rgba(15,23,42,.05),0 3px 10px rgba(15,23,42,.04);
  --mui-shadow-hover:0 4px 16px rgba(15,23,42,.10);
}
.material-able-body{font-family:Roboto,"Segoe UI",Arial,sans-serif;background:var(--mui-bg);color:var(--mui-text);font-size:13px}
.material-able-body .ma-sidebar{width:236px;background:linear-gradient(180deg,var(--tenant-sidebar,#0b3b82) 0%,color-mix(in srgb,var(--tenant-sidebar,#0b3b82) 82%,#071a36) 100%);box-shadow:2px 0 12px rgba(15,23,42,.10)}
.material-able-body .ma-brand-row{min-height:66px;border-bottom:1px solid rgba(255,255,255,.10);padding:0 14px}
.material-able-body .ma-brand-copy strong{font-size:14px;letter-spacing:.01em}.material-able-body .ma-brand-copy small{opacity:.72;font-size:9.5px}
.material-able-body .ma-nav-caption{font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.58;padding:18px 17px 7px}
.material-able-body .ma-nav{padding:0 10px}.material-able-body .ma-nav>a,.material-able-body .ma-submenu summary{min-height:38px;border-radius:6px;margin:2px 0;padding:0 10px;color:rgba(255,255,255,.84);font-size:11.5px;font-weight:500;transition:background .14s ease,color .14s ease,transform .14s ease}
.material-able-body .ma-nav>a:hover,.material-able-body .ma-submenu summary:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(1px)}
.material-able-body .ma-nav>a.is-current{background:rgba(45,126,247,.88);color:#fff;box-shadow:0 3px 9px rgba(0,0,0,.18)}
.material-able-body .ma-nav-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;opacity:.94}.material-able-body .ma-nav-icon svg{width:15px;height:15px}
.material-able-body .ma-main{margin-left:236px}.material-able-body .ma-topbar{height:66px;background:#fff;border-bottom:1px solid var(--mui-border);box-shadow:0 1px 2px rgba(15,23,42,.03);padding:0 22px;position:sticky;top:0;z-index:40}
.material-able-body .ma-breadcrumb-title strong{font-size:13px}.material-able-body .ma-breadcrumb-title small{font-size:9.5px;color:#8994a4}.material-able-body .ma-search{height:35px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc}.material-able-body .ma-search:focus-within{border-color:#8ab4f8;box-shadow:0 0 0 3px rgba(25,103,210,.10)}
.material-able-body .ma-content{padding:22px 24px 44px;max-width:1600px;margin:0 auto;width:100%}.material-able-body .container{max-width:1450px}
.material-able-body .card,.material-able-body .workspace-header,.material-able-body .case-kpi-card{background:var(--mui-surface);border:1px solid var(--mui-border);border-radius:8px;box-shadow:var(--mui-shadow)}
.material-able-body .card{padding:18px}.material-able-body .card:hover{border-color:#d8e0e9}
.material-able-body .page-header h1,.material-able-body .workspace-heading-line h1{font-weight:600;color:#172033;letter-spacing:-.018em}.material-able-body .page-header p,.material-able-body .section-heading p{color:var(--mui-muted)}
.material-able-body .btn{min-height:34px;border-radius:7px;font-size:11px;font-weight:600;padding:7px 13px;box-shadow:none}.material-able-body .btn-primary{background:var(--mui-primary);border-color:var(--mui-primary);color:#fff}.material-able-body .btn-primary:hover{background:#1557b0;border-color:#1557b0;box-shadow:0 2px 7px rgba(25,103,210,.22)}
.material-able-body .btn-outline{background:#fff;border:1px solid #cdd6e1;color:#334155}.material-able-body .btn-outline:hover{background:#f8fafc;border-color:#aebdcd}
.material-able-body table{font-size:11px}.material-able-body table thead th{height:38px;background:#fafbfc;color:#697386;font-weight:600;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--mui-border)}.material-able-body table tbody td{height:42px;border-bottom:1px solid #edf1f5}.material-able-body table tbody tr:hover{background:#f9fbfe}
.material-able-body .workspace-title-row{padding:16px 20px 12px}.material-able-body .workspace-header{border-radius:8px}.material-able-body .workspace-tabs{border-top:1px solid var(--mui-border);padding:0 17px}.material-able-body .workspace-tabs button{padding:13px 14px 11px;font-size:10.5px;font-weight:500;color:#596579}.material-able-body .workspace-tabs button.active{color:var(--mui-primary);font-weight:600}.material-able-body .workspace-tabs button.active:after{height:2px;background:var(--mui-primary);left:10px;right:10px}
.material-able-body .workspace-summary-grid{gap:16px}.material-able-body .workspace-detail-grid>div{background:#fbfcfe;border:1px solid #edf1f5;border-radius:7px;padding:11px 12px}.material-able-body .workspace-detail-grid span{color:#7a8797;font-size:9px}.material-able-body .workspace-detail-grid strong{font-size:11.5px}
.material-able-body .financial-snapshot{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border-color:#dce8fa}.material-able-body .snapshot-total{color:var(--mui-primary)}
.material-able-body .workspace-visit-chip,.material-able-body .workspace-planner-column{border-radius:8px;border:1px solid #dfe6ee;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.material-able-body .workspace-planner-column:nth-child(3n+1){background:linear-gradient(180deg,#f7fbff,#fff)}.material-able-body .workspace-planner-column:nth-child(3n+2){background:linear-gradient(180deg,#f8fcf8,#fff)}.material-able-body .workspace-planner-column:nth-child(3n+3){background:linear-gradient(180deg,#fcf9ff,#fff)}
.material-able-body .workspace-treatment-card{border-radius:6px;border:1px solid #dfe6ee;box-shadow:0 1px 3px rgba(15,23,42,.04)}
.material-able-body .case-kpi-grid{gap:12px}.material-able-body .case-kpi-card{padding:15px 16px}.material-able-body .case-kpi-card strong{font-size:20px;color:#172033}.material-able-body .case-pipeline-grid{gap:8px}.material-able-body .case-pipeline-stage{border-radius:7px;border:1px solid #dfe6ee;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03);min-height:88px}.material-able-body .case-pipeline-stage:hover,.material-able-body .case-pipeline-stage.active{border-color:#8ab4f8;box-shadow:0 0 0 2px rgba(25,103,210,.08),var(--mui-shadow-hover)}
.material-able-body .visit-planner{border:1px solid var(--mui-border);border-radius:8px;background:#fbfcfe;padding:16px}.material-able-body .visit-planner-heading h3{font-size:15px;font-weight:600}.material-able-body .visit-planner-column{border-radius:8px;border:1px solid #dfe6ee;box-shadow:0 1px 3px rgba(15,23,42,.04);background:#fff}.material-able-body .visit-planner-column.is-active{border-color:#7aa7ed;box-shadow:0 0 0 2px rgba(25,103,210,.10)}.material-able-body .visit-planner-column>header{background:#f8fafc;border-bottom:1px solid #e8edf3}.material-able-body .visit-planner-treatment{border-radius:6px;border:1px solid #dde5ee;box-shadow:0 1px 3px rgba(15,23,42,.05);padding:10px}.material-able-body .visit-planner-treatment:hover{border-color:#9fbce8;box-shadow:0 3px 10px rgba(15,23,42,.08)}
.visit-planner-empty-drop{min-height:80px;border:1px dashed #b9c8da;border-radius:6px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#60738a;text-align:center;pointer-events:none}.visit-planner-empty-drop strong{font-size:11px}.visit-planner-empty-drop span{font-size:9.5px;margin-top:3px}.visit-planner-empty{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:110px}
.public-verification-page{min-height:100vh;background:#f5f7fb;display:grid;place-items:center;padding:24px}.public-verification-card{width:min(440px,100%);background:#fff;border:1px solid #e0e6ee;border-radius:12px;box-shadow:0 12px 35px rgba(15,23,42,.10);overflow:hidden}.public-verification-brand{padding:18px 22px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;gap:11px}.public-verification-brand img{max-height:38px;max-width:140px}.public-verification-body{padding:24px}.public-verification-body h1{font-size:21px;margin:0 0 8px;color:#172033}.public-verification-body p{color:#667085;line-height:1.5}.public-verification-body .field{margin:18px 0}.public-verification-body .form-control{height:44px;border-radius:7px;font-size:15px;letter-spacing:.04em}.public-verification-lock{display:flex;gap:9px;align-items:flex-start;background:#f5f9ff;border:1px solid #dce9fb;border-radius:8px;padding:11px 12px;color:#45617f;font-size:11px}.public-verification-actions{display:flex;justify-content:flex-end;margin-top:18px}.public-verification-footer{border-top:1px solid #edf1f5;padding:12px 22px;color:#8b96a5;font-size:9.5px}
@media(max-width:900px){.material-able-body .ma-main{margin-left:0}.material-able-body .ma-sidebar{width:250px}.material-able-body .ma-content{padding:16px}}

/* v7.17 Dentura Visit Assistant */
.visit-assistant{margin-top:16px;padding:18px;border:1px solid #dfe5eb;border-radius:12px;background:#fff;box-shadow:0 6px 22px rgba(15,23,42,.06)}.visit-assistant[hidden]{display:none!important}.visit-assistant-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.visit-assistant-head h3{margin:2px 0 4px;font-size:17px}.visit-assistant-head p{margin:0;color:#6b7785;font-size:12px}.visit-assistant-notice{margin:14px 0;padding:11px 13px;border-radius:8px;background:#f7f9fb;border:1px solid #e4e9ef;color:#586574;font-size:11px}.visit-assistant-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,1fr);gap:12px;overflow-x:auto;padding:2px 1px 10px}.visit-assistant-column{border:1px solid #e0e6ec;border-radius:9px;background:#fbfcfd;overflow:hidden}.visit-assistant-column>header{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 12px;background:#f5f7fa;border-bottom:1px solid #e5eaf0}.visit-assistant-column header strong,.visit-assistant-column header span{display:block}.visit-assistant-column header span{font-size:10px;color:#718096;margin-top:2px}.assistant-badge{padding:3px 7px!important;border-radius:10px;background:#e9f2ee;color:#2d6964!important;font-size:9px!important;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.visit-assistant-cards{padding:9px;display:flex;flex-direction:column;gap:7px}.visit-assistant-card{display:flex;justify-content:space-between;gap:10px;padding:9px;border:1px solid #e4e9ee;border-radius:7px;background:#fff}.visit-assistant-card strong{display:block;font-size:11.5px;color:#263442}.visit-assistant-card small{display:block;margin-top:2px;font-size:9.5px;color:#7a8794}.visit-assistant-card>span{font-size:10px;color:#607080;white-space:nowrap}.visit-assistant-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media(max-width:800px){.visit-assistant-board{grid-auto-columns:minmax(230px,82vw)}.visit-assistant-head{flex-direction:column}}

/* v7.18 patient plan options */
.plan-option-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--border,#e5e7eb)}
.plan-option-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.plan-option-buttons form{margin:0}.plan-option-actions small{display:block;line-height:1.45;color:var(--muted,#667085)}
.visit-assistant-checks{padding:10px 12px;border-top:1px solid rgba(0,0,0,.08);font-size:.82rem;line-height:1.45}
