
:root{--bg:#f5f7fb;--panel:#fff;--ink:#162033;--muted:#718096;--line:#e5e9f2;--primary:#075f63;--primary2:#0c7f83;--gold:#c79a3b;--danger:#c0392b;--ok:#1f8f58;--sidebar:#0d2630}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:64px;position:fixed;top:0;left:240px;right:0;background:#fff;border-bottom:1px solid var(--line);z-index:20;display:flex;align-items:center;padding:0 22px;justify-content:space-between}.top-sub{font-size:11px;color:var(--muted);display:block}.top-actions{display:flex;align-items:center;gap:16px}.bell{position:relative;font-size:23px}.bell span{position:absolute;top:-8px;right:-10px;background:#e33;color:#fff;font-size:10px;border-radius:20px;min-width:18px;padding:2px 5px;text-align:center}.user-chip{font-weight:700;text-align:right}.user-chip small{display:block;color:var(--muted);text-transform:capitalize;font-weight:500}.menu-btn{display:none;background:none;border:0;font-size:24px}.sidebar{position:fixed;width:240px;top:0;bottom:0;background:linear-gradient(180deg,#0d2630,#0a1f28);color:white;padding:18px 14px;z-index:30;display:flex;flex-direction:column}.brand-side{display:flex;align-items:center;gap:10px;color:#fff;font-size:26px;font-weight:900;padding:8px 10px 22px}.brand-side span{font-size:15px;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{color:#dce7eb;padding:11px 12px;border-radius:10px}.sidebar nav a:hover{background:#173944;color:#fff}.side-foot{margin-top:auto;font-size:10px;color:#89a2ab;padding:10px}.content{margin-left:240px;padding:84px 22px 40px;max-width:1600px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-head h1{margin:0;font-size:26px}.page-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(24,39,75,.04);margin-bottom:18px}.panel h2{font-size:17px;margin:0 0 14px}.panel h3{font-size:14px;margin:18px 0 8px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:linear-gradient(135deg,#fff,#f7fbfb);border:1px solid var(--line);border-radius:16px;padding:20px;color:var(--ink);box-shadow:0 4px 14px rgba(0,0,0,.03)}.stat b{font-size:28px;display:block;color:var(--primary)}.stat span{font-size:13px;color:var(--muted)}.grid{display:grid}.grid.two{grid-template-columns:1fr 1fr}.grid.chart-layout{grid-template-columns:minmax(0,1fr) 300px}.gap{gap:18px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.search{display:flex;gap:8px;min-width:min(600px,70%)}.search input{min-width:280px}.btn{border:1px solid #ccd5df;background:#fff;color:#223044;border-radius:9px;padding:9px 13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.btn:hover{border-color:#9fb0bf}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.whatsapp{background:#1da851;border-color:#1da851;color:white}.btn.small{padding:6px 9px;font-size:12px}.btn.wide{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid.compact{margin-top:16px}.form-grid .span2{grid-column:1/-1}label{display:block;font-size:12px;font-weight:800;margin-bottom:6px;color:#435062}input,select,textarea{width:100%;border:1px solid #d7dee8;border-radius:9px;padding:10px 11px;background:#fff;color:#1c2736;outline:none}input:focus,select:focus,textarea:focus{border-color:#4d999c;box-shadow:0 0 0 3px rgba(7,95,99,.08)}textarea{min-height:84px;resize:vertical}.inline{display:flex;gap:5px;align-items:center}.inline select{min-width:115px;padding:6px}.inline-form{display:grid;grid-template-columns:140px 1fr 1.4fr auto;gap:8px;align-items:end}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 10px;vertical-align:top;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6f7c8c;background:#fafbfc}.muted{color:var(--muted)}.center{text-align:center}.small,small{font-size:11px}.tag{display:inline-block;border-radius:20px;background:#edf3f4;padding:4px 8px;font-size:11px}.tag.warn{background:#fff4d9;color:#8d6200}.alert{padding:12px 14px;border-radius:11px;margin-bottom:14px;transition:.3s}.alert.success{background:#e6f6ed;color:#176a3e}.alert.danger{background:#fdebea;color:#9b2c23}.alert.info{background:#e8f4fb;color:#245f82}.alert.fade{opacity:.35}.list-row,.reminder-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child,.reminder-row:last-child{border-bottom:0}.list-row small,.reminder-row small{display:block;color:var(--muted);margin-top:4px}.patient-banner{background:linear-gradient(135deg,#0b676b,#0b3c50);color:#fff;border-radius:18px;padding:22px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.patient-banner h2{margin:4px 0}.patient-banner p{margin:0;color:#d4e9e9}.pid{font-size:11px;background:rgba(255,255,255,.14);padding:4px 8px;border-radius:20px}.quick-actions{display:flex;flex-wrap:wrap;gap:8px}.quick-actions .btn{background:#fff}.timeline{border-left:3px solid #d9e4e7;padding:0 0 18px 16px;margin-left:4px}.timeline p{margin:5px 0;color:#4a586a}.teeth-row{display:grid;grid-template-columns:repeat(16,minmax(46px,1fr));gap:5px;overflow:auto;padding:7px 0}.tooth{min-width:48px;border:1px solid #d9e1e9;background:#fff;border-radius:10px;padding:8px 3px;cursor:pointer}.tooth span{display:block;font-size:26px}.tooth b{display:block}.tooth small{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooth.healthy{background:#f8fbfc}.tooth.caries{background:#ffe8e5}.tooth.planned{background:#fff5d8}.tooth.done{background:#e4f8e9}.tooth.missing{opacity:.35}.tooth.crown,.tooth.implant,.tooth.rct,.tooth.bridge{background:#e6efff}.tooth.extract{background:#f7e5ef}.jaw-label{text-align:center;font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800}.midline{height:1px;background:#cdd8df;margin:7px 0}.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.legend span{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:5px 8px}.sticky-panel{position:sticky;top:82px;height:max-content}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:12px}.file-card{border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--ink)}.file-card span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.metric{display:flex;flex-direction:column;justify-content:center}.metric span{color:var(--muted);font-size:12px}.metric b{font-size:32px;color:var(--primary)}.metric small{color:var(--muted)}details.addbox summary{cursor:pointer;font-weight:900;color:var(--primary)}.align-end{display:flex;align-items:end}.invoice-card hr{border:0;border-top:1px solid var(--line)}.invoice-total{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.invoice-total b{font-size:20px}.invoice-total.balance{border-top:1px solid var(--line);margin-top:5px;padding-top:13px}.invoice-total.balance b{color:var(--danger)}.action-row{display:flex;gap:6px}.message-cell{max-width:500px}.text-danger{color:var(--danger)!important}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#dceeee,#f6f7fb 55%)}.login-card,.install-card{width:min(94vw,440px);background:#fff;border-radius:20px;padding:28px;box-shadow:0 18px 60px rgba(18,42,54,.16);border:1px solid #e5eaef}.install-card{width:min(94vw,760px)}.login-card h1,.install-card h1{text-align:center;margin:8px 0}.brand-mark{width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--gold));color:white;display:grid;place-items:center;margin:auto;font-size:22px;font-weight:900}.login-card form{display:grid;gap:10px;margin:20px 0}.login-card .muted{text-align:center}
@media(max-width:980px){.cards{grid-template-columns:1fr 1fr}.grid.two,.grid.chart-layout{grid-template-columns:1fr}.sticky-panel{position:static}.sidebar{transform:translateX(-100%);transition:.25s}.topbar{left:0}.content{margin-left:0;padding:78px 12px 30px}.menu-btn{display:block}.nav-open .sidebar{transform:none}.topbar{padding:0 12px}.user-chip{display:none}.patient-banner{align-items:flex-start;gap:15px;flex-direction:column}.inline-form{grid-template-columns:1fr 1fr}.teeth-row{grid-template-columns:repeat(8,minmax(48px,1fr))}}
@media(max-width:640px){.cards{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px}.stat b{font-size:22px}.page-head h1{font-size:21px}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.panel{padding:13px;border-radius:13px}.toolbar{gap:8px;align-items:stretch}.toolbar,.search{flex-direction:column}.search{min-width:0}.search input{min-width:0}.btn{padding:9px 11px}.quick-actions{width:100%}.quick-actions .btn{flex:1;min-width:120px}.inline-form{grid-template-columns:1fr}.teeth-row{grid-template-columns:repeat(8,1fr)}.tooth{min-width:0}.top-sub{display:none}.install-card .grid.two{grid-template-columns:1fr}}


/* v1.2 advanced treatment planning */
.teeth-panel .tooth.small{padding:8px 3px;min-height:66px}
.teeth-row.small{grid-template-columns:repeat(8,1fr)}
.compact-chart .tooth{min-height:72px}
.file-card .action-row,.panel .action-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.opg-board{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.opg-wrap{position:relative;cursor:crosshair;overflow:hidden;border-radius:16px;background:#f0f4f8;border:1px solid var(--line)}
.opg-image{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain}
.opg-marker{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:999px;border:2px solid #fff;background:#d94b45;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.opg-marker.pending{background:#0c7f83}
.opg-marker.type-note{background:#475569}.opg-marker.type-caries{background:#dc2626}.opg-marker.type-rct{background:#7c3aed}.opg-marker.type-crown{background:#2563eb}.opg-marker.type-implant{background:#0891b2}.opg-marker.type-extraction{background:#b91c1c}.opg-marker.type-bridge{background:#0f766e}.opg-marker.type-ortho{background:#7c2d12}.opg-marker.type-prostho{background:#1d4ed8}.opg-marker.type-perio{background:#15803d}.opg-marker.type-other{background:#4b5563}
.spec-grid{display:flex;flex-wrap:wrap;gap:8px}
.chip-btn{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:999px;cursor:pointer}
.chip-btn.active,.chip-btn:hover{border-color:var(--primary);background:#eef7f7}
.spec-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eef7f7;color:#0f4e52;margin-right:6px}
.spec-general-dentistry{background:#eff6ff;color:#1d4ed8}.spec-endodontics{background:#f3e8ff;color:#6d28d9}.spec-prosthodontics{background:#fff7ed;color:#c2410c}.spec-orthodontics{background:#ede9fe;color:#5b21b6}.spec-periodontics{background:#ecfccb;color:#3f6212}.spec-oral-surgery{background:#fee2e2;color:#991b1b}.spec-implantology{background:#cffafe;color:#155e75}.spec-pedodontics{background:#ecfeff;color:#0f766e}.spec-cosmetic-dentistry{background:#fdf2f8;color:#be185d}.spec-preventive-dentistry{background:#f0fdf4;color:#166534}
@media(max-width:980px){.opg-board{grid-template-columns:1fr}.teeth-row.small{grid-template-columns:repeat(4,1fr)}}

/* v1.3 Admin Control Center */
.nav-section{font-size:10px;letter-spacing:.14em;color:#77949d;padding:18px 12px 5px;font-weight:800}
.clinic-brand{display:flex;align-items:center;gap:10px}.clinic-logo{width:38px;height:38px;object-fit:contain;border-radius:9px;border:1px solid var(--line);background:#fff;padding:3px}
.permission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.permission-item{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:9px;background:#fafcfd;font-size:12px}.permission-item input{width:auto;margin:0}
.status-active{background:#e7f7ee;color:#176a3e}.status-inactive{background:#fdebea;color:#9b2c23}.danger-btn{border-color:#efb2ad;color:#a32d24;background:#fff6f5}
.mini-details{position:relative}.mini-details summary{list-style:none}.mini-details summary::-webkit-details-marker{display:none}.mini-pop{position:absolute;right:0;top:38px;z-index:10;background:white;border:1px solid var(--line);border-radius:10px;padding:10px;box-shadow:0 14px 35px rgba(0,0,0,.14);display:flex;gap:6px;min-width:250px}.mini-pop input{min-width:150px}
.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;position:sticky;top:68px;z-index:9;background:var(--bg);padding:8px 0}.settings-tabs a{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700}.settings-form .panel{scroll-margin-top:120px}.logo-preview{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:8px;width:max-content}.logo-preview img{max-width:130px;max-height:70px;display:block}.sticky-save{position:sticky;bottom:10px;z-index:12;display:flex;justify-content:flex-end;padding:10px;background:rgba(245,247,251,.92);backdrop-filter:blur(8px);border-radius:12px}.admin-cards{margin-top:0}
@media(max-width:900px){.permission-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.permission-grid{grid-template-columns:1fr}.settings-tabs{top:62px}.action-row{flex-wrap:wrap}.mini-pop{right:auto;left:0}}

.invoice-logo{max-width:120px;max-height:65px;object-fit:contain;margin-bottom:8px}.invoice-footer-note{margin-top:18px;padding-top:12px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}
.theme-clinical-light{--bg:#f7fbfd;--primary:#256b8b;--primary2:#3182a4;--sidebar:#143948}.theme-clinical-light .sidebar{background:linear-gradient(180deg,#143948,#0f2f3b)}
.theme-premium-dark{--bg:#15191e;--panel:#20262d;--ink:#f0f4f7;--muted:#9eabb6;--line:#343d46;--primary:#c79a3b;--primary2:#d8ad50;--sidebar:#0d1115}.theme-premium-dark .topbar,.theme-premium-dark input,.theme-premium-dark select,.theme-premium-dark textarea,.theme-premium-dark .btn,.theme-premium-dark .chip-btn,.theme-premium-dark .permission-item,.theme-premium-dark th{background:#20262d;color:#f0f4f7;border-color:#343d46}.theme-premium-dark .stat{background:linear-gradient(135deg,#20262d,#252d35);border-color:#343d46}.theme-premium-dark .settings-tabs{background:#15191e}.theme-premium-dark .settings-tabs a{background:#20262d;color:#e9eef2;border-color:#343d46}.theme-premium-dark .sticky-save{background:rgba(21,25,30,.9)}


/* v1.3.1 Digital Treatment Workspace */
.digital-workspace{overflow:hidden}.workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.workspace-head h2{margin-bottom:5px}.counter-pill{display:inline-block;background:#0b6d70;color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.arch-label{text-align:center;font-size:11px;font-weight:900;letter-spacing:.15em;color:#687688;margin:6px 0}.graphic-teeth-row{display:grid;grid-template-columns:repeat(16,minmax(48px,1fr));gap:5px}.graphic-teeth-row.compact{grid-template-columns:repeat(8,minmax(54px,1fr))}.graphic-tooth-btn{border:1px solid #d8e1e7;background:#fff;border-radius:12px;min-width:0;padding:5px 2px 7px;cursor:pointer;transition:.15s;position:relative}.graphic-tooth-btn:hover{transform:translateY(-2px);border-color:#83aeb0}.graphic-tooth-btn.selected{background:#e3f6f2;border:2px solid #087b73;box-shadow:0 0 0 3px rgba(8,123,115,.09)}.graphic-tooth-btn b{display:block;font-size:11px}.svg-tooth{width:38px;height:50px;display:block;margin:auto}.svg-tooth .tooth-body{fill:#fafdfd;stroke:#637381;stroke-width:2}.svg-tooth .tooth-line{fill:none;stroke:#aab8c2;stroke-width:1}.svg-tooth .tooth-core{fill:#f1f5f7;stroke:#cad4db}.graphic-tooth-btn.selected .tooth-body,.svg-tooth.planned .tooth-body{fill:#c8f0e7;stroke:#06746d}.graphic-teeth-row.lower .svg-tooth{transform:rotate(180deg)}.arch-midline{display:flex;align-items:center;gap:10px;color:#83909e;font-size:10px;font-weight:900;margin:9px 0}.arch-midline i{height:1px;background:#cbd5dc;flex:1}.opg-create-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px}.plan-opg-wrap{min-height:360px;display:grid;place-items:center;margin-top:10px}.opg-wrap.empty{cursor:default}.opg-empty{color:#83909e;font-weight:700;text-align:center;padding:30px}.marker-settings{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfcfd}.marker-settings h3{margin-top:0}.opg-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.specialty-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.specialty-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;text-align:left;cursor:pointer;min-height:95px}.specialty-card b{display:block;margin-bottom:6px;color:#173844}.specialty-card span{display:block;font-size:10px;color:#718096;line-height:1.35}.specialty-card.active{border:2px solid #0b7374;background:#eefafa}.plan-savebar{display:flex;align-items:center;justify-content:space-between;background:#f1f9f8;padding:14px;border-radius:12px}.plan-savebar small{display:block;margin-top:4px}.large-btn{padding:12px 20px}.embedded-opg{max-width:1000px;margin:auto}.danger-btn{border-color:#f2b6b2;color:#a52a22}
@media(max-width:1200px){.specialty-cards{grid-template-columns:repeat(3,1fr)}.graphic-teeth-row{grid-template-columns:repeat(8,1fr)}}
@media(max-width:800px){.opg-create-grid{grid-template-columns:1fr}.specialty-cards{grid-template-columns:1fr 1fr}.graphic-teeth-row,.graphic-teeth-row.compact{grid-template-columns:repeat(4,1fr)}.plan-savebar{flex-direction:column;align-items:stretch;gap:12px}.workspace-head{flex-direction:column}}


/* v1.3.2 professional tooth-wise treatment planner */
.graphic-tooth-btn.color-selected{background:color-mix(in srgb,var(--tooth-color) 12%,white);border-color:var(--tooth-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--tooth-color) 15%,transparent)}
.graphic-tooth-btn.color-selected .tooth-body{fill:color-mix(in srgb,var(--tooth-color) 35%,white)!important;stroke:var(--tooth-color)!important;stroke-width:2.7}
.graphic-tooth-btn.color-selected .tooth-core{fill:color-mix(in srgb,var(--tooth-color) 18%,white);stroke:var(--tooth-color)}
.graphic-tooth-btn.color-selected b{color:var(--tooth-color)}
.tooth-title-mini{display:block;min-height:13px;margin-top:2px;padding:0 2px;font-size:8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5b6572}
.advanced-odontogram{background:linear-gradient(180deg,#fff,#fbfdfd)}
.tooth-color-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 12px;color:#667587;font-size:11px}.tooth-color-legend span{display:flex;gap:6px;align-items:center}.tooth-color-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.muted-pill{background:#edf2f4!important;color:#52606d!important}
.tooth-region-panel{border-top:4px solid #0b7374}
.empty-clinical-state{min-height:110px;border:1px dashed #cbd5df;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#718096;background:#fafcfd;text-align:center;gap:5px}.empty-clinical-state b{color:#435062}
.tooth-region-list,.saved-tooth-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tooth-region-card,.saved-tooth-card{border:1px solid #dfe6ec;border-left:6px solid var(--record-color);border-radius:14px;padding:14px;background:#fff;box-shadow:0 4px 14px rgba(24,39,75,.04)}
.tooth-record-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.tooth-record-id{display:flex;align-items:center;gap:10px}.tooth-record-id small{display:block;color:#718096;margin-top:2px}.color-tooth-badge{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--record-color);color:#fff;font-weight:900;font-size:15px;box-shadow:0 4px 12px color-mix(in srgb,var(--record-color) 28%,transparent)}
.tooth-record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tooth-record-grid .span2{grid-column:1/-1}.tooth-record-grid textarea{min-height:82px}
.color-picker-cell{grid-column:span 2}.clinical-color-palette{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.color-swatch{width:24px;height:24px;border-radius:7px;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px #ccd5df;cursor:pointer;padding:0}.color-swatch.active{box-shadow:0 0 0 3px #172033}.clinical-color-palette input[type=color]{width:36px;height:28px;padding:2px;border-radius:7px}
.plan-header-form{border-top:4px solid #0b7374}
@media(max-width:1050px){.tooth-region-list,.saved-tooth-records{grid-template-columns:1fr}.tooth-record-grid{grid-template-columns:1fr 1fr}.color-picker-cell{grid-column:1/-1}}
@media(max-width:640px){.tooth-record-grid{grid-template-columns:1fr}.tooth-record-grid .span2,.color-picker-cell{grid-column:auto}.color-tooth-badge{width:38px;height:38px}.tooth-region-card,.saved-tooth-card{padding:11px}.graphic-tooth-btn .tooth-title-mini{display:none}}


/* v1.3.3 - corrected FDI odontogram, doctor admin and print actions */
.fdi-odontogram-shell{overflow-x:auto;padding:6px 0 12px}.fdi-arch-row{display:grid;grid-template-columns:minmax(420px,1fr) 2px minmax(420px,1fr);gap:10px;align-items:end;min-width:880px}.fdi-quadrant{min-width:0}.quadrant-label{display:block;text-align:center;font-size:10px;font-weight:900;letter-spacing:.08em;color:#64748b;margin:3px 0 6px}.fdi-eight{display:grid;grid-template-columns:repeat(8,minmax(48px,1fr));gap:5px}.fdi-center-line{background:#cbd5e1;align-self:stretch;min-height:84px}.fdi-patient-line{display:flex;align-items:center;gap:10px;min-width:880px;margin:10px 0;color:#64748b;font-size:10px;font-weight:900}.fdi-patient-line i{height:1px;background:#cbd5e1;flex:1}.fdi-arch-label{text-align:center;min-width:880px;font-size:11px;font-weight:900;letter-spacing:.15em;color:#334155;margin:5px 0}.lower-arch .svg-tooth{transform:rotate(180deg)}
.fdi-eight .graphic-tooth-btn{min-width:48px;min-height:86px}.fdi-eight .graphic-tooth-btn b{display:block!important;font-size:12px;line-height:1.1;margin-top:1px}.fdi-eight .tooth-title-mini{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;line-height:1.1;min-height:9px;margin-top:2px;padding:0 2px}.admin-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.doctor-card{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding:12px 0}.doctor-card:last-child{border-bottom:0}.doctor-card small{display:block;color:var(--muted);margin-top:3px}.doctor-create-panel{align-self:start}.admin-doctor-grid{align-items:start}
@media(max-width:1200px){.graphic-teeth-row,.graphic-teeth-row.compact{grid-template-columns:repeat(16,minmax(48px,1fr));min-width:880px}.teeth-panel{overflow-x:auto}}
@media(max-width:800px){.graphic-teeth-row,.graphic-teeth-row.compact{grid-template-columns:repeat(16,minmax(48px,1fr));min-width:880px}.fdi-odontogram-shell{margin-left:-4px;margin-right:-4px}.doctor-card{flex-direction:column}}
@media(max-width:640px){.fdi-eight .tooth-title-mini{display:block}.admin-shortcuts .btn{flex:1;min-width:130px}}


/* v1.3.4 branding, admin visibility and approved-plan billing */
.brand-mini{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900;font-size:12px}
.brand-side{min-height:58px}.brand-side b{font-size:24px}.brand-side span{line-height:1.15;max-width:150px}.sidebar-logo{width:45px;height:45px;object-fit:contain;border-radius:10px;background:#fff;padding:3px}
.login-logo-wrap{display:flex;justify-content:center;margin-bottom:12px}.login-logo{max-width:150px;max-height:90px;object-fit:contain}
.logo-preview{margin-top:10px;display:flex;align-items:center;gap:10px}.logo-preview img{max-width:180px;max-height:90px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:5px;background:#fff}.logo-preview small{color:var(--muted)}.logo-missing{margin-top:10px;padding:10px;border:1px dashed #cbd5e1;border-radius:10px;color:var(--muted);font-size:12px}
.admin-control-center{border:1px solid #cfe3e4;background:linear-gradient(135deg,#ffffff,#f1f9f9)}.admin-brand-preview{max-width:110px;max-height:58px;object-fit:contain}.admin-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}.admin-action-card{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:13px;padding:15px;background:#fff;color:var(--ink)}.admin-action-card:hover{border-color:var(--primary);box-shadow:0 5px 18px rgba(7,95,99,.08)}.admin-action-card span{font-size:11px;color:var(--muted)}
.receivable-stat b{color:#b45309}.approved-stat b{color:#166534}.dashboard-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.plan-status-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.plan-status-bar small{display:block;margin-top:3px}.plan-status-bar form select{min-width:150px}
.approved-plan-summary{border:1px dashed #cbd5e1;border-radius:12px;padding:13px;background:#f8fafc;display:flex;flex-direction:column;gap:4px}.approved-plan-summary span{font-size:12px;color:var(--muted)}.approved-plan-summary.active{border-style:solid;border-color:#86c5a1;background:#effaf3}.approved-plan-summary.active b{color:#166534}
@media(max-width:800px){.admin-action-grid{grid-template-columns:1fr}.plan-status-bar{align-items:stretch;flex-direction:column}.plan-status-bar form{width:100%}.plan-status-bar form select{flex:1}}
