@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";:root{color:#172026;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f1ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;font-family:inherit}button:disabled,input:disabled{cursor:not-allowed;opacity:.72}.login-page{background:radial-gradient(circle at 12% 14%,#cdae7e42,#0000 22rem),radial-gradient(circle at 80% 82%,#4c616b33,#0000 26rem),linear-gradient(135deg,#0f1f29 0%,#172b36 58%,#e7e1d7 58%,#f4f1ec 100%);grid-template-columns:minmax(0,1fr) minmax(360px,468px);align-items:center;gap:clamp(2rem,6vw,6rem);min-height:100vh;padding:clamp(1.5rem,5vw,5rem);display:grid;position:relative;overflow:hidden}.login-page:before{pointer-events:none;content:"";border:1px solid #ffffff1f;border-radius:2.4rem;position:absolute;inset:1.25rem}.login-background{filter:blur(48px);background:#cdae7e2e;border-radius:999px;width:35rem;height:35rem;position:absolute;inset:auto -9rem -11rem auto}.brand-panel{color:#f8f3ea;max-width:38rem;position:relative}.brand-line{background:linear-gradient(90deg,#cdae7e,#0000);width:5.5rem;height:1px;margin:clamp(2rem,6vh,3.5rem) 0 2rem}.eyebrow{color:#cdae7e;letter-spacing:.26em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.brand-panel h1{letter-spacing:-.075em;max-width:34rem;margin:1.3rem 0 1.5rem;font-size:clamp(2.1rem,4.2vw,3.55rem);font-weight:500;line-height:.92}.brand-copy{color:#f8f3eab8;max-width:29rem;margin:0;font-size:1.02rem;line-height:1.9}.brand-signature{opacity:.9;filter:drop-shadow(0 14px 22px #00000038);width:min(14rem,52%);height:auto;display:block}.brand-preview{width:min(31rem,100%);min-height:13rem;margin-top:3rem;position:relative}.preview-orbit{border:1px solid #cdae7e38;border-radius:999px;position:absolute;inset:0 4rem 0 0;transform:rotate(-8deg)}.preview-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff14;border:1px solid #ffffff29;border-radius:1.5rem;position:absolute;box-shadow:0 24px 70px #0000002e}.preview-card span,.preview-card small{color:#f8f3ea9e;display:block}.preview-card strong{color:#fffdf8;display:block}.preview-card-main{width:18rem;padding:1.35rem;top:1.2rem;left:0}.preview-card-main strong{letter-spacing:-.04em;margin:.45rem 0;font-size:1.5rem}.preview-card-small{width:11rem;padding:1rem;bottom:.8rem;right:1rem}.preview-card-small strong{margin-top:.35rem;font-size:1.05rem}.login-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fff;border:1px solid #0f1f291a;border-radius:2rem;width:100%;padding:clamp(1.6rem,4vw,2.75rem);position:relative;box-shadow:0 34px 90px #0f1f2938,inset 0 1px #fffffff2}.login-card:before{z-index:-1;content:"";background:linear-gradient(135deg,#cdae7e14,#fff0);border-radius:1.55rem;position:absolute;inset:.7rem}.card-heading{text-align:center;margin-bottom:2rem}.card-heading h2{color:#172026;letter-spacing:-.06em;margin:.7rem 0 .5rem;font-size:clamp(1.75rem,5vw,2.45rem);font-weight:760;line-height:1}.card-heading p:last-child{color:#68757b;margin:0}.login-form{gap:.9rem;display:grid}.login-form label{color:#68757b;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:650}.login-form input{color:#172026;background:#fff;border:1px solid #d9d1c5;border-radius:1.05rem;outline:none;width:100%;padding:1rem 1.05rem;transition:border-color .16s,box-shadow .16s,background .16s}.login-form input::placeholder{color:#9aa3a6}.login-form input:focus{background:#fff;border-color:#8aa0a9;box-shadow:0 0 0 4px #4f717f24}.password-field{position:relative}.password-field input{padding-right:5.7rem}.password-field button{color:#2e5869;background:#4f717f14;border:0;border-radius:.8rem;padding:.62rem .76rem;font-size:.8rem;font-weight:850;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.form-error{color:#8f1d1d;background:#fff1f1;border:1px solid #fecaca;border-radius:1rem;padding:.9rem 1rem;font-size:.9rem}.submit-button,.ghost-button{letter-spacing:.02em;border:0;border-radius:999px;font-weight:760;transition:transform .16s,box-shadow .16s,opacity .16s}.submit-button:hover,.ghost-button:hover{transform:translateY(-1px)}.submit-button{color:#fffdf8;background:linear-gradient(135deg,#172026,#2e5869);margin-top:.55rem;padding:1rem 1.2rem;box-shadow:0 18px 38px #1720263d}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-family:Material Symbols Outlined;font-size:24px;line-height:1}.client-shell{color:#0b1c30;background:#f8f9ff;min-height:100vh;font-family:Plus Jakarta Sans,Inter,ui-sans-serif,system-ui,sans-serif;overflow-x:hidden}.client-sidebar{z-index:50;color:#f8f9ff;background:#0b1c30;border-right:1px solid #c7c4d81a;flex-direction:column;width:260px;height:100%;padding:2rem 0;display:flex;position:fixed;top:0;left:0}.client-sidebar.collapsed{transform:none}.sidebar-overlay{display:none}.sidebar-brand{margin-bottom:2.5rem;padding:0 2rem}.sidebar-brand h1{color:#f8f9ff;letter-spacing:-.02em;margin:0;font-size:20px;font-weight:900;line-height:28px}.sidebar-brand p{color:#c7c4d899;letter-spacing:.08em;margin:0;font-size:11px;font-weight:700;line-height:16px}.sidebar-nav{flex:1;display:block}.sidebar-link{color:#c7c4d8;text-align:left;background:0 0;border:0;border-radius:.75rem;align-items:center;width:calc(100% - 2rem);margin:.25rem 1rem;padding:.75rem 1rem;font-size:14px;font-weight:400;line-height:20px;transition:background .2s,color .2s,transform .2s;display:flex}.sidebar-link:hover{color:#f8f9ff;background:#ffffff0d;transform:translate(4px)}.sidebar-link.active{color:#fff;background:#3525cd;transform:scale(.98)}.sidebar-link:focus-visible,.sidebar-toggle:focus-visible,.toolbar-link:focus-visible{outline-offset:3px;outline:3px solid #3525cd57}.sidebar-link-icon{margin-right:.75rem}.sidebar-footer{margin-top:auto;padding:0 1rem}.sidebar-help-card{background:#ffffff0d;border-radius:1rem;margin-bottom:1rem;padding:1rem}.sidebar-help-card p{color:#fff;margin:0 0 .25rem;font-size:14px;font-weight:600;line-height:20px}.sidebar-help-card span{color:#c7c4d8;font-size:12px;line-height:1.35}.sidebar-footer-links{border-top:1px solid #c7c4d81a;padding-top:1rem}.sidebar-footer-link{color:#c7c4d8;text-align:left;background:0 0;border:0;align-items:center;width:calc(100% - 1rem);margin:.25rem .5rem;padding:.5rem 1rem;font-size:14px;line-height:20px;display:flex}.sidebar-footer-link .material-symbols-outlined{margin-right:.75rem;font-size:20px}.sidebar-footer-link:hover{color:#f8f9ff}.sidebar-footer-link.danger:hover{color:#ba1a1a}.client-main{-webkit-overflow-scrolling:touch;min-width:0;height:100vh;margin-left:260px;overflow:hidden auto}.app-header{z-index:40;background:#f8f9ff;justify-content:space-between;align-items:center;width:calc(100% - 260px);height:4rem;padding:0 2rem;display:flex;position:fixed;top:0;right:0}.header-title{align-items:center;gap:.5rem;display:flex}.header-title>span{background:#3525cd;border-radius:999px;width:.5rem;height:.5rem}.header-title h2{color:#0b1c30;letter-spacing:-.02em;margin:0;font-size:20px;font-weight:800;line-height:28px}.sidebar-toggle{color:#464555;background:#eff4ff;border:0;border-radius:.5rem;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;margin-right:.5rem;transition:color .16s,background .16s;display:none}.sidebar-toggle:hover{color:#3525cd;background:#e5eeff}.client-bottom-toolbar{z-index:40;background:#fff;border-top:1px solid #c7c4d82e;justify-content:space-around;align-items:center;height:4.5rem;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 16px #0000000f}.toolbar-link{color:#777587;background:0 0;border:0;border-radius:.85rem;flex-direction:column;align-items:center;gap:.2rem;min-width:4rem;padding:.35rem .5rem;font-size:10px;font-weight:700;transition:color .16s,background .16s;display:flex}.toolbar-link.active,.toolbar-link:hover{color:#3525cd}.toolbar-link.active{background:#e2dfff66}.toolbar-link .material-symbols-outlined{font-size:22px}.header-actions,.account-trigger{align-items:center;display:flex}.header-actions{gap:1.5rem}.account-menu{position:relative}.account-trigger{background:0 0;border:0;gap:.75rem}.client-user-text{text-align:right}.client-user-text strong,.client-user-text span{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;display:block;overflow:hidden}.client-user-text strong{color:#3525cd;font-size:14px;font-weight:800;line-height:1.15}.client-user-text span{color:#464555;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.client-avatar{color:#fff;object-fit:cover;background:#0b1c30;border:2px solid #e5eeff;border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.125rem;font-weight:700;display:flex;overflow:hidden}.account-chevron{color:#464555}.account-dropdown{z-index:20;background:#fff;border:1px solid #c7c4d859;border-radius:.9rem;width:11rem;display:grid;position:absolute;top:calc(100% + .45rem);right:0;overflow:hidden;box-shadow:0 18px 48px #21314529}.account-dropdown button{color:#0b1c30;text-align:left;background:0 0;border:0;align-items:center;width:100%;min-height:2.75rem;padding:.65rem .85rem;font-weight:700;line-height:1.35;display:flex}.account-dropdown button:hover{background:#eff4ff}.client-dashboard{min-height:100vh;padding:6rem 2rem 3rem}.section-kicker{color:#3525cd;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .25rem;font-size:11px;font-weight:700;line-height:16px;display:block}.welcome-panel,.dashboard-card,.page-heading-card,.bono-card,.empty-state-card{background:#fff;border:1px solid #c7c4d833;box-shadow:0 4px 20px #00000008}.welcome-panel{border-radius:2rem;align-items:center;gap:2rem;margin-bottom:2rem;padding:2rem;display:flex;position:relative;overflow:hidden}.welcome-accent{filter:blur(48px);background:#c3c0ff1a;border-radius:999px;width:16rem;height:16rem;position:absolute;top:-4rem;right:-4rem}.welcome-photo{object-fit:cover;color:#fff;background:#0b1c30;border-radius:1.5rem;flex:none;justify-content:center;align-items:center;width:8rem;height:8rem;font-size:2.25rem;font-weight:800;display:flex;box-shadow:0 18px 36px #0b1c302e}.welcome-copy{z-index:1;flex:1;min-width:0}.welcome-panel h2{color:#0b1c30;letter-spacing:-.02em;margin:0 0 .5rem;font-size:28px;font-weight:700;line-height:36px}.welcome-summary{color:#464555;max-width:42rem;margin:0;font-size:16px;line-height:24px}.welcome-actions{gap:.75rem;margin-top:1.5rem;display:flex}.welcome-actions button{border:0;border-radius:.75rem;padding:.625rem 1.5rem;font-size:14px;font-weight:600;line-height:20px;transition:background .16s,box-shadow .16s}.welcome-actions button:first-child{color:#fff;background:#3525cd}.welcome-actions button:first-child:hover{box-shadow:0 10px 24px #3525cd33}.welcome-actions button:last-child{color:#3525cd;background:#e5eeff}.welcome-actions button:last-child:hover{background:#dce9ff}.dashboard-bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;display:grid}.dashboard-card{border-radius:2rem;padding:2rem}.next-class-card{flex-direction:column;grid-column:span 7;display:flex}.active-bonos-card{grid-column:span 5;position:relative;overflow:hidden}.activity-summary-card{grid-column:1/-1}.card-title-row,.activity-summary-heading,.active-bono-item>div:first-child,.next-class-footer{justify-content:space-between;align-items:center;display:flex}.card-title-row{margin-bottom:1.5rem}.card-title-row h4,.active-bonos-card h4,.activity-summary-heading h4{color:#0b1c30;margin:0;font-size:20px;font-weight:600;line-height:28px}.card-title-row>span{color:#0f0069;letter-spacing:.08em;background:#e2dfff;border-radius:999px;padding:.25rem .75rem;font-size:11px;font-weight:700;line-height:16px}.next-class-summary{background:#eff4ff;border-radius:1rem;align-items:flex-start;gap:1.5rem;margin-bottom:auto;padding:1.5rem;display:flex}.class-date-box{background:#fff;border:1px solid #c7c4d833;border-radius:.75rem;flex-direction:column;flex:none;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex}.class-date-box strong{color:#3525cd;font-size:20px;font-weight:800}.class-date-box span{color:#464555;text-transform:uppercase;font-size:10px;font-weight:700}.next-class-summary p{color:#0b1c30;margin:0;font-size:20px;font-weight:700;line-height:28px}.class-meta-row{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}.class-meta-row span{color:#464555;align-items:center;font-size:14px;line-height:20px;display:flex}.class-meta-row .material-symbols-outlined{color:#3525cd;margin-right:.375rem;font-size:18px}.future-classes-timeline{border-top:1px solid #c7c4d81f;margin-top:1.4rem;padding-top:1.25rem}.future-classes-timeline h5{color:#0b1c30;margin:0 0 .85rem;font-size:.9rem;font-weight:800}.future-timeline-list{gap:.85rem;display:grid;position:relative}.future-timeline-list:before{content:"";background:#dce9ff;width:1px;position:absolute;top:.45rem;bottom:.45rem;left:.31rem}.future-timeline-item{grid-template-columns:.7rem minmax(0,1fr);gap:.75rem;display:grid;position:relative}.future-timeline-item>span{z-index:1;background:#3525cd;border:2px solid #fff;border-radius:999px;width:.65rem;height:.65rem;margin-top:.28rem;box-shadow:0 0 0 4px #e2dfff}.future-timeline-item strong{color:#0b1c30;font-size:.9rem;font-weight:700;display:block}.future-timeline-item p{color:#464555;margin:.15rem 0 0;font-size:.82rem;line-height:1.45}.next-class-footer{border-top:1px solid #c7c4d81a;margin-top:2rem;padding-top:1.5rem}.instructor-inline{align-items:center;display:flex}.instructor-inline div{color:#fff;background:#0b1c30;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:800;display:flex}.instructor-inline span{color:#464555;padding-left:1rem;font-size:14px;font-weight:500}.next-class-footer button{color:#3525cd;background:0 0;border:0;align-items:center;font-size:14px;font-weight:700;transition:transform .16s;display:flex}.next-class-footer button:hover{transform:translate(4px)}.next-class-footer .material-symbols-outlined{margin-left:.25rem;font-size:20px}.bonos-card-glow{filter:blur(32px);background:#bcc7de1a;border-radius:999px;width:10rem;height:10rem;position:absolute;top:-1.25rem;right:-1.25rem}.active-bonos-card h4{z-index:1;margin-bottom:1.5rem;position:relative}.active-bonos-list{z-index:1;gap:1rem;display:grid;position:relative}.dashboard-contract-section{gap:.75rem;display:grid}.dashboard-contract-section+.dashboard-contract-section{border-top:1px solid #c7c4d81f;padding-top:1rem}.dashboard-contract-section h5{color:#0b1c30;margin:0;font-size:.86rem;font-weight:800}.active-bono-item{background:#f8f9ff;border:1px solid #c7c4d833;border-radius:1rem;padding:1rem;transition:border-color .16s}.active-bono-item:hover{border-color:#3525cd4d}.active-bono-item p{color:#3525cd;margin:0;font-size:14px;font-weight:900;line-height:20px}.active-bono-item span{color:#464555;font-size:12px}.active-bono-item strong{color:#3323cc;background:#e2dfff;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .75rem;font-size:.82rem;font-weight:800;line-height:1;display:inline-flex}.class-balance-row strong{color:#3525cd;text-align:right;background:0 0;min-width:2.2rem;padding:0;font-size:1.125rem}.bonos-card-action{z-index:1;border-top:1px solid #c7c4d81a;margin-top:2rem;padding-top:1.5rem;position:relative}.bonos-card-action button{color:#fff;background:#0b1c30;border:0;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-size:14px;font-weight:700;display:flex}.activity-summary-heading{gap:1rem;margin-bottom:2rem}.activity-summary-heading p{color:#464555;margin:0;font-size:14px}.period-tabs{background:#e5eeff;border-radius:.75rem;padding:.25rem;display:flex}.period-tabs button{color:#464555;background:0 0;border:0;border-radius:.5rem;padding:.375rem 1rem;font-size:12px;font-weight:700}.period-tabs button.active{color:#fff;background:#3525cd;box-shadow:0 1px 3px #0b1c3026}.activity-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;display:grid}.activity-stat-card{background:#eff4ff;border:1px solid #c7c4d81a;border-radius:1rem;padding:1.5rem}.activity-stat-card>span{color:#3525cd;background:#3525cd1a;border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-bottom:1rem;display:flex}.activity-stat-card.secondary>span{color:#586377;background:#d5e0f8}.activity-stat-card.error>span{color:#93000a;background:#ffdad6}.activity-stat-card.fixed>span{color:#3323cc;background:#c3c0ff}.activity-stat-card strong{color:#0b1c30;font-size:28px;font-weight:700;line-height:36px;display:block}.activity-stat-card p{color:#464555;letter-spacing:.08em;margin:.25rem 0 0;font-size:11px;font-weight:700;line-height:16px}.form-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:1rem;padding:.9rem 1rem;font-size:.9rem}.page-heading-card{border-radius:1.8rem;padding:clamp(1.3rem,3vw,2rem);position:relative;overflow:hidden}.bonos-heading-content,.bono-title-row,.bono-card-body,.class-balance-topline,.class-balance-footer{align-items:center;display:flex}.bonos-heading-content{justify-content:space-between;gap:1.5rem}.bonos-hero-icon,.bono-icon-block,.bonos-summary-card>span{flex:none;place-items:center;display:grid}.bonos-hero-icon{color:#fff;background:#3525cd;border-radius:1.45rem;width:4.25rem;height:4.25rem;box-shadow:0 18px 36px #3525cd2e}.bonos-hero-icon .material-symbols-outlined{font-size:2rem}.page-heading-card h2,.empty-state-card h2{color:#0b1c30;letter-spacing:-.04em;margin:.55rem 0 0;font-size:clamp(1.45rem,2.5vw,2.05rem);line-height:1.05}.page-heading-card p:last-child,.empty-state-card p{color:#464555;max-width:42rem;margin:.8rem 0 0;line-height:1.7}.bonos-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.35rem;display:grid}.bonos-summary-card{background:#fff;border:1px solid #c7c4d833;border-radius:1.4rem;align-items:center;gap:.9rem;padding:1rem;display:flex;box-shadow:0 4px 20px #00000008}.bonos-summary-card>span{color:#3525cd;background:#e5eeff;border-radius:1rem;width:2.6rem;height:2.6rem}.bonos-summary-card.featured>span{color:#fff;background:#3525cd}.bonos-summary-card p{color:#464555;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:720}.bonos-summary-card strong{color:#0b1c30;margin-top:.15rem;font-size:1.55rem;line-height:1;display:block}.bonos-section{gap:.9rem;margin-top:1.35rem;display:grid}.bonos-section-heading h3{color:#0b1c30;letter-spacing:-.02em;margin:.2rem 0 0;font-size:1.15rem}.bonos-list{gap:1rem;display:grid}.bono-card{border-radius:1.5rem;gap:1.1rem;padding:clamp(1rem,2.4vw,1.4rem);transition:box-shadow .16s,transform .16s;display:grid}.bono-card:hover,.class-balance-card:hover{transform:translateY(-1px);box-shadow:0 18px 42px #0b1c3014}.bono-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.bono-title-row{gap:.9rem;min-width:0}.bono-icon-block{color:#3525cd;background:#eff4ff;border-radius:1rem;width:3rem;height:3rem}.bono-card h3{color:#0b1c30;letter-spacing:-.035em;margin:.45rem 0 0;font-size:clamp(1.12rem,2vw,1.45rem);line-height:1.12}.bono-status{color:#3525cd;background:#e2dfff;border:1px solid #c7c4d833;border-radius:999px;flex:none;padding:.4rem .7rem;font-size:.78rem;font-weight:760}.bono-status-cancelled{color:#93000a;background:#ffdad6}.bono-status-pending{color:#5f4b00;background:#fff1c2}.bono-card-body{align-items:stretch;gap:1rem}.bono-details{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0;display:grid}.bono-details div{background:#eff4ff;border:1px solid #c7c4d826;border-radius:1rem;padding:.85rem}.bono-details dt{color:#3525cd;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:760}.bono-details dd{color:#0b1c30;margin:.35rem 0 0;font-weight:720}.bono-right-metric{color:#fff;text-align:center;background:#0b1c30;border-radius:1rem;place-items:center;min-width:9.5rem;padding:.85rem;display:grid}.bono-right-metric strong{font-size:1.05rem}.bono-right-metric span{color:#ffffffb8;margin-top:.2rem;font-size:.74rem}.bono-actions{border-top:1px solid #c7c4d81f;justify-content:flex-end;align-items:center;gap:.8rem;padding-top:1rem;display:flex}.bono-actions p{color:#464555;margin:0;font-size:.9rem;line-height:1.5}.danger-button{color:#fff;background:linear-gradient(135deg,#93000a,#ba1a1a);border:0;border-radius:999px;padding:.82rem 1rem;font-weight:760;transition:transform .16s;box-shadow:0 14px 28px #93000a2e}.danger-button:hover{transform:translateY(-1px)}.empty-state-card{border-radius:1.8rem;align-items:center;gap:1rem;padding:clamp(1.3rem,3vw,2rem);display:flex}.empty-state-icon{color:#fff;background:#0b1c30;border-radius:1.3rem;flex:none;place-items:center;width:4rem;height:4rem;font-size:1.5rem;display:grid}.class-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.class-balance-card{background:#fff;border:1px solid #c7c4d833;border-radius:1.5rem;padding:1.1rem;transition:box-shadow .16s,transform .16s;box-shadow:0 4px 20px #00000008}.class-balance-topline,.class-balance-footer{justify-content:space-between;gap:1rem}.class-balance-topline p{color:#0b1c30;margin:0;font-weight:780}.class-balance-topline span,.class-balance-footer span{color:#464555;font-size:.82rem}.class-balance-topline strong{color:#3525cd;font-size:1.8rem;line-height:1}.class-balance-footer{align-items:flex-start;margin-top:.75rem}.booking-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1c3061;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.booking-modal{background:#fff;border-radius:1.5rem;width:min(720px,100%);max-height:calc(100vh - 2rem);padding:1.5rem;position:relative;overflow:auto;box-shadow:0 30px 80px #0b1c3038}.booking-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.booking-modal-header h3{color:#0b1c30;margin:0 0 .35rem;font-size:24px;font-weight:800;line-height:32px}.booking-modal-header span{color:#464555;font-size:14px;line-height:20px}.booking-modal-close{color:#464555;background:#eff4ff;border:0;border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.booking-type-step{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem;display:grid}.booking-type-step button{text-align:left;background:#fff;border:1px solid #c7c4d859;border-radius:1.25rem;gap:.55rem;min-height:10rem;padding:1.25rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.booking-type-step button:hover{border-color:#3525cd59;transform:translateY(-1px);box-shadow:0 16px 34px #3525cd1a}.booking-type-step .material-symbols-outlined{color:#3525cd;background:#e2dfff;border-radius:.9rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:24px;display:inline-flex}.booking-type-step strong{color:#0b1c30;font-size:18px;font-weight:850}.booking-type-step span:not(.material-symbols-outlined){color:#5f6070;font-size:13px;font-weight:650;line-height:19px}.booking-step-header{justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 .9rem;display:flex}.booking-step-header>button{color:#464555;background:#fff;border:1px solid #c7c4d852;border-radius:999px;align-items:center;gap:.4rem;padding:.48rem .9rem;font-size:12px;font-weight:850;display:inline-flex;box-shadow:0 8px 18px #0b1c300a}.booking-step-header>button .material-symbols-outlined{font-size:17px}.booking-step-header>strong{color:#3525cd;letter-spacing:.08em;text-transform:uppercase;background:#f5f3ff;border-radius:999px;padding:.35rem .8rem;font-size:12px;font-weight:900}.booking-toolbar{background:#fff;border:1px solid #c7c4d847;border-radius:1rem;grid-template-columns:minmax(145px,1fr) minmax(150px,.9fr) auto;align-items:center;gap:.85rem;margin-bottom:1rem;padding:.75rem .85rem;display:grid;box-shadow:0 10px 28px #0b1c300a}.booking-selected-date{gap:.15rem;min-width:0;padding:0 .25rem;display:grid}.booking-selected-date span,.booking-date-field span{color:#6b6b7b;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.booking-selected-date strong{color:#0b1c30;font-size:14px;font-weight:850;line-height:19px}.booking-date-field{gap:.2rem;min-width:0;margin:0;display:grid}.booking-date-field button{color:#0b1c30;font:inherit;background:#fff;border:1px solid #c7c4d880;border-radius:.65rem;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:12px;font-weight:800;display:inline-flex}.booking-date-field button .material-symbols-outlined{color:#3525cd;font-size:17px}.booking-date-shortcuts,.booking-filter-chips{flex-wrap:nowrap;gap:.4rem;margin:0;display:flex}.booking-date-shortcuts{border-left:1px solid #c7c4d861;justify-content:flex-end;padding-left:.85rem}.booking-filter-chips{margin-left:auto}.booking-date-shortcuts button,.booking-filter-chips button{color:#464555;white-space:nowrap;background:#e5eeff;border:0;border-radius:999px;padding:.38rem .75rem;font-size:12px;font-weight:800}.booking-date-shortcuts button.active,.booking-filter-chips button.active{color:#fff;background:#3525cd}.booking-error-message,.booking-success-message{border-radius:.75rem;margin:0 0 1rem;padding:.85rem 1rem;font-size:14px;font-weight:700}.booking-error-message{color:#7f1d1d;background:#fee2e2bf}.booking-success-message{color:#166534;background:#dcfce7d9}.booking-week-warning{color:#6b3a12;background:#fffaf4;border:1px solid #fb923c47;border-radius:1rem;align-items:center;gap:.9rem;margin:0 0 1rem;padding:.9rem 1rem;display:flex}.booking-week-warning>div{color:#f97316;background:#ffedd5;border-radius:.75rem;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.booking-week-warning .material-symbols-outlined{font-size:20px}.booking-week-warning p{gap:.15rem;margin:0;display:grid}.booking-week-warning strong{color:#3f2a16;font-size:14px;font-weight:850;line-height:18px}.booking-week-warning span{color:#64748b;font-size:12px;font-weight:700;line-height:17px}.booking-calendar-dialog{background:#fff;border-radius:1.35rem;width:min(390px,100%);padding:1.25rem;box-shadow:0 28px 70px #0b1c3047}.booking-calendar-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.booking-calendar-header h4{color:#0b1c30;text-transform:capitalize;margin:0;font-size:18px;font-weight:850}.booking-calendar-header button{color:#3525cd;background:#eff4ff;border:0;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.booking-calendar-header button:disabled{color:#9ca3af;background:#f3f4f6}.booking-calendar-weekdays,.booking-calendar-grid{grid-template-columns:repeat(7,1fr);gap:.45rem;display:grid}.booking-calendar-weekdays{margin-bottom:.55rem}.booking-calendar-weekdays span{color:#777587;text-align:center;font-size:11px;font-weight:850}.booking-calendar-grid button{border:0;border-radius:.75rem;justify-content:center;align-items:center;height:2.35rem;font-size:13px;font-weight:850;display:inline-flex}.booking-calendar-grid button.available{color:#3525cd;background:#f5f3ff}.booking-calendar-grid button.selected{color:#3525cd;background:#e2dfff;box-shadow:inset 0 0 0 2px #3525cd73}.booking-calendar-grid button.unavailable{color:#a1a1aa;background:#f3f4f6}.booking-calendar-grid button:disabled{cursor:not-allowed}.booking-calendar-loading{color:#5f6070;text-align:center;margin:.85rem 0 0;font-size:12px;font-weight:700}.booking-calendar-close{color:#464555;background:#eff4ff;border:0;border-radius:.85rem;width:100%;margin-top:1rem;padding:.75rem 1rem;font-size:13px;font-weight:850;display:block}.booking-confirm-backdrop{z-index:220;background:#0b1c307a;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.booking-confirm-dialog{background:#fff;border-radius:1.5rem;width:min(420px,100%);padding:1.75rem;box-shadow:0 28px 70px #0b1c3047}.booking-confirm-icon{color:#3525cd;background:#e2dfff;border-radius:1rem;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1rem;display:flex}.booking-confirm-icon .material-symbols-outlined{font-size:26px}.booking-confirm-icon-danger{color:#ba1a1a;background:#fee2e2e6}.booking-confirm-dialog h4{color:#0b1c30;letter-spacing:-.03em;margin:0 0 .75rem;font-size:22px;font-weight:850;line-height:28px}.booking-confirm-dialog p{color:#3525cd;margin:0 0 .35rem;font-size:17px;font-weight:850;line-height:24px}.booking-confirm-dialog span{color:#5f6070;font-size:14px;line-height:20px;display:block}.booking-confirm-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem;display:grid}.booking-confirm-actions button{border:0;border-radius:.9rem;padding:.85rem 1rem;font-size:14px;font-weight:850}.booking-confirm-actions button:first-child{color:#464555;background:#eff4ff}.booking-confirm-actions button:last-child{color:#fff;background:#3525cd;box-shadow:0 12px 24px #3525cd38}.booking-slots-list{gap:.75rem;display:grid}.booking-slot-card{text-align:left;background:#fff;border:1px solid #c7c4d85c;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .95rem;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.booking-slot-card:hover:not(:disabled){border-color:#3525cd61;transform:translateY(-1px);box-shadow:0 8px 20px #3525cd12}.booking-slot-card-unavailable{background:#fef2f28c;border-color:#ba1a1a24}.booking-slot-card-unavailable .booking-slot-type{background:#9ca3af}.booking-slot-card-assigned{cursor:default;opacity:1;background:#f0fdf4bf;border-color:#16a34a47}.booking-slot-card-assigned .booking-slot-type{background:#16a34a}.booking-slot-card:disabled{cursor:wait;opacity:.65}.booking-slot-card-unavailable:disabled{cursor:not-allowed;opacity:.78}.booking-slot-card-assigned:disabled{cursor:default;opacity:1}.booking-slot-main{gap:.15rem;display:grid}.booking-slot-main strong{color:#3525cd;letter-spacing:-.01em;font-size:16px;font-weight:800}.booking-slot-main span{color:#0b1c30;font-size:14px;font-weight:750}.booking-slot-main small{color:#5f6070;font-size:12px;line-height:17px}.booking-slot-meta{color:#5f6070;white-space:nowrap;justify-items:end;gap:.25rem;font-size:11px;font-weight:700;display:grid}.booking-slot-type{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#4f46e5;border-radius:999px;padding:.2rem .55rem;font-size:10px;font-weight:800}.client-booking-toast{z-index:260;color:#166534;background:#f0fdf4;border:1px solid #16a34a38;border-radius:999px;align-items:center;gap:.65rem;padding:.85rem 1rem;font-size:14px;font-weight:800;display:inline-flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 18px 40px #0b1c3024}.client-booking-toast .material-symbols-outlined{color:#16a34a;font-size:20px}.classes-page-canvas{width:100%;max-width:1400px;min-height:100vh;margin:0 auto;padding:6rem 2rem 3rem}.classes-page-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem;display:flex}.classes-page-header h3{color:#0b1c30;letter-spacing:-.02em;margin:0 0 .5rem;font-size:28px;font-weight:700;line-height:36px}.classes-page-header p{color:#464555;margin:0;font-size:16px;line-height:24px}.classes-header-actions{gap:.75rem;display:flex}.classes-header-actions button{border-radius:.75rem;align-items:center;padding:.5rem 1rem;font-weight:600;transition:background .16s,transform .16s;display:flex}.classes-header-actions button:active{transform:scale(.95)}.classes-header-actions .material-symbols-outlined{margin-right:.5rem;font-size:20px}.classes-outline-button{color:#3525cd;background:0 0;border:1px solid #c7c4d8}.classes-outline-button:hover{background:#e2dfff33}.classes-primary-button{color:#fff;background:#3525cd;border:2px solid #3525cd}.classes-primary-button:hover{background:#4f46e5}.classes-filter-chips{gap:1rem;margin-bottom:2rem;display:flex}.classes-filter-chips button{color:#464555;background:#e5eeff;border:0;border-radius:999px;padding:.5rem 1.5rem;font-size:14px;font-weight:500;line-height:20px;transition:background .16s}.classes-filter-chips button:hover{background:#dce9ff}.classes-filter-chips button.active{color:#fff;background:#3525cd;font-weight:700}.classes-error-message{color:#7f1d1d;background:#fee2e2a6;border:1px solid #ba1a1a33;border-radius:.75rem;margin:0 0 1.5rem;padding:1rem 1.25rem;font-size:14px;font-weight:600}.classes-empty-state{color:#464555;background:#fff;border:1px solid #c7c4d84d;border-radius:.75rem;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 4px 20px #00000008}.classes-empty-state .material-symbols-outlined{color:#3525cd;font-size:24px}.classes-empty-state p{margin:0;font-size:14px;font-weight:600;line-height:20px}.classes-load-more-row{justify-content:center;margin-top:1.5rem;display:flex}.classes-load-more-row button{color:#3525cd;background:#fff;border:1px solid #3525cd2e;border-radius:999px;padding:.75rem 1.25rem;font-size:14px;font-weight:800;box-shadow:0 10px 24px #0b1c300f}.classes-load-more-row button:hover{background:#f5f3ff}.classes-section{margin-bottom:3rem}.classes-section-heading{align-items:center;gap:.75rem;display:flex}.classes-section-heading h4{color:#0b1c30;margin:0;font-size:20px;font-weight:600;line-height:28px}.primary-dot,.outline-dot{border-radius:999px;width:.5rem;height:.5rem}.primary-dot{background:#3525cd}.outline-dot{background:#777587}.upcoming-classes-section .classes-section-heading{margin-bottom:1.5rem}.upcoming-classes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.class-card{background:#fff;border:1px solid #c7c4d84d;border-radius:.75rem;padding:1.5rem;transition:border-color .16s;box-shadow:0 4px 20px #00000008}.classes-next-card{border-color:#3525cd6b;box-shadow:0 10px 26px #3525cd1a}.class-card:hover{border-color:#3525cd66}.class-card-topline{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.class-icon-box{border-radius:.5rem;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.class-icon-box.primary{color:#3525cd;background:#e2dfff}.class-icon-box.secondary{color:#545f73;background:#d5e0f8}.class-icon-box .material-symbols-outlined{font-size:32px}.class-type-pill{letter-spacing:.08em;border-radius:999px;padding:.25rem .75rem;font-size:11px;font-weight:700;line-height:16px}.class-type-pill.practice{color:#dad7ff;background:#4f46e5}.class-type-pill.theory{color:#111c2d;background:#d8e3fb}.class-card h5{color:#0b1c30;margin:0 0 .25rem;font-size:16px;font-weight:700;line-height:24px}.class-card>p{color:#464555;margin:0 0 1.5rem;font-size:14px;line-height:20px}.class-card-meta{gap:.75rem;margin-bottom:1.5rem;display:grid}.class-card-meta div{color:#464555;align-items:center;display:flex}.class-card-meta .material-symbols-outlined{margin-right:.5rem;font-size:20px}.class-card-meta span{font-size:14px;font-weight:500;line-height:20px}.class-card-top-actions{align-items:center;gap:.4rem;display:flex}.class-detail-button{color:#777587;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;display:inline-flex}.class-detail-button:hover{color:#3525cd;background:#e2dfff73}.class-detail-button .material-symbols-outlined{font-size:18px}.class-detail-dialog{background:#fff;border-radius:1.65rem;width:min(520px,100%);padding:2rem;box-shadow:0 28px 70px #0b1c3047}.class-detail-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.class-detail-header>button{color:#464555;background:#eff4ff;border:0;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.class-detail-dialog h4{color:#0b1c30;letter-spacing:-.02em;margin:0 0 1.25rem;font-size:20px;font-weight:850;line-height:28px}.class-detail-list{gap:1rem;margin-bottom:1.6rem;display:grid}.class-detail-list div{color:#464555;align-items:center;gap:.8rem;font-size:14px;font-weight:650;line-height:20px;display:flex}.class-detail-list .material-symbols-outlined{color:#3525cd;font-size:20px}.class-detail-cancel-link{color:#ba1a1a;letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;margin:1rem 0 0 auto;padding:0;font-size:12px;font-weight:850;display:block}.class-detail-cancel-link:hover{text-decoration:underline}.class-card-actions{border-top:1px solid #c7c4d833;gap:.5rem;padding-top:1rem;display:flex}.class-card-actions button{color:#3525cd;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-radius:.5rem;flex:1;padding:.5rem 0;font-size:11px;font-weight:700;line-height:16px;transition:background .16s}.class-card-actions button:hover{background:#3525cd0d}.class-card-actions button.danger{color:#ba1a1a}.class-card-actions button.danger:hover{background:#ba1a1a0d}.class-card-actions button.secondary-action{color:#586377;background:#d5e0f8;width:100%}.class-card-actions button.secondary-action:hover{background:#d8e3fb}.class-booking-placeholder{cursor:pointer;text-align:center;opacity:1;border:2px dashed #c7c4d84d;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:1.5rem;transition:border-color .16s,background .16s;display:flex}.class-booking-placeholder:hover{background:#f5f3ff73;border-color:#3525cd59}.class-booking-placeholder div{color:#3525cd;border:2px solid #3525cd;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1rem;display:flex}.class-booking-placeholder .material-symbols-outlined{color:#3525cd;font-size:26px;font-weight:700}.class-booking-placeholder p{color:#0b1c30;margin:0;font-size:14px;font-weight:700}.class-booking-placeholder span{color:#464555;letter-spacing:.08em;margin-top:.25rem;font-size:11px;font-weight:700}.classes-history-heading{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.classes-history-heading>button{color:#3525cd;background:0 0;border:0;font-size:14px;font-weight:700}.classes-history-heading>button:hover{text-decoration:underline}.classes-history-table-card{background:#fff;border:1px solid #c7c4d84d;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 20px #00000008}.classes-history-load-sentinel{height:1px}.facturas-table-card{background:#fff;border:1px solid #c7c4d84d;border-radius:.75rem;margin-top:1.5rem;overflow:hidden;box-shadow:0 4px 20px #00000008}.classes-history-table-card table,.facturas-table-card table{border-collapse:collapse;text-align:left;width:100%}.classes-history-table-card thead tr,.facturas-table-card thead tr{background:#eff4ff;border-bottom:1px solid #c7c4d833}.classes-history-table-card th,.facturas-table-card th{color:#464555;letter-spacing:.08em;padding:1rem 1.5rem;font-size:11px;font-weight:700;line-height:16px}.classes-history-table-card th.right,.facturas-table-card th.right{text-align:right}.classes-history-table-card tbody tr,.facturas-table-card tbody tr{border-bottom:1px solid #c7c4d81a;transition:background .16s}.classes-history-table-card tbody tr:last-child,.facturas-table-card tbody tr:last-child{border-bottom:0}.classes-history-table-card tbody tr:hover,.facturas-table-card tbody tr:hover{background:#f8f9ff}.classes-history-table-card td,.facturas-table-card td{color:#0b1c30;vertical-align:middle;padding:1rem 1.5rem}.classes-history-table-card td>p,.facturas-table-card td>p{margin:0;font-size:14px;font-weight:700}.classes-history-table-card td>span:not(.history-type):not(.history-status),.facturas-table-card td>span{color:#464555;letter-spacing:.08em;font-size:11px;line-height:16px}.facturas-table-card td.right{text-align:right}.factura-download-button{color:#fff;background:#3525cd;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .85rem;font-size:12px;font-weight:850;display:inline-flex}.factura-download-button .material-symbols-outlined{font-size:17px}.history-type{border-radius:.25rem;padding:.125rem .5rem;font-size:10px;font-weight:700;display:inline-flex}.history-type.practice{color:#3525cd;background:#e2dfff4d}.history-type.theory{color:#545f73;background:#d8e3fb4d}.history-class-name{color:#0b1c30;font-size:14px;font-weight:500!important}.history-teacher{align-items:center;gap:.5rem;display:flex}.history-teacher div{background:#c7c4d833;border-radius:999px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:flex}.history-teacher .material-symbols-outlined,.history-teacher span{font-size:14px}.history-status{color:#444749;justify-content:flex-end;align-items:center;gap:.25rem;font-size:14px;font-weight:700;display:flex}.history-status.completed .material-symbols-outlined{color:#16a34a}.history-status.cancelled{opacity:.5}.history-status .material-symbols-outlined{font-size:18px}.classes-booking-fab{z-index:45;color:#fff;background:#3525cd;border:0;border-radius:999px;justify-content:center;align-items:center;width:4rem;height:4rem;transition:transform .16s;display:flex;position:fixed;bottom:2.5rem;right:2.5rem;box-shadow:0 25px 50px #3525cd40}.classes-booking-fab:hover{transform:scale(1.1)}.classes-booking-fab:active{transform:scale(.95)}.classes-booking-fab .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;font-size:28px}.bonos-page-canvas{background:#f8f9ff;width:100%;min-height:100vh;padding:6rem 2rem 3rem}.bonos-reference-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem;display:flex}.bonos-reference-header h2{color:#0b1c30;letter-spacing:-.02em;margin:0 0 .5rem;font-size:28px;font-weight:700;line-height:36px}.bonos-reference-header p:not(.bonos-reference-kicker){color:#464555;margin:0;font-size:16px;line-height:24px}.bonos-reference-kicker{color:#3525cd;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.5rem;margin:0;font-size:11px;font-weight:800;line-height:16px;display:inline-flex}.bonos-reference-kicker span{background:#3525cd;border-radius:999px;width:.5rem;height:.5rem;display:block}.bonos-header-actions,.bonos-card-main-row,.bonos-card-identity,.bonos-card-meta-row,.bonos-card-meta-row div,.bonos-reference-actions,.bonos-section-title-row{align-items:center;display:flex}.bonos-header-actions{flex:none;gap:.75rem}.bonos-primary-button,.bonos-secondary-button,.bonos-link-button,.bonos-muted-button{border:0;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.82rem 1.05rem;font-size:14px;font-weight:800;line-height:20px;display:inline-flex}.bonos-primary-button{color:#fff;background:#3525cd;box-shadow:0 18px 34px #3525cd3d}.bonos-primary-button.full{width:100%}.bonos-secondary-button,.bonos-link-button,.bonos-muted-button{color:#0b1c30;background:#fff;box-shadow:0 4px 20px #00000008}.bonos-reference-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;display:grid}.bonos-active-column{grid-column:span 8;min-width:0}.bonos-side-column{grid-column:span 4;align-content:start;gap:1rem;min-width:0;display:grid}.bonos-section-title-row{justify-content:space-between;margin-bottom:1.25rem}.bonos-section-title-row strong{color:#545f73;font-size:13px}.bonos-reference-card,.bonos-purchase-panel,.bonos-reference-empty{background:#fff;border:1px solid #c7c4d833;box-shadow:0 4px 20px #00000008}.bonos-card-identity span,.bonos-sessions-meter span{color:#545f73;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:16px}.bonos-reference-list{gap:1.5rem;display:grid}.bonos-reference-card{border-color:#c7c4d847;border-radius:1.35rem;gap:1.05rem;padding:1.35rem;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 34px #2131450f}.bonos-card-blob{background:#e2dfff6b;border-radius:48% 52% 42% 58%;width:12rem;height:12rem;position:absolute;top:-3.6rem;right:-3.2rem;transform:rotate(18deg)}.bonos-card-main-row,.bonos-reference-actions{z-index:1;justify-content:space-between;gap:1.5rem;position:relative}.bonos-card-main-row{align-items:flex-start}.bonos-card-identity{flex:1;gap:1.25rem;min-width:0}.bonos-card-icon,.bonos-pulse-icon{color:#3525cd;background:#eff4ff;border-radius:1.2rem;flex:none;place-items:center;display:grid}.bonos-card-icon{background:#e2dfff;border-radius:1rem;width:4.25rem;height:4.25rem}.bonos-card-icon .material-symbols-outlined{font-size:2rem}.bonos-card-identity h3,.bonos-purchase-panel h3{color:#0b1c30;letter-spacing:-.04em;margin:.3rem 0 0;font-weight:800;line-height:1.1}.bonos-card-identity h3{margin-top:0;font-size:clamp(1.08rem,1.7vw,1.35rem);font-weight:800}.bonos-card-identity p,.bonos-purchase-panel p{color:#545f73;margin:.25rem 0 0;font-size:13px;line-height:1.55}.bonos-card-identity p{color:#464555;max-width:34rem;font-size:14px}.bonos-card-meta-row{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.75rem;display:flex}.bonos-card-meta-row>span{color:#545f73;letter-spacing:.1em;text-transform:uppercase;background:#f8f9ffdb;border:1px solid #c7c4d857;border-radius:999px;align-items:center;gap:.32rem;padding:.24rem .56rem;font-size:9.5px;font-weight:800;line-height:13px;display:inline-flex}.bonos-card-meta-row .material-symbols-outlined{color:#3525cd;font-size:14px}.bonos-card-meta-row .bono-status,.bonos-card-meta-row .bono-status .material-symbols-outlined{color:#3525cd;background:#f0edff}.bonos-card-meta-row .bono-status-cancelled,.bonos-card-meta-row .bono-status-cancelled .material-symbols-outlined{color:#ba1a1a}.bonos-card-meta-row .bono-status-pending,.bonos-card-meta-row .bono-status-pending .material-symbols-outlined{color:#7a5d00}.bonos-sessions-meter{text-align:right;min-width:11rem}.bonos-contract-summary{text-align:right;justify-items:end;min-width:11rem;display:grid}.bonos-sessions-meter strong{color:#3525cd;letter-spacing:-.06em;font-size:clamp(3rem,5vw,4.25rem);font-weight:800;line-height:.88;display:block}.bonos-sessions-meter>span{margin-top:.45rem;display:block}.bonos-contract-summary span{color:#545f73;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:16px}.bonos-contract-summary strong{color:#3525cd;letter-spacing:-.02em;margin-top:.32rem;font-size:clamp(1rem,1.7vw,1.25rem);font-weight:800;line-height:1.15}.bonos-reference-progress{background:#e5eeff;border-radius:999px;height:.45rem;margin-top:.85rem;overflow:hidden}.bonos-reference-progress i{border-radius:inherit;background:#3525cd;height:100%;display:block}.bonos-reference-actions{border-top:1px solid #c7c4d82e;justify-content:space-between;align-items:center;padding-top:.95rem}.bonos-reference-actions>div{align-items:center;gap:.65rem;display:flex}.bonos-left-actions{min-width:0}.bonos-link-button{color:#3525cd;box-shadow:none;background:0 0;margin-left:auto;padding-right:0}.bonos-muted-button,.bonos-muted-button:disabled{color:#ba1a1a;box-shadow:none;background:0 0}.bonos-reference-actions button:disabled{opacity:1}.bonos-details-actions{justify-content:flex-end;margin-top:1rem;display:flex}.bonos-details-cancel{color:#ba1a1a;background:0 0;border:0;padding:0;font-size:13px;font-weight:800;line-height:18px}.bonos-details-cancel:disabled{opacity:1}.bonos-modal-backdrop{z-index:110;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1c3061;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.bonos-details-modal{background:#fff;border:1px solid #c7c4d86b;border-radius:1.6rem;width:min(100%,34rem);max-height:min(90vh,44rem);padding:1.35rem;overflow:auto;box-shadow:0 30px 80px #0b1c3038}.bonos-details-modal-header{border-bottom:1px solid #c7c4d838;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.bonos-details-modal-header h3{color:#0b1c30;margin:.4rem 0 0;font-size:clamp(1.25rem,4vw,1.75rem);line-height:1.1}.bonos-modal-close{color:#0b1c30;background:#fff;border:1px solid #c7c4d852;border-radius:999px;flex:none;place-items:center;width:2.4rem;height:2.4rem;display:grid}.bonos-modal-close .material-symbols-outlined{font-size:1.2rem}.bonos-details-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;display:grid}.bonos-details-list div{background:#fbfcff;border:1px solid #c7c4d838;border-radius:1rem;min-width:0;padding:.85rem}.bonos-details-list dt{color:#545f73;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .32rem;font-size:10px;font-weight:800;line-height:14px}.bonos-details-list dd{color:#0b1c30;margin:0;font-size:15px;font-weight:760;line-height:1.3}.bonos-purchase-panel{border-radius:1.75rem;gap:1rem;padding:1.35rem;display:grid}.bonos-classes-summary{background:#fbfcff;border-radius:1.35rem;justify-items:start;gap:.25rem;padding:1rem;display:grid}.bonos-classes-summary .material-symbols-outlined{color:#3525cd}.bonos-classes-summary strong{color:#0b1c30;letter-spacing:-.04em;font-size:clamp(2.25rem,5vw,3rem);line-height:1}.bonos-classes-summary span{color:#545f73;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800;line-height:16px}.bonos-reference-empty{border-radius:1.75rem;align-items:center;gap:1rem;margin-bottom:1rem;padding:1.35rem;display:flex}.bonos-pulse-icon{width:4rem;height:4rem}.bonos-reference-empty h3{color:#0b1c30;margin:0}.bonos-reference-empty p{color:#545f73;margin:.25rem 0 0}.profile-page-canvas{width:100%;max-width:1180px;min-height:100vh;margin:0 auto;padding:6rem 2rem 3rem}.profile-page-header{margin-bottom:1.5rem}.profile-page-header h3{color:#0b1c30;letter-spacing:-.02em;margin:.25rem 0 .35rem;font-size:28px;font-weight:800;line-height:36px}.profile-page-header p:last-child{color:#464555;margin:0;font-size:16px;line-height:24px}.profile-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.48fr);gap:1.5rem;display:grid}.profile-card{background:#fff;border:1px solid #c7c4d838;border-radius:2rem;padding:2rem;box-shadow:0 4px 20px #00000008}.profile-card-heading{margin-bottom:1.5rem}.profile-card-heading h4{color:#0b1c30;margin:0 0 .25rem;font-size:20px;font-weight:800;line-height:28px}.profile-card-heading p{color:#464555;margin:0;font-size:14px;line-height:20px}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.profile-form-grid.single-column{grid-template-columns:1fr}.profile-field-wide{grid-column:1/-1}.profile-form-grid label{color:#464555;letter-spacing:.08em;text-transform:uppercase;gap:.45rem;font-size:11px;font-weight:800;line-height:16px;display:grid}.profile-form-grid input{color:#0b1c30;letter-spacing:0;text-transform:none;background:#f8f9ff;border:1px solid #c7c4d86b;border-radius:.9rem;outline:none;width:100%;padding:.82rem .95rem;font-size:14px;transition:border-color .16s,box-shadow .16s,background .16s}.profile-form-grid input:focus{background:#fff;border-color:#3525cd73;box-shadow:0 0 0 4px #e2dfffb3}.profile-field-error{color:#ba1a1a;letter-spacing:0;text-transform:none;font-size:12px;font-weight:700;line-height:17px}.profile-submit-button{color:#fff;background:#0b1c30;border:0;border-radius:.9rem;justify-content:center;align-items:center;width:100%;margin-top:1.5rem;padding:.9rem 1rem;font-size:14px;font-weight:800;transition:transform .16s,opacity .16s;display:flex}.profile-submit-button:hover{transform:translateY(-1px)}.profile-success-message{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.9rem;margin:1rem 0 0;padding:.75rem .9rem;font-size:14px;font-weight:700}@media (width<=1024px) and (width>=769px){.client-sidebar{width:76px;padding:1.25rem 0;transition:width .22s,transform .22s;overflow:hidden;transform:translate(0)}.client-sidebar.collapsed .sidebar-brand{height:2.25rem;margin-bottom:1.25rem;padding:0 .75rem}.client-sidebar.collapsed .sidebar-brand h1,.client-sidebar.collapsed .sidebar-brand p,.client-sidebar.collapsed .sidebar-link span:not(.material-symbols-outlined){clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.client-sidebar:not(.collapsed){width:260px}.client-sidebar.collapsed .sidebar-link{justify-content:center;width:calc(100% - 1rem);margin:.25rem .5rem;padding:.85rem 0}.client-sidebar.collapsed .sidebar-link-icon{margin-right:0}.client-sidebar:not(.collapsed)~.sidebar-overlay{z-index:48;background:#0b1c3052;display:block;position:fixed;inset:0}.client-main{margin-left:76px}.app-header{width:calc(100% - 76px)}.header-title>span{display:none}.sidebar-toggle{display:inline-flex}}@media (width<=768px){.login-page{background:radial-gradient(circle at 20% 12%,#cdae7e3d,#0000 20rem),linear-gradient(160deg,#0f1f29 0%,#172b36 52%,#f4f1ec 52%);grid-template-columns:1fr;gap:2rem}.login-page:before{border-radius:1.6rem;inset:.75rem}.brand-panel{max-width:none}.brand-line{margin-top:2rem}.brand-signature{width:min(12rem,52%)}.brand-preview,.client-sidebar{display:none}.client-main{height:100dvh;margin-left:0;overflow:hidden auto}.app-header,.header-title>span,.client-user-text,.account-chevron{display:none}.client-bottom-toolbar{background:#0b1c30;border-top:0;display:flex;box-shadow:0 -14px 34px #0b1c3038}.toolbar-link{color:#f8f9ffb8;flex:1 1 0;min-width:0;padding:.35rem .25rem;font-size:9px}.toolbar-link.active,.toolbar-link:hover{color:#fff}.toolbar-link.active{background:#ffffff1f}.classes-booking-fab{bottom:5.5rem;right:1rem}.client-booking-toast{border-radius:1rem;justify-content:center;inset:auto 1rem 5.5rem}.client-dashboard,.classes-page-canvas,.bonos-page-canvas,.profile-page-canvas{min-height:auto;padding:1rem 1rem 6rem}.dashboard-bento,.upcoming-classes-grid,.profile-grid,.bonos-reference-grid,.class-balance-grid,.bonos-summary-grid{grid-template-columns:1fr}.next-class-card,.active-bonos-card,.bonos-active-column,.bonos-side-column{grid-column:1/-1}.classes-history-table-card{overflow-x:auto}.facturas-table-card{box-shadow:none;background:0 0;border:0;overflow:visible}.facturas-table-card table,.facturas-table-card thead,.facturas-table-card tbody,.facturas-table-card tr,.facturas-table-card th,.facturas-table-card td{display:block}.facturas-table-card table{min-width:0}.facturas-table-card thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.facturas-table-card tbody{gap:.85rem;display:grid}.facturas-table-card tbody tr{background:#fff;border:1px solid #c7c4d833;border-radius:1.15rem;gap:.65rem;padding:1rem;display:grid;box-shadow:0 4px 20px #00000008}.facturas-table-card td{text-align:right;border-bottom:1px solid #c7c4d81f;justify-content:space-between;align-items:center;gap:1rem;padding:0 0 .65rem;display:flex}.facturas-table-card td:last-child{border-bottom:0;padding-bottom:0}.facturas-table-card td:before{content:attr(data-label);color:#545f73;letter-spacing:.08em;text-align:left;font-size:11px;font-weight:800}.facturas-table-card td.right{text-align:right}.booking-modal-backdrop,.booking-confirm-backdrop,.bonos-modal-backdrop{padding:1rem}.booking-modal{max-height:calc(100vh - 2rem);padding:1rem}.booking-toolbar,.booking-type-step,.bonos-details-list,.profile-form-grid,.booking-confirm-actions{grid-template-columns:1fr}.booking-date-shortcuts{border-left:0;justify-content:flex-start;padding-left:0}.booking-slot-card,.bonos-card-main-row,.bonos-card-identity,.bonos-reference-header,.bonos-section-title-row,.classes-page-header,.welcome-panel,.empty-state-card{flex-direction:column;align-items:flex-start}.booking-slot-meta,.bonos-contract-summary,.bonos-sessions-meter{text-align:left;white-space:normal;justify-items:start}.bonos-link-button,.bonos-contract-summary,.bonos-sessions-meter,.bono-right-metric{width:100%}.bonos-heading-content,.bono-card-body,.class-balance-footer,.bono-card-header,.bono-actions,.next-class-summary,.activity-summary-heading{flex-direction:column;align-items:flex-start}.next-class-footer{text-align:center;align-items:center;gap:.9rem;width:100%;margin-top:1.4rem;padding-top:1.1rem}.instructor-inline{justify-content:center;width:100%}.instructor-inline div{width:1.85rem;height:1.85rem;font-size:.78rem}.instructor-inline span{padding-left:.65rem;font-size:13px;line-height:18px}.next-class-footer button{background:#f5f3ff;border-radius:999px;justify-content:center;padding:.55rem .9rem}.classes-filter-chips,.period-tabs{padding-bottom:.25rem;overflow-x:auto}.bonos-card-identity{width:100%}.bono-details{grid-template-columns:1fr}.activity-side{border-top:1px solid #17202614;border-left:0;padding:1rem 0 0}.bonos-reference-actions{align-items:stretch}.welcome-panel{border-radius:1.5rem;grid-template-columns:4.75rem minmax(0,1fr);gap:1rem;padding:1.25rem;display:grid}.welcome-photo{border-radius:1.1rem;width:4.75rem;height:4.75rem;font-size:1.4rem}.welcome-copy{min-width:0}.welcome-panel h2{margin-top:.25rem;font-size:22px;line-height:28px}.welcome-summary{font-size:14px;line-height:21px}.next-class-card{text-align:center;align-items:center}.next-class-card .card-title-row{align-items:center;width:100%}.next-class-summary{text-align:center;border-radius:1.25rem;justify-content:center;align-items:center;width:100%;padding:1.45rem 1.25rem}.next-class-summary>div:last-child{justify-items:center;display:grid}.next-class-summary p{font-size:20px;line-height:26px}.next-class-summary .class-meta-row{justify-content:center}.classes-history-table-card{box-shadow:none;background:0 0;border:0;overflow:visible}.classes-history-table-card table,.classes-history-table-card thead,.classes-history-table-card tbody,.classes-history-table-card tr,.classes-history-table-card th,.classes-history-table-card td{display:block}.classes-history-table-card table{min-width:0}.classes-history-table-card thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.classes-history-table-card tbody{gap:.85rem;display:grid}.classes-history-table-card tbody tr{background:#fff;border:1px solid #c7c4d833;border-radius:1.15rem;gap:.65rem;padding:1rem;display:grid;box-shadow:0 4px 20px #00000008}.classes-history-table-card td{text-align:right;border-bottom:1px solid #c7c4d81f;justify-content:space-between;align-items:center;gap:1rem;padding:0 0 .65rem;display:flex}.classes-history-table-card td:last-child{border-bottom:0;padding-bottom:0}.classes-history-table-card td:before{content:attr(data-label);color:#545f73;letter-spacing:.08em;text-align:left;text-transform:uppercase;font-size:11px;font-weight:800}.history-teacher{text-align:right;justify-content:flex-end}.history-status{justify-content:flex-end}.bonos-reference-card{text-align:center;border-radius:1.55rem;justify-items:center;padding:1.5rem 1.25rem 1.35rem}.bonos-card-blob{width:11rem;height:11rem;top:-4.5rem;right:-4.5rem}.bonos-card-main-row{align-items:center;gap:1rem;width:100%}.bonos-card-identity{text-align:center;grid-template-columns:1fr;justify-items:center;gap:.85rem;display:grid}.bonos-card-icon{border-radius:1.1rem;width:4.15rem;height:4.15rem;box-shadow:0 14px 30px #3525cd1f}.bonos-card-icon .material-symbols-outlined{font-size:1.9rem}.bonos-card-identity h3{font-size:1.15rem;line-height:1.15}.bonos-card-identity p{max-width:none;margin-top:.35rem}.bonos-card-meta-row{justify-content:center;margin-top:.85rem}.bonos-card-meta-row>span{white-space:normal;justify-content:center}.bonos-contract-summary,.bonos-sessions-meter{text-align:center;border-top:1px solid #c7c4d824;justify-items:center;padding-top:1rem}.bonos-reference-actions{justify-content:center;width:100%}.bonos-link-button{justify-content:center;margin-left:0;padding-right:1.05rem}}
