html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0071c1;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.loading-progress {
    position: absolute;
    display: block;
    width: 8rem;
    height: 8rem;
    inset: 20vh 0 auto 0;
    margin: 0 auto 0 auto;
}

    .loading-progress circle {
        fill: none;
        stroke: #e0e0e0;
        stroke-width: 0.6rem;
        transform-origin: 50% 50%;
        transform: rotate(-90deg);
    }

        .loading-progress circle:last-child {
            stroke: #1b6ec2;
            stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
            transition: stroke-dasharray 0.05s ease-in-out;
        }

.loading-progress-text {
    position: absolute;
    text-align: center;
    font-weight: bold;
    inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

    .loading-progress-text:after {
        content: var(--blazor-load-percentage-text, "Loading");
    }

code {
    color: #c02d76;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--navy:#101a38;--indigo:#5b4ee8;--ink:#1d2640;--muted:#68718b;--line:#e3e7f0;--bg:#f6f7fb;--green:#16865d;--red:#bd3848;--shadow:0 18px 45px #18234a17}
*{box-sizing:border-box}html,body{font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff}h1,h2,h3,.brand{font-family:Manrope,sans-serif;color:var(--navy)}h1{font-size:clamp(2.3rem,5vw,4.5rem);font-weight:800;line-height:1.05}h2,h3{font-weight:700}p{color:var(--muted);line-height:1.65}a{text-decoration:none;color:var(--indigo)}.container{width:min(1160px,calc(100% - 2rem));margin:auto}.narrow{max-width:760px}.narrow-form{max-width:900px}.site-header{height:72px;position:sticky;top:0;z-index:20;background:#fffffff2;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-shell{height:100%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:800;color:var(--navy)}.brand-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--indigo),#7c3aed);color:#fff}.nav-links{display:flex;gap:1.2rem;align-items:center}.nav-links>a,.btn-link{color:#3f4863;font-weight:600}.btn-link{border:0;background:none}.nav-toggle,#nav-toggle{display:none}.btn{border-radius:10px;font-weight:700;padding:.7rem 1rem}.btn-primary{background:linear-gradient(135deg,var(--indigo),#7045e9);border:0;box-shadow:0 8px 20px #5b4ee82b}.btn-outline{border:1px solid #cbd1df;background:#fff;color:var(--navy)}.btn-danger{background:#fff0f1;color:var(--red);border:1px solid #f1c8cc}.btn-block{width:100%}.btn-link{cursor:pointer}.hero{padding:6rem 0;background:radial-gradient(circle at 78% 45%,#e6e1ff,transparent 28%),linear-gradient(145deg,#fdfdff,#f3f4fb);overflow:hidden}.hero-grid,.split{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:5rem}.hero h1 span,.eyebrow{color:var(--indigo)}.hero>p,.lead{font-size:1.1rem}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:.74rem}.hero-actions,.trust-row{display:flex;gap:.8rem;margin:1.7rem 0}.trust-row{font-size:.84rem;color:#59627b}.hero-visual{height:410px;position:relative;display:grid;place-items:center}.visual-orb{width:300px;height:300px;border-radius:45% 55%;display:grid;place-items:center;transform:rotate(-7deg);background:linear-gradient(145deg,#16234a,var(--indigo));box-shadow:0 40px 75px #3333813d}.visual-orb span{font:800 5rem Manrope;color:#fff}.floating-card,.mini-card{position:absolute;z-index:2;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.floating-card{top:12%;left:0;display:flex;gap:.6rem}.floating-card small,.floating-card strong,.floating-card p{display:block;margin:.1rem}.floating-card small{color:var(--indigo);font-weight:800}.status-dot{width:9px;height:9px;border-radius:50%;background:#20b47f}.mini-card{right:0;bottom:10%;width:190px}.mini-card strong{float:right}.progress{height:6px;background:#e8eaf1;margin-top:.6rem}.progress i{display:block;height:100%;background:var(--indigo)}.section{padding:5rem 0}.tint,.dashboard-page{background:var(--bg)}.section-heading,.page-hero{text-align:center}.section-heading{max-width:720px;margin:0 auto 3rem}.card-grid{display:grid;gap:1.2rem}.card-grid.three,.slot-grid{grid-template-columns:repeat(3,1fr)}.feature-card,.panel,.metric-card,.detail-card,.form-section,.slot-card,.stat{background:#fff;border:1px solid var(--line);border-radius:17px;padding:1.5rem;box-shadow:0 8px 30px #17254a0a}.feature-card>b{color:var(--indigo)}.quote-card{background:var(--navy);padding:2.4rem;border-radius:24px}.quote-card span{color:#8275ff;font-size:4rem}.quote-card p{color:#fff;font-size:1.3rem}.check-list{list-style:none;padding:0}.check-list li{padding:.5rem}.check-list li:before{content:"✓";color:var(--green);font-weight:800;margin-right:.7rem}.faq details{max-width:800px;margin:auto;padding:1.2rem;border-bottom:1px solid var(--line)}.faq summary{font-weight:700}.page-hero{padding:6rem 0;background:#f6f5ff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}footer{padding:3rem 0;background:var(--navy);color:#fff}footer p,footer a{color:#adb6d0}.auth-page{min-height:calc(100vh - 72px);padding:4rem 1rem;display:grid;place-items:center;background:radial-gradient(circle at 10% 10%,#eae7ff,transparent 25%),var(--bg)}.auth-card{width:min(460px,100%);padding:2rem;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.auth-card.wide{width:min(680px,100%)}.brand.centered{justify-content:center}.auth-heading,.auth-foot{text-align:center}.auth-heading h1,.auth-card>h1{font-size:2rem}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-weight:700;font-size:.86rem}.field input,.field textarea,.field select,.filter-bar input,.filter-bar select,td select{width:100%;padding:.72rem;border:1px solid #ccd2df;border-radius:9px;background:#fff;color:var(--ink)}.field textarea{min-height:100px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}.form-grid .full{grid-column:1/-1}.form-row{display:flex;justify-content:space-between;margin:1rem 0}.checkbox{display:flex;align-items:center;gap:.4rem}.checkbox.spaced{margin:1rem 0}.dashboard-page{min-height:75vh;padding:3rem 0 5rem}.page-title{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.page-title h1{font-size:2.3rem;margin:.3rem 0}.page-title p{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.3rem}.stat span,.stat a{display:block;font-size:.82rem}.stat strong{display:block;font:800 2rem Manrope;margin:.5rem 0}.stat.accent{background:linear-gradient(140deg,var(--navy),#344078)}.stat.accent *{color:#fff}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.2rem}.panel-head,.slot-top{display:flex;justify-content:space-between;align-items:center}.booking-row{display:flex;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line)}.booking-row.large{flex-wrap:wrap}.booking-row h3,.booking-row p{margin:.1rem}.grow{flex:1}.date-tile{width:54px;text-align:center;padding:.5rem;background:#efedff;border-radius:11px;color:var(--indigo)}.date-tile>*{display:block}.quick-links{display:grid}.quick-links a{display:flex;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600}.badge{border-radius:99px;padding:.35rem .65rem;font-weight:800;font-size:.72rem}.badge.success{background:#e7f7f0;color:var(--green)}.badge.muted{background:#edf0f5;color:#68718b}.loading,.empty-state{text-align:center;padding:4rem}.empty-state{background:#fff;border:1px dashed #cbd1df;border-radius:17px}.empty-state.compact{padding:2rem}.notice{padding:.8rem 1rem;border-radius:9px;margin:1rem 0}.notice-error{background:#fff0f1;color:var(--red)}.notice-success{background:#e8f7f0;color:var(--green)}.form-section{margin-bottom:1.2rem}.form-section h2{font-size:1.25rem;border-bottom:1px solid var(--line);padding-bottom:.8rem}.filter-bar{display:flex;gap:.7rem;padding:.8rem;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:1.3rem}.filter-bar input{flex:1}.filter-bar select{width:190px}.slot-grid{display:grid;gap:1.2rem}.slot-card{display:flex;flex-direction:column}.slot-card h2{font-size:1.2rem}.slot-card>p{flex:1}.slot-top{font-size:.8rem;color:var(--muted)}dl div{display:flex;justify-content:space-between;padding:.65rem 0;border-top:1px solid var(--line);font-size:.84rem}dd{margin:0;font-weight:700}.back-link{display:inline-block;margin-bottom:1rem}.detail-card h1{font-size:2.3rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.detail-grid div{padding:1rem;background:var(--bg);border-radius:10px}.detail-grid small,.detail-grid strong{display:block}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:1rem;border-bottom:1px solid var(--line);font-size:.87rem}th{background:#fafbfe;color:var(--muted);font-size:.74rem;text-transform:uppercase}td strong,td small{display:block}td small{color:var(--muted)}.action-card{display:block;color:inherit;margin-top:1.2rem}
@media(max-width:900px){.hero-grid,.split{grid-template-columns:1fr;gap:3rem}.card-grid.three,.slot-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.nav-toggle{display:block;font-size:1.5rem}.nav-links{display:none;position:absolute;top:71px;left:0;right:0;background:#fff;padding:1rem 2rem;flex-direction:column;align-items:start}#nav-toggle:checked~.nav-links{display:flex}}
@media(max-width:600px){.card-grid.three,.slot-grid,.stats-grid,.form-grid,.detail-grid,.footer-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-title{flex-direction:column;align-items:start}.filter-bar,.hero-actions,.trust-row{flex-direction:column}.filter-bar select{width:100%}.hero{padding:4rem 0}.hero-visual{height:330px}.visual-orb{width:240px;height:240px}}
@media print{.site-header,footer,.btn,.filter-bar{display:none!important}.dashboard-page{background:#fff;padding:0}}

.public-schedule{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.35rem;box-shadow:0 35px 70px #28316b26;min-height:390px;display:flex;flex-direction:column}.schedule-heading{display:flex;align-items:center;justify-content:space-between;padding:.25rem .25rem 1rem}.schedule-heading h2{font-size:1.45rem;margin:.25rem 0}.live-pill{display:flex;align-items:center;gap:.4rem;background:#e9f8f2;color:var(--green);border-radius:99px;padding:.4rem .7rem;font-size:.74rem;font-weight:800}.live-pill i{width:7px;height:7px;border-radius:50%;background:#1bb279;box-shadow:0 0 0 4px #1bb2791c}.schedule-scroll{max-height:300px;overflow:auto;padding-right:.25rem}.schedule-day{border-top:1px solid var(--line);padding:1rem .25rem}.schedule-date{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}.schedule-date strong{font:700 .95rem Manrope;color:var(--navy)}.schedule-date span{font-size:.76rem;color:var(--muted)}.schedule-item{display:grid;grid-template-columns:88px 1fr;gap:.8rem;align-items:center;padding:.7rem;border-radius:11px;background:var(--bg);margin:.45rem 0}.schedule-time{font-size:.8rem;font-weight:800;color:var(--indigo)}.schedule-detail strong,.schedule-detail span{display:block}.schedule-detail strong{font-size:.9rem;color:var(--navy)}.schedule-detail span{font-size:.75rem;color:var(--muted);margin-top:.2rem}.schedule-state{margin:auto;text-align:center;color:var(--muted);padding:3rem 1rem}.schedule-state strong{display:block;color:var(--navy);font-family:Manrope}.privacy-note{font-size:.7rem;margin:auto 0 0;padding:.8rem .25rem 0;border-top:1px solid var(--line)}

.calendar-container{max-width:1380px}.calendar-legend{display:flex;gap:1rem;font-size:.8rem;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:.4rem}.calendar-legend i{width:10px;height:10px;border-radius:3px}.calendar-legend .available{background:#dcd8ff;border:1px solid var(--indigo)}.calendar-legend .unavailable{background:#eef0f5}.calendar-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 30px #17254a0a}.week-calendar{display:grid;grid-template-columns:80px repeat(7,minmax(130px,1fr));min-width:990px}.calendar-corner,.calendar-day,.calendar-hour,.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-corner{display:grid;place-items:center;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.calendar-day{text-align:center;padding:.8rem}.calendar-day span,.calendar-day small{color:var(--muted);font-size:.72rem;text-transform:uppercase}.calendar-day strong{display:block;font:800 1.35rem Manrope;color:var(--navy)}.calendar-day.today{background:#f0eeff}.calendar-day.today strong{color:var(--indigo)}.calendar-hour{display:grid;place-items:start center;padding:1rem .4rem;color:var(--muted);font-size:.75rem;font-weight:700;min-height:86px}.calendar-cell{padding:.4rem;min-height:86px;background:#fafbfe}.closed-cell{height:100%;display:grid;place-items:center;color:#c7ccd8}.slot-button{width:100%;min-height:68px;border:1px solid #cbc5ff;border-radius:9px;background:#f0eeff;color:var(--indigo);padding:.45rem;text-align:left;cursor:pointer;transition:.18s ease}.slot-button:hover,.slot-button.selected{color:#fff;background:var(--indigo);border-color:var(--indigo);transform:translateY(-1px);box-shadow:0 8px 15px #5b4ee82b}.slot-button strong,.slot-button span{display:block}.slot-button strong{font-size:.78rem}.slot-button span{font-size:.68rem;margin-top:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-form-card{margin-top:1.4rem;padding:1.7rem;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.booking-form-heading{display:flex;justify-content:space-between;gap:1rem}.booking-form-heading h2{margin:.25rem 0}.booking-form-heading p{margin:.2rem 0 1rem}.close-selection{width:36px;height:36px;border:0;border-radius:50%;background:var(--bg);color:var(--muted);font-size:1.5rem;cursor:pointer}.selected-time{display:grid;grid-template-columns:2fr 1.4fr 1fr;gap:.8rem;padding:1rem;background:var(--bg);border-radius:12px;margin-bottom:1.4rem}.selected-time small,.selected-time strong{display:block}.selected-time small{color:var(--muted);font-size:.68rem;font-weight:800;margin-bottom:.25rem}.selected-time strong{color:var(--navy)}.optional{color:var(--muted);font-weight:400}
@media(max-width:700px){.calendar-legend{display:none}.selected-time{grid-template-columns:1fr}.booking-form-card{padding:1.1rem}}

.automatic-badge{padding:.5rem .75rem;border-radius:99px;background:#e9f8f2;color:var(--green);font-size:.76rem;font-weight:800}.admin-stats{grid-template-columns:repeat(4,1fr)}.week-calendar{grid-template-columns:64px repeat(7,minmax(108px,1fr));min-width:820px}.calendar-day{padding:.5rem}.calendar-day strong{font-size:1.05rem}.calendar-hour{min-height:62px;padding:.65rem .25rem;font-size:.68rem}.calendar-cell{min-height:62px;padding:.25rem}.slot-button{min-height:48px;padding:.3rem}.slot-button strong{font-size:.7rem}.slot-button span{font-size:.6rem}.calendar-scroll{max-width:1120px;margin:auto}.booking-form-card{max-width:900px;margin:1.2rem auto 0;padding:1.3rem}.selected-time{padding:.75rem;margin-bottom:1rem}.booking-form-heading h2{font-size:1.35rem}.booking-form-heading p{font-size:.86rem}
@media(max-width:900px){.admin-stats{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.automatic-badge{display:none}.admin-stats{grid-template-columns:1fr 1fr}}
.experience-selectors{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.experience-selectors select{margin:0}
.attendance-count{font:800 1.25rem Manrope;color:var(--indigo)}
.badge.placed{background:#e7f7f0;color:var(--green);margin-left:.35rem}.btn-placed{background:#e7f7f0;color:var(--green);border:1px solid #bce7d4}.table-actions{display:flex;gap:.4rem;white-space:nowrap}.placed-stat{border-color:#bce7d4;background:linear-gradient(145deg,#fff,#effbf5)}
.calendar-legend .booked{background:#ffe8bd;border:1px solid #d99416}.schedule-summary{display:flex;gap:.8rem;max-width:1120px;margin:0 auto 1rem}.schedule-summary div{min-width:150px;padding:.75rem 1rem;background:#fff;border:1px solid var(--line);border-radius:12px}.schedule-summary strong,.schedule-summary span{display:block}.schedule-summary strong{font:800 1.3rem Manrope;color:var(--navy)}.schedule-summary span{font-size:.72rem;color:var(--muted)}.admin-slot-cell{height:48px;border-radius:8px;padding:.35rem .45rem}.admin-slot-cell strong,.admin-slot-cell span{display:block}.admin-slot-cell strong{font-size:.7rem}.admin-slot-cell span{font-size:.62rem}.admin-slot-cell.available{background:#eeecff;color:var(--indigo);border:1px solid #cbc5ff}.admin-slot-cell.booked{background:#fff2d7;color:#a76a00;border:1px solid #efc36c}.schedule-help{max-width:1120px;margin:.8rem auto 0;font-size:.8rem}
.mobile-schedule{display:none}.mobile-day-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:.8rem}.mobile-day-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.mobile-day-heading strong,.mobile-day-heading span{display:block}.mobile-day-heading strong{font:700 1rem Manrope;color:var(--navy)}.mobile-day-heading span{font-size:.75rem;color:var(--muted)}.today-pill{padding:.3rem .55rem!important;border-radius:99px;background:#eeecff;color:var(--indigo)!important;font-weight:800}.mobile-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding-top:.75rem}.mobile-time-button{min-height:58px;border:1px solid #cbc5ff;border-radius:10px;background:#f2f0ff;color:var(--indigo);text-align:left;padding:.6rem .7rem}.mobile-time-button strong,.mobile-time-button span{display:block}.mobile-time-button span{font-size:.68rem;margin-top:.15rem}.mobile-time-button.selected{background:var(--indigo);color:#fff}.mobile-empty{margin:.8rem 0 0;font-size:.82rem}.mobile-admin-time{padding:.55rem;border-radius:9px;border:1px solid var(--line)}.mobile-admin-time strong,.mobile-admin-time span{display:block}.mobile-admin-time strong{font-size:.78rem}.mobile-admin-time span{font-size:.68rem}.mobile-admin-time.available{background:#f0eeff;color:var(--indigo)}.mobile-admin-time.booked{background:#fff2d7;color:#a76a00}.mobile-admin-time.past{background:#f1f2f5;color:#9299aa}
@media(max-width:700px){body{font-size:15px}.container{width:min(100% - 1.1rem,1160px)}.site-header{height:62px}.nav-shell{min-height:62px}.nav-links{top:61px;max-height:calc(100vh - 61px);overflow-y:auto;padding:1rem}.dashboard-page{padding:1.5rem 0 3rem}.page-title{gap:.8rem;margin-bottom:1.2rem}.page-title h1{font-size:1.75rem}.page-title p{font-size:.9rem}.calendar-scroll{display:none}.mobile-schedule{display:block}.schedule-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.schedule-summary div{min-width:0;padding:.65rem}.schedule-summary strong{font-size:1.05rem}.schedule-summary span{font-size:.62rem}.booking-form-card{position:relative;margin-top:1rem;border-radius:14px;box-shadow:0 8px 28px #17254a12}.booking-form-heading h2{font-size:1.25rem}.selected-time{gap:.4rem}.field input,.field textarea,.field select{font-size:16px;min-height:46px}.experience-selectors{grid-template-columns:1fr}.btn-lg{width:100%;min-height:48px}.table-wrap{border-radius:12px}.admin-stats{grid-template-columns:1fr 1fr;gap:.6rem}.stat{padding:1rem}.stat strong{font-size:1.55rem}.card-grid.three{grid-template-columns:1fr}.auth-page{padding:1.25rem .6rem;align-items:start}.auth-card,.auth-card.wide{padding:1.25rem;border-radius:16px}.hero{padding:3rem 0}.hero-grid{gap:2rem}.public-schedule{min-height:320px}.footer-grid{gap:1rem}.table-actions{flex-direction:column}.schedule-help{padding:0 .25rem}}
@media(max-width:390px){.mobile-time-grid{grid-template-columns:1fr}.schedule-summary{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}.hero h1{font-size:2.25rem}}

/* Consistent Title Case for short interface titles and controls. */
h1,h2,h3,label,th,summary,.btn,.btn-link,.nav-links>a,.eyebrow,.stat>span:first-child,.quick-links a,.back-link,.auth-foot a,.panel-head>a,.automatic-badge,.schedule-summary span{text-transform:capitalize}

/* Compact site footer. */
footer{padding:1.25rem 0}
.footer-grid{gap:1.25rem;align-items:start}
footer p{margin:.2rem 0 0;line-height:1.4;font-size:.84rem}
@media(max-width:600px){footer{padding:1rem 0}.footer-grid{gap:.7rem}}
.nav-links i{width:1rem;text-align:center;margin-right:.18rem}.btn i{margin-right:.35rem}main{padding-bottom:48px}.contact-footer{position:fixed;left:0;right:0;bottom:0;z-index:30;height:48px;padding:0;background:var(--navy);box-shadow:0 -6px 22px rgba(10,20,48,.12)}.contact-footer-inner.container{width:100%;max-width:none;margin:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:nowrap;background:var(--navy);border:0;border-radius:0}.contact-label,.contact-person{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.contact-label{color:#929dbd;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contact-person{color:#fff;font-weight:700;font-size:.88rem}.contact-person i{color:#8c82ff}.trust-row i{color:var(--indigo);margin-right:.25rem}
@media(max-width:600px){main{padding-bottom:44px}.contact-footer{height:44px}.contact-footer-inner.container{min-height:44px;gap:.65rem}.contact-label{font-size:0}.contact-label i{font-size:.8rem}.contact-person{font-size:.75rem}.nav-links i{width:1.2rem}}
.hero{min-height:calc(100vh - 72px - 52px);display:flex;align-items:center}
@media(max-width:700px){.hero{min-height:calc(100vh - 62px - 48px);padding:2.5rem 0}}

/* Balanced authentication typography and spacing. */
.auth-card{padding:2.35rem 2.25rem}
.auth-card .auth-heading{margin:0 0 1.75rem}
.auth-card .auth-heading h1{margin:0 0 .55rem;line-height:1.2}
.auth-card .auth-heading p{max-width:34rem;margin:0 auto;line-height:1.55}
.auth-card form{margin-top:1.25rem}
.auth-card .field{margin-bottom:1.15rem}
.auth-card .field label{margin-bottom:.1rem;letter-spacing:.01em}
.auth-card .form-row{margin:1.1rem 0 1.35rem}
.auth-card .auth-foot{margin:1.35rem 0 0}
@media(max-width:600px){.auth-card{padding:1.6rem 1.25rem}.auth-card .auth-heading{margin-bottom:1.35rem}.auth-card .auth-heading h1{font-size:1.75rem}.auth-card form{margin-top:1rem}}
.fee-dashboard-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:-3.8rem;margin-bottom:3rem;padding:1.4rem 1.6rem;background:linear-gradient(135deg,#fff,#f0eeff);border:1px solid #d8d3ff;border-radius:17px;box-shadow:var(--shadow)}.fee-dashboard-card h2,.fee-dashboard-card p{margin:.2rem 0}.rupee-input{display:flex;align-items:center;max-width:220px;border:1px solid #ccd2df;border-radius:9px;background:#fff;overflow:hidden}.rupee-input span{padding:.7rem .75rem;background:#f3f1ff;color:var(--indigo);font-weight:800}.rupee-input input{width:100%;border:0;padding:.7rem;font:inherit;outline:0}.student-fee-card{display:flex;align-items:center;gap:1.25rem;padding:2rem;background:linear-gradient(145deg,#fff,#f0eeff);border:1px solid #d8d3ff;border-radius:20px;box-shadow:var(--shadow)}.fee-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:var(--indigo);color:#fff;font-size:1.5rem}.student-fee-card span,.student-fee-card strong,.student-fee-card small{display:block}.student-fee-card span{color:var(--muted);font-weight:700}.student-fee-card strong{font:800 2.3rem Manrope;color:var(--navy);margin:.25rem 0}.student-fee-card small{color:var(--muted)}
@media(max-width:700px){.fee-dashboard-card{margin-top:-2rem;margin-bottom:2rem;align-items:flex-start;flex-direction:column;padding:1rem}.fee-dashboard-card .btn{width:100%}.student-fee-card{padding:1.25rem}.student-fee-card strong{font-size:1.8rem}.fee-icon{width:52px;height:52px}}
.remaining-fee{color:#b56b00;white-space:nowrap}.student-fee-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.student-fee-summary .student-fee-card{padding:1.35rem;gap:.8rem}.student-fee-summary .fee-icon{width:52px;height:52px;border-radius:14px}.student-fee-card.paid .fee-icon{background:var(--green)}.student-fee-card.remaining .fee-icon{background:#c27a0b}.student-fee-card.remaining{background:linear-gradient(145deg,#fff,#fff6e6);border-color:#f0d39e}.fee-student-identity{text-align:center;margin-top:1rem;font-size:.85rem}
@media(max-width:800px){.student-fee-summary{grid-template-columns:1fr}.student-fee-summary .student-fee-card{padding:1rem}.rupee-input{min-width:150px}}
.company-add-panel{padding:1.25rem;margin-bottom:1.2rem;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px #17254a0a}.company-add-panel form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.8rem}.company-add-panel .field{margin:0}.company-add-panel .btn{min-height:46px}.field-help{color:var(--muted);font-size:.75rem}
@media(max-width:600px){.company-add-panel form{grid-template-columns:1fr}.company-add-panel .btn{width:100%}}
.student-transfer-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.import-help{padding:.8rem 1rem;margin-bottom:1rem;border:1px solid #d8d3ff;border-radius:11px;background:#f2f0ff;color:#4b4685;font-size:.82rem}.import-help i{margin-right:.4rem}.import-errors{margin:1rem 0;padding:1rem;background:#fff8e9;border:1px solid #efd39e;border-radius:12px}.import-errors summary{cursor:pointer;color:#8a5900}.import-errors ul{margin:.75rem 0 0;padding-left:1.2rem;color:#755a29;font-size:.82rem}.company-booking-groups{display:grid;gap:1.2rem}.company-booking-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px #17254a0a}.company-booking-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem;background:linear-gradient(135deg,#fff,#f3f1ff);border-bottom:1px solid var(--line)}.company-heading-name{display:flex;align-items:center;gap:.8rem}.company-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--indigo);color:#fff}.company-booking-heading h2,.company-booking-heading p{margin:0}.company-booking-heading h2{font-size:1.15rem}.company-booking-heading p{font-size:.75rem}.company-booking-summary{display:flex;gap:1.2rem}.company-booking-summary span,.company-booking-summary strong{display:block;text-align:center}.company-booking-summary span{color:var(--muted);font-size:.7rem}.company-booking-summary strong{font:800 1.1rem Manrope;color:var(--navy)}.company-booking-table{border:0;border-radius:0;box-shadow:none}
@media(max-width:700px){.student-transfer-actions{width:100%}.student-transfer-actions .btn{flex:1;white-space:nowrap}.company-booking-heading{align-items:flex-start;flex-direction:column}.company-booking-summary{width:100%;justify-content:flex-start}.company-booking-summary span{text-align:left}.company-booking-summary strong{text-align:left}}
