@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#17354a;background:#f3fafc;font-synthesis:none;--primary: #24577a;--primary-hover: #1b4664;--secondary: #45bfc4;--accent: #6672bd;--soft: #d9f4f3;--soft-blue: #dceafa;--background: #f3fafc;--surface: #ffffff;--text: #17354a;--muted: #617887;--border: #d4e7ec;--petrol: var(--primary);--petrol-2: var(--primary-hover);--teal: var(--primary);--mint: var(--soft);--cream: var(--background);--paper: var(--surface);--coral: var(--accent);--coral-dark: #505ca5;--ink: var(--text);--line: var(--border);--danger: #bb493f;--shadow: 0 18px 50px rgba(36, 87, 122, .1)}*{box-sizing:border-box}html{min-width:320px;background:var(--cream)}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Fraunces,Georgia,serif;letter-spacing:-.035em}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:260px;padding:29px 20px 20px;overflow-y:auto;background:var(--petrol);color:#fff;display:flex;flex-direction:column}.brand,.login-brand,.mobile-login-brand,.onboarding-brand{display:flex;align-items:center;gap:10px;font-family:Fraunces,serif;font-size:25px;font-weight:700;letter-spacing:-.05em}.brand>span:last-child>span,.login-brand>span:last-child>span,.mobile-login-brand>span:last-child>span,.onboarding-brand>span:last-child>span{color:var(--coral)}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:14px 14px 14px 5px;background:var(--coral);color:#fff}.clinic-chip{margin:34px 0 28px;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0f}.clinic-chip>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;font-family:Fraunces;font-weight:700;color:var(--petrol);background:var(--mint)}.clinic-chip div,.sidebar-user div{overflow:hidden}.clinic-chip strong,.clinic-chip small,.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clinic-chip strong{font-size:13px}.clinic-chip small{color:#9ebcba;font-size:10px;margin-top:2px}.side-nav{display:grid;gap:5px}.side-nav>small{color:#799c99;font-size:9px;letter-spacing:.16em;font-weight:700;margin:0 12px 8px}.side-nav a{display:flex;align-items:center;gap:12px;min-height:47px;padding:0 12px;color:#b6cecc;border-radius:12px;font-size:13px;font-weight:600;transition:.2s}.side-nav a:hover{background:#ffffff0f;color:#fff}.side-nav a.active{background:#fff;color:var(--petrol);box-shadow:0 8px 25px #0000001f}.nav-icon{display:grid;place-items:center}.sidebar-user{margin-top:auto;padding:15px 5px 0;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:var(--petrol);background:var(--mint);font-size:11px;font-weight:700}.avatar.large{width:47px;height:47px;font-size:14px}.sidebar-user strong{font-size:12px}.sidebar-user small{color:#8faeac;font-size:9px;margin-top:3px}.sidebar-user button{padding:6px;border:0;background:none;color:#8faeac;cursor:pointer}.workspace{min-height:100vh;margin-left:260px}.main-content{width:100%;max-width:1600px;margin:auto;padding:42px clamp(28px,3.2vw,58px) 80px;animation:rise .35s ease both}.mobile-topbar,.bottom-nav{display:none}@keyframes rise{0%{opacity:0;filter:blur(3px);transform:translateY(7px)}to{filter:blur(0)}}.page-header{min-height:88px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}.eyebrow,.login-kicker{display:block;margin-bottom:9px;color:var(--teal);font-size:9px;line-height:1;font-weight:700;letter-spacing:.18em}.eyebrow.light{color:#a6cfca}.page-header h1{margin-bottom:5px;color:var(--petrol);font-size:clamp(32px,4vw,47px);line-height:1}.page-header p{max-width:760px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.button{border:0;min-height:46px;border-radius:12px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:700;font-size:12px;transition:transform .15s,background .15s,opacity .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.55}.button-primary{color:#fff;background:var(--petrol)}.button-primary:hover:not(:disabled){background:var(--petrol-2)}.button-coral{color:#fff;background:var(--coral);box-shadow:0 8px 22px #24577a2e}.button-coral:hover:not(:disabled){background:var(--coral-dark)}.button-ghost{color:var(--petrol);background:transparent;border:1px solid var(--line)}.button-small{min-height:36px;padding:0 13px;font-size:11px}.button-wide{width:100%}.danger{color:var(--danger)!important}.state-card{min-height:245px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #cad4cd;border-radius:20px;background:#ffffff73}.state-card strong{margin:12px 0 5px;font-family:Fraunces;font-size:20px}.state-card small{max-width:360px;color:var(--muted)}.state-card .button{margin-top:18px}.empty-icon,.state-symbol{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;color:var(--teal);background:#dceae4}.state-symbol{color:var(--danger);background:#f7ded8;font-weight:800;font-size:22px}.loader{width:35px;height:35px;border:3px solid var(--mint);border-top-color:var(--coral);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.boot-screen{min-height:100vh;display:grid;place-content:center;gap:30px;background:var(--cream)}.boot-screen .state-card{min-height:200px;width:min(420px,90vw)}.boot-brand{color:var(--petrol);justify-content:center}.inline-error,.inline-message,.muted-box{padding:11px 13px;border-radius:10px;color:var(--danger);background:#f9e5df;font-size:12px}.inline-message{color:var(--petrol);background:#e0ede8}.muted-box{color:var(--muted);background:#eef0eb}.inline-loading{padding:15px;color:var(--muted);font-size:12px}.field{display:grid;gap:7px;color:var(--ink);font-size:11px;font-weight:700}.field input,.field select,.field textarea,.date-control,.search-box{width:100%;border:1px solid var(--line);border-radius:11px;outline:none;background:var(--paper);color:var(--ink);transition:border .2s,box-shadow .2s}.field input,.field select{height:45px;padding:0 13px}.field textarea{padding:12px 13px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2c7a7317}.field small{color:var(--muted);font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-full{grid-column:1 / -1}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(430px,.92fr);background:var(--paper)}.login-art{position:relative;min-height:100vh;padding:45px 58px;overflow:hidden;color:#fff;background:var(--petrol)}.login-art:before{content:"";position:absolute;width:450px;height:450px;right:-170px;top:16%;border-radius:48% 52% 45% 55%;background:#0b5555;transform:rotate(20deg)}.login-brand{position:relative;z-index:2}.login-brand .brand-mark{width:47px;height:47px}.art-copy{position:relative;z-index:2;max-width:570px;margin-top:18vh}.art-copy h1{max-width:530px;margin:0 0 22px;font-size:clamp(48px,5vw,73px);line-height:.98}.art-copy p{max-width:430px;color:#bad1cf;font-size:16px;line-height:1.65}.art-orbit{position:absolute;border:1px solid rgba(184,215,203,.19);border-radius:50%}.orbit-one{width:370px;height:370px;right:-30px;top:35%}.orbit-two{width:260px;height:260px;right:25px;top:41%}.floating-card{position:absolute;z-index:3;right:8%;bottom:14%;width:235px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;color:var(--petrol);background:#fff;border-radius:16px;box-shadow:0 20px 45px #0003;transform:rotate(-3deg)}.floating-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--coral)}.floating-card small,.floating-card strong{display:block}.floating-card small{color:var(--muted);font-size:9px}.floating-card strong{margin-top:3px;font-size:12px}.floating-card i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--teal)}.art-footer{position:absolute;bottom:35px;left:58px;color:#739997;font-size:9px;letter-spacing:.17em}.login-panel{display:grid;place-items:center;padding:50px;background:var(--paper)}.login-form-wrap{width:min(385px,100%)}.login-kicker{color:var(--coral)}.login-form-wrap h2{margin-bottom:16px;color:var(--petrol);font-size:clamp(43px,5vw,59px);line-height:.95}.login-form-wrap>p{margin-bottom:32px;color:var(--muted);line-height:1.55;font-size:13px}.google-button{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;font-weight:700;box-shadow:0 4px 14px #073f420a}.google-g{font-size:18px;color:#4285f4;font-family:Arial;font-weight:700}.divider{margin:23px 0;display:flex;align-items:center;gap:12px;color:#9aa6a2;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.dev-toggle{width:100%;padding:10px 0;display:flex;align-items:center;justify-content:center;gap:5px;border:0;color:var(--teal);background:none;cursor:pointer;font-size:11px;font-weight:700}.dev-form{display:grid;gap:14px}.privacy-note{display:block;margin-top:30px;color:#9ba5a2;text-align:center;font-size:9px;line-height:1.5}.mobile-login-brand{display:none}.onboarding-page{min-height:100vh;padding:38px 6vw;position:relative;display:grid;place-items:center;background:var(--petrol);overflow:hidden}.onboarding-page:before{content:"";position:absolute;inset:auto -10% -45% 35%;height:80%;border:1px solid rgba(255,255,255,.08);border-radius:50%}.onboarding-brand{position:absolute;top:35px;left:5vw;color:#fff}.onboarding-card{position:relative;width:min(680px,100%);margin:70px 0 50px;padding:48px 55px 52px;border-radius:25px 25px 25px 7px;background:var(--cream);box-shadow:0 30px 70px #0003}.onboarding-card h1{max-width:500px;margin-bottom:14px;color:var(--petrol);font-size:47px;line-height:1}.onboarding-card>p{max-width:520px;margin-bottom:27px;color:var(--muted);font-size:13px;line-height:1.6}.step-count{position:absolute;top:23px;right:26px;color:var(--coral);font-family:Fraunces;font-weight:700}.step-count span{color:#a6b0ab;font-size:11px}.onboarding-note{position:absolute;right:3vw;bottom:40px;max-width:245px;display:flex;gap:11px;color:#b8cfcd;font-size:10px;line-height:1.5}.onboarding-note>svg{flex:none;color:var(--coral)}.onboarding-note strong{display:block;color:#fff;font-size:11px}.patient-hero{position:relative;min-height:240px;padding:39px 42px;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--petrol);border-radius:25px 25px 25px 6px;box-shadow:var(--shadow)}.patient-hero:after{content:"";position:absolute;width:300px;height:300px;right:-60px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.hero-copy{position:relative;z-index:2}.hero-copy h2{margin:0 0 9px;font-size:35px;text-transform:capitalize}.hero-copy p{color:#aec9c7;font-size:12px}.hero-copy a{display:inline-flex;align-items:center;gap:5px;color:#fff;font-size:11px;font-weight:700}.appointment-time{margin-bottom:8px;display:flex;align-items:center;gap:7px;color:#fff;font-weight:700}.hero-tooth{position:absolute;z-index:2;right:75px;width:150px;height:150px;display:grid;place-items:center;border-radius:50%;color:var(--petrol);background:var(--mint);transform:rotate(8deg)}.hero-tooth:before{content:"";position:absolute;inset:-13px;border:1px dashed rgba(184,215,203,.5);border-radius:50%}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:30px}.patient-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:15px}.metric{min-width:0;min-height:112px;padding:19px;display:flex;align-items:center;gap:14px;border:1px solid rgba(7,63,66,.08);border-radius:17px;background:var(--paper)}.metric-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:12px;color:var(--teal);background:#dfede7}.metric.warm .metric-icon{color:var(--coral-dark);background:#fae0d9}.metric div{min-width:0}.metric div>*{display:block}.metric small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.metric strong{margin:4px 0 1px;overflow-wrap:anywhere;color:var(--petrol);font-family:Fraunces;font-size:22px}.metric div>span{color:#94a19e;font-size:9px}.section-block{margin-top:28px}.section-title{min-height:40px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:15px}.section-title h2{margin:0;color:var(--petrol);font-size:23px}.section-title a{display:flex;align-items:center;color:var(--teal);font-size:11px;font-weight:700}.section-title>span{min-width:26px;height:26px;padding:0 8px;display:grid;place-items:center;border-radius:13px;color:var(--teal);background:#dfebe6;font-size:10px;font-weight:700}.treatment-list,.appointment-list,.simple-table{border-radius:17px;overflow:hidden;border:1px solid var(--line);background:var(--paper)}.treatment-row{min-height:74px;padding:14px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border-bottom:1px solid var(--line)}.treatment-row:last-child{border:0}.treatment-number{color:var(--coral);font-family:Fraunces;font-size:17px;font-weight:700}.treatment-row strong,.treatment-row small{display:block}.treatment-row strong{font-size:12px}.treatment-row small{margin-top:4px;color:var(--muted);font-size:9px}.status{width:max-content;padding:5px 9px;border-radius:20px;color:#267067;background:#dcece5;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-pendiente,.status-por_verificar{color:#8a5b18;background:#faeacb}.status-cancelada,.status-cancelado,.status-rechazada,.status-rechazado,.status-anulado{color:#a44840;background:#f7ddd7}.status-completada,.status-completado,.status-pagado,.status-verificado,.status-valido{color:#267067;background:#dcece5}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.booking-card,.upload-card,.qr-card,.profile-card,.settings-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}.booking-card{display:grid;gap:20px}.form-step{display:flex;align-items:center;gap:11px}.form-step>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--petrol);font-family:Fraunces;font-size:13px}.form-step strong,.form-step small{display:block}.form-step strong{font-family:Fraunces;font-size:17px}.form-step small{color:var(--muted);font-size:9px;margin-top:2px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-options label{min-height:68px;padding:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;cursor:pointer}.service-options label.selected{border-color:var(--teal);background:#f1f8f4}.service-options input,.time-slots input{position:absolute;opacity:0}.service-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--teal);background:#dfede7}.service-options strong,.service-options small{display:block}.service-options strong{font-size:11px}.service-options small{margin-top:3px;color:var(--muted);font-size:9px}.service-options i{opacity:0;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--teal)}.service-options label.selected i{opacity:1}.slot-picker{min-width:0;display:grid;gap:10px}.slot-legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:10px;font-weight:700}.slot-legend span{display:inline-flex;align-items:center;gap:6px}.slot-legend i{width:10px;height:10px;border:1px solid var(--primary);border-radius:3px;background:#fff}.slot-legend i.occupied{border-color:#a7b5bd;background:#e7eef1}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.time-slots label{min-width:0;min-height:49px;padding:8px 10px;display:grid;place-content:center;gap:2px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:center;cursor:pointer;font-size:11px;font-weight:700}.time-slots label.selected{color:#fff;border-color:var(--petrol);background:var(--petrol)}.time-slots label.occupied{color:#526975;border-color:#c5d3d9;background:#e7eef1;cursor:not-allowed}.time-slots label.occupied strong{color:#405864;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.booking-note{padding:26px;border-radius:20px 20px 20px 5px;color:#fff;background:var(--petrol)}.booking-note>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--petrol);background:var(--mint)}.booking-note h3{margin:20px 0 8px;font-family:Fraunces;font-size:23px}.booking-note p{color:#b5cfcc;font-size:12px;line-height:1.6}.booking-note small{display:block;padding-top:15px;border-top:1px solid rgba(255,255,255,.12);color:#82a7a4;font-size:9px;line-height:1.5}.appointment-group+.appointment-group{margin-top:38px}.appointment-card{min-width:0;min-height:95px;padding:13px 17px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;border-bottom:1px solid var(--line)}.appointment-card:last-child{border:0}.date-tile{width:59px;height:62px;display:grid;place-content:center;text-align:center;border-radius:13px;color:var(--petrol);background:#e2eee9}.date-tile strong{font-family:Fraunces;font-size:23px;line-height:1}.date-tile span{margin-top:4px;font-size:8px;text-transform:uppercase}.appointment-main{min-width:0}.appointment-main>div{display:flex;align-items:center;gap:10px}.appointment-main h3{margin:0;overflow-wrap:anywhere;font-family:Fraunces;font-size:17px}.appointment-main p{margin:8px 0 0;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.appointment-main p svg{flex:none}.appointment-help{max-width:480px;margin-top:7px;display:block;color:var(--muted);font-size:9px;line-height:1.4}.appointment-help.urgent{color:var(--danger)}.appointment-help a{font-weight:800;text-decoration:underline}.appointment-actions{max-width:260px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.modal-intro{margin:-5px 0 2px;color:var(--muted);font-size:11px;line-height:1.5}.reschedule-form .time-slots{max-height:240px;overflow-y:auto;padding:2px}.balance-banner{margin-bottom:20px;padding:28px 34px;display:flex;justify-content:space-between;align-items:center;color:#fff;background:var(--petrol);border-radius:20px 20px 20px 6px}.balance-banner small,.balance-banner strong,.balance-banner span{display:block}.balance-banner small{color:#91b5b2;font-size:9px;letter-spacing:.13em}.balance-banner strong{margin:5px 0;font-family:Fraunces;font-size:37px}.balance-banner span{color:var(--mint);font-size:10px}.balance-banner>svg{color:var(--coral);opacity:.9}.payments-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.qr-card,.upload-card{text-align:center}.qr-card h2,.upload-card h2{font-size:23px}.qr-card img{width:175px;aspect-ratio:1;object-fit:contain}.qr-card p{max-width:260px;margin:15px auto 0;color:var(--muted);font-size:10px;line-height:1.5}.qr-placeholder{min-height:175px;display:grid;place-content:center;gap:8px;color:#adc1ba}.upload-card{display:grid;gap:15px;text-align:left}.file-drop{min-height:130px;padding:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #a8bbb4;border-radius:13px;color:var(--teal);background:#f5f8f4;cursor:pointer;text-align:center}.file-drop input,.file-button input{display:none}.file-drop strong{margin-top:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:11px}.file-drop small{margin-top:4px;color:var(--muted);font-size:9px}.file-drop.has-file{border-color:var(--teal);background:#e7f2ed}.simple-table article{min-height:66px;padding:11px 15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px;border-bottom:1px solid var(--line)}.simple-table article:last-child{border:0}.table-icon{width:35px;height:35px;display:grid;place-items:center;color:var(--teal);background:#e2eee9;border-radius:10px}.simple-table strong,.simple-table small{display:block;font-size:11px}.simple-table small{color:var(--muted);font-size:9px;margin-top:3px}.payment-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.payment-row-actions a{color:var(--primary);font-size:9px;font-weight:700;text-decoration:underline}.tabs,.filter-row{margin-bottom:24px;display:flex;gap:5px;border-bottom:1px solid var(--line)}.tabs button,.filter-row button{padding:10px 15px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:none;cursor:pointer;font-size:11px;font-weight:700}.tabs button.active,.filter-row button.active{border-color:var(--coral);color:var(--petrol)}.timeline{position:relative;max-width:760px}.timeline:before{content:"";position:absolute;left:22px;top:20px;bottom:20px;width:1px;background:#bfd2ca}.timeline article{position:relative;padding:0 0 28px 64px}.timeline-dot{position:absolute;z-index:1;left:0;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;color:var(--teal);background:#dfede7;border:5px solid var(--cream)}.timeline-content{padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.timeline-content small,.timeline-content span{color:var(--muted);font-size:9px}.timeline-content h3{margin:5px 0 7px;font-family:Fraunces;font-size:18px}.timeline-content p{margin-bottom:8px;color:#596e6d;font-size:11px;line-height:1.55}.profile-card{max-width:720px;position:relative;padding-top:70px}.profile-avatar{position:absolute;top:-22px;width:75px;height:75px;display:grid;place-items:center;border:6px solid var(--cream);border-radius:50%;color:#fff;background:var(--teal);font-family:Fraunces;font-size:28px}.toggle-row{min-height:65px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:12px}.toggle-row small{color:var(--muted);font-size:9px;margin-top:3px}.toggle-row input,.mini-toggle input{display:none}.toggle-row i,.mini-toggle i{position:relative;width:42px;height:24px;border-radius:15px;background:#cad4d0;transition:.2s}.toggle-row i:after,.mini-toggle i:after{content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:#fff;transition:.2s}.toggle-row input:checked+i,.mini-toggle input:checked+i{background:var(--teal)}.toggle-row input:checked+i:after,.mini-toggle input:checked+i:after{transform:translate(18px)}.date-control{width:auto;height:43px;padding:0 11px;display:flex;align-items:center;gap:8px;background:var(--paper)}.date-control input{border:0;outline:0;color:var(--ink);background:transparent;font-weight:700;font-size:11px}.day-agenda{display:grid;grid-template-columns:52px 1fr;gap:14px}.agenda-ruler{display:flex;flex-direction:column;justify-content:space-around;color:#82918e;font-size:9px;text-align:right}.agenda-cards{display:grid;gap:8px}.agenda-item{min-height:73px;padding:10px 15px;display:grid;grid-template-columns:65px 1fr auto auto;align-items:center;gap:13px;text-align:left;border:0;border-left:4px solid var(--teal);border-radius:4px 13px 13px 4px;color:var(--ink);background:var(--paper);cursor:pointer;box-shadow:0 4px 18px #073f420a}.agenda-item.tone-1{border-color:var(--coral)}.agenda-item.tone-2{border-color:#d2a653}.agenda-item.tone-3{border-color:#7b91bd}.agenda-item time{color:var(--petrol);font-family:Fraunces;font-weight:700}.agenda-item div strong,.agenda-item div span{display:block}.agenda-item div strong{font-size:12px}.agenda-item div span{margin-top:4px;color:var(--muted);font-size:9px}.search-box{width:255px;height:43px;padding:0 12px;display:flex;align-items:center;gap:8px}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:11px}.patient-directory{display:grid;gap:9px}.patient-list-card{min-height:76px;padding:13px 17px;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:15px;border:1px solid var(--line);border-radius:14px;background:var(--paper);transition:transform .15s,border .15s}.patient-list-card:hover{transform:translate(3px);border-color:#a8c0b7}.patient-list-card div strong,.patient-list-card div small,.patient-meta strong,.patient-meta small{display:block}.patient-list-card div strong{font-size:12px}.patient-list-card div small,.patient-meta small{margin-top:4px;color:var(--muted);font-size:9px}.patient-meta{text-align:right}.patient-meta strong{font-size:10px}.debt{padding:5px 8px;border-radius:10px;color:var(--coral-dark);background:#fae2dc;font-size:9px;font-weight:700}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service-card{min-height:190px;padding:22px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.service-index{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--teal);background:#e0eee8;font-family:Fraunces;font-weight:700}.service-index.tone-1{color:#b64f42;background:#fae2dc}.service-index.tone-2{color:#926f2c;background:#f8eccf}.service-index.tone-3{color:#536d9c;background:#e4e9f3}.service-card h3{margin:2px 0 8px;font-family:Fraunces;font-size:18px}.service-card p{color:var(--muted);font-size:10px;line-height:1.5}.service-price{text-align:right}.service-price strong,.service-price span{display:block}.service-price strong{color:var(--petrol);font-family:Fraunces;font-size:18px}.service-price span{color:var(--muted);font-size:9px;margin-top:4px}.card-actions{grid-column:2 / -1;align-self:end;display:flex;gap:8px;border-top:1px solid var(--line);padding-top:12px}.card-actions button{border:0;background:none;color:var(--teal);cursor:pointer;font-size:10px;font-weight:700}.payment-review-list{display:grid;gap:9px}.payment-review-list article{min-height:82px;padding:11px 15px;display:grid;grid-template-columns:auto 1fr auto auto auto;gap:13px;align-items:center;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.evidence-thumb{width:50px;height:50px;padding:0;display:grid;place-items:center;overflow:hidden;border:0;border-radius:9px;color:var(--teal);background:#e0eee8;cursor:pointer}.evidence-thumb img{width:100%;height:100%;object-fit:cover}.payment-review-list article>div strong,.payment-review-list article>div small{display:block}.payment-review-list article>div strong{font-size:11px}.payment-review-list article>div small{margin-top:4px;color:var(--muted);font-size:9px}.amount{color:var(--petrol);font-family:Fraunces}.verify-actions{display:flex;gap:5px}.verify-actions button{height:31px;padding:0 9px;display:flex;align-items:center;gap:4px;border:0;border-radius:8px;color:#fff;background:var(--teal);cursor:pointer;font-size:9px;font-weight:700}.verify-actions button.danger{color:var(--danger);background:#f8dfda}.notification-list{display:grid;gap:10px}.notification-list article{padding:18px;display:grid;grid-template-columns:auto 1fr;gap:14px;border:1px solid var(--line);border-radius:15px;background:var(--paper);cursor:pointer}.notification-list article:focus-visible{outline:3px solid rgba(69,191,196,.3);outline-offset:2px}.notification-list article>span{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;color:var(--teal);background:#e1eee9}.notification-list article.unread{border-left:4px solid var(--coral)}.notification-list article div>div{display:flex;justify-content:space-between}.notification-list strong{font-size:12px}.notification-list small{color:var(--muted);font-size:9px}.notification-list p{margin:7px 0;color:#536b69;font-size:11px}.notification-list em{color:var(--teal);font-size:9px;font-style:normal;font-weight:700}.agenda-toolbar{margin:-12px 0 18px;display:flex;align-items:center;gap:8px}.agenda-toolbar>span{margin-left:7px;color:var(--muted);font-size:11px;font-weight:700}.agenda-metrics{margin-bottom:20px}.weekly-calendar-scroll,.crm-table-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 8px 30px #073f420d;scrollbar-color:var(--mint) transparent}.weekly-calendar{min-width:980px;display:grid;grid-template-columns:65px repeat(7,minmax(125px,1fr))}.calendar-corner,.calendar-day-head{height:65px;position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);background:#f8faf6}.calendar-corner{left:0;z-index:4;color:var(--muted);font-size:8px;letter-spacing:.1em}.calendar-day-head{gap:7px;border-left:1px solid var(--line);text-transform:capitalize}.calendar-day-head span{color:var(--muted);font-size:10px}.calendar-day-head strong{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-family:Fraunces}.calendar-day-head.today strong{color:#fff;background:var(--coral)}.time-rail{height:720px;position:sticky;left:0;z-index:2;display:grid;grid-template-rows:repeat(12,60px);background:var(--paper)}.time-rail span{padding:7px 9px 0 0;color:var(--muted);border-top:1px solid #edf0eb;text-align:right;font-size:8px}.calendar-day-column{height:720px;position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#f2f3ef 30px,transparent 31px,transparent 59px,#e3e8e2 60px);cursor:crosshair}.calendar-day-column:hover{box-shadow:inset 0 0 0 1px #45bfc447}.calendar-appointment{position:absolute;z-index:1;left:5px;right:5px;min-height:28px;padding:6px 7px;overflow:hidden;display:block;border:0;border-left:4px solid var(--teal);border-radius:7px;color:var(--petrol);background:#dcece6;text-align:left;cursor:pointer;box-shadow:0 3px 9px #073f4214}.calendar-appointment:hover,.calendar-appointment:focus-visible{z-index:2;outline:2px solid var(--petrol);transform:scale(1.02)}.calendar-appointment.tone-1{border-color:var(--coral);background:#fae2dc}.calendar-appointment.tone-2{border-color:#c39537;background:#f7ebcd}.calendar-appointment.tone-3{border-color:#687fa8;background:#e3e8f2}.calendar-appointment.state-cancelada{opacity:.55;text-decoration:line-through}.calendar-appointment.state-atendida{border-color:var(--teal);background:#cce7dc}.calendar-appointment.state-no_asistio{border-color:var(--danger);background:#f5d8d4}.calendar-appointment time,.calendar-appointment strong,.calendar-appointment span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-appointment time{font-size:8px;font-weight:700}.calendar-appointment strong{margin-top:2px;font-size:10px}.calendar-appointment span{margin-top:2px;font-size:8px;opacity:.75}.appointment-detail.operational>.button{margin-top:9px}.contact-actions{margin:14px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.status-action-grid{margin:12px 0;display:grid;grid-template-columns:1fr 1fr;gap:7px}.crm-controls{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.crm-controls .filter-row{margin:0;white-space:nowrap}.crm-table{min-width:920px}.crm-table-head,.crm-row{display:grid;grid-template-columns:1.45fr 1.15fr 1fr .65fr 1fr;gap:15px;align-items:center}.crm-table-head{min-height:45px;padding:0 17px;color:var(--muted);background:#eef3ee;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.crm-row{min-height:79px;padding:12px 17px;border-top:1px solid var(--line)}.crm-row strong,.crm-row small{display:block}.crm-row strong,.crm-person a{font-size:11px;font-weight:700}.crm-row small{max-width:210px;margin-top:4px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.crm-person{display:flex;align-items:center;gap:11px}.crm-person a:hover{color:var(--teal);text-decoration:underline}.row-actions{display:flex;gap:4px}.row-actions a,.row-actions button{width:31px;height:31px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--teal);background:#fff;cursor:pointer}.row-actions a:hover,.row-actions button:hover{color:#fff;border-color:var(--teal);background:var(--teal)}.row-actions svg{width:15px;height:15px}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:24px;color:var(--teal);font-size:11px;font-weight:700}.patient-profile-head{min-height:125px;display:grid;grid-template-columns:auto 1fr auto;gap:21px;align-items:center}.profile-big-avatar{width:80px;height:80px;display:grid;place-items:center;border-radius:24px 24px 24px 7px;color:#fff;background:var(--teal);font-family:Fraunces;font-size:30px}.patient-profile-head h1{margin:0;color:var(--petrol);font-size:38px}.patient-profile-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.patient-facts{margin:10px 0 25px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;background:var(--paper)}.patient-facts div{padding:18px;border-right:1px solid var(--line)}.patient-facts div:last-child{border:0}.patient-facts small,.patient-facts strong{display:block}.patient-facts small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.patient-facts strong{margin-top:5px;font-size:11px}.coral-text{color:var(--coral-dark)}.detail-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.compact-records,.mini-appointments{display:grid;gap:9px}.compact-records article{padding:16px;display:grid;grid-template-columns:auto 1fr;gap:12px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.compact-records article>span{width:37px;height:37px;display:grid;place-items:center;color:var(--teal);background:#e1eee9;border-radius:10px}.compact-records small{color:var(--muted);font-size:9px}.compact-records h3{margin:4px 0;font-family:Fraunces;font-size:16px}.compact-records p{margin:0;color:#5d716f;font-size:10px;line-height:1.45}.compact-records em{display:block;margin-top:7px;color:var(--teal);font-size:9px}.mini-appointments article{padding:13px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.mini-appointments strong,.mini-appointments small{display:block;font-size:10px}.mini-appointments small{color:var(--muted);font-size:8px;margin-top:4px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.settings-card{display:grid;gap:15px}.settings-card-head{display:flex;gap:12px;align-items:center;margin-bottom:3px}.settings-card-head>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--teal);background:#e0eee8}.settings-card-head h2{margin:0;font-size:20px}.settings-card-head p{margin:3px 0 0;color:var(--muted);font-size:9px}.hours-card{grid-row:span 2}.hours-list{display:grid}.hours-list>div{min-height:48px;display:grid;grid-template-columns:35px 1fr 80px auto 80px;align-items:center;gap:7px;border-bottom:1px solid var(--line)}.hours-list strong{text-transform:capitalize;font-size:10px}.hours-list input[type=time]{width:80px;height:31px;padding:0 5px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:9px}.hours-list span,.hours-list em{color:var(--muted);font-size:8px;font-style:normal}.mini-toggle{display:flex}.mini-toggle i{width:31px;height:18px}.mini-toggle i:after{width:12px;height:12px}.mini-toggle input:checked+i:after{transform:translate(13px)}.qr-setting-body{display:flex;gap:15px;align-items:center}.qr-setting-body img,.qr-small-placeholder{width:105px;height:105px;object-fit:contain;display:grid;place-items:center;color:#a9bcb5;background:#f0f3ee;border-radius:10px}.file-button{min-height:42px;padding:0 12px;display:flex;align-items:center;gap:7px;overflow:hidden;border:1px dashed #9fb4ac;border-radius:10px;color:var(--teal);cursor:pointer;font-size:9px;font-weight:700}.profile-head-actions{display:flex;align-items:center;gap:7px}.patient-contact-strip{margin:8px 0 16px;padding:10px;display:flex;gap:9px;border-radius:16px;color:#fff;background:var(--petrol)}.patient-contact-strip>a{min-width:0;padding:10px 14px;display:flex;align-items:center;gap:10px;border-radius:11px;background:#ffffff14}.patient-contact-strip>a:hover{background:#ffffff26}.patient-contact-strip svg{flex:none;color:var(--mint)}.patient-contact-strip span,.patient-contact-strip small,.patient-contact-strip strong{display:block}.patient-contact-strip small{color:#9cc0bd;font-size:8px}.patient-contact-strip strong{max-width:220px;margin-top:2px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.patient-contact-strip .no-contact{padding:11px;color:#a9c5c2;font-size:10px}.quick-notes>form{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.quick-notes form .button{margin-top:9px}.notes-timeline{margin-top:12px;display:grid;gap:8px}.notes-timeline article{position:relative;padding:13px 38px 13px 14px;border:1px solid var(--line);border-left:3px solid var(--coral);border-radius:4px 12px 12px 4px;background:var(--paper)}.notes-timeline article>div{display:flex;justify-content:space-between;gap:8px}.notes-timeline strong{font-size:9px}.notes-timeline time{color:var(--muted);font-size:8px}.notes-timeline p{margin:8px 0 0;color:#526967;font-size:10px;line-height:1.5;white-space:pre-wrap}.notes-timeline button{position:absolute;top:8px;right:7px;padding:5px;border:0;color:var(--danger);background:none;cursor:pointer}.modal-backdrop{position:fixed;z-index:100;inset:0;padding:20px;display:grid;place-items:center;background:#032426b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .2s}.modal{width:min(480px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:25px;border-radius:21px 21px 21px 6px;background:var(--cream);box-shadow:0 28px 70px #0000004d;animation:pop .2s}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:0;color:var(--petrol);font-size:25px}.icon-button{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.modal-form{display:grid;gap:15px}.modal-avatar{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 10px;border-radius:50%;color:#fff;background:var(--teal);font-family:Fraunces;font-size:23px}.appointment-detail{text-align:center}.appointment-detail h3{margin-bottom:8px;font-family:Fraunces;font-size:22px}.appointment-detail>.status{margin:auto}.appointment-detail dl{margin:22px 0;text-align:left}.appointment-detail dl div{padding:10px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.appointment-detail dt{color:var(--muted);font-size:10px}.appointment-detail dd{margin:0;max-width:65%;font-size:10px;font-weight:700}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toast{position:fixed;z-index:150;right:25px;bottom:25px;min-width:280px;max-width:calc(100vw - 30px);padding:13px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border-radius:12px;color:#fff;background:var(--petrol);box-shadow:0 15px 40px #00000040;font-size:11px;animation:pop .25s}.toast>svg{color:var(--mint)}.toast button{border:0;color:#9db8b5;background:none;cursor:pointer}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}body{color:var(--text);background:var(--background)}.brand,.login-brand,.mobile-login-brand,.onboarding-brand{letter-spacing:.06em}.brand-mark{background:var(--accent)}.button-coral{background:var(--primary);box-shadow:0 8px 22px #24577a2e}.button-coral:hover:not(:disabled){background:var(--primary-hover)}.metric-icon,.empty-icon,.table-icon,.service-icon,.service-index,.notification-list article>span,.compact-records article>span,.settings-card-head>span,.evidence-thumb{color:var(--primary);background:var(--soft)}.metric.warm .metric-icon,.service-index.tone-1,.service-index.tone-3{color:var(--accent);background:var(--soft-blue)}.service-index.tone-2{color:var(--primary);background:var(--soft)}.tabs button.active,.filter-row button.active{border-color:var(--accent)}.agenda-item.tone-1,.calendar-appointment.tone-1,.notes-timeline article,.notification-list article.unread{border-color:var(--accent)}.calendar-appointment.tone-1{background:var(--soft-blue)}.calendar-day-head.today strong{background:var(--accent)}.timeline-dot{background:var(--soft);border-color:var(--background)}.debt,.coral-text{color:var(--primary-hover)}.debt{background:var(--soft-blue)}.login-art:before{background:#2f6f93}.art-copy p,.hero-copy p,.booking-note p{color:#d9f4f3}.floating-card>span{background:var(--accent)}.login-kicker,.step-count,.onboarding-note>svg,.treatment-number,.balance-banner>svg{color:var(--accent)}.service-options label.selected,.file-drop.has-file{background:#eef9fa}.calendar-corner,.calendar-day-head,.crm-table-head{background:#edf6f9}.calendar-day-column{background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#edf6f9 30px,transparent 31px,transparent 59px,var(--border) 60px)}.calendar-appointment{background:var(--soft)}.calendar-appointment.state-atendida{background:#d9f4f3}.inline-message{color:var(--primary);background:var(--soft)}.muted-box{background:#edf6f9}.number-ticker{display:inline}.patient-code{color:var(--primary);font-weight:800;letter-spacing:.04em}.crm-person small .patient-code{display:inline;font-size:inherit}.audit-filters{position:relative;z-index:4;margin-bottom:24px;padding:18px;display:grid;grid-template-columns:1fr 1.35fr 1fr .8fr .8fr auto;align-items:end;gap:12px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 8px 28px #24577a0f}.audit-filter-actions{display:flex;gap:7px}.patient-search-control{position:relative}.patient-suggestions{position:absolute;z-index:8;top:calc(100% + 5px);left:0;right:0;max-height:245px;overflow-y:auto;padding:5px;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:0 15px 35px #24577a29}.patient-suggestions button{width:100%;padding:9px;display:flex;gap:9px;border:0;border-radius:8px;color:var(--text);background:transparent;cursor:pointer;text-align:left;font-size:10px}.patient-suggestions button:hover,.patient-suggestions button:focus-visible{background:var(--soft)}.patient-suggestions strong{min-width:60px;color:var(--primary)}.patient-suggestions small{display:block;padding:10px;color:var(--muted)}.audit-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 8px 30px #24577a0f}.audit-table{min-width:1000px}.audit-table-head,.audit-row{display:grid;grid-template-columns:1.1fr 1.2fr .9fr .9fr 1.35fr 1fr;align-items:center;gap:14px}.audit-table-head{min-height:45px;padding:0 17px;color:var(--muted);background:#edf6f9;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.audit-row{width:100%;min-height:72px;padding:12px 17px;border:0;border-top:1px solid var(--border);color:var(--text);background:var(--surface);cursor:pointer;text-align:left}.audit-row:hover,.audit-row:focus-visible{background:#f7fcfd;outline:0;box-shadow:inset 3px 0 var(--secondary)}.audit-row strong,.audit-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-row strong{font-size:10px}.audit-row small{margin-top:4px;color:var(--muted);font-size:8px}.audit-action{width:max-content;padding:5px 8px;border-radius:12px;color:var(--primary);background:var(--soft-blue);font-size:9px;font-weight:700;text-transform:capitalize}.load-more{padding:18px;display:flex;justify-content:center}.audit-detail{margin:0 0 18px}.audit-detail div{padding:9px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}.audit-detail dt{color:var(--muted);font-size:10px}.audit-detail dd{margin:0;font-size:10px;font-weight:700}.json-detail{max-height:330px;margin:0;padding:15px;overflow:auto;border:1px solid var(--border);border-radius:12px;color:var(--text);background:#edf6f9;font:10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.payment-review-list article.payment-pending{position:relative;overflow:hidden;border-color:#bdc6ed;animation:pending-pulse 2.8s ease-in-out infinite}.payment-review-list article.payment-pending:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.7) 48%,transparent 66%);transform:translate(-120%);animation:pending-shine 3.8s ease-in-out infinite}@keyframes pending-pulse{50%{box-shadow:0 7px 24px #6672bd21}}@keyframes pending-shine{55%,to{transform:translate(120%)}}.service-options label:focus-within,.time-slots label:focus-within{outline:3px solid rgba(69,191,196,.3);outline-offset:2px}.mobile-menu-backdrop{position:fixed;z-index:120;inset:0;display:none;align-items:end;padding:12px;background:#17354a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-menu{width:min(520px,100%);max-height:min(82vh,680px);margin:0 auto;padding:20px;overflow-y:auto;border-radius:22px 22px 10px 10px;background:var(--surface);box-shadow:0 25px 70px #17354a4d}.mobile-menu header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.mobile-menu header small,.mobile-menu header strong{display:block}.mobile-menu header small{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.14em}.mobile-menu header strong{margin-top:4px;font-size:15px}.mobile-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mobile-menu nav a{min-height:48px;padding:0 12px;display:flex;align-items:center;gap:10px;border-radius:11px;color:var(--text);background:var(--background);font-size:11px;font-weight:700}.mobile-menu nav a.active{color:var(--primary);background:var(--soft-blue)}.mobile-logout{width:100%;min-height:45px;margin-top:15px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ebc5ca;border-radius:11px;color:var(--danger);background:#fff5f6;cursor:pointer;font-size:11px;font-weight:700}@media(min-width:1500px){.weekly-calendar,.crm-table{min-width:0}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}}@media(max-width:1250px){.audit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-filter-actions{grid-column:span 3;justify-content:flex-end}.crm-controls{align-items:stretch;flex-wrap:wrap}.crm-controls .search-box{flex:1 1 280px;width:auto}.crm-controls .filter-row{max-width:100%;overflow-x:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.main-content{animation:none}}@media(max-width:1000px){.sidebar{width:220px}.workspace{margin-left:220px}.main-content{padding:40px 30px 75px}.side-nav a{font-size:11px}.clinic-chip{margin-top:25px}.service-grid,.settings-grid{grid-template-columns:1fr}.hours-card{grid-row:auto}.payment-review-list article{grid-template-columns:auto 1fr auto auto}.payment-review-list .verify-actions{grid-column:2 / -1}.login-art{padding:40px}.art-copy h1{font-size:52px}.floating-card{right:5%}.login-panel{padding:35px}.detail-columns{grid-template-columns:1fr}.patient-profile-head{grid-template-columns:auto 1fr}.profile-head-actions{grid-column:1 / -1;flex-wrap:wrap}.patient-facts{grid-template-columns:1fr 1fr}.patient-facts div:nth-child(2){border-right:0}.patient-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}.patient-contact-strip{overflow-x:auto}.patient-contact-strip>a{flex:0 0 auto}}@media(max-width:900px){body{padding-bottom:env(safe-area-inset-bottom)}.sidebar{display:none}.workspace{margin:0}.main-content{padding:25px 17px calc(94px + env(safe-area-inset-bottom))}.mobile-topbar{height:calc(65px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 17px 0;display:flex;align-items:center;justify-content:space-between;color:var(--petrol);background:var(--cream);border-bottom:1px solid rgba(7,63,66,.07)}.mobile-topbar .brand{font-size:20px}.mobile-topbar .brand-mark{width:32px;height:32px;border-radius:10px 10px 10px 4px}.mobile-top-actions{display:flex;gap:7px}.notification-button{width:37px;height:37px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;color:var(--petrol);background:var(--soft-blue);cursor:pointer}.bottom-nav{position:fixed;z-index:50;inset:auto 0 0;height:calc(69px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);display:flex;align-items:center;justify-content:space-around;gap:2px;background:#fffffff5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.bottom-nav a,.bottom-nav .mobile-more{min-width:0;height:52px;flex:1 1 20%;padding:0 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:11px;color:var(--muted);background:transparent;font-size:8px;font-weight:600}.bottom-nav .mobile-more{cursor:pointer}.bottom-nav a.active{color:var(--petrol);background:var(--soft-blue)}.bottom-nav a.nav-featured .nav-icon{width:38px;height:38px;margin-top:-23px;border-radius:13px 13px 13px 5px;color:#fff;background:var(--accent);box-shadow:0 8px 18px #6672bd3d}.bottom-nav a.nav-featured>span:last-child{margin-top:1px}.mobile-menu-backdrop{display:flex}.page-header{min-height:0;margin-bottom:23px;align-items:flex-start;flex-wrap:wrap}.page-header h1{font-size:34px}.page-header p{max-width:100%;line-height:1.45}.page-header .button{min-width:44px;padding:0 12px}.desktop-action{display:none}.metrics-grid{grid-template-columns:1fr 1fr;gap:9px}.metrics-grid .metric:last-child:nth-child(odd){grid-column:1 / -1}.metric{min-height:94px;padding:13px}.metric-icon{width:35px;height:35px}.metric strong{font-size:18px}.patient-hero{min-height:255px;padding:28px;align-items:flex-start}.hero-copy{max-width:80%}.hero-copy h2{font-size:29px}.hero-tooth{right:-20px;bottom:-25px;width:120px;height:120px}.hero-tooth svg{width:63px}.treatment-row{grid-template-columns:auto 1fr}.treatment-row .status{grid-column:2}.booking-layout,.payments-layout,.detail-columns{grid-template-columns:1fr}.booking-note{order:-1}.booking-note>span{float:left;margin-right:12px}.booking-note h3{margin-top:3px}.booking-note p{clear:both;padding-top:8px}.service-options{grid-template-columns:1fr}.booking-card,.upload-card,.qr-card,.profile-card,.settings-card{padding:20px}.appointment-card{grid-template-columns:auto minmax(0,1fr);gap:12px}.appointment-actions{grid-column:2;max-width:100%;justify-content:flex-start}.appointment-main>div{display:block}.appointment-main h3{margin-top:6px}.simple-table article{grid-template-columns:auto minmax(0,1fr) auto}.simple-table .payment-row-actions{grid-column:2 / -1;justify-content:flex-start}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.profile-card{margin-top:35px}.toggle-row.form-full{grid-column:auto}.agenda-item{grid-template-columns:55px 1fr auto}.agenda-item>.status{grid-column:2}.agenda-item>svg{grid-row:1 / 3;grid-column:3}.day-agenda{grid-template-columns:37px 1fr}.agenda-item{padding:10px}.patient-list-card{grid-template-columns:auto 1fr auto}.patient-list-card .patient-meta{display:none}.patient-list-card .debt{grid-column:2;justify-self:start}.patient-list-card>svg{grid-column:3;grid-row:1 / 3}.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:auto 1fr}.service-price{grid-column:2;text-align:left}.card-actions{grid-column:2}.payment-review-list article{grid-template-columns:auto 1fr auto}.payment-review-list article>.status{grid-column:2}.payment-review-list .verify-actions{grid-column:2 / -1}.amount{grid-column:3;grid-row:1}.evidence-thumb{grid-row:1 / 3}.patient-profile-head{grid-template-columns:auto 1fr}.profile-big-avatar{width:60px;height:60px;border-radius:18px 18px 18px 6px}.patient-profile-head h1{font-size:28px}.patient-profile-head .button{grid-column:1 / -1;justify-self:start}.patient-facts{grid-template-columns:1fr 1fr}.patient-facts div:nth-child(2){border-right:0}.patient-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}.hours-list>div{grid-template-columns:30px 1fr 67px auto 67px;gap:4px}.hours-list input[type=time]{width:67px}.qr-setting-body{align-items:stretch;flex-direction:column}.file-button{justify-content:center}.modal-backdrop{padding:12px;place-items:end center}.modal{width:100%;max-height:88vh;border-radius:22px 22px 8px 8px}.toast{right:15px;bottom:calc(80px + env(safe-area-inset-bottom))}.agenda-toolbar{margin-top:0;flex-wrap:wrap}.agenda-toolbar>span{width:100%;margin:3px 0 0}.agenda-metrics{display:none}.weekly-calendar-scroll,.crm-table-scroll{width:calc(100vw - 34px);border-radius:14px}.weekly-calendar{min-width:930px}.crm-controls{align-items:stretch;flex-direction:column;gap:8px}.crm-controls .search-box{width:100%}.crm-controls .filter-row{margin:0;overflow-x:auto}.crm-controls .filter-row button{flex:none}.crm-table{min-width:860px}.patient-form .two-fields{grid-template-columns:1fr}.profile-head-actions{grid-column:1 / -1;flex-wrap:wrap}.patient-profile-head .profile-head-actions .button{grid-column:auto}.patient-contact-strip{overflow-x:auto}.patient-contact-strip>a{flex:0 0 auto}.patient-facts strong{overflow-wrap:anywhere}.audit-filters{grid-template-columns:1fr 1fr;padding:14px}.audit-filter-actions{grid-column:1 / -1}.audit-filter-actions .button{flex:1}.audit-table-scroll{width:calc(100vw - 34px);border-radius:14px}.login-page{min-height:100svh;display:block;background:var(--cream)}.login-art{display:none}.login-panel{min-height:100svh;padding:calc(105px + env(safe-area-inset-top)) 25px 35px;display:flex;flex-direction:column;justify-content:center}.mobile-login-brand{position:absolute;top:calc(24px + env(safe-area-inset-top));left:25px;display:flex;color:var(--petrol);font-size:21px}.mobile-login-brand .brand-mark{width:35px;height:35px}.login-form-wrap h2{font-size:47px}.login-form-wrap>p{margin-bottom:26px}.onboarding-page{padding:80px 14px 30px;display:block}.onboarding-brand{top:22px;left:18px;font-size:21px}.onboarding-card{margin:0;padding:35px 23px 28px}.onboarding-card h1{font-size:36px}.onboarding-note{display:none}}@media(max-width:390px){.main-content{padding-inline:13px}.bottom-nav a span:last-child,.bottom-nav .mobile-more span:last-child{font-size:8px}.weekly-calendar-scroll,.crm-table-scroll,.audit-table-scroll{width:calc(100vw - 26px)}.patient-hero{padding:23px}.hero-copy{max-width:90%}.metrics-grid{grid-template-columns:1fr}.metrics-grid .metric:last-child:nth-child(odd){grid-column:auto}.metric{min-height:80px}.page-header h1{font-size:31px}.service-card{padding:17px}.appointment-card{padding:11px}.date-tile{width:50px}.appointment-actions .button{width:100%}.time-slots{grid-template-columns:1fr 1fr}.payment-review-list article{padding:10px}.hours-list>div{grid-template-columns:28px 1fr 62px auto 62px}.hours-list input[type=time]{width:62px;padding:0 2px}.mobile-menu nav{grid-template-columns:1fr}}
