:root{--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font:16px/1.45 var(--sans);color:#22333b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff}body{margin:0}#root{min-height:100svh}h1,h2,h3,h4{color:#22333b;font-weight:600}h1{margin:20px 0;font-size:32px}h2{margin:0 0 10px;font-size:22px}.charting-section{margin-top:28px}.charting-head{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px;display:flex}.charting-head h3{margin:0}.charting-notation{color:#64798a;background:#eef3f6;border-radius:999px;padding:3px 10px;font-size:12px}.charting-controls{align-items:center;gap:14px;margin-left:auto;display:flex}.charting-check{color:#3b4f5c;align-items:center;gap:6px;font-size:13px;display:flex}.odo-scroll{padding:4px 0 8px;overflow-x:auto}.odo-chart{--cell:clamp(24px, 5.2vw, 40px);min-width:calc(var(--cell) * 16 + 30px);background:#f7fafb;border:1px solid #e1eaef;border-radius:10px;flex-direction:column;gap:10px;padding:10px 8px;display:flex}.odo-sides{color:#8a9aa5;justify-content:space-between;padding:0 4px;font-size:11px;display:flex}.odo-row{justify-content:center;display:flex}.odo-half{width:calc(var(--cell) * 8);display:flex}.odo-half.left{justify-content:flex-end}.odo-half.right{justify-content:flex-start}.odo-midline{border-left:1px dashed #b8c7d1;width:0;margin:0 6px}.odo-tooth{width:var(--cell);cursor:pointer;color:inherit;font:inherit;background:0 0;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:3px 0;display:flex}.odo-tooth.lower{flex-direction:column-reverse}.odo-tooth:hover{background:#e9f2f6}.odo-tooth:focus-visible{outline-offset:1px;outline:2px solid #0d5c75}.odo-tooth.selected{background:#e3f0f4;border-color:#0d5c75}.odo-num{color:#64798a;font-variant-numeric:tabular-nums;font-size:11px}.odo-tooth.has-findings .odo-num{color:#22333b;font-weight:700}.odo-glyph{width:calc(var(--cell) - 8px);height:calc(var(--cell) - 8px);overflow:visible}.odo-glyph.absent{opacity:.55}.odo-cell{stroke:#7d93a1;stroke-width:1px}.odo-cell.clickable{cursor:pointer}.odo-cell.clickable:hover{stroke:#0d5c75;stroke-width:2px}.odo-cell.selected{stroke:#0d5c75;stroke-width:2.5px}.odo-code{paint-order:stroke;stroke:#fff;stroke-width:2.5px;font-size:9px;font-weight:700}.odo-legend{color:#3b4f5c;flex-wrap:wrap;gap:6px 14px;margin:10px 0 6px;padding:0;font-size:12px;list-style:none;display:flex}.odo-legend li{align-items:center;gap:5px;display:flex}.odo-swatch{vertical-align:middle;border:1px solid #0000002e;border-radius:3px;width:11px;height:11px;display:inline-block}.odo-swatch.pale{background:repeating-linear-gradient(45deg,#d64545 0 3px,#f3b9b9 3px 6px)}.tooth-panel{background:#fff;border:1px solid #d8e4ea;border-radius:10px;margin-top:14px;padding:14px 16px}.tooth-panel-head{justify-content:space-between;align-items:center;display:flex}.tooth-panel-head h4,.tooth-panel h5{margin:0 0 8px}.tooth-panel h5{color:#64798a;text-transform:uppercase;letter-spacing:.04em;margin-top:16px;font-size:13px}.tooth-editor{flex-direction:column;gap:12px;padding:10px 0 4px;display:flex}.tooth-target{align-items:center;gap:16px;display:flex}.tooth-target-glyph{flex:none;width:84px}.tooth-target-glyph .odo-glyph{width:84px;height:84px}.tooth-target-buttons,.condition-palette{flex-wrap:wrap;gap:6px;display:flex}.chip{color:#22333b;cursor:pointer;background:#f2f6f8;border:1px solid #d3dfe6;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:inline-flex}.chip:hover{background:#e6eff3}.chip.active{color:#fff;background:#0d5c75;border-color:#0d5c75}.tooth-editor-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.tooth-editor-row label{color:#64798a;flex-direction:column;gap:4px;font-size:12px;display:flex}.tooth-editor-row .grow{flex:1;min-width:180px}.tooth-editor-actions{align-items:center;gap:10px;display:flex}.charting-table{width:100%}.charting-table tr.row-selected{background:#eef6f9}.link-btn{color:#0d5c75;cursor:pointer;font:inherit;background:0 0;border:none;padding:2px 4px}@media (width<=720px){.charting-controls{margin-left:0}}.table-scroll{overflow-x:auto}.charting-table{font-size:13px}.charting-table td,.charting-table th{white-space:nowrap}.visit-page section{margin-top:22px}.visit-page h3{margin-bottom:8px}.visit-text{gap:10px;margin-top:12px;display:grid}.visit-text label,.manip-grid label{color:#64798a;flex-direction:column;gap:4px;font-size:12px;display:flex}.visit-text input,.visit-text textarea,.manip-grid input,.manip-grid select{font-size:14px}.visit-table td{vertical-align:top}.visit-table .sub,.visit-table .hint,.manip-grid .hint{color:#64798a;font-size:12px}.visit-table tfoot td{border-top:2px solid #d3dfe6;font-weight:700}.visit-table .editing input{width:100%;margin-bottom:4px}.visit-table .money-input{width:90px}.row-actions{white-space:nowrap}.danger-text{color:#c9302c}.small{font-size:12px}.manip-form{background:#fff;border:1px solid #d8e4ea;border-radius:10px;padding:14px 16px}.manip-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 14px;display:grid}.chart-step{background:#f4f9fb;border-radius:8px;flex-direction:column;gap:8px;margin:10px 0;padding:10px 12px;display:flex}.inline-label{color:#3b4f5c;align-items:center;gap:8px;font-size:13px;display:inline-flex}.deciduous-toggle{margin-top:6px}.status-pill.visit-open{color:#7a5c00;background:#fff3cd}.status-pill.visit-completed{color:#1e6b45;background:#d9f2e3}.treatments-section .totals{gap:24px;margin-top:8px;font-weight:600;display:flex}.treatments-section .open-visit{background:#fff8e1;border-left:4px solid #e0a800;border-radius:6px;margin-bottom:10px;padding:8px 12px}.profile-sub{margin:-4px 0 12px}.profile-tabs{border-bottom:1px solid #dde6eb;flex-wrap:wrap;gap:4px;margin-bottom:18px;display:flex}.profile-tabs button{color:#4d6572;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:9px 14px;font-size:14px;position:relative}.profile-tabs button:hover{color:#0d5c75}.profile-tabs button.active{color:#0d5c75;border-bottom-color:#0d5c75;font-weight:600}.tab-dot{background:#c9302c;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.details-actions{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:12px;display:flex}.details-actions button{color:#fff;cursor:pointer;background:#0d5c75;border:none;border-radius:6px;padding:8px 18px}.details-actions button.danger{color:#c9302c;background:#fff;border:1px solid #c9302c}.overview section,.amounts-section{margin-top:22px}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0;display:grid}.stat-tile{background:#fff;border:1px solid #dde6eb;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.stat-tile strong{font-size:17px}.stat-tile.due strong{color:#c9302c}.stat-label{color:#64798a;text-transform:uppercase;letter-spacing:.03em;font-size:12px}.alert-chips{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.alert-chip{color:#a1241f;background:#fde8e7;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.medical-history .review-line{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.medical-history .review-line button,.condition-form button{color:#fff;cursor:pointer;background:#0d5c75;border:none;border-radius:6px;padding:7px 16px}.condition-form button:disabled{opacity:.45;cursor:default}.condition-form{background:#f8fafb;border:1px solid #dde6eb;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:10px;margin-bottom:18px;padding:14px;display:grid}.condition-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}.condition-group{margin-top:16px}.condition-group h4{color:#4d6572;text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;font-size:13px}.condition-group ul{margin:0;padding:0;list-style:none}.condition{background:#fff;border:1px solid #dde6eb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:6px;padding:9px 12px;display:flex}.condition.alert{background:#fff6f5;border-color:#f0b8b5}.condition-meta{color:#64798a;font-size:13px}.condition-actions{flex-wrap:wrap;align-items:flex-start;gap:6px 14px;display:flex}.condition-main{flex:220px;min-width:0}.catalog-page section{margin-top:28px}.catalog-page h3{margin-bottom:8px}.catalog-table input,.catalog-table select{width:100%;min-width:0;padding:5px 7px;font-size:13px}.catalog-table .code-input{width:70px}.catalog-table .cat-input{width:100px}.catalog-table .num-input{width:74px}.catalog-table .price-input{width:110px}.catalog-table td{white-space:nowrap}.catalog-table td:nth-child(2),.catalog-table td:nth-child(3){min-width:220px}.catalog-table input[type=checkbox]{width:auto}.inactive-row{opacity:.55}.new-row td{background:#f7fafb}.list-tabs{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.default-tag{opacity:.8;font-size:11px}.new-list{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.catalog-actions{margin-top:10px}.catalog-filter{width:100%;max-width:360px;margin-bottom:8px;padding:6px 9px}.shell{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.topbar{color:#4d6572;background:#f4f8fa;border-bottom:1px solid #dde6eb;justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;font-size:13px;display:flex}.topbar-user{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-actions select{background:#fff;border:1px solid #c3ced6;border-radius:6px;padding:4px 6px;font-size:12.5px}.topbar-logout{cursor:pointer;color:#0d5c75;background:#fff;border:1px solid #c3ced6;border-radius:6px;padding:4px 12px;font-size:12.5px}.topbar-logout:hover{border-color:#0d5c75}.shell-inner{max-width:960px;margin:0 auto;padding:20px 24px 48px}.shell-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.shell-header h1{color:#0d5c75}.shell-nav{gap:14px;display:flex}.shell-nav a{color:#4d6572;padding-bottom:2px;text-decoration:none}.shell-nav a.active{color:#0d5c75;border-bottom:2px solid #14a3c7}.staff-form{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.staff-form input,.staff-form select{border:1px solid #c3ced6;border-radius:6px;padding:8px}.staff-form button{color:#fff;cursor:pointer;background:#0d5c75;border:none;border-radius:6px;padding:8px 16px}.staff-table{border-collapse:collapse;width:100%;margin-top:10px}.staff-table th,.staff-table td{text-align:left;border-bottom:1px solid #dde6eb;padding:10px 12px}.staff-table tr.inactive td{opacity:.5}.staff-table button{cursor:pointer;background:#fff;border:1px solid #c3ced6;border-radius:6px;padding:6px 12px}.patients-search{border:1px solid #c3ced6;border-radius:6px;width:100%;max-width:420px;margin:8px 0;padding:10px}.page-head{align-items:center;gap:12px;margin:8px 0 12px;display:flex}.page-head h2{margin:0}.back-btn{box-sizing:border-box;color:#0d5c75;background:#fff;border:1px solid #c3ced6;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0 2px 2px 0;font-size:20px;line-height:1;text-decoration:none;transition:background .12s;display:flex}.back-btn:hover{background:#f2f8fa}.pagination{justify-content:center;align-items:center;gap:14px;margin:14px 0;display:flex}.pagination button{color:#0d5c75;cursor:pointer;background:#fff;border:1px solid #c3ced6;border-radius:50%;width:34px;height:34px;font-size:18px}.pagination button:disabled{opacity:.35;cursor:default}.pagination span{font-size:13px}.visit-tabs{gap:8px;margin:6px 0 12px;display:flex}.visit-tabs button{color:#4d6572;cursor:pointer;background:#fff;border:1px solid #c3ced6;border-radius:999px;padding:6px 14px;font-size:13px;transition:background .12s}.visit-tabs button:hover{background:#f2f8fa}.visit-tabs button.active{color:#fff;background:#0d5c75;border-color:#0d5c75}.patients-count{margin:4px 0 8px;font-size:13px}.patients-list{background:#fff;border:1px solid #dde6eb;border-radius:12px;overflow:hidden}.patient-row{color:inherit;border-bottom:1px solid #edf2f5;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;transition:background .12s;display:flex}.patient-row:last-child{border-bottom:none}.patient-row:hover{background:#f2f8fa}.patient-avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:600;display:flex}.patient-number{text-align:right;color:#64798a;font-variant-numeric:tabular-nums;flex:none;width:44px;font-size:13px;font-weight:600}.patient-number-badge{color:#0d5c75;vertical-align:middle;background:#e3f0f4;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:600}.patient-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.patient-name{color:#22333b;align-items:center;gap:6px;font-weight:600;display:flex}.patient-sub{color:#64798a;font-variant-numeric:tabular-nums;font-size:13px}.patient-age-slot{flex:none;justify-content:flex-end;width:64px;display:flex}.patient-age{color:#0d5c75;white-space:nowrap;background:#e3f0f4;border-radius:999px;flex:none;padding:4px 10px;font-size:13px}.patient-chevron{color:#a9bac6;flex:none;font-size:22px;line-height:1}.patients-empty{text-align:center;padding:20px 16px}.alert-badge{color:#c9302c;font-size:18px}.alerts-box{background:#fdecea;border-left:4px solid #c9302c;border-radius:6px;margin:10px 0;padding:10px 14px}.duplicate-warning{background:#fff6e5;border-left:4px solid #d9a441;border-radius:6px;margin:10px 0;padding:12px 16px}.duplicate-actions{gap:10px;margin-top:8px;display:flex}.duplicate-actions button{cursor:pointer;background:#fff;border:1px solid #c3ced6;border-radius:6px;padding:6px 12px}.patient-page{max-width:720px;margin:0 auto}.patient-form{grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin-top:16px;display:grid}.patient-form label{color:#4d6572;flex-direction:column;gap:5px;font-size:14px;display:flex}.patient-form label.wide{grid-column:1/-1}.patient-form input,.patient-form textarea{border:1px solid #c3ced6;border-radius:6px;padding:8px;font-family:inherit}.page-head-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.page-head-actions button{color:#fff;cursor:pointer;background:#0d5c75;border:none;border-radius:6px;padding:8px 18px}.page-head-actions button.danger{color:#c9302c;background:#fff;border:1px solid #c9302c}.tagline{color:#4d6572;margin-top:8px}.status{margin-top:32px}.up{color:#2f9e6e}.down{color:#c96f4a}.login-page{justify-content:center;align-items:center;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.login-card{color:#22333b;background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:340px;padding:32px;display:flex;box-shadow:0 4px 20px #0d5c7526}.login-header{justify-content:space-between;align-items:baseline;display:flex}.login-card h1{color:#0d5c75}.login-card label{flex-direction:column;gap:6px;font-size:14px;display:flex}.login-card input{border:1px solid #c3ced6;border-radius:6px;padding:10px;font-size:15px}.login-card button{color:#fff;cursor:pointer;background:#0d5c75;border:none;border-radius:6px;padding:10px;font-size:15px}.login-card button:disabled{opacity:.6}.calendar-page{margin-top:20px}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.calendar-nav{align-items:center;gap:8px;display:flex}.calendar-nav button,.view-toggle button{cursor:pointer;background:#fff;border:1px solid #c3ced6;border-radius:6px;padding:6px 12px}.calendar-nav select{border:1px solid #c3ced6;border-radius:6px;padding:6px 8px}.view-toggle{display:flex}.view-toggle button:first-child{border-radius:6px 0 0 6px}.view-toggle button:last-child{border-left:none;border-radius:0 6px 6px 0}.view-toggle button.active{color:#fff;background:#0d5c75;border-color:#0d5c75}.calendar-grid{background:#fff;border:1px solid #dde6eb;border-radius:8px;gap:0;display:grid;overflow-x:auto}.calendar-col,.calendar-time-col{border-left:1px solid #eef2f5;min-width:0}.calendar-time-col{border-left:none}.calendar-col-header{color:#0d5c75;white-space:nowrap;text-overflow:ellipsis;background:#f4f8fa;border:none;border-bottom:1px solid #dde6eb;justify-content:center;align-items:center;width:100%;height:40px;padding:0 6px;font-family:inherit;font-size:13px;font-weight:600;display:flex;overflow:hidden}.calendar-col-header.clickable{cursor:pointer;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:background .15s,text-decoration-color .15s}.calendar-col-header.clickable:hover{background:#e2eff5;text-decoration-color:#14a3c7}.calendar-col-body{height:720px;position:relative}.calendar-hour-label{color:#7a8f9b;font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.calendar-slot{box-sizing:border-box;cursor:pointer;border-bottom:1px dotted #f0f4f6;height:2.08333%}.calendar-slot.hour-line{border-top:1px solid #e3eaef}.calendar-slot:hover{background:#eaf5f9}.calendar-offzone{pointer-events:none;background:#7a8f9b21;position:absolute;left:0;right:0}.calendar-timeoff{pointer-events:none;color:#4d6572;white-space:nowrap;text-overflow:ellipsis;background:repeating-linear-gradient(-45deg,#7a8f9b2e,#7a8f9b2e 6px,#7a8f9b4d 6px 12px);padding:2px 6px;font-size:11px;position:absolute;left:0;right:0;overflow:hidden}.calendar-appt{cursor:pointer;border-left:3px solid #0000;border-radius:5px;flex-direction:column;padding:2px 6px;font-size:11.5px;line-height:1.25;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0d5c7526}.calendar-appt.inactive{opacity:.45;border-style:dashed}.appt-status-dot{border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.appt-status-dot.status-booked{background:#7a8f9b}.appt-status-dot.status-confirmed{background:#1c7ed6}.appt-status-dot.status-arrived{background:#0ca678}.appt-status-dot.status-in_progress{background:#e8890c}.appt-status-dot.status-completed{background:#2f9e6e}.appt-status-dot.status-cancelled{background:#c9302c}.appt-status-dot.status-no_show{background:#9c36b5}.appt-patient{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.alert-dot{color:#c9302c;margin-right:3px}.status-booked{background:#e8eef4;border-left-color:#7a8f9b}.status-confirmed{background:#dceefb;border-left-color:#1c7ed6}.status-arrived{background:#d7f2ee;border-left-color:#0ca678}.status-in_progress{background:#fff1dc;border-left-color:#e8890c}.status-completed{background:#e3f5e1;border-left-color:#2f9e6e}.status-cancelled{background:#f6e7e7;border-left-color:#c9302c}.status-no_show{background:#f1e9f6;border-left-color:#9c36b5}.status-pill{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.modal-backdrop{z-index:100;background:#0d293373;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);padding:24px;overflow-y:auto;box-shadow:0 10px 40px #0d29334d}.modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal h2{color:#0d5c75;font-size:20px}.modal h3{color:#4d6572;font-size:15px}.stack{flex-direction:column;gap:12px;margin-top:12px;display:flex}.stack label{color:#4d6572;flex-direction:column;gap:5px;font-size:13px;display:flex}.stack input,.stack select{border:1px solid #c3ced6;border-radius:6px;padding:8px;font-family:inherit}.form-row{gap:10px;display:flex}.form-row label{color:#4d6572;flex-direction:column;flex:1;gap:5px;font-size:13px;display:flex}.form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.form-actions button,.status-actions button{cursor:pointer;background:#fff;border:1px solid #c3ced6;border-radius:6px;padding:8px 16px}.form-actions button[type=submit]{color:#fff;background:#0d5c75;border-color:#0d5c75}.form-actions button:disabled{opacity:.5;cursor:default}.form-actions button.btn-primary{color:#fff;background:#0d5c75;border-color:#0d5c75}.form-actions button.btn-secondary{color:#4d6572;background:#eef2f5;border-color:#dde6eb}button.danger{color:#c9302c;border-color:#c9302c}.status-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.cancel-box,.reschedule-box{border-top:1px solid #eef2f5;padding-top:12px}.color-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;display:flex}.color-swatch{cursor:pointer;color:#fff;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0;font-size:11px;font-weight:700;line-height:1}.color-swatch.selected{border-color:#22333b}.visits-section{max-width:720px;margin-top:32px}.visits-section h3{color:#0d5c75}.visits-section h4{color:#4d6572;margin-top:16px;font-size:14px}.settings-section{max-width:720px;margin:24px 0}.settings-section h3{color:#0d5c75;margin-bottom:12px}.settings-scope{align-items:center;gap:14px;margin-bottom:14px;display:flex}.settings-scope label{color:#4d6572;align-items:center;gap:8px;font-size:14px;display:flex}.settings-scope select{border:1px solid #c3ced6;border-radius:6px;padding:6px 8px}.wh-grid{flex-direction:column;gap:6px;display:flex}.wh-row{align-items:center;gap:10px;display:flex}.wh-row.disabled input[type=time]{opacity:.4}.wh-day{text-transform:capitalize;align-items:center;gap:8px;width:140px;font-size:14px;display:flex}.wh-row input[type=time]{border:1px solid #c3ced6;border-radius:6px;padding:5px 8px;font-family:inherit}.settings-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.settings-actions button{color:#fff;cursor:pointer;background:#0d5c75;border:1px solid #0d5c75;border-radius:6px;padding:8px 18px}.staff-color{cursor:pointer;background:0 0;border:1px solid #c3ced6;border-radius:6px;width:34px;height:26px;padding:0}.form-error{color:#c9302c;font-size:14px}.muted{color:#7a8f9b;font-size:14px}.patient-search{position:relative}.patient-search input{box-sizing:border-box;width:100%}.patient-results{z-index:10;background:#fff;border:1px solid #c3ced6;border-radius:6px;max-height:220px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #0d293326}.patient-results button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:8px}.patient-results button:hover{background:#eaf5f9}.patient-picked{color:#0d5c75;background:#eaf5f9;border-radius:6px;align-items:center;gap:8px;padding:8px;font-weight:600;display:flex}.patient-picked button{cursor:pointer;color:#4d6572;background:0 0;border:none}.pw-wrap{flex:1;display:flex;position:relative}.pw-wrap input{box-sizing:border-box;flex:1;width:100%;padding-right:38px}button.pw-toggle{color:#64798a;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px 6px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}button.pw-toggle:hover{color:#0d5c75;background:0 0}.booking-page{background:#f4f8fa;justify-content:center;align-items:flex-start;min-height:100vh;padding:24px 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.booking-card{background:#fff;border-radius:14px;width:100%;max-width:440px;padding:24px;box-shadow:0 4px 20px #0d5c751f}.booking-head{justify-content:space-between;align-items:center;display:flex}.booking-head select{border:1px solid #c3ced6;border-radius:6px;padding:4px 6px}.booking-card h1{color:#0d5c75;font-size:26px}.booking-card h2{color:#22333b;margin-top:6px;font-size:17px}.booking-label{color:#4d6572;margin-bottom:6px;font-size:13px;display:block}.slot-chips{flex-wrap:wrap;gap:8px;display:flex}.slot-chip{cursor:pointer;background:#fff;border:1px solid #c3ced6;border-radius:999px;padding:8px 14px;font-size:14px}.slot-chip.selected{color:#fff;background:#0d5c75;border-color:#0d5c75}.booking-submit{color:#fff;cursor:pointer;background:#0d5c75;border:none;border-radius:8px;padding:12px;font-size:16px}.booking-submit:disabled{opacity:.45;cursor:default}.booking-note{text-align:center;font-size:12.5px}.booking-success{text-align:center;padding:24px 0}.booking-success-icon{color:#2f9e6e;font-size:42px}.booking-success button{cursor:pointer;background:#fff;border:1px solid #c3ced6;border-radius:8px;margin-top:18px;padding:10px 20px}@media (width<=640px){.shell-inner{padding:12px 12px 32px}.shell-header h1{font-size:22px}.shell-nav{-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:4px;overflow-x:auto}.shell-nav a{white-space:nowrap}.calendar-toolbar{gap:8px}.form-row{flex-wrap:wrap}.patient-form{grid-template-columns:1fr}}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head button,.tooth-editor-actions button,.catalog-actions button,.new-list button,.catalog-table button,.manip-form .form-actions button,.row-actions button:not(.link-btn){color:#fff;cursor:pointer;background:#0d5c75;border:none;border-radius:6px;padding:7px 16px}.section-head button:disabled,.tooth-editor-actions button:disabled,.catalog-actions button:disabled,.new-list button:disabled,.catalog-table button:disabled,.manip-form .form-actions button:disabled{opacity:.45;cursor:default}.tooth-editor-actions button.danger{color:#c9302c;background:#fff;border:1px solid #c9302c}.visit-table a,.treatments-section a{color:#0d5c75;font-weight:600;text-decoration:none}.visit-table a:hover,.treatments-section a:hover{text-decoration:underline}
