:root{--agenda-bg: #F8F9FB;--agenda-grid-border: #E4E6ED;--agenda-grid-line: #F0F1F5;--agenda-header-bg: #F3F4F8;--agenda-cell-bg: #FFFFFF;--agenda-time-color: #B0B3C1;--agenda-text-primary: #1B1F3B;--agenda-text-secondary: #6B7194;--agenda-radius-card: 6px;--agenda-radius-control: 8px;--agenda-font: "DM Sans", system-ui, -apple-system, sans-serif;--app-bg: #F8F9FB;--app-surface: #FFFFFF;--app-border: #E4E6ED;--app-border-light: #F0F1F5;--app-text-primary: #1B1F3B;--app-text-secondary: #6B7194;--app-text-muted: #B0B3C1;--app-radius: 8px;--app-radius-sm: 6px;--app-radius-lg: 12px;--app-font: "DM Sans", system-ui, -apple-system, sans-serif;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6}.login-wrapper.svelte-yyp8k1{min-height:100vh;display:flex;font-family:DM Sans,sans-serif}.login-brand.svelte-yyp8k1{display:none;position:relative;overflow:hidden;align-items:center;justify-content:center;background-color:#0d5e6b}@media(min-width:1024px){.login-brand.svelte-yyp8k1{display:flex;width:55%}.login-mobile-logo.svelte-yyp8k1{display:none}}.login-pattern.svelte-yyp8k1{position:absolute;inset:0;opacity:.04}.login-brand-content.svelte-yyp8k1{position:relative;z-index:10;text-align:center;padding:0 4rem}.login-brand-logo.svelte-yyp8k1{height:10rem;margin:0 auto 2rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.login-brand-divider.svelte-yyp8k1{width:3rem;height:1px;margin:0 auto 1.5rem;background-color:#c9a96e}.login-brand-tagline.svelte-yyp8k1{font-family:"DM Serif Display",serif;font-size:1.125rem;letter-spacing:.025em;color:#a8d5dc}.login-brand-accent.svelte-yyp8k1{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(to right,transparent,#C9A96E,transparent)}.login-form-panel.svelte-yyp8k1{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 2rem;background-color:#fafaf8}.login-form-container.svelte-yyp8k1{width:100%;max-width:24rem}.login-mobile-logo.svelte-yyp8k1{text-align:center;margin-bottom:2.5rem}.login-mobile-logo-img.svelte-yyp8k1{height:5rem;margin:0 auto 1rem}.login-title.svelte-yyp8k1{font-family:"DM Serif Display",serif;font-size:1.875rem;font-weight:400;letter-spacing:-.025em;color:#1a1a1a;margin-bottom:.5rem}.login-subtitle.svelte-yyp8k1{font-size:.875rem;color:#8a8a8a;margin-bottom:2.5rem}.login-error.svelte-yyp8k1{margin-bottom:1.5rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;background-color:#fef2f2;border:1px solid #FECACA;color:#991b1b}.login-fields.svelte-yyp8k1{display:flex;flex-direction:column;gap:1.25rem}.login-label.svelte-yyp8k1{display:block;font-size:.875rem;font-weight:500;color:#4a4a4a;margin-bottom:.375rem}.login-input.svelte-yyp8k1{width:100%;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;background:#fff;border:1px solid #D4D4D4;color:#1a1a1a;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit}.login-input.svelte-yyp8k1:focus{border-color:#0d5e6b;box-shadow:0 0 0 3px #0d5e6b14}.login-input.svelte-yyp8k1::placeholder{color:#b0b0b0}.login-button.svelte-yyp8k1{width:100%;padding:.75rem;border-radius:.5rem;font-size:.875rem;font-weight:600;color:#fff;background-color:#0d5e6b;border:none;cursor:pointer;transition:all .2s;font-family:inherit}.login-button.svelte-yyp8k1:hover:not(:disabled){background-color:#0a4e59;transform:translateY(-1px);box-shadow:0 4px 12px #0d5e6b40}.login-button.svelte-yyp8k1:disabled{opacity:.5;cursor:not-allowed}.login-button-loading.svelte-yyp8k1{display:inline-flex;align-items:center;gap:.5rem}.login-spinner.svelte-yyp8k1{width:1rem;height:1rem;animation:svelte-yyp8k1-spin 1s linear infinite}@keyframes svelte-yyp8k1-spin{to{transform:rotate(360deg)}}.login-forgot.svelte-yyp8k1{margin-top:2rem;text-align:center}.login-forgot-link.svelte-yyp8k1{font-size:.875rem;color:#8a8a8a;background:none;border:none;cursor:pointer;font-family:inherit;transition:color .2s}.login-forgot-link.svelte-yyp8k1:hover{color:#0d5e6b}.login-footer.svelte-yyp8k1{margin-top:4rem;text-align:center}.login-footer-line.svelte-yyp8k1{width:2rem;height:1px;margin:0 auto .75rem;background-color:#e0e0e0}.login-footer-text.svelte-yyp8k1{font-size:.75rem;color:#b0b0b0}.patient-tab-bar.svelte-ep6tih{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;min-height:44px}.search-container.svelte-ep6tih{position:relative;flex-shrink:0}.search-icon.svelte-ep6tih{position:absolute;left:8px;top:50%;transform:translateY(-50%);pointer-events:none}.search-input.svelte-ep6tih{width:180px;padding:6px 8px 6px 32px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;transition:all .15s}.search-input.svelte-ep6tih:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;width:240px}.search-spinner.svelte-ep6tih{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:svelte-ep6tih-spin .6s linear infinite}@keyframes svelte-ep6tih-spin{to{transform:translateY(-50%) rotate(360deg)}}.search-results.svelte-ep6tih{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:100;max-height:320px;overflow-y:auto}.search-result.svelte-ep6tih{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;text-align:left;transition:background .1s}.search-result.svelte-ep6tih:hover{background:#f1f5f9}.result-initials.svelte-ep6tih{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.result-info.svelte-ep6tih{display:flex;flex-direction:column;min-width:0}.result-name.svelte-ep6tih{font-size:13px;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-details.svelte-ep6tih{font-size:11px;color:#6b7280}.tabs-container.svelte-ep6tih{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;padding:2px 0}.tabs-container.svelte-ep6tih::-webkit-scrollbar{height:4px}.tabs-container.svelte-ep6tih::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.patient-tab.svelte-ep6tih{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s;flex-shrink:0;max-width:200px}.patient-tab.svelte-ep6tih:hover{background:#f1f5f9;border-color:#cbd5e1}.patient-tab.active.svelte-ep6tih{background:#3b82f6;border-color:#3b82f6;color:#fff}.tab-initials.svelte-ep6tih{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:600;flex-shrink:0}.patient-tab.active.svelte-ep6tih .tab-initials:where(.svelte-ep6tih){background-color:#ffffff4d!important}.tab-name.svelte-ep6tih{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-dot.svelte-ep6tih{width:6px;height:6px;background:#22c55e;border-radius:50%;flex-shrink:0}.patient-tab.active.svelte-ep6tih .draft-dot:where(.svelte-ep6tih){background:#fff}.tab-close.svelte-ep6tih{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;border-radius:4px;cursor:pointer;opacity:.5;transition:all .1s;flex-shrink:0;color:inherit}.tab-close.svelte-ep6tih:hover{opacity:1;background:#0000001a}.patient-tab.active.svelte-ep6tih .tab-close:where(.svelte-ep6tih):hover{background:#fff3}.add-tab-btn.svelte-ep6tih{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px dashed #cbd5e1;background:transparent;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s;flex-shrink:0}.add-tab-btn.svelte-ep6tih:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.ps-wrapper.svelte-qfps45{height:100%;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(160deg,#0d5e6b,#0a4e59 30%,#fafaf8 30.1%);font-family:DM Sans,sans-serif}.ps-center.svelte-qfps45{display:flex;flex-direction:column;align-items:center;width:100%;max-width:36rem}.ps-logo.svelte-qfps45{width:8rem;height:8rem;object-fit:contain;margin-bottom:.5rem}.ps-divider.svelte-qfps45{width:3rem;height:2px;background:linear-gradient(to right,transparent,#C9A96E,transparent);margin-bottom:2rem}.ps-content.svelte-qfps45{width:100%}.ps-card.svelte-qfps45{border-radius:.75rem;padding:1.5rem;background:#fff;border:1px solid #E5E5E5;box-shadow:0 1px 3px #0000000a}.ps-label.svelte-qfps45{display:block;font-size:.875rem;font-weight:500;color:#4a4a4a;margin-bottom:.5rem}.ps-search-row.svelte-qfps45{display:flex;gap:.5rem}.ps-input.svelte-qfps45{flex:1;padding:.75rem 1rem;border-radius:.5rem;font-size:.9375rem;background:#fafaf8;border:1px solid #D4D4D4;color:#1a1a1a;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;font-family:inherit}.ps-input.svelte-qfps45:focus{border-color:#0d5e6b;box-shadow:0 0 0 3px #0d5e6b14;background:#fff}.ps-input.svelte-qfps45::placeholder{color:#b0b0b0}.ps-button.svelte-qfps45{padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:600;color:#fff;background-color:#0d5e6b;border:none;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap}.ps-button.svelte-qfps45:hover:not(:disabled){background-color:#0a4e59;transform:translateY(-1px)}.ps-button.svelte-qfps45:disabled{opacity:.4;cursor:not-allowed}.ps-button-sm.svelte-qfps45{padding:.5rem 1rem;font-size:.8125rem}.ps-results.svelte-qfps45{margin-top:1rem;border-radius:.75rem;overflow:hidden;background:#fff;border:1px solid #E5E5E5;box-shadow:0 1px 3px #0000000a}.ps-empty.svelte-qfps45{padding:2.5rem;text-align:center;font-size:.875rem;color:#8a8a8a}.ps-empty.svelte-qfps45 p:where(.svelte-qfps45){margin-bottom:1rem}.ps-results-header.svelte-qfps45{padding:.625rem 1rem;border-bottom:1px solid #F0F0F0;font-size:.75rem;font-weight:500;color:#8a8a8a}.ps-list.svelte-qfps45{list-style:none;margin:0;padding:0}.ps-list-item-border.svelte-qfps45{border-bottom:1px solid #F5F5F5}.ps-list-button.svelte-qfps45{width:100%;padding:.875rem 1rem;text-align:left;display:flex;align-items:center;justify-content:space-between;background:#fff;border:none;cursor:pointer;font-family:inherit;transition:background-color .15s}.ps-list-button.svelte-qfps45:hover,.ps-list-button-highlighted.svelte-qfps45{background-color:#f0f7f9}.ps-patient-info.svelte-qfps45{display:flex;align-items:center;gap:.75rem;flex:1}.ps-patient-name.svelte-qfps45{font-size:.875rem;font-weight:500;color:#1a1a1a}.ps-patient-details.svelte-qfps45{font-size:.75rem;color:#8a8a8a;margin-top:.125rem}.ps-patient-contact.svelte-qfps45{text-align:right;font-size:.75rem;color:#aaa}.ps-chevron.svelte-qfps45{margin-left:1rem;color:#ccc}.ps-new-patient.svelte-qfps45{margin-top:1rem;text-align:center}.ps-new-patient-link.svelte-qfps45{font-size:.875rem;color:#8a8a8a;background:none;border:none;cursor:pointer;font-family:inherit;transition:color .2s}.ps-new-patient-link.svelte-qfps45:hover{color:#0d5e6b}.print-only.svelte-wulij2{display:none}@media print{body>*{display:none!important}body{margin:0;padding:0}.no-print.svelte-wulij2{display:none!important}.print-only.svelte-wulij2{display:block!important;position:fixed;top:0;left:0;width:100%;z-index:99999;background:#fff}.print-page.svelte-wulij2{width:100%;height:100vh;padding:12mm 10mm;box-sizing:border-box;position:relative}.print-page-break.svelte-wulij2{page-break-before:always}.print-header.svelte-wulij2{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4mm;padding-bottom:2mm;border-bottom:2px solid #333}.print-header-name.svelte-wulij2{font-size:16pt;font-weight:700}.print-header-date.svelte-wulij2{font-size:11pt;color:#555}.print-timeline.svelte-wulij2{position:relative;height:calc(100vh - 30mm)}.print-hour-line.svelte-wulij2{position:absolute;left:0;right:0;border-top:1px solid #ccc}.print-half-line.svelte-wulij2{position:absolute;left:42px;right:0;border-top:1px dotted #e0e0e0}.print-hour-label.svelte-wulij2{position:absolute;left:0;top:-8px;font-size:8pt;color:#888;width:36px}.print-appointment.svelte-wulij2{position:absolute;left:44px;right:4px;border-left:3px solid;padding:1mm 2mm;border-radius:2px;overflow:hidden;font-size:8pt;line-height:1.3}.print-apt-time.svelte-wulij2{font-weight:600;font-size:7pt;color:#555}.print-apt-patient.svelte-wulij2{font-weight:700;font-size:9pt}.print-apt-type.svelte-wulij2{font-size:7pt;color:#666}.print-apt-room.svelte-wulij2{font-size:7pt;color:#888}.print-apt-notes.svelte-wulij2{font-size:7pt;color:#888;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.dental-chart.svelte-1f3qlve{padding:1rem;background:#e8e8e8;border-radius:.5rem}.jaw-row.svelte-1f3qlve{display:flex;align-items:flex-end;justify-content:center}.side-label.svelte-1f3qlve{font-size:12px;color:#666;font-weight:600;width:20px;text-align:center;padding-bottom:20px}.quadrant.svelte-1f3qlve{display:flex}.quadrant-right.svelte-1f3qlve{border-right:2px solid #666;padding-right:4px}.quadrant-left.svelte-1f3qlve{padding-left:4px}.divider.svelte-1f3qlve{display:flex;align-items:center;justify-content:center;margin:4px 0;padding:0 20px}.divider-label.svelte-1f3qlve{font-size:10px;color:#666;font-weight:600;padding:0 8px}.divider-line.svelte-1f3qlve{flex:1;height:2px;background:#666}.tooth-container.svelte-1f3qlve{display:flex;flex-direction:column;align-items:center;padding:2px;cursor:pointer}.tooth-container.svelte-1f3qlve:hover{background:#3b82f61a;border-radius:4px}.tooth-container.selected.svelte-1f3qlve{background:#3b82f633;border-radius:4px}.tooth-number.svelte-1f3qlve{font-size:10px;color:#333;font-weight:500;margin:2px 0}.endo-bar.svelte-1f3qlve{width:80%;height:6px;border-radius:1px;margin-top:2px}.tooth-placeholder.svelte-1f3qlve{cursor:pointer}.tooth-svg.svelte-1f3qlve{display:block}.surface.svelte-1f3qlve{cursor:pointer;transition:opacity .15s}.surface.svelte-1f3qlve:hover{opacity:.7}.legend.svelte-1f3qlve{display:flex;justify-content:center;gap:12px;margin-top:16px;font-size:11px;color:#555;flex-wrap:wrap}.legend-item.svelte-1f3qlve{display:flex;align-items:center;gap:4px}.legend-box.svelte-1f3qlve{width:14px;height:14px;border-radius:2px;border:1px solid #999}.legend-line.svelte-1f3qlve{width:14px;height:3px;background-color:#ea580c;border-radius:1px}.detail-tooth-svg.svelte-1f3qlve{display:block;border:1px solid #e5e7eb;border-radius:4px;background:#fafafa}.detail-surface.svelte-1f3qlve{cursor:pointer;transition:all .15s}.detail-surface.svelte-1f3qlve:hover{opacity:.8;filter:brightness(.95)}.surface-label.svelte-1f3qlve{pointer-events:none;-webkit-user-select:none;user-select:none}.header.svelte-gdshbw{margin-bottom:20px}.practice-name.svelte-gdshbw{font-size:18px;font-weight:700;margin-bottom:5px}.practice-info.svelte-gdshbw{color:#666;font-size:12px;line-height:1.5}.divider.svelte-gdshbw{border-top:1px solid #ddd;margin:15px 0}.invoice-title.svelte-gdshbw{font-size:18px;font-weight:700;margin-bottom:15px}.info-row.svelte-gdshbw{display:flex}.info-label.svelte-gdshbw{font-weight:600;width:120px;color:#555}.patient-section.svelte-gdshbw{margin-bottom:20px}table.svelte-gdshbw{width:100%;border-collapse:collapse;margin:15px 0;font-size:13px}th.svelte-gdshbw{background:#f5f5f5;text-align:left;padding:10px;border-bottom:2px solid #ddd;font-size:12px;color:#555}td.svelte-gdshbw{padding:10px;border-bottom:1px solid #eee}.text-right.svelte-gdshbw{text-align:right}.totals.svelte-gdshbw{margin-top:20px}.totals-row.svelte-gdshbw{display:flex;justify-content:flex-end;margin-bottom:5px}.totals-label.svelte-gdshbw{width:100px;text-align:right;padding-right:15px;color:#555}.totals-value.svelte-gdshbw{width:80px;text-align:right}.totals-row.total.svelte-gdshbw{font-weight:700;font-size:15px;border-top:2px solid #333;padding-top:8px;margin-top:5px}.footer.svelte-gdshbw{margin-top:30px;padding-top:15px;border-top:1px solid #ddd;font-size:11px;color:#666}.tooth-schematic.svelte-1hpzef{width:80px;height:88px;cursor:pointer}.tooth-schematic.disabled.svelte-1hpzef{opacity:.5;cursor:not-allowed}.surface-region.svelte-1hpzef{fill:#f8f8f8;stroke:#666;stroke-width:.5;cursor:pointer;transition:fill .15s ease}.tooth-schematic.svelte-1hpzef:not(.disabled) .surface-region:where(.svelte-1hpzef):hover{fill:#dbeafe}.surface-region.selected.svelte-1hpzef{fill:#2563eb;stroke:#1d4ed8}.surface-label.svelte-1hpzef{font-size:8px;font-weight:600;fill:#6b7280;text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none}.surface-label.label-selected.svelte-1hpzef{fill:#fff}
