:root{--primary:#1f3a6d;--primary-hover:#18315c;--success:#16a34a;--warning:#f59e0b;--danger:#dc2626;--background:#f8fafc;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 2px 6px #0000000d;--shadow-md:0 8px 20px #00000014;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{background:var(--background);width:100%;min-height:100dvh}body{color:var(--text-primary);font-family:Segoe UI,sans-serif}@media (width<=1024px){.dashboard-cards,.dentist-grid,.dentist-schedule-grid,.specializations-grid,.service-category-grid,.pricing-unit-category-grid,.services-list,.service-category-services,.appointment-layout,.patient-form,.service-form-grid,.dentist-form-grid,.clinic-closure-form-grid,.clinic-closure-grid,.override-schedule-grid,.override-schedule-form-grid,.override-schedule-filters,.dentist-schedule-form-grid,.edit-appointment-form,.add-appointment-form,.appointment-history-filter-grid,.appointment-history-date-grid{grid-template-columns:1fr}}.text-field{flex-direction:column;gap:8px;display:flex}.text-field label{color:var(--text-primary);font-size:14px;font-weight:600}.text-field input{border:1px solid var(--border);background:#fff;border-radius:12px;outline:none;width:100%;padding:12px 16px;font-size:15px;transition:all .2s}.text-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.text-field input::placeholder{color:#9ca3af}.text-field input:disabled{cursor:not-allowed;background:#f3f4f6}.button{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 22px;font-size:15px;font-weight:600;transition:all .25s;display:inline-flex}.button-primary{background:var(--primary);color:#fff}.button-primary:hover{background:var(--primary-hover);transform:translateY(-2px)}.button-secondary{color:var(--text-primary);border:1px solid var(--border);background:#fff}.button-secondary:hover{background:#f9fafb}.button-danger{background:var(--danger);color:#fff}.button-danger:hover{opacity:.9}.button-success{background:var(--success);color:#fff}.button:disabled{opacity:.5;cursor:not-allowed}.button-warning{background:var(--warning);color:#fff}.button-warning:hover{opacity:.9}.login-container{-webkit-backdrop-filter:blur(24px);box-sizing:border-box;background:#ffffffb8;border:1px solid #fffc;border-radius:28px;justify-content:center;align-items:center;width:430px;min-height:560px;padding:48px;display:flex;box-shadow:0 25px 70px #1f3a6d1f,inset 0 1px #fffffff2}.login-container form{flex-direction:column;align-items:center;width:100%;display:flex}.login-brand{flex-direction:column;align-items:center;display:flex}.login-brand img{object-fit:contain;width:82px;height:82px;margin:0;padding:0}.login-brand h1{color:#1f3a6d;letter-spacing:-.5px;margin:8px 0 0;font-family:DM Serif Display,serif;font-size:30px;font-weight:400;line-height:1}.login-heading{text-align:center;flex-direction:column;align-items:center;margin-top:30px;display:flex}.login-heading p{color:#172033;margin:0;font-family:DM Serif Display,serif;font-size:25px;font-weight:400}.login-heading span{color:#7a8798;margin-top:7px;font-size:12px;line-height:1.5}.login-fields{flex-direction:column;gap:14px;width:100%;margin-top:30px;display:flex}.text-field input.username,.text-field input.password{color:#172033;box-sizing:border-box;background:#ffffffd1;border:1px solid #dce4ed;border-radius:12px;outline:none;width:100%;height:48px;font-family:Inter,sans-serif;font-size:13px;transition:all .2s}.text-field input.username:focus,.text-field input.password:focus{background:#fff;border-color:#1f3a6d;box-shadow:0 0 0 3px #1f3a6d14}.text-field input.username::placeholder,.text-field input.password::placeholder{color:#9aa8b8}.btnLOGIN{color:#fff;cursor:pointer;background:#1f3a6d;border:1px solid #1f3a6d;border-radius:12px;width:100%;height:48px;margin-top:22px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 10px 24px #1f3a6d29}.btnLOGIN:hover{background:#18315c;transform:translateY(-1px);box-shadow:0 13px 28px #1f3a6d33}.btnLOGIN:active{transform:translateY(0)}.login-forgot{color:#667085;margin-top:18px;font-size:12px;font-weight:500;text-decoration:none;transition:color .2s}.login-forgot:hover{color:#1f3a6d}@media (width<=600px){.login-container{border-radius:24px;width:calc(100% - 32px);min-height:540px;padding:40px 28px}}.login-status{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:18px;margin-top:12px;display:flex}.login-message{color:#7a8798;text-align:center;margin:0;font-size:11px;font-weight:500;line-height:1.5}.toast{border:1px solid var(--border);width:420px;box-shadow:var(--shadow-md);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.toast-left{align-items:center;gap:12px;display:flex}.toast-left span{color:var(--text-primary);font-size:15px;font-weight:500}.toast-success{color:var(--success)}.toast-error{color:var(--danger)}.toast-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;align-items:center;transition:all .2s;display:flex}.toast-close:hover{color:var(--text-primary)}.login-page{box-sizing:border-box;background:radial-gradient(circle at 50% 0,#dbe9f8b3,#0000 45%),#f7f9fc;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.login-content{flex-direction:column;align-items:center;width:100%;display:flex}.mfa-code-inputs{justify-content:center;gap:10px;margin:25px 0;display:flex}.mfa-code-box{text-align:center;color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;width:52px;height:58px;font-size:24px;font-weight:600;transition:border-color .2s,box-shadow .2s}.mfa-code-box:focus{border-color:#1f3a6d;box-shadow:0 0 0 3px #1f3a6d1f}.btnLOGIN:disabled{opacity:.5;cursor:not-allowed}.mfa-recovery-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin:14px auto 0;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:color .2s;display:block}.mfa-recovery-link:hover{color:var(--primary)}.mfa-recovery-email-input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-primary);outline:none;padding:11px 13px;font-family:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s}.mfa-recovery-email-input::placeholder{color:var(--text-secondary)}.mfa-recovery-email-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f3a6d14}.forgotPasswordContainer,.otpContainer,.resetPasswordContainer{border-left:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;justify-self:center;width:550px;height:100dvh;padding:100px 150px 0;display:flex}.otpContainer{place-items:center}.otpContainer .btnOTP{width:350px}.otpContainer h1{padding:0 0 10px;font-size:40px}.otpContainer p{padding:0 0 10px}.otpContainer .email{padding:0 0 50px}.otpContainer h2{padding-bottom:50px}.forgotPasswordContainer h1,.forgotPasswordContainer p{padding:0 0 5px 10px}.forgotPasswordContainer h1{font-weight:450}.forgotPasswordContainer p{margin-bottom:10px}.forgotPasswordContainer .text-field,.forgotPasswordContainer .btnOTP{width:500px}.forgotPasswordContainer .btnOTP{margin:10px 0 0}.otpHandler{flex-direction:row;gap:10px;padding:0 0 50px;display:flex}.text-field input.otp{text-align:center;width:100px;height:100px;font-size:30px}.resetPasswordContainer .text-field,.resetPasswordContainer .btnOTP{width:500px}.resetPasswordContainer h1{padding:0 0 0 10px}.resetPasswordContainer p{padding:10px 0 10px 10px}.resetPasswordContainer .btnOTP{margin:10px 0 0}@media (width<=431px){.forgotPasswordContainer,.resetPasswordContainer{scale:.7}.otpContainer{scale:.6}}.sidebar{border-right:1px solid var(--border);box-sizing:border-box;background:#fcfcfd;flex-direction:column;width:300px;min-height:100dvh;padding:24px;transition:transform .25s;display:flex}.sidebar-header{align-items:center;gap:12px;display:flex}.sidebar-header img{width:50px;height:auto;margin:0}.sidebar-header p{font-size:10px}.sidebar-nav{flex-direction:column;display:flex}.sidebar-nav a{color:var(--text-primary);border-radius:12px;align-items:center;gap:12px;margin-bottom:4px;padding:14px 16px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav a.active{color:var(--primary);background:#1f3a6d14;font-weight:600}.sidebar-nav a.active svg{color:var(--primary)}.sidebar-nav h4{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin:24px 0 10px;font-size:11px;font-weight:700}.sidebar-parent{width:100%;color:var(--text-primary);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:14px 16px;font-weight:500;transition:all .2s;display:flex}.sidebar-parent-content{align-items:center;gap:12px;display:flex}.sidebar-parent:hover{background:#1f3a6d0d}.sidebar-parent-content svg{color:var(--text-primary);flex-shrink:0}.sidebar-parent svg:last-child{transition:transform .2s}.sidebar-chevron-open{transform:rotate(180deg)}.sidebar-submenu-items{flex-direction:column;gap:2px;margin-top:4px;margin-bottom:4px;margin-left:34px;display:flex}.sidebar-submenu-items a{color:var(--text-secondary);border-radius:8px;padding:8px 12px;font-size:13px;text-decoration:none;transition:all .2s}.sidebar-submenu-items a:hover{color:var(--text-primary);background:#ffffff0f}.sidebar-submenu-items a.active{color:var(--primary);background:#ffffff1a;font-weight:600}.sidebar-parent-open{color:var(--primary);background:#1f3a6d14;font-weight:600}.sidebar-parent-open svg{color:var(--primary)}.sidebar-backdrop{display:none}@media (width<=1024px){.sidebar{z-index:1000;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{z-index:999;background:#00000059;display:block;position:fixed;inset:0}}@media (width<=431px){.sidebar{z-index:1000;max-height:100vh;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{z-index:999;background:#00000059;display:block;position:fixed;inset:0}}.sidebar-logout{color:#dc2626;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;margin-top:4px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.sidebar-logout:hover{color:#b91c1c;background:#fef2f2}.sidebar-logout:active{transform:scale(.98)}.sidebar-logout svg{flex-shrink:0}.confirmation-modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirmation-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:24px;box-shadow:0 20px 50px #00000026}.confirmation-modal-content{flex-direction:column;gap:8px;display:flex}.confirmation-modal-content h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.confirmation-modal-content p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.confirmation-modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:18px;display:flex}.topbar{-webkit-backdrop-filter:blur(18px);box-sizing:border-box;background:#ffffffd1;border-bottom:1px solid #e5e7eb;align-items:center;width:100%;min-height:88px;padding:14px 34px;display:flex;box-shadow:0 4px 14px #4975c60f}.topbar-menu-button{width:36px;height:36px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;margin-right:12px;transition:background .2s;display:none}.topbar-menu-button:hover{background:#1f3a6d14}.topbar-page-info{flex-direction:column;flex-shrink:0;justify-content:center;width:360px;display:flex}.topbar-title{color:var(--text-primary);margin:0;font-size:22px;font-weight:700;line-height:1.25}.topbar-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.3}.topbar-search{box-sizing:border-box;background:#fffffff0;border:1px solid #e2e8f0;border-radius:11px;flex:0 0 520px;align-items:center;gap:11px;width:520px;height:46px;margin:0 auto;padding:0 16px;display:flex;box-shadow:0 2px 7px #4975c60f,inset 0 1px #fff}.topbar-search svg{color:var(--text-secondary);flex-shrink:0}.topbar-search input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit;font-size:13px}.topbar-search input::placeholder{color:var(--text-secondary)}.topbar-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-divider{background:var(--border);width:1px;height:24px;margin:0 6px}.profile-button{cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;height:36px;padding:0 6px 0 8px;transition:background .2s;display:flex}.profile-button svg:first-child{color:var(--primary)}.profile-button:hover{background:#1f3a6d14}.profile-button span{color:var(--text-primary);font-size:13px;font-weight:600}@media (width<=1024px){.topbar-menu-button{display:flex}.topbar-page-info{flex-shrink:1;width:auto;min-width:0}.topbar-search{flex:0 0 300px;gap:6px;min-width:300px;max-width:500px;margin-right:0;padding:0 10px}.topbar-right{margin-left:0}}@media (width<=431px){.topbar{padding:10px 16px}.topbar-title{font-size:16px}.topbar-subtitle{font-size:10px}.topbar-page-info{flex:1;min-width:0}.topbar-search{width:36px;min-width:36px;box-shadow:none;cursor:pointer;background:0 0;border:none;flex:0 0 36px;order:1;justify-content:flex-end;gap:4px;margin:0;padding:0 20px 0 0}.topbar-search input{display:none}.topbar-mobile-search{box-sizing:border-box;background:#fffffff0;border-bottom:1px solid #e5e7eb;align-items:center;gap:10px;padding:10px 16px;display:flex}.topbar-mobile-search svg{color:var(--text-secondary);flex-shrink:0}.topbar-mobile-search input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit;font-size:13px}.topbar-mobile-search input::placeholder{color:var(--text-secondary)}.topbar-right{order:2;justify-content:flex-end;gap:4px;width:auto;margin-left:auto}}.topbar-profile-image-wrapper{background:var(--background);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.topbar-profile-image{object-fit:cover;width:100%;height:100%}.topbar-profile-avatar{width:100%;height:100%;color:var(--primary);letter-spacing:.5px;background:#eef3f9;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.topbar-profile-name{color:var(--text-primary);white-space:nowrap;font-size:12px;font-weight:600}.topbar-profile-loading{background:#e8edf3;border-radius:50%;width:100%;height:100%}.topbar-profile-name-loading{background:#e8edf3;border-radius:6px;width:75px;height:10px}.dashboard-layout{min-height:100dvh;display:flex}.dashboard-main{flex-direction:column;flex:1;display:flex}.dashboard-cards{grid-template-columns:repeat(4,1fr);gap:24px;padding:32px;display:grid}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;padding:0 32px 32px;display:grid}.dashboard-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;min-height:320px;padding:24px;display:grid}.recent-activities{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;margin:0 32px 32px;padding:24px}@media (width<=431px){.dashboard-main{width:100%}.page-container{box-sizing:border-box;padding:16px}.page-header .title{display:none}.page-header{flex-direction:column;gap:10px}.dashboard-grid{grid-template-columns:1fr}.dashboard-cards{grid-template-columns:repeat(2,1fr);gap:10px}.dashboard-panel{grid-template-columns:1fr;min-height:300px;padding:15px}.dashboard-panel .panel-title{font-size:14px}}.admin-summary{width:100%;display:block}.admin-summary-header{box-sizing:border-box;background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 85%, white), color-mix(in srgb, var(--primary) 65%, white));border-radius:18px;align-items:center;gap:20px;width:100%;margin-bottom:24px;padding:30px 32px;display:flex;position:relative;overflow:hidden}.admin-summary-header:after{content:"";background:#ffffff14;border-radius:50%;width:180px;height:180px;position:absolute;top:-75px;right:-45px}.admin-summary-icon{color:#fff;z-index:1;background:#ffffff29;border:1px solid #ffffff38;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;display:flex;position:relative}.admin-summary-content{z-index:1;flex-direction:column;gap:5px;display:flex;position:relative}.admin-summary-eyebrow{letter-spacing:.12em;color:#ffffffb8;font-size:11px;font-weight:700}.admin-summary-content h2{color:#fff;margin:0;font-size:27px;font-weight:700;line-height:1.25}.admin-summary-content p{color:#ffffffd1;margin:2px 0 0;font-size:14px}.admin-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;margin-bottom:24px;display:grid}.admin-summary-card{box-sizing:border-box;border:1px solid var(--border);border-left:4px solid var(--primary);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.admin-summary-card:hover{transform:translateY(-2px);box-shadow:0 5px 16px #0000000f}.admin-summary-card-icon{background:color-mix(in srgb, var(--primary) 9%, white);width:42px;height:42px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-summary-card-content{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-summary-card-label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.admin-summary-card-content strong{color:var(--text-primary);white-space:nowrap;font-size:25px;font-weight:700;line-height:1.1}.admin-revenue-trend{white-space:nowrap;align-items:center;gap:5px;margin-top:1px;display:flex}.admin-revenue-trend>span:first-child{font-size:11px;font-weight:600}.admin-revenue-trend-up{color:#198754}.admin-revenue-trend-down{color:#dc3545}.admin-revenue-trend-same{color:var(--text-secondary)}.admin-revenue-trend-label{color:var(--text-secondary);font-size:10px}@media (width<=1400px){.admin-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.admin-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.admin-summary-cards{grid-template-columns:1fr}}.admin-trends{width:100%;margin-bottom:24px}.admin-trends-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.admin-trends-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:5px;font-size:10px;font-weight:700;display:block}.admin-trends-header h3{color:var(--text-primary);margin:0;font-size:21px;font-weight:700}.admin-trends-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.admin-trends-toggle{background:color-mix(in srgb, var(--primary) 6%, white);border:1px solid var(--border);border-radius:10px;flex-shrink:0;padding:4px;display:flex}.admin-trends-toggle button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 13px;font-size:12px;font-weight:600;transition:background .2s,color .2s}.admin-trends-toggle button:hover{color:var(--text-primary)}.admin-trends-toggle button.active{color:var(--primary);box-shadow:var(--shadow-sm);background:#fff}.admin-trends-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}.admin-trend-card{box-sizing:border-box;border:1px solid var(--border);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;padding:22px 24px}.admin-trend-card-header{margin-bottom:10px}.admin-trend-card-eyebrow{letter-spacing:.1em;color:var(--primary);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.admin-trend-card-header h4{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.admin-trend-chart{width:100%;height:300px}@media (width<=900px){.admin-trends-grid{grid-template-columns:1fr}}@media (width<=600px){.admin-trends-header{flex-direction:column;align-items:flex-start}.admin-trends-toggle{width:100%}.admin-trends-toggle button{flex:1}.admin-trend-card{padding:20px}.admin-trend-chart{height:260px}}.admin-todays-appointments{box-sizing:border-box;border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;margin-bottom:24px;padding:24px}.admin-todays-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.admin-todays-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.admin-todays-header h3{color:var(--text-primary);margin:0;font-size:20px;font-weight:700;line-height:1.3}.admin-todays-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.admin-todays-date{background:color-mix(in srgb, var(--primary) 7%, white);border:1px solid color-mix(in srgb, var(--primary) 14%, var(--border));color:var(--primary);white-space:nowrap;border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.admin-dentist-switcher{background:color-mix(in srgb, var(--primary) 5%, white);border:1px solid color-mix(in srgb, var(--primary) 12%, var(--border));border-radius:12px;justify-content:center;align-items:center;width:100%;margin-bottom:16px;padding:12px 0;display:flex}.admin-dentist-switch-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s,border-color .2s;display:flex}.admin-dentist-switch-button:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 8%, white);border-color:color-mix(in srgb, var(--primary) 25%, var(--border));color:var(--primary)}.admin-dentist-switch-button:disabled{opacity:.45;cursor:default}.admin-dentist-selected{text-align:center;flex-direction:column;align-items:center;min-width:180px;padding:0 20px;display:flex}.admin-dentist-selected strong{color:var(--text-primary);font-size:15px;font-weight:700}.admin-dentist-selected span{color:var(--text-secondary);margin-top:3px;font-size:12px}.admin-todays-list{flex-direction:column;width:100%;display:flex}.admin-appointment-row{border-bottom:1px solid var(--border);grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 4px;display:grid}.admin-appointment-row:last-child{border-bottom:none}.admin-appointment-time{flex-direction:column;gap:2px;display:flex}.admin-appointment-time strong{color:var(--text-primary);font-size:13px;font-weight:700}.admin-appointment-time span{color:var(--text-secondary);font-size:11px}.admin-appointment-patient{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-appointment-patient strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.admin-appointment-patient span{color:var(--text-secondary);text-transform:capitalize;font-size:11px}.admin-appointment-status{text-transform:capitalize;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;min-width:72px;padding:5px 9px;font-size:10px;font-weight:600;display:inline-flex}.admin-status-pending{color:#b7791f;background:#fff7e6}.admin-status-confirmed{color:#2f855a;background:#eaf7ee}.admin-status-completed{color:#3569a8;background:#edf4ff}.admin-status-cancelled,.admin-status-needs_cancellation{color:#c53030;background:#fceeee}.admin-status-needs_reschedule{color:#c05621;background:#fff4e5}.admin-status-no_show{color:#666;background:#f1f1f1}.admin-todays-empty{text-align:center;border:1px dashed var(--border);background:#fafafa;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:120px;padding:20px;display:flex}.admin-todays-empty strong{color:var(--text-primary);font-size:13px;font-weight:600}.admin-todays-empty span{color:var(--text-secondary);font-size:12px}.admin-dentist-indicators{justify-content:center;align-items:center;gap:6px;margin-top:16px;display:flex}.admin-dentist-indicators button{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:width .2s,background .2s}.admin-dentist-indicators button.active{background:var(--primary);border-radius:4px;width:18px}@media (width<=700px){.admin-todays-appointments{padding:18px}.admin-todays-header{flex-direction:column}.admin-todays-date{align-self:flex-start}.admin-appointment-row{grid-template-columns:75px minmax(0,1fr);gap:12px}.admin-appointment-status{grid-column:2;justify-self:start}}@media (width<=450px){.admin-dentist-selected{min-width:130px;padding:0 10px}.admin-dentist-switch-button{width:32px;height:32px}}.admin-schedule-changes{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:100%;overflow:hidden}.admin-schedule-changes-header{border-bottom:1px solid var(--border);padding:24px 28px}.admin-schedule-changes-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.admin-schedule-changes-header h3{color:var(--text-primary);margin:0;font-size:21px;font-weight:700;line-height:1.25}.admin-schedule-changes-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.admin-schedule-changes-list{width:100%}.admin-schedule-changes-row{box-sizing:border-box;border-bottom:1px solid var(--border);grid-template-columns:minmax(170px,1.2fr) minmax(130px,.9fr) minmax(90px,1fr);align-items:center;gap:18px;padding:16px 26px;transition:background .2s;display:grid}.admin-schedule-changes-row:last-child{border-bottom:none}.admin-schedule-changes-row:hover{background:color-mix(in srgb, var(--primary) 2%, white)}.admin-schedule-changes-date{min-width:0;color:var(--text-primary);align-items:flex-start;gap:9px;font-size:13px;font-weight:500;display:flex}.admin-schedule-changes-date svg{color:var(--primary);flex-shrink:0;margin-top:2px}.admin-schedule-changes-date-content{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-schedule-changes-date-content span{white-space:nowrap}.admin-schedule-changes-date-content small{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:500}.admin-schedule-changes-change{align-items:center;min-width:0;display:flex}.admin-schedule-changes-time{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.admin-schedule-changes-time svg{color:var(--primary);flex-shrink:0}.admin-schedule-changes-status{background:color-mix(in srgb, var(--primary) 8%, white);width:fit-content;color:var(--primary);border-radius:7px;align-items:center;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.admin-schedule-changes-reason{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-secondary);text-align:right;justify-self:end;font-size:12px;overflow:hidden}.admin-schedule-changes-empty{color:var(--text-secondary);text-align:center;padding:30px 26px;font-size:13px}@media (width<=900px){.admin-schedule-changes-row{grid-template-columns:1fr 1fr}.admin-schedule-changes-reason{text-align:left;grid-column:1/-1;justify-self:start}}@media (width<=600px){.admin-schedule-changes-header{padding:20px}.admin-schedule-changes-row{grid-template-columns:1fr;gap:10px;padding:15px 20px}.admin-schedule-changes-reason{text-align:left;grid-column:auto;justify-self:start}}.admin-clinic-closures{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:100%;overflow:hidden}.admin-clinic-closures-header{border-bottom:1px solid var(--border);padding:24px 28px}.admin-clinic-closures-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.admin-clinic-closures-header h3{color:var(--text-primary);margin:0;font-size:21px;font-weight:700;line-height:1.25}.admin-clinic-closures-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.admin-clinic-closures-list{width:100%}.admin-clinic-closures-row{box-sizing:border-box;border-bottom:1px solid var(--border);grid-template-columns:minmax(170px,1.2fr) minmax(90px,1fr);align-items:center;gap:18px;padding:16px 26px;transition:background .2s;display:grid}.admin-clinic-closures-row:last-child{border-bottom:none}.admin-clinic-closures-row:hover{background:color-mix(in srgb, var(--primary) 2%, white)}.admin-clinic-closures-date{min-width:0;color:var(--text-primary);align-items:center;gap:9px;font-size:13px;font-weight:500;display:flex}.admin-clinic-closures-date svg{color:var(--primary);flex-shrink:0}.admin-clinic-closures-reason{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-secondary);text-align:right;justify-self:end;font-size:12px;overflow:hidden}.admin-clinic-closures-empty{color:var(--text-secondary);text-align:center;padding:30px 26px;font-size:13px}@media (width<=900px){.admin-clinic-closures-row{grid-template-columns:1fr 1fr}}@media (width<=600px){.admin-clinic-closures-header{padding:20px}.admin-clinic-closures-row{grid-template-columns:1fr;gap:10px;padding:15px 20px}.admin-clinic-closures-reason{text-align:left;justify-self:start}}.admin-schedule-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;margin-bottom:24px;display:grid}@media (width<=900px){.admin-schedule-section{grid-template-columns:1fr}}.summary{width:100%;display:block}.summary-header{box-sizing:border-box;background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 85%, white), color-mix(in srgb, var(--primary) 65%, white));border-radius:18px;align-items:center;gap:20px;width:100%;margin-bottom:24px;padding:30px 32px;display:flex;position:relative;overflow:hidden}.summary-header:after{content:"";background:#ffffff14;border-radius:50%;width:180px;height:180px;position:absolute;top:-75px;right:-45px}.summary-icon{color:#fff;z-index:1;background:#ffffff29;border:1px solid #ffffff38;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;display:flex;position:relative}.summary-content{z-index:1;flex-direction:column;gap:5px;display:flex;position:relative}.summary-eyebrow{letter-spacing:.12em;color:#ffffffb8;font-size:11px;font-weight:700}.summary-content h2{color:#fff;margin:0;font-size:27px;font-weight:700;line-height:1.25}.summary-content p{color:#ffffffd1;margin:2px 0 0;font-size:14px}.summary-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;width:100%;margin-bottom:24px;display:grid}.summary-card{box-sizing:border-box;border:1px solid var(--border);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.summary-card:hover{transform:translateY(-2px);box-shadow:0 5px 16px #0000000f}.summary-card-icon{background:color-mix(in srgb, var(--primary) 9%, white);width:42px;height:42px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.summary-card-content{flex-direction:column;gap:4px;min-width:0;display:flex}.summary-card-label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.summary-card-content strong{color:var(--text-primary);font-size:25px;font-weight:700;line-height:1.1}@media (width<=1200px){.summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.summary-cards{grid-template-columns:1fr}}.todays-appointment{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:100%;overflow:hidden}.todays-appointment-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.todays-appointment-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.todays-appointment-header h2{color:var(--text-primary);margin:0;font-size:21px;font-weight:700}.todays-appointment-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.todays-appointment-count{background:color-mix(in srgb, var(--primary) 8%, white);color:var(--primary);border-radius:20px;padding:7px 12px;font-size:12px;font-weight:600}.todays-appointment-list{flex-direction:column;display:flex}.todays-appointment-item{border-bottom:1px solid var(--border);grid-template-columns:105px 1fr auto;align-items:center;gap:20px;padding:20px 28px;transition:background .2s,padding-left .2s;display:grid}.todays-appointment-item:last-child{border-bottom:none}.todays-appointment-item:hover{background:color-mix(in srgb, var(--primary) 3%, white)}.todays-appointment-time{border-left:3px solid var(--primary);flex-direction:column;gap:3px;padding-left:12px;display:flex}.todays-appointment-time strong{color:var(--text-primary);font-size:15px;font-weight:700}.todays-appointment-time span{color:var(--text-secondary);font-size:12px}.todays-appointment-details{flex-direction:column;gap:5px;display:flex}.todays-appointment-details h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.todays-appointment-details span{text-transform:capitalize;color:var(--text-secondary);font-size:12px}.todays-appointment-status span{text-transform:capitalize;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.todays-appointment-status .status-confirmed{color:#287a4a;background:#eaf7ef}.todays-appointment-status .status-pending{color:#a66a00;background:#fff7e6}.todays-appointment-status .status-completed{color:#536174;background:#edf1f7}.todays-appointment-status .status-cancelled{color:#b63d3d;background:#fcecec}.todays-appointment-empty{min-height:180px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}@media (width<=700px){.todays-appointment-header{align-items:flex-start;gap:15px}.todays-appointment-item{grid-template-columns:85px 1fr;gap:15px}.todays-appointment-status{grid-column:2}}@media (width<=500px){.todays-appointment-header{padding:20px}.todays-appointment-item{padding:18px 20px}}.fixed-schedule{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:100%;overflow:hidden}.fixed-schedule-header{border-bottom:1px solid var(--border);padding:24px 28px}.fixed-schedule-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.fixed-schedule-header h2{color:var(--text-primary);margin:0;font-size:21px;font-weight:700}.fixed-schedule-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.fixed-schedule-list{flex-direction:column;display:flex}.fixed-schedule-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;transition:background .2s;display:flex}.fixed-schedule-item:last-child{border-bottom:none}.fixed-schedule-item:hover{background:color-mix(in srgb, var(--primary) 3%, white)}.fixed-schedule-day{min-width:110px;color:var(--text-primary);font-size:14px;font-weight:600}.fixed-schedule-time{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.fixed-schedule-time svg{color:var(--primary);flex-shrink:0}.fixed-schedule-empty{min-height:180px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}@media (width<=500px){.fixed-schedule-header{padding:20px}.fixed-schedule-item{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 20px}.fixed-schedule-day{min-width:unset}}.schedule-override{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:100%;overflow:hidden}.schedule-override-header{border-bottom:1px solid var(--border);padding:24px 28px}.schedule-override-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.schedule-override-header h3{color:var(--text-primary);margin:0;font-size:21px;font-weight:700;line-height:1.25}.schedule-override-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.schedule-override-list{width:100%}.schedule-override-row{box-sizing:border-box;border-bottom:1px solid var(--border);grid-template-columns:minmax(170px,1.2fr) minmax(130px,.9fr) minmax(90px,1fr);align-items:center;gap:18px;padding:16px 26px;transition:background .2s;display:grid}.schedule-override-row:last-child{border-bottom:none}.schedule-override-row:hover{background:color-mix(in srgb, var(--primary) 2%, white)}.schedule-override-date{min-width:0;color:var(--text-primary);align-items:center;gap:9px;font-size:13px;font-weight:500;display:flex}.schedule-override-date svg{color:var(--primary);flex-shrink:0}.schedule-override-change{align-items:center;min-width:0;display:flex}.schedule-override-time{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.schedule-override-time svg{color:var(--primary);flex-shrink:0}.schedule-override-status{background:color-mix(in srgb, var(--primary) 8%, white);width:fit-content;color:var(--primary);border-radius:7px;align-items:center;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.schedule-override-reason{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-secondary);text-align:right;justify-self:end;font-size:12px;overflow:hidden}.schedule-override-empty{color:var(--text-secondary);text-align:center;padding:30px 26px;font-size:13px}@media (width<=900px){.schedule-override-row{grid-template-columns:1fr 1fr}.schedule-override-reason{text-align:left;grid-column:1/-1;justify-self:start}}@media (width<=600px){.schedule-override-header{padding:20px}.schedule-override-row{grid-template-columns:1fr;gap:10px;padding:15px 20px}.schedule-override-reason{text-align:left;grid-column:auto;justify-self:start}}.closure{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:100%;margin-top:20px;overflow:hidden}.closure-header{border-bottom:1px solid var(--border);padding:22px 26px 20px}.closure-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.closure-header h3{color:var(--text-primary);margin:0;font-size:21px;font-weight:700;line-height:1.25}.closure-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.closure-list{width:100%}.closure-row{box-sizing:border-box;border-bottom:1px solid var(--border);grid-template-columns:minmax(190px,1fr) minmax(150px,1fr);align-items:center;gap:24px;padding:16px 26px;transition:background .2s;display:grid}.closure-row:last-child{border-bottom:none}.closure-row:hover{background:color-mix(in srgb, var(--primary) 2%, white)}.closure-date{min-width:0;color:var(--text-primary);align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.closure-date svg{color:var(--primary);flex-shrink:0}.closure-reason{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-secondary);text-align:right;justify-self:end;font-size:13px;overflow:hidden}.closure-empty{color:var(--text-secondary);text-align:center;padding:30px 26px;font-size:13px}@media (width<=700px){.closure-row{grid-template-columns:1fr;gap:8px;padding:15px 20px}.closure-reason{text-align:left;white-space:normal;justify-self:start}}@media (width<=500px){.closure-header{padding:20px}}.dashboard-schedule-section{grid-template-columns:1fr 1fr;align-items:stretch;gap:20px;width:100%;margin-top:24px;display:grid}.receptionist-summary{width:100%;display:block}.receptionist-summary-header{box-sizing:border-box;background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 85%, white), color-mix(in srgb, var(--primary) 65%, white));border-radius:18px;align-items:center;gap:20px;width:100%;margin-bottom:24px;padding:30px 32px;display:flex;position:relative;overflow:hidden}.receptionist-summary-header:after{content:"";background:#ffffff14;border-radius:50%;width:180px;height:180px;position:absolute;top:-75px;right:-45px}.receptionist-summary-icon{color:#fff;z-index:1;background:#ffffff29;border:1px solid #ffffff38;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;display:flex;position:relative}.receptionist-summary-content{z-index:1;flex-direction:column;gap:5px;display:flex;position:relative}.receptionist-summary-eyebrow{letter-spacing:.12em;color:#ffffffb8;font-size:11px;font-weight:700}.receptionist-summary-content h2{color:#fff;margin:0;font-size:27px;font-weight:700;line-height:1.25}.receptionist-summary-content p{color:#ffffffd1;margin:2px 0 0;font-size:14px}.receptionist-summary-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;width:100%;margin-bottom:24px;display:grid}.receptionist-summary-card{box-sizing:border-box;border:1px solid var(--border);border-left:4px solid var(--primary);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.receptionist-summary-card:hover{transform:translateY(-2px);box-shadow:0 5px 16px #0000000f}.receptionist-summary-card-icon{background:color-mix(in srgb, var(--primary) 9%, white);width:42px;height:42px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.receptionist-summary-card-content{flex-direction:column;gap:4px;min-width:0;display:flex}.receptionist-summary-card-label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.receptionist-summary-card-content strong{color:var(--text-primary);font-size:25px;font-weight:700;line-height:1.1}@media (width<=1200px){.receptionist-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.receptionist-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.receptionist-summary-cards{grid-template-columns:1fr}}.receptionist-todays-appointments{box-sizing:border-box;border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;margin-bottom:24px;padding:24px}.receptionist-todays-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.receptionist-todays-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.receptionist-todays-header h3{color:var(--text-primary);margin:0;font-size:20px;font-weight:700;line-height:1.3}.receptionist-todays-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.receptionist-todays-date{background:color-mix(in srgb, var(--primary) 7%, white);border:1px solid color-mix(in srgb, var(--primary) 14%, var(--border));color:var(--primary);white-space:nowrap;border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.receptionist-dentist-switcher{background:color-mix(in srgb, var(--primary) 5%, white);border:1px solid color-mix(in srgb, var(--primary) 12%, var(--border));border-radius:12px;justify-content:center;align-items:center;width:100%;margin-bottom:16px;padding:12px 0;display:flex}.receptionist-dentist-switch-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s,border-color .2s;display:flex}.receptionist-dentist-switch-button:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 8%, white);border-color:color-mix(in srgb, var(--primary) 25%, var(--border));color:var(--primary)}.receptionist-dentist-switch-button:disabled{opacity:.45;cursor:default}.receptionist-dentist-selected{text-align:center;flex-direction:column;align-items:center;min-width:180px;padding:0 20px;display:flex}.receptionist-dentist-selected strong{color:var(--text-primary);font-size:15px;font-weight:700}.receptionist-dentist-selected span{color:var(--text-secondary);margin-top:3px;font-size:12px}.receptionist-todays-list{flex-direction:column;width:100%;display:flex}.receptionist-appointment-row{border-bottom:1px solid var(--border);grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 4px;display:grid}.receptionist-appointment-row:last-child{border-bottom:none}.receptionist-appointment-time{flex-direction:column;gap:2px;display:flex}.receptionist-appointment-time strong{color:var(--text-primary);font-size:13px;font-weight:700}.receptionist-appointment-time span{color:var(--text-secondary);font-size:11px}.receptionist-appointment-patient{flex-direction:column;gap:3px;min-width:0;display:flex}.receptionist-appointment-patient strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.receptionist-appointment-patient span{color:var(--text-secondary);text-transform:capitalize;font-size:11px}.receptionist-appointment-status{text-transform:capitalize;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;min-width:72px;padding:5px 9px;font-size:10px;font-weight:600;display:inline-flex}.receptionist-status-pending{color:#b7791f;background:#fff7e6}.receptionist-status-confirmed{color:#2f855a;background:#eaf7ee}.receptionist-status-completed{color:#3569a8;background:#edf4ff}.receptionist-status-cancelled,.receptionist-status-needs_cancellation{color:#c53030;background:#fceeee}.receptionist-status-needs_reschedule{color:#c05621;background:#fff4e5}.receptionist-status-no_show{color:#666;background:#f1f1f1}.receptionist-todays-empty{text-align:center;border:1px dashed var(--border);background:#fafafa;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:120px;padding:20px;display:flex}.receptionist-todays-empty strong{color:var(--text-primary);font-size:13px;font-weight:600}.receptionist-todays-empty span{color:var(--text-secondary);font-size:12px}.receptionist-dentist-indicators{justify-content:center;align-items:center;gap:6px;margin-top:16px;display:flex}.receptionist-dentist-indicators button{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:width .2s,background .2s}.receptionist-dentist-indicators button.active{background:var(--primary);border-radius:4px;width:18px}@media (width<=700px){.receptionist-todays-appointments{padding:18px}.receptionist-todays-header{flex-direction:column}.receptionist-todays-date{align-self:flex-start}.receptionist-appointment-row{grid-template-columns:75px minmax(0,1fr);gap:12px}.receptionist-appointment-status{grid-column:2;justify-self:start}}@media (width<=450px){.receptionist-dentist-selected{min-width:130px;padding:0 10px}.receptionist-dentist-switch-button{width:32px;height:32px}}.receptionist-schedule-changes{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:100%;overflow:hidden}.receptionist-schedule-changes-header{border-bottom:1px solid var(--border);padding:24px 28px}.receptionist-schedule-changes-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.receptionist-schedule-changes-header h3{color:var(--text-primary);margin:0;font-size:21px;font-weight:700;line-height:1.25}.receptionist-schedule-changes-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.receptionist-schedule-changes-list{width:100%}.receptionist-schedule-changes-row{box-sizing:border-box;border-bottom:1px solid var(--border);grid-template-columns:minmax(170px,1.2fr) minmax(130px,.9fr) minmax(90px,1fr);align-items:center;gap:18px;padding:16px 26px;transition:background .2s;display:grid}.receptionist-schedule-changes-row:last-child{border-bottom:none}.receptionist-schedule-changes-row:hover{background:color-mix(in srgb, var(--primary) 2%, white)}.receptionist-schedule-changes-date{min-width:0;color:var(--text-primary);align-items:flex-start;gap:9px;font-size:13px;font-weight:500;display:flex}.receptionist-schedule-changes-date svg{color:var(--primary);flex-shrink:0;margin-top:2px}.receptionist-schedule-changes-date-content{flex-direction:column;gap:3px;min-width:0;display:flex}.receptionist-schedule-changes-date-content span{white-space:nowrap}.receptionist-schedule-changes-date-content small{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:500}.receptionist-schedule-changes-change{align-items:center;min-width:0;display:flex}.receptionist-schedule-changes-time{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.receptionist-schedule-changes-time svg{color:var(--primary);flex-shrink:0}.receptionist-schedule-changes-status{background:color-mix(in srgb, var(--primary) 8%, white);width:fit-content;color:var(--primary);border-radius:7px;align-items:center;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.receptionist-schedule-changes-reason{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-secondary);text-align:right;justify-self:end;font-size:12px;overflow:hidden}.receptionist-schedule-changes-empty{color:var(--text-secondary);text-align:center;padding:30px 26px;font-size:13px}@media (width<=900px){.receptionist-schedule-changes-row{grid-template-columns:1fr 1fr}.receptionist-schedule-changes-reason{text-align:left;grid-column:1/-1;justify-self:start}}@media (width<=600px){.receptionist-schedule-changes-header{padding:20px}.receptionist-schedule-changes-row{grid-template-columns:1fr;gap:10px;padding:15px 20px}.receptionist-schedule-changes-reason{text-align:left;grid-column:auto;justify-self:start}}.receptionist-clinic-closures{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:100%;overflow:hidden}.receptionist-clinic-closures-header{border-bottom:1px solid var(--border);padding:24px 28px}.receptionist-clinic-closures-eyebrow{letter-spacing:.12em;color:var(--primary);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.receptionist-clinic-closures-header h3{color:var(--text-primary);margin:0;font-size:21px;font-weight:700;line-height:1.25}.receptionist-clinic-closures-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.receptionist-clinic-closures-list{width:100%}.receptionist-clinic-closures-row{box-sizing:border-box;border-bottom:1px solid var(--border);grid-template-columns:minmax(170px,1.2fr) minmax(90px,1fr);align-items:center;gap:18px;padding:16px 26px;transition:background .2s;display:grid}.receptionist-clinic-closures-row:last-child{border-bottom:none}.receptionist-clinic-closures-row:hover{background:color-mix(in srgb, var(--primary) 2%, white)}.receptionist-clinic-closures-date{min-width:0;color:var(--text-primary);align-items:center;gap:9px;font-size:13px;font-weight:500;display:flex}.receptionist-clinic-closures-date svg{color:var(--primary);flex-shrink:0}.receptionist-clinic-closures-reason{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-secondary);text-align:right;justify-self:end;font-size:12px;overflow:hidden}.receptionist-clinic-closures-empty{color:var(--text-secondary);text-align:center;padding:30px 26px;font-size:13px}@media (width<=900px){.receptionist-clinic-closures-row{grid-template-columns:1fr 1fr}}@media (width<=600px){.receptionist-clinic-closures-header{padding:20px}.receptionist-clinic-closures-row{grid-template-columns:1fr;gap:10px;padding:15px 20px}.receptionist-clinic-closures-reason{text-align:left;justify-self:start}}.receptionist-schedule-section{grid-template-columns:1fr 1fr;align-items:stretch;gap:20px;width:100%;display:grid}.select-field{flex-direction:column;gap:8px;display:flex}.select-field label{color:var(--text-primary);font-size:14px;font-weight:600}.select-field select{appearance:none;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;outline:none;width:100%;padding:12px 42px 12px 16px;font-size:15px;transition:all .2s}.select-field select:disabled{cursor:not-allowed;background:#f3f4f6}.required{color:#ef4444;margin-left:4px}.select-wrapper{position:relative}.select-arrow{pointer-events:none;color:var(--text-secondary);font-size:12px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.patient-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.table-container{width:100%;margin:0;overflow-x:auto}.patient-table{border-collapse:collapse;width:100%}.patient-table thead{background:#f9fafb}.patient-table th{text-align:left;color:var(--text-secondary);padding:18px 24px;font-size:14px;font-weight:600}.patient-table td{border-top:1px solid var(--border);padding:18px 24px}.patient-table tbody tr:hover{background:#fafafa}.table-actions{justify-content:center;gap:10px;display:flex}.table-actions button{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:all .2s}.table-actions button:hover{background:#f3f4f6}.patient-table th:first-child,.patient-table td:first-child{width:60px}.patient-table th:nth-child(2),.patient-table td:nth-child(2){width:35%}.patient-table th:nth-child(3),.patient-table td:nth-child(3){width:18%}.patient-table th:nth-child(4),.patient-table td:nth-child(4){width:27%}.patient-table th:nth-child(5),.patient-table td:nth-child(5){text-align:center;width:120px}.patient-profile{width:100%}.profile-header{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;align-items:center;gap:18px;padding:24px 28px;display:flex}.profile-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:700;display:flex}.profile-header-info h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.profile-header-info p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.profile-summary{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;display:grid}.summary-card{border:1px solid var(--border);min-height:110px;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;align-items:center;gap:16px;padding:20px;transition:all .2s;display:flex;position:relative;overflow:hidden}.summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-card:before{content:"";background:var(--primary);width:4px;position:absolute;top:0;bottom:0;left:0}.summary-card-icon{width:48px;height:48px;color:var(--primary);background:#f1f5fb;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.summary-card-content{flex-direction:column;min-width:0;display:flex}.summary-card-label{color:var(--text-secondary);margin-bottom:5px;font-size:13px;font-weight:500}.summary-card-value{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:21px;font-weight:700;line-height:1.2;overflow:hidden}.summary-card-detail{color:var(--text-secondary);margin-top:5px;font-size:12px}.profile-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}.profile-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:24px}.profile-card h3{color:var(--text-primary);margin:0 0 18px;font-size:16px;font-weight:700}.info-row{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:24px;padding:14px 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-secondary);font-size:14px;font-weight:500}.info-value{color:var(--text-primary);text-align:right;word-break:break-word;font-size:14px;font-weight:600}@media (width<=900px){.profile-grid{grid-template-columns:1fr}}@media (width<=600px){.profile-header,.profile-card{padding:20px}.info-row{flex-direction:column;align-items:flex-start;gap:4px}.info-value{text-align:left}}.page-container{padding:32px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:var(--text-primary);align-items:center;gap:8px;font-size:32px;font-weight:700;display:flex}.toolbars{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.breadcrumb{color:var(--primary);cursor:pointer;transition:all .2s}@media (width<=1024px){.page-container{padding:16px}}.patient-results{border:1px solid var(--border);background:#fff;border-radius:16px;width:100%;overflow:hidden}.patient-results-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px;display:flex}.patient-results-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.patient-results-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.patient-results-pagination{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:12px;padding:14px 18px;display:flex}.patient-results-pagination span{color:var(--text-secondary);white-space:nowrap;font-size:13px}.patient-breadcrumb{align-items:center;gap:8px;font-size:16px;font-weight:500;display:flex}.breadcrumb{color:var(--primary);cursor:pointer;font-weight:600}.breadcrumb:hover{text-decoration:underline}.current-page{color:var(--text-secondary);font-weight:500}.searchbar{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;max-width:420px;padding:12px 16px;transition:all .25s;display:flex}.searchbar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.search-icon{color:var(--text-secondary);flex-shrink:0}.searchbar input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:15px}.searchbar input::placeholder{color:var(--text-secondary)}.modal-overlay{z-index:999;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;flex-direction:column;width:700px;max-width:90%;max-height:90vh;animation:.25s modalFade;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000002e}.modal-body{flex:auto;min-height:0;padding:24px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-close{cursor:pointer;background:0 0;border:none;border-radius:10px;padding:8px;transition:all .2s}.modal-close:hover{background:#f3f4f6}.modal-body{padding:24px;overflow-y:auto}@keyframes modalFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-body::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:5px}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}.dentist-details-modal{width:780px}.dentist-details-modal .modal-header{background:var(--primary);border-bottom:none}.dentist-details-modal .modal-header h2,.dentist-details-modal .modal-close{color:#fff}.dentist-details-modal .modal-close:hover{background:#ffffff1f}.specialization-modal,.category-modal{width:440px}.dental-chart-modal{width:95vw;max-width:1500px}.dental-chart-modal .modal-body{overflow-x:auto}.clinical-attachment-viewer-modal{width:900px;max-width:90%}.billing-details-modal{width:900px}.audit-log-modal{width:400px;max-width:90%}.loading-indicator{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.loading-dots{justify-content:center;align-items:center;gap:5px;display:flex}.loading-dots span{background:var(--primary);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite loading-dot}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes loading-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.loading-message{font-size:14px;font-weight:500}@media (width<=431px){.user-form-grid{grid-template-columns:1fr}}.user-form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.user-form-profile{background:#fff;border:1px solid #dce3ed;border-radius:10px;margin-top:20px;overflow:hidden}.user-form-profile-header{color:#294d7d;letter-spacing:.4px;background:#f5f8fc;border-bottom:1px solid #dce3ed;padding:12px 16px;font-size:10px;font-weight:600}.user-form-profile .user-form-grid{padding:16px}.user-profile-file-field{flex-direction:column;grid-column:1/-1;gap:7px;display:flex}.user-profile-file-field label{color:#334155;font-size:13px;font-weight:600}.user-profile-file-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;padding:9px 10px;font-family:inherit;font-size:13px}.user-profile-file-field span{color:var(--text-secondary);font-size:11px}.user-status-toggle{background:#f8fafc;border:1px solid #dce3ed;border-radius:8px;align-items:center;gap:10px;margin-top:20px;padding:12px 14px;display:flex}.user-status-toggle-label{color:#334155;font-size:11px;font-weight:600}.user-status-toggle-value{color:#64748b;font-size:11px;font-weight:600}.toggle-switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.user-form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;padding-top:14px;display:flex}@media (width<=431px){.user-form-grid{grid-template-columns:1fr}}.user-card{background:#fff;border:1px solid #dfe5ed;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 2px 6px #0f172a0a}.user-card-header{border-bottom:1px solid #e2e8f0;padding:20px}.user-card-profile{align-items:center;gap:12px;display:flex}.user-card-avatar{color:#294d7d;object-fit:cover;background:#eef3fa;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:flex}.user-card-identity{flex-direction:column;gap:4px;display:flex}.user-card-identity h3{color:#172033;margin:0;font-size:15px;font-weight:600}.user-card-role{color:#64748b;font-size:11px}.user-card-body{grid-template-columns:repeat(2,1fr);gap:18px;padding:18px 20px;display:grid}.user-card-detail{flex-direction:column;gap:6px;display:flex}.user-card-label{color:#667085;letter-spacing:.35px;font-size:10px;font-weight:600}.user-card-detail>span:not(.user-card-label),.user-card-detail strong{color:#172033;font-size:12px;font-weight:500}.user-card-status-row{grid-column:1/-1}.user-card-status{border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.user-card-status.Active{color:#15803d;background:#dcfce7}.user-card-status.Inactive{color:#dc2626;background:#fef2f2}.user-card-footer{background:#fafbfc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;padding:14px 20px;display:flex}.user-card-action{color:#294d7d;cursor:pointer;background:#fff;border:1px solid #d8e0eb;border-radius:7px;align-items:center;gap:7px;padding:7px 11px;font-family:inherit;font-size:11px;font-weight:600;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.user-card-action:hover{background:#f5f8fc;border-color:#c5d2e3;transform:translateY(-1px)}.user-card-action svg{flex-shrink:0}.users-add-action{justify-content:flex-end;margin-bottom:16px;display:flex}.users-add-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.users-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 3px 8px #4975c626}.users-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.users-pagination{justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}.users-pagination span{color:var(--text-secondary);font-size:13px;font-weight:600}.users-pagination button{border:1px solid var(--border);width:34px;height:34px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:15px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.users-pagination button:hover:not(:disabled){color:var(--primary);background:#f5f8fc;border-color:#c5d2e3}.users-pagination button:disabled{opacity:.5;cursor:not-allowed}@media (width<=431px){.users-grid{grid-template-columns:1fr}}.dentist-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dentist-status-toggle{align-items:center;gap:10px;margin-top:20px;display:flex}.dentist-status-toggle-label{color:var(--text-primary);font-size:13px;font-weight:600}.dentist-status-toggle-value{color:var(--text-secondary);font-size:12px;font-weight:600}.dentist-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}@media (width<=431px){.dentist-form-grid{grid-template-columns:1fr}}.dentist-profile-file-field{flex-direction:column;grid-column:1/-1;gap:7px;display:flex}.dentist-profile-file-field label{color:var(--text-primary);font-size:13px;font-weight:600}.dentist-profile-file-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;padding:9px 10px;font-family:inherit;font-size:13px}.dentist-profile-file-field span{color:var(--text-secondary);font-size:11px}.dentist-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;padding:20px}.dentist-card-header{align-items:center;display:flex}.dentist-card-identity{align-items:center;gap:12px;display:flex}.dentist-card-avatar{width:48px;height:48px;color:var(--primary);object-fit:cover;background:#eff6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.dentist-card-name{min-width:0}.dentist-card-name h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.dentist-card-name span{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.dentist-card-contact{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:20px;padding-top:18px;display:flex}.dentist-card-contact-item{flex-direction:column;gap:3px;display:flex}.dentist-card-contact-label{color:var(--text-secondary);font-size:11px;font-weight:600}.dentist-card-contact-value{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dentist-card-status-row{margin-top:18px}.dentist-status{border-radius:999px;align-items:center;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.dentist-status.active{color:#15803d;background:#ecfdf3}.dentist-status.inactive{color:#64748b;background:#f1f5f9}.dentist-card-affected{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;flex-direction:column;gap:10px;margin-top:16px;padding:12px 14px;display:flex}.dentist-card-affected-info{flex-direction:column;gap:3px;display:flex}.dentist-card-affected-title{color:#9a3412;font-size:12px;font-weight:700}.dentist-card-affected-description{color:#c2410c;font-size:11px;line-height:1.4}.dentist-card-affected-button{color:#c2410c;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;font-weight:700}.dentist-card-affected-button:hover{text-decoration:underline}.dentist-reschedule-success{text-align:center;flex-direction:column;align-items:center;padding:8px 10px 4px;display:flex}.dentist-reschedule-success-icon{color:#15803d;background:#ecfdf3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;font-size:22px;font-weight:700;display:flex}.dentist-reschedule-success h3{color:var(--text-primary);margin:0;font-size:16px}.dentist-reschedule-success p{max-width:360px;color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.5}.dentist-reschedule-success button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:20px;padding:9px 18px;font-size:12px;font-weight:600;transition:all .2s}.dentist-reschedule-success button:hover{opacity:.9}.dentist-card-footer{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:18px;padding-top:14px;display:flex}.dentist-card-view,.dentist-card-edit{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.dentist-card-view{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe}.dentist-card-view:hover{background:#dbeafe;transform:translateY(-1px)}.dentist-card-edit{color:var(--text-primary);border:1px solid var(--border);background:#f8fafc}.dentist-card-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.affected-appointments{flex-direction:column;gap:16px;display:flex}.affected-appointments-list{flex-direction:column;gap:10px;display:flex}.affected-appointment-item{border:1px solid var(--border);background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.affected-appointment-main{min-width:0}.affected-appointment-patient{color:var(--text-primary);font-size:14px;font-weight:700}.affected-appointment-details{color:var(--text-secondary);gap:12px;margin-top:5px;font-size:12px;display:flex}.affected-appointment-status{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.appointment-status-badge{color:#c2410c;white-space:nowrap;background:#fff7ed;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.notification-status-badge{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.notification-delivered{color:#047857;background:#ecfdf5}.notification-sending{color:#1d4ed8;background:#eff6ff}.notification-failed{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.notification-failed-badge{color:#b91c1c;background:#fef2f2}.affected-appointment-retry-button{color:#fff;cursor:pointer;background:#d97706;border:none;border-radius:7px;min-width:100px;padding:7px 11px;font-size:11px;font-weight:600;transition:all .2s}.affected-appointment-retry-button:hover{background:#b45309;transform:translateY(-1px)}.affected-appointment-retry-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.affected-appointments-actions{justify-content:flex-end;padding-top:4px;display:flex}.affected-appointments-reschedule-button{color:#fff;cursor:pointer;background:#ea580c;border:none;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:600;transition:all .2s}.affected-appointments-reschedule-button:hover{background:#c2410c}.affected-appointments-empty{text-align:center;color:var(--text-secondary);padding:20px;font-size:13px}.affected-appointments-reschedule-button:disabled{color:#94a3b8;cursor:not-allowed;opacity:1;background:#e2e8f0;border:1px solid #cbd5e1}.affected-appointments-reschedule-button:disabled:hover{color:#94a3b8;background:#e2e8f0;transform:none}.dentist-details-identity{background:#f8faff;border-bottom:1px solid #e5e7eb;align-items:center;gap:14px;margin:-24px -24px 0;padding:20px 24px;display:flex}.dentist-details-avatar{background:var(--primary);color:#fff;width:56px;height:56px;box-shadow:0 0 0 3px var(--primary), 0 4px 10px #0000001f;object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.dentist-details-identity-info{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.dentist-details-identity-info h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.dentist-details-identity-info p{color:var(--text-secondary);margin:0;font-size:13px}.dentist-details-status{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.dentist-details-status.active{color:#15803d;background:#ecfdf3}.dentist-details-status.inactive{color:#64748b;background:#f1f5f9}.dentist-details-summary{margin-top:20px}.dentist-details-section-header{margin-bottom:10px}.dentist-details-section-header h4{color:var(--text-primary);margin:0;font-size:13px;font-weight:700}.dentist-details-summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.dentist-details-summary-card{border:1px solid var(--border);background:#f8fafc;border-radius:10px;flex-direction:column;gap:5px;padding:13px;display:flex}.dentist-details-summary-card span{color:var(--text-secondary);font-size:11px}.dentist-details-summary-card strong{color:var(--text-primary);font-size:20px;font-weight:700}.dentist-details-contact{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dentist-details-contact-item{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-direction:column;gap:4px;padding:11px 12px;display:flex}.dentist-details-contact-label{color:var(--text-secondary);font-size:11px;font-weight:600}.dentist-details-contact-value{color:var(--text-primary);word-break:break-word;font-size:13px}.dentist-details-section{margin-top:28px}.dentist-details-schedule-list{flex-direction:column;display:flex}.dentist-details-schedule-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:9px 2px;display:flex}.dentist-details-schedule-item:last-child{border-bottom:none}.dentist-details-schedule-day{color:var(--text-primary);font-size:12px;font-weight:600}.dentist-details-schedule-time{color:var(--text-secondary);font-size:12px}.dentist-details-overrides{flex-direction:column;gap:8px;display:flex}.dentist-details-override-item{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:11px 12px}.dentist-details-override-info{flex-direction:column;gap:4px;display:flex}.dentist-details-override-date{color:var(--text-primary);font-size:12px;font-weight:700}.dentist-details-override-status{color:#c2410c;text-transform:capitalize;background:#ffedd5;border-radius:999px;width:fit-content;padding:3px 7px;font-size:10px;font-weight:700}.dentist-details-override-time,.dentist-details-override-reason{color:var(--text-secondary);font-size:12px}.dentist-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:20px;margin-top:24px;display:grid}.add-dentist-modal{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}@media (width<=431px){.dentist-grid{grid-template-columns:repeat(1,1fr)}}.services-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.service-category-section{width:100%}.service-category-services{grid-template-columns:repeat(3,minmax(260px,360px));gap:16px;display:grid}.service-category-empty{color:var(--text-secondary);grid-column:1/-1;padding:4px 0;font-size:13px}.service-controls{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:20px;display:flex}.service-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.service-add-button span{font-size:18px;font-weight:400;line-height:1}.service-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 10px #4975c61f}.service-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;transition:all .2s}.service-card:hover{border-color:#d7dee8;box-shadow:0 4px 12px #4975c60f}.service-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.service-card-name{color:var(--text-primary);margin:0;font-size:14px;font-weight:700;line-height:1.35}.service-card-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.service-card-edit,.service-card-delete{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .2s;display:inline-flex}.service-card-edit{color:var(--text-primary);border:1px solid var(--border);background:#f8fafc}.service-card-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.service-card-delete{color:#dc2626;background:#fff1f2;border:1px solid #fecdd3}.service-card-delete:hover{background:#ffe4e6;transform:translateY(-1px)}.service-card-price{align-items:baseline;gap:4px;margin-top:14px;display:flex}.service-card-price-value{color:var(--text-primary);font-size:16px;font-weight:700}.service-card-price-unit{color:var(--text-secondary);font-size:11px;font-weight:500}.service-card-workflow{color:var(--text-secondary);margin-top:10px;font-size:11px;font-weight:500}.service-card-statuses{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.service-card-status{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.service-card-status.online{color:#2563eb;background:#eff6ff}.service-card-status.offline{color:var(--text-secondary);background:#f8fafc}.service-card-status.appointment{color:#15803d;background:#f0fdf4}.service-card-status.no-appointment{color:var(--text-secondary);background:#f8fafc}.service-pagination{justify-content:center;align-items:center;gap:14px;margin-top:24px;display:flex}.service-pagination-button{border:1px solid var(--border);width:34px;height:34px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:16px;transition:all .2s;display:inline-flex}.service-pagination-button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.service-pagination-button:disabled{opacity:.45;cursor:not-allowed}.service-pagination-info{text-align:center;min-width:90px;color:var(--text-secondary);font-size:13px;font-weight:500}@media (width<=431px){.services-list{grid-template-columns:1fr}}.service-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.service-form-toggles{flex-direction:column;gap:14px;margin-top:20px;display:flex}.service-status-toggle{align-items:center;gap:12px;display:flex}.service-status-toggle-label{min-width:150px;color:var(--text-primary);font-size:13px;font-weight:600}.service-status-toggle-value{color:var(--text-secondary);font-size:13px;font-weight:500}.service-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}@media (width<=431px){.service-form-grid{grid-template-columns:1fr}}.dentist-schedule-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;padding:20px}.dentist-schedule-card-header{box-sizing:border-box;background:#f7faff;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:12px;display:flex}.dentist-schedule-card-name{min-width:0}.dentist-schedule-card-name h3{color:var(--text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.35}.dentist-schedule-card-name span{color:var(--text-secondary);margin-top:5px;font-size:12px;display:block}.dentist-schedule-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:20px;margin-top:24px;display:grid}.dentist-schedule-card-availability{margin-top:20px;padding:0}.dentist-schedule-card-availability-header span{color:var(--text-secondary);letter-spacing:.04em;font-size:11px;font-weight:700}.dentist-schedule-card-schedules{flex-direction:column;margin-top:10px;display:flex}.dentist-schedule-row{align-items:center;gap:12px;padding:9px 0;display:flex}.dentist-schedule-day{min-width:42px;color:var(--primary);letter-spacing:.04em;background:#f7faff;border:1px solid #e2ebfa;border-radius:7px;justify-content:center;align-items:center;padding:5px 7px;font-size:10px;font-weight:700;display:inline-flex}.dentist-schedule-time{color:var(--text-primary);flex:1;font-size:12px}.dentist-schedule-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dentist-schedule-status-dot.active{background:#22c55e}.dentist-schedule-status-dot.inactive{background:#94a3b8}.dentist-schedule-edit{border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:#f8fafc;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.dentist-schedule-edit:hover{color:var(--primary);background:#eff6ff;border-color:#dbeafe;transform:translateY(-1px)}.dentist-schedule-add{border:1px solid var(--border);width:30px;height:30px;color:var(--text-primary);cursor:pointer;background:#f8fafc;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.dentist-schedule-add:hover{color:var(--primary);background:#eff6ff;border-color:#dbeafe;transform:translateY(-1px)}.dentist-schedule-empty{text-align:center;flex-direction:column;align-items:center;padding:20px 10px 10px;display:flex}.dentist-schedule-empty-icon{width:40px;height:40px;color:var(--primary);background:#f7faff;border:1px solid #e2ebfa;border-radius:10px;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.dentist-schedule-empty-title{color:var(--text-primary);font-size:12px;font-weight:700}.dentist-schedule-empty-description{color:var(--text-secondary);margin-top:4px;font-size:11px;line-height:1.4}@media (width<=431px){.dentist-schedule-grid{grid-template-columns:1fr}}.dentist-schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dentist-schedule-form-dentist{background:#f7faff;border:1px solid #e2ebfa;border-radius:10px;flex-direction:column;grid-column:1/-1;gap:5px;padding:12px 14px;display:flex}.dentist-schedule-form-label{color:var(--text-secondary);font-size:11px;font-weight:600}.dentist-schedule-form-dentist-name{color:var(--text-primary);font-size:14px;font-weight:600}.dentist-schedule-status-toggle{align-items:center;gap:10px;margin-top:20px;display:flex}.dentist-schedule-status-toggle-label{color:var(--text-secondary);font-size:12px;font-weight:600}.dentist-schedule-status-toggle-value{color:var(--text-primary);font-size:12px;font-weight:600}.dentist-schedule-form-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;margin-top:24px;padding-top:16px;display:flex}@media (width<=431px){.dentist-schedule-form-grid{grid-template-columns:1fr}}.override-schedule-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.override-schedule-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.override-schedule-dentist{color:var(--text-primary);font-size:17px;font-weight:700;line-height:1.35}.override-schedule-status{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.override-schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.override-schedule-status.modified{color:#2563eb;background:#eef6ff}.override-schedule-status.unavailable{color:#dc2626;background:#fff1f2}.override-schedule-adjustment{background:#f7faff;border:1px solid #e2ebfa;border-radius:10px;margin-top:18px;padding:14px 16px}.override-schedule-date-range{color:var(--text-primary);font-size:14px;font-weight:600}.override-schedule-hours{color:var(--text-primary);border-top:1px solid #e2ebfa;align-items:center;gap:7px;margin-top:12px;padding-top:10px;font-size:13px;font-weight:500;display:flex}.override-schedule-hours svg{color:var(--text-secondary);flex-shrink:0}.override-schedule-unavailable{color:#b45309;border-top:1px solid #e2ebfa;align-items:center;gap:8px;margin-top:12px;padding-top:10px;font-size:12px;font-weight:500;display:flex}.override-schedule-unavailable-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:7px;height:7px}.override-schedule-reason{margin-top:16px}.override-schedule-reason-label{color:var(--text-secondary);font-size:11px;font-weight:600}.override-schedule-reason-value{color:var(--text-primary);margin-top:4px;font-size:13px;line-height:1.4}.override-schedule-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;padding-top:14px;display:flex}.override-schedule-affected,.override-schedule-edit{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.override-schedule-affected{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe}.override-schedule-affected:hover{background:#dbeafe;transform:translateY(-1px)}.override-schedule-edit{color:var(--text-primary);border:1px solid var(--border);background:#f8fafc}.override-schedule-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.override-schedule-affected-summary{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;flex-direction:column;gap:8px;margin-top:16px;padding:12px 14px;display:flex}.override-schedule-affected-summary-title{color:#9a3412;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.override-schedule-affected-warning-icon{color:#c2410c;background:#ffedd5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.override-schedule-affected-summary-description{color:#c2410c;font-size:11px;line-height:1.4}.override-schedule-affected-button{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:7px;justify-content:center;align-self:flex-start;align-items:center;margin-top:4px;padding:7px 11px;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.override-schedule-affected-button:hover{background:#dbeafe;transform:translateY(-1px)}.override-schedule-affected-success-icon{color:#15803d;background:#dcfce7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.override-schedule-affected-summary.processed{background:#f0fdf4;border-color:#bbf7d0}.override-schedule-affected-summary.processed .override-schedule-affected-summary-title{color:#166534}.override-schedule-affected-summary.processed .override-schedule-affected-summary-description{color:#15803d}.override-schedule-affected-summary.none{border-color:var(--border);background:#f8fafc}.override-schedule-affected-summary.none .override-schedule-affected-summary-title{color:var(--text-secondary)}@media (width<=431px){.override-schedule-grid{grid-template-columns:1fr}}.override-schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.override-schedule-form-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;margin-top:24px;padding-top:16px;display:flex}.override-schedule-edit:disabled{color:#94a3b8;cursor:not-allowed;opacity:.7;background:#f8fafc;border-color:#e2e8f0}.override-schedule-edit:disabled:hover{color:#94a3b8;background:#f8fafc;transform:none}@media (width<=431px){.override-schedule-form-grid{grid-template-columns:1fr}}.override-schedule-filters{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:14px;margin-bottom:20px;padding:16px;display:grid}.override-schedule-filters>*{min-width:0}.override-schedule-pagination{justify-content:center;align-items:center;gap:12px;margin-top:24px;padding:4px 0;display:flex}.override-schedule-pagination-button{border:1px solid var(--border);width:32px;height:32px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .2s;display:flex}.override-schedule-pagination-button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.override-schedule-pagination-button:disabled{color:#cbd5e1;cursor:not-allowed;background:#f8fafc}.override-schedule-pagination-info{text-align:center;min-width:100px;color:var(--text-secondary);font-size:12px;font-weight:600}.override-schedule-filter-actions{grid-column:1/-1;justify-content:flex-end;padding-top:2px;display:flex}.override-schedule-clear-filter{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .2s}.override-schedule-clear-filter:hover{color:var(--text-primary);background:#f8fafc;border-color:#cbd5e1}.override-schedule-adjustment-modal{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}@media (width<=431px){.override-schedule-filters{grid-template-columns:1fr}}.appointment-service-form{gap:var(--space-lg);flex-direction:column;display:flex}@media (width<=431px){.form-actions .action-button{width:100px;font-size:12px}}.edit-appoinment-service{gap:var(--space-lg);flex-direction:column;display:flex}.form-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.appointment-service-form-loading{justify-content:center;align-items:center;padding:4px 0;display:flex}@media (width<=431px){.form-actions .action-button{width:100px;font-size:12px}}.appointment-services{margin-top:var(--space-md);padding:var(--space-md) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.appointment-services-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.appointment-services-header h4{margin:0}.appointment-services-add-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--primary);cursor:pointer;padding:7px 11px;font-size:10px;font-weight:700}.appointment-service-field{flex-direction:column;gap:3px;display:flex}.appointment-service-info{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.appointment-service-item{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);padding:var(--space-md);margin-top:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:flex}.appointment-service-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.appointment-service-name{color:var(--text-primary);font-size:13px;font-weight:600}.appointment-service-workflow{color:var(--text-secondary);text-transform:capitalize;font-size:12px;font-weight:500}.appointment-service-edit{width:28px;height:28px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;appearance:none;box-shadow:none;background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .18s,color .18s;display:flex}.appointment-service-edit:hover{background:var(--background);color:var(--primary)}@media (width<=431px){.edit-service-modal .modal-header,.add-service-modal .modal-header{padding:10px 24px}.edit-service-modal .modal-header h2,.add-service-modal .modal-header h2{font-size:16px}.edit-service-modal .modal-header button,.add-service-modal .modal-header button{scale:.8}}.searchable-select{flex-direction:column;gap:8px;width:100%;display:flex;position:relative}.searchable-select>label{color:var(--text-primary);font-size:14px;font-weight:600}.searchable-select-control{width:100%;position:relative}.searchable-select-control input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);border-radius:12px;outline:none;padding:12px 44px 12px 16px;font-size:15px;transition:all .2s}.searchable-select-control input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.searchable-select-control input::placeholder{color:#9ca3af}.searchable-select-options{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);max-height:220px;box-shadow:var(--shadow-md);z-index:20;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.searchable-select-option{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:14px;display:block}.searchable-select-option:hover{color:var(--primary);background:#f7faff}.searchable-select-empty{color:var(--text-secondary);margin:0;padding:10px 12px;font-size:13px}.searchable-select-icon{color:var(--text-secondary);pointer-events:none;transition:transform .18s;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.searchable-select-icon.open{transform:translateY(-50%)rotate(180deg)}.add-appointment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.appointment-services-selection{grid-column:1/-1;margin-top:4px}.appointment-services-selection-header{flex-direction:column;gap:3px;margin-bottom:14px;display:flex}.appointment-services-selection-header h4{color:var(--text-primary);margin:0;font-size:14px;font-weight:700}.appointment-services-selection-header span{color:var(--text-secondary);font-size:12px}.appointment-service-groups{flex-direction:column;gap:16px;display:flex}.appointment-service-group{flex-direction:column;gap:7px;display:flex}.appointment-service-group h5{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:10px;font-weight:700}.appointment-service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.appointment-service-option{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;transition:border-color .18s,background .18s;display:flex}.appointment-service-option:hover,.appointment-service-option.selected{border-color:var(--primary);background:var(--background)}.appointment-service-option input{accent-color:var(--primary);margin:0}.edit-appointment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.form-actions{grid-column:2;justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.appointment-form-loading{grid-column:1/-1;justify-content:center;align-items:center;padding:4px 0;display:flex}@media (width<=431px){.edit-appointment-form{z-index:9999;grid-template-columns:repeat(1,1fr)}.form-actions{grid-column:1}}.appointment-calendar{border:1px solid var(--border);box-shadow:var(--shadow-sm);box-sizing:border-box;background:#fff;border-radius:20px;padding:24px;position:relative}.appointment-calendar-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex;position:relative}.appointment-calendar-heading{position:relative}.appointment-month-button{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:17px;font-weight:700;transition:all .2s;display:flex}.appointment-month-button:hover{background:#f5f8fc}.appointment-month-button:focus-visible,.appointment-picker-year-button:focus-visible,.appointment-month-option:focus-visible,.appointment-today-button:focus-visible,.appointment-navigation-button:focus-visible,.day-number:focus-visible,.appointment-indicator:focus-visible,.dentist-badge:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.appointment-month-button svg{color:var(--primary)}.appointment-month-picker{border:1px solid var(--border);z-index:20;background:#fff;border-radius:14px;width:220px;padding:14px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 14px 35px #1f3a6d1f}.appointment-month-picker-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.appointment-month-picker-header span{color:var(--text-primary);font-size:13px;font-weight:700}.appointment-picker-year-button{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.appointment-picker-year-button:hover{color:var(--primary);background:#f1f5f9}.appointment-picker-year-button:disabled{opacity:.35;cursor:not-allowed}.appointment-picker-year-button:disabled:hover{color:var(--text-secondary);background:0 0}.appointment-month-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.appointment-month-option{height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:11px;font-weight:600;transition:all .2s}.appointment-month-option:hover{color:var(--primary);background:#f1f5f9}.appointment-month-option.selected{background:var(--primary);color:#fff}.appointment-calendar-controls{align-items:center;gap:5px;display:flex}.appointment-today-button{border:1px solid var(--border);height:34px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:9px;padding:0 13px;font-size:11px;font-weight:600;transition:all .2s}.appointment-today-button:hover{background:#f5f8fc;border-color:#c7d4e7}.appointment-navigation-button{border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;transition:all .2s;display:flex}.appointment-navigation-button:hover{color:var(--primary);background:#f5f8fc;border-color:#c7d4e7}.appointment-today-button:disabled,.appointment-navigation-button:disabled{opacity:.45;cursor:not-allowed}.appointment-today-button:disabled:hover,.appointment-navigation-button:disabled:hover{border-color:var(--border);color:var(--text-secondary);background:#fff}.appointment-calendar-legend{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:16px;padding-left:10px;display:flex}.appointment-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend-dot.pending{background:#3b82f6}.legend-dot.needs-action{background:var(--warning);border-radius:2px;transform:rotate(45deg)}.legend-badge{min-width:18px;height:18px;color:var(--primary);background:#f1f5f9;border:1px solid #d9e2ec;border-radius:5px;justify-content:center;align-items:center;padding:0 4px;font-size:8px;font-weight:700;display:flex}.appointment-calendar-loading{z-index:10;background:#ffffffa6;border-radius:20px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.appointment-calendar-grid.loading{opacity:.6;pointer-events:none}.appointment-calendar-error{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:14px;align-items:flex-start;gap:12px;padding:20px;display:flex}.appointment-calendar-error-title{margin:0 0 3px;font-size:13px;font-weight:700}.appointment-calendar-error-subtitle{opacity:.85;margin:0;font-size:12px;font-weight:500}.appointment-calendar-empty{text-align:center;color:var(--text-secondary);margin-top:10px;padding:14px;font-size:12px;font-weight:500}.day-content{flex-direction:column;align-items:flex-end;gap:3px;padding:4px;display:flex;position:relative}.day-number{width:34px;height:34px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.day-number:hover{background:#dcebff}.day-number.selected{background:var(--primary);color:#fff}.appointment-count{color:var(--primary);white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.appointment-meta{justify-content:flex-end;align-items:center;gap:5px;display:flex}.appointment-indicators{justify-content:center;align-items:center;gap:8px;margin-top:5px;display:flex}.appointment-indicator{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:flex;position:relative}.indicator-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.appointment-indicator.pending .indicator-dot{background:#3b82f6}.appointment-indicator.needs-action .indicator-dot{background:var(--warning);border-radius:2px;transform:rotate(45deg)}.dentist-badges{justify-content:flex-end;align-items:center;gap:4px;margin-top:1px;display:flex}.dentist-badge-wrapper{position:relative}.dentist-badge{min-width:23px;height:23px;color:var(--primary);cursor:pointer;background:#f1f5f9;border:1px solid #d9e2ec;border-radius:7px;justify-content:center;align-items:center;padding:0 5px;font-family:inherit;font-size:9px;font-weight:700;transition:all .2s;display:flex}.dentist-badge:hover{background:#e8eef7;border-color:#c7d4e7;transform:translateY(-1px)}.dentist-badge.more{color:var(--text-secondary);background:#f8fafc}.dentist-badge:after,.appointment-indicator:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:100;background:#1f2937;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:500;transition:all .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.dentist-badge:hover:after,.appointment-indicator:hover:after,.dentist-badge.show-tooltip:after,.appointment-indicator.show-tooltip:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.needs-action-list{flex-direction:column;gap:10px;display:flex}.appointment-calendar .fc{font-family:inherit}.appointment-calendar .fc-theme-standard td,.appointment-calendar .fc-theme-standard th{border-color:#e8edf3}.appointment-calendar .fc-col-header-cell{background:#fafbfc;padding:10px 0}.appointment-calendar .fc-col-header-cell-cushion{color:var(--text-secondary);letter-spacing:.6px;text-transform:uppercase;font-size:10px;font-weight:700;text-decoration:none}.appointment-calendar .fc-daygrid-day{background:#fff;min-height:110px;transition:background .2s}.appointment-calendar .fc-daygrid-day:hover{background:#fbfcfe}.appointment-calendar .fc-daygrid-day-number{color:inherit;padding:0;text-decoration:none}.appointment-calendar .fc-daygrid-day.fc-day-today{background:#f5f9ff!important}.appointment-calendar .fc-day-today .day-number{box-shadow:inset 0 0 0 1px #bfd3ed}.appointment-calendar .fc-day-other{background:#fcfdfe}.appointment-calendar .fc-day-other .day-number{color:#b7c0cc}@media (width<=431px){.appointment-calendar{padding:16px}.appointment-calendar-header{align-items:flex-start}.appointment-month-button{font-size:15px}.appointment-calendar-controls{gap:3px}.appointment-today-button{padding:0 9px}.appointment-calendar-legend{gap:12px;padding-left:4px}.appointment-calendar .fc-daygrid-day{min-height:75px}.appointment-calendar .fc-col-header-cell{padding:7px 0}.appointment-calendar .fc-col-header-cell-cushion{font-size:8px}.appointment-count{display:none}.appointment-meta{flex-direction:column}.appointment-indicators{gap:4px}.appointment-indicator{font-size:9px}.indicator-dot{width:6px;height:6px}.dentist-badges{gap:2px}.dentist-badge{min-width:20px;height:20px;padding:0 3px;font-size:8px}.appointment-month-picker{width:200px}.dentist-badge:after,.appointment-indicator:after{white-space:normal;text-align:center;max-width:160px}}.dentist-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;height:fit-content;padding:24px}.dentist-panel h2{color:var(--text-primary);margin-bottom:20px}.timeline{flex-direction:column;gap:10px;margin-top:24px;display:flex}.timeline-slot{border-bottom:1px solid var(--border);align-items:flex-start;gap:28px;padding:16px 0;display:flex}.timeline-content{flex:1;min-height:24px}.timeline-time{width:60px;color:var(--text-secondary);flex-shrink:0;font-weight:600}.day-name{color:var(--text-secondary);margin-top:4px;margin-bottom:24px;font-size:16px}.status{align-items:center;gap:8px;margin-top:20px;font-weight:600;display:flex}.working-hours{margin-top:20px;margin-bottom:24px}.working-hours-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:13px}.working-hours-time{color:var(--text-primary);font-size:18px;font-weight:600}.select-dentist-message{border:1px solid var(--border);text-align:center;background:#f7f9fc;border-radius:12px;margin-top:24px;padding:16px}.select-dentist-message p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.available-slot{border-radius:var(--radius-md);width:100%;height:100%;min-height:40px;color:var(--border);cursor:pointer;appearance:none;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .18s,color .18s;display:flex}.available-slot:hover{color:var(--primary);background:#f7f9fc}.dentist-panel-loading{justify-content:center;align-items:center;min-height:300px;display:flex}.needs-action-header{align-items:center;gap:8px;margin-top:20px;margin-bottom:10px;padding-top:14px;display:flex}.needs-action-header span{color:var(--text-secondary);letter-spacing:.04em;font-size:11px;font-weight:700}.needs-action-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:7px;height:7px}@media (width<=431px){.dentist-panel{width:100%}.timeline-content{flex:1;align-items:flex-start;min-width:0;min-height:100px;display:flex}}.patient-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.patient-info{align-items:center;gap:6px;min-width:0;display:flex}.appointment-status{border-radius:999px;flex-shrink:0;padding:3px 7px;font-size:9px;font-weight:700}.appointment-status.pending{color:#92400e;background:#fef3c7}.appointment-status.confirmed{color:#166534;background:#dcfce7}.appointment-card.completed{background:#f8fafc;border-color:#e2e8f0}.appointment-card.needs_cancellation,.appointment-card.needs_reschedule{background:#fffbeb;border-color:#fcd34d}.appointment-type-row{opacity:.9;text-transform:capitalize;align-items:center;gap:8px;margin-bottom:8px;display:flex}.appointment-time{opacity:.85;align-items:center;gap:8px;font-size:14px;display:flex}.patient-name{font-weight:700}.appointment-type-badge{color:#29529b;background:#eef4ff;font-weight:600}.appointment-card{cursor:pointer;box-sizing:border-box;padding:12px 14px;transition:transform .18s,box-shadow .18s,border-color .18s}.appointment-card:hover{box-shadow:var(--shadow-md);border-color:#d5deec;transform:translateY(-2px)}.completed-details{color:#64748b;justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;font-size:11px;font-weight:700;display:flex}.appointment-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.page-header h1{color:var(--text-primary);font-size:32px;font-weight:700}.appointment-page-header{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.appointment-page-header .title{justify-self:start;min-width:0}.appointment-page-header .appointment-view-switch{justify-self:center}.appointment-page-header .add-appointment-modal{justify-self:end}.appointment-view-switch{box-sizing:border-box;background:#f5f7fa;border:1px solid #dce3ed;border-radius:10px;align-items:center;padding:4px;display:inline-flex}.appointment-view-button{color:#475467;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.appointment-view-button.active{color:#172033;background:#fff;box-shadow:0 1px 3px #10182814}.appointment-view-button:hover:not(.active){color:var(--primary)}.header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.add-appointment-modal{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}@media (width<=431px){.page-header h1{font-size:24px}.page-header>div:first-child{align-self:flex-start;margin-top:5px}.appointment-page-header{display:flex}.appointment-page-header .appointment-view-switch{position:static;transform:none}.appointment-view-switch{justify-content:flex-end;align-self:center;gap:4px;width:auto}.appointment-layout{flex-direction:column;display:flex}.header-actions{flex-direction:column;justify-content:center;align-items:center;gap:15px;width:100%;display:flex}.add-appointment-modal{justify-self:flex-end;margin-left:auto}}.generate-billing{color:var(--text-primary);flex-direction:column;gap:20px;display:flex}.billing-section{flex-direction:column;gap:14px;display:flex}.billing-section-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.billing-section-header h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.billing-section-header p{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.5}.billing-patient-info{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.billing-info-item{flex-direction:column;gap:5px;padding:14px 16px;display:flex}.billing-info-item+.billing-info-item{border-left:1px solid var(--border)}.billing-info-item span{color:var(--text-secondary);font-size:11px;font-weight:600}.billing-info-item strong{color:var(--text-primary);font-size:13px;font-weight:600}.billing-section-badge{color:var(--primary);white-space:nowrap;background:#1f3a6d14;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.billing-items{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.billing-item{background:var(--surface);justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex}.billing-item+.billing-item{border-top:1px solid var(--border)}.billing-item-main{flex-direction:column;gap:4px;min-width:0;display:flex}.billing-item-main strong{color:var(--text-primary);font-size:13px;font-weight:600}.billing-item-main span{color:var(--text-secondary);font-size:12px}.billing-item-subtotal{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:700}.billing-empty-state{border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--background);text-align:center;padding:18px}.billing-empty-state p{color:var(--text-secondary);margin:0;font-size:12px}.billing-item-billed{background:var(--background)}.billing-item-main small{color:var(--text-secondary);margin-top:3px;font-size:11px}.billing-item-actions{align-items:center;gap:14px;display:flex}.billing-item-actions>strong{white-space:nowrap;font-size:13px}.billing-item-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;padding:7px 11px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s}.billing-item-actions button:hover{background:var(--background);border-color:#d1d5db}.billing-status{color:var(--success);text-transform:capitalize;background:#16a34a1a;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.billing-existing-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.billing-existing-summary>div{flex-direction:column;gap:5px;padding:13px 14px;display:flex}.billing-existing-summary>div+div{border-left:1px solid var(--border)}.billing-existing-summary span{color:var(--text-secondary);font-size:10px;font-weight:600}.billing-existing-summary strong{color:var(--text-primary);font-size:13px;font-weight:700}.billing-existing-actions{justify-content:flex-end;gap:8px;display:flex}.billing-existing-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:8px 12px;font-size:11px;font-weight:600;display:inline-flex}.billing-existing-actions button:hover{background:var(--background)}.billing-existing-actions button:last-child{background:var(--primary);border-color:var(--primary);color:#fff}.billing-existing-actions button:last-child:hover{background:var(--primary-hover)}.billing-additional-services{flex-direction:column;gap:8px;display:flex}.billing-service-option{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;align-items:center;gap:11px;padding:11px 13px;transition:border-color .15s,background .15s;display:flex}.billing-service-option:hover{background:var(--background)}.billing-service-option.selected{border-color:var(--primary);background:#1f3a6d0a}.billing-service-option input{opacity:0;pointer-events:none;position:absolute}.billing-service-check{border:1.5px solid #cbd5e1;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:17px;height:17px;display:flex}.billing-service-option.selected .billing-service-check{background:var(--primary);border-color:var(--primary)}.billing-service-option.selected .billing-service-check:after{content:"✓";color:#fff;font-size:11px;font-weight:700}.billing-service-name{color:var(--text-primary);flex:1;font-size:12px;font-weight:600}.billing-service-option>strong{color:var(--text-primary);font-size:12px;font-weight:700}.billing-total-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);flex-direction:column;padding:16px;display:flex}.billing-total-row{justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;display:flex}.billing-total-row span{color:var(--text-secondary)}.billing-total-row strong{color:var(--text-primary);font-weight:600}.billing-grand-total{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:10px;padding-top:13px;display:flex}.billing-grand-total span{color:var(--text-primary);font-size:14px;font-weight:700}.billing-grand-total strong{color:var(--primary);font-size:20px;font-weight:800}.billing-disclaimer{border-radius:var(--radius-md);background:#f59e0b12;align-items:flex-start;gap:9px;padding:11px 13px;display:flex}.billing-disclaimer svg{color:var(--warning);flex-shrink:0;margin-top:1px}.billing-disclaimer p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.5}.billing-footer{justify-content:flex-end;padding-top:2px;display:flex}.billing-create-button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:9px 15px;font-size:12px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.billing-create-button:hover{background:var(--primary-hover)}.billing-create-button:active{transform:translateY(1px)}@media (width<=700px){.billing-patient-info{grid-template-columns:1fr}.billing-info-item+.billing-info-item{border-left:none;border-top:1px solid var(--border)}.billing-existing-summary{grid-template-columns:repeat(2,1fr)}.billing-existing-summary>div:nth-child(3){border-left:none;border-top:1px solid var(--border)}.billing-existing-summary>div:nth-child(4){border-top:1px solid var(--border)}.billing-item{align-items:flex-start}.billing-item-actions{flex-direction:column;align-items:flex-end;gap:7px}}.appointment-drawer{background:var(--surface);border-left:1px solid var(--border);z-index:1000;flex-direction:column;width:420px;height:100dvh;transition:transform .25s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 24px #00000014}.appointment-drawer~.modal-overlay{z-index:1100}.appointment-drawer-loading{justify-content:center;align-items:center;min-height:300px;display:flex}.appointment-drawer-content{box-sizing:border-box;flex:1;min-height:0;padding:20px 24px 28px;overflow-y:auto}.appointment-drawer.open{transform:translate(0)}.appointment-drawer-overlay{z-index:999;background:#0f172a26;position:fixed;inset:0}.appointment-drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.appointment-drawer-header h2{color:var(--text-primary);margin:0;font-size:18px}.appointment-drawer-close{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:24px}.appointment-details{flex-direction:column;gap:18px;padding-top:8px;display:flex}.appointment-summary-details{background:#f8fafc;border:1px solid #e6eaf0;border-radius:16px;padding:18px}.appointment-summary-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.appointment-summary-type{color:#263247;text-transform:capitalize;font-size:18px;font-weight:700}.appointment-summary-time{align-items:center;gap:18px;margin-top:14px;display:flex}.appointment-summary-time div{color:#596579;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.appointment-people{grid-template-columns:1fr 1fr;gap:12px;display:grid}.appointment-person{background:#fff;border:1px solid #e6eaf0;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:14px;display:flex}.appointment-person-icon{color:#52627a;background:#f3f6fa;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.appointment-person>div:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.appointment-detail-label{color:#8a94a6;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:700}.appointment-detail-value{color:#263247;word-break:break-word;font-size:13px;font-weight:600;line-height:1.4}.appointment-info{border-top:1px solid #eef1f5;padding:14px 0}.appointment-notes{background:#fafbfc;border:1px solid #e6eaf0;border-radius:14px;padding:16px}.appointment-info-header{color:#7b879a;align-items:center;gap:7px;margin-bottom:10px;display:flex}.appointment-info-header span{text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:700}.appointment-notes-content{color:#596579;min-height:20px;font-size:13px;line-height:1.5}.appointment-actions{border-top:1px solid #eef1f5;flex-direction:column;gap:9px;margin-top:24px;padding-top:20px;display:flex}.appointment-action{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;padding:9px 14px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.appointment-action.confirm{color:#166534;background:#dcfce7}.appointment-action.confirm:hover{background:#bbf7d0}.appointment-action.cancel{color:#991b1b;background:#fee2e2}.appointment-action.cancel:hover{background:#fecaca}.appointment-action.reschedule{color:#6d28d9;background:#ede9fe}.appointment-action.reschedule:hover{background:#ddd6fe}.appointment-action.complete{color:#1d4ed8;background:#dbeafe}.appointment-action.complete:hover{background:#bfdbfe}.appointment-action.no-show{color:#4b5563;background:#f3f4f6}.appointment-action.no-show:hover{background:#e5e7eb}.billing-summary-button{color:#fff;cursor:pointer;background:#263247;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:18px;padding:12px 16px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.billing-summary-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0000001f}.appointment-request-section{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;margin-top:20px;padding:16px}.appointment-request-content{margin-top:14px}.appointment-request-label{color:#8a6a12;text-transform:uppercase;letter-spacing:.06em;margin:0 0 5px;font-size:10px;font-weight:700}.appointment-request-value{color:#4b5563;margin:0;font-size:13px;font-weight:500;line-height:1.5}.appointment-request-actions{gap:8px;margin-top:16px;display:flex}.appointment-request-actions button{cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;padding:10px 12px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.appointment-request-actions button:first-child{color:#a33a3a;background:#fff7f7;border:1px solid #e5b8b8}.appointment-request-actions button:first-child:hover{background:#fdecec}.appointment-request-actions button:last-child{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.appointment-request-actions button:last-child:hover{background:#f3f4f6}.requested-schedule{flex-direction:column;gap:10px;margin-top:10px;display:flex}.requested-schedule-item{background:#ffffffa6;border:1px solid #e5e7ebcc;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.requested-schedule-label{color:#8a6a12;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.requested-schedule-value{color:#4b5563;text-align:right;font-size:12px;font-weight:600}.appointment-summary-actions{align-items:center;gap:8px;display:flex}.appointment-detail-status{text-transform:capitalize;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.appointment-detail-status.pending{color:#a16207;background:#fff7e6}.appointment-detail-status.confirmed{color:#15803d;background:#ecfdf3}.appointment-detail-status.completed{color:#475569;background:#f1f5f9}.appointment-detail-status.cancelled{color:#b91c1c;background:#fef2f2}.appointment-detail-status.no_show{color:#6b7280;background:#f3f4f6}.appointment-detail-status.needs_reschedule,.appointment-detail-status.needs_cancellation{color:#c2410c;background:#fff7ed}.appointment-edit-button{color:#7b879a;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .18s,color .18s;display:flex}.appointment-edit-button:hover{color:#263247;background:#eef2f7}.cancel-appointment-form{flex-direction:column;gap:20px;display:flex}.cancel-appointment-message{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:12px 14px}.cancel-appointment-message p{color:#9a3412;margin:0;font-size:13px;line-height:1.5}.cancel-appointment-field{flex-direction:column;gap:7px;display:flex}.cancel-appointment-field label{color:var(--text-primary);font-size:13px;font-weight:600}.cancel-appointment-field textarea{border:1px solid var(--border);width:100%;min-height:120px;color:var(--text-primary);resize:vertical;box-sizing:border-box;background:#fff;border-radius:9px;outline:none;padding:11px 12px;font-family:inherit;font-size:14px;line-height:1.5;transition:all .2s}.cancel-appointment-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.cancel-appointment-field textarea::placeholder{color:var(--text-secondary)}.cancel-appointment-actions{justify-content:flex-end;gap:10px;display:flex}.cancel-appointment-actions button{cursor:pointer;border:none;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;transition:all .2s}.cancel-appointment-confirm{color:#fff;background:#dc2626}.cancel-appointment-confirm:hover:not(:disabled){background:#b91c1c}.cancel-appointment-confirm:disabled{opacity:.45;cursor:not-allowed}.cancel-appointment-cancel{color:var(--text-secondary);background:#f1f5f9}.cancel-appointment-cancel:hover{color:var(--text-primary);background:#e2e8f0}.appointment-cancellation-note{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-top:16px;padding:14px 16px}.appointment-cancellation-note-header{margin-bottom:6px}.appointment-cancellation-note-header h4{color:#b91c1c;margin:0;font-size:13px;font-weight:700}.appointment-cancellation-note p{color:#7f1d1d;margin:0;font-size:13px;line-height:1.5}@media (width<=431px){.appointment-drawer{max-width:80%}}.appointment-request-actions button{color:#fff;cursor:pointer;background:#d97706;border:none;border-radius:8px;min-width:110px;min-height:38px;padding:9px 16px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.appointment-request-actions button:hover{background:#b45309;transform:translateY(-1px)}.appointment-request-actions button:disabled{opacity:.7;cursor:not-allowed;transform:none}.appointment-history{width:100%}.appointment-history-filters{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:18px 20px}.appointment-history-filters-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.appointment-history-filter-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;display:grid}.appointment-history-date-grid{grid-template-columns:260px 260px;align-items:end;gap:36px;margin-top:16px;display:grid}.appointment-history-filter-field{flex-direction:column;gap:7px;display:flex}.appointment-history-filter-field label{color:var(--text-primary);font-size:13px;font-weight:600}.appointment-history-filter-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.appointment-history-filter-field input:focus{border-color:var(--primary)}.appointment-history-filter-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.appointment-history-results{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;margin-top:24px;overflow:hidden}.appointment-history-results-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.appointment-history-results-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.appointment-history-results-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.appointment-history-pagination{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;display:flex}.appointment-history-pagination span{color:var(--text-secondary);font-size:13px;font-weight:600}@media (width<=431px){.appointment-history-filter-grid,.appointment-history-date-grid{grid-template-columns:1fr;gap:10px}}.appointment-table{width:100%;overflow-x:auto}.appointment-table table{border-collapse:collapse;width:100%}.appointment-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#f8fafc;padding:13px 16px;font-size:11px;font-weight:700}.appointment-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:16px;font-size:14px}.appointment-table tbody tr:last-child td{border-bottom:none}.appointment-status{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.appointment-status.completed{color:#059669;background:#ecfdf5}.appointment-status.cancelled{color:#dc2626;background:#fef2f2}.appointment-status.no_show{color:#4b5563;background:#f3f4f6}.appointment-status.needs_reschedule{color:#ea580c;background:#fff7ed}.appointment-table tbody tr{transition:background .15s}.appointment-table tbody tr:hover{background:#f8fafc}.appointment-type{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.appointment-type.consultation{color:#2563eb;background:#eff6ff}.appointment-type.treatment{color:#7c3aed;background:#f5f3ff}.appointment-type.service{color:#059669;background:#ecfdf5}.appointment-dentist-name{color:var(--text-secondary)}.appointment-date{color:var(--text-primary);white-space:nowrap;font-weight:600}.appointment-table-view-button{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.appointment-table-view-button:hover{color:var(--primary);background:#eff6ff}:root{--bg:var(--odon-bg,#f3f6fb);--panel:var(--odon-panel,#fff);--card:var(--odon-card,#fff);--muted:var(--odon-muted,#5b6b7d);--text:var(--odon-text,#1e2a3a);--line:var(--odon-line,#d7e0ec);--accent:var(--odon-accent,#3b7bff);--accent2:var(--odon-accent2,#12b981)}.odontogram-root{--bg:var(--odon-bg,#f3f6fb);--panel:var(--odon-panel,#fff);--card:var(--odon-card,#fff);--muted:var(--odon-muted,#5b6b7d);--text:var(--odon-text,#1e2a3a);--line:var(--odon-line,#d7e0ec);--accent:var(--odon-accent,#3b7bff);--accent2:var(--odon-accent2,#12b981);color:var(--text)}.dark .odontogram-root{--bg:var(--odon-bg,#0f172a);--panel:var(--odon-panel,#1e293b);--card:var(--odon-card,#1e293b);--muted:var(--odon-muted,#94a3b8);--text:var(--odon-text,#f1f5f9);--line:var(--odon-line,#334155)}*{box-sizing:border-box}html,body{height:100%}body{background:radial-gradient(1200px 600px at 15% 0%,#fff 0%,var(--bg) 60%);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffffd9;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.dot{background:var(--accent2);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 6px #12b9811f}.brand-logo{flex:none;width:auto;height:44px;display:block}.title{letter-spacing:.2px;font-weight:700}.subtitle{color:var(--muted);margin-top:2px;font-size:12px}.topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topbar-group{align-items:center;gap:8px;display:flex}.segmented{gap:6px;display:flex}.btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#3b7bff1f;border-radius:12px;padding:8px 12px;font-weight:600}.btn-sm{padding:6px 10px;font-size:12px}.btn:hover{background:#3b7bff2e}.btn-ghost{background:#0000000a}.btn-ghost:hover{background:#00000014}.btn-danger{color:#b83a3a;background:#d945451f;border-color:#d9454566}.btn-danger:hover{background:#d9454533}.btn-toggle[aria-pressed=true]{background:#640feb33;border-color:#12b98180}.btn-toggle[aria-pressed=false]{background:#0000000a}.dropdown{position:relative}.dropdown-menu{border:1px solid var(--line);z-index:20;background:#fff;border-radius:12px;flex-direction:column;gap:4px;min-width:180px;margin-top:6px;padding:6px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 12px 24px #1e2a3a1f}.dropdown-item{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:start;background:#0000000a;border-radius:10px;padding:8px 10px;font-weight:600}.dropdown-item:hover{background:#00000014}.dropdown-item:disabled{opacity:.45;cursor:not-allowed}.dropdown-item:disabled:hover{background:#0000000a}.dropdown-item[aria-checked=true]{background:#3b7bff2e;border-color:#3b7bff73}select{appearance:none;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#3b7bff1f;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:6px 6px,6px 6px;border-radius:12px;min-width:220px;padding:8px 34px 8px 12px;font-weight:600}select:focus{outline:none;box-shadow:0 0 0 3px #3b7bff2e}.layout{grid-template-columns:1fr 360px;gap:14px;padding:14px;display:grid}.perio-launch-bar{grid-column:1/-1;justify-content:flex-end;display:flex}.chart{border:1px solid var(--line);background:#ffffffe6;border-radius:18px;overflow:hidden}.chart-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.chart-title{font-weight:700}.chart-hint{color:var(--muted);margin-top:4px;font-size:12px}.chart-actions{align-items:center;gap:8px;display:flex}.chart-mode-toggle{border:1px solid var(--line);background:#00000008;border-radius:999px;align-items:center;gap:4px;padding:4px;display:flex}.chart-mode-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.chart-mode-btn:hover{background:#3b7bff24}.chart-mode-btn.is-active{background:var(--accent);color:#fff}.chart-mode-btn.is-active:hover{background:var(--accent)}.plan-badge{letter-spacing:.4px;color:var(--accent);background:#3b7bff29;border:1px solid #3b7bff66;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.chart.plan-mode{border-color:var(--accent);box-shadow:0 0 0 2px #3b7bff2e}.proposed-legend{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:none}.chart.plan-mode .proposed-legend{display:flex}.proposed-legend-swatch{border-top:2px dashed var(--accent);width:18px;height:0;display:inline-block}.tooth-grid,.chart-column,.dental-chart-column,.perio-fullgrid-scroll,[data-perio-arch]{direction:ltr}.tooth-grid{grid-template-columns:repeat(16,minmax(36px,1fr));gap:4px;padding:10px;display:grid;position:relative}.tooth-grid[data-anatomy=measured]{flex-direction:column;display:flex}.tooth-grid[data-anatomy=measured] .tooth-arch{justify-content:center;gap:4px;display:grid}.tooth-grid[data-anatomy=measured] .upper-arch{grid-template-columns:minmax(28px,63px) minmax(28px,63px) minmax(28px,72px) minmax(28px,51px) minmax(28px,52px) minmax(28px,54px) minmax(28px,49px) minmax(28px,62px) minmax(28px,62px) minmax(28px,49px) minmax(28px,54px) minmax(28px,52px) minmax(28px,51px) minmax(28px,72px) minmax(28px,63px) minmax(28px,63px)}.tooth-grid[data-anatomy=measured] .lower-arch{grid-template-columns:minmax(28px,75px) minmax(28px,75px) minmax(28px,75px) minmax(28px,51px) minmax(28px,51px) minmax(28px,54px) minmax(28px,40px) minmax(28px,40px) minmax(28px,40px) minmax(28px,40px) minmax(28px,54px) minmax(28px,51px) minmax(28px,51px) minmax(28px,75px) minmax(28px,75px) minmax(28px,75px)}.tooth-grid[data-screen-spacing=wide]{gap:12px}.tooth-grid[data-screen-spacing=close]{gap:0}.tooth-grid[data-tooth-num=normal] .tooth-label-cell{font-size:14px}.tooth-grid[data-tooth-num=small] .tooth-label-cell{font-size:11px}.tooth-grid[data-tooth-num=xlarge] .tooth-label-cell{font-size:18px}.tooth-grid>svg.bridge-overlay{pointer-events:none;z-index:5;position:absolute;inset:0}.tooth-label-row{display:contents}.tooth-label-cell{text-align:center;color:#1e2a3acc;cursor:pointer;padding:2px 0 4px;font-size:11px;font-weight:600}.tooth-label-cell:hover{color:#1e2a3a}.tooth-tile{border:1px solid var(--line);cursor:pointer;background:#ffffffb3;border-radius:14px;min-height:100px;padding:2px;transition:transform 50ms,border-color .12s,background .12s;position:relative}.tooth-tile.occl-view{min-height:78px}.tooth-tile.placeholder{cursor:default;background:#ffffff4d}.tooth-tile.placeholder .tooth-svg svg{opacity:0}.tooth-tile:hover{background:#3b7bff14}.tooth-tile:active{transform:scale(.99)}@keyframes odon-dash-pulse{0%,to{border-color:rgba(var(--odon-select-rgb,59,123,255),.5)}50%{border-color:rgba(var(--odon-select-rgb,59,123,255),.9)}}@keyframes odon-glow-pulse{0%,to{filter:drop-shadow(0 0 3px rgba(var(--odon-select-rgb,59,123,255),.2))}50%{filter:drop-shadow(0 0 7px rgba(var(--odon-select-rgb,59,123,255),.45))}}.tooth-tile:after{content:"";border:2px var(--odon-select-border-style,dashed) transparent;pointer-events:none;border-radius:15px;transition:border-color .25s;position:absolute;inset:-2px}.tooth-tile .tooth-svg svg{transition:filter .25s}.tooth-tile.active{border-color:rgba(var(--odon-select-rgb,59,123,255),.7);background:rgba(var(--odon-select-rgb,59,123,255),.06);transition:border-color .2s,background .2s}.tooth-tile.active:after{border-color:rgba(var(--odon-select-rgb,59,123,255),.55);animation:1.6s ease-in-out infinite odon-dash-pulse}.tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px rgba(var(--odon-select-rgb,59,123,255),.3));animation:2.5s ease-in-out infinite odon-glow-pulse}.tooth-tile:focus{outline:none}.tooth-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1;box-shadow:0 0 0 3px #3b7bff40}.tooth-grid.read-only .tooth-tile{cursor:default;pointer-events:none}.tooth-grid.read-only .tooth-tile:hover{background:inherit}.tooth-grid.read-only .tooth-label-cell{cursor:default;pointer-events:none}.panel.read-only{pointer-events:none;opacity:.5;-webkit-user-select:none;user-select:none}.perio-overlay.read-only{pointer-events:none}.perio-overlay.read-only .perio-overlay-panel{opacity:.5}.perio-inline-panel.read-only{pointer-events:none;opacity:.5;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.tooth-tile.active:after{border-color:#3b7bffb3;animation:none}.tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px #3b7bff59);animation:none}}.tooth-svg{justify-content:center;align-items:center;width:100%;height:120px;display:flex}.tooth-svg svg{pointer-events:none;width:72px;height:122px}.tooth-tile.occl-view .tooth-svg{height:80px}.tooth-tile.occl-view .tooth-svg svg{width:64px;height:64px}.tooth-tile.tpl-14 .tooth-svg svg{width:68px;height:116px}.tooth-tile.tpl-11 .tooth-svg svg,.tooth-tile.tpl-13 .tooth-svg svg{width:60px;height:102px}.tooth-tile.wisdom-hidden{opacity:.45;pointer-events:none}.tooth-tile.wisdom-hidden .tooth-svg svg{opacity:0}.tooth-tile.occl-hidden,.tooth-svg [data-active="0"]{display:none!important}.panel{border:1px solid var(--line);background:#fffffff2;border-radius:18px;grid-column:2;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);padding:12px 14px}.select-actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}.select-actions-row{flex-wrap:wrap;gap:6px;display:flex}.status-actions{flex-wrap:wrap;gap:6px}.status-extra-row{flex-wrap:wrap;align-items:center;gap:8px}.status-extra-row select{min-width:220px}.btn-icon{padding:9px 15px;font-size:12px}.btn-icon .icon,.btn-icon .icon-img,.btn-icon svg{width:32px;height:32px;display:block}.fade-toggle{max-width:200px;transition:opacity .16s,max-width .16s,padding .16s,margin .16s,border-width .16s,transform .16s}.fade-toggle.is-hidden{opacity:0;pointer-events:none;border-width:0;max-width:0;margin:0;padding-left:0;padding-right:0;transform:scale(.96)}.panel-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-title-actions{align-items:center;gap:8px;display:flex}.panel-title{font-weight:800}.panel-subtitle{color:var(--muted);margin-top:4px;font-size:12px}.pill{color:var(--text);background:#12b98124;border:1px solid #12b98140;border-radius:999px;padding:2px 8px;font-weight:700;display:inline-block}.warnings{flex-direction:column;gap:8px;margin-top:10px;display:flex}.warning{color:#8a5b1a;background:#ffc67438;border:1px solid #ffc67473;border-radius:12px;padding:8px 10px;font-size:12px}.panel-body{flex-direction:column;gap:12px;max-height:calc(100vh - 110px);padding:14px;display:flex;overflow:auto}.card{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;padding:12px}.card-title{margin-bottom:8px;font-weight:800}.card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.card.collapsed .card-title{margin-bottom:0}.card.collapsed>:not(.card-title-row){display:none}.icon-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffffb3;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;line-height:1;display:flex}.icon-btn .icon{width:16px;height:16px}.icon-btn:hover{background:#3b7bff1f}.icon-btn-danger{color:#d94545;background:#d9454514;border-color:#d9454566}.icon-btn-danger:hover{background:#d9454526}.card-subtitle{margin:6px 0;font-weight:700}.hint{color:var(--muted);margin:6px 0 10px;font-size:12px}.row{align-items:center;gap:10px;padding:6px 2px;font-size:13px;display:flex}.contact-row{margin-bottom:6px}.bruxism-row{gap:8px;margin-top:6px}.wear-stack{flex-direction:column;gap:6px;display:flex}.wear-stack .row{margin-top:0}.fissure-row{text-align:center;justify-content:center;margin-top:10px}#crownReplaceRow,#crownNeededRow,#missingClosedRow{margin-top:8px}.bridge-pillar-row{margin-top:10px}.inline-checks{padding:0}.inline-checks+.inline-checks,#calculusRow{margin-top:8px}.inline-checks label{border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.inline-checks label:hover{background:#3b7bff0f}.inline-checks input[type=checkbox]{display:none}.inline-checks label:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.check-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.check-grid label{border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:12px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.check-grid label:hover{background:#3b7bff0f}.check-grid input[type=checkbox]{display:none}.check-grid label:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.surface-cross{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(3,1fr);gap:8px;max-width:340px;margin:4px auto;display:grid}.surface-cross .surface-cell{text-align:center;border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 6px;display:flex}.surface-cross .surface-cell:hover{background:#3b7bff0f}.surface-cross .surface-cell input[type=checkbox]{display:none}.surface-cross .surface-cell .surf-letter{font-size:18px;font-weight:700;line-height:1}.surface-cross .surface-cell .surf-name{color:var(--muted);font-size:11px}.surface-cross .surface-cell:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.surface-cross .pos-buccal{grid-area:1/2}.surface-cross .pos-mesial{grid-area:2/1}.surface-cross .pos-occlusal{grid-area:2/2}.surface-cross .pos-distal{grid-area:2/3}.surface-cross .pos-lingual{grid-area:3/2}.subcrown-row{margin-top:8px}.surface-cross .surface-cell[data-material=amalgam]{box-shadow:inset 0 0 0 2px #7a7f87}.surface-cross .surface-cell[data-material=composite]{box-shadow:inset 0 0 0 2px #d9a441}.surface-cross .surface-cell[data-material=gic]{box-shadow:inset 0 0 0 2px #4aa3df}.surface-cross .surface-cell[data-material=temporary]{box-shadow:inset 0 0 0 2px #b07ad9}.surface-cross .surface-cell{position:relative}.surf-depth{cursor:pointer;border-radius:4px;flex-direction:column;gap:1.5px;padding:2px;display:none;position:absolute;top:5px;right:5px}.surface-cross .surface-cell:has(input[type=checkbox]:checked) .surf-depth{display:flex}.surf-depth:hover{background:#0000000f}.surf-depth i{background:#b3261e38;border-radius:1px;width:11px;height:3px;display:block}.surf-depth[data-depth=surface] i:first-child,.surf-depth[data-depth=dentin] i:nth-child(-n+2),.surf-depth[data-depth=deep] i{background:#b3261e}.surf-depth.has-subcaries{border:2px solid #1f2937;padding:1px}.surf-depth.icdas.has-subcaries{border:2px solid #1f2937;box-shadow:0 0 0 1px #fff}.surf-depth.radio-badge[data-radio]{display:flex}.surf-defect{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:none;position:absolute;top:5px;left:5px}.surface-cross .surface-cell:has(input[type=checkbox]:checked) .surf-defect{display:flex}#fillingSurfaceChecks.defect-disabled .surf-defect{display:none!important}.surf-defect:hover{background:#0000000f}.surf-defect i{background:#2e319240;border-radius:50%;width:9px;height:9px;display:block}.surf-defect.has-defect{border:2px solid #2e3192;padding:1px}.surf-defect.has-defect i{background:#f5ff15;box-shadow:0 0 0 1px #2e3192}.odon-depth-popup{z-index:130;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;min-width:150px;padding:6px;display:flex;position:fixed;box-shadow:0 12px 24px #1e2a3a2e}.odon-depth-group{flex-direction:column;gap:4px;display:flex}.odon-depth-option{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:start;background:#0000000a;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600}.odon-depth-option:hover{background:#3b7bff1f}.odon-depth-option.is-active{border-color:var(--accent,#3b7bff);background:#3b7bff29}.odon-depth-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#7b8794);padding:6px 4px 2px;font-size:11px;font-weight:700}.odon-depth-group-label:first-child{padding-top:2px}.odon-depth-title{color:var(--text);border-bottom:1px solid var(--line);margin-bottom:2px;padding:2px 4px 6px;font-size:12px;font-weight:800}.row input[type=checkbox]{display:none}.row:has(input[type=checkbox]){border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:12px;padding:6px 10px}.inline-checks:has(input[type=checkbox]){background:0 0;border:0;padding:0}.row:has(input[type=checkbox]:checked){background:#12b9812e;border-color:#12b98180}.inline-checks:has(input[type=checkbox]:checked){background:0 0;border:0}.wear-stack .row:has(input[type=checkbox]){cursor:default;background:0 0;border:0;border-radius:0;padding:6px 2px}.wear-stack .row:has(input[type=checkbox]:checked){cursor:default;background:0 0;border:0;border-radius:0;padding:6px 2px}.dark .wear-stack .row:has(input[type=checkbox]){cursor:default;background:0 0;border:0;border-radius:0;padding:6px 2px}.radio-list{flex-direction:column;gap:8px;display:flex}.radio-list label{border:1px solid var(--line);background:#00000005;border-radius:12px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.radio-list label:hover{background:#3b7bff0f}.divider{background:var(--line);height:1px;margin:10px 0}.perio-block{margin-top:10px}.perio-block-title{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.perio-grid{flex-direction:column;gap:6px;display:flex}.perio-site-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.perio-site-cell{border:1px solid var(--line);background:#00000005;border-radius:8px;flex-direction:column;gap:3px;padding:6px;display:flex}.perio-site-label{text-align:center;color:var(--text);margin-bottom:2px;font-size:12px;font-weight:700}.perio-field{justify-content:space-between;align-items:center;gap:4px;font-size:11px;display:flex}.perio-field span{color:var(--muted)}.perio-field input[type=number]{border:1px solid var(--line);background:var(--card);width:46px;color:var(--text);border-radius:4px;padding:2px 4px;font-size:11px}.perio-check{align-items:center;gap:4px;font-size:11px;display:flex}.perio-check span{color:var(--muted)}.perio-readout{margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.hidden{display:none!important}@media (width<=1100px){.layout{grid-template-columns:1fr}.chart-column,.dental-chart-column{grid-column:auto}.panel{order:2;grid-column:auto}}.dark{--bg:var(--odon-bg,#0f172a);--panel:var(--odon-panel,#1e293b);--card:var(--odon-card,#1e293b);--muted:var(--odon-muted,#94a3b8);--text:var(--odon-text,#f1f5f9);--line:var(--odon-line,#334155)}.dark body{background:var(--bg)}.dark .topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172aeb}.dark .btn{background:#60a5fa26}.dark .btn:hover{background:#60a5fa40}.dark .btn-ghost{background:#ffffff0f}.dark .btn-ghost:hover{background:#ffffff1f}.dark .btn-danger{color:#f87171;background:#f871711f;border-color:#f871714d}.dark .btn-danger:hover{background:#f8717138}.dark .btn-toggle[aria-pressed=false]{background:#ffffff0f}.dark .dropdown-menu{background:#1e293b;box-shadow:0 12px 24px #00000073}.dark .dropdown-item{background:#ffffff0f}.dark .dropdown-item:hover{background:#ffffff1f}.dark .dropdown-item[aria-checked=true]{background:#60a5fa33;border-color:#60a5fa73}.dark select{background:#60a5fa26;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:6px 6px,6px 6px}.dark .chart{background:#1e293be6}.dark .chart-mode-toggle{border-color:var(--line);background:#ffffff0f}.dark .chart-mode-btn{color:var(--text)}.dark .chart-mode-btn:hover{background:#60a5fa2e}.dark .chart-mode-btn.is-active{color:#fff;background:#60a5fa73}.dark .chart-mode-btn.is-active:hover{background:#60a5fa73}.dark .plan-badge{color:#93c5fd;background:#60a5fa2e;border-color:#60a5fa73}.dark .chart.plan-mode{border-color:#60a5fa99;box-shadow:0 0 0 2px #60a5fa47}.dark .proposed-legend{color:var(--text)}.dark .proposed-legend-swatch{border-top-color:#60a5fad9}.dark .tooth-label-cell{color:#f1f5f999}.dark .tooth-label-cell:hover{color:#f1f5f9}.dark .tooth-tile{background:#1e293bb3}.dark .tooth-tile.placeholder{background:#1e293b4d}.dark .tooth-tile:hover{background:#60a5fa1f}@keyframes odon-dash-pulse-dark{0%,to{border-color:#60a5fa73}50%{border-color:#60a5fad9}}@keyframes odon-glow-pulse-dark{0%,to{filter:drop-shadow(0 0 3px #60a5fa33)}50%{filter:drop-shadow(0 0 7px #60a5fa73)}}.dark .tooth-tile.active{background:#60a5fa14;border-color:#60a5fa99}.dark .tooth-tile.active:after{border-color:#60a5fa73;animation-name:odon-dash-pulse-dark}.dark .tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px #60a5fa4d);animation-name:odon-glow-pulse-dark}.dark .tooth-tile:focus-visible{outline-color:#60a5facc;box-shadow:0 0 0 3px #60a5fa40}.dark .odon-note-backdrop{background:#0000008c}.dark .odon-note-popover{background:var(--panel);box-shadow:0 16px 48px #00000080}.dark .odon-note-textarea{border-color:var(--line);color:var(--text);background:#ffffff0f}.dark .odon-note-textarea:focus{border-color:#60a5fa80;box-shadow:0 0 0 3px #60a5fa33}.dark .panel{background:#1e293bf2}.dark .card{border-color:var(--line);background:#1e293bcc}.dark .icon-btn{background:#1e293bb3}.dark .icon-btn:hover{background:#60a5fa26}.dark .icon-btn-danger{color:#f87171;background:#f871711a;border-color:#f871714d}.dark .icon-btn-danger:hover{background:#f8717133}.dark .warning{color:#fbbf24;background:#fbbf241a;border-color:#fbbf244d}.dark .inline-checks label,.dark .check-grid label,.dark .radio-list label{background:#ffffff0a}.dark .inline-checks label:hover,.dark .check-grid label:hover,.dark .radio-list label:hover{background:#60a5fa1a}.dark .row:has(input[type=checkbox]){background:#ffffff0a}.dark .pill{background:#34d39926;border-color:#34d3994d}.btn-theme{border:1px solid var(--line);width:36px;height:36px;color:var(--text);cursor:pointer;background:#0000000a;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.btn-theme:hover{background:#3b7bff1f}.dark .btn-theme{background:#ffffff0f}.dark .btn-theme:hover{background:#60a5fa26}.tooth-note-icon{vertical-align:middle;color:var(--text);align-items:center;margin-inline-start:3px;display:inline-flex}.tooth-note-icon svg{width:13px;height:13px}.odon-note-backdrop{z-index:120;background:#00000059;animation:.12s odon-fade-in;position:fixed;inset:0}.odon-note-popover{background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;width:min(320px,90vw);padding:14px;animation:.12s odon-ctx-pop;display:flex;position:relative;box-shadow:0 16px 48px #0003}.odon-note-header{justify-content:space-between;align-items:center;display:flex}.odon-note-title{color:var(--text);font-size:14px;font-weight:700}.odon-note-textarea{border:1px solid var(--line);width:100%;min-height:60px;color:var(--text);resize:vertical;background:#00000005;border-radius:10px;padding:8px 10px;font-family:inherit;font-size:13px}.odon-note-textarea:focus{border-color:#3b7bff80;outline:none;box-shadow:0 0 0 3px #3b7bff2e}.odon-note-textarea::placeholder{color:var(--muted)}.odon-note-actions{gap:8px;display:flex}.odon-note-actions .odon-zoom-btn{flex:1}.warning-item{color:#92400e;background:#eab3081f;border-radius:8px;margin-bottom:4px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.4}.dark .warning-item{color:#fde047;background:#facc151a}.odon-zoom-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;animation:.15s odon-fade-in;display:flex;position:fixed;inset:0}@keyframes odon-fade-in{0%{opacity:0}to{opacity:1}}.odon-zoom-popover{background:var(--panel,#fff);border:1px solid var(--line);border-radius:20px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:min(360px,90vw);padding:16px;display:flex;box-shadow:0 20px 60px #00000040}.odon-zoom-header{justify-content:space-between;align-items:center;width:100%;display:flex}.odon-zoom-title{color:var(--text);font-size:16px;font-weight:800}.odon-zoom-close{border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#0000000a;border-radius:999px;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;display:flex}.odon-zoom-close:hover{color:#d94545;background:#d945451f}.odon-zoom-svg{justify-content:center;align-items:center;width:200px;height:200px;display:flex}.odon-zoom-svg svg{pointer-events:none;width:180px;height:180px}.odon-zoom-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.odon-zoom-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:center;background:#3b7bff14;border-radius:12px;padding:10px 8px;font-size:13px;font-weight:600}.odon-zoom-btn:hover{background:#3b7bff2e}.odon-zoom-btn.active{background:#12b9812e;border-color:#12b98180}.odon-zoom-btn.danger{color:#b83a3a;background:#d9454514;border-color:#d945454d}.odon-zoom-btn.danger:hover{background:#d945452e}.odon-ctx-menu{z-index:110;background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;min-width:180px;padding:6px;animation:.12s odon-ctx-pop;display:flex;position:fixed;box-shadow:0 12px 40px #0003}@keyframes odon-ctx-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.odon-ctx-item{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:start;background:#00000005;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:600}.odon-ctx-item:hover{background:#3b7bff1a}.odon-ctx-item.danger{color:#b83a3a}.odon-ctx-item.danger:hover{background:#d945451f}.odon-ctx-divider{background:var(--line);height:1px;margin:2px 0}.dark .odon-zoom-overlay{background:#0009}.dark .odon-zoom-popover{background:var(--panel);box-shadow:0 20px 60px #00000080}.dark .odon-zoom-close{background:#ffffff0f}.dark .odon-zoom-close:hover{color:#f87171;background:#f8717126}.dark .odon-zoom-btn{background:#60a5fa1a}.dark .odon-zoom-btn:hover{background:#60a5fa33}.dark .odon-zoom-btn.active{background:#34d3992e;border-color:#34d39966}.dark .odon-zoom-btn.danger{color:#f87171;background:#f871711a;border-color:#f8717140}.dark .odon-ctx-menu{background:var(--panel);box-shadow:0 12px 40px #00000080}.dark .odon-ctx-item{background:#ffffff0a}.dark .odon-ctx-item:hover{background:#60a5fa1f}.dark .odon-ctx-item.danger{color:#f87171}.tooth-grid.odon-pinch-active{touch-action:none;transform-origin:50%;transition:transform 50ms}@media (pointer:coarse){.tooth-tile{min-height:56px}.tooth-tile .tooth-svg{height:80px}.tooth-tile.occl-view .tooth-svg{height:60px}.tooth-label-cell{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.chart-actions .btn-icon{min-width:44px;min-height:44px}}.odon-arch-toggle{border-bottom:1px solid var(--line);justify-content:center;gap:8px;padding:8px 10px;display:none}.odon-arch-toggle .odon-arch-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:center;background:#0000000a;border-radius:12px;flex:1;padding:8px 20px;font-size:13px;font-weight:700}.odon-arch-toggle .odon-arch-btn.active{background:#3b7bff2e;border-color:#3b7bff73}.dark .odon-arch-toggle .odon-arch-btn{background:#ffffff0f}.dark .odon-arch-toggle .odon-arch-btn.active{background:#60a5fa33;border-color:#60a5fa73}@media (width<=600px){.odon-arch-toggle{display:flex}.tooth-grid.odon-arch-upper .lower-row,.tooth-grid.odon-arch-upper .lower-row+.tooth-label-row,.tooth-grid.odon-arch-lower .upper-row,.tooth-grid.odon-arch-lower .tooth-label-row:first-child{display:none!important}}.odon-export-overlay{z-index:130;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c288c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.odon-export-card{background:var(--panel);text-align:center;border-radius:18px;min-width:240px;padding:28px 40px;box-shadow:0 20px 60px #1e2a3a40}.odon-export-title{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:600}.odon-export-pct{color:var(--text);font-size:40px;font-weight:800;line-height:1}.odon-export-phase{color:var(--muted);margin-top:8px;font-size:12px}.odon-tour-backdrop{z-index:140;background:#141c2873;position:fixed;inset:0}.odon-tour-highlight{z-index:141;border:3px solid var(--accent,#3b7bff);pointer-events:none;border-radius:12px;transition:all .15s;position:fixed;box-shadow:0 0 0 9999px #141c2873}.odon-tour-card{z-index:142;background:var(--panel);border-radius:16px;width:300px;padding:18px 20px;position:fixed;box-shadow:0 16px 48px #1e2a3a40}.odon-tour-card-center{top:50%;left:50%;transform:translate(-50%,-50%)}.odon-tour-counter{color:var(--muted);margin-bottom:6px;font-size:11px}.odon-tour-title{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:700}.odon-tour-text{color:var(--muted);margin-bottom:14px;font-size:13px}.odon-tour-actions{justify-content:flex-end;gap:8px;display:flex}.odon-tour-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#0000000a;border-radius:10px;padding:6px 12px;font-weight:600}.odon-tour-btn:disabled{opacity:.4;cursor:default}.odon-tour-skip{background:0 0;margin-right:auto}.odon-tour-next{background:#3b7bff2e;border-color:#3b7bff73}.caries-deep path,.caries-deep circle,.caries-deep ellipse{stroke:#b3261e;stroke-width:.5px}.settings-menu{min-width:200px}.settings-group-label{color:var(--muted);padding:4px 8px 2px;font-size:11px;font-weight:700}.settings-sep{background:var(--line);height:1px;margin:6px 4px}.surf-depth.icdas{color:#fff;background:#b3261e;border-radius:50%;flex-direction:row;justify-content:center;align-items:center;gap:0;min-width:15px;height:15px;padding:0;font-size:10px;font-weight:800}.surf-depth.icdas[data-depth=surface]{background:#e6a23c}.surf-depth.icdas[data-depth=dentin]{background:#d9663d}.surf-depth.icdas[data-depth=deep]{background:#b3261e}.surf-depth.icdas i{display:none}.chart-column{flex-direction:column;grid-column:1;gap:14px;min-width:0;display:flex}.dental-chart-column{flex-direction:column;grid-column:1;min-width:0;display:flex}.perio-inline-panel{min-height:480px}.tooth-info{margin-top:0}.tooth-info-overview{margin:0 0 10px;font-weight:600}.tooth-info-list{color:var(--muted);margin:0 0 6px;font-size:13px}.tooth-info-line{margin:6px 0 0;font-size:13px;line-height:1.5}.tooth-info-heading{font-weight:700}.tooth-info-empty{color:var(--muted);font-style:italic}.tooth-info-table-wrap{margin:0 0 8px;overflow-x:auto}.tooth-info-table{border-collapse:collapse;width:100%;color:var(--text);font-size:12px;line-height:1.4}.tooth-info-table th,.tooth-info-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:3px 6px}.tooth-info-table thead th{color:var(--text);white-space:nowrap;background:#3b7bff1f;font-size:11px;font-weight:700}.tooth-info-table tbody th{color:var(--text);white-space:nowrap;background:#3b7bff14;font-weight:700}.tooth-info-table tbody tr:nth-child(2n) td{background:#7f7f7f14}.tooth-cell{white-space:nowrap}.tooth-cell-content{color:var(--accent);font-weight:700}.tooth-cell-problem{color:#c62f2f;font-style:italic;font-weight:700}.dark .tooth-cell-problem{color:#ff8080}.tooth-cell-empty{color:var(--muted)}.tooth-info-table-legend{color:var(--muted);margin:4px 0 0;font-size:11px;font-style:italic;line-height:1.4}.tooth-info-notes{margin:6px 0 0;font-size:13px;line-height:1.5}.tooth-info-note-item{margin:2px 0 0 12px}.planned-changes{background:#3b7bff14;border:1px solid #3b7bff59;border-radius:12px;margin-top:10px;padding:8px 10px}.planned-changes .tooth-info-heading{margin-bottom:4px}.planned-changes-item{margin:4px 0 0;font-size:13px;line-height:1.5}.dark .planned-changes{background:#60a5fa1f;border-color:#60a5fa66}.odon-settings-backdrop{z-index:150;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c288c;justify-content:center;align-items:center;padding:16px;animation:.12s odon-fade-in;display:flex;position:fixed;inset:0}.odon-settings-modal{background:var(--panel,#fff);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:min(640px,96vw);max-height:min(84vh,720px);animation:.12s odon-ctx-pop;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #141c284d}.odon-settings-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.odon-settings-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.odon-settings-close{border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#0000000a;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.odon-settings-close:hover{background:#00000014}.odon-settings-close:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff59}.odon-settings-body{flex:1;min-height:0;display:flex}.odon-settings-tabs{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:2px;width:168px;padding:12px 10px;display:flex;overflow-y:auto}.odon-settings-tab{text-align:start;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.odon-settings-tab:hover{color:var(--text);background:#0000000a}.odon-settings-tab.is-active{color:var(--text);background:#3b7bff24;border-color:#3b7bff59}.odon-settings-tab.is-disabled{opacity:.45;cursor:not-allowed}.odon-settings-tab.is-disabled:hover{color:var(--muted);background:0 0}.odon-settings-tab:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff4d}.odon-settings-panel{flex-direction:column;flex:1;gap:14px;min-width:0;padding:16px 18px;display:flex;overflow-y:auto}.odon-settings-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:4px 0 -2px;font-size:11px;font-weight:700}.odon-settings-group-title:first-child{margin-top:0}.odon-settings-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.odon-settings-row-disabled{opacity:.6}.odon-settings-row-text{flex:1;min-width:0}.odon-settings-row-label{color:var(--text);font-size:13px;font-weight:700}.odon-settings-row-desc{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.odon-settings-row-control{flex-shrink:0}.odon-settings-badge{color:var(--accent,#3b7bff);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;background:#3b7bff24;border-radius:999px;margin-inline-start:6px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.odon-settings-select{border:1px solid var(--line);background:var(--panel,#fff);min-width:150px;color:var(--text);border-radius:10px;padding:6px 10px;font-family:inherit;font-size:13px}.odon-settings-select:focus-visible{border-color:#3b7bff80;outline:none;box-shadow:0 0 0 3px #3b7bff4d}.odon-settings-select:disabled{opacity:.5;cursor:not-allowed}.odon-settings-note{color:var(--text);background:#3b7bff1a;border-radius:10px;margin:0 0 10px;padding:8px 12px;font-size:12px;line-height:1.45}.odon-settings-input{border:1px solid var(--line);background:var(--panel,#fff);min-width:150px;color:var(--text);border-radius:10px;padding:6px 10px;font-family:inherit;font-size:13px}.odon-settings-input[type=color]{cursor:pointer;width:52px;min-width:52px;height:32px;padding:2px}.odon-settings-input:disabled{opacity:.5;cursor:not-allowed}.odon-settings-input:focus-visible{border-color:#3b7bff80;outline:none;box-shadow:0 0 0 3px #3b7bff4d}.odon-settings-textarea{resize:vertical;border:1px solid var(--line);background:var(--panel,#fff);width:240px;min-width:240px;max-width:100%;color:var(--text);border-radius:10px;padding:6px 10px;font-family:inherit;font-size:12px;line-height:1.4}.odon-settings-textarea:disabled{opacity:.5;cursor:not-allowed}.odon-settings-textarea:focus-visible{border-color:#3b7bff80;outline:none;box-shadow:0 0 0 3px #3b7bff4d}.odon-settings-switch{cursor:pointer;align-items:center;width:42px;height:24px;display:inline-flex;position:relative}.odon-settings-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.odon-settings-switch-track{background:#78829159;border-radius:999px;transition:background .15s;position:absolute;inset:0}.odon-settings-switch-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.odon-settings-switch input:checked+.odon-settings-switch-track{background:var(--accent,#3b7bff)}.odon-settings-switch input:checked+.odon-settings-switch-track:after{transform:translate(18px)}.odon-settings-switch input:focus-visible+.odon-settings-switch-track{box-shadow:0 0 0 3px #3b7bff4d}.dark .odon-settings-close{background:#ffffff0f}.dark .odon-settings-close:hover{background:#ffffff1f}.dark .odon-settings-tab:hover{background:#ffffff0f}.dark .odon-settings-select{background:#1e293b}@media (width<=520px){.odon-settings-body{flex-direction:column}.odon-settings-tabs{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;width:auto;overflow-x:auto}}.odon-confirm-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c288c;justify-content:center;align-items:center;padding:16px;animation:.12s odon-fade-in;display:flex;position:fixed;inset:0}.odon-confirm-modal{background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:18px;width:min(420px,96vw);padding:22px 22px 18px;animation:.12s odon-ctx-pop;display:flex;position:relative;box-shadow:0 24px 64px #141c284d}.odon-confirm-message{color:var(--text);margin:0;font-size:14px;line-height:1.5}.odon-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.odon-confirm-btn{border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600}.odon-confirm-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff59}.odon-confirm-cancel{color:var(--text);background:#0000000a}.odon-confirm-cancel:hover{background:#00000014}.odon-confirm-accept{background:var(--brand,#3b7bff);color:#fff;border-color:#0000}.odon-confirm-accept:hover{filter:brightness(1.05)}.dark .odon-confirm-cancel{background:#ffffff0f}.dark .odon-confirm-cancel:hover{background:#ffffff1f}.odon-credits-modal{background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;width:min(520px,96vw);max-height:88vh;padding:22px 22px 20px;animation:.12s odon-ctx-pop;display:flex;position:relative;box-shadow:0 24px 64px #141c284d}.odon-credits-title{color:var(--text);margin:0;padding-right:40px;font-size:18px;font-weight:700}.odon-credits-body{flex-direction:column;gap:16px;padding-right:2px;display:flex;overflow-y:auto}.odon-credits-intro{color:var(--text);margin:0;font-size:14px;line-height:1.55}.odon-credits-section{flex-direction:column;gap:8px;display:flex}.odon-credits-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b7280);margin:0;font-size:12px;font-weight:700}.odon-credits-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.odon-credits-list li{color:var(--text);font-size:14px;line-height:1.45}.odon-credits-desc{color:var(--muted,#6b7280);display:block}.odon-credits-libs{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.odon-credits-libs li{display:inline-flex}.odon-credits-link{color:var(--brand,#3b7bff);font-weight:600;text-decoration:none}.odon-credits-link:hover{text-decoration:underline}.odon-credits-welcome{color:var(--muted,#6b7280);margin:0;font-size:13px;line-height:1.5}.odon-credits-star{border:1px solid var(--line);min-height:40px;color:var(--text);background:0 0;border-radius:8px;justify-content:center;align-self:flex-start;align-items:center;gap:6px;margin-top:4px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.odon-credits-star svg{opacity:.75}.odon-credits-star:hover{border-color:var(--text);background:#0000000d}.dark .odon-credits-star:hover{background:#ffffff14}.odon-credits-star:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff59}.perio-overlay{z-index:160;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141c288c;justify-content:center;align-items:center;padding:16px;animation:.12s odon-fade-in;display:flex;position:fixed;inset:0}.perio-overlay-panel{background:var(--panel,#fff);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:min(960px,96vw);max-height:min(90vh,800px);animation:.12s odon-ctx-pop;display:flex;overflow:hidden;box-shadow:0 24px 64px #141c284d}.perio-overlay-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.perio-overlay-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.perio-overlay-close{border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#0000000a;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.perio-overlay-close:hover{background:#00000014}.perio-overlay-close:focus-visible{outline:none;box-shadow:0 0 0 3px #3b7bff59}.perio-overlay-body{flex-direction:column;flex:1;gap:10px;min-height:240px;padding:16px 18px;display:flex;overflow-y:auto}.dark .perio-overlay-close{background:#ffffff0f}.dark .perio-overlay-close:hover{background:#ffffff1f}.perio-fullgrid-summary{border:1px solid var(--line);z-index:3;background:#00000005;border-radius:10px;flex-wrap:wrap;flex:none;gap:14px;padding:10px 12px;display:flex;position:sticky;top:0}.dark .perio-fullgrid-summary{background:#ffffff0a}.perio-fullgrid-summary-item{align-items:baseline;gap:6px;font-size:12px;display:flex}.perio-fullgrid-summary-label{color:var(--muted)}.perio-fullgrid-summary-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.perio-summary-card,.case-meta-panel{border:1px solid var(--line);background:#ffffffe6;border-radius:16px}.dark .perio-summary-card,.dark .case-meta-panel{border-color:var(--line);background:#1e293bcc}.perio-summary-card{padding:12px}.perio-summary-card-title{color:var(--text);margin-bottom:10px;font-weight:800}.perio-summary-card .perio-fullgrid-summary{background:0 0;border:none;grid-template-columns:repeat(2,1fr);gap:8px 16px;padding:0;display:grid;position:static}.case-meta-panel{overflow:hidden}.case-meta-panel-title{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:12px;font-weight:800;list-style:none;display:flex}.case-meta-panel-title::-webkit-details-marker{display:none}.case-meta-panel-title:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex-shrink:0;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.case-meta-panel[open] .case-meta-panel-title:after{transform:rotate(45deg)}.case-meta-panel-title:hover{background:#00000008}.dark .case-meta-panel-title:hover{background:#ffffff0a}.case-meta-panel-title:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #3b7bff4d}.case-meta-panel-body{border-top:1px solid var(--line);flex-direction:column;padding:2px 12px 14px;display:flex}.case-meta-row{-moz-column-gap:12px;grid-template-columns:max-content 1fr;align-items:center;column-gap:12px;padding-top:10px;display:grid}.case-meta-row:first-child{padding-top:12px}.case-meta-row-label{color:var(--text);font-size:13px;font-weight:600}.case-meta-row-disabled{opacity:.55}.case-meta-row-disabled .case-meta-row-label{color:var(--muted)}.case-meta-input,.case-meta-select{border:1px solid var(--line);background:var(--panel,#fff);color:var(--text);border-radius:10px;justify-self:start;padding:6px 10px;font-family:inherit;font-size:13px}.case-meta-input:focus-visible,.case-meta-select:focus-visible{border-color:#3b7bff80;outline:none;box-shadow:0 0 0 3px #3b7bff4d}.case-meta-input-narrow{width:72px}.dark .case-meta-input,.dark .case-meta-select{background:#1e293b}.case-meta-panel-subheading{border-top:1px solid var(--line);color:var(--text);margin-top:10px;padding-top:12px;font-size:13px;font-weight:800}.perio-class-row{-moz-column-gap:12px;grid-template-columns:max-content 1fr;align-items:center;gap:6px 12px;padding-top:10px;display:grid}.perio-class-row-label{color:var(--text);font-size:13px;font-weight:600}.perio-class-derived{color:var(--muted);justify-self:start;font-size:12px;font-style:italic}.perio-class-row .case-meta-select{grid-column:1/-1;width:100%;min-width:0}@media (width<=600px){.perio-summary-card .perio-fullgrid-summary{grid-template-columns:1fr}.case-meta-row,.perio-class-row{grid-template-columns:1fr;row-gap:6px}.case-meta-input,.case-meta-select{justify-self:stretch;width:100%}.case-meta-input-narrow{width:100%}}.perio-tooth-arch{width:100%;height:auto;display:block}.perio-curve-cej{stroke:#e11d48;stroke-width:.8px;opacity:.85}.perio-curve-band{fill:#3b82f6;fill-opacity:.18;stroke:none}.perio-curve-margin{fill:none;stroke:#f472b6;stroke-width:.9px;stroke-linejoin:round;stroke-linecap:round}.perio-curve-pocket{fill:none;stroke:#1d4ed8;stroke-width:1.1px;stroke-linejoin:round;stroke-linecap:round}.dark .perio-curve-band{fill-opacity:.24}.dark .perio-curve-pocket{stroke:#60a5fa}.dark .perio-curve-margin{stroke:#f9a8d4}.perio-mm-line{stroke:#94a3b8;fill:none;vector-effect:non-scaling-stroke}.perio-mm-line-minor{stroke-width:.35px;opacity:.28}.perio-mm-line-major{stroke-width:.6px;opacity:.5}.perio-mm-label{fill:#64748b;opacity:.7;dominant-baseline:middle;pointer-events:none;font-size:5px;font-weight:600}.dark .perio-mm-line{stroke:#64748b}.dark .perio-mm-line-minor{opacity:.35}.dark .perio-mm-line-major{opacity:.55}.dark .perio-mm-label{fill:#94a3b8;opacity:.8}.perio-chart-header{-moz-column-gap:12px;flex-wrap:wrap;gap:10px 12px}.perio-chart-header .chart-title{font-weight:800}.perio-overlay-switch{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.perio-overlay-switch-btn{border:1px solid var(--line);background:var(--card,#fff);color:var(--text);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4}.perio-overlay-switch-btn:hover{border-color:var(--accent,#3b82f6)}.perio-overlay-switch-btn.is-active{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:#fff}.perio-overlay-switch-btn:focus-visible{outline:2px solid var(--accent,#3b82f6);outline-offset:1px}.perio-overlay-readout{color:var(--text);font-variant-numeric:tabular-nums;margin-inline-start:6px;font-size:12px;font-weight:700}.dark .perio-overlay-switch-btn{background:#ffffff0a}.dark .perio-overlay-switch-btn.is-active{color:#0b1220}.perio-overlay-mark{vector-effect:non-scaling-stroke}.perio-overlay-bop{fill:#e11d48;opacity:.9;stroke:#fff;stroke-width:.4px}.perio-overlay-plaque{fill:#f59e0b;opacity:.85;stroke:#fff;stroke-width:.4px}.perio-overlay-pd5{fill:#fb923c;fill-opacity:.55;stroke:none}.perio-overlay-pd6{fill:#dc2626;fill-opacity:.55;stroke:none}.dark .perio-overlay-bop{fill:#fb7185;stroke:#0b1220}.dark .perio-overlay-plaque{fill:#fbbf24;stroke:#0b1220}.dark .perio-overlay-pd5{fill:#fdba74;fill-opacity:.5}.dark .perio-overlay-pd6{fill:#f87171;fill-opacity:.5}.perio-overlay-pd .perio-overlay-heat-shallow,.perio-overlay-cal .perio-overlay-heat-shallow{fill:#facc15;fill-opacity:.55;stroke:none}.perio-overlay-pd .perio-overlay-heat-moderate,.perio-overlay-cal .perio-overlay-heat-moderate{fill:#fb923c;fill-opacity:.6;stroke:none}.perio-overlay-pd .perio-overlay-heat-deep,.perio-overlay-cal .perio-overlay-heat-deep{fill:#dc2626;fill-opacity:.65;stroke:none}.perio-overlay-gr .perio-overlay-heat-shallow{fill:#7dd3fc;fill-opacity:.6;stroke:none}.perio-overlay-gr .perio-overlay-heat-moderate{fill:#38bdf8;fill-opacity:.65;stroke:none}.perio-overlay-gr .perio-overlay-heat-deep{fill:#0369a1;fill-opacity:.7;stroke:none}.dark .perio-overlay-pd .perio-overlay-heat-shallow,.dark .perio-overlay-cal .perio-overlay-heat-shallow{fill:#fde047;fill-opacity:.5}.dark .perio-overlay-pd .perio-overlay-heat-moderate,.dark .perio-overlay-cal .perio-overlay-heat-moderate{fill:#fdba74;fill-opacity:.55}.dark .perio-overlay-pd .perio-overlay-heat-deep,.dark .perio-overlay-cal .perio-overlay-heat-deep{fill:#f87171;fill-opacity:.6}.dark .perio-overlay-gr .perio-overlay-heat-shallow{fill:#93c5fd;fill-opacity:.55}.dark .perio-overlay-gr .perio-overlay-heat-moderate{fill:#60a5fa;fill-opacity:.6}.dark .perio-overlay-gr .perio-overlay-heat-deep{fill:#38bdf8;fill-opacity:.75}.perio-fullgrid-scroll{border:1px solid var(--line);border-radius:10px;flex:auto;overflow:auto}.perio-fullgrid-arch{align-items:stretch;display:grid}.perio-fullgrid-arch+.perio-fullgrid-arch{border-top:2px solid var(--line)}.perio-fullgrid-row-label{z-index:2;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line);border-right:1px solid var(--line);align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:flex;position:sticky;left:0}.perio-fullgrid-row-label-text{white-space:normal;overflow-wrap:break-word;min-width:0;line-height:1.25}.perio-info-btn{border:1px solid var(--muted,#7b8794);width:14px;height:14px;color:var(--muted,#7b8794);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:9px;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.perio-info-btn:hover{border-color:var(--accent,#3b7bff);color:var(--accent,#3b7bff)}.perio-info-btn:focus-visible{border-color:var(--accent,#3b7bff);color:var(--accent,#3b7bff);outline:none;box-shadow:0 0 0 2px #3b7bff59}.perio-info-popover{z-index:165;background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:280px;padding:10px 12px;position:fixed;box-shadow:0 12px 24px #1e2a3a2e}.perio-info-popover-text{color:var(--text);margin:0;font-size:12px;line-height:1.5}.perio-fullgrid-header-cell{z-index:1;color:var(--text);background:var(--panel);border-bottom:1px solid var(--line);justify-content:center;align-items:center;padding:6px 4px;font-size:12px;font-weight:700;display:flex;position:sticky;top:0}.perio-fullgrid-arch .perio-fullgrid-row-label:first-child,.perio-fullgrid-header-cell+.perio-fullgrid-header-cell:first-of-type{z-index:4}.perio-fullgrid-graphic-cell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);line-height:0;display:block;overflow:hidden}.perio-fullgrid-graphic-cell .perio-tooth-arch{display:block}.perio-fullgrid-band-label{letter-spacing:.01em;color:var(--text);background:var(--panel);border-bottom:1px solid var(--line);border-left:1px solid var(--line);justify-content:center;align-items:center;gap:8px;padding:4px 10px;font-size:13px;font-weight:700;display:flex}.perio-fullgrid-band-label-buccal,.perio-fullgrid-band-label-lingual{white-space:nowrap}.perio-fullgrid-cell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);justify-content:center;align-items:center;padding:3px 1px;display:flex}.perio-fullgrid-sitegroup{gap:1px;width:100%;display:flex}.perio-fullgrid-input{box-sizing:border-box;text-align:center;border:1px solid var(--line);background:var(--card);width:100%;min-width:0;color:var(--text);-moz-appearance:textfield;border-radius:4px;flex:1 1 0;padding:3px 0;font-size:10px}.perio-fullgrid-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.perio-fullgrid-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.perio-fullgrid-input:disabled,.perio-fullgrid-mobility-select:disabled{opacity:.45;cursor:not-allowed}.perio-fullgrid-cal{box-sizing:border-box;font-variant-numeric:tabular-nums;width:100%;min-width:0;color:var(--muted);flex:1 1 0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.perio-fullgrid-kg{flex:none;width:30px}.perio-fullgrid-bop{width:14px;height:14px;margin:auto}.perio-fullgrid-cell-mobility{padding:3px 6px}.perio-fullgrid-mobility-select{border:1px solid var(--line);background:var(--card);width:100%;color:var(--text);border-radius:4px;padding:3px 4px;font-size:11px}.perio-fullgrid-furc{text-align:center;cursor:pointer;border:1px solid var(--line);background:var(--card);width:20px;height:20px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:4px;padding:0;font-size:10px;font-weight:700;line-height:1}.perio-fullgrid-furc[data-grade]:not([data-grade="0"]){border-color:var(--accent,#c0392b);background:var(--accent,#c0392b);color:#fff}.perio-fullgrid-furc:disabled{opacity:.45;cursor:not-allowed}.perio-fullgrid-plaque-quad{grid-template-rows:repeat(3,16px);grid-template-columns:repeat(2,16px);grid-template-areas:"buc buc""mes dis""lin lin";gap:2px;display:grid}.perio-fullgrid-plaque-quad>button{width:16px;height:16px}.perio-fullgrid-plaque-buccal,.perio-fullgrid-plaque-lingual,.perio-fullgrid-pi-buccal,.perio-fullgrid-pi-lingual,.perio-fullgrid-gi-buccal,.perio-fullgrid-gi-lingual,.perio-fullgrid-mpi-buccal,.perio-fullgrid-mpi-lingual,.perio-fullgrid-mbi-buccal,.perio-fullgrid-mbi-lingual{justify-self:center}.perio-fullgrid-plaque{cursor:pointer;border:1px solid var(--line);background:var(--card);border-radius:3px;width:16px;height:16px;padding:0;font-size:0}.perio-fullgrid-plaque[data-present="1"]{background:var(--accent,#2d6cdf);border-color:var(--accent,#2d6cdf)}.perio-fullgrid-plaque:disabled{opacity:.45;cursor:not-allowed}.dark .perio-fullgrid-furc,.dark .perio-fullgrid-plaque{background:#ffffff0a}.dark .perio-fullgrid-furc[data-grade]:not([data-grade="0"]){background:var(--accent,#e05252);border-color:var(--accent,#e05252)}.dark .perio-fullgrid-plaque[data-present="1"]{background:var(--accent,#4d8bff);border-color:var(--accent,#4d8bff)}.perio-fullgrid-plaque,.perio-fullgrid-pi,.perio-fullgrid-gi,.perio-fullgrid-mpi,.perio-fullgrid-mbi{isolation:isolate;position:relative}.perio-fullgrid-plaque[data-surface-letter]:before,.perio-fullgrid-pi[data-surface-letter]:before,.perio-fullgrid-gi[data-surface-letter]:before,.perio-fullgrid-mpi[data-surface-letter]:before,.perio-fullgrid-mbi[data-surface-letter]:before{content:attr(data-surface-letter);z-index:-1;color:#64748b6b;pointer-events:none;justify-content:center;align-items:center;font-size:8px;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.perio-fullgrid-plaque[data-present="1"][data-surface-letter]:before{color:#ffffffb3}.dark .perio-fullgrid-plaque[data-surface-letter]:before,.dark .perio-fullgrid-pi[data-surface-letter]:before,.dark .perio-fullgrid-gi[data-surface-letter]:before,.dark .perio-fullgrid-mpi[data-surface-letter]:before,.dark .perio-fullgrid-mbi[data-surface-letter]:before{color:#94a3b880}.perio-fullgrid-cej,.perio-fullgrid-rootconcavity,.perio-fullgrid-gt,.perio-fullgrid-miller{text-align:center;cursor:pointer;border:1px solid var(--line);background:var(--card);width:30px;height:24px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:4px;padding:0;font-size:9px;font-weight:700;line-height:1}.perio-fullgrid-cej[data-value]:not([data-value=none]),.perio-fullgrid-rootconcavity[data-value]:not([data-value=none]),.perio-fullgrid-gt[data-value]:not([data-value=unknown]),.perio-fullgrid-miller[data-value]:not([data-value=none]){border-color:var(--accent,#c0392b);background:var(--accent,#c0392b);color:#fff}.perio-fullgrid-cej:disabled,.perio-fullgrid-rootconcavity:disabled,.perio-fullgrid-gt:disabled,.perio-fullgrid-miller:disabled{opacity:.45;cursor:not-allowed}.dark .perio-fullgrid-cej,.dark .perio-fullgrid-rootconcavity,.dark .perio-fullgrid-gt,.dark .perio-fullgrid-miller{background:#ffffff0a}.dark .perio-fullgrid-cej[data-value]:not([data-value=none]),.dark .perio-fullgrid-rootconcavity[data-value]:not([data-value=none]),.dark .perio-fullgrid-gt[data-value]:not([data-value=unknown]),.dark .perio-fullgrid-miller[data-value]:not([data-value=none]){background:var(--accent,#e05252);border-color:var(--accent,#e05252)}@media (width<=1100px){.perio-fullgrid-bop{width:12px;height:12px}.perio-fullgrid-plaque-quad{grid-template-rows:repeat(3,13px);grid-template-columns:repeat(2,13px);gap:1px}.perio-fullgrid-plaque-quad>button,.perio-fullgrid-plaque{width:13px;height:13px}.perio-fullgrid-furc{width:17px;height:17px}.perio-fullgrid-cej,.perio-fullgrid-rootconcavity,.perio-fullgrid-gt,.perio-fullgrid-miller{width:25px;height:21px}.perio-fullgrid-kg{width:24px}}@media (width<=600px){.perio-fullgrid-bop{width:11px;height:11px}.perio-fullgrid-plaque-quad{grid-template-rows:repeat(3,10px);grid-template-columns:repeat(2,10px);gap:1px}.perio-fullgrid-plaque-quad>button,.perio-fullgrid-plaque{width:10px;height:10px}.perio-fullgrid-furc{width:15px;height:15px;font-size:9px}.perio-fullgrid-cej,.perio-fullgrid-rootconcavity,.perio-fullgrid-gt,.perio-fullgrid-miller{width:20px;height:17px;font-size:8px}.perio-fullgrid-kg{width:20px}.perio-fullgrid-mobility-select{padding:2px 3px;font-size:10px}}@media (width<=520px){.perio-fullgrid-plaque-quad{grid-template-rows:repeat(3,8px);grid-template-columns:repeat(2,8px)}.perio-fullgrid-plaque-quad>button,.perio-fullgrid-plaque{width:8px;height:8px}.perio-fullgrid-cej,.perio-fullgrid-rootconcavity,.perio-fullgrid-gt,.perio-fullgrid-miller{width:17px;height:15px}.perio-fullgrid-kg{width:16px}}.dental-chart .perio-launch-bar,.dental-chart .topbar{display:none}.dental-chart{flex-direction:column;width:100%;min-width:0;display:flex}.dental-chart-save-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-self:flex-end;align-items:center;margin-top:16px;padding:10px 16px;font-family:inherit;font-size:11px;font-weight:700;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.dental-chart-save-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 10px #0f172a1f}.dental-chart-save-button:active:not(:disabled){transform:translateY(0)}.dental-chart-save-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.dental-chart{width:100%}.dental-chart-save-button{align-self:stretch;width:100%;margin-top:12px}.dental-chart .layout{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%}}.dental-chart-powered-by{border:1px solid #1f3a6d2e;border-left:4px solid var(--primary);width:fit-content;box-shadow:var(--shadow-sm);box-sizing:border-box;background:#1f3a6d14;border-radius:10px;align-self:flex-start;align-items:center;gap:8px;margin:0 0 16px;padding:10px 14px;display:flex}.dental-chart-powered-label{letter-spacing:.8px;color:var(--primary);white-space:nowrap;font-size:10px;font-weight:800}.dental-chart-powered-name{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:700}.dental-chart-powered-author{border-left:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;padding-left:8px;font-size:12px;font-weight:500}.consultation-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;overflow:visible;box-shadow:0 2px 8px #0f172a0a}.consultation-table{border-collapse:collapse;width:100%;font-family:inherit}.consultation-table thead{background:#f8fafc}.consultation-table th{text-align:left;color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:16px 20px;font-size:12px;font-weight:600}.consultation-table td{color:var(--text-primary);white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:18px 20px;font-size:13px}.consultation-table tbody tr:last-child td{border-bottom:none}.consultation-table tbody tr{transition:background .2s}.consultation-table tbody tr:hover{background:#fafcff}.consultation-table-actions{white-space:nowrap;align-items:center;gap:5px;display:flex}.consultation-table-action-divider{background:#e1e6ed;width:1px;height:20px;margin:0 4px}.consultation-table-actions button{cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:inline-flex}.consultation-table-action-view{color:var(--text-primary)}.consultation-table-action-view:hover{background:#f1f5f9}.consultation-table-action-edit{color:var(--text-primary)}.consultation-table-action-edit:hover{background:#f1f5f9}.consultation-status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:76px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.consultation-status-badge.draft{color:#92400e;background:#fef3c7}.consultation-status-badge.completed{color:#166534;background:#dcfce7}.consultation-table-action-complete{color:var(--text-primary)}.consultation-table-action-complete:hover{background:#f1f5f9}.consultation-treatment-status{color:#166534;white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.consultation-treatment-status:before{content:"";background:#22c55e;border-radius:50%;width:7px;height:7px}.consultation-table-header{border-bottom:1px solid #e5e7eb;padding:18px 20px}.consultation-table-header h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.consultation-table-header span{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.consultation-pagination{justify-content:flex-end;align-items:center;gap:12px;padding:12px 20px;display:flex}.consultation-pagination-button{border:1px solid var(--border);width:58px;height:40px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;font-family:inherit;font-size:16px;transition:background .2s,border-color .2s;display:inline-flex}.consultation-pagination-button:hover:not(:disabled){background:#f8fafc}.consultation-pagination-button:disabled{opacity:.45;cursor:not-allowed}.consultation-pagination-info{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.consultation-row-highlighted{background:#f1f6fc}.consultation-row-highlighted td{border-top:1px solid #d7e3f0;border-bottom:1px solid #d7e3f0}.consultation-row-highlighted td:first-child{border-left:3px solid var(--primary)}.consultation-row-highlighted td:last-child{border-right:1px solid #d7e3f0}.consultation-shortcut-wrapper{align-items:center;display:inline-flex;position:relative}.consultation-shortcut-button{color:#667085;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.consultation-shortcut-button:hover{color:var(--primary);background:#f4f6f9;border-color:#e1e6ed}.consultation-shortcut-menu{z-index:1000;box-sizing:border-box;background:#fff;border:1px solid #e1e6ed;border-radius:14px;grid-template-columns:1fr 1fr;gap:3px;width:320px;padding:13px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 18px 40px #1f3a6d21,0 4px 10px #1018280d}.consultation-shortcut-menu-title{color:#98a2b3;letter-spacing:1px;grid-column:1/-1;margin:1px 4px 8px;font-size:8px;font-weight:700}.consultation-shortcut-menu button{color:#344054;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:9px;width:100%;min-height:42px;padding:8px 9px;font-family:inherit;font-size:10px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.consultation-shortcut-menu button:hover{color:var(--primary);background:#f6f8fb;border-color:#e7ebf0}.consultation-shortcut-menu button span{background:#f3f6fa;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;font-size:14px;line-height:1;display:inline-flex}.consultation-shortcut-menu:after{content:"";background:#fff;border-bottom:1px solid #e1e6ed;border-right:1px solid #e1e6ed;width:9px;height:9px;position:absolute;bottom:-5px;right:17px;transform:rotate(45deg)}.text-area{flex-direction:column;gap:7px;display:flex}.text-area label{color:var(--text-primary);font-size:13px;font-weight:600}.text-area textarea{border:1px solid var(--border);width:100%;min-height:100px;color:var(--text-primary);resize:vertical;background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.text-area textarea::placeholder{color:var(--text-secondary)}.text-area textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4975c61a}.text-area textarea:disabled{opacity:.6;cursor:not-allowed}.consultation-form{flex-direction:column;display:flex}.consultation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;display:grid}.consultation-form-full{grid-column:1/-1}.consultation-form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:10px;margin-top:28px;padding-top:20px;display:flex}.consultation-appointment-details{background:#f8faff;border:1px solid #dbe7f7;border-radius:9px;padding:15px 16px}.consultation-appointment-details-header{border-bottom:1px solid #e3ebf5;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.consultation-appointment-details-header span{letter-spacing:.4px;color:var(--text-secondary);font-size:9px;font-weight:700}.consultation-appointment-details-header strong{color:var(--primary);font-size:11px;font-weight:700}.consultation-appointment-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px;display:grid}.consultation-appointment-details-grid div{flex-direction:column;min-width:0;display:flex}.consultation-appointment-details-grid span{letter-spacing:.35px;color:var(--text-secondary);font-size:9px;font-weight:700}.consultation-appointment-details-grid strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;font-weight:600;overflow:hidden}@media (width<=650px){.consultation-appointment-details-grid{grid-template-columns:1fr}}.upcoming-clinical-visits{flex-direction:column;gap:48px;display:flex}.upcoming-clinical-period{flex-direction:column;gap:22px;display:flex}.upcoming-clinical-period-header{flex-direction:column;gap:5px;display:flex}.upcoming-clinical-period-header h1{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.upcoming-clinical-period-header h1 span{color:#a5afbd;font-weight:500}.upcoming-clinical-period-header p{color:var(--text-secondary);margin:0;font-size:11px}.upcoming-clinical-timeline-wrapper,.upcoming-clinical-upcoming-wrapper{box-sizing:border-box;background:#fff;border:1px solid #e5eaf0;border-radius:16px;width:100%;padding:28px 32px;box-shadow:0 4px 18px #1f3a6d0a}.upcoming-clinical-upcoming-wrapper{flex-direction:column;gap:30px;display:flex}.upcoming-clinical-date-group{flex-direction:column;gap:18px;display:flex}.upcoming-clinical-date-header{align-items:center;gap:12px;display:flex}.upcoming-clinical-date-header:after{content:"";background:#e8edf3;flex:1;height:1px}.upcoming-clinical-date-header span{letter-spacing:.5px;color:var(--text-primary);white-space:nowrap;font-size:10px;font-weight:700}.upcoming-clinical-timeline{flex-direction:column;width:100%;display:flex}.upcoming-clinical-timeline-item{text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:none;grid-template-columns:90px 28px minmax(0,1fr);width:100%;padding:0;font-family:inherit;display:grid;position:relative}.upcoming-clinical-timeline-item:not(:last-child){padding-bottom:34px}.upcoming-clinical-timeline-time{flex-direction:column;align-items:flex-end;padding-top:1px;padding-right:18px;display:flex}.upcoming-clinical-timeline-time strong{color:var(--text-primary);white-space:nowrap;font-size:12px;font-weight:700;line-height:1.3}.upcoming-clinical-timeline-time span{color:var(--text-secondary);white-space:nowrap;margin-top:3px;font-size:9px;font-weight:500}.upcoming-clinical-timeline-track{justify-content:center;min-height:100%;display:flex;position:relative}.upcoming-clinical-timeline-dot{z-index:2;background:var(--primary);border:2px solid #fff;border-radius:50%;width:10px;height:10px;margin-top:3px;position:relative;box-shadow:0 0 0 1px #cbd7e5}.upcoming-clinical-timeline-line{background:#d9e1eb;width:1px;position:absolute;top:14px;bottom:-34px}.upcoming-clinical-timeline-content{min-width:0;padding-left:20px}.upcoming-clinical-timeline-top{align-items:center;gap:12px;display:flex}.upcoming-clinical-timeline-type{letter-spacing:.45px;white-space:nowrap;border-radius:7px;align-items:center;padding:5px 10px;font-size:8px;font-weight:700;display:inline-flex}.upcoming-clinical-timeline-type.consultation{color:#1f5f9f;background:#eef5ff;border:1px solid #d4e4f8}.upcoming-clinical-timeline-type.treatment{color:#26745a;background:#edf8f4;border:1px solid #d2eade}.upcoming-clinical-timeline-details{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:40px;max-width:650px;margin-top:15px;display:grid}.upcoming-clinical-timeline-patient,.upcoming-clinical-timeline-dentist{flex-direction:column;min-width:0;display:flex}.upcoming-clinical-timeline-patient span,.upcoming-clinical-timeline-dentist span{letter-spacing:.5px;color:#98a2b3;font-size:8px;font-weight:700}.upcoming-clinical-timeline-patient strong,.upcoming-clinical-timeline-dentist strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:13px;font-weight:700;line-height:1.3;overflow:hidden}.upcoming-clinical-timeline-action{align-items:center;gap:7px;margin-top:14px;display:flex}.upcoming-clinical-timeline-action span:first-child{color:var(--primary);font-size:10px;font-weight:700}.upcoming-clinical-timeline-action span:last-child{color:var(--primary);font-size:14px;font-weight:600;transition:transform .2s}.upcoming-clinical-timeline-item:hover .upcoming-clinical-timeline-action span:last-child{transform:translate(3px)}.upcoming-clinical-timeline-item:hover .upcoming-clinical-timeline-dot{box-shadow:0 0 0 4px #1f3a6d12,0 0 0 1px #cbd7e5}.upcoming-clinical-timeline-item.future{cursor:default}.upcoming-clinical-timeline-item.future .upcoming-clinical-timeline-dot{background:#c5ccd6;box-shadow:0 0 0 1px #dce2e9}.upcoming-clinical-timeline-item.future .upcoming-clinical-timeline-type{color:var(--text-secondary);background:#fafbfc;border-color:#e5e7eb}.upcoming-clinical-timeline-item.future .upcoming-clinical-timeline-action span:first-child{color:var(--text-secondary)}.upcoming-clinical-timeline-item.future .upcoming-clinical-timeline-action span:last-child{display:none}.upcoming-clinical-empty{text-align:center;box-sizing:border-box;background:#fafbfc;border:1px dashed #dfe4ea;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:150px;padding:28px 20px;display:flex}.upcoming-clinical-empty-icon{width:42px;height:42px;color:var(--primary);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.upcoming-clinical-empty h3{color:var(--text-primary);margin:0;font-size:12px;font-weight:700}.upcoming-clinical-empty p{max-width:320px;color:var(--text-secondary);margin:6px 0 0;font-size:10px;line-height:1.5}@media (width<=800px){.upcoming-clinical-timeline-wrapper,.upcoming-clinical-upcoming-wrapper{padding:24px}.upcoming-clinical-timeline-item{grid-template-columns:76px 24px minmax(0,1fr)}.upcoming-clinical-timeline-content{padding-left:16px}.upcoming-clinical-timeline-details{gap:24px}}@media (width<=600px){.upcoming-clinical-visits{gap:38px}.upcoming-clinical-timeline-wrapper,.upcoming-clinical-upcoming-wrapper{border-radius:14px;padding:20px 16px}.upcoming-clinical-period-header h1{font-size:17px}.upcoming-clinical-timeline-item{grid-template-columns:62px 20px minmax(0,1fr)}.upcoming-clinical-timeline-time{padding-right:10px}.upcoming-clinical-timeline-time strong{font-size:10px}.upcoming-clinical-timeline-time span{font-size:8px}.upcoming-clinical-timeline-content{padding-left:13px}.upcoming-clinical-timeline-details{flex-direction:column;gap:9px;margin-top:12px;display:flex}.upcoming-clinical-timeline-patient strong,.upcoming-clinical-timeline-dentist strong{font-size:11px}.upcoming-clinical-date-header span{font-size:9px}}@media (width<=431px){.upcoming-clinical-timeline-wrapper,.upcoming-clinical-upcoming-wrapper{padding:18px 14px}.upcoming-clinical-timeline-item{grid-template-columns:58px 18px minmax(0,1fr)}.upcoming-clinical-timeline-content{padding-left:11px}.upcoming-clinical-timeline-top{gap:8px}.upcoming-clinical-timeline-type{padding:4px 7px;font-size:7px}}.consultation-controls{justify-content:flex-end;align-items:flex-end;margin-bottom:20px;display:flex}.consultation-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.consultation-add-button span{font-size:18px;font-weight:400;line-height:1}.consultation-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 10px #4975c61f}.consultation-filter-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;margin-bottom:20px;padding:20px;box-shadow:0 2px 8px #0f172a0a}.consultation-filter-card h3{color:var(--text-primary);margin:0 0 20px;font-size:14px;font-weight:700}.consultation-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:18px;display:grid}.consultation-filter-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.consultation-clear-filters,.consultation-apply-filters{cursor:pointer;border-radius:8px;height:40px;padding:0 16px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s}.consultation-clear-filters{border:1px solid var(--border);color:var(--text-primary);background:#fff}.consultation-clear-filters:hover{background:#f8fafc}.consultation-apply-filters{border:1px solid var(--primary);background:var(--primary);color:#fff}.consultation-apply-filters:hover{opacity:.9;transform:translateY(-1px)}@media (width<=431px){.consultation-filter-fields{grid-template-columns:1fr;gap:10px}}.consultation-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;margin-bottom:18px;padding:3px;display:inline-flex}.consultation-toggle-button{height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0 13px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s}.consultation-toggle-button:hover{color:var(--text-primary)}.consultation-toggle-button.active{color:var(--primary);background:#fff;box-shadow:0 1px 3px #00000014}.prescription-form{flex-direction:column;gap:18px;width:100%;display:flex}.prescription-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;padding-top:16px;display:flex}.prescriptions-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;display:grid}.prescription-card{box-sizing:border-box;background:#fff;border:1px solid #e1e6ee;border-radius:10px;flex-direction:column;min-height:220px;padding:16px;display:flex}.prescription-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.prescription-card-icon{width:36px;height:36px;color:var(--primary);background:#eef4ff;border-radius:9px;justify-content:center;align-items:center;display:flex}.prescription-card-add-button{width:32px;height:32px;color:var(--primary);cursor:pointer;background:#fff;border:1px solid #dce3ed;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.prescription-card-add-button:hover{border-color:var(--primary);background:#eef4ff;transform:translateY(-1px);box-shadow:0 3px 8px #4975c614}.prescription-card-content{flex:1}.prescription-card-content h3{color:#172033;margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.3}.prescription-card-meta{align-items:center;gap:8px;margin-bottom:16px;display:flex}.prescription-card-date{color:#667085;align-items:center;gap:6px;font-size:12px;display:flex}.prescription-card-date svg{color:var(--primary);flex-shrink:0}.prescription-card-source{color:#416ba8;background:#f1f6ff;border:1px solid #dbe7fa;border-radius:6px;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.prescription-card-notes-section{margin-top:2px}.prescription-card-notes-label{color:#718096;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:10px;font-weight:600;display:block}.prescription-card-notes{color:#667085;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.prescription-card-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.prescription-card-action-button{color:var(--primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:5px;padding:5px 0;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.prescription-card-action-button svg{flex-shrink:0}.prescription-card-action-button:hover{opacity:.8;transform:translateY(-1px)}.prescription-item-form{width:100%}.prescription-item-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;display:grid}.prescription-item-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}.prescription-item-details{width:100%}.prescription-items-list{flex-direction:column;gap:12px;display:flex}.prescription-item-details-card{box-sizing:border-box;background:#fff;border:1px solid #e1e6ee;border-radius:10px;align-items:flex-start;gap:12px;padding:14px;display:flex}.prescription-item-details-icon{width:34px;height:34px;color:var(--primary);background:#eef4ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.prescription-item-details-content{flex:1;min-width:0}.prescription-item-details-content h4{color:#172033;margin:0 0 8px;font-size:14px;font-weight:600}.prescription-item-details-content p{color:#667085;margin:4px 0;font-size:12px;line-height:1.5}.prescription-item-details-content strong{color:#344054;font-weight:600}.prescription-items-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px 20px;display:flex}.prescription-items-empty-icon{width:42px;height:42px;color:var(--primary);background:#eef4ff;border-radius:10px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.prescription-items-empty h4{color:#172033;margin:0 0 6px;font-size:14px;font-weight:600}.prescription-items-empty p{color:#667085;max-width:280px;margin:0;font-size:12px;line-height:1.5}.breadcrumbs{align-items:center;gap:6px;margin-bottom:18px;display:flex}.breadcrumb-item{align-items:center;gap:4px;display:flex}.breadcrumb-link,.breadcrumb-current{font-family:inherit;font-size:14px;line-height:1.5}.breadcrumb-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;transition:color .2s}.breadcrumb-link:hover{color:var(--primary)}.breadcrumb-current{color:var(--text-primary)}.breadcrumb-separator{color:#94a3b8;flex-shrink:0}.prescription-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:fit-content;height:38px;margin-bottom:20px;margin-left:auto;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.prescription-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 10px #4975c61f}.prescription-add-button span{font-size:17px;line-height:1}.prescription-pagination{justify-content:center;align-items:center;gap:14px;margin-top:24px;display:flex}.prescription-pagination span{color:#667085;font-size:12px;font-weight:500}.prescription-pagination button{width:30px;height:30px;color:var(--primary);cursor:pointer;background:#fff;border:1px solid #dce3ed;border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;transition:all .2s;display:flex}.prescription-pagination button:hover:not(:disabled){border-color:var(--primary);background:#eef4ff}.prescription-pagination button:disabled{opacity:.4;cursor:not-allowed}.prescriptions-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);min-height:220px;color:var(--text-secondary);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.prescriptions-empty p{color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.prescriptions-empty span{color:var(--text-secondary);font-size:13px}.clinical-attachment-form{flex-direction:column;gap:16px;display:flex}.clinical-attachment-form input[type=text]{box-sizing:border-box;color:#172033;background:#fff;border:1px solid #dce3ed;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;transition:all .2s}.clinical-attachment-form input[type=text]::placeholder{color:#98a2b3}.clinical-attachment-form input[type=text]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4975c614}.clinical-attachment-file-field{flex-direction:column;gap:6px;display:flex}.clinical-attachment-file-field label{color:#344054;font-size:12px;font-weight:600}.clinical-attachment-form-actions{border-top:1px solid #eef1f5;justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;padding-top:16px;display:flex}.clinical-attachment-card{background:#fff;border:1px solid #e1e6ee;border-radius:10px;gap:12px;min-width:0;padding:14px;transition:all .2s;display:flex}.clinical-attachment-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.clinical-attachment-card-edit-button{color:#667085;cursor:pointer;background:#f3f6fa;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .2s;display:flex}.clinical-attachment-card-edit-button:hover{color:#2563eb;background:#eef4ff}.clinical-attachment-card:hover{border-color:#cbd5e1;box-shadow:0 4px 10px #1720330d}.clinical-attachment-card-file-icon{color:#3b82f6;background:#eef4ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.clinical-attachment-card-content{flex:1;min-width:0}.clinical-attachment-card-content h3{color:#172033;white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-size:14px;font-weight:600;overflow:hidden}.clinical-attachment-card-category{color:#6d45c7;background:#f0eaff;border-radius:5px;margin-bottom:10px;padding:4px 7px;font-size:10px;font-weight:600;display:inline-block}.clinical-attachment-card-file{align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:flex}.clinical-attachment-card-file-label{color:#667085}.clinical-attachment-card-file-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:color .2s}.clinical-attachment-card-file-link:hover{color:#1d4ed8;text-decoration:underline}.clinical-attachment-card-notes{color:#667085;border-top:1px solid #eef1f5;margin:8px 0 0;padding-top:8px;font-size:11px;line-height:1.5}.clinical-attachment-viewer{flex-direction:column;height:75vh;display:flex}.clinical-attachment-viewer-content{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.clinical-attachment-viewer-image{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.clinical-attachment-viewer-pdf{border:none;flex-shrink:0;width:100%;height:100%;display:block}.clinical-attachment-docx-message{text-align:center;padding:40px 20px}.clinical-attachment-viewer-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding-top:16px;display:flex}.clinical-attachment-open-button,.clinical-attachment-download-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.clinical-attachment-open-button{border:1px solid #d1d5db}.clinical-attachment-download-button{color:#fff;background:#1f2937;border:1px solid #1f2937;font-weight:600}.clinical-attachment-category-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;margin-top:18px;display:grid}.clinical-attachment-category-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;padding:14px;transition:all .2s;display:flex}.clinical-attachment-category-card:hover{border-color:#d7dee8;transform:translateY(-1px);box-shadow:0 4px 12px #4975c60f}.clinical-attachment-category-card-header{border-left:3px solid var(--primary);align-items:flex-start;padding-left:10px;display:flex}.clinical-attachment-category-card-name h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700;line-height:1.35}.clinical-attachment-category-card-name span{color:var(--text-secondary);margin-top:4px;font-size:11px;font-weight:500;display:block}.clinical-attachment-category-card-count{background:#f8faff;border:1px solid #dbe7f7;border-radius:8px;margin-top:14px;padding:10px 12px}.clinical-attachment-category-card-count-header{margin-bottom:3px}.clinical-attachment-category-card-count-header span{letter-spacing:.3px;color:var(--text-secondary);font-size:10px;font-weight:700}.clinical-attachment-category-card-count-value{color:var(--primary);font-size:20px;font-weight:700;line-height:1.2}.clinical-attachment-category-card-count-description{color:var(--text-secondary);margin-top:2px;font-size:10px;font-weight:500}.clinical-attachment-category-card-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;padding-top:10px;display:flex}.clinical-attachment-category-card-edit,.clinical-attachment-category-card-delete{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 11px;font-family:inherit;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.clinical-attachment-category-card-edit{border:1px solid var(--border);color:var(--text-primary);background:#f8fafc}.clinical-attachment-category-card-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.clinical-attachment-category-card-delete{color:#dc2626;background:#fff1f2;border:1px solid #fecdd3}.clinical-attachment-category-card-delete:hover{background:#ffe4e6;transform:translateY(-1px)}.clinical-attachment-category-form{flex-direction:column;gap:20px;display:flex}.clinical-attachment-category-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.clinical-attachment-category-toolbar{justify-content:flex-end;align-items:center;display:flex}.clinical-attachments-toggle{background:#f5f7fa;border:1px solid #dce3ed;border-radius:10px;align-items:center;padding:4px;display:inline-flex}.clinical-attachments-toggle-button{color:#475467;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.clinical-attachments-toggle-button.active{color:#172033;background:#fff;box-shadow:0 1px 3px #10182814}.clinical-attachments-toggle-button:hover:not(.active){color:var(--primary)}.clinical-attachment-add-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.clinical-attachment-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 3px 8px #4975c626}.clinical-attachment-add-button svg{flex-shrink:0}.clinical-attachments-toolbar{justify-content:space-between;align-items:center;width:100%;margin-top:18px;display:flex}.clinical-attachment-visit{background:#f8fafc;border:1px solid #dfe5ed;border-radius:12px;margin-top:24px;margin-bottom:24px;padding:16px}.clinical-attachment-visit-header{border-bottom:1px solid #e3e8ef;justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 0 14px;display:flex}.clinical-attachment-visit-info{align-items:center;gap:7px;display:flex}.clinical-attachment-visit-icon{color:#64748b}.clinical-attachment-visit-label{color:#667085;font-size:12px;font-weight:500}.clinical-attachment-visit-date{color:#172033;font-size:13px;font-weight:600}.clinical-attachment-visit-source{border-radius:6px;padding:5px 10px;font-size:11px;font-weight:600}.clinical-attachment-visit-source.treatment{color:#2563eb;background:#e8f3ff}.clinical-attachment-visit-source.consultation{color:#7c3aed;background:#f3eefa}.clinical-attachments-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.clinical-attachments-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);min-height:220px;color:var(--text-secondary);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;margin-top:24px;padding:32px;display:flex}.clinical-attachments-empty p{color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.clinical-attachments-empty span{color:var(--text-secondary);font-size:13px;line-height:1.5}.x-ray-form{flex-direction:column;gap:16px;display:flex}.x-ray-file-field{flex-direction:column;gap:6px;display:flex}.x-ray-file-field label{color:#344054;font-size:12px;font-weight:600}.x-ray-date-field{flex-direction:column;gap:6px;display:flex}.x-ray-date-field label{color:#344054;font-size:12px;font-weight:600}.x-ray-form input[type=date]{box-sizing:border-box;color:#172033;background:#fff;border:1px solid #dce3ed;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;transition:all .2s}.x-ray-form input[type=date]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4975c614}.x-ray-form-actions{border-top:1px solid #eef1f5;justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;padding-top:16px;display:flex}.x-ray-card{background:#fff;border:1px solid #e1e6ee;border-radius:10px;gap:12px;min-width:0;padding:14px;transition:all .2s;display:flex}.x-ray-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.x-ray-card-edit-button{color:#667085;cursor:pointer;background:#f3f6fa;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .2s;display:flex}.x-ray-card-edit-button:hover{color:#2563eb;background:#eef4ff}.x-ray-card:hover{border-color:#cbd5e1;box-shadow:0 4px 10px #1720330d}.x-ray-card-file-icon{color:#3b82f6;background:#eef4ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.x-ray-card-content{flex:1;min-width:0}.x-ray-card-content h3{color:#172033;white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-size:14px;font-weight:600;overflow:hidden}.x-ray-card-category{color:#6d45c7;background:#f0eaff;border-radius:5px;margin-bottom:10px;padding:4px 7px;font-size:10px;font-weight:600;display:inline-block}.x-ray-card-file{align-items:center;gap:6px;margin-bottom:12px;font-size:11px;display:flex}.x-ray-card-file-label{color:#667085}.x-ray-card-file-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:color .2s}.x-ray-card-file-link:hover{color:#1d4ed8;text-decoration:underline}.x-ray-card-section{border-top:1px solid #eef1f5;margin-top:10px;padding-top:10px}.x-ray-card-section-label{color:#667085;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.x-ray-card-section-content{color:#344054;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.5}.x-ray-card-taken-at{color:#667085;margin-top:10px;font-size:10px;font-weight:500;display:block}.x-ray-viewer{flex-direction:column;height:75vh;display:flex}.x-ray-viewer-content{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.x-ray-viewer-image{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.x-ray-viewer-pdf{border:none;flex-shrink:0;width:100%;height:100%;display:block}.x-ray-docx-message{text-align:center;padding:40px 20px}.x-ray-viewer-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding-top:16px;display:flex}.x-ray-open-button,.x-ray-download-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.x-ray-open-button{border:1px solid #d1d5db}.x-ray-download-button{color:#fff;background:#1f2937;border:1px solid #1f2937;font-weight:600}.x-rays-toggle{background:#f5f7fa;border:1px solid #dce3ed;border-radius:10px;align-items:center;padding:4px;display:inline-flex}.x-rays-toggle-button{color:#475467;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.x-rays-toggle-button.active{color:#172033;background:#fff;box-shadow:0 1px 3px #10182814}.x-rays-toggle-button:hover:not(.active){color:var(--primary)}.x-ray-add-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.x-ray-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 3px 8px #4975c626}.x-ray-add-button svg{flex-shrink:0}.x-rays-toolbar{justify-content:space-between;align-items:center;width:100%;margin-top:18px;display:flex}.x-ray-visit{background:#f8fafc;border:1px solid #dfe5ed;border-radius:12px;margin-top:24px;margin-bottom:24px;padding:16px}.x-ray-visit-header{border-bottom:1px solid #e3e8ef;justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 0 14px;display:flex}.x-ray-visit-info{align-items:center;gap:7px;display:flex}.x-ray-visit-icon{color:#64748b}.x-ray-visit-label{color:#667085;font-size:12px;font-weight:500}.x-ray-visit-date{color:#172033;font-size:13px;font-weight:600}.x-ray-visit-source{border-radius:6px;padding:5px 10px;font-size:11px;font-weight:600}.x-ray-visit-source.treatment{color:#2563eb;background:#e8f3ff}.x-ray-visit-source.consultation{color:#7c3aed;background:#f3eefa}.x-rays-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.x-rays-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);min-height:220px;color:var(--text-secondary);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;margin-top:24px;padding:32px;display:flex}.x-rays-empty p{color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.x-rays-empty span{color:var(--text-secondary);font-size:13px;line-height:1.5}.x-ray-category-form{flex-direction:column;gap:20px;display:flex}.x-ray-category-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.x-ray-category-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;margin-top:18px;display:grid}.x-ray-category-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;padding:14px;transition:all .2s;display:flex}.x-ray-category-card:hover{border-color:#d7dee8;transform:translateY(-1px);box-shadow:0 4px 12px #4975c60f}.x-ray-category-card-header{border-left:3px solid var(--primary);align-items:flex-start;padding-left:10px;display:flex}.x-ray-category-card-name h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700;line-height:1.35}.x-ray-category-card-name span{color:var(--text-secondary);margin-top:4px;font-size:11px;font-weight:500;display:block}.x-ray-category-card-count{background:#f8faff;border:1px solid #dbe7f7;border-radius:8px;margin-top:14px;padding:10px 12px}.x-ray-category-card-count-header{margin-bottom:3px}.x-ray-category-card-count-header span{letter-spacing:.3px;color:var(--text-secondary);font-size:10px;font-weight:700}.x-ray-category-card-count-value{color:var(--primary);font-size:20px;font-weight:700;line-height:1.2}.x-ray-category-card-count-description{color:var(--text-secondary);margin-top:2px;font-size:10px;font-weight:500}.x-ray-category-card-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;padding-top:10px;display:flex}.x-ray-category-card-edit,.x-ray-category-card-delete{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 11px;font-family:inherit;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.x-ray-category-card-edit{border:1px solid var(--border);color:var(--text-primary);background:#f8fafc}.x-ray-category-card-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.x-ray-category-card-delete{color:#dc2626;background:#fff1f2;border:1px solid #fecdd3}.x-ray-category-card-delete:hover{background:#ffe4e6;transform:translateY(-1px)}.x-ray-category-toolbar{justify-content:flex-end;align-items:center;display:flex}.clinical-photo-form{flex-direction:column;gap:16px;display:flex}.clinical-photo-file-field{flex-direction:column;gap:6px;display:flex}.clinical-photo-file-field label{color:#344054;font-size:12px;font-weight:600}.clinical-photo-form-actions{border-top:1px solid #eef1f5;justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;padding-top:16px;display:flex}.clinical-photo-file-field input[type=file]{box-sizing:border-box;color:#172033;cursor:pointer;background:#fff;border:1px solid #dce3ed;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.clinical-photo-card{background:#fff;border:1px solid #e1e6ee;border-radius:10px;gap:12px;min-width:0;padding:14px;transition:all .2s;display:flex}.clinical-photo-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.clinical-photo-card-edit-button{color:#667085;cursor:pointer;background:#f3f6fa;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .2s;display:flex}.clinical-photo-card-edit-button:hover{color:#2563eb;background:#eef4ff}.clinical-photo-card:hover{border-color:#cbd5e1;box-shadow:0 4px 10px #1720330d}.clinical-photo-card-file-icon{color:#3b82f6;background:#eef4ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.clinical-photo-card-content{flex:1;min-width:0}.clinical-photo-card-content h3{color:#172033;white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-size:14px;font-weight:600;overflow:hidden}.clinical-photo-card-category{color:#6d45c7;background:#f0eaff;border-radius:5px;margin-bottom:10px;padding:4px 7px;font-size:10px;font-weight:600;display:inline-block}.clinical-photo-card-file{align-items:center;gap:6px;margin-bottom:12px;font-size:11px;display:flex}.clinical-photo-card-file-label{color:#667085}.clinical-photo-card-file-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:color .2s}.clinical-photo-card-file-link:hover{color:#1d4ed8;text-decoration:underline}.clinical-photo-card-section{border-top:1px solid #eef1f5;margin-top:10px;padding-top:10px}.clinical-photo-card-section-label{color:#667085;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.clinical-photo-card-section-content{color:#344054;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.5}.clinical-photo-viewer{flex-direction:column;height:75vh;display:flex}.clinical-photo-viewer-content{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.clinical-photo-viewer-image{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.clinical-photo-viewer-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding-top:16px;display:flex}.clinical-photo-open-button,.clinical-photo-download-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.clinical-photo-open-button{border:1px solid #d1d5db}.clinical-photo-download-button{color:#fff;background:#1f2937;border:1px solid #1f2937;font-weight:600}.clinical-photo-category-form{flex-direction:column;gap:20px;display:flex}.clinical-photo-category-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.clinical-photo-category-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;margin-top:18px;display:grid}.clinical-photo-category-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;padding:14px;transition:all .2s;display:flex}.clinical-photo-category-card:hover{border-color:#d7dee8;transform:translateY(-1px);box-shadow:0 4px 12px #4975c60f}.clinical-photo-category-card-header{border-left:3px solid var(--primary);align-items:flex-start;padding-left:10px;display:flex}.clinical-photo-category-card-name h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700;line-height:1.35}.clinical-photo-category-card-name span{color:var(--text-secondary);margin-top:4px;font-size:11px;font-weight:500;display:block}.clinical-photo-category-card-count{background:#f8faff;border:1px solid #dbe7f7;border-radius:8px;margin-top:14px;padding:10px 12px}.clinical-photo-category-card-count-header{margin-bottom:3px}.clinical-photo-category-card-count-header span{letter-spacing:.3px;color:var(--text-secondary);font-size:10px;font-weight:700}.clinical-photo-category-card-count-value{color:var(--primary);font-size:20px;font-weight:700;line-height:1.2}.clinical-photo-category-card-count-description{color:var(--text-secondary);margin-top:2px;font-size:10px;font-weight:500}.clinical-photo-category-card-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;padding-top:10px;display:flex}.clinical-photo-category-card-edit,.clinical-photo-category-card-delete{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 11px;font-family:inherit;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.clinical-photo-category-card-edit{border:1px solid var(--border);color:var(--text-primary);background:#f8fafc}.clinical-photo-category-card-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.clinical-photo-category-card-delete{color:#dc2626;background:#fff1f2;border:1px solid #fecdd3}.clinical-photo-category-card-delete:hover{background:#ffe4e6}.clinical-photo-toolbar{justify-content:flex-end;align-items:center;display:flex}.clinical-photos-toggle{background:#f5f7fa;border:1px solid #dce3ed;border-radius:10px;align-items:center;padding:4px;display:inline-flex}.clinical-photos-toggle-button{color:#475467;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.clinical-photos-toggle-button.active{color:#172033;background:#fff;box-shadow:0 1px 3px #10182814}.clinical-photos-toggle-button:hover:not(.active){color:var(--primary)}.clinical-photo-add-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.clinical-photo-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 3px 8px #4975c626}.clinical-photo-add-button svg{flex-shrink:0}.clinical-photos-toolbar{justify-content:space-between;align-items:center;width:100%;margin-top:18px;display:flex}.clinical-photo-visit{background:#f8fafc;border:1px solid #dfe5ed;border-radius:12px;margin-top:24px;margin-bottom:24px;padding:16px}.clinical-photo-visit-header{border-bottom:1px solid #e3e8ef;justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 0 14px;display:flex}.clinical-photo-visit-info{align-items:center;gap:7px;display:flex}.clinical-photo-visit-icon{color:#64748b}.clinical-photo-visit-label{color:#667085;font-size:12px;font-weight:500}.clinical-photo-visit-date{color:#172033;font-size:13px;font-weight:600}.clinical-photo-visit-source{border-radius:6px;padding:5px 10px;font-size:11px;font-weight:600}.clinical-photo-visit-source.treatment{color:#2563eb;background:#e8f3ff}.clinical-photo-visit-source.consultation{color:#7c3aed;background:#f3eefa}.clinical-photos-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.clinical-photos-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);min-height:220px;color:var(--text-secondary);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;margin-top:24px;padding:32px;display:flex}.clinical-photos-empty p{color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.clinical-photos-empty span{color:var(--text-secondary);font-size:13px;line-height:1.5}.billing-card{background:#fff;border:1px solid #dfe5ed;border-radius:14px;width:100%;margin-top:0;overflow:hidden;box-shadow:0 2px 6px #0f172a0a}.billing-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;min-height:52px;padding:0 20px;display:flex}.billing-card-title{align-items:center;gap:10px;display:flex}.billing-card-title h3{color:#172033;margin:0;font-size:14px;font-weight:600}.billing-card-icon{color:#294d7d;background:#eef3fa;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.billing-card-status{border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.billing-card-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.billing-card-status.paid{color:#15803d;background:#dcfce7}.billing-card-status.partial{color:#b45309;background:#fef3c7}.billing-card-status.unpaid{color:#dc2626;background:#fef2f2}.billing-card-status.cancelled{color:#64748b;background:#f1f5f9}.billing-card-body{grid-template-columns:.9fr 2.1fr;min-height:105px;display:grid}.billing-card-patient-section{border-right:1px solid #e2e8f0;flex-direction:column;justify-content:center;padding:18px 20px;display:flex}.billing-card-label{color:#667085;letter-spacing:.4px;margin-bottom:6px;font-size:10px;font-weight:600}.billing-card-patient-section strong{color:#172033;font-size:14px;font-weight:600}.billing-card-date{color:#64748b;align-items:center;gap:5px;margin-top:7px;font-size:11px;display:flex}.billing-card-date span:first-child{color:#4b6590;font-weight:500}.billing-card-financial-section{grid-template-columns:repeat(3,1fr);align-items:center;gap:20px;padding:18px 20px;display:grid}.billing-card-financial-item{flex-direction:column;gap:7px;display:flex}.billing-card-financial-item span{color:#667085;letter-spacing:.35px;font-size:10px;font-weight:600}.billing-card-financial-item strong{color:#172033;font-size:13px;font-weight:600}.billing-card-financial-item .billing-card-balance{color:#1e3a5f}.billing-card-footer{background:#fafbfc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;min-height:46px;padding:0 20px;display:flex}.billing-card-view-button{color:#294d7d;cursor:pointer;background:#fff;border:1px solid #d8e0eb;border-radius:7px;align-items:center;gap:7px;padding:7px 11px;font-family:inherit;font-size:11px;font-weight:600;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.billing-card-view-button:hover{background:#f5f8fc;border-color:#c5d2e3;transform:translateY(-1px)}.billing-card-view-button svg{flex-shrink:0}@media (width<=431px){.billing-card-body{grid-template-columns:1fr}}.payment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.payment-form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;padding-top:18px;display:flex}.edit-payment-form-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.edit-payment-form-grid>:last-child{grid-column:1/-1}.edit-payment-form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.view-billing-details{flex-direction:column;gap:14px;width:100%;display:flex}.view-billing-details-summary{background:#f8fafc;border:1px solid #dfe5ed;border-radius:10px;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.view-billing-details-patient{flex-direction:column;gap:5px;display:flex}.view-billing-details-label{color:#64748b;letter-spacing:.4px;font-size:10px;font-weight:600}.view-billing-details-patient strong{color:#172033;font-size:14px;font-weight:600}.view-billing-details-date{color:#64748b;font-size:11px}.view-billing-details-status{justify-content:flex-end;align-items:center;display:flex}.view-billing-details-status-badge{border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.view-billing-details-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.view-billing-details-status-badge.paid{color:#15803d;background:#dcfce7}.view-billing-details-status-badge.partial{color:#b45309;background:#fef3c7}.view-billing-details-status-badge.unpaid{color:#dc2626;background:#fef2f2}.view-billing-details-status-badge.cancelled{color:#64748b;background:#f1f5f9}.view-billing-details-section{background:#fff;border:1px solid #dce3ed;border-radius:10px;overflow:hidden}.view-billing-details-section-header{color:#294d7d;letter-spacing:.4px;background:#f5f8fc;border-bottom:1px solid #dce3ed;justify-content:space-between;align-items:center;padding:12px 16px;font-size:10px;font-weight:600;display:flex}.view-billing-details-section-header span:last-child{color:#64748b;letter-spacing:0;font-size:10px;font-weight:500}.view-billing-details-items{flex-direction:column;display:flex}.view-billing-details-item{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.view-billing-details-item:last-child{border-bottom:none}.view-billing-details-item-service{flex-direction:column;gap:4px;display:flex}.view-billing-details-item-service strong{color:#172033;font-size:12px;font-weight:600}.view-billing-details-item-service span{color:#64748b;font-size:10px}.view-billing-details-item-price strong{color:#294d7d;font-size:12px;font-weight:600}.view-billing-details-empty{color:#64748b;text-align:center;padding:18px;font-size:11px}.view-billing-details-financial{background:#fff;border:1px solid #dce3ed;border-radius:10px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.view-billing-details-financial>div{border-right:1px solid #e2e8f0;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.view-billing-details-financial>div:last-child{border-right:none}.view-billing-details-financial span{color:#64748b;letter-spacing:.4px;font-size:9px;font-weight:600}.view-billing-details-financial strong{color:#172033;font-size:13px;font-weight:600}.view-billing-details-paid{color:#15803d!important}.view-billing-details-balance{color:#b45309!important}.view-billing-details-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;margin-top:14px;padding-top:14px;display:flex}.view-billing-details-add-payment-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:7px;align-items:center;gap:7px;padding:8px 13px;font-family:inherit;font-size:11px;font-weight:600;transition:opacity .2s,transform .2s,box-shadow .2s;display:inline-flex}.view-billing-details-add-payment-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 3px 8px #4975c626}.view-billing-details-payments{flex-direction:column;display:flex}.view-billing-details-payment{border-bottom:1px solid #e1e7ef;grid-template-columns:42px 125px minmax(0,1fr) 82px;align-items:center;column-gap:14px;min-width:0;padding:18px 16px;display:grid}.view-billing-details-payment:last-child{border-bottom:none}.view-billing-details-payment-icon{color:#24509a;background:#edf4ff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.view-billing-details-payment-info{flex-direction:column;gap:4px;min-width:0;display:flex}.view-billing-details-payment-info strong{color:#172033;font-size:13px;font-weight:700}.view-billing-details-payment-info span{color:#667085;font-size:10px}.view-billing-details-payment-details{grid-template-columns:95px 105px minmax(0,1fr);gap:14px;min-width:0;display:grid}.view-billing-details-payment-details>div{flex-direction:column;gap:5px;min-width:0;display:flex}.view-billing-details-payment-label{color:#64748b;letter-spacing:.4px;font-size:9px;font-weight:700}.view-billing-details-payment-details strong,.view-billing-details-payment-details span:not(.view-billing-details-payment-label){color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.view-billing-details-payment-method strong{background:#edf4ff;border-radius:5px;width:fit-content;padding:5px 9px;font-weight:600;display:inline-flex;color:#24509a!important;font-size:10px!important}.view-billing-details-payment-status{text-align:center;white-space:nowrap;border-radius:999px;justify-self:end;width:76px;padding:7px 5px;font-size:10px;font-weight:700}.view-billing-details-payment-status.completed{color:#15803d;background:#dcfce7}.view-billing-details-payment-status.refunded{color:#dc2626;background:#fee2e2}.view-billing-details-payment-actions{grid-column:3/5;justify-content:flex-end;justify-self:end;align-items:center;gap:6px;margin-top:24px;display:flex}.view-billing-details-payment-action{cursor:pointer;background:#fff;border:1px solid #d7e0ec;border-radius:6px;justify-content:center;align-items:center;width:31px;height:31px;transition:background .2s,border-color .2s,transform .2s;display:flex}.view-billing-details-payment-action:hover{transform:translateY(-1px)}.view-billing-details-payment-action:active{transform:translateY(0)}.view-billing-details-payment-action.edit{color:#2563eb}.view-billing-details-payment-action.edit:hover{background:#eff6ff;border-color:#bfdbfe}.view-billing-details-payment-action.refund{color:#dc2626}.view-billing-details-payment-action.refund:hover{background:#fef2f2;border-color:#fecaca}.view-billing-details-refund-details{border-top:1px solid #edf1f5;grid-column:3/5;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.5fr);gap:20px;margin-top:4px;padding-top:10px;display:grid}.view-billing-details-refund-field{flex-direction:column;gap:5px;min-width:0;display:flex}.view-billing-details-refund-field strong,.view-billing-details-refund-field span:not(.view-billing-details-payment-label){color:#334155;overflow-wrap:anywhere;font-size:11px;font-weight:500}.view-billing-details-refund-field strong{color:#dc2626;font-weight:600}.view-billing-details-payment-action:disabled{color:#94a3b8;opacity:.6;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}.view-billing-details-payment-action:disabled:hover{color:#94a3b8;box-shadow:none;background:#f1f5f9;transform:none}.refund-payment-form{flex-direction:column;gap:16px;width:100%;display:flex}.refund-payment-form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:8px;padding-top:14px;display:flex}.administrative-billing-form{flex-direction:column;gap:16px;width:100%;display:flex}.administrative-billing-services{background:#fff;border:1px solid #dce3ed;border-radius:10px;overflow:hidden}.administrative-billing-services-header{color:#294d7d;letter-spacing:.4px;background:#f5f8fc;border-bottom:1px solid #dce3ed;justify-content:space-between;align-items:center;padding:12px 16px;font-size:10px;font-weight:600;display:flex}.administrative-billing-services-header span:last-child{color:#64748b;letter-spacing:0;font-size:10px;font-weight:500}.administrative-billing-service{cursor:pointer;border-bottom:1px solid #edf1f5;align-items:center;gap:12px;padding:13px 16px;transition:background .2s;display:flex}.administrative-billing-service:last-child{border-bottom:none}.administrative-billing-service:hover,.administrative-billing-service.selected{background:#f7faff}.administrative-billing-service input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.administrative-billing-service span{color:#172033;flex:1;font-size:12px;font-weight:600}.administrative-billing-service strong{color:#294d7d;white-space:nowrap;font-size:12px;font-weight:600}.administrative-billing-total{background:#f8fafc;border:1px solid #dce3ed;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.administrative-billing-total span{color:#64748b;letter-spacing:.4px;font-size:9px;font-weight:600}.administrative-billing-total strong{color:#172033;font-size:14px;font-weight:700}.administrative-billing-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:8px;padding-top:14px;display:flex}.payment-table{width:100%;overflow-x:auto}.payment-table table{border-collapse:collapse;width:100%}.payment-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#f8fafc;padding:13px 16px;font-size:11px;font-weight:700}.payment-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:16px;font-size:14px}.payment-table tbody tr:last-child td{border-bottom:none}.payment-table tbody tr{transition:background .15s}.payment-table tbody tr:hover{background:#f8fafc}.payment-date{color:var(--text-primary);white-space:nowrap;font-weight:600}.payment-patient-name{color:var(--text-primary);font-weight:600}.payment-amount{color:var(--text-primary);white-space:nowrap;font-weight:600}.payment-reference{color:var(--text-secondary);white-space:nowrap}.payment-status{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.payment-status.completed{color:#059669;background:#ecfdf5}.payment-status.refunded{color:#dc2626;background:#fef2f2}.payment-history{width:100%;margin-top:24px}.payment-history-filters{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:18px 20px}.payment-history-filters-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.payment-history-filter-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px;display:grid}.payment-history-date-grid{grid-template-columns:260px 260px;align-items:end;gap:36px;margin-top:16px;display:grid}.payment-history-filter-field{flex-direction:column;gap:7px;display:flex}.payment-history-filter-field label{color:var(--text-primary);font-size:13px;font-weight:600}.payment-history-filter-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.payment-history-filter-field input:focus{border-color:var(--primary)}.payment-history-filter-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.payment-history-results{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;margin-top:24px;overflow:hidden}.payment-history-results-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.payment-history-results-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.payment-history-results-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.payment-history-pagination{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;display:flex}.payment-history-pagination span{color:var(--text-secondary);font-size:13px;font-weight:600}@media (width<=431px){.payment-history-filter-grid,.payment-history-date-grid{grid-template-columns:1fr;gap:10px}}.financial-management-billing-list{flex-direction:column;gap:16px;padding:16px 20px;display:flex}.financial-management-toolbar{justify-content:space-between;align-items:center;width:100%;margin-top:18px;display:flex}.financial-management-toggle{background:#f5f7fa;border:1px solid #dce3ed;border-radius:10px;align-items:center;padding:4px;display:inline-flex}.financial-management-toggle-button{color:#475467;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.financial-management-toggle-button.active{color:#172033;background:#fff;box-shadow:0 1px 3px #10182814}.financial-management-toggle-button:hover:not(.active){color:var(--primary)}.financial-management-add-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.financial-management-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 3px 8px #4975c626}.financial-management-billing{width:100%;margin-top:24px}.financial-management-billing-filters{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:18px 20px}.financial-management-billing-filters-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.financial-management-billing-filter-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px;display:grid}.financial-management-billing-date-grid{grid-template-columns:260px 260px;align-items:end;gap:36px;margin-top:16px;display:grid}.financial-management-billing-filter-field{flex-direction:column;gap:7px;display:flex}.financial-management-billing-filter-field label{color:var(--text-primary);font-size:13px;font-weight:600}.financial-management-billing-filter-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.financial-management-billing-filter-field input:focus{border-color:var(--primary)}.financial-management-billing-filter-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.financial-management-billing-results{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;margin-top:24px;overflow:hidden}.financial-management-billing-results-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.financial-management-billing-results-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.financial-management-billing-results-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.financial-management-billing-pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:12px;padding:14px 20px;display:flex}.financial-management-billing-pagination span{color:var(--text-secondary);font-size:13px;font-weight:600}@media (width<=431px){.financial-management-toolbar{flex-direction:column;justify-content:center;gap:20px}.financial-management-add-button{justify-self:flex-end;margin-left:auto}.financial-management-billing-filter-grid,.financial-management-billing-date-grid{grid-template-columns:1fr;gap:10px}}.message-row{width:100%;margin-bottom:12px;display:flex}.message-row-own{justify-content:flex-end}.message-row-other{justify-content:flex-start}.message-content{flex-direction:column;width:max-content;max-width:70%;display:flex}.message-row-own .message-content{align-items:flex-end}.message-row-other .message-content{align-items:flex-start}.message-bubble{word-break:break-word;border-radius:16px;width:fit-content;max-width:100%;padding:10px 14px}.message-bubble-own{background:var(--primary);color:#fff;border-bottom-right-radius:5px}.message-bubble-other{color:var(--text-primary);border:1px solid var(--border);background:#f1f5f9;border-bottom-left-radius:5px}.message-text{margin:0;font-size:13px;line-height:1.5}.message-meta{color:var(--text-secondary);align-items:center;gap:6px;margin-top:4px;padding:0 4px;font-size:10px;display:flex}.message-meta-own{justify-content:flex-end}.message-attachment{background:#ffffff14;border:1px solid #94a3b840;border-radius:10px;margin-top:8px;padding:10px}.message-attachment-info{align-items:center;gap:8px;min-width:0;display:flex}.message-attachment-info svg{flex-shrink:0}.message-attachment-info span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.message-attachment-actions{align-items:center;gap:6px;margin-top:9px;display:flex}.message-attachment-actions a{color:inherit;background:#ffffff1f;border-radius:7px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.message-attachment-actions a:hover{background:#fff3}.message-input{background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;align-items:flex-end;gap:10px;padding:14px 18px;display:flex}.message-input textarea{border:1px solid var(--border);resize:none;min-height:40px;max-height:120px;color:var(--text-primary);background:#f8fafc;border-radius:12px;outline:none;flex:1;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.4;transition:all .2s}.message-input textarea::placeholder{color:#9ca3af}.message-input textarea:focus{background:var(--surface);border-color:#bfdbfe;box-shadow:0 0 0 3px #eff6ff}.message-input-send{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.message-input-send:hover{background:var(--primary-hover);transform:translateY(-1px)}.message-input-send:disabled{color:#9ca3af;cursor:not-allowed;background:#e5e7eb;transform:none}.message-input-attachment{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.message-input-attachment:hover{color:var(--primary);background:#f8fafc;border-color:#bfdbfe}.message-input-file{border:1px solid var(--border);max-width:180px;color:var(--text-secondary);background:#f8fafc;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:flex}.message-input-file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-window{background:var(--surface);flex-direction:column;flex:1 1 0;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.chat-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.chat-empty-icon{width:64px;height:64px;color:var(--primary);background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.chat-empty h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.chat-empty p{max-width:320px;color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.5}.chat-active{flex-direction:column;flex:1 1 0;width:100%;height:100%;min-height:0;display:flex}.chat-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:14px 20px;display:flex}.chat-header-avatar{color:#294d7d;background:#eef3fa;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.chat-header-avatar img{object-fit:cover;width:100%;height:100%}.chat-header-initials{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.chat-header-info{min-width:0}.chat-header-info h2{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:700;overflow:hidden}.chat-header-info span{color:var(--text-secondary);margin-top:3px;font-size:11px;display:block}.chat-messages{flex:1 1 0;min-height:0;padding:24px 20px;overflow-y:auto}.message-date{color:var(--text-secondary);justify-content:center;align-items:center;margin:18px 0 14px;font-size:11px;font-weight:600;display:flex}@media (width<=431px){.chat-back-button{cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;padding:4px;display:flex}}.contact-list{border-right:1px solid var(--border);background:#f8fafc;flex-direction:column;min-width:0;min-height:0;display:flex}.contact-list-header{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:center;padding:20px;display:flex}.contact-list-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.contact-list-header span{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.contact-list-new-button{width:36px;height:36px;color:var(--primary);cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.contact-list-new-button:hover{background:#dbeafe;transform:translateY(-1px)}.contact-list-search{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;align-items:center;gap:8px;margin:14px 16px;padding:9px 12px;transition:all .2s;display:flex}.contact-list-search:focus-within{border-color:#bfdbfe;box-shadow:0 0 0 3px #eff6ff}.contact-list-search input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit;font-size:12px}.contact-list-search input::placeholder{color:#9ca3af}.contact-list-section{flex-direction:column;flex:1;min-height:0;padding:4px 8px 12px;display:flex}.contact-list-section-title{letter-spacing:.06em;color:#94a3b8;padding:8px 8px 6px;font-size:10px;font-weight:700;display:block}.contact-list-conversations{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.contact-list-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.contact-list-empty p{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.contact-list-empty span{max-width:200px;color:var(--text-secondary);margin-top:6px;font-size:11px;line-height:1.5}.contact-list{position:relative}.available-contacts{background:var(--surface);border:1px solid var(--border);z-index:10;border-radius:14px;flex-direction:column;display:flex;position:absolute;inset:20px;overflow:hidden;box-shadow:0 8px 24px #0f172a14}.available-contacts-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.available-contacts-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:700}.available-contacts-header span{color:var(--text-secondary);margin-top:4px;font-size:11px;display:block}.available-contacts-close{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:all .2s;display:flex}.available-contacts-close:hover{color:var(--text-primary);background:#f1f5f9}.available-contacts-list{flex:1;padding:10px;overflow-y:auto}.available-contacts-empty{text-align:center;justify-content:center;align-items:center;padding:40px 20px;display:flex}.available-contacts-empty p{color:var(--text-secondary);margin:0;font-size:12px}.available-contacts-search{background:var(--background);border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;align-items:center;gap:10px;margin:16px 18px 12px;padding:10px 13px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.available-contacts-search:focus-within{background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px #1f3a6d14}.available-contacts-search input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit;font-size:14px}.available-contacts-search input::placeholder{color:var(--text-secondary)}.available-contact-card{cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:11px 14px;transition:all .2s;display:flex}.available-contact-card:hover{background:#f8fafc}.available-contact-card-avatar{color:#294d7d;object-fit:cover;background:#eef3fa;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:flex}.available-contact-card-content{min-width:0}.available-contact-card-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:700;overflow:hidden}.available-contact-card-type{color:var(--text-secondary);text-transform:capitalize;margin-top:4px;font-size:11px;display:block}.conversation-card{cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.conversation-card:hover{background:#f8fafc}.conversation-card-selected,.conversation-card-selected:hover{background:#eff6ff}.conversation-card-avatar{color:#294d7d;object-fit:cover;background:#eef3fa;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:flex}.conversation-card-content{flex:1;min-width:0}.conversation-card-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:700;overflow:hidden}.conversation-card-message{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;overflow:hidden}.conversation-card-time{color:var(--text-secondary);white-space:nowrap;align-self:flex-start;margin-top:2px;font-size:11px}.chats-page-container{box-sizing:border-box;flex:1;min-height:0;padding:20px;display:flex}.chats-layout{background:var(--surface);border:1px solid var(--border);width:100%;height:100%;min-height:0;box-shadow:var(--shadow-sm);border-radius:16px;grid-template-columns:340px minmax(0,1fr);display:grid;overflow:hidden}@media (width<=431px){.chats-page-container{padding:0}.chats-layout{height:100%;box-shadow:none;border:none;border-radius:0;grid-template-columns:1fr}}.reschedule-page{min-height:100vh;padding:1px 0 40px}.reschedule-content{width:calc(100% - 48px);max-width:1180px;margin:0 auto}.reschedule-header{border:1px solid var(--border);background:linear-gradient(135deg,#fff 0%,#f8fbff 55%,#eef5ff 100%);border-radius:18px;width:calc(100% - 48px);max-width:1180px;margin:24px auto 0;padding:20px 28px;box-shadow:0 8px 30px #2563eb14}.reschedule-header-brand{justify-content:flex-start;align-items:center;gap:14px;display:flex}.reschedule-header-logo{object-fit:contain;width:46px;height:46px}.reschedule-header-title{flex-direction:column;line-height:1.15;display:flex}.reschedule-header-title h1{color:var(--text-primary);margin:0;font-size:22px;font-weight:700}.reschedule-header-title span{color:var(--text-secondary);margin-top:4px;font-size:12px}.reschedule-intro{padding:34px 4px 24px}.reschedule-intro h2{color:var(--text-primary);letter-spacing:-.5px;margin:0;font-size:30px;font-weight:700}.reschedule-intro p{color:var(--text-secondary);margin:8px 0 0;font-size:15px;line-height:1.6}.current-appointment{background:var(--background);border:1px solid var(--border);border-radius:16px;padding:24px 28px;box-shadow:0 6px 24px #2563eb0f}.current-appointment-header{margin-bottom:22px}.current-appointment-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.current-appointment-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.current-appointment-details{grid-template-columns:repeat(2,1fr);gap:20px 32px;display:grid}.appointment-detail{align-items:center;gap:12px;display:flex}.appointment-detail-icon{width:38px;height:38px;color:var(--primary);background:#2563eb14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.appointment-detail-info{flex-direction:column;gap:3px;display:flex}.appointment-detail-label{color:var(--text-secondary);font-size:12px}.appointment-detail-value{color:var(--text-primary);font-size:14px;font-weight:600}.reschedule-schedule{margin-top:28px}.reschedule-schedule-header{margin-bottom:20px}.reschedule-schedule-header h3{color:var(--text-primary);letter-spacing:-.2px;margin:0;font-size:20px;font-weight:700}.reschedule-schedule-header p{color:var(--text-secondary);margin:6px 0 0;font-size:14px;line-height:1.5}.reschedule-schedule>button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;margin:20px 0 0 auto;padding:10px 18px;font-size:13px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;display:block}.reschedule-schedule>button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #2563eb2e}.reschedule-schedule>button:active:not(:disabled){transform:translateY(0)}.reschedule-schedule>button:disabled{background:var(--border);color:var(--text-secondary);cursor:not-allowed;box-shadow:none}.reschedule-picker{background:var(--background);border:1px solid var(--border);border-radius:16px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);display:grid;overflow:hidden;box-shadow:0 6px 24px #2563eb0f}.reschedule-calendar-area{border-right:1px solid var(--border);padding:24px}.reschedule-times-area{padding:24px}.reschedule-calendar-area .fc{font-family:inherit}.reschedule-calendar-area .fc-toolbar{margin-bottom:20px}.reschedule-calendar-area .fc-toolbar-title{color:var(--text-primary);font-size:20px;font-weight:700}.reschedule-calendar-area .fc-button{border-radius:9px;padding:7px 10px;border:1px solid var(--border)!important;color:var(--text-primary)!important;box-shadow:none!important;background:0 0!important}.reschedule-calendar-area .fc-button:hover{color:var(--primary)!important;border-color:var(--border)!important;background:#2563eb0f!important}.reschedule-calendar-area .fc-button:focus,.reschedule-calendar-area .fc-button:active,.reschedule-calendar-area .fc-button.fc-button-active{color:var(--primary)!important;border-color:var(--border)!important;box-shadow:none!important;background:#2563eb14!important}.reschedule-calendar-area .fc-button:disabled{opacity:.35;color:var(--text-primary)!important;background:0 0!important}.reschedule-calendar-area .fc-col-header-cell{border-color:var(--border);background:0 0;padding:8px 0}.reschedule-calendar-area .fc-col-header-cell-cushion{color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:600;text-decoration:none}.reschedule-calendar-area .fc-daygrid-day{border-color:var(--border);cursor:pointer}.reschedule-calendar-area .fc-daygrid-day-number{width:32px;height:32px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;margin:6px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.reschedule-calendar-area .fc-daygrid-day:hover{background:#2563eb0a}.reschedule-calendar-area .fc-day-today{background:0 0!important}.reschedule-calendar-area .fc-day-today .fc-daygrid-day-number{color:var(--primary);font-weight:700}.reschedule-calendar-area .selected-reschedule-date{background:#2563eb14!important}.reschedule-calendar-area .selected-reschedule-date .fc-daygrid-day-number{background:var(--primary);border-radius:50%;font-weight:700;color:#fff!important}.reschedule-times-header h4{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.reschedule-times-header p{color:var(--text-secondary);margin:6px 0 20px;font-size:13px}.reschedule-time-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.reschedule-time-button{background:var(--background);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:10px;padding:11px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.reschedule-time-button:hover{border-color:var(--primary);color:var(--primary);background:#2563eb0d}.reschedule-time-button.selected{border-color:var(--primary);color:var(--primary);background:#2563eb14;font-weight:700}.reschedule-selected-schedule{background:linear-gradient(135deg,#2563eb14,#2563eb08);border:1px solid #2563eb2e;border-radius:12px;flex-direction:column;gap:5px;margin-top:24px;padding:16px 18px;display:flex}.reschedule-selected-schedule p{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 3px;font-size:11px;font-weight:700}.reschedule-selected-schedule strong{color:var(--text-primary);font-size:14px;font-weight:700}.reschedule-selected-schedule span{color:var(--text-secondary);font-size:13px;font-weight:500}.reschedule-dentist-selection{border-bottom:1px solid var(--border);border-bottom:1px solid var(--border);grid-column:1/-1;align-items:center;gap:16px;padding:18px 24px;display:flex}.reschedule-dentist-selection label{color:var(--text-primary);font-size:13px;font-weight:600}.reschedule-dentist-selection select{border:1px solid var(--border);background:var(--background);min-width:240px;color:var(--text-primary);border-radius:9px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px}.reschedule-dentist-selection select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb14}.reschedule-submitted{justify-content:center;width:100%;margin-top:24px;display:flex}.reschedule-submitted-content{background:var(--background);border:1px solid var(--border);text-align:center;border-radius:20px;width:100%;max-width:760px;padding:48px 52px;box-shadow:0 8px 30px #2563eb0f}.reschedule-submitted-content h2{color:var(--text-primary);margin:0 0 10px;font-size:28px;font-weight:700}.reschedule-submitted-content>p{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.6}.reschedule-request-details{background:#2563eb0d;border:1px solid #2563eb1f;border-radius:14px;flex-direction:column;align-items:center;margin-top:32px;padding:22px 24px;display:flex}.reschedule-request-details p{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:11px;font-weight:700}.reschedule-request-details strong{color:var(--text-primary);font-size:18px;font-weight:700}.reschedule-request-details span{color:var(--primary);margin-top:5px;font-size:14px;font-weight:600}.reschedule-pending-message{background:var(--background);border:1px solid var(--border);text-align:left;border-radius:14px;margin-top:20px;padding:22px 24px}.reschedule-pending-message h3{color:var(--text-primary);margin:0 0 7px;font-size:16px;font-weight:700}.reschedule-pending-message p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.reschedule-mobile-promo{text-align:left;background:linear-gradient(135deg,#2563eb24,#2563eb0a);border:1px solid #2563eb24;border-radius:16px;margin-top:24px;padding:30px 32px;position:relative;overflow:hidden}.reschedule-mobile-promo-content{z-index:2;max-width:560px;position:relative}.reschedule-mobile-promo-label{color:var(--primary);letter-spacing:.12em;margin-bottom:10px;font-size:10px;font-weight:700;display:inline-block}.reschedule-mobile-promo h3{color:var(--text-primary);margin:0 0 10px;font-size:22px;font-weight:700;line-height:1.3}.reschedule-mobile-promo p{color:var(--text-secondary);margin:0 0 20px;font-size:13px;line-height:1.6}.reschedule-mobile-promo-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s}.reschedule-mobile-promo-button:hover{transform:translateY(-1px);box-shadow:0 5px 14px #2563eb33}.reschedule-mobile-promo-decoration{opacity:.1;font-size:100px;position:absolute;bottom:-15px;right:35px;transform:rotate(-8deg)}.clinic-closure-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.clinic-closure-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.clinic-closure-title{color:var(--text-primary);font-size:17px;font-weight:700;line-height:1.35}.clinic-closure-date-range{color:var(--text-primary);background:#f7faff;border:1px solid #e2ebfa;border-radius:10px;margin-top:18px;padding:14px 16px;font-size:14px;font-weight:600}.clinic-closure-reason{margin-top:16px}.clinic-closure-reason-label{color:var(--text-secondary);font-size:11px;font-weight:600}.clinic-closure-reason-value{color:var(--text-primary);margin-top:4px;font-size:13px;line-height:1.4}.clinic-closure-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;padding-top:14px;display:flex}.clinic-closure-edit{color:var(--text-primary);border:1px solid var(--border);cursor:pointer;background:#f8fafc;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.clinic-closure-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.clinic-closure-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.clinic-closure-affected-summary{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;flex-direction:column;gap:8px;margin-top:16px;padding:12px 14px;display:flex}.clinic-closure-affected-summary-title{color:#9a3412;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.clinic-closure-affected-warning-icon{color:#c2410c;background:#ffedd5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.clinic-closure-affected-summary-description{color:#c2410c;font-size:11px;line-height:1.4}.clinic-closure-affected-button{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:7px;justify-content:center;align-self:flex-start;align-items:center;margin-top:4px;padding:7px 11px;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.clinic-closure-affected-button:hover{background:#dbeafe;transform:translateY(-1px)}.clinic-closure-affected-success-icon{color:#15803d;background:#dcfce7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.clinic-closure-affected-summary.processed{background:#f0fdf4;border-color:#bbf7d0}.clinic-closure-affected-summary.processed .clinic-closure-affected-summary-title{color:#166534}.clinic-closure-affected-summary.processed .clinic-closure-affected-summary-description{color:#15803d}.clinic-closure-affected-summary.none{border-color:var(--border);background:#f8fafc}.clinic-closure-affected-summary.none .clinic-closure-affected-summary-title{color:var(--text-secondary)}.clinic-closure-edit:disabled{opacity:.5;cursor:not-allowed;transform:none}.clinic-closure-edit:disabled:hover{background:#f8fafc;transform:none}@media (width<=431px){.clinic-closure-grid{grid-template-columns:1fr}}.clinic-closure-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.clinic-closure-form-grid>:nth-child(3){grid-column:1/-1}.clinic-closure-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}@media (width<=431px){.clinic-closure-form-grid{grid-template-columns:1fr}}.clinic-closure-controls{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.clinic-closure-filters{align-items:flex-end;gap:10px;display:flex}.clinic-closure-clear-button,.clinic-closure-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.clinic-closure-clear-button{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.clinic-closure-clear-button:hover{color:var(--text-primary);background:#f8fafc;border-color:#cbd5e1}.clinic-closure-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff}.clinic-closure-add-button:hover{filter:brightness(.96);transform:translateY(-1px)}.clinic-closure-add-button span{font-size:17px;font-weight:400;line-height:1}.clinic-closure-pagination{justify-content:center;align-items:center;gap:12px;margin-top:24px;display:flex}.clinic-closure-pagination-button{border:1px solid var(--border);width:32px;height:32px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:all .2s;display:inline-flex}.clinic-closure-pagination-button:hover:not(:disabled){background:#f8fafc;transform:translateY(-1px)}.clinic-closure-pagination-button:disabled{opacity:.45;cursor:not-allowed}.clinic-closure-pagination-info{text-align:center;min-width:100px;color:var(--text-secondary);font-size:13px;font-weight:600}@media (width<=431px){.clinic-closure-controls{flex-direction:column}.clinic-closure-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;width:100%;display:grid}.clinic-closure-clear-button{grid-column:1/-1;justify-self:center;max-width:fit-content;margin-bottom:20px}}.upcoming-service-sessions{flex-direction:column;gap:42px;display:flex}.upcoming-service-sessions-period{flex-direction:column;gap:18px;display:flex}.upcoming-service-sessions-period-header{flex-direction:column;gap:4px;display:flex}.upcoming-service-sessions-period-header h1{color:var(--text-primary);letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700}.upcoming-service-sessions-period-header h1 span{color:#a5afbd;font-weight:500}.upcoming-service-sessions-period-header p{color:var(--text-secondary);margin:0;font-size:10px}.upcoming-service-sessions-timeline-wrapper,.upcoming-service-sessions-upcoming-wrapper{box-sizing:border-box;background:#fff;border:1px solid #e4e9ef;border-radius:16px;width:100%;padding:24px 28px;box-shadow:0 3px 14px #1f3a6d09}.upcoming-service-sessions-upcoming-wrapper{flex-direction:column;gap:26px;display:flex}.upcoming-service-sessions-date-group{flex-direction:column;gap:14px;display:flex}.upcoming-service-sessions-date-header{align-items:center;gap:10px;padding:0 2px;display:flex}.upcoming-service-sessions-date-header:after{content:"";background:#e8edf3;flex:1;height:1px}.upcoming-service-sessions-date-header span{letter-spacing:.55px;color:#7d8998;white-space:nowrap;text-transform:uppercase;font-size:9px;font-weight:700}.upcoming-service-sessions-timeline{flex-direction:column;width:100%;display:flex}.upcoming-service-sessions-timeline-item{text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:82px 28px minmax(0,1fr);width:100%;padding:5px 8px;font-family:inherit;transition:background .2s,border-color .2s,transform .2s;display:grid;position:relative}.upcoming-service-sessions-timeline-item:not(:last-child){margin-bottom:18px}.upcoming-service-sessions-timeline-item:not(.future):hover{background:#f8fafc;border-color:#edf1f5}.upcoming-service-sessions-timeline-item:not(.future):active{transform:scale(.995)}.upcoming-service-sessions-timeline-time{flex-direction:column;align-items:flex-end;padding-top:2px;padding-right:16px;display:flex}.upcoming-service-sessions-timeline-time strong{color:var(--text-primary);white-space:nowrap;font-size:12px;font-weight:700;line-height:1.3}.upcoming-service-sessions-timeline-time span{color:#8d98a6;white-space:nowrap;margin-top:3px;font-size:8px;font-weight:500}.upcoming-service-sessions-timeline-track{justify-content:center;min-height:100%;display:flex;position:relative}.upcoming-service-sessions-timeline-dot{z-index:2;background:var(--primary);box-sizing:content-box;border:2px solid #fff;border-radius:50%;width:9px;height:9px;margin-top:4px;position:relative;box-shadow:0 0 0 1px #c8d5e4,0 2px 4px #1f3a6d14}.upcoming-service-sessions-timeline-line{background:linear-gradient(#d6dee8,#e8edf2);width:1px;position:absolute;top:15px;bottom:-23px}.upcoming-service-sessions-timeline-content{min-width:0;padding-bottom:3px;padding-left:18px}.upcoming-service-sessions-timeline-top{align-items:center;gap:10px;display:flex}.upcoming-service-sessions-timeline-type{letter-spacing:.55px;color:#26745a;white-space:nowrap;background:#edf8f4;border:1px solid #d5e9df;border-radius:6px;align-items:center;padding:5px 9px;font-size:7px;font-weight:700;display:inline-flex}.upcoming-service-sessions-timeline-details{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr);gap:36px;max-width:700px;margin-top:12px;display:grid}.upcoming-service-sessions-timeline-patient,.upcoming-service-sessions-timeline-service{flex-direction:column;min-width:0;display:flex}.upcoming-service-sessions-timeline-patient span,.upcoming-service-sessions-timeline-service span{letter-spacing:.6px;color:#98a2b3;font-size:7px;font-weight:700}.upcoming-service-sessions-timeline-patient strong,.upcoming-service-sessions-timeline-service strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden}.upcoming-service-sessions-timeline-action{align-items:center;gap:6px;margin-top:11px;display:flex}.upcoming-service-sessions-timeline-action span:first-child{color:var(--primary);font-size:9px;font-weight:700}.upcoming-service-sessions-timeline-action span:last-child{color:var(--primary);font-size:13px;font-weight:600;transition:transform .2s}.upcoming-service-sessions-timeline-item:not(.future):hover .upcoming-service-sessions-timeline-action span:last-child{transform:translate(3px)}.upcoming-service-sessions-timeline-item:not(.future):hover .upcoming-service-sessions-timeline-dot{box-shadow:0 0 0 4px #1f3a6d0f,0 0 0 1px #c8d5e4}.upcoming-service-sessions-timeline-item.future{cursor:default;opacity:.78}.upcoming-service-sessions-timeline-item.future .upcoming-service-sessions-timeline-dot{background:#c6ced8;box-shadow:0 0 0 1px #dce2e9}.upcoming-service-sessions-timeline-item.future .upcoming-service-sessions-timeline-type{color:#8994a2;background:#fafbfc;border-color:#e6e9ed}.upcoming-service-sessions-timeline-item.future .upcoming-service-sessions-timeline-action span:first-child{color:#8994a2}.upcoming-service-sessions-timeline-item.future .upcoming-service-sessions-timeline-action span:last-child{display:none}.upcoming-service-sessions-empty{text-align:center;box-sizing:border-box;background:#fafbfc;border:1px dashed #dfe4ea;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:145px;padding:26px 20px;display:flex}.upcoming-service-sessions-empty-icon{width:40px;height:40px;color:var(--primary);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.upcoming-service-sessions-empty h3{color:var(--text-primary);margin:0;font-size:11px;font-weight:700}.upcoming-service-sessions-empty p{max-width:320px;color:var(--text-secondary);margin:5px 0 0;font-size:9px;line-height:1.5}@media (width<=800px){.upcoming-service-sessions-timeline-wrapper,.upcoming-service-sessions-upcoming-wrapper{padding:22px}.upcoming-service-sessions-timeline-item{grid-template-columns:74px 24px minmax(0,1fr)}.upcoming-service-sessions-timeline-content{padding-left:15px}.upcoming-service-sessions-timeline-details{gap:24px}}@media (width<=600px){.upcoming-service-sessions{gap:36px}.upcoming-service-sessions-timeline-wrapper,.upcoming-service-sessions-upcoming-wrapper{border-radius:14px;padding:18px 14px}.upcoming-service-sessions-period-header h1{font-size:16px}.upcoming-service-sessions-timeline-item{grid-template-columns:60px 20px minmax(0,1fr);padding-left:4px;padding-right:4px}.upcoming-service-sessions-timeline-time{padding-right:9px}.upcoming-service-sessions-timeline-time strong{font-size:10px}.upcoming-service-sessions-timeline-time span{font-size:7px}.upcoming-service-sessions-timeline-content{padding-left:12px}.upcoming-service-sessions-timeline-details{flex-direction:column;gap:8px;margin-top:11px;display:flex}.upcoming-service-sessions-timeline-patient strong,.upcoming-service-sessions-timeline-service strong{font-size:11px}.upcoming-service-sessions-date-header span{font-size:8px}}@media (width<=431px){.upcoming-service-sessions-timeline-wrapper,.upcoming-service-sessions-upcoming-wrapper{padding:16px 12px}.upcoming-service-sessions-timeline-item{grid-template-columns:56px 18px minmax(0,1fr)}.upcoming-service-sessions-timeline-content{padding-left:10px}.upcoming-service-sessions-timeline-top{gap:7px}.upcoming-service-sessions-timeline-type{padding:4px 7px;font-size:6.5px}}.session-history-results{width:100%}.session-history-table-container{background:#fff;border:1px solid #e1e5eb;border-radius:14px;width:100%;margin-top:24px;overflow:hidden}.session-history-results-header{justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.session-history-results-header h3{color:#12284c;margin:0;font-size:15px;font-weight:700}.session-history-results-header p{color:#64748b;margin:5px 0 0;font-size:12px}.session-history-table{border-collapse:collapse;table-layout:auto;width:100%}.session-history-table thead{background:#f8fafc}.session-history-table th{text-align:left;letter-spacing:.02em;text-transform:uppercase;color:#64748b;white-space:nowrap;border-top:1px solid #e1e5eb;border-bottom:1px solid #e1e5eb;padding:12px 16px;font-size:10px;font-weight:700}.session-history-table td{color:#17315a;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:16px;font-size:12px}.session-history-table tbody tr:last-child td{border-bottom:none}.session-history-table tbody tr:hover{background:#fafbfc}.session-history-table td:last-child button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .2s,color .2s;display:flex}.session-history-table td:last-child button:hover{color:#17315a;background:#f1f5f9}.session-history-pagination{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:10px;padding:16px 20px;display:flex}.session-history-pagination button{justify-content:center;align-items:center;width:58px;min-width:58px;height:40px;padding:0;display:flex}.session-history-pagination span{text-align:center;color:#64748b;min-width:70px;font-size:12px;font-weight:600}.treatment-area-options{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.treatment-area-options button{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:7px;padding:8px 12px;font-family:inherit;font-size:11px;font-weight:500;transition:border-color .2s,background .2s,color .2s}.treatment-area-options button:hover{background:#f0fdf4;border-color:#22c55e}.treatment-area-quadrant-options{border:1px solid var(--border);background:#fff;border-radius:10px;width:320px;margin-top:10px;padding:14px;box-shadow:0 4px 14px #0f172a14}.treatment-area-quadrant-header{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.treatment-area-quadrant-close{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;font-size:18px;line-height:1}.treatment-area-quadrant-close:hover{color:var(--text-primary);background:#f3f4f6}.treatment-area-quadrant-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.treatment-area-quadrant-grid button{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:7px;padding:10px;font-family:inherit;font-size:11px;font-weight:500;transition:border-color .2s,background .2s,color .2s}.treatment-area-quadrant-grid button:hover{color:#15803d;background:#f0fdf4;border-color:#22c55e}.treatment-area-options button.selected{color:#15803d;background:#f0fdf4;border-color:#22c55e;font-weight:600}.treatment-area-dental-chart-actions{justify-content:flex-end;margin-top:14px;display:flex}.treatment-area-dental-chart-actions button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:9px 16px;font-family:inherit;font-size:11px;font-weight:600;transition:background .2s}.treatment-area-dental-chart-actions button:hover{background:#1e3a6d}.service-session-form{flex-direction:column;gap:18px;width:100%;display:flex}.service-session-form-info{background:#f8faff;border:1px solid #e4eaf2;border-radius:9px;grid-template-columns:repeat(4,1fr);gap:16px;padding:13px 15px;display:grid}.service-session-form-info>div{flex-direction:column;min-width:0;display:flex}.service-session-form-info span{letter-spacing:.35px;color:var(--text-secondary);margin-bottom:3px;font-size:9px;font-weight:700}.service-session-form-info strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.service-session-form-services{flex-direction:column;gap:10px;display:flex}.service-session-form-section-label{letter-spacing:.4px;color:var(--text-secondary);margin:0 0 2px;font-size:9px;font-weight:700}.service-session-form-service{background:#fff;border:1px solid #e3e7ed;border-radius:9px;flex-direction:column;gap:12px;padding:14px;transition:border-color .2s,box-shadow .2s;display:flex}.service-session-form-service:has(.service-session-form-service-header input:checked){border-color:#d6e2f2;box-shadow:0 2px 8px #4975c60a}.service-session-form-service-header{cursor:pointer;align-items:center;gap:9px;display:flex}.service-session-form-service-header input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;margin:0}.service-session-form-service-header span{color:var(--text-primary);font-size:12px;font-weight:700}.service-session-form-service-details{grid-template-columns:1fr 1fr;gap:12px;padding-left:24px;display:grid}.service-session-form-service-details>div{flex-direction:column;gap:3px;display:flex}.service-session-form-service-details span{letter-spacing:.35px;color:var(--text-secondary);font-size:8px;font-weight:700}.service-session-form-service-details strong{color:var(--text-primary);font-size:11px;font-weight:700}.service-session-form-service-inputs{grid-template-columns:1fr 1fr;gap:12px;padding-left:24px;display:grid}.service-session-form-treatment-area{border-top:1px solid #eef0f3;flex-direction:column;gap:8px;margin-top:2px;padding-top:12px;padding-left:24px;display:flex}.service-session-form-treatment-area-label{letter-spacing:.35px;color:var(--text-secondary);margin:0;font-size:9px;font-weight:700}.service-session-form-selected-targets{flex-direction:column;gap:6px;display:flex}.service-session-form-selected-targets p{color:var(--text-secondary);margin:0;font-size:9px;font-weight:700}.service-session-form-selected-target-list{flex-wrap:wrap;gap:5px;display:flex}.service-session-form-selected-target{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;padding:4px 8px;font-size:9px;font-weight:600;display:inline-flex}.service-session-form-notes{width:100%}.service-session-form-actions{justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}.view-service-session{flex-direction:column;gap:20px;display:flex}.view-service-session-items{flex-direction:column;gap:16px;display:flex}.view-service-session-item{background:#f8fafc;border:1px solid #dbe4f0;border-radius:12px;padding:20px;box-shadow:0 2px 6px #0f172a0d}.view-service-session-item h4{color:#1e3a5f;margin:0 0 18px;padding-bottom:12px;font-size:16px;font-weight:600}.view-service-session-item-details{grid-template-columns:1fr 1fr;gap:20px;display:grid}.view-service-session-item-details div,.view-service-session-targets{flex-direction:column;gap:6px;display:flex}.view-service-session-item-details span,.view-service-session-targets>span{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.view-service-session-item-details p{color:#1e293b;margin:0;font-size:14px;font-weight:500}.view-service-session-targets{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.view-service-session-target-list{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.view-service-session-target{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;align-items:center;padding:7px 11px;font-size:13px;font-weight:500;display:inline-flex}.view-service-session-target-list p{color:#94a3b8;margin:0;font-size:13px}.view-service-session-item-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.view-service-session-item-header h4{margin:0}.view-service-session-edit-button{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.view-service-session-edit-button:hover{background:#f1f5f9}.edit-service-session-item-form{flex-direction:column;gap:24px;display:flex}.edit-service-session-item-form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.edit-service-session-item-service{background:#f8fafc;border:1px solid #dbe4f0;border-radius:8px;flex-direction:column;justify-content:center;gap:6px;padding:14px 16px;display:flex}.edit-service-session-item-service span{color:#64748b;letter-spacing:.4px;font-size:11px;font-weight:600}.edit-service-session-item-service strong{color:#1e3a5f;font-size:14px;font-weight:600}.edit-service-session-item-treatment-area{flex-direction:column;gap:12px;padding-top:4px;display:flex}.edit-service-session-item-section-label{color:#64748b;letter-spacing:.4px;margin:0;font-size:12px;font-weight:600}.edit-service-session-item-selected-targets{flex-direction:column;gap:8px;margin-top:4px;display:flex}.edit-service-session-item-selected-targets>p{color:#64748b;margin:0;font-size:12px;font-weight:600}.edit-service-session-item-selected-target-list{flex-wrap:wrap;gap:8px;display:flex}.edit-service-session-item-selected-target{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;align-items:center;padding:7px 11px;font-size:13px;font-weight:500;display:inline-flex}.edit-service-session-item-form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding-top:20px;display:flex}@media (width<=700px){.edit-service-session-item-form-grid{grid-template-columns:1fr}.edit-service-session-item-form-actions{flex-direction:column-reverse;align-items:stretch}}.service-sessions-toolbar{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.service-sessions-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;padding:3px;display:inline-flex}.service-sessions-toggle-button{height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0 13px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s}.service-sessions-toggle-button:hover{color:var(--text-primary)}.service-sessions-toggle-button.active{color:var(--primary);background:#fff;box-shadow:0 1px 3px #00000014}.session-history-filters{background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:100%;padding:20px}.session-history-filter-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.session-history-date-grid{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:16px;display:grid}.session-history-filter-field{flex-direction:column;gap:6px;display:flex}.session-history-filter-field label{letter-spacing:.3px;color:var(--text-secondary);font-size:11px;font-weight:700}.session-history-filter-field input{width:100%;height:38px;color:var(--text-primary);background:#fff;border:1px solid #dfe3e8;border-radius:7px;outline:none;padding:0 11px;font-family:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s}.session-history-filter-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4975c614}.session-history-filter-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}@media (width<=900px){.session-history-filter-grid,.session-history-date-grid{grid-template-columns:1fr}}.audit-log-table{width:100%;overflow-x:auto}.audit-log-table table{border-collapse:collapse;width:100%}.audit-log-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#f8fafc;padding:13px 16px;font-size:11px;font-weight:700}.audit-log-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:16px;font-size:14px}.audit-log-table tbody tr:last-child td{border-bottom:none}.audit-log-table tbody tr{transition:background .15s}.audit-log-table tbody tr:hover{background:#f8fafc}.audit-log-date{color:var(--text-primary);white-space:nowrap;font-weight:600}.audit-log-actor{flex-direction:column;gap:3px;display:flex}.audit-log-actor-name{color:var(--text-primary);font-size:14px;font-weight:600}.audit-log-actor-type{color:var(--text-secondary);font-size:12px}.audit-log-platform{text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-log-platform.web{color:#2563eb;background:#eff6ff}.audit-log-platform.mobile{color:#7c3aed;background:#f5f3ff}.audit-log-module{color:var(--text-primary);white-space:nowrap;font-weight:500}.audit-log-action{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-log-action.create{color:#059669;background:#ecfdf5}.audit-log-action.update{color:#2563eb;background:#eff6ff}.audit-log-action.delete{color:#dc2626;background:#fef2f2}.audit-log-details{max-width:320px;color:var(--text-secondary);line-height:1.5;display:block}.audit-log-number{text-align:center;width:40px;font-weight:600;color:var(--text-secondary)!important;font-size:13px!important}.audit-log-view-button{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.audit-log-view-button:hover{color:var(--primary);background:#eff6ff}.audit-log-details{box-sizing:border-box;width:100%;max-width:360px;margin:0 auto}.audit-log-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;width:100%;padding:6px 0 2px;display:grid}.audit-log-details-field{min-width:0}.audit-log-details-field>span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.audit-log-details-field p{color:var(--text-primary);word-break:break-word;margin:0;font-size:14px;font-weight:500;line-height:1.5}.audit-log-details-field small{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.audit-log-details-action{border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-log-details-action.create{color:#059669;background:#ecfdf5}.audit-log-details-action.update{color:#2563eb;background:#eff6ff}.audit-log-details-action.delete{color:#dc2626;background:#fef2f2}.audit-log-change{border-top:1px solid var(--border);width:100%;margin-top:22px;padding-top:20px}.audit-log-change-header{margin-bottom:14px}.audit-log-change-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:700}.audit-log-change-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.audit-log-value{border:1px solid var(--border);border-radius:10px;min-width:0;padding:14px}.audit-log-value>span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.audit-log-value p{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.audit-log-old-value{background:#fef2f2}.audit-log-new-value{background:#ecfdf5}.audit-log-description{border-top:1px solid var(--border);width:100%;margin-top:20px;padding-top:20px}.audit-log-description>span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.audit-log-description p{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.6}@media (width<=600px){.audit-log-details-grid{grid-template-columns:1fr;gap:18px}.audit-log-change-grid{grid-template-columns:1fr}}.audit-logs{width:100%}.audit-log-filters{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:18px 20px}.audit-log-filters-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.audit-log-filter-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px;display:grid}.audit-log-date-grid{grid-template-columns:260px 260px;align-items:end;gap:36px;margin-top:16px;display:grid}.audit-log-filter-field{flex-direction:column;gap:7px;display:flex}.audit-log-filter-field label{color:var(--text-primary);font-size:13px;font-weight:600}.audit-log-filter-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.audit-log-filter-field input:focus{border-color:var(--primary)}.audit-log-filter-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.audit-log-results{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;margin-top:24px;overflow:hidden}.audit-log-results-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.audit-log-results-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.audit-log-results-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.audit-log-pagination{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;display:flex}.audit-log-pagination span{color:var(--text-secondary);font-size:13px;font-weight:600}@media (width<=431px){.audit-log-filter-grid,.audit-log-date-grid{grid-template-columns:1fr;gap:10px}}.notification-card{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:flex-start;gap:14px;width:100%;padding:16px 40px 16px 18px;transition:all .2s;display:flex;position:relative}.notification-card:hover{border-color:#d7e2f0;transform:translateY(-1px);box-shadow:0 2px 8px #0f172a0d}.notification-card-unread{background:#f8faff;border-color:#d8e5f7}.notification-card-read{background:var(--surface)}.notification-card-icon{width:36px;height:36px;color:var(--primary);background:#eff6ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notification-card-content{flex:1;min-width:0}.notification-card-header{align-items:center;gap:12px;display:flex}.notification-card-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:700}.notification-card-content span{color:var(--text-secondary);white-space:nowrap;font-size:11px;position:absolute;top:50%;right:40px;transform:translateY(-50%)}.notification-card-content p{color:var(--text-secondary);margin:5px 0 0;font-size:13px;line-height:1.5}.notification-unread-dot{background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}@media (width<=431px){.notification-card{padding-bottom:36px}.notification-card-content span{top:auto;bottom:14px;transform:none}}.notification-summary{justify-content:space-between;align-items:center;width:100%;margin-bottom:18px;display:flex}.notification-summary-text h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.notification-summary-text p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.mark-all-read-button{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:6px 2px;font-size:12px;font-weight:600;transition:opacity .2s}.mark-all-read-button:hover{opacity:.7}.notification-grid{flex-direction:column;gap:12px;width:100%;display:flex}.care-plan-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.care-plan-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.care-plan-title{align-items:center;gap:9px;display:flex}.care-plan-title-icon{width:28px;height:28px;color:var(--primary);background:#213f7814;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.care-plan-header h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.care-plan-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.care-plan-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.care-plan-status.pending{color:#92400e;background:#fef3c7}.care-plan-status.in_progress{color:#1d4ed8;background:#dbeafe}.care-plan-status.completed{color:#166534;background:#dcfce7}.care-plan-status.cancelled{color:#991b1b;background:#fee2e2}.care-plan-body{grid-template-columns:1fr 1.5fr;display:grid}.care-plan-details{border-right:1px solid #e5e7eb;border-right:1px solid var(--border);flex-direction:column;gap:14px;padding:18px 20px;display:flex}.care-plan-detail{min-height:36px;color:var(--text-secondary);align-items:center;gap:10px;display:flex}.care-plan-detail>svg,.care-plan-patient-avatar{flex-shrink:0;width:36px;height:36px}.care-plan-detail>svg{color:var(--text-secondary);padding:9px}.care-plan-detail>div{flex-direction:column;gap:3px;display:flex}.care-plan-detail span{color:var(--text-secondary);letter-spacing:.04em;font-size:10px;font-weight:600}.care-plan-detail strong{color:var(--text-primary);font-size:13px;font-weight:600}.care-plan-patient{gap:10px}.care-plan-patient-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.care-plan-notes{padding:18px 20px}.care-plan-notes>span{color:var(--text-secondary);letter-spacing:.04em;font-size:10px;font-weight:600}.care-plan-notes p{color:var(--text-secondary);margin:7px 0 0;font-size:12px;line-height:1.5}.care-plan-actions{border-top:1px solid var(--border);background:#fafbfc;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.care-plan-action-primary,.care-plan-action-secondary,.care-plan-action-danger{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;height:36px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.care-plan-action-primary{border:1px solid var(--primary);color:var(--primary);background:#fff}.care-plan-action-primary:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 3px 8px #213f781f}.care-plan-action-secondary{border:1px solid var(--border);color:var(--text-primary);background:#fff}.care-plan-action-secondary:hover{background:#f8fafc;border-color:#d1d5db}.care-plan-action-danger{color:#b91c1c;background:0 0;border:1px solid #0000}.care-plan-action-danger:hover{background:#fef2f2;border-color:#fecaca}.care-plan-form-header{border-bottom:1px solid var(--border);padding:24px 28px}.care-plan-form-eyebrow{color:var(--primary);letter-spacing:.08em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.care-plan-form-header h2{color:var(--text-primary);margin:0;font-size:22px;font-weight:600}.care-plan-form-header p{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.5}.care-plan-form-field{flex-direction:column;gap:7px;margin:22px 28px 0;display:flex}.care-plan-form-field label{color:var(--text-secondary);letter-spacing:.05em;font-size:11px;font-weight:600}.care-plan-form-field textarea{border:1px solid var(--border);width:100%;min-height:105px;color:var(--text-primary);resize:vertical;box-sizing:border-box;background:#fff;border-radius:8px;outline:none;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.care-plan-form-field textarea::placeholder{color:var(--text-secondary);opacity:.65}.care-plan-form-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4975c614}.care-plan-form-services-header{margin:28px 28px 0}.care-plan-form-services-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.care-plan-form-services-header p{color:var(--text-secondary);margin:5px 0 0;font-size:12px;line-height:1.5}.care-plan-service{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;min-height:92px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;display:flex}.care-plan-service:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0a}.care-plan-services-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;margin:14px 28px 0;display:grid}.care-plan-service-info{flex-direction:column;gap:7px;min-width:0;display:flex}.care-plan-service-name{color:var(--text-primary);font-size:13px;font-weight:600}.care-plan-service-meta{align-items:baseline;gap:4px;display:flex}.care-plan-service-price{color:var(--text-primary);font-size:11px;font-weight:600}.care-plan-service-unit{color:var(--text-secondary);font-size:10px}.care-plan-service-meta span:first-child{color:var(--text-primary);font-size:13px;font-weight:600}.care-plan-service-config{margin-top:14px}.care-plan-service-field{flex-direction:column;gap:6px;display:flex}.care-plan-service-field label{color:var(--text-secondary);letter-spacing:.05em;font-size:10px;font-weight:600}.care-plan-service-field input{border:1px solid var(--border);width:100%;height:36px;color:var(--text-primary);box-sizing:border-box;background:#fff;border-radius:7px;outline:none;padding:0 10px;font-family:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s}.care-plan-service-field input::placeholder{color:var(--text-secondary);opacity:.65}.care-plan-service-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4975c614}.care-plan-service-fields-row{grid-template-columns:1fr 1.5fr;gap:12px;margin-top:12px;display:grid}.care-plan-service-billing{max-width:260px;margin-top:12px}.care-plan-service-field select{border:1px solid var(--border);width:100%;height:36px;color:var(--text-primary);cursor:pointer;box-sizing:border-box;background:#fff;border-radius:7px;outline:none;padding:0 10px;font-family:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s}.care-plan-service-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4975c614}.care-plan-treatment-area{flex-direction:column;gap:6px;margin-top:12px;display:flex}.care-plan-treatment-area label{color:var(--text-secondary);letter-spacing:.05em;font-size:10px;font-weight:600}.care-plan-selected-targets{flex-direction:column;gap:7px;margin-top:10px;display:flex}.care-plan-selected-targets-label{color:var(--text-secondary);letter-spacing:.05em;font-size:10px;font-weight:600}.care-plan-selected-targets-list{flex-wrap:wrap;gap:6px;display:flex}.care-plan-selected-target{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;padding:5px 9px;font-size:11px;font-weight:500;display:inline-flex}.care-plan-service-modal-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;padding-top:14px;display:flex}.care-plan-service-modal-actions button{cursor:pointer;border-radius:7px;padding:8px 14px;font-family:inherit;font-size:11px;font-weight:600;transition:background .2s,border-color .2s,color .2s}.care-plan-service-modal-cancel{border:1px solid var(--border);color:var(--text-secondary);background:#fff}.care-plan-service-modal-cancel:hover{color:var(--text-primary);background:#f8fafc}.care-plan-service-modal-add{border:1px solid var(--primary);background:var(--primary);color:#fff}.care-plan-service-modal-add:hover{background:#1e3a6d;border-color:#1e3a6d}.care-plan-service-configure-button{border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:#fff;border-radius:6px;flex-shrink:0;padding:7px 12px;font-family:inherit;font-size:10px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.care-plan-service-configure-button:hover{background:var(--primary);color:#fff}.care-plan-selected-services{margin:24px 28px 0}.care-plan-selected-services-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.care-plan-selected-services-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.care-plan-selected-services-header p{color:var(--text-secondary);margin:4px 0 0;font-size:11px}.care-plan-selected-count{color:var(--primary);background:#eff6ff;border:1px solid #dbeafe;border-radius:6px;padding:5px 9px;font-size:10px;font-weight:600}.care-plan-selected-services-list{flex-direction:column;gap:8px;display:flex}.care-plan-selected-service{border:1px solid var(--border);background:#fff;border-radius:9px;padding:14px 16px}.care-plan-selected-service-main{justify-content:space-between;align-items:center;gap:16px;display:flex}.care-plan-selected-service-title{flex-direction:column;gap:4px;display:flex}.care-plan-selected-service-title strong{color:var(--text-primary);font-size:13px;font-weight:600}.care-plan-selected-service-title span{color:var(--text-secondary);font-size:10px}.care-plan-selected-service-actions{align-items:center;gap:6px;display:flex}.care-plan-selected-service-actions button{cursor:pointer;border-radius:6px;padding:6px 9px;font-family:inherit;font-size:9px;font-weight:600}.care-plan-selected-edit{border:1px solid var(--border);color:var(--text-secondary);background:#fff}.care-plan-selected-edit:hover{color:var(--text-primary);background:#f8fafc}.care-plan-selected-remove{color:#dc2626;background:snow;border:1px solid #fecaca}.care-plan-selected-remove:hover{background:#fef2f2}.care-plan-selected-service-details{border-top:1px solid #f1f5f9;grid-template-columns:minmax(100px,.5fr) minmax(150px,.7fr) minmax(220px,1.5fr);gap:16px;margin-top:13px;padding-top:12px;display:grid}.care-plan-selected-service-details>div{flex-direction:column;gap:4px;display:flex}.care-plan-selected-service-details span{color:var(--text-secondary);letter-spacing:.05em;font-size:9px;font-weight:600}.care-plan-selected-service-details strong{color:var(--text-primary);font-size:11px;font-weight:500}.care-plan-service-modal-header{margin-bottom:18px}.care-plan-service-modal-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.care-plan-service-modal-header p{color:var(--text-secondary);margin:4px 0 0;font-size:11px}.care-plan-selected-service-notes{border-top:1px solid #f1f5f9;flex-direction:column;gap:4px;margin-top:12px;padding-top:10px;display:flex}.care-plan-selected-service-notes span{color:var(--text-secondary);letter-spacing:.05em;font-size:9px;font-weight:600}.care-plan-selected-service-notes p{color:var(--text-primary);margin:0;font-size:11px;line-height:1.5}.care-plan-service.added{background:#fafffb;border-color:#bbf7d0}.care-plan-service-added{color:#15803d;align-items:center;margin-top:2px;font-size:9px;font-weight:600;display:inline-flex}.care-plan-create-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:7px;margin:24px 28px 0 auto;padding:10px 18px;font-family:inherit;font-size:11px;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s;display:block}.care-plan-create-button:hover{background:#1e3a6d;border-color:#1e3a6d;box-shadow:0 2px 6px #0f172a1f}.care-plan-items-section{border:1px solid var(--border);background:#fff;border-radius:14px;width:100%;margin-top:20px;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.care-plan-items-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.care-plan-items-header h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.care-plan-items-header p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.care-plan-items-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600;transition:opacity .2s,transform .2s,box-shadow .2s;display:inline-flex}.care-plan-items-add-button span{font-size:17px;font-weight:400;line-height:1}.care-plan-items-add-button:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 3px 8px #213f781f}.care-plan-items-list{flex-direction:column;gap:10px;padding:14px;display:flex}.care-plan-item-card{border:1px solid var(--border);width:100%;box-shadow:none;box-sizing:border-box;background:#fff;border-radius:10px;padding:20px}.care-plan-item-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.care-plan-item-title{min-width:0}.care-plan-item-title h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:700;line-height:1.4}.care-plan-item-status{white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.care-plan-item-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.care-plan-item-status.pending{color:#92400e;background:#fef3c7}.care-plan-item-status.in_progress{color:#1d4ed8;background:#dbeafe}.care-plan-item-status.completed{color:#166534;background:#dcfce7}.care-plan-item-status.cancelled{color:#991b1b;background:#fee2e2}.care-plan-item-treatment-area{flex-direction:column;gap:8px;display:flex}.care-plan-item-label{color:var(--text-secondary);letter-spacing:.04em;font-size:10px;font-weight:600}.care-plan-item-targets{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.care-plan-item-target{border:1px solid var(--border);color:var(--text-primary);white-space:nowrap;background:#f8fafc;border-radius:6px;align-items:center;padding:5px 9px;font-size:11px;font-weight:500;display:inline-flex}.care-plan-item-no-target{color:var(--text-secondary);font-size:11px}.care-plan-item-progress{flex-direction:column;gap:7px;margin-top:16px;display:flex}.care-plan-item-progress-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.care-plan-item-progress-count{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:600}.care-plan-item-progress-steps{align-items:center;gap:5px;width:fit-content;display:flex}.care-plan-item-progress-step{background:#e5e7eb;border-radius:999px;width:24px;height:5px}.care-plan-item-progress-step.completed{background:#4ade80}.care-plan-item-summary{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr 1fr auto;align-items:center;gap:24px;margin-top:16px;padding-top:14px;display:grid}.care-plan-item-edit-button{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.care-plan-item-edit-button:hover{color:var(--primary);border-color:var(--primary);background:#f8fafc}.care-plan-item-summary-value{flex-direction:column;gap:4px;min-width:0;display:flex}.care-plan-item-summary-value strong{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.4}.care-plan-item-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.care-plan-item-edit-button,.care-plan-item-cancel-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.care-plan-item-edit-button{color:var(--text-secondary)}.care-plan-item-edit-button:hover{color:var(--text-primary);background:#f8fafc;border-color:#cbd5e1}.care-plan-item-cancel-button{color:#dc2626}.care-plan-item-cancel-button:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.care-plan-item-form{flex-direction:column;gap:20px;display:flex}.care-plan-item-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.care-plan-item-service-info{border:1px solid var(--border);background:#f8fafc;border-radius:7px;align-items:center;gap:24px;padding:10px 12px;display:flex}.care-plan-item-service-info>div{flex-direction:column;gap:3px;display:flex}.care-plan-item-service-info span{color:var(--text-secondary);letter-spacing:.05em;font-size:9px;font-weight:600}.care-plan-item-service-info strong{color:var(--text-primary);font-size:11px;font-weight:600}.care-plan-item-treatment-area{flex-direction:column;gap:8px;padding-top:4px;display:flex}.care-plan-item-section-label{color:var(--text-secondary);letter-spacing:.05em;margin:0;font-size:10px;font-weight:600}.care-plan-item-selected-targets{flex-direction:column;gap:7px;margin-top:4px;display:flex}.care-plan-item-selected-targets p{color:var(--text-secondary);margin:0;font-size:10px;font-weight:600}.care-plan-item-selected-target-list{flex-wrap:wrap;gap:6px;display:flex}.care-plan-item-selected-target{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;padding:5px 9px;font-size:10px;font-weight:500;display:inline-flex}.care-plan-item-form-actions{justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.treatment-sessions-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:fit-content;height:38px;margin-bottom:20px;margin-left:auto;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.treatment-sessions-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 10px #4975c61f}.treatment-sessions-add-button span{font-size:17px;line-height:1}.treatment-sessions-pagination{justify-content:center;align-items:center;gap:14px;margin-top:20px;padding:10px 0;display:flex}.treatment-sessions-pagination button{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:15px;font-weight:500;transition:all .2s;display:flex}.treatment-sessions-pagination button:hover:not(:disabled){border-color:var(--primary);background:#f9fafb;transform:translateY(-1px)}.treatment-sessions-pagination button:disabled{opacity:.45;cursor:not-allowed}.treatment-sessions-pagination span{text-align:center;color:#6b7280;min-width:120px;font-size:13px;font-weight:500}.treatment-session-form{flex-direction:column;gap:24px;display:flex}.treatment-session-form-section{flex-direction:column;gap:16px;display:flex}.treatment-session-form-section-title{color:#1f2937;margin:0;font-size:16px;font-weight:700}.treatment-session-items{flex-direction:column;gap:14px;display:flex}.treatment-session-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px}.treatment-session-item-header{cursor:pointer;align-items:center;gap:10px;display:flex}.treatment-session-item-header input[type=checkbox]{cursor:pointer;width:16px;height:16px}.treatment-session-item-name{color:#1f2937;font-size:15px;font-weight:700}.treatment-session-item-details{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;display:grid}.treatment-session-item-detail{flex-direction:column;gap:4px;display:flex}.treatment-session-item-detail span,.treatment-session-item-area>span,.treatment-session-item-progress span{letter-spacing:.06em;color:#6b7280;font-size:10px;font-weight:700}.treatment-session-item-detail strong{color:#1f2937;font-size:14px}.treatment-session-item-area{flex-direction:column;gap:8px;margin-top:16px;display:flex}.treatment-session-targets{flex-wrap:wrap;gap:8px;display:flex}.treatment-session-target{color:#374151;background:#f3f4f6;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.treatment-session-no-target{color:#9ca3af;font-size:13px}.treatment-session-item-completion{border-top:1px solid #f0f0f0;flex-direction:column;gap:16px;margin-top:18px;padding-top:18px;display:flex}.treatment-session-progress{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.treatment-session-progress>div{flex-direction:column;gap:4px;display:flex}.treatment-session-progress strong{color:#1f2937;font-size:16px}.treatment-session-form-actions{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.treatment-session-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;overflow:hidden}.treatment-session-card-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.treatment-session-card-title{align-items:center;gap:12px;display:flex}.treatment-session-card-icon{width:36px;height:36px;color:var(--primary);background:#eef4ff;border-radius:9px;justify-content:center;align-items:center;display:flex}.treatment-session-card-title span{letter-spacing:.08em;color:#6b7280;font-size:11px;font-weight:600;display:block}.treatment-session-card-title h3{color:#111827;margin:3px 0 0;font-size:16px;font-weight:600}.treatment-session-card-date{color:var(--primary);background:#f5f8ff;border-radius:7px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;font-weight:500;display:flex}.treatment-session-card-notes{border-bottom:1px solid #e5e7eb;grid-template-columns:1fr 1fr;gap:24px;padding:20px;display:grid}.treatment-session-card-note span{letter-spacing:.07em;color:var(--primary);margin-bottom:7px;font-size:11px;font-weight:600;display:block}.treatment-session-card-note p{color:#374151;margin:0;font-size:14px;line-height:1.6}.treatment-session-card-treatments{padding:20px}.treatment-session-card-section-header{margin-bottom:14px}.treatment-session-card-section-header span{letter-spacing:.08em;color:#6b7280;font-size:11px;font-weight:700}.treatment-session-card-items{flex-direction:column;gap:12px;display:flex}.treatment-session-card-item{background:#fbfcff;border:1px solid #dfe6f2;border-radius:10px;padding:16px}.treatment-session-card-item>strong{color:#1f3f73;margin-bottom:14px;font-size:15px;font-weight:600;display:block}.treatment-session-card-item-details{border-bottom:1px solid #e5e7eb;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:16px;display:grid}.treatment-session-card-item-details span{letter-spacing:.06em;color:#9ca3af;margin-bottom:5px;font-size:10px;font-weight:600;display:block}.treatment-session-card-item-details strong{color:#374151;font-size:14px;font-weight:600}.treatment-session-card-item-details>div:last-child strong{color:#2f7d4a;background:#eef8f1;border-radius:6px;align-items:center;padding:4px 8px;font-size:13px;display:inline-flex}.treatment-session-card-item-area{border-bottom:1px solid #e5e7eb;padding:15px 0}.treatment-session-card-item-area>span:first-child{letter-spacing:.06em;color:#9ca3af;margin-bottom:8px;font-size:10px;font-weight:600;display:block}.treatment-session-card-targets{flex-wrap:wrap;gap:7px;display:flex}.treatment-session-card-target{color:#31558f;background:#eef4ff;border:1px solid #cfdcf2;border-radius:6px;align-items:center;padding:5px 9px;font-size:12px;font-weight:600;display:inline-flex}.treatment-session-card-no-target{color:#9ca3af;font-size:13px}.treatment-session-card-item-notes{padding-top:15px}.treatment-session-card-item-notes span{letter-spacing:.06em;color:#9ca3af;margin-bottom:6px;font-size:10px;font-weight:600;display:block}.treatment-session-card-item-notes p{color:#4b5563;margin:0;font-size:13px;line-height:1.5}@media (width<=768px){.treatment-session-card-header{align-items:flex-start;gap:12px}.treatment-session-card-date{white-space:nowrap}.treatment-session-card-notes{grid-template-columns:1fr;gap:18px}.treatment-session-card-item-details{grid-template-columns:1fr 1fr}}@media (width<=480px){.treatment-session-card-header{flex-direction:column}.treatment-session-card-date{padding-left:48px}.treatment-session-card-item-details{grid-template-columns:1fr}}.appointment-summary-section{margin-top:24px}.appointment-summary-header{margin-bottom:14px}.appointment-summary-header h3{color:var(--text-primary);margin:0;font-size:17px;font-weight:600}.appointment-summary-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.appointment-summary{box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:14px;padding:0;display:grid}.appointment-summary-card{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:14px;min-height:96px;padding:18px 20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000000a}.appointment-summary-card:before{content:"";background:var(--summary-accent);width:4px;position:absolute;top:0;bottom:0;left:0}.appointment-summary-card:hover{border-color:var(--summary-accent);transform:translateY(-2px);box-shadow:0 6px 16px #00000012}.appointment-summary-icon{width:44px;height:44px;color:var(--summary-accent);background:var(--summary-icon-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.appointment-summary-content{flex-direction:column;gap:3px;min-width:0;display:flex}.appointment-summary-label{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:500}.appointment-summary-value{color:var(--text-primary);font-size:26px;font-weight:700;line-height:1.1}.appointment-summary-card:first-child{--summary-accent:#4f7cff;--summary-icon-bg:#eef3ff}.appointment-summary-card:nth-child(2){--summary-accent:#45a56a;--summary-icon-bg:#edf8f1}.appointment-summary-card:nth-child(3){--summary-accent:#d96b6b;--summary-icon-bg:#fdf0f0}.appointment-summary-card:nth-child(4){--summary-accent:#d59a45;--summary-icon-bg:#fff7e9}.appointment-summary-card:nth-child(5){--summary-accent:#8a6ac8;--summary-icon-bg:#f4f0fb}.financial-summary-card:has(.financial-summary-icon.revenue):hover{box-shadow:0 6px 18px #4f7cff2e}.financial-summary-card:has(.financial-summary-icon.paid):hover{box-shadow:0 6px 18px #3ca66b2e}.financial-summary-card:has(.financial-summary-icon.partial):hover{box-shadow:0 6px 18px #df94282e}.financial-summary-card:has(.financial-summary-icon.unpaid):hover{box-shadow:0 6px 18px #e45d5d2e}.financial-summary-card:has(.financial-summary-icon.outstanding):hover{box-shadow:0 6px 18px #8b63d92e}@media (width<=1200px){.appointment-summary{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.appointment-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.appointment-summary{grid-template-columns:1fr}}.appointment-trends{background:var(--bg-primary);border:1px solid var(--border);border-radius:14px;margin-top:20px;padding:20px 22px;box-shadow:0 3px 10px #0000000a}.appointment-trends-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.appointment-trends-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:650}.appointment-trends-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.appointment-trends-chart{width:100%;height:300px;margin-top:4px}@media (width<=768px){.appointment-trends{padding:18px}.appointment-trends-chart{height:280px}}@media (width<=520px){.appointment-trends{padding:16px}.appointment-trends-chart{height:250px}}.appointment-by-dentist{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:20px;box-shadow:0 2px 6px #0000000a}.appointment-by-dentist-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.appointment-by-dentist-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.appointment-by-dentist-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.appointment-by-dentist-chart{width:100%;height:320px;margin-top:8px}.appointment-dentist-tooltip{border:1px solid var(--border);z-index:1000;background:#fff;border-radius:8px;min-width:200px;padding:12px 14px;box-shadow:0 6px 18px #0000001f}.appointment-dentist-tooltip strong{color:var(--text-primary);margin-bottom:10px;font-size:13px;font-weight:600;display:block}.appointment-dentist-tooltip div{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:20px;margin-top:6px;font-size:12px;display:flex}.appointment-dentist-tooltip span{color:var(--text-primary);font-weight:600}.appointment-by-dentist-empty{height:320px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:13px;display:flex}@media (width<=768px){.appointment-by-dentist{padding:16px}.appointment-by-dentist-chart{height:300px}}.appointment-activity{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:20px;box-shadow:0 2px 6px #0000000a}.appointment-activity-header{margin-bottom:18px}.appointment-activity-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.appointment-activity-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.appointment-activity-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,.85fr);gap:16px;display:grid}.appointment-activity-section{border:1px solid var(--border);min-width:0;box-shadow:none;background:#fff;border-radius:10px;padding:16px}.appointment-activity-section-header{margin-bottom:10px}.appointment-activity-section-header h4{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.appointment-activity-section-header p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.appointment-activity-chart{width:100%;height:280px}.appointment-activity-chart:focus,.appointment-activity-chart :focus{outline:none!important}.appointment-activity-chart .recharts-cartesian-axis-tick-value{fill:var(--text-secondary);font-size:11px}.appointment-activity-chart .recharts-cartesian-grid-horizontal line{stroke:var(--border)}.appointment-activity-chart .recharts-bar-rectangle{transition:opacity .2s}.appointment-activity-chart .recharts-bar-rectangle:hover{opacity:.8}.appointment-activity-chart .recharts-default-tooltip{border:1px solid var(--border)!important;background:#fff!important;border-radius:8px!important;padding:10px 12px!important;box-shadow:0 4px 12px #00000014!important}.appointment-activity-chart .recharts-tooltip-label{margin-bottom:5px;font-size:12px;font-weight:600;color:var(--text-primary)!important}.appointment-activity-chart .recharts-tooltip-item{font-size:12px;color:var(--text-secondary)!important}.appointment-activity-busiest{flex-direction:column;justify-content:center;gap:12px;min-height:280px;display:flex}.appointment-activity-busiest-item{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:14px;padding:16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.appointment-activity-busiest-item:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.appointment-activity-busiest-icon{width:44px;height:44px;color:var(--primary);background:#eef3ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.appointment-activity-busiest-content{flex-direction:column;gap:3px;min-width:0;display:flex}.appointment-activity-busiest-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.appointment-activity-busiest-content strong{color:var(--text-primary);font-size:17px;font-weight:700}.appointment-activity-busiest-content p{color:var(--text-secondary);margin:0;font-size:12px}.appointment-activity-empty{text-align:center;min-height:280px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:13px;display:flex}@media (width<=1100px){.appointment-activity-content{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-activity-section:last-child{grid-column:1/-1}}@media (width<=768px){.appointment-activity{padding:16px}.appointment-activity-content{grid-template-columns:1fr}.appointment-activity-section:last-child{grid-column:auto}.appointment-activity-chart,.appointment-activity-busiest,.appointment-activity-empty{height:260px;min-height:260px}}.appointment-insights{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:20px;box-shadow:0 2px 6px #0000000a}.appointment-insights-header{margin-bottom:18px}.appointment-insights-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.appointment-insights-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.appointment-insights-content{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.appointment-insights-section{border:1px solid var(--border);background:#fff;border-radius:10px;min-width:0;padding:16px;transition:transform .2s,box-shadow .2s,border-color .2s}.appointment-insights-section:hover{border-color:#d8dee8;transform:translateY(-2px);box-shadow:0 5px 14px #0000000f}.appointment-insights-section-header{margin-bottom:6px}.appointment-insights-section-header h4{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.appointment-insights-section-header p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.appointment-insights-chart{width:100%;height:280px;margin-top:8px}.appointment-insights-chart .recharts-cartesian-axis-tick-value{fill:var(--text-secondary);font-size:11px}.appointment-insights-chart .recharts-tooltip-wrapper{outline:none}@media (width<=1200px){.appointment-insights-content{grid-template-columns:1fr 1fr}.appointment-insights-section:last-child{grid-column:span 2}}@media (width<=768px){.appointment-insights{padding:16px}.appointment-insights-content{grid-template-columns:1fr}.appointment-insights-section:last-child{grid-column:auto}.appointment-insights-chart{height:260px}}.reports-filters{background:var(--bg-primary);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;padding:20px 24px}.reports-filters-header{margin-bottom:18px}.reports-filters-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.reports-filter-grid{grid-template-columns:1.5fr 1fr 1fr auto;align-items:end;gap:16px;display:grid}.reports-date-grid{display:contents}.reports-filter-actions{border-top:none;align-items:center;gap:8px;margin-top:0;padding-top:0;display:flex}@media (width<=900px){.reports-filter-grid{grid-template-columns:1fr 1fr}.reports-date-grid{display:contents}.reports-filter-actions{grid-column:1/-1;justify-content:flex-end;margin-top:4px}}@media (width<=600px){.reports-filters{padding:18px}.reports-filter-grid{grid-template-columns:1fr;gap:16px}.reports-filter-actions{grid-column:auto;justify-content:stretch}}@media (width<=431px){.reports-filter-grid{grid-template-columns:1fr}.reports-filter-actions{justify-self:flex-end;margin-left:auto;display:flex}}.patient-summary{background:var(--bg-primary);border:1px solid var(--border);border-radius:14px;padding:24px}.patient-summary-header{margin-bottom:20px}.patient-summary-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.patient-summary-header p{color:var(--text-secondary);margin:6px 0 0;font-size:13px}.patient-summary-cards{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.patient-summary-card{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:16px;min-height:110px;padding:20px;transition:box-shadow .2s,transform .2s;display:flex}.patient-summary-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #3f181812}.patient-summary-card-icon{background:var(--primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.patient-summary-card-content{flex-direction:column;gap:4px;min-width:0;display:flex}.patient-summary-card-content span{color:var(--text-secondary);font-size:13px}.patient-summary-card-content strong{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.1}.patient-summary-card-content p{color:var(--text-secondary);margin:2px 0 0;font-size:12px}@media (width<=700px){.patient-summary-cards{grid-template-columns:1fr}}.new-patients-over-time{background:var(--bg-primary);border:1px solid var(--border);box-sizing:border-box;border-radius:16px;width:100%;margin-top:18px;padding:24px}.new-patients-over-time-header{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.new-patients-over-time-header h3{color:var(--text-primary);margin:0 0 6px;font-size:18px;font-weight:700}.new-patients-over-time-header p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.new-patients-over-time-filters{background:var(--bg-secondary);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;align-items:flex-end;gap:14px;margin-bottom:24px;padding:16px;display:flex}.new-patients-over-time-filters>*{min-width:0}.new-patients-over-time-filter-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.new-patients-over-time-chart{width:100%;min-height:300px}.new-patients-over-time-empty{text-align:center;min-height:300px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:14px;display:flex}@media (width<=900px){.new-patients-over-time-filters{flex-wrap:wrap;align-items:flex-end}.new-patients-over-time-filter-actions{width:100%}}@media (width<=600px){.new-patients-over-time{border-radius:14px;padding:18px}.new-patients-over-time-header{margin-bottom:18px}.new-patients-over-time-filters{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.new-patients-over-time-filter-actions{width:100%}}.financial-summary{width:100%;margin-bottom:24px}.financial-summary-header{margin-bottom:14px}.financial-summary-header h3{color:var(--text-primary);margin:0;font-size:17px;font-weight:600}.financial-summary-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.financial-summary-cards{box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:14px;padding:0;display:grid}.financial-summary-card{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:14px;min-height:96px;padding:18px 20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000000a}.financial-summary-card:before{content:"";background:var(--financial-accent);width:4px;position:absolute;top:0;bottom:0;left:0}.financial-summary-card:hover{border-color:var(--financial-accent);transform:translateY(-2px);box-shadow:0 6px 16px #00000012}.financial-summary-icon{width:44px;height:44px;color:var(--financial-accent);background:var(--financial-icon-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.financial-summary-card-content{flex-direction:column;gap:3px;min-width:0;display:flex}.financial-summary-card-content span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.financial-summary-card-content strong{color:var(--text-primary);white-space:nowrap;font-size:26px;font-weight:700;line-height:1.1}.financial-summary-card:first-child{--financial-accent:#4f7cff;--financial-icon-bg:#eef3ff}.financial-summary-card:nth-child(2){--financial-accent:#45a56a;--financial-icon-bg:#edf8f1}.financial-summary-card:nth-child(3){--financial-accent:#d59a45;--financial-icon-bg:#fff7e9}.financial-summary-card:nth-child(4){--financial-accent:#d96b6b;--financial-icon-bg:#fdf0f0}.financial-summary-card:nth-child(5){--financial-accent:#8a6ac8;--financial-icon-bg:#f4f0fb}.financial-summary-loading{min-height:140px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:14px;display:flex}@media (width<=1200px){.financial-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.financial-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.financial-summary-cards{grid-template-columns:1fr}}.revenue-by-payment{width:100%;margin-top:28px}.revenue-by-payment-header{margin-bottom:14px}.revenue-by-payment-header h3{color:var(--text-primary);margin:0;font-size:17px;font-weight:600}.revenue-by-payment-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.revenue-by-payment-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.revenue-by-payment-item{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;min-height:82px;padding:18px 20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;box-shadow:0 2px 6px #0000000a}.revenue-by-payment-item:hover{border-color:#d8d8d8;transform:translateY(-2px);box-shadow:0 6px 16px #00000012}.revenue-by-payment-method{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.revenue-by-payment-details{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.revenue-by-payment-amount{color:var(--text-primary);white-space:nowrap;font-size:15px;font-weight:600;line-height:1.2}.revenue-by-payment-count{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:400;line-height:1.2}.revenue-by-payment-empty{border:1px solid var(--border);min-height:100px;color:var(--text-secondary);background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:20px;font-size:14px;display:flex}.revenue-by-payment-loading{min-height:100px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:14px;display:flex}@media (width<=1100px){.revenue-by-payment-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.revenue-by-payment-list{grid-template-columns:1fr}}.revenue-by-service{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:20px;box-shadow:0 2px 6px #0000000a}.revenue-by-service-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.revenue-by-service-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.revenue-by-service-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.revenue-by-service-chart{width:100%;margin-top:8px}.revenue-service-tooltip{border:1px solid var(--border);z-index:1000;background:#fff;border-radius:8px;min-width:200px;padding:12px 14px;box-shadow:0 6px 18px #0000001f}.revenue-service-tooltip strong{color:var(--text-primary);margin-bottom:10px;font-size:13px;font-weight:600;display:block}.revenue-service-tooltip div{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:20px;margin-top:6px;font-size:12px;display:flex}.revenue-service-tooltip span{color:var(--text-primary);font-weight:600}.revenue-by-service-empty{height:220px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:13px;display:flex}@media (width<=768px){.revenue-by-service{padding:16px}.revenue-by-service-chart{width:100%}}.revenue-over-time{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:20px;box-shadow:0 2px 6px #0000000a}.revenue-over-time-header{margin-bottom:16px}.revenue-over-time-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.revenue-over-time-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.revenue-over-time-chart{width:100%;height:320px;margin-top:8px}.revenue-over-time-tooltip{border:1px solid var(--border);z-index:1000;background:#fff;border-radius:8px;min-width:170px;padding:12px 14px;box-shadow:0 6px 18px #0000001f}.revenue-over-time-tooltip strong{color:var(--text-primary);margin-bottom:10px;font-size:13px;font-weight:600;display:block}.revenue-over-time-tooltip div{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:20px;margin-top:6px;font-size:12px;display:flex}.revenue-over-time-tooltip span{color:var(--text-primary);font-weight:600}.revenue-over-time-loading,.revenue-over-time-empty{height:320px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:13px;display:flex}@media (width<=768px){.revenue-over-time{padding:16px}.revenue-over-time-chart{height:300px}}.billing-reports{width:100%}.billing-reports-filters{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;align-items:flex-end;gap:16px;margin-bottom:24px;padding:22px 24px;display:flex;box-shadow:0 2px 8px #0000000a}.billing-reports-filter-field{flex:1;min-width:180px}.billing-reports-filter-field .text-field{margin-bottom:0}.billing-reports-filter-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.billing-reports-filter-actions button{white-space:nowrap;height:44px;padding:0 18px}@media (width<=700px){.billing-reports-filters{flex-wrap:wrap}.billing-reports-filter-field{flex:none;width:100%}.billing-reports-filter-actions{justify-content:flex-end;width:100%;margin-left:0}}.reports-toggle{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;align-items:center;gap:3px;margin-bottom:20px;padding:4px;display:inline-flex}.reports-toggle-button{min-width:105px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:9px 18px;font-size:13px;font-weight:500;transition:background .2s,color .2s,box-shadow .2s,transform .15s}.reports-toggle-button:hover{color:var(--text-primary);background:#ffffff8c}.reports-toggle-button.active{background:var(--bg-primary);color:var(--primary);font-weight:600;box-shadow:0 2px 5px #0000000f}.reports-toggle-button:active{transform:scale(.98)}.reports-toggle-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=600px){.reports-toggle{width:100%}.reports-toggle-button{flex:1;min-width:0;padding:9px 10px;font-size:12px}}.user-profile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.user-profile-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.user-profile-header h2{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.user-profile-header p{margin:var(--space-xs) 0 0;color:var(--text-secondary);font-size:.875rem}.user-profile-content{gap:var(--space-xl);padding:var(--space-xl);display:flex}.user-profile-identity{align-items:center;gap:var(--space-md);min-width:280px;padding-right:var(--space-xl);border-right:1px solid var(--border);display:flex}.user-profile-image-wrapper{background:var(--background);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex;overflow:hidden}.user-profile-image{object-fit:cover;width:100%;height:100%}.user-profile-placeholder{color:var(--text-secondary)}.user-profile-name{gap:var(--space-sm);flex-direction:column;display:flex}.user-profile-name h3{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:600}.user-profile-role{width:fit-content;color:var(--primary);background:#1f3a6d14;border-radius:999px;padding:.3rem .65rem;font-size:.75rem;font-weight:600}.user-profile-details{gap:var(--space-lg);flex:1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.user-profile-detail{align-items:flex-start;gap:var(--space-sm);display:flex}.user-profile-detail>svg{color:var(--primary);flex-shrink:0;margin-top:2px}.user-profile-detail div{flex-direction:column;gap:.2rem;display:flex}.user-profile-detail span{color:var(--text-secondary);font-size:.75rem;font-weight:500}.user-profile-detail strong{color:var(--text-primary);word-break:break-word;font-size:.9rem;font-weight:500}@media (width<=900px){.user-profile-content{flex-direction:column}.user-profile-identity{min-width:unset;padding-right:0;padding-bottom:var(--space-lg);border-right:none;border-bottom:1px solid var(--border)}}@media (width<=600px){.user-profile-header,.user-profile-content{padding:var(--space-md)}.user-profile-details{grid-template-columns:1fr}}.user-profile-edit-button{justify-content:center;align-items:center;gap:var(--space-sm);border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;padding:.55rem .9rem;font-size:.8rem;font-weight:500;transition:background .2s,border-color .2s;display:flex}.user-profile-edit-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.user-profile-edit-button:active{transform:translateY(1px)}.user-profile-avatar{color:#294d7d;background:#eef3fa;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;font-size:24px;font-weight:700;display:flex}.edit-user-profile-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.edit-user-profile-file-field{flex-direction:column;grid-column:1/-1;gap:7px;display:flex}.edit-user-profile-file-field label{color:#334155;font-size:13px;font-weight:600}.edit-user-profile-file-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;padding:9px 10px;font-family:inherit;font-size:13px}.edit-user-profile-file-field span{color:var(--text-secondary);font-size:11px}.edit-user-profile-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;padding-top:14px;display:flex}.change-password{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:20px;overflow:hidden}.change-password-header{border-bottom:1px solid var(--border);background:#f8fafc;align-items:center;gap:14px;padding:20px 22px;display:flex}.change-password-icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--primary);background:#eef3fa;flex-shrink:0;justify-content:center;align-items:center;display:flex}.change-password-header h2{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.change-password-header p{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.5}.change-password-content{justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.change-password-info{min-width:0;color:var(--primary);align-items:center;gap:12px;display:flex}.change-password-info>svg{flex-shrink:0}.change-password-info div{flex-direction:column;gap:4px;display:flex}.change-password-info strong{color:var(--text-primary);font-size:13px;font-weight:600}.change-password-info span{color:var(--text-secondary);font-size:11px;line-height:1.4}.change-password-button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.change-password-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.change-password-button:active{transform:translateY(1px)}@media (width<=600px){.change-password-content{flex-direction:column;align-items:stretch}.change-password-button{width:100%}}.change-password-form{flex-direction:column;gap:18px;display:flex}.change-password-requirements{border:1px solid var(--border);border-radius:var(--radius-md);background:#f8fafc;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.change-password-requirements-title{color:var(--text-primary);font-size:12px;font-weight:600}.change-password-requirements ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.change-password-requirements li{color:var(--text-secondary);font-size:11px}.change-password-otp{text-align:center}.change-password-otp input{text-align:center;letter-spacing:4px;font-weight:600}.change-password-error{color:var(--danger);margin-top:-8px;font-size:11px;font-weight:500}.change-password-form-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;padding-top:14px;display:flex}.mfa-settings{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:20px;overflow:hidden}.mfa-settings-header{border-bottom:1px solid var(--border);background:#f8fafc;align-items:center;gap:14px;padding:20px 22px;display:flex}.mfa-settings-icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--primary);background:#eef3fa;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mfa-settings-header h2{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.mfa-settings-header p{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.5}.mfa-settings-content{justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.mfa-settings-info{min-width:0;color:var(--primary);align-items:center;gap:12px;display:flex}.mfa-settings-info>svg{flex-shrink:0}.mfa-settings-info div{flex-direction:column;gap:4px;display:flex}.mfa-settings-info strong{color:var(--text-primary);font-size:13px;font-weight:600}.mfa-settings-info span{color:var(--text-secondary);font-size:11px;line-height:1.4}.mfa-settings-action{flex-shrink:0;align-items:center;gap:10px;display:flex}.mfa-status{border-radius:var(--radius-sm);white-space:nowrap;padding:6px 10px;font-size:11px;font-weight:600}.mfa-status.enabled{color:#16834a;background:#e8f5ed}.mfa-status.disabled{color:var(--text-secondary);background:#f1f3f5}.mfa-settings-button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.mfa-settings-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.mfa-settings-button:active{transform:translateY(1px)}.mfa-settings-button:disabled{color:var(--primary);cursor:default;background:#eef3fa;border-color:#eef3fa}.mfa-settings-button:disabled:hover{background:#eef3fa;border-color:#eef3fa}.mfa-settings-loading{padding:24px 22px}.mfa-setup-content{text-align:center;flex-direction:column;align-items:center;display:flex}.mfa-setup-content h3{color:var(--text-primary);margin:0 0 8px;font-size:17px;font-weight:700}.mfa-setup-content p{max-width:380px;color:var(--text-secondary);margin:0 0 16px;font-size:12px;line-height:1.5}.mfa-qr-code{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;width:190px;height:190px;margin:8px 0 20px;padding:8px}.mfa-setup-content input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;max-width:280px;color:var(--text-primary);text-align:center;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.mfa-setup-content input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f3a6d14}.mfa-verify-button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;width:100%;max-width:280px;margin-top:10px;padding:10px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,transform .15s}.mfa-verify-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.mfa-verify-button:active{transform:translateY(1px)}@media (width<=600px){.mfa-settings-content,.mfa-settings-action{flex-direction:column;align-items:stretch}.mfa-settings-button{width:100%}.mfa-status{align-self:flex-start}}.specialization-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;padding:16px}.specialization-card-header{border-left:3px solid var(--primary);align-items:center;padding-left:12px;display:flex}.specialization-card-name{flex:1;min-width:0}.specialization-card-name h3{color:var(--text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.35}.specialization-card-name span{color:var(--text-secondary);margin-top:5px;font-size:12px;display:block}.specialization-card-count{background:#f7faff;border:1px solid #e2ebfa;border-radius:9px;margin-top:16px;padding:13px}.specialization-card-count-header span{color:var(--text-secondary);letter-spacing:.04em;font-size:11px;font-weight:700}.specialization-card-count-value{color:var(--primary);margin-top:8px;font-size:28px;font-weight:700;line-height:1}.specialization-card-count-description{color:var(--text-secondary);margin-top:5px;font-size:12px}.specialization-card-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;margin-top:14px;padding-top:12px;display:flex}.specialization-card-edit{cursor:pointer;color:var(--text-primary);border:1px solid var(--border);background:#f8fafc;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.specialization-card-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.specialization-card-status{margin-top:16px}.specialization-status{text-transform:capitalize;border-radius:999px;align-items:center;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.specialization-status.active{color:#15803d;background:#ecfdf3}.specialization-status.inactive{color:#64748b;background:#f1f5f9}.specialization-card-delete{cursor:pointer;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.specialization-card-delete:hover{background:#fee2e2;transform:translateY(-1px)}.specialization-form{flex-direction:column;gap:20px;display:flex}.specialization-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.specialization-status-toggle{align-items:center;gap:10px;margin-top:20px;display:flex}.specialization-status-toggle-label{color:var(--text-primary);font-size:13px;font-weight:600}.specialization-status-toggle-value{color:var(--text-secondary);font-size:12px;font-weight:600}.specializations-grid{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.add-specialization-modal{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}@media (width<=900px){.specializations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.specializations-grid{grid-template-columns:1fr}}.specializations-pagination{justify-content:center;align-items:center;gap:12px;width:100%;margin-top:24px;display:flex}.specializations-pagination button{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:16px;font-weight:500;transition:all .2s;display:flex}.specializations-pagination button:hover:not(:disabled){border-color:var(--primary);background:var(--background);color:var(--primary)}.specializations-pagination button:disabled{opacity:.45;cursor:not-allowed}.specializations-pagination span{color:var(--text-secondary);font-size:13px;font-weight:500}.service-category-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;display:grid}.service-category-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;padding:14px;transition:all .2s;display:flex}.service-category-card:hover{border-color:#d7dee8;transform:translateY(-1px);box-shadow:0 4px 12px #4975c60f}.service-category-card-header{border-left:3px solid var(--primary);align-items:flex-start;padding-left:10px;display:flex}.service-category-card-name h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700;line-height:1.35}.service-category-card-name span{color:var(--text-secondary);margin-top:4px;font-size:11px;font-weight:500;display:block}.service-category-card-count{background:#f8faff;border:1px solid #dbe7f7;border-radius:8px;margin-top:14px;padding:10px 12px}.service-category-card-count-header{margin-bottom:3px}.service-category-card-count-header span{letter-spacing:.3px;color:var(--text-secondary);font-size:10px;font-weight:700}.service-category-card-count-value{color:var(--primary);font-size:20px;font-weight:700;line-height:1.2}.service-category-card-count-description{color:var(--text-secondary);margin-top:2px;font-size:10px;font-weight:500}.service-category-card-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;padding-top:10px;display:flex}.service-category-card-edit,.service-category-card-delete{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 11px;font-family:inherit;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.service-category-card-edit{border:1px solid var(--border);color:var(--text-primary);background:#f8fafc}.service-category-card-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.service-category-card-delete{color:#dc2626;background:#fff1f2;border:1px solid #fecdd3}.service-category-card-delete:hover{background:#ffe4e6;transform:translateY(-1px)}@media (width<=431px){.service-category-grid{grid-template-columns:1fr}}.pricing-unit-category-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;display:grid}.pricing-unit-category-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;padding:14px;transition:all .2s;display:flex}.pricing-unit-category-card:hover{border-color:#d7dee8;transform:translateY(-1px);box-shadow:0 4px 12px #4975c60f}.pricing-unit-category-card-header{border-left:3px solid var(--primary);align-items:flex-start;padding-left:10px;display:flex}.pricing-unit-category-card-name h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700;line-height:1.35}.pricing-unit-category-card-name span{color:var(--text-secondary);margin-top:4px;font-size:11px;font-weight:500;display:block}.pricing-unit-category-card-count{background:#f8faff;border:1px solid #dbe7f7;border-radius:8px;margin-top:14px;padding:10px 12px}.pricing-unit-category-card-count-header{margin-bottom:3px}.pricing-unit-category-card-count-header span{letter-spacing:.3px;color:var(--text-secondary);font-size:10px;font-weight:700}.pricing-unit-category-card-count-value{color:var(--primary);font-size:20px;font-weight:700;line-height:1.2}.pricing-unit-category-card-count-description{color:var(--text-secondary);margin-top:2px;font-size:10px;font-weight:500}.pricing-unit-category-card-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;padding-top:10px;display:flex}.pricing-unit-category-card-edit,.pricing-unit-category-card-delete{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 11px;font-family:inherit;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.pricing-unit-category-card-edit{border:1px solid var(--border);color:var(--text-primary);background:#f8fafc}.pricing-unit-category-card-edit:hover{background:#f1f5f9;transform:translateY(-1px)}.pricing-unit-category-card-delete{color:#dc2626;background:#fff1f2;border:1px solid #fecdd3}.pricing-unit-category-card-delete:hover{background:#ffe4e6;transform:translateY(-1px)}@media (width<=1200px){.pricing-unit-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.pricing-unit-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.pricing-unit-category-grid{grid-template-columns:1fr}}.service-category-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}.service-category-form,.pricing-unit-category-form{width:100%}.pricing-unit-category-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}.category-view-switch{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;align-items:center;margin-bottom:24px;padding:4px;display:inline-flex}.category-view-switch-option{height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .2s,color .2s,box-shadow .2s;display:inline-flex}.category-view-switch-option:hover:not(.active){color:var(--text-primary)}.category-view-switch-option.active{color:var(--text-primary);background:#fff;box-shadow:0 1px 3px #00000014}.category-controls{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.category-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.category-add-button span{font-size:18px;font-weight:400;line-height:1}.category-add-button:hover{opacity:.9;transform:translateY(-1px)}.category-pagination{justify-content:center;align-items:center;gap:12px;margin-top:20px;padding:4px 0;display:flex}.category-pagination-button{border:1px solid var(--border);width:32px;height:32px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.category-pagination-button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.category-pagination-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.category-pagination-info{text-align:center;min-width:120px;color:var(--text-secondary);font-size:12px;font-weight:600}@media (width<=431px){.category-controls{flex-direction:column}.category-add-button{justify-self:flex-end;margin-left:auto}}.consultation-overview{background:#fff;border-radius:12px;margin-top:20px;overflow:hidden;box-shadow:0 2px 8px #0f172a09}.consultation-overview-header{background:#fff;align-items:center;padding:18px 20px 16px;display:flex;position:relative}.consultation-overview-header:after{content:"";background:#e5e7eb;height:1px;position:absolute;bottom:0;left:20px;right:20px}.consultation-overview-title{color:var(--primary);align-items:center;gap:10px;display:flex}.consultation-overview-title>svg{box-sizing:content-box;background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:8px;width:19px;height:19px;padding:7px}.consultation-overview-title>div{flex-direction:column;gap:2px;display:flex}.consultation-overview-title h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:750}.consultation-overview-title span{color:var(--text-secondary);font-size:10px}.consultation-overview-content{padding:20px}.consultation-overview-field{padding:4px 0 18px}.consultation-overview-field+.consultation-overview-field{border-top:1px solid #eef1f5;margin-top:4px;padding-top:18px}.consultation-overview-field span{letter-spacing:.65px;color:var(--text-secondary);margin-bottom:7px;font-size:9px;font-weight:700;display:block}.consultation-overview-field p{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.65}.consultation-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:4px;margin-bottom:18px;display:grid}.consultation-overview-grid .consultation-overview-field{background:#f8fafc;border:none;border-radius:9px;padding:16px 17px;position:relative;overflow:hidden}.consultation-overview-grid .consultation-overview-field:before{content:"";background:var(--primary);opacity:.75;width:3px;position:absolute;top:0;bottom:0;left:0}.consultation-overview-grid .consultation-overview-field+.consultation-overview-field{border-top:none;margin-top:0;padding-top:16px}.consultation-workspace-sections{flex-direction:column;gap:28px;margin-top:28px;display:flex}.consultation-management-section{flex-direction:column;gap:12px;display:flex}.consultation-section-heading{align-items:center;padding:0 2px;display:flex}.consultation-section-heading h2{color:var(--text-primary);margin:0;font-size:15px;font-weight:750}.consultation-section-heading p{color:var(--text-secondary);margin:3px 0 0;font-size:10px}.consultation-care-plan-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:16px;width:100%;padding:18px 20px;font-family:inherit;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden}.consultation-care-plan-card:before{content:"";background:var(--primary);opacity:.8;width:3px;position:absolute;top:0;bottom:0;left:0}.consultation-care-plan-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, #e5e7eb);transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0f}.consultation-action-icon{background:color-mix(in srgb, var(--primary) 10%, transparent);width:44px;height:44px;color:var(--primary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.consultation-action-content{flex:1;min-width:0}.consultation-action-content h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:700}.consultation-action-content p{color:var(--text-secondary);margin:4px 0 0;font-size:11px;line-height:1.5}.consultation-action-arrow{color:#94a3b8;flex-shrink:0;transition:color .2s,transform .2s}.consultation-care-plan-card:hover .consultation-action-arrow{color:var(--primary);transform:translate(3px)}.consultation-support-section{flex-direction:column;gap:12px;display:flex}.consultation-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.consultation-support-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:76px;padding:14px 16px;font-family:inherit;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.consultation-support-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, #e5e7eb);transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0d}.consultation-support-card .consultation-action-icon{border-radius:8px;width:38px;height:38px}.consultation-support-card .consultation-action-content h3{font-size:13px}.consultation-support-card .consultation-action-content p{font-size:10px}.consultation-support-card:hover .consultation-action-arrow{color:var(--primary);transform:translate(3px)}.consultation-workspace-header{box-shadow:inset 4px 0 0 var(--primary), 0 2px 8px #0f172a0a;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:36px;padding:22px 28px;display:flex}.consultation-workspace-patient{align-items:center;gap:16px;min-width:0;display:flex}.consultation-workspace-patient-avatar{border:2px solid var(--primary);width:48px;height:48px;color:var(--primary);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.consultation-workspace-patient-info{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.consultation-workspace-label{letter-spacing:1.2px;color:var(--text-secondary);align-items:center;gap:5px;margin-bottom:4px;font-size:9px;font-weight:700;display:flex}.consultation-workspace-label:before{content:"";background:var(--primary);border-radius:50%;width:5px;height:5px}.consultation-workspace-patient-info h1{letter-spacing:-.3px;color:var(--text-primary);margin:0;font-size:21px;font-weight:800;line-height:1.2}.consultation-workspace-patient-meta{align-items:center;gap:10px;margin-top:5px;display:flex}.consultation-workspace-patient-meta span{color:var(--text-secondary);font-size:12px;font-weight:500}.consultation-workspace-patient-meta span:first-child{letter-spacing:.3px;color:var(--text-primary);font-family:SF Mono,Roboto Mono,monospace;font-size:11px}.consultation-workspace-patient-meta span+span{border-left:1px solid #e2e8f0;padding-left:10px}.consultation-workspace-status{letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:5px;margin-top:10px;padding:4px 11px;font-size:10px;font-weight:700;display:inline-flex}.consultation-workspace-status.draft{color:#92400e;border:1.5px solid #f59e0b}.consultation-workspace-status.completed{color:#166534;border:1.5px solid #22c55e}.consultation-workspace-details{flex-shrink:0;align-items:stretch;gap:0;display:flex}.consultation-workspace-detail{white-space:nowrap;align-items:center;gap:10px;padding:0 20px;display:flex}.consultation-workspace-detail+.consultation-workspace-detail{border-left:1px solid #e2e8f0}.consultation-workspace-detail svg{box-sizing:border-box;background:color-mix(in srgb, var(--primary) 12%, transparent);width:30px;height:30px;color:var(--primary);border-radius:8px;flex-shrink:0;padding:7px}.consultation-workspace-detail>div{flex-direction:column;gap:3px;display:flex}.consultation-workspace-detail span{letter-spacing:.6px;color:var(--text-secondary);text-transform:uppercase;font-size:9px;font-weight:700}.consultation-workspace-detail strong{color:var(--text-primary);font-size:13px;font-weight:600}.consultation-workspace-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:12px;padding:0;font-family:inherit;font-size:11px;font-weight:600;transition:color .2s;display:inline-flex}.consultation-workspace-back:hover{color:var(--primary)}.consultation-workspace-back svg{flex-shrink:0}.consultation-workspace-status.treatment-in-progress{color:#2f7d55;background:#edf8f2;border-radius:999px;align-items:center;width:fit-content;padding:5px 10px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.navbar{z-index:10;box-sizing:border-box;-webkit-backdrop-filter:blur(22px);background:#ffffff9e;border:1px solid #ffffffbf;border-radius:22px;justify-content:space-between;align-items:center;width:calc(100% - 80px);max-width:1240px;height:72px;margin:22px auto 0;padding:0 18px 0 20px;display:flex;position:relative;box-shadow:0 18px 45px #1f3a6d1a,inset 0 1px #ffffffe6}.navbar-brand{align-items:center;gap:10px;display:flex}.navbar-logo{align-items:center;display:flex}.navbar-logo img{width:48px;height:auto;display:block}.navbar-brand-name{color:#1f3a6d;letter-spacing:-.4px;font-family:DM Serif Display,serif;font-size:23px;font-weight:400}.navbar-links{align-items:center;gap:34px;display:flex}.navbar-links a{color:#374151;padding:8px 0;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.navbar-links a:hover{color:#1f3a6d}.navbar-links a:after{content:"";background:#1f3a6d;width:0;height:1.5px;transition:width .2s;position:absolute;bottom:1px;left:0}.navbar-links a:hover:after{width:100%}.navbar-signin{color:#fff;cursor:pointer;background:#1f3a6d;border:1px solid #ffffff26;border-radius:11px;padding:11px 22px;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 8px 18px #1f3a6d2e}.navbar-signin:hover{background:#18315c;transform:translateY(-1px);box-shadow:0 10px 22px #1f3a6d38}.navbar-signin:active{transform:translateY(0)}.burger-menu{cursor:pointer;color:#1f3a6d;background:0 0;border:none;padding:8px;font-size:24px;transition:color .2s;display:none}.burger-menu:hover{color:#18315c}.navbar-menu-mobile{-webkit-backdrop-filter:blur(22px);background:#fffffff2;border:1px solid #ffffffbf;border-radius:11px;flex-direction:column;align-items:center;gap:12px;width:150px;margin-top:8px;margin-left:auto;padding:16px 18px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 45px #1f3a6d26}.navbar-menu-mobile a{color:#374151;padding:8px 0;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.navbar-menu-mobile a:hover{color:#1f3a6d}@media (width<=431px){.navbar{width:calc(100% - 40px)}.burger-menu{display:block}.navbar-links{display:none}}.hero-section{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 90px);padding:80px 24px 100px;display:flex}.hero-eyebrow{color:#1f3a6d;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 24px;font-size:11px;font-weight:700}.hero-brand{color:#1f3a6d;letter-spacing:-1.5px;margin:0 0 22px;font-family:DM Serif Display,serif;font-size:clamp(36px,4.2vw,60px);font-weight:400;line-height:1}.hero-headline{color:#172033;letter-spacing:-2px;max-width:900px;margin:0;font-family:DM Serif Display,serif;font-size:clamp(52px,6vw,88px);font-weight:400;line-height:1.02}.hero-description{color:#667085;max-width:650px;margin:30px auto 0;font-size:16px;font-weight:400;line-height:1.7}.hero-pillars{grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:850px;margin-top:48px;display:grid}.hero-pillar{-webkit-backdrop-filter:blur(18px);box-sizing:border-box;text-align:left;background:#ffffff85;border:1px solid #ffffffd9;border-radius:18px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:88px;padding:20px 24px;transition:all .25s;display:flex;box-shadow:0 16px 40px #1f3a6d12,inset 0 1px #ffffffe6}.hero-pillar:hover{background:#ffffffad;border-color:#fff;transform:translateY(-3px);box-shadow:0 20px 45px #1f3a6d1a,inset 0 1px #fffffff2}.hero-pillar-number{color:#9aa8b8;letter-spacing:1.5px;margin-bottom:8px;font-size:8px;font-weight:700}.hero-pillar-word{color:#1f3a6d;letter-spacing:2px;font-size:11px;font-weight:700}.hero-accent{align-items:center;gap:6px;margin-top:42px;display:flex}.hero-accent span{opacity:.35;background:#1f3a6d;border-radius:50%;width:5px;height:5px}.hero-accent span:nth-child(2){opacity:.7;border-radius:10px;width:28px}@media (width<=900px){.hero-section{padding:80px 40px 90px}.hero-pillars{max-width:700px}}@media (width<=600px){.hero-section{min-height:auto;padding:80px 24px 70px}.hero-headline{font-size:43px}.hero-description{font-size:14px}.hero-pillars{grid-template-columns:1fr;max-width:360px;margin-top:38px}.hero-pillar{min-height:76px}}@media (width<=431px){.hero-section{height:calc(100% - 72px);padding:70px 24px}.hero-eyebrow{margin:0 10px 20px;font-size:10px}.hero-headline{font-size:43px}.hero-description{font-size:14px}.hero-pillars{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:38px;padding:0}.hero-pillar{text-align:center;align-items:center;min-width:110px;min-height:100px;margin:auto;padding:10px;font-size:10px}.hero-pillar:first-child .hero-pillar-number{position:relative;bottom:7px}}.about-section{background:#f4f8fc;padding:120px 80px 90px}.about-content{max-width:1200px;margin:0 auto}.about-introduction{max-width:760px}.about-eyebrow{color:#1f3a6d;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700}.about-title{color:#172033;letter-spacing:-1.5px;margin:0;font-family:DM Serif Display,serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.08}.about-description{color:#667085;max-width:680px;margin:26px 0 0;font-size:16px;font-weight:400;line-height:1.75}.about-description+.about-description{margin-top:14px}.about-features{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:70px;display:grid}.about-feature{box-sizing:border-box;background:#f9fafb;border:1px solid #e7ebf0;border-radius:20px;min-height:280px;padding:30px;transition:all .25s}.about-feature:hover{background:#fff;border-color:#d5dce6;transform:translateY(-4px);box-shadow:0 16px 35px #1f3a6d14}.about-feature-top{color:#9aa4b2;justify-content:space-between;align-items:center;display:flex}.about-feature-number{letter-spacing:1.5px;font-size:11px;font-weight:700}.about-feature-icon{color:#1f3a6d;background:#edf3fa;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-top:42px;display:flex}.about-feature h3{color:#172033;margin:22px 0 0;font-size:18px;font-weight:600}.about-feature p{color:#667085;max-width:280px;margin:12px 0 0;font-size:14px;line-height:1.7}@media (width<=431px){.about-section{padding:80px 60px 70px}.about-title{font-size:38px}.about-description{font-size:12px}.about-features{grid-template-columns:1fr}}.landing-services{background:#f4f8fc;padding:70px 80px 140px}.landing-services-container{max-width:1200px;margin:0 auto}.landing-services-heading{max-width:720px;margin-bottom:55px}.landing-services-eyebrow{color:#1f3a6d;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700}.landing-services-title{color:#172033;letter-spacing:-1.5px;margin:0;font-family:DM Serif Display,serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.08}.landing-services-grid{grid-template-columns:1.15fr 1fr 1fr;gap:16px;display:grid}.landing-services-main{box-sizing:border-box;background:#fff;border:1px solid #dbe5ef;border-radius:22px;flex-direction:column;grid-row:span 3;min-height:560px;padding:32px;transition:all .25s;display:flex}.landing-services-card{box-sizing:border-box;background:#fff;border:1px solid #dbe5ef;border-radius:22px;flex-direction:column;min-height:198px;padding:28px;transition:all .25s;display:flex}.landing-services-main:hover,.landing-services-card:hover{border-color:#cbd9e8;transform:translateY(-3px);box-shadow:0 16px 35px #1f3a6d14}.landing-services-top{color:#9aa8b8;justify-content:space-between;align-items:center;display:flex}.landing-services-label{letter-spacing:1.5px;font-size:10px;font-weight:700}.landing-services-main-content{margin-top:38px}.landing-services-icon{color:#1f3a6d;background:#edf4fb;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-top:38px;display:flex}.landing-services-main .landing-services-icon{width:60px;height:60px;margin-top:0}.landing-services-main h3{color:#123b70;letter-spacing:-.5px;max-width:400px;margin:22px 0 0;font-family:DM Serif Display,serif;font-size:34px;font-weight:400;line-height:1.15}.landing-services-card h3{color:#172033;margin:18px 0 0;font-size:18px;font-weight:600}.landing-services-main p{color:#667085;max-width:470px;margin:14px 0 0;font-size:15px;line-height:1.7}.landing-services-card p{color:#667085;max-width:300px;margin:10px 0 0;font-size:13px;line-height:1.7}.landing-services-flow{background:#f9fbfd;border:1px solid #edf1f5;border-radius:16px;margin-top:30px;padding:18px}.landing-services-flow-title{color:#8290a3;letter-spacing:1.5px;padding:0 4px 12px;font-size:9px;font-weight:700}.landing-services-flow-item{border-top:1px solid #e8edf3;align-items:center;gap:14px;padding:12px 8px;display:flex}.landing-services-flow-number{color:#1f3a6d;background:#fff;border:1px solid #d9e5f1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:9px;font-weight:700;display:flex}.landing-services-flow-item div{flex-direction:column;gap:3px;display:flex}.landing-services-flow-item strong{color:#172033;font-size:12px;font-weight:600}.landing-services-flow-item div span{color:#7a8798;font-size:11px;line-height:1.4}@media (width<=900px){.landing-services{padding:100px 40px}.landing-services-grid{grid-template-columns:1fr 1fr}.landing-services-main{grid-area:auto/span 2;min-height:auto}}@media (width<=600px){.landing-services{padding:80px 24px}.landing-services-grid{grid-template-columns:1fr}.landing-services-main{grid-column:auto}.landing-services-card{min-height:210px}}@media (width<=431px){.landing-services{padding:0 70px 30px}.landing-services-title{padding:0 24px;font-size:38px}.landing-services-grid{scroll-snap-type:x mandatory;scrollbar-width:auto;grid-template-rows:repeat(4,1fr);grid-template-columns:1.15fr 1fr 1fr 1fr;gap:16px;height:730px;margin:0 -50px;padding:0 24px;display:grid;overflow:scroll hidden}.landing-services-grid::-webkit-scrollbar{height:6px}.landing-services-grid::-webkit-scrollbar-track{background:#e8edf3;border-radius:3px}.landing-services-grid::-webkit-scrollbar-thumb{background:#1f3a6d;border-radius:3px}.landing-services-main{scroll-snap-align:start;grid-row:span 3;width:400px;height:716px}.landing-services-card{scroll-snap-align:start;width:400px;height:350px}}.landing-how{background:#f4f8fc;padding:30px 80px 70px}.landing-how-container{max-width:1200px;margin:0 auto}.landing-how-heading{max-width:760px;margin-bottom:70px}.landing-how-eyebrow{color:#1f3a6d;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700}.landing-how-title{color:#172033;letter-spacing:-1.5px;margin:0;font-family:DM Serif Display,serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.08}.landing-how-intro{margin-top:26px}.landing-how-steps{background:#fff;border:1px solid #dbe5ef;border-radius:24px;padding:10px 34px;position:relative;box-shadow:0 18px 45px #1f3a6d0f}.landing-how-step{border-top:1px solid #e5ebf2;grid-template-columns:60px 64px 1fr;align-items:center;gap:24px;min-height:150px;padding:28px 0;display:grid;position:relative}.landing-how-step:first-child{border-top:none}.landing-how-step:last-child{border-bottom:none}.landing-how-number{color:#9aa8b8;letter-spacing:1.5px;font-size:11px;font-weight:700}.landing-how-icon{color:#1f3a6d;background:#f5f9fc;border:1px solid #dce6f0;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.landing-how-content{flex-direction:column;align-items:flex-start;display:flex}.landing-how-content>span{color:#8290a3;letter-spacing:1.8px;margin-bottom:7px;font-size:9px;font-weight:700}.landing-how-content h3{color:#172033;margin:0;font-family:DM Serif Display,serif;font-size:27px;font-weight:400;line-height:1.2}.landing-how-content p{color:#667085;max-width:650px;margin:7px 0 0;font-size:13px;line-height:1.7}.landing-how-step:hover .landing-how-icon{background:#edf4fb;border-color:#cbd9e8}@media (width<=700px){.landing-how-heading{margin-bottom:50px}.landing-how-step{grid-template-columns:42px 54px 1fr;gap:16px;min-height:140px;padding:24px 0}.landing-how-icon{width:48px;height:48px}.landing-how-content h3{font-size:23px}.landing-how-content p{font-size:12px}.landing-how{padding:40px 70px 30px}.landing-how-title{font-size:38px}.landing-how-intro{font-size:12px}.landing-how-steps{margin:0 -50px}.landing-how-step{grid-template-columns:auto 1fr}.landing-how-number{grid-area:1/1}.landing-how-icon{grid-area:1/2;margin-left:auto;right:0}.landing-how-content{grid-column:span 2}}.landing-patient{background:#fff;padding:100px 80px 120px}.landing-patient-container{grid-template-columns:1fr .85fr;align-items:center;gap:80px;max-width:1200px;min-height:620px;margin:0 auto;display:grid}.landing-patient-content{max-width:580px}.landing-patient-eyebrow{color:#1f3a6d;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700}.landing-patient-title{color:#172033;letter-spacing:-1.5px;margin:0;font-family:DM Serif Display,serif;font-size:clamp(42px,5vw,66px);font-weight:400;line-height:1.08}.landing-patient-description{color:#667085;max-width:520px;margin:24px 0 0;font-size:15px;line-height:1.8}.landing-patient-features{flex-direction:column;gap:20px;margin-top:38px;display:flex}.landing-patient-feature{align-items:center;gap:16px;display:flex}.landing-patient-feature-icon{color:#1f3a6d;background:#f4f8fc;border:1px solid #dce6f0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.landing-patient-feature h3{color:#172033;margin:0;font-size:14px;font-weight:600}.landing-patient-feature p{color:#7a8798;margin:4px 0 0;font-size:12px;line-height:1.5}.landing-patient-showcase{background:#f4f8fc;border-radius:30px;justify-content:center;align-items:center;min-height:620px;display:flex}.landing-patient-phone{box-sizing:border-box;background:#fff;border:8px solid #172033;border-radius:38px;width:285px;min-height:550px;padding:16px;box-shadow:0 30px 70px #1f3a6d29}.landing-patient-phone-top{color:#1f3a6d;justify-content:space-between;align-items:center;padding:8px 8px 24px;font-size:12px;font-weight:600;display:flex}.landing-patient-phone-content{padding:18px 8px}.landing-patient-phone-label{color:#8290a3;letter-spacing:1.5px;font-size:8px;font-weight:700}.landing-patient-phone-content h3{color:#172033;margin:12px 0 5px;font-family:DM Serif Display,serif;font-size:24px;font-weight:400;line-height:1.2}.landing-patient-phone-content>p{color:#7a8798;margin:0;font-size:11px}.landing-patient-appointment{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;display:grid}.landing-patient-appointment div{background:#f8fafc;border:1px solid #e3eaf1;border-radius:12px;padding:14px}.landing-patient-appointment span{color:#8290a3;letter-spacing:1px;margin-bottom:6px;font-size:7px;font-weight:700;display:block}.landing-patient-appointment strong{color:#172033;font-size:11px;font-weight:600}.landing-patient-phone-links{border-top:1px solid #e8edf3;flex-direction:column;gap:0;margin-top:32px;display:flex}.landing-patient-phone-links span{color:#526174;border-bottom:1px solid #e8edf3;padding:15px 4px;font-size:11px}@media (width<=900px){.landing-patient{padding:90px 40px 100px}.landing-patient-container{grid-template-columns:1fr;gap:60px}.landing-patient-content{max-width:700px}.landing-patient-showcase{min-height:580px}}@media (width<=600px){.landing-patient{padding:80px 24px 90px}.landing-patient-container{gap:45px}.landing-patient-title{font-size:43px}.landing-patient-showcase{border-radius:24px;min-height:500px}.landing-patient-phone{width:255px;min-height:500px}}@media (width<=431px){.landing-patient{padding:40px 70px 30px}.landing-patient-title{font-size:38px}.landing-patient-description{font-size:12px}}.landing-footer{background:#172033;padding:80px 80px 32px}.landing-footer-container{max-width:1200px;margin:0 auto}.landing-footer-main{justify-content:space-between;gap:80px;padding-bottom:65px;display:flex}.landing-footer-brand{max-width:360px}.landing-footer-brand h2{color:#fff;letter-spacing:-.5px;margin:0;font-family:DM Serif Display,serif;font-size:34px;font-weight:400}.landing-footer-brand p{color:#aeb8c7;max-width:300px;margin:14px 0 0;font-size:13px;line-height:1.7}.landing-footer-links{gap:100px;display:flex}.landing-footer-column{flex-direction:column;gap:13px;min-width:120px;display:flex}.landing-footer-column>span{color:#7f8da1;letter-spacing:1.8px;margin-bottom:7px;font-size:9px;font-weight:700}.landing-footer-column a{color:#d6dde7;width:fit-content;font-size:12px;text-decoration:none;transition:color .2s}.landing-footer-column a:hover{color:#fff}.landing-footer-divider{background:#ffffff1a;height:1px}.landing-footer-bottom{justify-content:space-between;align-items:center;padding:25px 0 0;display:flex}.landing-footer-bottom p{color:#7f8da1;margin:0;font-size:10px}.landing-footer-legal{gap:22px;display:flex}.landing-footer-legal a{color:#8d99aa;font-size:10px;text-decoration:none;transition:color .2s}.landing-footer-legal a:hover{color:#fff}.landing-footer-credit{justify-content:center;padding-top:35px;display:flex}.landing-footer-credit p{color:#687588;letter-spacing:.3px;margin:0;font-size:9px}@media (width<=700px){.landing-footer{padding:65px 24px 28px}.landing-footer-main{flex-direction:column;gap:50px;padding-bottom:50px}.landing-footer-links{gap:60px}.landing-footer-bottom{flex-direction:column;align-items:flex-start;gap:15px}.landing-footer-credit{justify-content:flex-start}}.landing-page{background:radial-gradient(circle at 50% 15%,#dbe9f7 0%,#edf4fb 35%,#f8fafc 70%);min-height:100vh;position:relative;overflow:hidden}.patient-accounts-table-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.patient-accounts-table-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.patient-accounts-table-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:650}.patient-accounts-table-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.patient-accounts-table-wrapper{width:100%;overflow-x:auto}.patient-accounts-table{border-collapse:collapse;table-layout:auto;width:100%}.patient-accounts-table thead{background:#f8fafc}.patient-accounts-table th{border-bottom:1px solid var(--border);color:#52627a;text-align:left;white-space:nowrap;height:45px;padding:0 22px;font-size:11px;font-weight:700}.patient-accounts-table td{border-bottom:1px solid var(--border);height:70px;color:var(--text-primary);white-space:nowrap;padding:0 22px;font-size:13px}.patient-accounts-table tbody tr:last-child td{border-bottom:none}.patient-accounts-table tbody tr{transition:background .15s}.patient-accounts-table tbody tr:hover{background:#fafafa}.patient-account-name{flex-direction:column;gap:3px;display:flex}.patient-account-name strong{color:var(--text-primary);font-size:13px;font-weight:600}.patient-account-name span{color:var(--text-secondary);font-size:11px}.patient-account-status{border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.patient-account-status.verified{color:var(--success);background:#f0fdf4}.patient-account-status.unverified{color:var(--warning);background:#fff7ed}.patient-accounts-pagination{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:14px;padding:16px 22px;display:flex}.patient-accounts-pagination span{color:var(--text-primary);font-size:12px;font-weight:500}.patient-accounts-pagination button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:64px;height:45px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-family:inherit;font-size:18px;transition:all .2s;display:flex}.patient-accounts-pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.patient-accounts-pagination button:disabled{opacity:.5;cursor:not-allowed}@media (width<=900px){.patient-accounts-table th,.patient-accounts-table td{padding:0 16px}}@media (width<=600px){.patient-accounts-table-container{border-radius:var(--radius-md)}.patient-accounts-table-header{padding:16px}.patient-accounts-pagination{padding:14px 16px}}.patient-account-filters{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:18px 20px}.patient-account-filters h3{color:var(--text-primary);margin:0 0 14px;font-size:16px;font-weight:650}.patient-account-filter-grid{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:14px;max-width:1100px;display:grid}.patient-account-filter-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;display:flex}@media (width<=900px){.patient-account-filter-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.patient-account-filters{padding:16px}.patient-account-filter-grid{grid-template-columns:1fr}.patient-account-filter-actions{justify-content:stretch}.patient-account-filter-actions button{flex:1}}.promotion-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:fit-content;height:38px;margin-bottom:20px;margin-left:auto;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.promotion-add-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 10px #4975c61f}.promotion-add-button span{font-size:17px;line-height:1}.promotions-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;display:grid}@media (width<=900px){.promotions-grid{grid-template-columns:1fr}}.promotion-filters{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:18px 20px}.promotion-filters h3{color:var(--text-primary);margin:0 0 14px;font-size:16px;font-weight:650}.promotion-filter-grid{grid-template-columns:1fr 1fr 1fr 1fr;align-items:end;gap:14px;max-width:1100px;display:grid}.promotion-filter-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;display:flex}@media (width<=900px){.promotion-filter-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.promotion-filters{padding:16px}.promotion-filter-grid{grid-template-columns:1fr}.promotion-filter-actions{justify-content:stretch}.promotion-filter-actions button{flex:1}}.promotions-pagination{grid-column:1/-1;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:24px;display:flex}.promotions-pagination button{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:16px;font-weight:500;transition:all .2s;display:flex}.promotions-pagination button:hover:not(:disabled){border-color:var(--primary);background:var(--background);color:var(--primary)}.promotions-pagination button:disabled{opacity:.45;cursor:not-allowed}.promotions-pagination span{color:var(--text-secondary);font-size:13px;font-weight:500}.promotion-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.promotion-description-field{flex-direction:column;grid-column:1/-1;gap:7px;display:flex}.promotion-description-field label{color:var(--text-primary);font-size:13px;font-weight:600}.promotion-description-field textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:90px;color:var(--text-primary);resize:vertical;background:#fff;border-radius:8px;padding:10px;font-family:inherit;font-size:13px}.promotion-status-toggle{align-items:center;gap:10px;margin-top:20px;display:flex}.promotion-status-toggle-label{color:var(--text-primary);font-size:13px;font-weight:600}.promotion-status-toggle-value{color:var(--text-secondary);font-size:12px;font-weight:600}.toggle-switch{width:42px;height:23px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:#cbd5e1;border-radius:999px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(19px)}.toggle-switch:hover .toggle-slider{opacity:.9}.promotion-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}@media (width<=431px){.promotion-form-grid{grid-template-columns:1fr}}.promotion-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);height:100%;box-shadow:var(--shadow-sm);flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.promotion-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.promotion-card-header{border-bottom:1px solid var(--border);padding:18px 20px 14px}.promotion-card-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.promotion-card-title h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:650;line-height:1.4}.promotion-status{border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.promotion-status.active{color:var(--success);background:#f0fdf4}.promotion-status.inactive{color:var(--danger);background:#fef2f2}.promotion-card-body{flex-direction:column;flex:1;gap:16px;padding:18px 20px;display:flex}.promotion-description{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.promotion-discount{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);width:fit-content;color:var(--primary);align-items:center;gap:7px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.promotion-dates{grid-template-columns:1fr 1fr;gap:14px;padding-top:2px;display:grid}.promotion-date{color:var(--text-secondary);align-items:flex-start;gap:8px;display:flex}.promotion-date svg{flex-shrink:0;margin-top:2px}.promotion-date div{flex-direction:column;gap:3px;display:flex}.promotion-date span{color:var(--text-secondary);font-size:11px;font-weight:500}.promotion-date strong{color:var(--text-primary);font-size:12px;font-weight:600}.promotion-card-actions{border-top:1px solid var(--border);background:#fafafa;justify-content:flex-end;gap:8px;padding:13px 20px;display:flex}.promotion-edit-button,.promotion-delete-button{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 11px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.promotion-edit-button{border:1px solid var(--border);background:var(--surface);color:var(--text-primary)}.promotion-edit-button:hover{border-color:var(--primary);color:var(--primary)}.promotion-delete-button{background:var(--surface);color:var(--danger);border:1px solid #fecaca}.promotion-delete-button:hover{background:#fef2f2}.promotion-edit-button:disabled,.promotion-delete-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.promotion-dates{grid-template-columns:1fr}.promotion-card-title{flex-direction:column;align-items:flex-start}}.session-expired-overlay{z-index:9999;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.session-expired-modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow-sm);text-align:center;border-radius:16px;padding:28px}.session-expired-content h2{color:var(--text-primary);margin:0 0 8px;font-size:20px;font-weight:700}.session-expired-content p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.session-expired-modal button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:8px;width:100%;margin-top:24px;padding:11px 16px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s,box-shadow .2s}.session-expired-modal button:hover{background:var(--primary-hover);box-shadow:0 4px 10px #0f172a1f}
