:root{--color-primary:#2563eb;--color-secondary:#0ea5e9;--color-primary-hover:color-mix(in srgb, var(--color-primary) 82%, #000);--color-primary-text:color-mix(in srgb, var(--color-primary) 18%, #fff);--color-primary-subtle:color-mix(in srgb, var(--color-primary) 10%, #fff);--color-bg:#f1f5f9;--color-surface:#fff;--color-border:#e2e8f0;--color-text:#1e293b;--color-text-muted:#64748b;--color-error:#dc2626;--color-success:#16a34a;--color-warning:#d97706;--sidebar-width:224px;--topbar-height:0px;--radius:8px;--radius-sm:6px}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-primary);color:#fff;z-index:10;flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid #ffffff26;padding:20px 18px 16px}.sidebar-brand-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;display:block;overflow:hidden}.sidebar-logo{width:160px;max-width:100%;height:auto;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px 8px;display:flex}.nav-item{border-radius:var(--radius-sm);color:#ffffffd1;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.6rem;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;overflow:hidden}.nav-icon{text-align:center;opacity:.85;flex-shrink:0;width:1rem}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{opacity:1}.nav-item:hover{color:#fff;background:#ffffff1f}.nav-item.active{color:#fff;background:#fff3;font-weight:600}.nav-badge{background:var(--color-status-cancel,#ef4444);color:#fff;border-radius:100px;flex-shrink:0;margin-left:auto;padding:3px 6px;font-size:11px;font-weight:700;line-height:1}.nav-divider{background:#ffffff26;height:1px;margin:8px 4px}.sidebar-footer{border-top:1px solid #ffffff26;flex-direction:column;gap:8px;padding:12px 8px;display:flex}.sidebar-user{padding:4px 10px}.sidebar-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:#ffffffa6;text-transform:capitalize;margin-top:1px;font-size:11px}.sidebar-logout-btn{color:#ffffffd9;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:#ffffff1f;border:1px solid #fff3;width:100%;padding:7px 12px;font-size:13px;transition:background .12s;display:block}.sidebar-logout-btn:hover{color:#fff;background:#fff3}.shell-main{margin-left:var(--sidebar-width);flex:1;min-width:0;padding:32px 28px}.page-placeholder{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);padding:40px 36px}.page-placeholder h2{color:var(--color-text);margin:0 0 10px;font-size:20px}.coming-next{color:var(--color-text-muted);margin:0;font-size:14px}.loading-screen{background:var(--color-bg);position:fixed;inset:0}.center-wrap{background:var(--color-primary);justify-content:center;align-items:center;min-height:100vh;display:flex}.card{background:var(--color-surface);border-radius:12px;padding:36px;box-shadow:0 4px 24px #00000014}.login-card{width:360px}.login-logo{-o-object-fit:contain;object-fit:contain;max-width:200px;max-height:56px;margin:0 auto 4px;display:block}.brand{color:var(--color-text);text-align:center;margin:0 0 4px;font-size:20px;font-weight:700;display:block}.brand span{color:var(--color-primary)}.subtitle{color:var(--color-text-muted);text-align:center;margin:0 0 24px;font-size:13px}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 18px;font-size:14px;font-weight:500;transition:background .12s}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-primary.w-full{width:100%;margin-top:14px;padding:11px;font-size:14.5px}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.field input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);width:100%;padding:8px 11px;font-size:14px;transition:border-color .12s}.field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.alert{background:color-mix(in srgb, var(--color-error) 10%, var(--color-surface));color:var(--color-error);border:1px solid color-mix(in srgb, var(--color-error) 25%, var(--color-surface));border-radius:var(--radius-sm);margin-bottom:14px;padding:9px 13px;font-size:13px}.muted{color:var(--color-text-muted)}h2{margin:0 0 20px;font-size:18px;font-weight:600}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:8px 16px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s}.btn-secondary:hover:not(:disabled){background:var(--color-bg);border-color:#cbd5e1}.btn-danger{background:var(--color-error);color:#fff;border:1.5px solid var(--color-error);border-radius:var(--radius-sm);cursor:pointer;padding:8px 16px;font-size:14px;font-weight:500;transition:opacity .12s}.btn-danger:hover:not(:disabled){opacity:.88}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-sm{background:var(--color-surface);color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 12px;font-size:13px;font-weight:500;transition:background .12s}.btn-sm:hover:not(:disabled){background:var(--color-bg)}.btn-sm:disabled{opacity:.45;cursor:not-allowed}.btn-sm.btn-danger{color:var(--color-error);border-color:color-mix(in srgb, var(--color-error) 30%, var(--color-border))}.btn-sm.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 8%, var(--color-surface))}.btn-sm.btn-ghost{color:var(--color-text-muted);background:0 0;border-color:#0000}.btn-sm.btn-ghost:hover{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}.btn-sm.btn-ghost.active{color:var(--color-primary)}.settings-layout{flex-direction:column;gap:0;display:flex}.settings-tabs{border-bottom:2px solid var(--color-border);gap:4px;margin-bottom:24px;display:flex}.settings-tab{color:var(--color-text-muted);border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s;display:block}.settings-tab:hover{color:var(--color-text)}.settings-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.settings-content{min-width:0}.settings-subtabs{border-bottom:1px solid var(--color-border);gap:2px;margin-bottom:20px;display:flex}.settings-subtab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:13px;font-weight:500;transition:color .12s,border-color .12s}.settings-subtab:hover{color:var(--color-text)}.settings-subtab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.settings-section{flex-direction:column;gap:20px;display:flex}.settings-section-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.settings-section-header h2{margin:0}.settings-loading{color:var(--color-text-muted);padding:20px 0}.settings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:20px 22px;display:flex}.settings-card-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 4px;font-size:13px;font-weight:700}.loc-list{flex-direction:column;gap:12px;display:flex}.loc-empty{color:var(--color-text-muted);text-align:center;padding:24px 0}.loc-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.loc-card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.loc-card-title{align-items:center;gap:8px;display:flex}.loc-name{color:var(--color-text);font-size:15px;font-weight:600}.badge-primary{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));color:var(--color-primary);border:1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-surface));text-transform:uppercase;letter-spacing:.04em;border-radius:100px;padding:1px 8px;font-size:11px;font-weight:600}.badge-inactive{background:color-mix(in srgb, var(--color-text-muted) 10%, var(--color-surface));color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:100px;padding:1px 8px;font-size:11px;font-weight:600}.loc-card-actions{gap:6px;display:flex}.loc-card-body{flex-direction:column;gap:3px;padding:12px 18px;display:flex}.loc-addr-line{color:var(--color-text);font-size:13.5px}.loc-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:14px;margin-top:4px;font-size:13px;display:flex}.loc-tz{font-style:italic}.loc-hours-toggle{padding:6px 18px 10px}.hours-editor{border-top:1px solid var(--color-border);padding:0 18px 16px}.hours-loading{color:var(--color-text-muted);padding:12px 0;font-size:13px}.hours-table{border-collapse:collapse;width:100%;margin-top:12px}.hours-table td{vertical-align:middle;padding:5px 8px 5px 0}.hours-row.closed .hours-time-cell{opacity:.4}.hours-day{width:48px;color:var(--color-text-muted);font-size:13px;font-weight:600}.hours-closed-cell{width:90px}.hours-closed-label{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:13px;display:flex}.hours-closed-label input[type=checkbox]{accent-color:var(--color-primary)}.hours-time-cell{align-items:center;gap:6px;display:flex}.hours-sep{color:var(--color-text-muted);font-size:13px}.time-input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);width:96px;padding:5px 8px;font-size:13px}.time-input:focus{border-color:var(--color-primary);outline:none}.time-input:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.hours-footer{justify-content:flex-end;align-items:center;gap:12px;margin-top:10px;display:flex}.save-success{color:var(--color-success);font-size:13px;font-weight:500}.modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal,.modal-box{background:var(--color-surface);border-radius:var(--radius);flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #0000002e}.modal-box-lg{max-width:680px}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-header h3{margin:0;font-size:16px;font-weight:600}.modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px;line-height:1;transition:background .1s}.modal-close:hover{background:var(--color-bg)}.modal-body{flex-direction:column;flex:1;gap:14px;padding:20px 22px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.modal-tabs{border-bottom:1px solid var(--color-border);padding:0 22px;display:flex}.modal-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13px}.modal-tab:hover{color:var(--color-text)}.modal-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.perm-tab{flex-direction:column;gap:12px;display:flex}.perm-grid-wrap{overflow-x:auto}.perm-grid{border-collapse:collapse;width:100%;font-size:13px}.perm-grid th{text-align:center;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:6px 10px;font-weight:600}.perm-grid th:first-child{text-align:left}.perm-grid td{vertical-align:middle;padding:6px 10px}.perm-bit-cell{text-align:center}.perm-reset-cell{text-align:right;white-space:nowrap}.perm-section-cell{white-space:nowrap}.perm-section-name{margin-right:6px}.perm-row-default td{color:var(--color-text-muted)}.perm-row-custom{border:1px solid var(--color-primary);border-radius:var(--radius-sm)}.perm-row-custom td{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-surface))}.perm-row-zero td{opacity:.45}.perm-badge{vertical-align:middle;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.perm-badge-default{background:var(--color-bg);color:var(--color-text-muted)}.perm-badge-custom{background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary)}.perm-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:4px;padding-top:10px;display:flex}.alert-warning{background:color-mix(in srgb, orange 12%, var(--color-surface));color:var(--color-text);border-left:3px solid orange}.toggle{cursor:pointer;vertical-align:middle;flex-shrink:0;align-items:center;width:40px;height:22px;display:inline-flex;position:relative}.toggle input[type=checkbox]{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.toggle-track{pointer-events:none;background:#cbd5e1;border-radius:11px;transition:background .18s;position:absolute;inset:0}.toggle input:checked+.toggle-track{background:var(--toggle-color,var(--color-primary))}.toggle-thumb{pointer-events:none;background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.toggle input:checked~.toggle-thumb{transform:translate(18px)}.toggle-disabled{opacity:.45;cursor:not-allowed}.toggle-disabled input{cursor:not-allowed}.roles-master-detail{gap:0;min-height:380px;display:flex}.roles-rail{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:180px;padding:4px 0;display:flex}.roles-rail-item{text-align:left;cursor:pointer;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;border-left:3px solid #0000;padding:10px 16px;font-size:14px;font-weight:500;transition:all .12s}.roles-rail-item:hover{color:var(--color-text);background:var(--color-bg)}.roles-rail-item.active{color:var(--color-primary);border-left-color:var(--color-primary);background:var(--color-bg);font-weight:600}.roles-detail{flex:1;min-width:0;padding:0 0 0 24px}.perm-grid .perm-bit-cell{text-align:center;min-width:56px}.perm-grid .perm-section-cell{min-width:120px}.perm-grid th.perm-action-header{font-weight:700}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:6px;font-size:13.5px;display:flex}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio]{accent-color:var(--color-primary)}.checkbox-label+.checkbox-label{margin-top:4px}.field select{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);width:100%;padding:8px 11px;font-size:14px}.field select:focus{border-color:var(--color-primary);outline:none}.input-readonly{cursor:not-allowed;background:var(--color-bg)!important;color:var(--color-text-muted)!important}.field-hint{color:var(--color-text-muted);margin-top:3px;font-size:11.5px}.color-field{align-items:center;gap:8px;display:flex}.color-swatch{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;width:34px;height:34px;padding:0}.color-text{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);flex:1;padding:8px 11px;font-family:monospace;font-size:13.5px}.color-text:focus{border-color:var(--color-primary);outline:none}.color-preview{align-items:center;gap:8px;margin-top:4px;display:flex}.color-preview-label{color:var(--color-text-muted);font-size:12px}.color-preview-swatch{border:1.5px solid #0000001a;border-radius:50%;width:24px;height:24px;display:inline-block}.tenant-form{flex-direction:column;gap:16px;display:flex}.form-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.doctor-list{flex-direction:column;gap:10px;display:flex}.doctor-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.doctor-card-left{align-items:center;gap:14px;min-width:0;display:flex}.doctor-color-dot{border:1.5px solid #0000001f;border-radius:50%;flex-shrink:0;width:14px;height:14px}.doctor-info{min-width:0}.doctor-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.doctor-spec{color:var(--color-text-muted);margin-top:1px;font-size:12.5px}.doctor-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;display:flex}.badge-type{text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:100px;padding:1px 8px;font-size:11px;font-weight:600}.badge-type-clinic{background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 25%, var(--color-surface))}.badge-type-renter{background:color-mix(in srgb, var(--color-secondary) 12%, var(--color-surface));color:color-mix(in srgb, var(--color-secondary) 75%, #000);border-color:color-mix(in srgb, var(--color-secondary) 30%, var(--color-surface))}.doctor-locs{flex-wrap:wrap;gap:5px;display:flex}.loc-chip{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:100px;padding:1px 8px;font-size:11.5px}.loc-multiselect{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;gap:6px;max-height:160px;padding:10px 12px;display:flex;overflow-y:auto}.loc-check{padding:2px 0}.sched-tabs{border-bottom:2px solid var(--color-border);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.sched-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-size:13.5px;font-weight:500;transition:color .12s,border-color .12s}.sched-tab:hover{color:var(--color-text)}.sched-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.sched-panel{flex-direction:column;display:flex}.sched-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:18px 20px}.sched-card-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:12px;font-size:12px;font-weight:700}.warn-chip{background:color-mix(in srgb, var(--color-warning) 15%, var(--color-surface));color:color-mix(in srgb, var(--color-warning) 80%, #000);border:1px solid color-mix(in srgb, var(--color-warning) 40%, var(--color-surface));white-space:nowrap;border-radius:100px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.save-banner{background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface));color:var(--color-success);border:1px solid color-mix(in srgb, var(--color-success) 30%, var(--color-surface));border-radius:var(--radius-sm);padding:9px 13px;font-size:13px;font-weight:500}.warning-banner{background:color-mix(in srgb, var(--color-warning) 12%, var(--color-surface));color:color-mix(in srgb, var(--color-warning) 80%, #000);border:1px solid color-mix(in srgb, var(--color-warning) 35%, var(--color-surface));border-radius:var(--radius-sm);flex-direction:column;gap:3px;padding:9px 13px;font-size:13px;display:flex}.overrides-table{border-collapse:collapse;width:100%;margin-bottom:14px;font-size:13px}.overrides-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:6px 8px 6px 0;font-size:11px;font-weight:700}.overrides-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:7px 8px 7px 0}.ov-date{color:var(--color-text);min-width:100px;font-weight:600}.ov-time{color:var(--color-text-muted);min-width:130px}.badge-active-sm{background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface));color:var(--color-success);border:1px solid color-mix(in srgb, var(--color-success) 30%, var(--color-surface));border-radius:100px;padding:1px 8px;font-size:11px;font-weight:600}.badge-off-sm{background:color-mix(in srgb, var(--color-text-muted) 10%, var(--color-surface));color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:100px;padding:1px 8px;font-size:11px;font-weight:600}.badge-rank{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid;border-radius:100px;padding:1px 8px;font-size:11px;font-weight:600}.badge-rank-1{background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 25%, var(--color-surface))}.badge-rank-2{background:color-mix(in srgb, var(--color-secondary) 12%, var(--color-surface));color:color-mix(in srgb, var(--color-secondary) 75%, #000);border-color:color-mix(in srgb, var(--color-secondary) 30%, var(--color-surface))}.badge-rank-3{background:color-mix(in srgb, var(--color-text-muted) 10%, var(--color-surface));color:var(--color-text-muted);border-color:var(--color-border)}.badge-neutral{background:color-mix(in srgb, var(--color-text-muted) 8%, var(--color-surface));color:var(--color-text);border:1px solid var(--color-border);white-space:nowrap;border-radius:100px;margin-top:3px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.segmented{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);width:fit-content;display:flex;overflow:hidden}.segmented-btn{background:var(--color-surface);border:none;border-right:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);padding:6px 14px;font-size:13px;font-weight:500}.segmented-btn:last-child{border-right:none}.segmented-btn.active{background:var(--color-primary);color:#fff}.override-form{border-top:1px solid var(--color-border);margin-top:14px;padding-top:14px}.override-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.override-form-row .field{flex:1;min-width:100px}.override-form-row .time-input{width:100%}.svc-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.svc-filter-select{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);min-width:180px;padding:7px 10px;font-size:13.5px}.svc-filter-select:focus{border-color:var(--color-primary);outline:none}.svc-search{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);flex:1;min-width:180px;padding:7px 11px;font-size:13.5px}.svc-search:focus{border-color:var(--color-primary);outline:none}.svc-cat-section{flex-direction:column;gap:8px;display:flex}.svc-group-header{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:4px 0 2px;font-size:11px;font-weight:700}.svc-group{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.svc-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:0;padding:12px 14px 10px;transition:box-shadow .12s;display:flex}.svc-card:hover{box-shadow:0 2px 8px #00000014}.svc-card--inactive{opacity:.55}.svc-card-body{flex:1}.svc-name{color:var(--color-text);font-size:14px;font-weight:600;line-height:1.3}.svc-cdt-code{font-family:var(--font-mono,monospace);color:var(--color-text-muted);margin-right:6px;font-size:11px;font-weight:600}.svc-name-alt{color:var(--color-text-muted);margin-top:2px;font-size:11.5px;line-height:1.3}.svc-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.svc-price{color:var(--color-primary);font-size:13px;font-weight:700}.svc-dur{color:var(--color-text-muted);font-size:12px}.svc-badges{flex-wrap:wrap;gap:4px;min-height:4px;margin-top:5px;display:flex}.svc-card-actions{border-top:1px solid var(--color-border);gap:6px;margin-top:10px;padding-top:8px;display:flex}.review-prices-banner{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));color:color-mix(in srgb, var(--color-primary) 80%, #000);border:1px solid color-mix(in srgb, var(--color-primary) 22%, var(--color-surface));border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;font-size:13px;display:flex}.fee-sched-layout{align-items:flex-start;gap:24px;margin-top:16px;display:flex}.fee-sched-left{border-right:1px solid var(--color-border);flex-shrink:0;width:380px;padding-right:20px}.fee-sched-left-header{align-items:flex-end;gap:10px;display:flex}.fee-sched-right{flex:1;min-width:0}.fee-sched-svc-list{flex-direction:column;gap:2px;max-height:520px;margin-top:10px;display:flex;overflow-y:auto}.fee-sched-svc-row{border-radius:var(--radius-sm);text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.fee-sched-svc-row:hover{background:var(--color-bg)}.fee-sched-svc-row.active{background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface))}.fee-sched-svc-code{font-family:var(--font-mono,monospace);color:var(--color-text-muted);flex-shrink:0;width:52px;font-size:12px}.fee-sched-svc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fee-sched-svc-fee{color:var(--color-text-muted);flex-shrink:0;font-size:12.5px;font-weight:600}.fee-sched-svc-row.active .fee-sched-svc-fee{color:var(--color-primary)}.autocomplete-dropdown{background:var(--color-surface);border:1px solid var(--color-border);z-index:200;border-radius:6px;max-height:300px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.autocomplete-dropdown-lg{max-height:360px}.autocomplete-item{cursor:pointer;border-bottom:1px solid var(--color-border);text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;flex-direction:column;gap:2px;width:100%;padding:9px 12px;font-size:13.5px;transition:background .1s;display:flex}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--color-primary-subtle)}.autocomplete-dropdown-lg .autocomplete-item{flex-direction:row;align-items:center;gap:8px;padding:7px 12px;font-size:13px}.autocomplete-dropdown-lg .autocomplete-item>span:first-child{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.autocomplete-dropdown-lg .autocomplete-item>span.text-muted{white-space:nowrap;flex-shrink:0;font-size:12px}.autocomplete-dropdown-lg .autocomplete-item>span:last-child{font-variant-numeric:tabular-nums;margin-left:auto}.pt-page{flex-direction:column;gap:16px;display:flex}.pt-page-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.pt-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pt-search{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);flex:1;min-width:220px;max-width:380px;padding:7px 11px;font-size:14px}.pt-search:focus{border-color:var(--color-primary);outline:none}.pt-dob-filter{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);width:156px;padding:7px 10px;font-size:13.5px}.pt-dob-filter:focus{border-color:var(--color-primary);outline:none}.pt-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.pt-table{border-collapse:collapse;width:100%;font-size:13.5px}.pt-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}.pt-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;padding:10px 14px}.pt-row{cursor:pointer;transition:background .1s}.pt-row:hover td{background:var(--color-primary-subtle)}.pt-row:last-child td{border-bottom:none}.pt-cell-id{color:var(--color-text-muted);white-space:nowrap;font-family:monospace;font-size:13px}.pt-cell-name{font-weight:600}.pt-cell-loading,.pt-cell-empty{text-align:center;color:var(--color-text-muted);font-size:13.5px;padding:24px 0!important}.pt-pagination{justify-content:center;align-items:center;gap:14px;padding:6px 0;display:flex}.pt-page-info{color:var(--color-text-muted);font-size:13px}.pt-detail-header{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.pt-detail-title{flex-direction:column;flex:1;gap:5px;display:flex}.pt-detail-name{color:var(--color-text);font-size:20px;font-weight:700;line-height:1.2}.pt-detail-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pt-detail-grid{grid-template-columns:1fr;gap:20px;margin-top:16px;display:grid}.pt-detail-col{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:18px 20px}.pt-detail-col h3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;font-size:14px}.kv-list{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.kv-list dt{color:var(--color-text-muted);font-size:13px}.kv-list dd{color:var(--color-text);margin:0;font-weight:600}@media (width>=900px){.pt-detail-grid{grid-template-columns:1fr 1fr}}.pt-id-chip{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:100px;padding:2px 10px;font-family:monospace;font-size:13px;font-weight:600}.pt-meta-item{color:var(--color-text-muted);font-size:13.5px}.profile-form{flex-direction:column;gap:16px;display:flex}.chart-summary-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chart-summary-pill{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:100px;padding:4px 12px;font-size:13px;font-weight:600}.chart-summary-pill:hover{background:var(--color-primary-subtle)}.chart-summary-dot{color:var(--color-text-muted)}.activity-timeline{flex-direction:column;gap:2px;margin-top:10px;display:flex}.activity-timeline-row{border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:8px 6px;display:flex}.activity-timeline-row:last-child{border-bottom:none}.activity-timeline-row:hover{background:var(--color-primary-subtle)}.activity-timeline-icon{flex:none;font-size:16px}.activity-timeline-body{flex-direction:column;gap:2px;min-width:0;display:flex}.activity-timeline-summary{color:var(--color-text);font-size:13.5px}.activity-timeline-date{color:var(--color-text-muted);font-size:12px}.odo-wrap{flex-direction:column;gap:10px;display:flex}.odo-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.odo-dentition-toggle{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.odo-picker{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.odo-picker-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.odo-picker-title{color:var(--color-text-muted);font-size:14px}.odo-picker-body{flex-direction:column;gap:14px;padding:14px 16px;display:flex}.odo-picker-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.odo-cond-grid{flex-wrap:wrap;gap:6px;display:flex}.odo-cond-btn{border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--cond-color,var(--color-surface));color:var(--color-text);cursor:pointer;text-transform:capitalize;padding:5px 12px;font-size:12.5px;font-weight:500;transition:border-color .12s}.odo-cond-btn:hover{border-color:#94a3b8}.odo-cond-btn.active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-subtle)}.odo-surf-row{gap:8px;display:flex}.odo-surf-btn{border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface);width:40px;height:36px;color:var(--color-text-muted);cursor:pointer;font-size:13px;font-weight:700;transition:background .12s,border-color .12s,color .12s}.odo-surf-btn:hover{background:var(--color-bg)}.odo-surf-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.bridge-arch{align-items:center;gap:6px;padding:10px 0;display:flex;overflow-x:auto}.bridge-half{gap:3px;display:flex}.bridge-midline{background:var(--color-border);flex-shrink:0;width:2px;height:36px;margin:0 4px}.bridge-chip{border:2px solid var(--color-border);background:var(--color-bg);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:6px;flex-shrink:0;font-size:10px;transition:all .12s}.bridge-chip:hover{background:#f5f3ff;border-color:#a78bfa}.odo-legend-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 14px 14px}.odo-legend-section .odo-picker-label{margin-bottom:10px}.odo-legend{grid-template-columns:1fr 1fr;gap:6px 8px;display:grid}.odo-legend-item{color:var(--color-text);text-transform:capitalize;align-items:center;gap:7px;min-width:0;font-size:12px;display:flex}.odo-legend-item span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.odo-legend-swatch{border:1.5px solid;border-radius:3px;flex-shrink:0;width:14px;height:14px}.odo-erupt-bar{border-bottom:1px solid var(--color-border);background:var(--color-bg);padding:10px 14px}.odo-erupt-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.odo-erupt-hint{color:var(--color-text-muted);flex:1;font-size:12.5px}.odo-erupt-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:4px 12px;font-size:12px;font-weight:600;transition:background .12s}.odo-erupt-btn:hover{background:var(--color-primary-hover)}.odo-restore-btn{color:#b45309;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d97706;padding:4px 12px;font-size:12px;font-weight:600;transition:background .12s}.odo-restore-btn:hover{background:#fffbeb}.odo-erupt-row--perm{background:color-mix(in srgb, var(--color-primary) 4%, transparent)}.odo-erupt-row--perm .odo-erupt-hint{color:#1e40af}.odo-badge-primary{color:#b45309;vertical-align:middle;background:#fef3c7;border:1px solid #fcd34d;border-radius:100px;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:600}.odo-complete-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:#16a34a;border:none;padding:5px 12px;font-size:12.5px;font-weight:600;transition:background .12s}.odo-complete-btn:hover{background:#15803d}.odo-badge-perm{color:var(--color-primary);background:var(--color-primary-subtle);border:1px solid color-mix(in srgb, var(--color-primary) 30%, transparent);vertical-align:middle;border-radius:100px;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:600}.odo-layout{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}@media (width<=860px){.odo-layout{grid-template-columns:1fr}}.odo-chart-col{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:0;padding:12px}.odo-chart-scroll{overflow:visible}.odo-panel-col{flex-direction:column;gap:12px;display:flex;position:sticky;top:72px}.odo-panel-hint{background:var(--color-surface);border:1.5px dashed var(--color-border);border-radius:var(--radius);text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px 16px;font-size:13px;display:flex}.odo-panel-hint-icon{opacity:.45;font-size:30px;line-height:1}.odo-tooltip{white-space:nowrap;padding:8px 10px;font-size:12.5px;line-height:1.4}.odo-tooltip-cond{text-transform:capitalize;align-items:center;gap:6px;margin-top:4px;display:flex}.odo-tooltip-swatch{border:1.5px solid;border-radius:2px;flex-shrink:0;width:10px;height:10px}.odo-tooltip-surfaces{color:var(--color-text-muted);letter-spacing:.12em;margin-top:3px;font-family:monospace;font-size:11px}.odo-tooltip-note{color:var(--color-text-muted);white-space:normal;max-width:180px;margin-top:3px;font-size:11.5px;font-style:italic}.advanced-collapsible{border-top:1px solid var(--color-border);margin-top:12px;padding-top:10px}.advanced-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;align-items:center;gap:7px;padding:4px 0;font-size:13px;font-weight:500;transition:color .12s;display:flex}.advanced-toggle:hover{color:var(--color-text)}.advanced-toggle-icon{font-size:11px}.advanced-body{flex-direction:column;gap:12px;margin-top:12px;display:flex}.id-doc-row{gap:6px;display:flex}.id-doc-row select{flex:0 0 130px}.id-doc-row input{flex:1}.time-picker-24{align-items:center;gap:3px;display:flex}.time-select{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-align:center;width:52px;padding:5px 4px;font-size:13px}.time-select:focus{border-color:var(--color-primary);outline:none}.time-select:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.time-colon{color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:14px;font-weight:600}.branding-upload-field{flex-direction:column;gap:6px;display:flex}.branding-upload-field>label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.branding-upload-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.branding-preview-img{-o-object-fit:contain;object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);max-width:120px;height:40px;padding:3px}.branding-upload-controls{align-items:center;gap:8px;display:flex}.doc-panel{flex-direction:column;gap:16px;display:flex}.doc-upload-form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:14px 16px}.doc-upload-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.doc-group{flex-direction:column;gap:6px;display:flex}.doc-group-header{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);text-transform:capitalize;padding:3px 0 2px;font-size:11px;font-weight:700}.doc-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;display:flex}.doc-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.doc-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.doc-meta{color:var(--color-text-muted);font-size:12px}.doc-row-actions{flex-shrink:0;gap:6px;display:flex}.cal-outer{align-items:stretch;gap:0;height:calc(100vh - 64px);min-height:480px;display:flex}.cal-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.waitlist-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;flex-shrink:0;width:280px;margin-right:8px;transition:width .18s;display:flex;overflow:hidden}.waitlist-sidebar--collapsed{width:40px}.waitlist-sidebar__header{border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0;align-items:center;gap:6px;padding:10px;display:flex}.waitlist-sidebar--collapsed .waitlist-sidebar__header{flex-direction:column;align-items:center;gap:6px;padding:10px 4px}.waitlist-sidebar__title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.waitlist-sidebar__count{background:var(--color-primary);color:#fff;border-radius:10px;flex-shrink:0;padding:1px 6px;font-size:10px;line-height:1.6}.waitlist-sidebar__toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;padding:2px 3px;font-size:15px;line-height:1}.waitlist-sidebar__toggle:hover{color:var(--color-text)}.waitlist-sidebar__search{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:7px 8px}.waitlist-sidebar__search input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);outline:none;padding:4px 7px;font-size:12px}.waitlist-sidebar__search input:focus{border-color:var(--color-primary)}.waitlist-sidebar__body{flex:1;overflow-y:auto}.waitlist-sidebar__empty{color:var(--color-text-muted);text-align:center;padding:20px 12px;font-size:12px;line-height:1.5}.waitlist-group__header{cursor:pointer;background:var(--color-bg);border-bottom:1px solid var(--color-border);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:6px 10px;display:flex}.waitlist-group__header:hover{background:var(--color-primary-subtle)}.waitlist-group__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.waitlist-group__meta{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.waitlist-item{border-bottom:1px solid var(--color-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;gap:3px;padding:6px 10px 6px 18px;display:flex}.waitlist-item:hover{background:color-mix(in srgb, var(--color-primary) 5%, transparent)}.waitlist-item--no-drag{cursor:default;touch-action:auto}.waitlist-item--dragging{opacity:.4;cursor:grabbing}body.dnd-dragging *{cursor:grabbing!important}.waitlist-item__row1{align-items:center;gap:5px;min-width:0;display:flex}.waitlist-item__svc{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.waitlist-item__phase{background:var(--color-border);color:var(--color-text-muted);border-radius:4px;flex-shrink:0;padding:1px 4px;font-size:10px;line-height:1.5}.waitlist-item__row2{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.waitlist-item__tooth{background:var(--color-primary-subtle);color:var(--color-primary);border-radius:3px;padding:1px 4px;font-size:10px;font-weight:600}.waitlist-item__price,.waitlist-item__doctor{color:var(--color-text-muted);font-size:11px}.waitlist-item__doctor--none{opacity:.7;font-style:italic}.drag-ghost{background:var(--color-surface);border:1px solid var(--color-primary);opacity:.92;pointer-events:none;cursor:grabbing;border-radius:8px;min-width:160px;max-width:220px;padding:8px 12px;transform:rotate(-2deg);box-shadow:0 8px 20px #0000002e}.drag-ghost__name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.drag-ghost__svc{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.drag-ghost__tooth{background:var(--color-primary-subtle);color:var(--color-primary);border-radius:3px;margin-top:4px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.cal-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;display:flex}.cal-toolbar__left{flex-shrink:0;align-items:center;gap:8px;display:flex}.cal-toolbar__center{align-items:center;display:flex}.cal-toolbar__right{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.cal-toolbar__bh-label{color:var(--color-text-muted);white-space:nowrap;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);padding:3px 7px;font-size:11.5px}.cal-toolbar__refresh-btn{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);background:0 0;padding:4px 9px;font-size:15px;line-height:1;transition:color .1s,background .1s}.cal-toolbar__refresh-btn:hover{color:var(--color-primary);background:var(--color-bg)}.cal-date-input{border-radius:var(--radius-sm);border:1.5px solid var(--color-border);cursor:pointer;background:var(--color-surface);color:var(--color-text);padding:4px 7px;font-size:12px}.cal-date-input:focus{border-color:var(--color-primary);outline:none}.cal-doc-pills{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.cal-doc-pill{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:500;transition:background .1s,color .1s,border-color .1s;display:flex}.cal-doc-pill:hover{background:var(--color-bg);color:var(--color-text)}.cal-doc-pill--active{color:#fff}.cal-doc-pill-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cal-doc-select{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:3px 6px;font-size:12px}.cal-loc-select{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);max-width:200px;padding:5px 10px;font-size:13.5px}.cal-loc-select:focus{border-color:var(--color-primary);outline:none}.cal-loc-name{color:var(--color-text);font-size:14px;font-weight:600}.cal-nav{align-items:center;gap:2px;display:flex}.cal-nav-btn{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text);padding:5px 11px;font-size:16px;line-height:1;transition:background .1s}.cal-nav-btn:hover{background:var(--color-bg)}.cal-nav-btn--today{padding:5px 12px;font-size:13px}.cal-date-label{color:var(--color-text);white-space:nowrap;min-width:160px;font-size:14px;font-weight:600}.cal-view-switch{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.cal-view-btn{background:var(--color-surface);border:none;border-right:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);padding:5px 14px;font-size:13px;font-weight:500;transition:background .1s,color .1s}.cal-view-btn:last-child{border-right:none}.cal-view-btn:hover{background:var(--color-bg);color:var(--color-text)}.cal-view-btn.active{background:var(--color-primary);color:#fff}.cal-content{flex-direction:column;flex:1;padding-top:8px;display:flex;position:relative;overflow:hidden}.cal-loading,.cal-empty{text-align:center;color:var(--color-text-muted);padding:40px}.cal-loading-overlay{z-index:5;pointer-events:none;background:#ffffff59;position:absolute;inset:0}.cal-time-grid{-webkit-user-select:none;user-select:none;position:relative}.cal-slot{position:absolute;left:0;right:0}.cal-slot--hour{border-top:1px solid var(--color-border)}.cal-slot--half{border-top:1px solid color-mix(in srgb, var(--color-border) 65%, transparent)}.cal-slot--five{border-top:1px solid color-mix(in srgb, var(--color-border) 30%, transparent);height:1px}.cal-hour-label{color:var(--color-text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:10px;position:absolute;top:-9px;right:4px}.cal-half-label{color:color-mix(in srgb, var(--color-text-muted) 55%, transparent);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:9.5px;position:absolute;top:-8px;right:4px}.cal-five-label{color:color-mix(in srgb, var(--color-text-muted) 38%, transparent);white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:-.01em;font-size:8.5px;position:absolute;top:-7px;right:4px}.cal-day-scroll{flex:1;padding-top:10px;position:relative;overflow-y:auto}.cal-time-col{flex-shrink:0;width:56px;position:relative}.cal-appt-area{background-image:repeating-linear-gradient(to bottom, var(--color-border) 0, var(--color-border) 1px, transparent 1px, transparent 192px);flex:1;position:relative}.cal-bh-line{z-index:2;pointer-events:none;height:1px;position:absolute;left:0;right:0}.cal-bh-line--start{background:color-mix(in srgb, var(--color-success) 40%, transparent)}.cal-bh-line--end{background:color-mix(in srgb, var(--color-warning) 40%, transparent)}.cal-bh-label{white-space:nowrap;border-radius:2px;padding:1px 4px;font-size:10px;font-weight:500;position:absolute;top:-9px}.cal-bh-label--start{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface));left:60px}.cal-bh-label--end{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 10%, var(--color-surface));left:60px}.cal-current-time{background:var(--color-error);z-index:4;pointer-events:none;height:2px;position:absolute;left:0;right:0}.cal-current-time__dot{background:var(--color-error);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.cal-appt{-webkit-user-select:none;user-select:none;border-radius:4px;padding:3px 5px;font-size:11.5px;line-height:1.25;transition:filter .1s;position:absolute;overflow:hidden;box-shadow:0 1px 3px #00000026}.cal-appt:hover{filter:brightness(1.08)}.cal-appt--completed{opacity:.75}.cal-appt--cancelled{opacity:.55}.cal-appt--overlap{box-shadow:0 1px 4px #0003}.cal-appt__content{flex-direction:column;gap:1px;height:100%;display:flex;overflow:hidden}.cal-appt__content--compact{flex-direction:column;gap:0;display:flex;overflow:hidden}.cal-appt__row1{justify-content:space-between;align-items:center;gap:4px;display:flex;overflow:hidden}.cal-appt__name{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.cal-appt__name--compact{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-weight:600;overflow:hidden}.cal-appt__time{opacity:.9;white-space:nowrap;font-size:10.5px}.cal-appt__time--compact{opacity:.85;white-space:nowrap;flex-shrink:0;font-size:10px}.cal-appt__service{opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.cal-appt__status-badge{color:#fff;letter-spacing:.03em;pointer-events:none;opacity:.92;border-radius:3px;padding:1px 4px;font-size:8.5px;font-weight:700;position:absolute;top:3px;right:4px}.cal-appt__status-pill{letter-spacing:.02em;pointer-events:none;opacity:.9;border-radius:10px;padding:1px 4px;font-size:8px;font-weight:700;position:absolute;top:3px;right:4px}.cal-day-multi{min-width:0;display:flex}.cal-day-multi--2 .cal-half{border-right:2px solid var(--color-border);flex:1}.cal-day-multi--2 .cal-half:last-child{border-right:none}.cal-day-multi--3 .cal-half{border-right:2px solid var(--color-border);flex:1}.cal-day-multi--3 .cal-half:last-child{border-right:none}.cal-week-outer{flex-direction:column;flex:1;display:flex;overflow:hidden}.cal-week-header-row{border-bottom:1px solid var(--color-border);background:var(--color-bg);z-index:4;flex-shrink:0;display:flex;position:sticky;top:0}.cal-week-timecol-spacer{flex-shrink:0;width:56px}.cal-week-col-header{text-align:center;color:var(--color-text-muted);border-left:1px solid var(--color-border);flex:1;padding:8px 4px;font-size:12.5px;font-weight:600}.cal-week-col-header--today{color:var(--color-primary)}.cal-week-col-header--clickable{cursor:pointer}.cal-week-col-header--clickable:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.cal-week-scroll{flex:1;padding-top:10px;overflow-y:auto}.cal-week-grid-body{display:flex;position:relative}.cal-week-day-cols{flex:1;display:flex}.cal-week-day-col-wrap{border-left:1px solid var(--color-border);flex:1;min-width:80px;position:relative}.cal-week-day-col-wrap--today{background:color-mix(in srgb, var(--color-primary) 3%, var(--color-surface))}.cal-month-outer{flex-direction:column;flex:1;display:flex;overflow:hidden}.cal-month-dow-row{background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}.cal-month-dow-cell{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:6px 4px;font-size:11.5px;font-weight:700}.cal-month-grid{flex-direction:column;flex:1;display:flex;overflow-y:auto}.cal-month-week{border-bottom:1px solid var(--color-border);flex:1;grid-template-columns:repeat(7,1fr);min-height:90px;display:grid}.cal-month-cell{border-right:1px solid var(--color-border);flex-direction:column;gap:2px;min-height:90px;padding:4px;display:flex;overflow:hidden}.cal-month-cell--out{background:var(--color-bg)}.cal-month-cell--today{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-surface))}.cal-month-cell--expanded{min-height:160px}.cal-month-day-num{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;padding:1px 2px;font-size:12px;font-weight:500;display:flex}.cal-month-day-num:hover{background:var(--color-bg)}.cal-month-day-num--today{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.cal-month-pill{color:#fff;cursor:pointer;border-radius:3px;flex-shrink:0;align-items:center;gap:4px;padding:2px 5px;font-size:10.5px;line-height:1.3;display:flex;overflow:hidden}.cal-month-pill:hover{filter:brightness(1.1)}.cal-month-pill-time{flex-shrink:0;font-weight:600}.cal-month-pill-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-month-more{color:var(--color-primary);cursor:pointer;flex-shrink:0;padding:1px 3px;font-size:10.5px;font-weight:500}.cal-month-more:hover{text-decoration:underline}.cal-month-more--collapse{color:var(--color-text-muted)}.cal-month-cancelled-badge{color:var(--color-text-muted);cursor:pointer;font-size:10px}.cal-cancelled-badge{color:#991b1b;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;z-index:50;pointer-events:auto;background:#fee2e2;border:1px dashed #dc2626;border-radius:9px;align-items:center;height:18px;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex;position:absolute;left:2px}.cal-cancelled-badge:hover{background:#fecaca}.cancelled-list-row{text-align:left;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;width:100%;color:var(--color-text);background:0 0;flex-direction:column;gap:3px;padding:10px 20px;display:flex}.cancelled-list-row:last-child{border-bottom:none}.cancelled-list-row:hover{background:var(--color-primary-subtle)}.cancelled-list-row__left{align-items:center;gap:6px;font-size:13px;display:flex}.cancelled-list-row__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.cancelled-list-row__meta{color:var(--color-text-muted);gap:5px;font-size:11px;display:flex}.cal-appt--dragging{outline:2px solid var(--color-primary);box-shadow:0 8px 24px #00000038}.autocomplete-item{flex-direction:column;gap:2px;display:flex}.autocomplete-item__name{color:var(--color-text);font-size:13.5px}.autocomplete-item__meta{color:var(--color-text-muted);font-size:11.5px}.autocomplete-dropdown--sm{max-height:200px}.autocomplete-empty{color:var(--color-text-muted);padding:9px 12px;font-size:13px;font-style:italic}.form-control--sm{padding:4px 8px;font-size:13px}.btn-icon{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:14px}.btn-icon:hover{background:var(--color-bg)}.btn-icon--danger:hover{color:#dc2626}.btn-link{cursor:pointer;color:var(--color-primary);background:0 0;border:none;padding:0;font-size:13px}.btn-link:hover{text-decoration:underline}.surface-chip{border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;width:28px;height:24px;color:var(--color-text-muted);border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.surface-chip--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.detail-row{align-items:flex-start;gap:12px;font-size:14px;display:flex}.detail-row--notes{flex-direction:column;gap:4px}.detail-label{width:90px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding-top:2px;font-size:12px}.detail-value{color:var(--color-text);flex:1}.detail-table{border-collapse:collapse;width:100%;font-size:13px}.detail-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);padding:4px 8px 4px 0;font-size:11px}.detail-table td{border-bottom:1px solid var(--color-border-subtle,var(--color-border));padding:5px 8px 5px 0}.detail-table tr:last-child td{border-bottom:none}.ctx-menu{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;min-width:180px;overflow:hidden;box-shadow:0 6px 20px #00000024}.ctx-menu__header{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;text-overflow:ellipsis;padding:8px 12px 6px;font-size:12px;font-weight:600;overflow:hidden}.ctx-menu__item{cursor:pointer;text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;align-items:center;padding:8px 12px;font-size:13.5px;transition:background .1s;display:flex}.ctx-menu__item:hover{background:var(--color-bg)}.ctx-menu__item--danger{color:#dc2626}.ctx-menu__item--danger:hover{background:#fef2f2}.ctx-menu__separator{background:var(--color-border);height:1px;margin:3px 0}.modal--lg{max-width:640px!important}.modal--detail{max-width:480px!important}.combobox{position:relative}.combobox-spinner{color:var(--color-text-muted);pointer-events:none;font-size:13px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.combobox-chip-wrap{display:flex}.combobox-chip{background:var(--color-bg,#f1f5f9);border:1.5px solid var(--color-border);color:var(--color-text);border-radius:100px;align-items:center;gap:6px;max-width:100%;padding:6px 10px;font-size:13.5px;display:inline-flex}.combobox-chip__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.combobox-chip__meta{color:var(--color-text-muted);margin-left:4px;font-size:12px}.combobox-chip__clear{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:100px;flex-shrink:0;padding:0 4px;font-size:13px;line-height:1;transition:color .1s,background .1s}.combobox-chip__clear:hover{color:#dc2626;background:#dc26261a}.svc-line{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;margin-bottom:8px;padding:10px 12px}.svc-line__header{align-items:center;gap:8px;display:flex}.svc-line__footer{flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;display:flex}.svc-line__label{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.form-control--invalid{border-color:#dc2626!important}.fdi-error{color:#dc2626;margin-top:3px;font-size:11px}.fdi-pattern-hint{color:var(--color-text-muted);white-space:nowrap;margin-top:2px;font-size:11px}.fdi-hint-icon{color:var(--color-text-muted);cursor:help;vertical-align:middle;margin-left:4px;font-size:11px;display:inline-block}.cal-hover-slot{pointer-events:none;z-index:1;background:#3b82f61f;border-top:1px dashed #3b82f673;height:16px;position:absolute;left:0;right:0}.cal-hover-slot--drag{background:#22c55e2e;border-top-color:#22c55ea6}.cal-slot-tooltip{color:#f9fafb;pointer-events:none;z-index:50;white-space:nowrap;background:#111827d1;border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:600;line-height:1.6;position:absolute;right:6px}.btn-add-service{background:var(--color-surface);color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:5px;padding:5px 12px;font-size:13px;font-weight:500;transition:background .12s;display:inline-flex}.btn-add-service:hover:not(:disabled){background:var(--color-primary-subtle)}.btn-add-service:disabled{opacity:.45;cursor:not-allowed}.combobox-doctor-dot{border:1.5px solid #0000001f;border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.plan-list-empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;padding:32px}.plan-list-cards{flex-direction:column;gap:8px;display:flex}.plan-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:16px;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:flex}.plan-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000000f}.plan-card__left{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.plan-card__title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.plan-card__meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.plan-card__patient{font-weight:500}.plan-card__pid{font-size:12px}.plan-card__doc{color:var(--color-text-muted)}.plan-card__right{flex-shrink:0;align-items:center;gap:12px;display:flex}.plan-card__counts{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.plan-card__count-label{color:var(--color-text-muted);white-space:nowrap;font-size:11px}.plan-card__total{color:var(--color-text);white-space:nowrap;font-size:12.5px;font-weight:600}.plan-card__date{white-space:nowrap;text-align:right;min-width:80px;font-size:12px}.btn-icon-ghost{cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:4px 7px;font-size:16px;line-height:1;transition:color .1s,background .1s}.btn-icon-ghost:hover{color:var(--color-error);background:#dc262614}.btn-danger-ghost{border:1px solid var(--color-error);color:var(--color-error);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:3px 9px;font-size:12px;transition:background .1s}.btn-danger-ghost:hover:not(:disabled){background:#dc262612}.btn-danger-ghost:disabled{opacity:.4;cursor:not-allowed}.plan-breadcrumb{margin-bottom:4px}.plan-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:start;gap:20px;padding:20px 22px;display:grid}.plan-hero-main{flex-direction:column;gap:8px;min-width:0;display:flex}.plan-hero-status-row{align-items:center;gap:10px;display:flex}.plan-title-row{align-items:center;gap:8px;display:flex}.plan-title{color:var(--color-text);margin:0;font-size:20px;font-weight:700;line-height:1.25}.plan-title-edit-btn{opacity:.55;font-size:14px}.plan-title-edit-btn:hover{opacity:1;color:var(--color-primary)}.plan-title-edit-row{align-items:center;gap:8px;display:flex}.plan-title-input{border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);flex:1;padding:5px 10px;font-size:18px;font-weight:600}.plan-title-input:focus{outline:none}.plan-hero-who{flex-wrap:wrap;align-items:center;gap:7px;font-size:13.5px;display:flex}.plan-hero-patient{font-weight:500}.plan-hero-pid{font-size:12px}.plan-hero-sep,.plan-hero-doctor{color:var(--color-text-muted)}.plan-notes{color:var(--color-text-muted);background:var(--color-bg);border-left:3px solid var(--color-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 12px;font-size:13px;line-height:1.55}.plan-hero-aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:14px;display:flex}.plan-total-box{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.plan-total-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px;font-weight:600}.plan-total-value{color:var(--color-text);white-space:nowrap;font-size:22px;font-weight:700}.plan-action-btns{flex-direction:column;align-items:stretch;gap:8px;min-width:140px;display:flex}.plan-phases{flex-direction:column;gap:16px;display:flex}.plan-phase{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:0 var(--radius) var(--radius) 0;overflow:hidden}.plan-phase-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:10px 14px;display:flex}.plan-phase-badge{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-flex}.plan-phase-label{color:var(--color-text);flex:1;font-size:13px;font-weight:600}.plan-phase-add{margin-left:auto}.plan-phase-items{flex-direction:column;gap:8px;padding:6px 12px 10px;display:flex}.aging-widget{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.aging-bucket{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.aging-bucket-danger{border-color:var(--color-status-cancel,#ef4444);background:color-mix(in srgb, var(--color-status-cancel,#ef4444) 6%, var(--color-surface))}.aging-bucket-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.aging-bucket-danger .aging-bucket-label{color:var(--color-status-cancel,#ef4444)}.aging-bucket-count{text-transform:none;letter-spacing:0;font-weight:400}.aging-bucket-value{color:var(--color-text);font-size:20px;font-weight:700}.aging-bucket-danger .aging-bucket-value{color:var(--color-status-cancel,#ef4444)}.summary-stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.summary-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.summary-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px;font-weight:600}.summary-stat-value{color:var(--color-text);font-size:18px;font-weight:700}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th .sort-arrow{color:var(--color-text-muted);margin-left:4px;font-size:10px}.plan-item-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:10px 12px;transition:border-color .1s}.plan-item-card:hover{border-color:#cbd5e1}.plan-item-card--done{background:color-mix(in srgb, var(--color-success) 5%, var(--color-surface));border-color:color-mix(in srgb, var(--color-success) 25%, var(--color-border))}.plan-item-card--cancelled{opacity:.55}.plan-item-top{align-items:center;gap:10px;margin-bottom:6px;display:flex}.plan-item-service{color:var(--color-text);flex:1;min-width:0;font-size:13.5px;font-weight:500}.plan-item-top-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.plan-item-price{color:var(--color-text);white-space:nowrap;font-size:13px;font-weight:600}.plan-item-bottom{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.plan-item-meta{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.plan-item-doctor{color:var(--color-text-muted);font-size:12px}.plan-item-linked{color:var(--color-primary);font-size:11px;font-weight:500}.plan-item-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.tooth-chip{background:var(--color-primary-subtle);color:var(--color-primary);border:1px solid color-mix(in srgb, var(--color-primary) 25%, transparent);white-space:nowrap;border-radius:100px;padding:1px 8px;font-size:11.5px;font-weight:600;display:inline-block}.surface-chips{gap:3px;display:inline-flex}.surface-chip{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:inline-flex}.plan-add-phase-btn{background:var(--color-surface);border:1.5px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px;font-size:13px;transition:border-color .12s,color .12s;display:flex}.plan-add-phase-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.page-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-title{margin:0;font-size:19px;font-weight:700}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pagination{justify-content:center;align-items:center;gap:14px;padding:6px 0;display:flex}.text-muted{color:var(--color-text-muted)}.table-link{color:var(--color-primary);font-weight:600}.report-control-bar{margin-bottom:4px}.report-date-chips{gap:6px;display:flex}.report-totals-row td{background:var(--color-bg);border-top:2px solid var(--color-border)}.report-row-danger td{background:color-mix(in srgb, var(--color-status-cancel,#ef4444) 6%, var(--color-surface))}.summary-stat-grid.cols-5{grid-template-columns:repeat(5,1fr)}.summary-stat-grid.cols-6{grid-template-columns:repeat(6,1fr)}.summary-stat-subtitle{color:var(--color-text-muted);font-size:11.5px;font-weight:600}.report-substat-row{gap:12px;margin:4px 0 12px;display:flex}.report-substat{color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:baseline;gap:6px;padding:6px 10px;font-size:12.5px;display:flex}.report-substat strong{color:var(--color-text);font-size:14px}.summary-stat-card.tint-current{background:var(--color-bg)}.summary-stat-card.tint-30-60{background:color-mix(in srgb, var(--color-status-progress,#f59e0b) 8%, var(--color-surface));border-color:color-mix(in srgb, var(--color-status-progress,#f59e0b) 25%, var(--color-border))}.summary-stat-card.tint-60-90{background:color-mix(in srgb, var(--color-status-progress,#f59e0b) 16%, var(--color-surface));border-color:color-mix(in srgb, var(--color-status-progress,#f59e0b) 40%, var(--color-border))}.summary-stat-card.tint-90-plus{background:color-mix(in srgb, var(--color-status-cancel,#ef4444) 10%, var(--color-surface));border-color:color-mix(in srgb, var(--color-status-cancel,#ef4444) 30%, var(--color-border))}.summary-stat-card.tint-90-plus .summary-stat-value{color:var(--color-status-cancel,#ef4444)}.summary-stat-card.tint-grand-total{border-width:2px;border-color:var(--color-primary)}.report-method-mix{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.report-method-mix-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.report-method-mix-row{grid-template-columns:110px 1fr 140px;align-items:center;gap:10px;font-size:13px;display:grid}.report-method-mix-label{text-transform:capitalize;color:var(--color-text-muted)}.report-method-mix-bar-track{background:var(--color-bg);border-radius:5px;height:10px;overflow:hidden}.report-method-mix-bar-fill{border-radius:5px;height:100%;transition:width .2s}.report-method-mix-value{text-align:right;font-variant-numeric:tabular-nums}.multiselect{position:relative}.multiselect-trigger{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;padding:7px 11px;font-size:13.5px}.multiselect-trigger:hover{border-color:var(--color-primary)}.multiselect-caret{color:var(--color-text-muted);margin-left:2px;font-size:10px}.multiselect-dropdown{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;min-width:220px;max-height:260px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.multiselect-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;font-size:13.5px;display:flex}.multiselect-item:hover{background:var(--color-bg)}.multiselect-item-disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.55}.multiselect-item-disabled:hover{background:0 0}.multiselect-empty{color:var(--color-text-muted);padding:6px 8px;font-size:13px}.btn-icon-sm{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;width:14px;padding:0 2px;font-size:11px;display:inline-block}.btn-icon-sm:hover{color:var(--color-text)}.report-inline-dl{margin:6px 0 2px 20px}.report-inline-dl-row{color:var(--color-text-muted);gap:8px;font-size:12px;display:flex}.report-inline-dl-row dt{font-weight:500}.report-inline-dl-row dt:after{content:":"}.report-inline-dl-row dt,.report-inline-dl-row dd{margin:0}.report-row-renter td{background:color-mix(in srgb, var(--color-text-muted) 4%, var(--color-surface))}.report-status-pill{border-radius:100px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.report-status-pill.status-good{color:#15803d;background:#22c55e26}.report-status-pill.status-warn{color:#b45309;background:#f59e0b2e}.report-status-pill.status-bad{background:color-mix(in srgb, var(--color-status-cancel,#ef4444) 15%, transparent);color:var(--color-status-cancel,#ef4444)}.report-bar-track{background:var(--color-bg);vertical-align:middle;border-radius:4px;width:80px;height:6px;margin-right:6px;display:inline-block;overflow:hidden}.report-bar-fill{background:var(--color-primary);border-radius:4px;height:100%}.report-row-other td{color:var(--color-text-muted);font-style:italic}.report-days-expired{color:var(--color-status-cancel,#ef4444);font-weight:500}.report-days-soon{color:var(--color-status-progress,#f59e0b);font-weight:500}.report-days-ok{color:var(--color-status-done,#22c55e)}.recall-summary-cards{flex-wrap:wrap;gap:14px;display:flex}.recall-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:left;cursor:pointer;flex:1;min-width:140px;padding:14px 18px;transition:border-color .12s,box-shadow .12s}.recall-summary-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000000f}.recall-summary-card__value{font-size:24px;font-weight:700}.recall-summary-card__label{color:var(--color-text-muted);margin-top:2px;font-size:12.5px}.recall-summary-card--red .recall-summary-card__value{color:var(--color-status-cancel,#ef4444)}.recall-summary-card--amber .recall-summary-card__value{color:#b45309}.recall-status-chip{color:var(--chip-color,#64748b);background:color-mix(in srgb, var(--chip-color,#64748b) 15%, transparent);border-radius:100px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.recall-bulk-toolbar{background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:13.5px;font-weight:600;display:flex}.recall-bulk-toolbar__actions{gap:8px;display:flex}.plan-empty,.perio-empty-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:32px;display:flex}.perio-tab{flex-direction:column;gap:18px;display:flex}.perio-topbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.perio-exam-select{min-width:220px}.perio-topbar-meta{color:var(--color-text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.perio-topbar-performed-by{white-space:nowrap}.perio-topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.perio-chart{flex-direction:column;gap:22px;padding:4px 0;display:flex;overflow-x:auto}.perio-arch{flex-direction:column;gap:6px;display:flex}.perio-arch-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:12px;font-weight:700}.perio-arch-row{gap:2px;display:flex}.perio-tooth-col{border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:3px;min-width:46px;padding:4px 2px;display:flex}.perio-tooth-missing{opacity:.55}.perio-tooth-label{align-items:center;gap:3px;font-size:12px;font-weight:700;display:flex}.perio-tooth-missing-mark{color:var(--color-text-muted);font-size:16px}.perio-mobility-badge{color:var(--color-status-progress,#f59e0b);border:1px solid var(--color-status-progress,#f59e0b);border-radius:4px;padding:0 3px;font-size:9px;font-weight:700}.perio-site-row{flex-direction:column;gap:2px;display:flex}.perio-cell{border:1px solid var(--color-border);width:42px;height:22px;color:var(--color-text);cursor:default;border-radius:3px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;position:relative}button.perio-cell{cursor:pointer}button.perio-cell:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.perio-cell-pd{pointer-events:none}.perio-dot{border-radius:50%;width:5px;height:5px;position:absolute;top:2px}.perio-dot-bop{background:var(--color-status-cancel,#ef4444);right:2px}.perio-dot-sup{background:var(--color-status-progress,#f59e0b);right:9px}.perio-rec-bar{background:var(--color-status-info,#3b82f6);border-radius:2px;width:100%;height:4px}.perio-tooth-controls{flex-direction:column;align-items:center;gap:3px;margin-top:4px;display:flex}.perio-mobility-select,.perio-furcation-select{width:44px;padding:1px;font-size:11px}.perio-missing-toggle{white-space:nowrap;align-items:center;gap:3px;font-size:10px;display:flex}.perio-alerts{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px}.perio-alerts-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.perio-alerts-header h4{margin:0}.perio-alerts h4{margin:0 0 10px;font-size:13px}.perio-alerts-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.perio-alert-item{color:var(--color-text-muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.perio-alert-item strong{color:var(--color-text);font-size:16px}.perio-alert-item-wide{grid-column:1/-1}.perio-notes{flex-direction:column;gap:6px;display:flex}.perio-notes label{color:var(--color-text-muted);font-size:12px;font-weight:600}.perio-compare{flex-direction:column;gap:18px;display:flex}.perio-compare-selectors{align-items:center;gap:16px;margin-left:auto;font-size:12px;display:flex}.perio-compare-selectors label{color:var(--color-text-muted);flex-direction:column;gap:2px;display:flex}.perio-compare-charts{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=1200px){.perio-compare-charts{grid-template-columns:1fr}}.perio-compare-chart-label{margin-bottom:6px;font-size:13px;font-weight:700}.perio-print-page{max-width:1100px;margin:0 auto;padding:24px}.perio-print-toolbar{justify-content:space-between;margin-bottom:18px;display:flex}.perio-print-header{margin-bottom:14px}.perio-print-header h2{margin:0 0 4px}.perio-print-notes{margin-top:16px;font-size:13px}@media print{@page{size:landscape}.sidebar,.perio-print-toolbar{display:none!important}.shell-main{padding:0!important}.perio-print-page{max-width:none;padding:0}}.badge-warn{background:color-mix(in srgb, var(--color-status-progress,#f59e0b) 12%, var(--color-surface));color:var(--color-status-progress,#f59e0b);border-color:color-mix(in srgb, var(--color-status-progress,#f59e0b) 30%, var(--color-surface))}.clinical-notes-list{flex-direction:column;gap:8px;display:flex}.clinical-note-row{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.clinical-note-row-summary{cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex}.clinical-note-row-summary:hover{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-surface))}.clinical-note-row-date{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.clinical-note-row-preview{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.clinical-note-row-detail{border-top:1px solid var(--color-border);padding:14px}.clinical-note-view{flex-direction:column;gap:10px;display:flex}.clinical-note-view-header{align-items:center;gap:8px;display:flex}.clinical-note-view-meta{color:var(--color-text-muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.clinical-note-view-body div{margin-bottom:8px}.clinical-note-view-body p{margin:2px 0 0}.clinical-note-view-actions{gap:8px;display:flex}.clinical-note-addendums{border-top:1px dashed var(--color-border);flex-direction:column;gap:10px;margin-top:8px;padding-top:8px;display:flex}.clinical-note-addendums-title{color:var(--color-text-muted);font-size:12px;font-weight:600}.clinical-note-addendum-item{background:color-mix(in srgb, var(--color-text-muted) 4%, var(--color-surface));border-radius:var(--radius);padding:10px 12px}.dash-page-header{align-items:flex-start;margin-bottom:16px}.dash-updated-at{margin-top:2px;font-size:12px;display:block}.dash-grid{flex-direction:column;gap:14px;display:flex}.dash-grid-row-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=900px){.dash-grid-row-3{grid-template-columns:1fr}}.dash-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px}.dash-skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-bg) 37%, var(--color-surface) 63%);background-size:400% 100%;animation:1.4s infinite dash-skeleton-shimmer}@keyframes dash-skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.dash-card-header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.dash-card-title{margin:0 0 10px;font-size:15px;font-weight:700}.dash-card-header .dash-card-title{margin-bottom:0}.dash-empty-state{color:var(--color-text-muted);margin:4px 0 0;font-size:13.5px}.dash-empty-checkmark{color:var(--color-success,#22c55e);font-weight:700}.dash-card-footer{margin-top:10px}.dash-today-big-number{margin-bottom:8px;font-size:22px;font-weight:700}.dash-progress-bar{background:var(--color-bg);border-radius:100px;height:8px;margin-bottom:14px;overflow:hidden}.dash-progress-bar__fill{background:var(--color-success,#22c55e);border-radius:100px;height:100%;transition:width .2s}.dash-today-stats-row{gap:24px;margin-bottom:12px;display:flex}.dash-today-stat{flex-direction:column;display:flex}.dash-today-stat__value{font-size:18px;font-weight:700}.dash-today-stat__label{color:var(--color-text-muted);font-size:11.5px}.dash-next-up{border-top:1px solid var(--color-border);cursor:pointer;padding-top:10px}.dash-next-up__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px;font-weight:600}.dash-next-up__body{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.dash-next-up__patient{font-weight:600}.dash-next-up__time{color:var(--color-primary);margin-left:auto;font-weight:600}.dash-action-items-list{flex-direction:column;gap:2px;display:flex}.dash-action-item{cursor:pointer;border-radius:var(--radius-sm);border-left:3px solid #0000;align-items:center;gap:10px;padding:8px 4px;display:flex}.dash-action-item:hover{background:var(--color-bg)}.dash-action-item--danger{border-left-color:var(--color-status-cancel,#ef4444)}.dash-action-item__count{min-width:20px;font-weight:700}.dash-action-item__label{flex:1;font-size:13.5px}.dash-action-item__chevron{color:var(--color-text-muted)}.dash-financial-big-number{font-size:24px;font-weight:700}.dash-financial-substat{margin-bottom:4px;font-size:13px}.dash-financial-subtitle{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:12px 0 6px;font-size:11px;font-weight:600}.dash-debtors-list{flex-direction:column;gap:6px;display:flex}.dash-debtor-row{cursor:pointer;justify-content:space-between;gap:8px;font-size:13.5px;display:flex}.dash-debtor-row:hover .dash-debtor-row__name{color:var(--color-primary)}.dash-debtor-row__balance{font-weight:600}.dash-week-stats{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.dash-week-stat{cursor:pointer;flex-direction:column;display:flex}.dash-week-stat:hover .dash-week-stat__value{color:var(--color-primary)}.dash-week-stat__value{font-size:18px;font-weight:700}.dash-week-stat__label{color:var(--color-text-muted);font-size:11.5px}.dash-activity-list{flex-direction:column;gap:2px;display:flex}.dash-activity-row{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 4px;display:flex}.dash-activity-row:hover{background:var(--color-bg)}.dash-activity-row__icon{font-size:15px}.dash-activity-row__summary{flex:1;font-size:13.5px}.dash-activity-row__time{white-space:nowrap;font-size:12px}.dash-activity-row__chevron{color:var(--color-text-muted)}#odo-v2 .pointer-events-none{pointer-events:none}#odo-v2 .absolute{position:absolute}#odo-v2 .relative{position:relative}#odo-v2 .inset-0{inset:0}#odo-v2 .inset-0\.5{inset:.125rem}#odo-v2 .bottom-full{bottom:100%}#odo-v2 .left-0{left:0}#odo-v2 .left-1\/2{left:50%}#odo-v2 .right-0{right:0}#odo-v2 .top-0{top:0}#odo-v2 .top-1\/2{top:50%}#odo-v2 .top-full{top:100%}#odo-v2 .z-\[100\]{z-index:100}#odo-v2 .col-start-1{grid-column-start:1}#odo-v2 .col-start-2{grid-column-start:2}#odo-v2 .col-start-3{grid-column-start:3}#odo-v2 .row-start-1{grid-row-start:1}#odo-v2 .row-start-2{grid-row-start:2}#odo-v2 .row-start-3{grid-row-start:3}#odo-v2 .mx-1{margin-left:.25rem;margin-right:.25rem}#odo-v2 .mb-0\.5{margin-bottom:.125rem}#odo-v2 .mb-3{margin-bottom:.75rem}#odo-v2 .mt-0\.5{margin-top:.125rem}#odo-v2 .flex{display:flex}#odo-v2 .inline-flex{display:inline-flex}#odo-v2 .grid{display:grid}#odo-v2 .h-0{height:0}#odo-v2 .h-0\.5{height:.125rem}#odo-v2 .h-1\.5{height:.375rem}#odo-v2 .h-10{height:2.5rem}#odo-v2 .h-14{height:3.5rem}#odo-v2 .h-2{height:.5rem}#odo-v2 .h-3{height:.75rem}#odo-v2 .h-4{height:1rem}#odo-v2 .h-5{height:1.25rem}#odo-v2 .h-7{height:1.75rem}#odo-v2 .h-9{height:2.25rem}#odo-v2 .h-\[120px\]{height:120px}#odo-v2 .h-\[88px\]{height:88px}#odo-v2 .h-\[90px\]{height:90px}#odo-v2 .h-full{height:100%}#odo-v2 .w-0\.5{width:.125rem}#odo-v2 .w-1{width:.25rem}#odo-v2 .w-1\.5{width:.375rem}#odo-v2 .w-10{width:2.5rem}#odo-v2 .w-4{width:1rem}#odo-v2 .w-full{width:100%}#odo-v2 .w-px{width:1px}#odo-v2 .min-w-\[22px\]{min-width:22px}#odo-v2 .min-w-\[24px\]{min-width:24px}#odo-v2 .min-w-\[26px\]{min-width:26px}#odo-v2 .min-w-\[30px\]{min-width:30px}#odo-v2 .min-w-\[32px\]{min-width:32px}#odo-v2 .min-w-\[34px\]{min-width:34px}#odo-v2 .max-w-\[20px\]{max-width:20px}#odo-v2 .flex-1{flex:1}#odo-v2 .flex-shrink-0{flex-shrink:0}#odo-v2 .-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#odo-v2 .-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#odo-v2 .translate-x-0\.5{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#odo-v2 .translate-x-5{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#odo-v2 .-rotate-45{--tw-rotate:-45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#odo-v2 .rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#odo-v2 .cursor-pointer{cursor:pointer}#odo-v2 .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}#odo-v2 .grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}#odo-v2 .flex-col{flex-direction:column}#odo-v2 .items-start{align-items:flex-start}#odo-v2 .items-center{align-items:center}#odo-v2 .justify-start{justify-content:flex-start}#odo-v2 .justify-end{justify-content:flex-end}#odo-v2 .justify-center{justify-content:center}#odo-v2 .justify-between{justify-content:space-between}#odo-v2 .gap-0{gap:0}#odo-v2 .gap-0\.5{gap:.125rem}#odo-v2 .gap-1{gap:.25rem}#odo-v2 .gap-1\.5{gap:.375rem}#odo-v2 .gap-2{gap:.5rem}#odo-v2 .gap-3{gap:.75rem}#odo-v2 .overflow-hidden{overflow:hidden}#odo-v2 .whitespace-nowrap{white-space:nowrap}#odo-v2 .rounded{border-radius:.25rem}#odo-v2 .rounded-full{border-radius:9999px}#odo-v2 .rounded-lg{border-radius:.5rem}#odo-v2 .rounded-sm{border-radius:.125rem}#odo-v2 .rounded-xl{border-radius:.75rem}#odo-v2 .rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}#odo-v2 .rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}#odo-v2 .rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}#odo-v2 .rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}#odo-v2 .border{border-width:1px}#odo-v2 .border-2{border-width:2px}#odo-v2 .border-b-0{border-bottom-width:0}#odo-v2 .border-t-0{border-top-width:0}#odo-v2 .border-dashed{border-style:dashed}#odo-v2 .border-error{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}#odo-v2 .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}#odo-v2 .border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}#odo-v2 .border-info{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}#odo-v2 .border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}#odo-v2 .border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}#odo-v2 .border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}#odo-v2 .border-primary{--tw-border-opacity:1;border-color:rgb(59 91 219/var(--tw-border-opacity,1))}#odo-v2 .border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}#odo-v2 .border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}#odo-v2 .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}#odo-v2 .border-secondary{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}#odo-v2 .border-success{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}#odo-v2 .border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity,1))}#odo-v2 .border-warning{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}#odo-v2 .bg-accent{--tw-bg-opacity:1;background-color:rgb(59 91 219/var(--tw-bg-opacity,1))}#odo-v2 .bg-accent\/10{background-color:#3b5bdb1a}#odo-v2 .bg-accent\/30{background-color:#3b5bdb4d}#odo-v2 .bg-error\/20{background-color:#ef444433}#odo-v2 .bg-error\/40{background-color:#ef444466}#odo-v2 .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}#odo-v2 .bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}#odo-v2 .bg-gray-200\/40{background-color:#e5e7eb66}#odo-v2 .bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}#odo-v2 .bg-gray-300\/40{background-color:#d1d5db66}#odo-v2 .bg-gray-900\/90{background-color:#111827e6}#odo-v2 .bg-info\/20{background-color:#3b82f633}#odo-v2 .bg-info\/40{background-color:#3b82f666}#odo-v2 .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}#odo-v2 .bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}#odo-v2 .bg-orange-300\/40{background-color:#fdba7466}#odo-v2 .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}#odo-v2 .bg-orange-500\/10{background-color:#f973161a}#odo-v2 .bg-orange-500\/30{background-color:#f973164d}#odo-v2 .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}#odo-v2 .bg-pink-300\/40{background-color:#f9a8d466}#odo-v2 .bg-primary\/20{background-color:#3b5bdb33}#odo-v2 .bg-primary\/40{background-color:#3b5bdb66}#odo-v2 .bg-purple-300\/30{background-color:#d8b4fe4d}#odo-v2 .bg-purple-300\/50{background-color:#d8b4fe80}#odo-v2 .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}#odo-v2 .bg-purple-500\/40{background-color:#a855f766}#odo-v2 .bg-purple-500\/60{background-color:#a855f799}#odo-v2 .bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}#odo-v2 .bg-red-300\/40{background-color:#fca5a566}#odo-v2 .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}#odo-v2 .bg-secondary\/20{background-color:#8b5cf633}#odo-v2 .bg-secondary\/40{background-color:#8b5cf666}#odo-v2 .bg-success\/20{background-color:#10b98133}#odo-v2 .bg-success\/40{background-color:#10b98166}#odo-v2 .bg-violet-200{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity,1))}#odo-v2 .bg-violet-300\/40{background-color:#c4b5fd66}#odo-v2 .bg-warning\/20{background-color:#f59e0b33}#odo-v2 .bg-warning\/40{background-color:#f59e0b66}#odo-v2 .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}#odo-v2 .bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}#odo-v2 .from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}#odo-v2 .via-accent{--tw-gradient-to:#3b5bdb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #3b5bdb var(--tw-gradient-via-position), var(--tw-gradient-to)}#odo-v2 .via-orange-500{--tw-gradient-to:#f9731600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #f97316 var(--tw-gradient-via-position), var(--tw-gradient-to)}#odo-v2 .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}#odo-v2 .px-1{padding-left:.25rem;padding-right:.25rem}#odo-v2 .px-1\.5{padding-left:.375rem;padding-right:.375rem}#odo-v2 .px-2\.5{padding-left:.625rem;padding-right:.625rem}#odo-v2 .px-4{padding-left:1rem;padding-right:1rem}#odo-v2 .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}#odo-v2 .text-\[10px\]{font-size:10px}#odo-v2 .text-sm{font-size:.875rem;line-height:1.25rem}#odo-v2 .text-xs{font-size:.75rem;line-height:1rem}#odo-v2 .font-bold{font-weight:700}#odo-v2 .font-normal{font-weight:400}#odo-v2 .font-semibold{font-weight:600}#odo-v2 .leading-tight{line-height:1.25}#odo-v2 .text-accent{--tw-text-opacity:1;color:rgb(59 91 219/var(--tw-text-opacity,1))}#odo-v2 .text-base-content{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}#odo-v2 .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}#odo-v2 .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}#odo-v2 .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}#odo-v2 .opacity-0{opacity:0}#odo-v2 .opacity-30{opacity:.3}#odo-v2 .opacity-40{opacity:.4}#odo-v2 .opacity-50{opacity:.5}#odo-v2 .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}#odo-v2 .ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}#odo-v2 .ring-accent{--tw-ring-opacity:1;--tw-ring-color:rgb(59 91 219/var(--tw-ring-opacity,1))}#odo-v2 .ring-offset-1{--tw-ring-offset-width:1px}#odo-v2 .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#odo-v2 .transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}#odo-v2 .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}#odo-v2 .transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}#odo-v2 .transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}#odo-v2 .duration-150{transition-duration:.15s}#odo-v2 .duration-200{transition-duration:.2s}#odo-v2 .duration-300{transition-duration:.3s}#odo-v2 .hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#odo-v2 .hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}#odo-v2 :is(.group:hover .group-hover\:opacity-100){opacity:1}@media (width>=640px){#odo-v2 .sm\:h-3{height:.75rem}#odo-v2 .sm\:h-4{height:1rem}#odo-v2 .sm\:w-1{width:.25rem}#odo-v2 .sm\:w-1\.5{width:.375rem}#odo-v2 .sm\:w-2{width:.5rem}}
