@charset "UTF-8";:root{--surface: #ffffff;--surface-soft: #f7f8fb;--surface-muted: #eef2f6;--surface-raised: #ffffff;--border: #d7dde6;--border-strong: #bac4d0;--text: #151a22;--text-muted: #5f6875;--text-soft: #7a8492;--primary: #0a4269;--primary-strong: #073454;--primary-soft: #e5f1fb;--teal: #006a69;--teal-soft: #dff6f4;--warning: #996200;--warning-soft: #fff2cf;--danger: #ba1a1a;--danger-soft: #ffe1dd;--success: #0b706f;--success-soft: #dff7f4;--accent: #4f46e5;--accent-strong: #4338ca;--accent-soft: #eef0ff;--accent-2: #0ea5e9;--violet: #7c3aed;--grad-brand: linear-gradient(135deg, #4f46e5, #0ea5e9);--grad-accent: linear-gradient(135deg, #6366f1, #22d3ee);--grad-hero: linear-gradient(120deg, #4338ca 0%, #6d28d9 46%, #0ea5e9 100%);--shadow: 0 18px 45px rgba(15, 23, 42, .08);--shadow-accent: 0 16px 34px rgba(79, 70, 229, .22);--sidebar-width: 236px}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--surface-soft);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,select:disabled,input[readonly],textarea[readonly]{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}.material-symbols-rounded{direction:ltr;display:inline-block;font-family:Material Symbols Rounded;font-feature-settings:"liga";font-size:20px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal}.popover-header{align-items:center;display:flex;justify-content:space-between}app-exams .exam-shell.modal-only{background:#0f172a7a;display:grid;inset:0;min-height:100dvh;padding:16px;place-items:center;position:fixed;z-index:80}app-exams .exam-shell.modal-only .exam-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);max-height:calc(100dvh - 32px);overflow:hidden;width:min(1480px,100vw - 32px)}app-exams .exam-shell.modal-only .exam-page{height:calc(100dvh - 32px);min-height:0}app-exams .exam-modal-shell-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:grid;gap:20px;grid-column:1/-1;grid-template-columns:minmax(220px,.75fr) minmax(0,1.4fr) auto;padding:18px 24px}app-exams .exam-modal-patient{align-items:center;display:flex;gap:12px;min-width:0}app-exams .exam-modal-patient strong,app-exams .exam-modal-patient span{display:block}app-exams .exam-modal-patient strong{font-size:18px}app-exams .exam-modal-patient span{color:var(--text-muted);margin-top:2px}app-exams .exam-modal-title{min-width:0}app-exams .exam-modal-title h1,app-exams .exam-modal-title p{margin-bottom:0}app-exams .exam-modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}app-exams .edit-actions{background:var(--surface);border-top:1px solid var(--border);bottom:-16px;justify-content:flex-end;margin:2px -16px -16px;padding:14px 16px;position:sticky;z-index:4}app-exams .exam-context-card{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);margin-bottom:12px;padding:12px}app-exams .exam-context-card>.material-symbols-rounded{color:var(--primary)}app-exams .exam-context-card strong,app-exams .exam-context-card small{display:block}app-exams .exam-context-card small{color:var(--text-muted);font-weight:700;margin-top:3px}app-exams .exam-context-list{display:grid;gap:10px;margin:0 0 16px}app-exams .exam-context-list div{display:grid;gap:4px}app-exams .exam-context-list dt{color:var(--text-muted);font-size:11px;font-weight:900;text-transform:uppercase}app-exams .exam-context-list dd{font-weight:800;margin:0;overflow-wrap:anywhere}app-exams .case-history-link{width:100%}app-exams .locked-context-step .wizard-step-content{gap:12px}app-patients .search-picker .segmented{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:inline-grid;gap:4px;grid-template-columns:repeat(2,minmax(0,max-content));justify-self:start;padding:4px}app-patients .search-picker .segmented button{background:transparent;border:0;border-radius:6px;color:var(--text-muted);cursor:pointer;font:inherit;font-weight:800;padding:8px 12px}app-patients .search-picker .segmented button.active{background:var(--surface);box-shadow:var(--shadow);color:var(--primary)}.page{padding:24px}.page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.eyebrow{color:var(--text-soft);font-size:11px;font-weight:700;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:0;line-height:36px;margin-bottom:4px}h2{font-size:20px;line-height:28px;margin-bottom:12px}h3{font-size:16px;line-height:24px;margin-bottom:8px}.muted{color:var(--text-muted)}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--accent-strong);display:inline-flex;font-weight:700;gap:8px;min-height:36px;padding:8px 13px;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 6px 16px #0f172a14}.btn:disabled:hover{border-color:var(--border);box-shadow:none}.btn.primary{background:var(--grad-brand);border-color:transparent;box-shadow:var(--shadow-accent);color:#fff}.btn.primary:hover{box-shadow:0 20px 38px #4f46e54d;transform:translateY(-2px)}.btn.primary .material-symbols-rounded{color:inherit}.btn.ghost{background:transparent}.btn.icon-only{aspect-ratio:1;justify-content:center;padding:8px;width:38px}.btn-create{align-items:center;background:var(--green);border:1px solid var(--green);border-radius:10px;box-shadow:0 7px 18px #2e9e6b33;color:#fff;cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:13px;font-weight:700;gap:6px;justify-content:center;min-height:40px;padding:0 14px;white-space:nowrap;width:auto}.btn-create:hover{background:color-mix(in srgb,var(--green) 88%,black);border-color:color-mix(in srgb,var(--green) 88%,black)}.btn-create:disabled{cursor:default;opacity:.6}.btn-create .material-symbols-rounded{font-size:19px}.field,.select,.textarea{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);min-height:36px;outline:none;padding:8px 11px;width:100%}.field:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e529}.textarea{min-height:120px;resize:vertical}.card,.panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:14px}.panel{padding:18px}.api-banner,.empty-state{align-items:center;border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-muted);display:flex;gap:10px;margin-bottom:16px;padding:14px 16px}.api-banner{background:var(--primary-soft);border-style:solid;color:var(--primary);font-weight:800}.api-banner.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.api-banner.warning{background:var(--warning-soft);border-color:transparent;color:var(--warning)}.empty-state{background:var(--surface-soft);flex-direction:column;justify-content:center;min-height:180px;text-align:center;width:100%}.empty-state .material-symbols-rounded{color:var(--accent);font-size:30px}.empty-state strong{color:var(--text)}.empty-state p{margin:0;max-width:440px}.empty-state.compact{min-height:96px;padding:14px}.empty-state.full-page{min-height:calc(100vh - 140px)}.grid{display:grid;gap:16px}.grid.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{align-items:center;display:flex;justify-content:space-between;min-height:112px;padding:18px}.stat-value{font-size:30px;font-weight:800;line-height:1;margin:8px 0}.icon-tile{align-items:center;background:var(--grad-accent);border-radius:13px;box-shadow:0 12px 24px #4f46e52e;color:#fff;display:inline-flex;height:48px;justify-content:center;width:48px}.chip{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;gap:6px;line-height:1;padding:6px 9px;white-space:nowrap}.chip.success{background:var(--success-soft);color:var(--success)}.chip.warning{background:var(--warning-soft);color:var(--warning)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip.neutral{background:var(--surface-muted);color:var(--text-muted)}.data-table{border-collapse:collapse;width:100%}.data-table th{background:linear-gradient(180deg,var(--accent-soft),var(--surface-soft));color:var(--accent-strong);font-size:11px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase}.data-table td,.data-table th{border-bottom:1px solid var(--border);padding:11px 12px;vertical-align:middle}.data-table tbody tr{transition:background-color .14s ease}.data-table tbody tr:hover{background:var(--accent-soft)}.data-table tr:last-child td{border-bottom:0}.row-number,.row-number-cell{color:var(--text-soft);font-weight:900;text-align:right;width:48px}.table-pagination{align-items:center;border-top:1px solid var(--border);color:var(--text-muted);display:flex;flex-wrap:wrap;font-weight:800;gap:12px;justify-content:space-between;padding:12px}.table-pagination>div{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.drawer{background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow);min-width:360px;padding:20px}.form-grid{display:grid;gap:14px;align-items:start}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.label{color:var(--text-muted);display:block;font-size:12px;font-weight:700;margin-bottom:6px}.client-edit-form label:not(.toggle-row),.patient-edit-form label:not(.toggle-row),.case-form label:not(.toggle-row),.exam-create-form label:not(.toggle-row),.service-edit-form label:not(.toggle-row),.suggestion-form label:not(.toggle-row),.product-modal label:not(.toggle-row),.product-modal .lookup-picker>.label,.product-modal .product-filter>.label,.service-products-modal label:not(.toggle-row),.product-usage-modal label:not(.toggle-row),.drawer form label:not(.toggle-row){display:grid;gap:8px}.client-edit-form label>.label,.patient-edit-form label>.label,.case-form label>.label,.exam-create-form label>.label,.service-edit-form label>.label,.suggestion-form label>.label,.product-modal label>.label,.product-modal .lookup-picker>.label,.product-modal .product-filter>.label,.service-products-modal label>.label,.product-usage-modal label>.label,.service-products-modal form label>.label,.product-usage-modal form label>.label,.drawer form label>.label,.patient-edit-form .search-picker>.label{border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:6px}.field-error{color:#b91c1c;display:block;font-size:12px;font-weight:800;margin-top:5px}.duration-field{min-width:0}.duration-picker{display:grid;gap:8px}.duration-presets{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;grid-template-columns:repeat(5,minmax(0,1fr));padding:4px}.duration-preset{background:transparent;border:0;border-radius:6px;color:var(--text-muted);cursor:pointer;font:inherit;font-size:12px;font-weight:900;min-height:32px;padding:6px 4px}.duration-preset:hover,.duration-preset:focus{background:var(--surface);color:var(--primary);outline:2px solid rgba(10,66,105,.12);outline-offset:0}.duration-preset.active{background:var(--primary);color:#fff;box-shadow:0 4px 10px #0a426929}.duration-custom{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.duration-custom .field{min-width:0}.duration-custom span{color:var(--text-muted);font-size:12px;font-weight:800}.section-title{align-items:center;display:flex;gap:12px;margin-bottom:14px}.section-title>.material-symbols-rounded{align-items:center;background:var(--grad-brand);border-radius:11px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:22px;height:38px;justify-content:center;width:38px}.tabs{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:24px;margin-bottom:20px}.tab{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--text-muted);font-weight:800;padding:0 0 12px}.tab.active{border-color:var(--accent);color:var(--accent-strong)}.edit-price-summary{border:1px solid var(--border);border-radius:8px;padding:14px}.exams-list-page,.exam-list{display:grid;gap:16px}.exam-list{gap:10px}.exam-list-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;padding:12px}.list-row-number{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;display:inline-flex;justify-content:center;min-width:34px;padding:6px 8px;text-align:center}.exam-list-row:hover{border-color:#0a426957;box-shadow:0 8px 22px #0f172a0f}.exam-list-main{align-items:center;color:inherit;display:grid;gap:14px;grid-template-columns:160px minmax(160px,1fr) minmax(260px,1.5fr) auto;min-width:0;text-decoration:none}.exam-list-main h2,.exam-list-main p{margin:0}.exam-list-main h2{font-size:18px}.exam-list-main p,.exam-list-main time span{color:var(--text-muted);font-weight:700}.exam-list-main time{display:grid;gap:3px}.exam-list-main time strong{color:var(--primary);font-size:13px}.exam-list-main .chip{justify-self:end;width:max-content}.exam-list-details{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.exam-list-details dt{color:var(--text-muted);font-size:11px;font-weight:900;margin-bottom:4px;text-transform:uppercase}.exam-list-details dd{font-weight:800;margin:0;overflow-wrap:anywhere}.side-service-row,.usage-edit-row{border:1px solid var(--border);border-radius:8px;display:grid;gap:10px;margin-bottom:10px;padding:12px}.side-service-row{align-items:end;grid-template-columns:minmax(0,1fr) 96px auto auto}.row-total{color:var(--primary);font-weight:900;min-width:82px;padding-bottom:9px;text-align:right}.usage-edit-row{grid-template-columns:1fr}.usage-quantity-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.danger-action{justify-self:end}.exam-modal-backdrop{align-items:center;background:#0f172a7a;display:flex;justify-content:center;inset:0;padding:24px;position:fixed;z-index:30}.service-products-modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(920px,100vh - 48px);max-width:1440px;overflow:hidden;width:min(1440px,100vw - 48px)}.product-usage-modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(820px,100vh - 48px);max-width:980px;overflow:hidden;width:min(980px,100vw - 48px)}.case-history-backdrop{z-index:90}.case-history-modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(820px,100vh - 48px);max-width:980px;overflow:hidden;width:min(980px,100vw - 48px)}.case-history-modal .service-products-modal-header{align-items:center}.case-history-modal .service-products-modal-header .btn.icon-only{flex:0 0 auto;width:38px}.case-history-body{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto;padding:16px 20px}.case-history-summary,.case-history-exams{border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;padding:14px}.case-history-summary h3,.case-history-exams h3{margin:0}.case-history-summary dl{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.case-history-summary dt{color:var(--text-muted);font-size:11px;font-weight:900;text-transform:uppercase}.case-history-summary dd{font-weight:800;margin:0;overflow-wrap:anywhere}.case-history-exams{grid-column:1/-1}.case-history-exam-list{display:grid;gap:10px}.case-history-exam{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px;text-align:left;width:100%}.case-history-exam:hover,.case-history-exam:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0a426914;outline:0}.case-history-exam strong,.case-history-exam span,.case-history-exam small{display:block}.case-history-exam span,.case-history-exam small{color:var(--text-muted);margin-top:3px}.case-history-footer{display:flex;justify-content:flex-end}.service-products-modal-header,.service-products-modal-footer{align-items:start;border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:18px 20px}.service-products-modal-header h2{margin-bottom:4px}.service-products-modal-footer{align-items:center;border-bottom:0;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) auto}.service-products-modal-footer.case-history-footer{display:flex;gap:12px;justify-content:flex-end}.service-products-grid{display:grid;gap:0;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr) minmax(320px,1.1fr);min-height:0;overflow:hidden}.product-usage-grid{display:grid;gap:0;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);min-height:0;overflow:hidden}.modal-column{border-right:1px solid var(--border);display:grid;gap:12px;min-height:0;overflow:auto;padding:16px}.modal-column:last-child{border-right:0}.modal-result-list,.used-product-list{display:grid;gap:10px;min-height:0;overflow:auto}.compact-results{max-height:320px}.modal-result-card,.selected-service-editor,.used-product-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;padding:12px}.modal-result-card{align-items:center;grid-template-columns:minmax(0,1fr) auto}.modal-result-card.selected{background:var(--primary-soft);border-color:#0a42695c}.modal-result-card span,.modal-result-card small,.selected-service-editor span,.used-product-header span{color:var(--text-muted);display:block;margin-top:3px}.modal-subsection{border-top:1px solid var(--border);display:grid;gap:12px;padding-top:14px}.selected-service-editor{align-items:end;grid-template-columns:minmax(0,1fr) 120px auto}.used-product-header{align-items:start;display:flex;gap:12px;justify-content:space-between}.inline-price{border:0;display:flex;flex-wrap:wrap;gap:18px;min-width:0;padding:0}.inline-price div{gap:10px}.discard-confirm{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:0}.discard-confirm strong,.discard-confirm .btn{white-space:nowrap}.exam-side .section-header{margin-bottom:12px}.patient-modal-backdrop{align-items:center;background:#0f172a6b;display:flex;inset:0;justify-content:center;padding:16px 24px;position:fixed;z-index:80}.patient-modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(840px,100dvh - 32px);overflow:hidden;width:min(1120px,100vw - 48px)}.patient-modal-header,.patient-modal-footer{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:14px 18px}.patient-modal-header{border-bottom:1px solid var(--border)}.patient-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;padding-bottom:12px;padding-top:12px}.patient-modal-body{display:grid;gap:16px;overflow:auto;padding:16px 18px}.schedule-page{display:grid;gap:16px}.schedule-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid;gap:14px;overflow:hidden;padding:16px}.schedule-title{align-items:center;display:flex;gap:14px;justify-content:space-between}.schedule-title>div:first-child{align-items:center;display:flex;gap:10px}.schedule-title h2{margin:0}.schedule-title small{color:var(--text-muted);display:block;font-weight:800;margin-top:2px}.schedule-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.schedule-table{border:1px solid var(--border);border-radius:8px;overflow:auto}.schedule-grid{display:grid;grid-template-columns:minmax(180px,210px) repeat(7,minmax(160px,1fr));min-width:1330px}.schedule-header-row{background:var(--surface-soft);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3}.schedule-doctor-heading,.schedule-day-heading,.schedule-doctor-lane,.schedule-cell{border-right:1px solid var(--border);min-width:0}.schedule-day-heading,.schedule-doctor-heading{padding:12px}.schedule-doctor-heading,.schedule-day-heading span{color:var(--text-muted);font-size:12px;font-weight:900;text-transform:uppercase}.schedule-day-heading{display:grid;gap:2px}.schedule-day-heading strong{color:var(--text);font-size:13px}.schedule-day-heading.today,.schedule-cell.today{background:linear-gradient(180deg,var(--primary-soft),var(--surface) 72%)}.schedule-doctor-row{border-bottom:1px solid var(--border)}.schedule-doctor-row:last-child{border-bottom:0}.schedule-doctor-lane{align-content:start;background:var(--surface);display:grid;gap:8px;left:0;padding:14px 12px;position:sticky;z-index:2}.schedule-doctor-lane strong,.schedule-doctor-lane span{display:block}.schedule-doctor-lane strong{font-size:15px;line-height:1.25}.schedule-doctor-lane span{background:var(--primary-soft);border-radius:999px;color:var(--primary);font-size:11px;font-weight:900;justify-self:start;padding:4px 8px;text-transform:uppercase}.schedule-cell{align-content:start;display:grid;gap:8px;min-height:138px;padding:36px 8px 8px;position:relative}.schedule-cell:hover{background:color-mix(in srgb,var(--primary-soft) 42%,var(--surface))}.schedule-add-slot{align-items:center;background:transparent;border:1px solid rgba(10,66,105,.22);border-radius:999px;color:var(--primary);display:inline-flex;height:26px;justify-content:center;opacity:.26;position:absolute;right:10px;text-decoration:none;top:10px;transition:opacity .15s ease,background-color .15s ease,color .15s ease;width:26px}.schedule-add-slot .material-symbols-rounded{font-size:17px}.schedule-add-slot:hover,.schedule-add-slot:focus,.schedule-cell:hover .schedule-add-slot,.schedule-edit-link:hover,.schedule-edit-link:focus{opacity:1}.schedule-add-slot:hover,.schedule-add-slot:focus,.schedule-edit-link:hover,.schedule-edit-link:focus{background:var(--primary);color:#fff}.schedule-exam-card{background:var(--surface);border:1px solid rgba(10,66,105,.24);border-left:4px solid var(--primary);border-radius:7px;box-shadow:0 4px 12px #0f172a0a;display:grid;min-height:58px;min-width:0;padding:8px 34px 8px 9px;position:relative}.schedule-exam-card.pending{border-left-color:#b45309}.schedule-exam-card.cancelled{border-left-color:var(--text-muted);opacity:.68}.schedule-exam-main{background:transparent;border:0;color:inherit;display:grid;gap:2px;min-width:0;padding:0;text-align:left;text-decoration:none;width:100%}.schedule-exam-main time{color:var(--primary);font-size:12px;font-weight:900}.schedule-exam-main strong,.schedule-exam-main span,.schedule-exam-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-exam-main strong{font-size:13px}.schedule-exam-main span,.schedule-exam-main small{color:var(--text-muted);font-size:12px;font-weight:800}.schedule-exam-main .chip{justify-self:start;margin-top:4px;width:max-content}.schedule-edit-link{align-items:center;background:var(--primary-soft);border:1px solid rgba(10,66,105,.2);border-radius:999px;color:var(--primary);display:inline-flex;height:24px;justify-content:center;opacity:.72;position:absolute;right:7px;text-decoration:none;top:7px;width:24px}.schedule-edit-link .material-symbols-rounded{font-size:15px}.schedule-more-button{align-items:center;background:var(--primary-soft);border:1px solid rgba(10,66,105,.22);border-radius:7px;color:var(--primary);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:900;justify-content:center;min-height:30px;padding:6px 8px;width:100%}.schedule-more-button:hover,.schedule-more-button:focus{background:var(--primary);color:#fff}.schedule-agenda-backdrop{z-index:34}.schedule-agenda-modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(760px,100vh - 48px);overflow:hidden;width:min(780px,100vw - 48px)}.schedule-agenda-header{align-items:start;border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:18px 20px}.schedule-agenda-header h2{margin-bottom:4px}.schedule-agenda-body{display:grid;gap:14px;overflow:auto;padding:16px 20px 20px}.schedule-agenda-summary{align-items:center;display:flex;gap:10px;justify-content:space-between}.schedule-agenda-list{display:grid;gap:10px}.schedule-agenda-row{align-items:start;background:var(--surface);border:1px solid rgba(10,66,105,.22);border-left:4px solid var(--primary);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.schedule-agenda-row.pending{border-left-color:#b45309}.schedule-agenda-row.cancelled{border-left-color:var(--text-muted);opacity:.72}.schedule-agenda-main{align-items:start;background:transparent;border:0;color:inherit;display:grid;gap:12px;grid-template-columns:76px minmax(0,1fr) auto;min-width:0;padding:0;text-align:left;text-decoration:none;width:100%}.schedule-agenda-main time{color:var(--primary);font-size:13px;font-weight:900;line-height:1.35}.schedule-agenda-main div{display:grid;gap:3px;min-width:0}.schedule-agenda-main strong,.schedule-agenda-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-agenda-main strong{font-size:14px}.schedule-agenda-main span{color:var(--text-muted);font-size:12px;font-weight:800}@media(max-width:980px){.schedule-title{align-items:flex-start;flex-direction:column}.schedule-controls{justify-content:flex-start;width:100%}.schedule-table{border:0;overflow:visible}.schedule-grid{display:grid;grid-template-columns:1fr;min-width:0}.schedule-header-row{display:none}.schedule-doctor-row{border:1px solid var(--border);border-radius:8px;gap:0;margin-bottom:14px;overflow:hidden}.schedule-doctor-lane{border-bottom:1px solid var(--border);border-right:0;position:static}.schedule-cell{border-right:0;border-top:1px solid var(--border);min-height:72px}.schedule-cell:before{color:var(--text-muted);content:attr(data-day);font-size:12px;font-weight:900;text-transform:uppercase}.schedule-agenda-summary{align-items:stretch;flex-direction:column}.schedule-agenda-summary .btn{justify-content:center}.schedule-agenda-row,.schedule-agenda-main{grid-template-columns:1fr}}@media(max-width:1080px){.grid.stats{grid-template-columns:1fr}.page-header{display:block}.toolbar{margin-top:12px}}@media(max-width:1180px){.service-products-grid,.product-usage-grid{grid-template-columns:1fr;overflow:auto}.modal-column{border-bottom:1px solid var(--border);border-right:0;overflow:visible}.modal-column:last-child{border-bottom:0}}@media(max-width:760px){:root{--sidebar-width: 74px}.page{padding:16px}.drawer{min-width:0}.exam-list-row,.side-service-row,.exam-list-details,.usage-quantity-grid{grid-template-columns:1fr}.exam-list-main{align-items:start;grid-template-columns:1fr}.exam-list-main .chip{justify-self:start}.row-total{min-width:0;padding-bottom:0;text-align:left}.exam-modal-backdrop,.patient-modal-backdrop{padding:10px}.service-products-modal,.product-usage-modal,.case-history-modal,.patient-modal{max-height:calc(100vh - 20px);width:calc(100vw - 20px)}.case-history-body,.case-history-summary dl,.service-products-modal-header,.service-products-modal-footer,.modal-result-card,.selected-service-editor{grid-template-columns:1fr}.service-products-modal-header,.service-products-modal-footer{display:grid}.patient-modal-header,.patient-modal-footer{align-items:stretch;flex-direction:column}.patient-modal-footer .btn{width:100%}.discard-confirm{justify-content:flex-start}.discard-confirm strong{white-space:normal}}.dv{--petrol: #1f6f78;--petrol-dark: #155057;--petrol-soft: #e6f1f2;--green: #2e9e6b;--green-soft: #e4f4ec;--orange: #e08a3c;--orange-soft: #fbeedd;--red: #d8493f;--red-soft: #fbe7e5;--purple: #6d5ef0;--purple-soft: #ecebfd;--blue: #4f8ff7;--blue-soft: #eaf2fd;--ai-grad: linear-gradient(135deg, #6d5ef0 0%, #4f8ff7 100%);--gray: #98a2ad;--gray-soft: #eef0f3;--bg: #eef3f6;--card: #ffffff;--ink: #16202b;--ink-2: #5b6672;--ink-3: #8a94a0;--line: #e7eaee;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(20, 30, 45, .03), 0 8px 22px rgba(20, 30, 45, .055);--shadow-sm: 0 1px 2px rgba(20, 30, 45, .06);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;-webkit-font-smoothing:antialiased;color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.45}.dv *,.dv *:before,.dv *:after{letter-spacing:0}.dv.dv-shell,.dv.login-page{background:var(--bg);min-height:100dvh}.dv h1,.dv h2,.dv h3,.dv p{line-height:1.35;margin:0}.dv .scroll{padding:0 16px 92px}.dv .topbar{background:var(--bg);padding:16px 0 12px;position:sticky;top:0;z-index:5}.dv .topbar .row{align-items:center;display:flex;justify-content:space-between}.dv .topbar .hello{color:var(--ink-3);font-size:13px;font-weight:500}.dv .topbar .title{font-size:25px;font-weight:700}.dv .iconbtn{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;display:grid;height:38px;justify-content:center;padding:0;place-items:center;position:relative;width:38px}.dv .iconbtn.primary{background:var(--petrol);border-color:var(--petrol);color:#fff}.dv .dot-badge{background:var(--red);border:2px solid var(--bg);border-radius:9px;color:#fff;display:grid;font-size:10px;font-weight:700;height:16px;min-width:16px;padding:0 4px;place-items:center;position:absolute;right:-2px;top:-2px}.dv .searchbar{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--ink-3);cursor:text;display:flex;font:inherit;gap:8px;margin-top:12px;padding:10px 12px}.dv .searchbar input{background:transparent;border:none;color:var(--ink);flex:1;font-family:var(--font);font-size:15px;min-width:0;outline:none}.dv .sec-h{align-items:baseline;display:flex;justify-content:space-between;margin:22px 2px 10px}.dv .sec-h h2{font-size:17px;font-weight:700}.dv .link{background:none;border:none;color:var(--petrol);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:0}.dv .card{background:var(--card);border:1px solid rgba(231,234,238,.7);border-radius:var(--radius);box-shadow:var(--shadow)}.dv .card.pad{padding:14px 16px}.dv .list{display:flex;flex-direction:column;gap:10px}.dv .kpis{display:grid;gap:10px;grid-template-columns:1fr 1fr}.dv .kpi{background:var(--card);border:1px solid rgba(231,234,238,.7);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:14px}.dv .kpi .ico{border-radius:10px;display:grid;height:34px;place-items:center;width:34px}.dv .kpi .big{font-size:26px;font-weight:700;line-height:1}.dv .kpi .lbl{color:var(--ink-2);font-size:12.5px;font-weight:500}.dv .row-card{align-items:center;cursor:pointer;display:flex;gap:12px;padding:12px 14px}.dv .row-card+.row-card{border-top:1px solid var(--line)}.dv .avatar{align-items:center;border-radius:13px;color:#fff;display:grid;flex:none;font-size:16px;font-weight:700;height:42px;place-items:center;width:42px}.dv .avatar.avatar-species{border-radius:50%}.dv .row-main{display:flex;flex-direction:column;flex:1;gap:4px;line-height:1.25;min-width:0}.dv .row-main .t{display:block;font-size:15px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dv .row-main .s{color:var(--ink-3);font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dv .row-main .s:not(.task-meta){display:block}.dv .row-end{align-items:flex-end;display:flex;flex:none;flex-direction:column;gap:4px}.dv .chev{color:#c2c8d0;flex:none}.dv .badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11.5px;font-weight:600;gap:5px;padding:3px 9px;white-space:nowrap}.dv .badge.green{background:var(--green-soft);color:#1c7a4f}.dv .badge.orange{background:var(--orange-soft);color:#b46a23}.dv .badge.red{background:var(--red-soft);color:#b5362d}.dv .badge.petrol{background:var(--petrol-soft);color:var(--petrol-dark)}.dv .badge.gray{background:var(--gray-soft);color:#6b7480}.dv .badge.ai{background:#6d5ef01f;color:#5446c9}.dv .dot{border-radius:50%;flex:none;height:9px;width:9px}.dv .dot.pulse{animation:pv-pulse 1.4s ease-in-out infinite}.dv .timepill{background:var(--petrol-soft);border-radius:9px;color:var(--petrol-dark);font-size:12px;font-weight:700;min-width:52px;padding:4px 8px;text-align:center}.dv .ai-card{background:var(--ai-grad);border-radius:var(--radius);box-shadow:0 10px 26px #6356dc52;color:#fff;padding:16px}.dv .ai-card .tag{font-size:11px;font-weight:700;letter-spacing:.6px;opacity:.85;text-transform:uppercase}.dv .ai-card h3{font-size:16px;font-weight:700;margin:6px 0 4px}.dv .ai-card p{font-size:13.5px;opacity:.92}.dv .ai-actions{display:flex;gap:8px;margin-top:12px}.dv .ai-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:none;border-radius:11px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.dv .ai-btn.solid{background:#fff;color:#5446c9}.dv .phead{background:linear-gradient(150deg,var(--petrol) 0%,var(--petrol-dark) 100%);border-radius:22px;box-shadow:var(--shadow);color:#fff;overflow:hidden;padding:18px 16px 16px;position:relative}.dv .phead .pname{font-size:24px;font-weight:700}.dv .phead .pmeta{font-size:13.5px;margin-top:2px;opacity:.85}.dv .phead .chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.dv .glasschip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff29;border:1px solid rgba(255,255,255,.2);border-radius:20px;font-size:12px;font-weight:600;padding:5px 10px}.dv .warnchip{align-items:center;background:#fffffff2;border-radius:20px;color:#b5362d;display:inline-flex;font-size:12px;font-weight:700;gap:5px;padding:5px 10px}.dv .stat-row{display:flex;gap:10px}.dv .stat{flex:1}.dv .stat .v{font-size:20px;font-weight:700}.dv .stat .k{color:var(--ink-3);font-size:12px}.dv .tl{padding-left:26px;position:relative}.dv .tl:before{background:var(--line);bottom:6px;content:"";left:9px;position:absolute;top:6px;width:2px}.dv .tl-item{padding:4px 0 16px;position:relative}.dv .tl-item:before{background:var(--petrol);border:2.5px solid var(--card);border-radius:50%;box-shadow:0 0 0 2px var(--line);content:"";height:12px;left:-22px;position:absolute;top:5px;width:12px}.dv .tl-item.green:before{background:var(--green)}.dv .tl-item.orange:before{background:var(--orange)}.dv .tl-item.purple:before{background:var(--purple)}.dv .tl-item .tt{font-size:14.5px;font-weight:600}.dv .tl-item .td{color:var(--ink-3);font-size:12.5px}.dv .psec{overflow:hidden}.dv .psec-h{align-items:center;cursor:pointer;display:flex;gap:10px;padding:14px 16px}.dv .psec-h .lead{background:var(--petrol-soft);border-radius:9px;color:var(--petrol-dark);display:grid;flex:none;height:30px;place-items:center;width:30px}.dv .psec-h .ttl{flex:1;font-weight:600}.dv .psec-body{color:var(--ink-2);font-size:14px;padding:0 16px 16px}.dv .filled{color:var(--green)}.dv .tline{align-items:center;display:flex;gap:12px;padding:12px 14px}.dv .tline+.tline{border-top:1px solid var(--line)}.dv .tline .pill{background:var(--petrol-soft);border-radius:10px;color:var(--petrol-dark);display:grid;flex:none;height:34px;place-items:center;width:34px}.dv .totals{padding:14px 16px}.dv .totals .tr{color:var(--ink-2);display:flex;font-size:14px;justify-content:space-between;padding:5px 0}.dv .totals .tr.grand{border-top:1px solid var(--line);color:var(--ink);font-size:19px;font-weight:700;margin-top:6px;padding-top:12px}.dv .btn{align-items:center;background:var(--card);border:none;border-radius:15px;color:var(--ink);cursor:pointer;display:flex;font-family:var(--font);font-size:16px;font-weight:700;gap:8px;justify-content:center;padding:15px;width:100%}.dv .btn:hover{border-color:transparent;box-shadow:none;transform:none}.dv .btn.primary,.dv .btn.primary:hover{background:var(--petrol);box-shadow:0 8px 20px #1f6f784d;color:#fff}.dv .btn.green,.dv .btn.green:hover{background:var(--green);box-shadow:0 8px 20px #2e9e6b47;color:#fff}.dv .btn.ghost,.dv .btn.ghost:hover{background:var(--card);border:1.5px solid var(--line);box-shadow:none;color:var(--petrol)}.dv .fab-bar{background:linear-gradient(to top,var(--bg) 70%,transparent);bottom:0;padding:12px 0 4px;position:sticky}.dv .sheet-wrap{align-items:flex-end;display:flex;inset:0;position:fixed;z-index:60}.dv .sheet-wrap.sheet-elevated{z-index:100}.dv .sheet-bg{background:#0a141e6b;inset:0;position:absolute}.dv .sheet{animation:dv-rise .26s cubic-bezier(.2,.8,.2,1);background:var(--card);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px #0003;max-height:88%;overflow-y:auto;padding:8px 18px calc(20px + env(safe-area-inset-bottom));position:relative;width:100%}.dv .sheet:focus{outline:none}.dv .grabber{background:var(--line);border-radius:3px;height:5px;margin:6px auto 10px;width:38px}@media(max-width:640px){.dv .sheet-wrap.sheet-fullscreen .sheet{border-radius:0;height:100dvh;max-height:100dvh;padding-top:18px}.dv .sheet-wrap.sheet-fullscreen .grabber{display:none}}.dv .sheet h3{font-size:19px;font-weight:700;margin-bottom:4px}.dv .lbl{color:var(--ink-3);display:block;font-size:12px;font-weight:600;margin-top:10px}.dv .dv-input{background:var(--card);border:1px solid var(--line);border-radius:10px;box-sizing:border-box;color:var(--ink);font-family:var(--font);font-size:15px;margin-top:4px;outline:none;padding:9px 10px;width:100%}.dv .dv-input:focus{border-color:var(--petrol)}.dv select.dv-input{appearance:auto;cursor:pointer}.dv .seg{display:flex;gap:8px;margin:12px 0}.dv .seg button{align-items:center;background:var(--card);border:1.5px solid var(--line);border-radius:13px;color:var(--ink-2);cursor:pointer;display:flex;flex:1;flex-direction:column;font-family:var(--font);font-size:14px;font-weight:600;gap:5px;padding:12px}.dv .seg button.on{background:var(--petrol-soft);border-color:var(--petrol);color:var(--petrol-dark)}.dv .toast{align-items:center;animation:dv-rise .2s ease;background:var(--ink);border-radius:14px;bottom:92px;box-shadow:var(--shadow);color:#fff;display:flex;font-weight:600;gap:10px;left:16px;padding:13px 16px;position:fixed;right:16px;z-index:2000}.dv .empty{color:var(--ink-3);font-size:14px;padding:40px 20px;text-align:center}.dv .muted{color:var(--ink-3)}.dv .hint{color:var(--ink-3);font-size:12.5px;margin-top:6px}@keyframes dv-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes dv-pop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pv-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.7)}}@media(min-width:992px){.dv.has-nav .scroll{padding-bottom:32px;padding-left:252px;padding-right:32px}.dv.has-nav .scroll>*{display:block;margin-inline:auto;max-width:1120px}.dv:not(.has-nav) .scroll{padding-bottom:28px;padding-left:max(24px,(100% - 900px) / 2);padding-right:max(24px,(100% - 900px) / 2)}.dv .topbar{padding-top:22px}.dv.dv-shell .topbar .row{padding-right:198px}.dv .topbar .title{font-size:28px}.dv .kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dv .sheet-wrap{align-items:center;justify-content:center}.dv .sheet{animation:dv-pop .2s ease;border-radius:22px;max-height:84%;max-width:540px;width:92%}.dv .toast{left:50%;max-width:440px;right:auto;transform:translate(-50%);width:calc(100% - 32px)}}@media print{body.dv-print-journal *{visibility:hidden}body.dv-print-journal #journal-print,body.dv-print-journal #journal-print *{visibility:visible}body.dv-print-journal #journal-print{border:none;border-radius:0;box-shadow:none;color:#000;left:0;position:absolute;top:0;width:100%}body.dv-print-journal #journal-print .journal-table-wrap{overflow:visible}body.dv-print-journal #journal-print .journal-table{min-width:0}body.dv-print-journal #journal-print .journal-table th{background:#fff}body.dv-print-journal #journal-print .journal-table th,body.dv-print-journal #journal-print .journal-table td{border-color:#000;color:#000}}@media print{body.dv-print-report *{visibility:hidden}body.dv-print-report #report-print,body.dv-print-report #report-print *{visibility:visible}body.dv-print-report #report-print{left:0;position:absolute;top:0;width:100%}body.dv-print-report #report-print .card,body.dv-print-report #report-print .kpi{border-color:#bbb;box-shadow:none}body.dv-print-report-transactions *{visibility:hidden}body.dv-print-report-transactions #report-transactions-print,body.dv-print-report-transactions #report-transactions-print *{visibility:visible}body.dv-print-report-transactions #report-transactions-print{left:0;position:absolute;top:0;width:100%}body.dv-print-report-transactions #report-transactions-print .card,body.dv-print-report-transactions #report-transactions-print .row-card{border-color:#bbb;box-shadow:none}}
