{.hero{padding:54px 0}.searchbar{flex-direction:column}.slide-img{height:260px}.carousel-caption{position:static;background:#16284d;color:white}.tutor-card{padding:18px}}
.profile-photo{width:112px;height:112px;object-fit:cover;border-radius:50%;border:4px solid #e7edff}.message-list{max-height:560px;overflow:auto}

/* Global Tutor — refreshed homepage and marketplace design */
:root{--ink:#17233f;--muted:#68758d;--blue:#4355db;--blue-dark:#2e3eb8;--pale:#f5f7ff;--line:#e5e9f4;--mint:#dff8ef;--violet:#eceaff;--orange:#fff0dd;--shadow:0 22px 60px rgba(26,39,82,.09)}
html{scroll-behavior:smooth}body{color:var(--ink);overflow-x:hidden}a{transition:color .2s ease}h1,h2,h3{letter-spacing:-.045em}.navbar{position:relative;z-index:10;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(226,231,244,.85);padding:13px 0}.navbar .container{max-width:1200px}.brand-logo{width:42px;height:42px}.navbar-brand{font-size:1.12rem;color:#192544}.navbar .nav-link{font-size:.94rem;font-weight:650;color:#59657d;padding:.65rem .9rem!important}.navbar .nav-link:hover{color:var(--blue)}.navbar .btn-primary{padding:10px 18px}.btn-primary{background:var(--blue);border-color:var(--blue);box-shadow:0 8px 18px #4355db22}.btn-primary:hover,.btn-primary:focus{background:var(--blue-dark);border-color:var(--blue-dark);transform:translateY(-1px)}.btn-outline-primary{color:var(--blue);border-color:#cdd4fb;font-weight:700}.btn-outline-primary:hover{background:var(--blue);border-color:var(--blue)}
.home-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(116deg,#f8f9ff 0%,#f3f5ff 54%,#edf4ff 100%);padding:70px 0 0}.home-hero:after{content:"";position:absolute;inset:auto -10% -180px 38%;height:380px;border-radius:50%;background:linear-gradient(90deg,rgba(222,228,255,.15),rgba(193,224,255,.65));filter:blur(5px);z-index:-1}.hero-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:-1}.hero-orb-one{width:380px;height:380px;top:-230px;right:-70px;background:#e6e9ff}.hero-orb-two{width:240px;height:240px;bottom:100px;left:-170px;background:#dff7ef}.home-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;position:relative;z-index:1}.hero-copy{padding:15px 0 35px}.hero-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid #dfe3fb;background:#fff9;border-radius:999px;padding:9px 14px;color:#4b56b9;font-size:.72rem;font-weight:850;letter-spacing:.1em}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#27b88a;box-shadow:0 0 0 4px #27b88a20}.hero-copy h1{font-size:clamp(2.8rem,5.5vw,5rem);line-height:1.04;font-weight:850;max-width:680px;margin:23px 0 19px;color:#192544}.hero-lead{max-width:570px;color:#65728b;font-size:1.12rem;line-height:1.8;margin-bottom:27px}.hero-search{display:flex;align-items:center;gap:10px;max-width:650px;padding:8px;background:#fff;border:1px solid #e5e8f5;border-radius:17px;box-shadow:0 15px 40px #253b7b0e}.hero-search input{border:0!important;box-shadow:none!important;min-width:0;min-height:48px;padding:0 5px;font-size:.98rem}.hero-search .btn{white-space:nowrap;min-height:48px}.search-symbol{color:#8792ab;font-size:1.8rem;line-height:1;padding-left:9px}.hero-proof{display:flex;align-items:center;gap:14px;margin-top:25px}.proof-avatars{display:flex;padding-left:4px}.proof-avatars span{width:34px;height:34px;margin-left:-5px;border:3px solid #f6f7ff;border-radius:50%;display:grid;place-items:center;background:#f9c7ae;color:#68473f;font-size:.72rem;font-weight:850}.proof-avatars span:nth-child(2){background:#c7d7ff;color:#324b92}.proof-avatars span:nth-child(3){background:#bdebdc;color:#21664e}.proof-avatars .proof-plus{background:#27365e;color:white}.hero-proof strong,.hero-proof small{display:block}.hero-proof strong{font-size:.83rem}.hero-proof small{color:#7a859b;font-size:.76rem;margin-top:2px}.hero-art{position:relative;min-height:440px;display:grid;place-items:center}.art-glow{position:absolute;width:390px;height:390px;border-radius:50%;background:linear-gradient(135deg,#dce3ff,#dff8f0);filter:blur(1px)}.learning-board{position:relative;z-index:1;width:min(100%,365px);padding:25px;border:1px solid #ffffffd9;border-radius:27px;background:rgba(255,255,255,.91);box-shadow:0 32px 80px rgba(43,58,119,.17);transform:rotate(-2deg)}.board-top{display:flex;justify-content:space-between;align-items:center;color:#7a849d}.board-kicker{font-size:.65rem;font-weight:850;letter-spacing:.12em}.board-menu{letter-spacing:2px}.board-heading{font-size:2.15rem;font-weight:850;line-height:1.1;letter-spacing:-.06em;margin:18px 0 22px}.board-heading em{font-style:normal;color:var(--blue)}.progress-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #eef0f7}.progress-icon{width:41px;height:41px;border-radius:13px;display:grid;place-items:center;font-size:1.2rem;font-weight:800}.icon-violet{background:#eeebff;color:#6958d9}.icon-mint{background:#e0f8ee;color:#23966f}.progress-copy{flex:1}.progress-copy strong,.progress-copy span{display:block}.progress-copy strong{font-size:.81rem}.progress-copy span{font-size:.7rem;color:#8a93a8;margin-top:3px}.progress-check{width:23px;height:23px;border-radius:50%;background:#e4f8ef;color:#159768;display:grid;place-items:center;font-size:.75rem;font-weight:900}.board-bottom{display:flex;align-items:center;gap:15px;background:#f7f8ff;border-radius:15px;padding:14px;margin-top:12px}.mini-chart{display:flex;align-items:end;gap:5px;height:44px}.mini-chart span{width:9px;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#7b82f2,#a7a9fa)}.mini-chart span:nth-child(2n){background:linear-gradient(180deg,#69d8b4,#b1efdb)}.chart-label strong,.chart-label small{display:block}.chart-label strong{font-size:.8rem}.chart-label small{font-size:.69rem;color:#8a93a8;margin-top:3px}.floating-note{position:absolute;z-index:2;background:white;border:1px solid #edf0f8;border-radius:15px;box-shadow:0 16px 45px #263b7b16;padding:12px 15px}.note-top{top:47px;right:-3px;display:flex;align-items:center;gap:10px}.note-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#fff0dc;color:#d98727;font-size:1.15rem}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:.76rem}.floating-note small{font-size:.68rem;color:#8a93a8;margin-top:3px}.note-bottom{bottom:34px;left:-6px}.note-stars{color:#f0ac3f;letter-spacing:2px;font-size:.76rem;margin-bottom:5px}.art-spark{position:absolute;color:#8c91ef}.spark-one{font-size:2rem;top:25%;left:6%}.spark-two{font-size:1.3rem;bottom:20%;right:4%;color:#47b995}.hero-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid #e8ebf5;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #263b7b08;margin-top:36px;padding:22px 30px}.hero-stat{padding:5px 24px;border-right:1px solid #edf0f7}.hero-stat:first-child{padding-left:0}.hero-stat:last-child{border:0}.hero-stat strong,.hero-stat span{display:block}.hero-stat strong{font-size:1.55rem;font-weight:850;letter-spacing:-.04em}.hero-stat span{color:#78849a;font-size:.78rem;margin-top:3px}.hero-stat.stat-note{display:flex;flex-direction:column;justify-content:center}.hero-stat.stat-note strong{font-size:.92rem;letter-spacing:-.02em;margin-top:2px}.section-pad{padding:84px 0}.category-section{background:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-eyebrow{font-size:.69rem;letter-spacing:.15em;font-weight:850;color:var(--blue)}.section-heading h2,.final-cta h2{font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:850;line-height:1.12;margin:10px 0}.section-heading p{color:var(--muted);margin:0;max-width:580px}.text-link{white-space:nowrap;color:var(--blue);font-weight:800;font-size:.88rem;text-decoration:none}.text-link span{margin-left:5px}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.category-tile{position:relative;display:flex;flex-direction:column;min-height:190px;padding:23px;border:1px solid #e8ebf5;border-radius:19px;text-decoration:none;color:var(--ink);background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;overflow:hidden}.category-tile:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-38px;bottom:-50px;background:var(--tile-bg);opacity:.65}.category-tile:hover{transform:translateY(-4px);border-color:#d3d8fb;box-shadow:var(--shadow);color:var(--ink)}.category-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--tile-bg);color:var(--tile-ink);font-size:1.4rem;font-weight:850;margin-bottom:19px}.category-tile strong{font-size:1rem;position:relative;z-index:1}.category-description{font-size:.78rem;line-height:1.55;color:#78849a;margin-top:7px;max-width:95%;position:relative;z-index:1}.category-arrow{position:absolute;top:24px;right:22px;color:#919ab0;font-size:1rem}.category-tone-0{--tile-bg:#e9eaff;--tile-ink:#5658c9}.category-tone-1{--tile-bg:#def8ef;--tile-ink:#208a68}.category-tone-2{--tile-bg:#fff0dc;--tile-ink:#b87520}.category-tone-3{--tile-bg:#e2f1ff;--tile-ink:#2c7ab6}.featured-section{background:#f7f8fd}.featured-tutor{height:100%;background:white;border:1px solid #e7eaf4;border-radius:21px;padding:25px;transition:transform .2s ease,box-shadow .2s ease}.featured-tutor:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.tutor-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.featured-avatar{width:66px;height:66px;border-radius:20px;background:linear-gradient(135deg,#e9eaff,#d9f6ec);display:grid;place-items:center;overflow:hidden;color:#4555ce;font-size:1.65rem;font-weight:850}.featured-avatar img{width:100%;height:100%;object-fit:cover}.verified-tag{background:#e8faf2;color:#21815f;font-size:.69rem;font-weight:800;padding:7px 10px;border-radius:999px}.verified-tag span{margin-right:3px}.featured-tutor h3{font-size:1.22rem;margin-bottom:5px}.tutor-location{font-size:.78rem;color:#7e899d}.featured-bio{min-height:60px;font-size:.87rem;line-height:1.65;color:#65728a;margin-top:15px}.tutor-card-footer{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-top:15px;border-top:1px solid #eff1f7}.tutor-rating{font-size:.78rem;font-weight:800}.tutor-rating>span{color:#f0ad42}.tutor-rating small{display:block;font-size:.68rem;color:#8a94a8;font-weight:500;margin-top:4px}.tutor-rate{text-align:right}.tutor-rate strong,.tutor-rate small{display:block}.tutor-rate strong{font-size:.95rem}.tutor-rate small{font-size:.68rem;color:#8a94a8;margin-top:3px}.how-section{background:#fff}.centered-heading{justify-content:center;text-align:center}.centered-heading p{margin:0 auto}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.step-card{position:relative;border:1px solid #e8ebf5;border-radius:20px;padding:28px;background:#fff;overflow:hidden}.step-number{position:absolute;right:24px;top:20px;font-size:.8rem;color:#b6bed0;font-weight:850;letter-spacing:.1em}.step-icon{width:51px;height:51px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;font-weight:800;margin-bottom:22px}.step-purple{background:#eeebff;color:#6958d9}.step-green{background:#e0f8ee;color:#23966f}.step-orange{background:#fff0dc;color:#d98727}.step-card h3{font-size:1.1rem;margin-bottom:10px}.step-card p{font-size:.87rem;line-height:1.7;color:#758198;margin:0}.slide-section{padding-bottom:70px}.slide-section .carousel{overflow:hidden;border-radius:24px;background:#1b2749}.slide-img{height:350px;object-fit:cover;opacity:.78}.carousel-caption{left:8%;right:8%;bottom:35px;text-align:left;background:linear-gradient(90deg,#111b38d9,#111b3850);border-radius:18px;padding:25px;max-width:620px}.carousel-caption h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:8px 0}.carousel-caption p{margin:0;color:#e4e9f8}.final-cta{margin-top:0;background:linear-gradient(115deg,#252e78,#4653d5 62%,#5868e4);color:white;position:relative;overflow:hidden}.final-cta:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff18;border-radius:50%;right:-80px;top:-190px;box-shadow:0 0 0 45px #ffffff08,0 0 0 95px #ffffff06}.final-cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:57px;padding-bottom:57px}.final-cta .section-eyebrow{color:#cbd0ff}.final-cta h2{max-width:650px}.final-cta p{max-width:650px;color:#e0e5ff;margin:0}.cta-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}.cta-actions .btn{border-radius:12px;font-weight:800;padding:13px 18px;color:#3541a4}.cta-secondary{color:#fff;text-decoration:none;font-size:.85rem;font-weight:800;white-space:nowrap}.cta-secondary span{margin-left:5px}.empty-state{grid-column:1/-1;border:1px dashed #cbd3e7;background:#fafbff;padding:30px;border-radius:18px}.empty-state p{color:var(--muted)}.footer{padding:30px 0;background:#171f3b;color:#d9dff0}.footer a{color:#d9dff0;text-decoration:none}.footer a:hover{color:white;text-decoration:underline}.auth-card,.tutor-card,.metric{box-shadow:0 12px 35px #16284d0a}.form-control:focus,.form-select:focus{border-color:#7e88ed;box-shadow:0 0 0 .22rem #4355db18}
@media(max-width:991px){.home-hero{padding-top:52px}.home-hero-grid{grid-template-columns:1fr;gap:8px}.hero-copy{padding-bottom:0}.hero-copy h1{max-width:760px}.hero-art{min-height:410px}.hero-stats{margin-top:20px;grid-template-columns:repeat(2,1fr);row-gap:18px;border-radius:18px 18px 0 0}.hero-stat:nth-child(2){border-right:0}.hero-stat:nth-child(3){padding-left:0}.hero-stat.stat-note{border:0}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.final-cta-inner{align-items:flex-start;flex-direction:column}.cta-actions{flex-wrap:wrap}}
@media(max-width:600px){.home-hero{padding-top:36px}.hero-copy h1{font-size:2.65rem}.hero-lead{font-size:1rem}.hero-search{align-items:stretch;flex-wrap:wrap;padding:8px}.hero-search input{flex:1;width:calc(100% - 50px)}.hero-search .btn{width:100%}.hero-art{min-height:350px}.art-glow{width:290px;height:290px}.learning-board{width:min(90%,335px);padding:20px}.board-heading{font-size:1.8rem}.note-top{right:0;top:14px}.note-bottom{left:0;bottom:7px}.floating-note{padding:10px 12px}.hero-stats{padding:20px 18px;gap:14px 0}.hero-stat{padding:0 12px}.hero-stat strong{font-size:1.25rem}.hero-stat span{font-size:.72rem}.hero-stat.stat-note strong{font-size:.82rem}.section-pad{padding:60px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:13px}.section-heading h2{font-size:2rem}.category-grid{gap:10px}.category-tile{padding:17px;min-height:185px}.category-symbol{width:41px;height:41px;margin-bottom:15px}.category-description{font-size:.73rem}.steps-grid{grid-template-columns:1fr;gap:12px;margin-top:25px}.step-card{padding:23px}.slide-section{padding-bottom:50px}.slide-img{height:280px}.carousel-caption{position:absolute;bottom:14px;left:5%;right:5%;padding:15px;background:#111b38d9}.carousel-caption p{font-size:.8rem}.final-cta-inner{padding-top:43px;padding-bottom:43px}.cta-actions{align-items:flex-start;flex-direction:column;gap:15px}.footer .container{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.nav-logout{display:flex;align-items:center}.nav-logout-button{border:0;background:transparent}.nav-logout-button:hover{color:var(--blue)}@media(max-width:991px){.nav-logout{padding:.25rem .9rem}}

.ticket-thread{display:flex;flex-direction:column;gap:12px}.ticket-reply{border:1px solid #e7eaf4;background:#f9faff;border-radius:15px;padding:16px}.ticket-reply p{white-space:normal;margin:10px 0 0;line-height:1.7}.ticket-reply-own{background:#eef0ff;border-color:#dfe2ff}.support-empty{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:24px}.nav-logout .nav-link{font:inherit;font-weight:650}


/* Global application UI system: consistent visual design across all routes */
:root{
 --app-bg:#f6f7fc;--app-surface:#fff;--app-line:#e5e9f3;--app-ink:#17233f;
 --app-muted:#6b7890;--app-brand:#4355db;--app-brand-dark:#303fb6;
 --app-shadow:0 12px 34px rgba(25,38,78,.07);--app-radius:20px;
}
body{background:var(--app-bg);color:var(--app-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
.app-main{flex:1 0 auto;min-width:0}
.app-main>.container.py-5,.app-main>.container.pb-5{padding-top:clamp(28px,4vw,54px)!important;padding-bottom:clamp(36px,5vw,64px)!important}
.app-main .container{max-width:1160px}
.app-main h1{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.13;font-weight:850;color:#17233f;margin-bottom:12px}
.app-main h2{font-size:clamp(1.35rem,2.3vw,1.9rem);line-height:1.2;font-weight:800;color:#202c4a;margin:24px 0 14px}
.app-main h3{font-size:1.12rem;font-weight:800;color:#263351;letter-spacing:-.025em}
.app-main p{color:#68758d}
.app-main .container.py-5>p:first-of-type{font-size:1rem}
.app-main .text-muted{color:#7a8599!important}
.app-main .card,.app-main .tutor-card,.app-main .metric,.app-main .action-card,.app-main .auth-card,
.app-main .ticket-reply,.app-main .support-empty,.app-main .border.rounded.p-3,
.app-main .border.rounded-3.p-3{border:1px solid var(--app-line)!important;border-radius:18px!important;background:#fff;box-shadow:0 8px 28px rgba(30,44,86,.045)}
.app-main .tutor-card,.app-main .metric,.app-main .action-card{padding:22px}
.app-main .metric{position:relative;overflow:hidden}
.app-main .metric:after{content:"";position:absolute;right:-25px;top:-35px;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#eff0ff,#e4f8f0);opacity:.85;pointer-events:none}
.app-main .metric span{position:relative;z-index:1;color:#78849b;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em}
.app-main .metric strong{position:relative;z-index:1;color:#26345a;font-size:clamp(1.25rem,2vw,1.8rem);font-weight:850;overflow-wrap:anywhere}
.app-main .action-card{min-height:150px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.app-main .action-card:hover{transform:translateY(-3px);border-color:#cbd2ff!important;box-shadow:var(--app-shadow);color:var(--app-brand)}
.app-main .btn{font-weight:750;border-radius:12px;padding:.65rem 1rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.app-main .btn-sm{padding:.4rem .7rem;border-radius:9px}
.app-main .btn-primary{background:var(--app-brand);border-color:var(--app-brand);box-shadow:0 5px 14px rgba(67,85,219,.15)}
.app-main .btn-primary:hover{background:var(--app-brand-dark);border-color:var(--app-brand-dark);transform:translateY(-1px)}
.app-main .btn-outline-primary{border-color:#cbd2ff;color:var(--app-brand);background:#fff}
.app-main .btn-outline-primary:hover{background:var(--app-brand);border-color:var(--app-brand);color:#fff}
.app-main .btn-success{background:#168665;border-color:#168665}
.app-main .form-label{font-size:.87rem;font-weight:750;color:#34415e;margin-bottom:.4rem}
.app-main .form-control,.app-main .form-select{min-height:45px;border:1px solid #dce2ee;border-radius:11px;background-color:#fff;color:#263351;padding:.65rem .85rem}
.app-main textarea.form-control{min-height:115px}
.app-main .form-control:focus,.app-main .form-select:focus{border-color:#8993ef;box-shadow:0 0 0 .22rem rgba(67,85,219,.13)}
.app-main .form-check{padding:10px 12px 10px 2.1rem;border:1px solid #e8ebf4;border-radius:11px;background:#fbfcff;margin-bottom:8px}
.app-main .form-check-input{margin-top:.35rem}
.app-main .alert{border:1px solid transparent;border-radius:14px;padding:14px 17px}
.app-main .alert-success{background:#eafaf3;border-color:#c6f0dc;color:#146a4f}
.app-main .alert-danger{background:#fff0f0;border-color:#ffd6d6;color:#a62b35}
.app-main .alert-warning{background:#fff7e7;border-color:#f5e0b2;color:#8b5b0a}
.app-main .table-responsive{border:1px solid var(--app-line);border-radius:15px;background:#fff;box-shadow:0 6px 22px rgba(30,44,86,.035);overflow-x:auto}
.app-main .table{margin:0;background:#fff;--bs-table-bg:#fff;--bs-table-color:#35415d}
.app-main .table thead th{background:#f5f6fc;color:#5e6b85;font-size:.75rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800;border-bottom:1px solid #e5e9f3;padding:14px 16px;white-space:nowrap}
.app-main .table tbody td{padding:14px 16px;border-color:#edf0f6}
.app-main .table tbody tr:last-child td{border-bottom:0}
.app-main .table tbody tr:hover td{background:#fafbff}
.app-main .list-group{gap:8px}
.app-main .list-group-item{border:1px solid var(--app-line);border-radius:13px!important;padding:14px 16px;background:#fff;color:#34415e}
.app-main .badge{font-weight:750;border-radius:999px;padding:.45em .72em}
.app-main .profile-photo{box-shadow:0 0 0 5px #f0f1ff}
.app-main .message-list{border:1px solid var(--app-line);border-radius:16px;background:#fff;padding:12px}
.app-main .message-list .border.rounded{border-color:#e7eaf4!important;border-radius:13px!important;background:#f8f9ff;padding:12px!important}
.app-main .ticket-reply{padding:16px}
.app-main .section-eyebrow{display:inline-block;color:var(--app-brand);font-size:.72rem;font-weight:850;letter-spacing:.12em}
.app-main .searchbar{max-width:100%;padding:16px;border:1px solid var(--app-line);border-radius:17px;background:#fff;box-shadow:0 8px 28px rgba(30,44,86,.045)}
.app-main .searchbar .form-control{min-height:48px}
.navbar{min-height:76px;box-shadow:0 4px 20px rgba(25,38,78,.025)}
.navbar .container{max-width:1200px}
.navbar .navbar-nav{align-items:center;gap:4px}
.navbar .nav-link{border-radius:10px}
.navbar .nav-link:hover{background:#f3f4ff}
.navbar .btn-primary{color:#fff!important}
.navbar-toggler{border:1px solid #dfe4f1;border-radius:10px;padding:8px}
.footer{margin-top:auto}
.footer .container{max-width:1200px}
a{overflow-wrap:anywhere}
img{max-width:100%}
@media(max-width:991px){
 .navbar .navbar-nav{align-items:stretch;padding:12px 0}
 .navbar .nav-link,.navbar .nav-logout-button{padding:.7rem .85rem!important;text-align:left;width:100%}
 .navbar .nav-logout{display:block}
 .app-main .tutor-card,.app-main .metric,.app-main .action-card{padding:18px}
 .app-main .table-responsive{border-radius:12px}
}
@media(max-width:575px){
 .app-main>.container.py-5,.app-main>.container.pb-5{padding-top:28px!important;padding-bottom:36px!important}
 .app-main h1{font-size:1.9rem}
 .app-main .row.g-4{--bs-gutter-y:1rem}
 .app-main .table thead th,.app-main .table tbody td{padding:11px 12px}
 .app-main .btn{max-width:100%;white-space:normal}
 .navbar-brand{font-size:1rem}
 .brand-logo{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

.app-main .container.py-5>form:not(.nav-logout),
.app-main .container.pb-5>form:not(.nav-logout){
 max-width:900px;background:#fff;border:1px solid var(--app-line);border-radius:20px;padding:clamp(20px,3vw,32px);
 box-shadow:0 10px 32px rgba(25,38,78,.045);margin-top:20px
}
.app-main .container.py-5>form .btn,
.app-main .container.pb-5>form .btn{margin-top:8px}
.app-main .container.py-5>h1:first-child,
.app-main .container.pb-5>h1:first-child{letter-spacing:-.05em}
.app-main .container.py-5>h1:first-child:after,
.app-main .container.pb-5>h1:first-child:after{content:"";display:block;width:52px;height:4px;border-radius:5px;background:linear-gradient(90deg,#4355db,#5ed5b0);margin-top:15px;margin-bottom:18px}
.app-main .container.py-5>h1:first-child+p,
.app-main .container.pb-5>h1:first-child+p{max-width:780px;margin-bottom:22px}
.app-main .container.py-5 ul:not(.list-group),
.app-main .container.pb-5 ul:not(.list-group){padding-left:1.25rem;color:#65728a}
.app-main .container.py-5 li:not(.list-group-item),
.app-main .container.pb-5 li:not(.list-group-item){margin-bottom:.4rem}


/* Classic learning marketplace theme — inspired by established course marketplaces */
:root{
  --blue:var(--brand-primary,#5624d0);
  --blue-dark:color-mix(in srgb,var(--brand-primary,#5624d0) 82%,#000);
  --ink:#1c1d1f;
  --muted:#6a6f73;
  --line:#d1d7dc;
  --pale:#f7f9fa;
  --shadow:0 3px 14px rgba(28,29,31,.10);
  --radius-card:4px;
}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c1d1f;background:#fff;line-height:1.5}
a{color:var(--brand-primary,#5624d0);text-decoration:none}
a:hover{color:var(--brand-accent,#a435f0)}
h1,h2,h3,h4{letter-spacing:-.025em;color:#1c1d1f}
.container{max-width:1240px}
.navbar{background:#fff;border-bottom:1px solid #d1d7dc;box-shadow:0 2px 7px rgba(28,29,31,.06);padding:10px 0}
.navbar .container{gap:18px}
.navbar-brand{font-size:1.2rem;font-weight:850;letter-spacing:-.04em;color:#1c1d1f;display:flex;align-items:center;gap:9px}
.brand-logo{width:36px;height:36px;object-fit:contain}
.navbar .nav-link{color:#2d2f31;font-size:.91rem;font-weight:600;padding:.65rem .8rem!important}
.navbar .nav-link:hover{color:var(--brand-primary,#5624d0)}
.navbar-toggler{border:1px solid #aeb4b9;border-radius:3px;padding:7px}
.navbar-toggler:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary,#5624d0) 22%,transparent)}
.btn{border-radius:3px;font-weight:750;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}
.btn-primary{background:var(--brand-primary,#5624d0);border-color:var(--brand-primary,#5624d0);box-shadow:none;color:#fff}
.btn-primary:hover,.btn-primary:focus{background:var(--blue-dark);border-color:var(--blue-dark);transform:translateY(-1px)}
.btn-outline-primary{color:var(--brand-primary,#5624d0);border-color:var(--brand-primary,#5624d0);font-weight:750}
.btn-outline-primary:hover{background:var(--brand-primary,#5624d0);border-color:var(--brand-primary,#5624d0);color:#fff}
.form-control,.form-select{border:1px solid #8a8f93;border-radius:2px;min-height:44px;color:#1c1d1f}
.form-control:focus,.form-select:focus{border-color:var(--brand-primary,#5624d0);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary,#5624d0) 22%,transparent)}
.form-label{font-weight:700;color:#303438}
.app-main{min-height:65vh}
.home-hero{padding:42px 0 0;background:#f7f9fa;overflow:hidden}
.home-hero:after{display:none}
.hero-orb-one{background:color-mix(in srgb,var(--brand-primary,#5624d0) 7%,white)}
.hero-orb-two{background:#e9f5f1}
.home-hero-grid{grid-template-columns:1.15fr .85fr;gap:34px}
.hero-copy{padding:16px 0 30px}
.hero-pill{border-radius:2px;border:0;background:#e9e3ff;color:var(--brand-primary,#5624d0);font-size:.7rem;letter-spacing:.07em;padding:8px 11px}
.hero-copy h1{font-size:clamp(2.3rem,4.6vw,4rem);font-weight:850;line-height:1.08;color:#1c1d1f;max-width:680px}
.hero-lead{font-size:1.05rem;line-height:1.65;color:#4b4f52;max-width:570px}
.hero-search{max-width:680px;border:1px solid #6a6f73;border-radius:2px;box-shadow:none;padding:5px;background:#fff;gap:4px}
.hero-search input{font-size:1rem;min-height:47px}
.hero-search .btn{border-radius:2px}
.search-symbol{font-size:1.55rem}
.hero-proof{margin-top:22px}
.proof-avatars span{border-radius:50%;border-color:#f7f9fa}
.hero-art{min-height:365px}
.art-glow{width:320px;height:320px;opacity:.75}
.learning-board{border-radius:4px;box-shadow:0 12px 35px rgba(28,29,31,.13);transform:none;padding:23px}
.board-heading{font-size:2rem}
.progress-row{border-top:1px solid #e4e8eb}
.progress-icon{border-radius:4px}
.floating-note{border-radius:4px;box-shadow:0 5px 18px rgba(28,29,31,.12)}
.hero-stats{border-top:1px solid #e2e5e7;margin-top:0;padding-top:22px;padding-bottom:24px}
.hero-stat strong{font-size:1.55rem;color:#1c1d1f}
.hero-stat span{color:#555b60;font-size:.86rem}
.section-pad{padding:54px 0}
.section-heading{align-items:flex-end;margin-bottom:24px}
.section-eyebrow{color:var(--brand-primary,#5624d0);font-size:.7rem;font-weight:850;letter-spacing:.1em}
.section-heading h2,.centered-heading h2{font-size:clamp(1.75rem,3vw,2.45rem);font-weight:800;line-height:1.15;margin:8px 0}
.section-heading p{color:#555b60;max-width:680px;margin-bottom:0}
.text-link{font-weight:800;white-space:nowrap}
.category-section{background:#fff}
.category-grid{gap:14px}
.category-tile{border:1px solid #d1d7dc;border-radius:3px;padding:20px;background:#fff;box-shadow:none;min-height:175px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.category-tile:hover{border-color:var(--brand-primary,#5624d0);box-shadow:0 5px 18px rgba(28,29,31,.08);transform:translateY(-2px)}
.category-symbol{border-radius:3px;background:#f0ebff;color:var(--brand-primary,#5624d0);font-size:1.15rem}
.category-tone-1 .category-symbol{background:#e6f5f0;color:#176b52}
.category-tone-2 .category-symbol{background:#fff0dc;color:#925500}
.category-tone-3 .category-symbol{background:#e9f1ff;color:#2358a8}
.category-tile strong{font-size:1.03rem}
.category-description{color:#60666b;line-height:1.5}
.featured-section{background:#f7f9fa}
.featured-tutor{height:100%;border:1px solid #d1d7dc;border-radius:3px;padding:20px;background:#fff;box-shadow:none;transition:box-shadow .15s ease,transform .15s ease}
.featured-tutor:hover{box-shadow:0 6px 20px rgba(28,29,31,.10);transform:translateY(-2px)}
.featured-avatar{border-radius:50%;overflow:hidden}
.verified-tag{border-radius:2px;background:#e9f5ee;color:#176b52;font-size:.73rem}
.featured-tutor h3{font-size:1.2rem;font-weight:800}
.tutor-location,.featured-bio{color:#60666b}
.tutor-card-footer{border-top:1px solid #e6e8ea;padding-top:13px}
.tutor-rating span{color:#b4690e}
.tutor-rate strong{color:#1c1d1f}
.featured-tutor .btn{border-radius:2px}
.how-section{background:#fff}
.steps-grid{gap:16px}
.step-card{border:1px solid #d1d7dc;border-radius:3px;box-shadow:none;padding:24px}
.step-number{font-size:.78rem;color:var(--brand-primary,#5624d0);font-weight:850}
.step-icon{border-radius:3px}
.final-cta{background:#1c1d1f;color:#fff;padding:48px 0}
.final-cta h2,.final-cta p{color:#fff}
.final-cta h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:850}
.final-cta .section-eyebrow{color:#d9cfff}
.final-cta .btn-light{color:#1c1d1f;border:1px solid #fff}
.cta-secondary{color:#fff}
.footer{background:#1c1d1f;color:#d1d7dc;border-top:0;padding:25px 0}
.footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.metric,.action-card,.tutor-card,.settings-panel,.support-card,.booking-card,.offer-card,.message-card{border:1px solid #d1d7dc;border-radius:3px;background:#fff;box-shadow:none}
.metric{padding:22px;min-height:112px}
.metric span{font-size:.82rem;color:#60666b;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.metric strong{font-size:1.85rem;color:var(--brand-primary,#5624d0)}
.action-card{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;color:#1c1d1f;font-weight:750;min-height:68px;transition:border-color .15s ease,background .15s ease}
.action-card:hover{color:var(--brand-primary,#5624d0);border-color:var(--brand-primary,#5624d0);background:#faf8ff}
.page-heading{margin-bottom:24px;max-width:850px}
.page-heading h1{font-weight:850;font-size:clamp(1.9rem,3.5vw,2.8rem);margin:6px 0 10px}
.page-heading p{color:#60666b;font-size:1.02rem}
.eyebrow{color:var(--brand-primary,#5624d0);font-size:.72rem;letter-spacing:.12em;font-weight:850}
.settings-panel{padding:26px;max-width:980px}
.settings-panel .form-control:not(.form-control-color){max-width:100%}
.theme-color-input{width:100px;height:48px;padding:4px;cursor:pointer;border:1px solid #d1d7dc;border-radius:3px}
.admin-settings-page .form-label{display:block;margin-bottom:7px}
.admin-settings-page .btn{margin-top:22px}
.table{--bs-table-bg:#fff;--bs-table-striped-bg:#f7f9fa;color:#1c1d1f}
.table>:not(caption)>*>*{padding:13px 12px;border-bottom-color:#e3e6e8}
.table thead th{background:#f7f9fa;color:#444a4e;font-size:.78rem;text-transform:uppercase;letter-spacing:.045em}
.alert{border-radius:3px}
.badge{border-radius:3px}
.pagination .page-link{color:var(--brand-primary,#5624d0)}
.pagination .active>.page-link{background:var(--brand-primary,#5624d0);border-color:var(--brand-primary,#5624d0)}
/* Admin-managed homepage banner carousel */
.marketplace-banner{margin-top:20px;margin-bottom:0;position:relative}
.marketplace-banner .carousel{position:relative;overflow:hidden;border-radius:3px;background:#1c1d1f}
.marketplace-banner .carousel-inner{border-radius:3px}
.marketplace-banner .carousel-item{height:clamp(260px,33vw,420px);position:relative;background:#1c1d1f}
.marketplace-banner-image{width:100%;height:100%;object-fit:cover;object-position:center}
.marketplace-banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,24,.84) 0%,rgba(15,16,24,.62) 42%,rgba(15,16,24,.08) 100%)}
.marketplace-banner-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(24px,5vw,64px);max-width:720px;color:#fff}
.marketplace-banner-copy .banner-kicker{font-size:.72rem;font-weight:850;letter-spacing:.13em;color:#e4d8ff;margin-bottom:12px}
.marketplace-banner-copy h2{font-size:clamp(1.8rem,4.1vw,3.4rem);font-weight:900;line-height:1.05;max-width:620px;color:#fff;margin:0 0 12px}
.marketplace-banner-copy p{font-size:clamp(.95rem,1.4vw,1.1rem);color:#f3f3f6;max-width:550px;margin:0 0 20px}
.marketplace-banner-copy .btn{border-radius:2px;color:var(--brand-primary,#5624d0);font-weight:850}
.marketplace-banner .carousel-indicators{z-index:4;justify-content:flex-start;margin:0 0 17px clamp(24px,5vw,64px)}
.marketplace-banner .carousel-indicators [data-bs-target]{width:25px;height:4px;border:0;opacity:.65}
.marketplace-banner .carousel-indicators .active{opacity:1;background:#fff}
.marketplace-banner .carousel-control-prev,.marketplace-banner .carousel-control-next{width:7%;z-index:3}
.slide-section{padding-top:24px;padding-bottom:24px}
.slide-img{height:300px;object-fit:cover}
.nav-logout{display:flex;align-items:center}
.nav-logout-button{background:none;border:0}
@media(max-width:991.98px){
 .home-hero{padding-top:30px}
 .home-hero-grid{grid-template-columns:1fr;gap:5px}
 .hero-copy{padding:10px 0 15px}
 .hero-art{min-height:330px}
 .hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .hero-stat{padding:0}
 .navbar .container{gap:8px}
 .navbar-collapse{padding-top:10px}
 .navbar .nav-link{padding:.7rem .2rem!important}
 .nav-logout{display:block}
 .marketplace-banner .carousel-item{height:330px}
}
@media(max-width:575.98px){
 .home-hero{padding-top:24px}
 .hero-copy h1{font-size:2.35rem}
 .hero-lead{font-size:.98rem}
 .hero-search{display:grid;grid-template-columns:28px minmax(0,1fr);padding:7px;gap:4px}
 .hero-search input{grid-column:2;grid-row:1}
 .hero-search .btn{grid-column:1/-1;width:100%;min-height:44px}
 .search-symbol{grid-column:1;grid-row:1;padding-left:5px}
 .hero-art{min-height:290px}
 .art-glow{width:250px;height:250px}
 .learning-board{width:min(100%,330px);padding:18px}
 .floating-note{max-width:190px;padding:10px 12px}
 .note-bottom{right:0}
 .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:18px;padding-bottom:20px}
 .hero-stat strong{font-size:1.3rem}
 .section-pad{padding:38px 0}
 .section-heading{display:block}
 .section-heading .text-link{display:inline-block;margin-top:14px}
 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .category-tile{padding:14px;min-height:160px}
 .category-tile strong{font-size:.93rem}
 .category-description{font-size:.8rem}
 .featured-tutor{padding:16px}
 .steps-grid{grid-template-columns:1fr}
 .final-cta{padding:35px 0}
 .final-cta-inner{display:block}
 .cta-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}
 .settings-panel{padding:17px}
 .marketplace-banner{margin-top:12px}
 .marketplace-banner .carousel-item{height:300px}
 .marketplace-banner-shade{background:linear-gradient(90deg,rgba(15,16,24,.88),rgba(15,16,24,.48))}
 .marketplace-banner-copy{padding:22px 24px 35px}
 .marketplace-banner-copy h2{font-size:1.8rem}
 .marketplace-banner-copy p{font-size:.9rem;line-height:1.4;margin-bottom:13px}
 .marketplace-banner-copy .btn{font-size:.9rem;padding:9px 13px}
 .marketplace-banner .carousel-control-prev,.marketplace-banner .carousel-control-next{width:10%}
 .table-responsive{border:1px solid #d1d7dc}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Dashboard and admin workspace polish */
.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;margin-bottom:22px;background:#f7f9fa;border:1px solid #d1d7dc;border-left:5px solid var(--brand-primary,#5624d0)}
.dashboard-welcome h1{font-size:clamp(1.8rem,3.5vw,2.65rem);font-weight:850;margin:6px 0}
.dashboard-welcome p{margin:0;color:#60666b}
.dashboard-section-heading,.admin-quick-heading{margin:30px 0 8px}
.dashboard-section-heading h2,.admin-quick-heading h2{font-size:1.45rem;font-weight:850;margin:0 0 5px}
.dashboard-section-heading p,.admin-quick-heading p{color:#60666b;margin:0}
.admin-dashboard .admin-metrics{margin-bottom:12px}
.admin-dashboard .metric{border-top:3px solid var(--brand-primary,#5624d0)}
.admin-dashboard .admin-quick-links .action-card{height:100%;min-height:82px}
.admin-dashboard .page-heading{padding-bottom:4px}
.user-dashboard .dashboard-metrics .metric{height:100%}
.user-dashboard .dashboard-welcome .btn{flex-shrink:0}
.admin-settings-page .page-heading{border-bottom:1px solid #d1d7dc;padding-bottom:20px}
.settings-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.settings-panel .form-label{margin-top:14px!important}
.settings-panel .btn{justify-self:start;grid-column:1/-1}
.settings-panel p,.settings-panel .text-muted{grid-column:1/-1}
@media(max-width:700px){
 .dashboard-welcome{display:block;padding:22px 19px}
 .dashboard-welcome .btn{margin-top:16px}
 .settings-panel{grid-template-columns:1fr;padding:17px}
 .settings-panel .btn,.settings-panel p,.settings-panel .text-muted{grid-column:1}
}

/* Registration, location selector, welcome celebration and tutor application polish */
.auth-page{max-width:1180px}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:clamp(24px,4vw,64px);align-items:stretch}.auth-story{position:relative;overflow:hidden;border-radius:28px;padding:clamp(28px,4vw,54px);color:#fff;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.2),transparent 28%),linear-gradient(145deg,#24205b 0%,#4c2ab7 58%,#8a4be8 100%);min-height:620px;display:flex;flex-direction:column;justify-content:center}.auth-kicker{display:inline-block;font-size:.75rem;letter-spacing:.15em;font-weight:800;color:#dcd5ff;margin-bottom:18px}.auth-story h1{font-size:clamp(2.1rem,4vw,3.4rem);font-weight:800;line-height:1.08;letter-spacing:-.045em;max-width:520px}.auth-story>p{font-size:1.08rem;line-height:1.75;color:#ece8ff;max-width:470px;margin:18px 0 28px}.auth-benefit{display:flex;gap:12px;align-items:center;margin:8px 0;color:#fff;font-weight:600}.auth-benefit span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.17);color:#fff}.auth-illustration{position:relative;height:120px;margin-top:30px}.auth-book{position:absolute;bottom:0;width:110px;height:78px;border-radius:12px 12px 6px 6px;box-shadow:0 16px 30px #100a3c35;transform:skewY(-8deg)}.book-one{left:8%;background:linear-gradient(90deg,#ffcf70 0 12%,#fff1cf 12% 100%)}.book-two{left:22%;bottom:12px;background:linear-gradient(90deg,#66d5c0 0 12%,#e1fff7 12% 100%);transform:rotate(8deg) skewY(-8deg)}.auth-star{position:absolute;left:48%;top:0;font-size:3.5rem;color:#ffdc7d;text-shadow:0 8px 24px #130a4b40}.register-card{padding:clamp(24px,3vw,42px);border-radius:24px;background:#fff;border:1px solid #e7e9f2;box-shadow:0 22px 65px rgba(27,31,59,.09)}.auth-card-heading{margin-bottom:24px}.auth-card-heading h2{font-size:2rem;font-weight:800;letter-spacing:-.04em;margin:8px 0}.auth-card-heading p,.form-hint{color:#6c7487;font-size:.9rem}.register-form .form-label,.application-form .form-label{font-weight:700;color:#252a3a}.register-form .form-control,.register-form .form-select,.application-form .form-control,.application-form .form-select{min-height:48px;border-color:#dfe3ed;border-radius:11px}.register-form .form-control:focus,.register-form .form-select:focus,.application-form .form-control:focus,.application-form .form-select:focus{border-color:var(--brand-primary,#5624d0);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand-primary,#5624d0) 13%,transparent)}.profile-upload-box{display:flex;gap:16px;align-items:center;padding:14px;border:1px dashed #cfd4e2;border-radius:14px;background:#fafbff;margin-bottom:20px}.profile-upload-box img{width:76px;height:76px;object-fit:cover;border-radius:50%;background:#eee}.profile-upload-box>div{flex:1;min-width:0}.auth-switch{text-align:center;margin:22px 0 0;color:#697184}.auth-switch a{font-weight:800;color:var(--brand-primary,#5624d0)}.location-fields{margin-top:18px}.location-fields [hidden]{display:none!important}.location-fields .form-select,.location-fields .form-control{background-color:#fff}.welcome-celebration{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:rgba(20,19,44,.58);backdrop-filter:blur(5px);animation:welcomeFade .25s ease-out}.welcome-celebration-card{position:relative;width:min(100%,480px);padding:42px 32px 34px;text-align:center;border-radius:26px;background:#fff;box-shadow:0 25px 100px #090b2540;animation:welcomePop .35s cubic-bezier(.2,.8,.2,1)}.welcome-celebration-card h2{font-weight:850;letter-spacing:-.04em;margin:12px 0}.welcome-celebration-card p{color:#626a7b}.welcome-confetti{font-size:2rem;letter-spacing:.2em;color:#6b42dc}.welcome-close{position:absolute;right:14px;top:10px;border:0;background:#f0eff7;border-radius:50%;width:36px;height:36px;font-size:1.4rem;color:#38334c}.welcome-countdown{font-size:.9rem;margin:16px 0}.welcome-countdown strong{color:var(--brand-primary,#5624d0);font-size:1.15rem}.dashboard-user-heading{display:flex;align-items:center;gap:18px}.dashboard-profile-photo{width:76px;height:76px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 18px #20254a1a}.tutor-application-page{max-width:1060px}.application-hero{padding:clamp(28px,5vw,54px);border-radius:26px;color:#fff;background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.17),transparent 26%),linear-gradient(130deg,#27215e,#4e2bb5 65%,#8450dc);margin-bottom:26px}.application-hero .section-eyebrow{color:#e0d8ff}.application-hero h1{font-size:clamp(2rem,4vw,3.25rem);font-weight:850;letter-spacing:-.045em;max-width:720px}.application-hero p{max-width:680px;color:#e9e4ff;font-size:1.05rem;line-height:1.7}.application-steps{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.application-steps span{padding:8px 13px;border:1px solid #ffffff45;background:#ffffff12;border-radius:999px;font-size:.82rem;font-weight:700}.application-form-wrap{max-width:900px;margin:auto}.application-form{display:grid;gap:18px}.application-section{padding:clamp(22px,3vw,34px);border:1px solid #e5e8f0;border-radius:20px;background:#fff;box-shadow:0 12px 34px #22284a08}.application-section h2{font-size:1.4rem;font-weight:800;letter-spacing:-.025em}.application-section>p{color:#737b8c;margin-bottom:24px}.expertise-option{display:flex;align-items:center;gap:10px;height:100%;padding:12px 14px;border:1px solid #e3e6ef;border-radius:11px;background:#fbfcff;font-weight:600;cursor:pointer}.expertise-option:has(input:checked){border-color:var(--brand-primary,#5624d0);background:color-mix(in srgb,var(--brand-primary,#5624d0) 6%,#fff)}.application-message-cell{min-width:240px;max-width:380px;white-space:normal;overflow-wrap:anywhere}.application-form .btn-lg,.register-form .btn-lg{min-height:52px;border-radius:12px;font-weight:750}@keyframes welcomeFade{from{opacity:0}to{opacity:1}}@keyframes welcomePop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:850px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:auto;padding:32px}.auth-illustration{height:65px;margin-top:14px}.auth-book{height:50px;width:80px}.auth-star{font-size:2.5rem}.register-card{padding:26px}.dashboard-user-heading{align-items:flex-start}.dashboard-profile-photo{width:60px;height:60px;flex-shrink:0}}
@media(max-width:575.98px){.auth-page{padding-left:14px;padding-right:14px}.auth-story{border-radius:20px;padding:26px}.auth-story h1{font-size:2.15rem}.register-card{padding:20px 16px;border-radius:18px}.profile-upload-box{align-items:flex-start;flex-direction:column}.profile-upload-box img{width:68px;height:68px}.welcome-celebration-card{padding:38px 20px 24px;border-radius:20px}.application-hero{border-radius:20px;padding:26px 20px}.application-section{padding:22px 16px;border-radius:16px}.application-steps{gap:6px}.application-steps span{font-size:.72rem}.dashboard-welcome{align-items:flex-start;gap:18px;flex-direction:column}.dashboard-user-heading{gap:12px}.application-message-cell{min-width:210px}}
@media(prefers-reduced-motion:reduce){.welcome-celebration,.welcome-celebration-card{animation:none!important}}

/* Registration banner and tutor application fee UX */
.registration-banner-wrap{padding-top:1.25rem}
.registration-banner-image{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:1.25rem;box-shadow:0 14px 36px rgba(20,25,50,.12)}
.registration-banner-preview{display:block;width:100%;max-width:720px;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb}
.brand-asset-preview{display:block;max-width:160px;max-height:80px;object-fit:contain;padding:8px;border:1px solid #e5e7eb;border-radius:10px}
.fee-setting-card,.application-fee-notice{padding:1.1rem 1.25rem;border:1px solid #ded7fa;border-radius:14px;background:linear-gradient(135deg,#faf8ff,#fff);margin-bottom:1.25rem}
.application-fee-notice{display:flex;flex-direction:column;gap:.4rem;margin:0 0 1.25rem}
.application-fee-notice strong{font-size:1.05rem;color:var(--brand-primary,#5624d0)}
.application-fee-notice span,.fee-setting-card small{line-height:1.55}
@media(max-width:600px){.registration-banner-image{max-height:160px;border-radius:12px}.registration-banner-wrap{padding-top:.75rem}.application-fee-notice{padding:1rem}}


/* User dashboard promotional carousel */
.dashboard-promo-banner{margin:0 0 26px}
.dashboard-promo-banner .carousel-item{height:clamp(230px,29vw,360px)}
.dashboard-banner-overlay-link{position:absolute;inset:0;z-index:2;display:block}
.dashboard-promo-banner .marketplace-banner-copy{z-index:3;pointer-events:none}
.dashboard-promo-banner .marketplace-banner-copy .dashboard-banner-cta{pointer-events:auto;position:relative;z-index:4;text-decoration:none}
.dashboard-promo-banner .carousel-indicators,.dashboard-promo-banner .carousel-control-prev,.dashboard-promo-banner .carousel-control-next{z-index:5}
.dashboard-slide-admin-image{width:100%;height:220px;object-fit:cover;background:#f3f4f6}
.dashboard-slide-admin-card{padding:20px}
.dashboard-promo-banner .carousel-item:focus-within .dashboard-banner-overlay-link{outline:3px solid var(--brand-accent,#a435f0);outline-offset:-4px}
@media(max-width:767.98px){
 .dashboard-promo-banner{margin-bottom:20px}
 .dashboard-promo-banner .carousel-item{height:clamp(270px,75vw,340px)}
 .dashboard-promo-banner .marketplace-banner-shade{background:linear-gradient(90deg,rgba(15,16,24,.82),rgba(15,16,24,.4))}
 .dashboard-promo-banner .marketplace-banner-copy{padding:24px 22px;max-width:100%}
 .dashboard-promo-banner .marketplace-banner-copy h2{font-size:clamp(1.45rem,7vw,2.1rem)}
 .dashboard-promo-banner .marketplace-banner-copy p{font-size:.95rem;margin-bottom:14px}
 .dashboard-promo-banner .carousel-control-prev,.dashboard-promo-banner .carousel-control-next{width:10%}
 .dashboard-slide-admin-card{padding:14px}
}


/* Dashboard navigation and communications workspace */
.dashboard-shell,.admin-dashboard>.row{align-items:flex-start}
.dashboard-sidebar{position:sticky;top:18px;background:#fff;border:1px solid #e8e9f2;border-radius:22px;padding:16px 12px;box-shadow:0 12px 35px rgba(25,25,60,.06);min-height:calc(100vh - 130px)}
.sidebar-brand{display:flex;align-items:center;gap:10px;padding:8px 10px 18px;font-weight:800;color:#20213a;border-bottom:1px solid #eef0f6;margin-bottom:10px}
.sidebar-brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0));color:#fff;font-size:20px;box-shadow:0 7px 16px rgba(86,36,208,.22)}
.sidebar-links{display:grid;gap:5px}
.sidebar-link{display:flex;align-items:center;gap:10px;width:100%;min-height:45px;padding:10px 11px;border:0;border-radius:13px;text-decoration:none;color:#45465e;background:transparent;font-weight:650;font-size:.91rem;transition:background .18s ease,color .18s ease,transform .18s ease}
.sidebar-link:hover,.sidebar-link:focus-visible{background:linear-gradient(90deg,rgba(86,36,208,.11),rgba(164,53,240,.08));color:var(--brand-primary,#5624d0);transform:translateX(2px)}
.sidebar-link-icon{display:inline-grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:#f1edff;color:var(--brand-primary,#5624d0);font-size:15px}
.sidebar-chevron{margin-left:auto;color:#9a9bb0;font-size:20px;line-height:1}
.sidebar-logout{border-top:1px solid #eef0f6;margin-top:13px;padding-top:12px}
.sidebar-logout-button{cursor:pointer;text-align:left;background:#fff5f5;color:#b42335}
.sidebar-logout-button .sidebar-link-icon{background:#ffe5e8;color:#b42335}
.dashboard-main,.admin-dashboard-main{min-width:0}
.admin-dashboard-main .page-heading{padding:28px 30px;border-radius:22px;background:radial-gradient(circle at 90% 5%,rgba(164,53,240,.17),transparent 32%),linear-gradient(120deg,#fff,#f8f6ff);border:1px solid #ece8fa}
.admin-tool-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:205px;height:100%;padding:21px;border:1px solid #e8e9f2;border-radius:20px;background:#fff;color:#282940;text-decoration:none;box-shadow:0 8px 24px rgba(24,24,50,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.admin-tool-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(36,22,80,.11);border-color:rgba(86,36,208,.3);color:#282940}
.admin-tool-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#f0eaff,#fbeaff);font-size:23px}
.admin-tool-title{font-size:1.04rem;font-weight:800}
.admin-tool-description{color:#77788c;font-size:.88rem;line-height:1.5}
.admin-tool-arrow{margin-top:auto;font-weight:750;color:var(--brand-primary,#5624d0);font-size:.9rem}
.admin-metrics .metric{height:100%;border-radius:18px;border:1px solid #ececf4;box-shadow:0 6px 18px rgba(25,25,60,.04)}
.admin-email-settings .settings-panel,.admin-email-campaigns .settings-panel{border:1px solid #e7e7f1;border-radius:22px;padding:clamp(18px,3vw,30px);background:#fff;box-shadow:0 12px 30px rgba(28,26,65,.055)}
.admin-email-campaigns textarea{min-height:190px}
@media(max-width:991.98px){
 .dashboard-sidebar{position:static;min-height:0;padding:12px;border-radius:18px}
 .sidebar-brand{padding-bottom:10px;margin-bottom:8px}
 .sidebar-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sidebar-link{font-size:.83rem;min-width:0;padding:8px}
 .sidebar-link-icon{width:27px;height:27px;flex-basis:27px}
 .sidebar-logout{margin-top:8px;padding-top:8px}
 .admin-dashboard-main .page-heading{padding:22px}
}
@media(max-width:575.98px){
 .sidebar-links{grid-template-columns:1fr}
 .sidebar-link{min-height:42px}
 .admin-tool-card{min-height:160px}
}

.user-dashboard .action-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:78px;padding:18px 20px;border-radius:17px;border:1px solid #e9e6fb;background:linear-gradient(135deg,#fff,#f7f3ff);color:#292744;font-weight:750;text-decoration:none;box-shadow:0 7px 20px rgba(58,37,112,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.user-dashboard .action-card::after{content:"↗";display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0));color:#fff;font-size:18px}
.user-dashboard .action-card:hover{transform:translateY(-3px);box-shadow:0 13px 27px rgba(58,37,112,.12);border-color:rgba(86,36,208,.35);color:var(--brand-primary,#5624d0)}
.user-dashboard .dashboard-metrics .metric{border-radius:18px;border:1px solid #eeeaf9;background:linear-gradient(145deg,#fff,#faf8ff);box-shadow:0 7px 18px rgba(40,28,85,.045)}
.user-dashboard .dashboard-welcome{padding:24px;border:1px solid #ece8fa;border-radius:22px;background:radial-gradient(circle at 90% 0,rgba(164,53,240,.13),transparent 30%),#fff}
.user-dashboard .btn-primary,.admin-dashboard .btn-primary,.admin-email-settings .btn-primary,.admin-email-campaigns .btn-primary{background:linear-gradient(115deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0));border-color:transparent;box-shadow:0 7px 17px rgba(86,36,208,.19);font-weight:750}
.user-dashboard .btn-primary:hover,.admin-dashboard .btn-primary:hover,.admin-email-settings .btn-primary:hover,.admin-email-campaigns .btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}


/* Subject access, paid course library and tutor course studio */
.learning-access-page .page-heading,.course-marketplace .page-heading,.course-manager .page-heading{max-width:850px;margin-bottom:2rem}
.learning-subject-card,.bundle-card,.course-card,.course-detail-hero,.course-content-panel,.course-purchase-panel,.course-editor-card,.admin-learning-panel{height:100%;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:1.35rem;box-shadow:0 8px 28px rgba(17,24,39,.055)}
.learning-subject-card{display:flex;flex-direction:column;min-height:255px}
.learning-subject-icon,.course-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#ede9fe,#dbeafe);font-size:1.35rem;margin-bottom:1rem}
.learning-subject-card h3,.course-card h2,.bundle-card h3{font-size:1.2rem;font-weight:750;color:#1f2937}
.learning-subject-card p,.course-card p,.bundle-card p{color:#6b7280;flex:1}
.learning-price{font-size:1.25rem;font-weight:800;color:#4f46e5;margin:.5rem 0}
.access-owned{display:inline-flex;align-items:center;gap:.4rem;background:#dcfce7;color:#166534;border-radius:999px;padding:.45rem .75rem;font-weight:700;font-size:.85rem}
.bundle-card{height:auto;border-color:#ddd6fe}
.bundle-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.bundle-count,.course-subject{display:inline-block;background:#eef2ff;color:#4338ca;border-radius:999px;padding:.3rem .65rem;font-size:.75rem;font-weight:800;letter-spacing:.04em}
.bundle-price{font-size:1.35rem;font-weight:850;white-space:nowrap;color:#312e81}
.bundle-subject-picker{border-top:1px solid #e5e7eb;padding-top:1rem}
.bundle-subject-option{display:flex;align-items:flex-start;gap:.6rem;border:1px solid #e5e7eb;border-radius:10px;padding:.65rem;cursor:pointer;height:100%;font-size:.9rem}
.bundle-subject-option:has(input:checked){border-color:#6366f1;background:#eef2ff}
.bundle-subject-option.is-owned{opacity:.5;cursor:not-allowed}
.bundle-selection-status{font-size:.85rem;color:#4f46e5;font-weight:750;margin-top:.8rem}
.admin-learning-panel{height:auto;margin-bottom:1.5rem}
.admin-learning-panel h2{font-size:1.25rem;font-weight:800;margin-bottom:1.25rem}
.bundle-admin-row{padding:1rem 0;border-top:1px solid #e5e7eb}
.course-card{overflow:hidden;padding:0;display:flex;flex-direction:column;height:100%}
.course-card-icon{width:100%;height:135px;border-radius:0;margin:0;font-size:2.2rem}
.course-card-body{padding:1.25rem;display:flex;flex-direction:column;flex:1}
.course-card-body h2{margin-top:.65rem}
.course-card-footer{display:flex;justify-content:space-between;align-items:center;gap:.8rem;font-size:.9rem;flex-wrap:wrap}
.course-detail-hero{height:auto;background:linear-gradient(135deg,#f5f3ff,#eff6ff);padding:clamp(1.5rem,4vw,3rem);margin-bottom:1.25rem}
.course-detail-hero h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:850;max-width:900px;margin:.7rem 0}
.course-detail-meta{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:1.5rem}
.course-content-panel,.course-purchase-panel{height:auto;margin-top:1rem}
.course-content-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.course-video-frame{position:relative;aspect-ratio:16/9;max-width:980px;background:#111827;border-radius:14px;overflow:hidden;margin:1rem 0}
.course-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.course-editor-card{height:auto}
.course-editor-card .form-label,.admin-learning-panel .form-label{font-weight:700}
.course-manager .table td,.course-manager .table th{vertical-align:middle}
@media(max-width:575.98px){.bundle-card-top{display:block}.bundle-price{margin-top:.5rem}.learning-subject-card,.bundle-card,.course-content-panel,.course-purchase-panel{padding:1rem}.course-detail-meta{align-items:flex-start;flex-direction:column}}

.learning-subject-card.is-selected{border:2px solid #6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.12)}


/* Registration banner carousel and real profile-photo picker */
.registration-banner-wrap { margin-top: 1.25rem; margin-bottom: .25rem; }
.registration-banner-carousel { position: relative; overflow: hidden; border-radius: 1.35rem; background: #18233b; box-shadow: 0 18px 48px rgba(22, 34, 61, .16); }
.registration-banner-carousel .carousel-inner { border-radius: inherit; }
.registration-banner-image { display: block; width: 100%; height: clamp(210px, 31vw, 390px); object-fit: cover; }
.registration-banner-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12, 20, 43, .82) 0%, rgba(12, 20, 43, .54) 48%, rgba(12, 20, 43, .08) 100%); pointer-events: none; }
.registration-banner-copy { position: absolute; z-index: 2; left: clamp(1.2rem, 5vw, 4rem); top: 50%; transform: translateY(-50%); width: min(62%, 660px); color: #fff; pointer-events: none; }
.registration-banner-copy .banner-kicker { display: inline-block; margin-bottom: .7rem; color: #f5d58a; font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.registration-banner-copy h2 { max-width: 640px; margin: 0 0 .7rem; color: #fff; font-size: clamp(1.55rem, 3.1vw, 3rem); font-weight: 800; line-height: 1.08; letter-spacing: -.035em; }
.registration-banner-copy p { max-width: 570px; margin: 0 0 1rem; color: rgba(255,255,255,.92); font-size: clamp(.92rem, 1.2vw, 1.08rem); }
.registration-banner-copy .btn { pointer-events: auto; border: 0; border-radius: .7rem; color: #24134e; font-weight: 800; box-shadow: 0 8px 20px rgba(0,0,0,.16); }
.registration-banner-carousel .carousel-indicators { z-index: 4; margin-bottom: .8rem; }
.registration-banner-carousel .carousel-control-prev, .registration-banner-carousel .carousel-control-next { z-index: 4; width: 8%; }
.registration-banner-carousel .carousel-item { min-height: 210px; }
.register-profile-upload { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 1px dashed #c8c5d8; border-radius: 1rem; background: #faf9ff; }
.profile-upload-empty { display: flex; flex: 0 0 88px; width: 88px; height: 88px; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; border: 1px solid #ded9f0; border-radius: 1rem; color: #635b7e; background: #f0edfa; font-size: .72rem; font-weight: 700; }
.profile-upload-icon { font-size: 1.8rem; line-height: 1; }
.register-profile-upload #register-photo-preview { flex: 0 0 88px; width: 88px; height: 88px; border-radius: 1rem; object-fit: cover; }
.register-profile-upload #register-photo-preview[hidden], .profile-upload-empty[hidden] { display: none !important; }
.profile-upload-controls { min-width: 0; flex: 1; }
@media (max-width: 640px) {
  .registration-banner-wrap { padding-left: .75rem; padding-right: .75rem; }
  .registration-banner-carousel { border-radius: 1rem; }
  .registration-banner-image { height: 235px; }
  .registration-banner-shade { background: linear-gradient(90deg, rgba(12, 20, 43, .84), rgba(12, 20, 43, .35)); }
  .registration-banner-copy { left: 1.1rem; width: 78%; }
  .registration-banner-copy h2 { font-size: 1.5rem; }
  .registration-banner-copy p { font-size: .86rem; line-height: 1.35; }
  .registration-banner-copy .btn { padding: .5rem .75rem; font-size: .9rem; }
  .register-profile-upload { align-items: flex-start; flex-wrap: wrap; }
  .profile-upload-controls { flex-basis: 100%; }
}


/* Refined registration form presentation */
.register-card { position: relative; overflow: hidden; }
.register-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--brand-primary, #5624d0), var(--brand-accent, #a435f0), #f2c66d); }
.register-card .auth-card-heading h2 { color: #1f2340; }
.register-form .form-control, .register-form .form-select { min-height: 48px; border-radius: .75rem; border-color: #dfe2ed; background-color: #fff; transition: border-color .18s ease, box-shadow .18s ease; }
.register-form .form-control:focus, .register-form .form-select:focus { border-color: var(--brand-primary, #5624d0); box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--brand-primary, #5624d0) 16%, transparent); }
.register-form .btn-primary { min-height: 52px; border-radius: .8rem; font-weight: 800; box-shadow: 0 10px 22px color-mix(in srgb, var(--brand-primary, #5624d0) 24%, transparent); }
.register-profile-upload { transition: border-color .18s ease, background-color .18s ease; }
.register-profile-upload:focus-within { border-color: var(--brand-primary, #5624d0); background: #f6f3ff; }
.register-profile-upload .profile-upload-empty { border-radius: 1rem; }
@media (max-width: 900px) {
  .auth-layout { grid-template-columns: minmax(0, 1fr); }
  .auth-story { min-height: auto; }
}

/* Universal collapsible navigation drawer: available across public, student and admin pages */
.site-navbar { position: relative; z-index: 1030; background: rgba(255,255,255,.97); border-bottom: 1px solid #e7e8f0; box-shadow: 0 4px 18px rgba(28,32,65,.035); }
.site-navbar > .container { gap: .9rem; }
.global-menu-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: .62rem; min-height: 44px; padding: .65rem 1rem; border: 0; border-radius: .85rem; color: #fff; background: linear-gradient(135deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0)); font-weight: 800; letter-spacing: -.01em; box-shadow: 0 8px 20px color-mix(in srgb,var(--brand-primary,#5624d0) 22%,transparent); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.global-menu-toggle:hover { color: #fff; transform: translateY(-1px); filter: saturate(1.08); box-shadow: 0 12px 26px color-mix(in srgb,var(--brand-primary,#5624d0) 29%,transparent); }
.global-menu-toggle:focus-visible, .global-menu-close:focus-visible, .global-menu-link:focus-visible { outline: 3px solid #f0b429; outline-offset: 3px; }
.global-menu-toggle-glyph { display: flex; width: 19px; flex-direction: column; gap: 4px; }
.global-menu-toggle-glyph i { display: block; height: 2px; width: 100%; border-radius: 4px; background: currentColor; }
.global-menu-toggle-glyph i:nth-child(2) { width: 75%; }
.global-menu-toggle-label { font-size: .94rem; }
.global-menu-backdrop { position: fixed; z-index: 1090; inset: 0; background: rgba(15,18,42,.52); backdrop-filter: blur(3px); }
.global-menu-backdrop[hidden] { display: none !important; }
.global-menu-drawer { position: fixed; z-index: 1100; inset: 0 auto 0 0; display: flex; width: min(365px, calc(100vw - 28px)); flex-direction: column; overflow: hidden; color: #26243d; background: #fff; box-shadow: 18px 0 60px rgba(15,18,42,.2); transform: translateX(0); animation: globalMenuIn .2s ease-out; }
.global-menu-drawer[hidden] { display: none !important; }
@keyframes globalMenuIn { from { opacity: .65; transform: translateX(-18px); } to { opacity: 1; transform: translateX(0); } }
.global-menu-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.1rem 1rem; border-bottom: 1px solid #ececf4; background: linear-gradient(135deg,#fbfaff,#fff); }
.global-menu-brand { display: flex; min-width: 0; align-items: center; gap: .75rem; color: #24213c; text-decoration: none; font-weight: 850; line-height: 1.2; }
.global-menu-brand:hover { color: var(--brand-primary,#5624d0); }
.global-menu-brand-mark { display: grid; flex: 0 0 43px; width: 43px; height: 43px; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(135deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0)); font-size: 1.15rem; box-shadow: 0 7px 18px color-mix(in srgb,var(--brand-primary,#5624d0) 22%,transparent); }
.global-menu-brand small { display: block; margin-top: .25rem; color: #7d7b91; font-size: .72rem; font-weight: 600; }
.global-menu-close { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border: 1px solid #e8e6f1; border-radius: 12px; color: #5c5872; background: #fff; font-size: 1.65rem; line-height: 1; }
.global-menu-close:hover { color: #fff; border-color: var(--brand-primary,#5624d0); background: var(--brand-primary,#5624d0); }
.global-menu-scroll { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: .65rem .85rem 1rem; }
.global-menu-group { padding: .65rem 0 .5rem; }
.global-menu-group + .global-menu-group { border-top: 1px solid #f0eff6; }
.global-menu-group h2 { margin: 0 0 .55rem .45rem; color: #8a879d; font-size: .68rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.global-menu-group nav { display: grid; gap: .22rem; }
.global-menu-link { position: relative; display: flex; width: 100%; min-height: 45px; align-items: center; gap: .72rem; padding: .66rem .7rem; border: 1px solid transparent; border-radius: .8rem; color: #4b4964; background: transparent; text-align: left; text-decoration: none; font-size: .9rem; font-weight: 650; transition: background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease; }
.global-menu-link:hover { transform: translateX(2px); color: var(--brand-primary,#5624d0); border-color: #eee8ff; background: #f8f5ff; }
.global-menu-link.is-active { color: var(--brand-primary,#5624d0); border-color: color-mix(in srgb,var(--brand-primary,#5624d0) 15%,#fff); background: color-mix(in srgb,var(--brand-primary,#5624d0) 8%,#fff); font-weight: 800; }
.global-menu-icon { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 10px; color: var(--brand-primary,#5624d0); background: color-mix(in srgb,var(--brand-primary,#5624d0) 10%,#fff); font-size: 1rem; }
.global-menu-link:hover .global-menu-icon, .global-menu-link.is-active .global-menu-icon { color: #fff; background: linear-gradient(135deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0)); }
.global-menu-label { min-width: 0; flex: 1; }
.global-menu-arrow { color: #aaa7bb; font-size: 1.25rem; line-height: 1; }
.global-menu-logout { margin: .2rem .85rem .9rem; padding-top: .85rem; border-top: 1px solid #ececf4; }
.global-menu-logout-button { color: #b4233a; background: #fff7f8; border-color: #ffe3e7; cursor: pointer; }
.global-menu-logout-button .global-menu-icon { color: #b4233a; background: #ffe9ec; }
.global-menu-logout-button:hover { color: #fff; border-color: #b4233a; background: #b4233a; }
.global-menu-logout-button:hover .global-menu-icon { color: #b4233a; background: #fff; }
.global-menu-foot { display: flex; align-items: center; gap: .5rem; padding: .85rem 1.1rem; border-top: 1px solid #ececf4; color: #858198; background: #fcfbff; font-size: .75rem; font-weight: 650; }
.global-menu-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #22b573; box-shadow: 0 0 0 4px rgba(34,181,115,.12); }
body.global-menu-open { overflow: hidden; }
body.global-menu-open .global-menu-drawer { box-shadow: 18px 0 60px rgba(15,18,42,.2); }
.dashboard-shell > aside:empty, .admin-dashboard > .row > aside:empty { display: none !important; }
.dashboard-shell > main { width: 100%; flex: 0 0 100%; max-width: 100%; }
.admin-dashboard > .row > main { width: 100%; flex: 0 0 100%; max-width: 100%; }
@media (max-width: 991.98px) {
 .site-navbar > .container { gap: .55rem; }
 .global-menu-toggle { min-height: 42px; padding: .6rem .72rem; gap: .5rem; }
 .global-menu-toggle-label { font-size: .86rem; }
 .site-navbar .navbar-brand { max-width: calc(100vw - 180px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 .site-navbar .brand-logo { max-width: 34px; }
}
@media (max-width: 480px) {
 .global-menu-toggle { padding: .62rem; min-width: 43px; }
 .global-menu-toggle-label { display: none; }
 .site-navbar .navbar-brand { font-size: .95rem; max-width: calc(100vw - 120px); }
 .global-menu-drawer { width: min(340px, calc(100vw - 20px)); }
}
@media (prefers-reduced-motion: reduce) {
 .global-menu-drawer, .global-menu-link, .global-menu-toggle { animation: none !important; transition: none !important; }
}



/* Super Admin command-center redesign — October 2026 */
.admin-dashboard { max-width: 1800px; margin-inline: auto; padding-inline: clamp(.75rem, 2vw, 2rem); }
.admin-dashboard-main { min-width: 0; }
.admin-welcome-hero { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 250px; overflow: hidden; padding: clamp(1.5rem, 3vw, 2.7rem); border: 1px solid rgba(255,255,255,.75); border-radius: 28px; background: radial-gradient(circle at 85% 15%,rgba(255,255,255,.23),transparent 25%),radial-gradient(circle at 15% 110%,rgba(255,255,255,.13),transparent 38%),linear-gradient(120deg,var(--brand-primary,#5624d0) 0%,#6c39db 48%,var(--brand-accent,#a435f0) 100%); color: #fff; box-shadow: 0 20px 48px color-mix(in srgb,var(--brand-primary,#5624d0) 20%,transparent); }
.admin-welcome-hero:before { content:""; position:absolute; z-index:-1; width:380px; height:380px; right:10%; top:-260px; border:1px solid rgba(255,255,255,.17); border-radius:50%; box-shadow:0 0 0 32px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.03); }
.admin-welcome-copy { position:relative; z-index:2; max-width:740px; }
.admin-kicker { display:inline-flex; align-items:center; gap:.5rem; color:var(--brand-primary,#5624d0); font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.admin-welcome-hero .admin-kicker { color:rgba(255,255,255,.86); }
.admin-live-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#8df3c4; box-shadow:0 0 0 4px rgba(141,243,196,.16); }
.admin-welcome-hero h1 { max-width:720px; margin:.85rem 0 .65rem; color:#fff; font-size:clamp(2rem,4vw,3.35rem); font-weight:900; letter-spacing:-.055em; line-height:1.04; }
.admin-welcome-hero p { max-width:610px; margin:0; color:rgba(255,255,255,.82); font-size:1rem; line-height:1.7; }
.admin-hero-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.45rem; }
.admin-primary-action,.admin-secondary-action { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:46px; padding:.78rem 1rem; border:1px solid transparent; border-radius:13px; font-size:.88rem; font-weight:850; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.admin-primary-action { color:#4f27ba; background:#fff; box-shadow:0 8px 22px rgba(20,10,50,.15); }
.admin-primary-action:hover { color:#3d169d; transform:translateY(-2px); box-shadow:0 12px 26px rgba(20,10,50,.22); }
.admin-secondary-action { color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.1); backdrop-filter:blur(8px); }
.admin-secondary-action:hover { color:#fff; border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.18); transform:translateY(-2px); }
.admin-hero-art { position:relative; flex:0 0 240px; width:240px; height:210px; margin-right:1rem; }
.admin-art-orbit { position:absolute; top:50%; left:50%; border:1px solid rgba(255,255,255,.28); border-radius:50%; transform:translate(-50%,-50%) rotate(-22deg); }
.admin-orbit-one { width:195px; height:195px; }
.admin-orbit-two { width:145px; height:145px; transform:translate(-50%,-50%) rotate(34deg); border-style:dashed; }
.admin-art-core { position:absolute; top:50%; left:50%; display:grid; width:86px; height:86px; place-items:center; border:1px solid rgba(255,255,255,.65); border-radius:26px; color:#6a35d2; background:linear-gradient(145deg,#fff,#e8ddff); box-shadow:0 16px 35px rgba(25,8,65,.25); font-size:2.6rem; transform:translate(-50%,-50%) rotate(-8deg); }
.admin-art-chip { position:absolute; display:inline-flex; align-items:center; padding:.45rem .72rem; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#fff; background:rgba(255,255,255,.15); backdrop-filter:blur(8px); font-size:.75rem; font-weight:850; box-shadow:0 8px 18px rgba(20,10,50,.12); }
.admin-chip-one { top:8px; left:10px; transform:rotate(-8deg); }
.admin-chip-two { top:48px; right:-6px; transform:rotate(7deg); }
.admin-chip-three { bottom:15px; left:38px; transform:rotate(5deg); }
.admin-summary-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin:2rem 0 .95rem; }
.admin-summary-heading h2,.admin-tools-heading h2 { margin:.25rem 0 0; color:#24213d; font-size:clamp(1.35rem,2vw,1.8rem); font-weight:900; letter-spacing:-.04em; }
.admin-summary-note { color:#77758e; font-size:.82rem; font-weight:650; }
.admin-metrics { margin-bottom:0; }
.admin-metric-card { position:relative; display:flex; min-height:164px; flex-direction:column; align-items:flex-start; gap:.3rem; overflow:hidden; padding:1.15rem!important; border:1px solid #ebe8f6!important; border-radius:20px!important; background:#fff!important; box-shadow:0 8px 22px rgba(38,25,82,.045)!important; transition:transform .18s ease,box-shadow .18s ease; }
.admin-metric-card:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(38,25,82,.09)!important; }
.admin-metric-card:after { top:auto; right:-24px; bottom:-38px; width:115px; height:115px; background:var(--metric-wash,#f0eaff); opacity:.8; }
.admin-metric-icon { position:relative; z-index:1; display:grid; width:42px; height:42px; place-items:center; margin-bottom:.45rem; border-radius:14px; background:var(--metric-wash,#f0eaff); font-size:1.2rem; }
.admin-metric-card .admin-metric-label { position:relative; z-index:1; color:#77748c; font-size:.72rem; font-weight:850; letter-spacing:.035em; text-transform:uppercase; }
.admin-metric-card strong { position:relative; z-index:1; color:#25213f; font-size:clamp(1.55rem,2.2vw,2rem); font-weight:900; line-height:1.15; }
.admin-metric-foot { position:relative; z-index:1; color:#9a97ab; font-size:.72rem; font-weight:650; }
.metric-violet { --metric-wash:#f0eaff; }
.metric-pink { --metric-wash:#ffe8f1; }
.metric-blue { --metric-wash:#e7f1ff; }
.metric-mint { --metric-wash:#e0fbef; }
.metric-amber { --metric-wash:#fff3d7; }
.metric-cyan { --metric-wash:#dff9ff; }
.metric-coral { --metric-wash:#ffebe5; }
.metric-indigo { --metric-wash:#e9eaff; }
.admin-tools-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.15rem; }
.admin-tools-heading p { margin:.5rem 0 0; color:#77758c; }
.admin-tools-badge { display:inline-flex; align-items:center; gap:.45rem; padding:.55rem .8rem; border:1px solid #e9e2fb; border-radius:999px; color:#5c37bb; background:#f8f4ff; font-size:.78rem; font-weight:850; white-space:nowrap; }
.admin-tool-grid { --bs-gutter-y:1rem; }
.admin-tool-card { position:relative; min-height:220px!important; gap:.72rem!important; overflow:hidden; padding:1.2rem!important; border:1px solid #e9e7f2!important; border-radius:21px!important; background:linear-gradient(155deg,#fff 0%,#fff 60%,var(--tool-wash,#faf7ff) 100%)!important; box-shadow:0 8px 22px rgba(33,24,72,.045)!important; }
.admin-tool-card:before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--tool-color,#6c39db),color-mix(in srgb,var(--tool-color,#6c39db) 30%,white)); transform:scaleX(.45); transform-origin:left; transition:transform .2s ease; }
.admin-tool-card:after { content:""; position:absolute; right:-40px; bottom:-55px; width:125px; height:125px; border-radius:50%; background:var(--tool-wash,#f5efff); opacity:.75; pointer-events:none; transition:transform .22s ease; }
.admin-tool-card:hover { transform:translateY(-5px)!important; border-color:color-mix(in srgb,var(--tool-color,#6c39db) 35%,#fff)!important; box-shadow:0 18px 38px rgba(33,24,72,.11)!important; }
.admin-tool-card:hover:before { transform:scaleX(1); }
.admin-tool-card:hover:after { transform:scale(1.2); }
.admin-tool-topline { position:relative; z-index:1; display:flex; width:100%; align-items:center; justify-content:space-between; }
.admin-tool-icon { display:grid; width:52px!important; height:52px!important; place-items:center; border:1px solid color-mix(in srgb,var(--tool-color,#6c39db) 12%,white); border-radius:17px!important; color:var(--tool-color,#6c39db); background:linear-gradient(145deg,#fff,var(--tool-wash,#f0eaff))!important; font-size:1.55rem!important; box-shadow:0 7px 16px color-mix(in srgb,var(--tool-color,#6c39db) 10%,transparent); }
.admin-tool-open { display:grid; width:34px; height:34px; place-items:center; border:1px solid #eeebf6; border-radius:12px; color:#7e7897; background:#fff; font-size:1rem; transition:color .18s ease,background .18s ease,transform .18s ease; }
.admin-tool-card:hover .admin-tool-open { color:#fff; background:var(--tool-color,#6c39db); transform:translate(2px,-2px); }
.admin-tool-title { position:relative; z-index:1; color:#292542; font-size:1.04rem!important; font-weight:900!important; letter-spacing:-.025em; }
.admin-tool-description { position:relative; z-index:1; color:#77758c!important; font-size:.85rem!important; line-height:1.55!important; }
.admin-tool-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:.5rem; width:100%; margin-top:auto; padding-top:.65rem; border-top:1px solid color-mix(in srgb,var(--tool-color,#6c39db) 12%,white); color:var(--tool-color,#6c39db); font-size:.79rem; font-weight:850; }
.admin-tool-arrow { display:grid; width:28px; height:28px; place-items:center; margin:0!important; border-radius:10px; color:#fff!important; background:var(--tool-color,#6c39db); font-size:1rem!important; transition:transform .18s ease; }
.admin-tool-card:hover .admin-tool-arrow { transform:translateX(3px); }
.admin-tool-violet { --tool-color:#6738d2; --tool-wash:#f1eaff; }
.admin-tool-pink { --tool-color:#c12c83; --tool-wash:#ffebf5; }
.admin-tool-blue { --tool-color:#2563c9; --tool-wash:#eaf2ff; }
.admin-tool-mint { --tool-color:#138765; --tool-wash:#e4fbf1; }
.admin-tool-amber { --tool-color:#a96a08; --tool-wash:#fff5df; }
.admin-tool-cyan { --tool-color:#087f9c; --tool-wash:#e4faff; }
.admin-tool-coral { --tool-color:#c64c39; --tool-wash:#fff0eb; }
.admin-tool-indigo { --tool-color:#4d50bf; --tool-wash:#eeefff; }
.admin-route .btn,.admin-route button:not(.global-menu-toggle):not(.global-menu-close) { border-radius:12px; font-weight:800; transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; }
.admin-route .btn-primary,.admin-route button.btn-primary { color:#fff; border-color:transparent; background:linear-gradient(120deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0)); box-shadow:0 7px 18px color-mix(in srgb,var(--brand-primary,#5624d0) 20%,transparent); }
.admin-route .btn-primary:hover,.admin-route button.btn-primary:hover { filter:brightness(1.06); transform:translateY(-1px); box-shadow:0 10px 24px color-mix(in srgb,var(--brand-primary,#5624d0) 26%,transparent); }
.admin-route .btn-outline-primary { color:var(--brand-primary,#5624d0); border-color:color-mix(in srgb,var(--brand-primary,#5624d0) 28%,white); background:#fff; }
.admin-route .btn-outline-primary:hover { color:#fff; border-color:transparent; background:linear-gradient(120deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0)); }
.global-menu-admin .global-menu-head { background:linear-gradient(135deg,#f5efff,#fff 65%,#f0f7ff); }
.global-menu-admin .global-menu-brand-mark { border-radius:15px; background:linear-gradient(135deg,#31205f,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0)); }
.global-menu-admin .global-menu-group h2 { color:#7162a1; }
.global-menu-admin .global-menu-link { min-height:48px; border-radius:13px; font-weight:700; }
.global-menu-admin .global-menu-icon { width:35px; height:35px; border-radius:12px; background:linear-gradient(145deg,#f2ecff,#fff); box-shadow:inset 0 0 0 1px rgba(100,57,200,.06); }
.global-menu-admin .global-menu-link:hover { border-color:#e6dcff; background:linear-gradient(100deg,#f5efff,#fff); }
.global-menu-admin .global-menu-link.is-active { border-color:#ded0ff; background:linear-gradient(100deg,#efe7ff,#faf7ff); box-shadow:inset 3px 0 0 var(--brand-primary,#5624d0); }
.global-menu-admin .global-menu-link.is-active .global-menu-icon { color:#fff; background:linear-gradient(135deg,var(--brand-primary,#5624d0),var(--brand-accent,#a435f0)); }
.global-menu-admin .global-menu-foot { background:linear-gradient(90deg,#fbf8ff,#f8fbff); }
.admin-route .global-menu-toggle { border-radius:14px; }
.admin-route .site-navbar { border-bottom-color:#ece7f8; box-shadow:0 5px 20px rgba(36,20,80,.04); }
.admin-route .site-navbar .navbar-brand { font-weight:850; }
@media(max-width:1199.98px) { .admin-hero-art { flex-basis:185px; width:185px; margin-right:0; transform:scale(.9); } .admin-orbit-one { width:165px;height:165px; } .admin-orbit-two { width:125px;height:125px; } }
@media(max-width:767.98px) { .admin-dashboard { padding-inline:.55rem; } .admin-welcome-hero { min-height:0; padding:1.4rem; border-radius:22px; } .admin-welcome-hero h1 { font-size:2rem; } .admin-welcome-hero p { font-size:.92rem; } .admin-hero-art { display:none; } .admin-hero-actions { flex-direction:column; align-items:stretch; } .admin-primary-action,.admin-secondary-action { width:100%; } .admin-summary-heading,.admin-tools-heading { align-items:flex-start; flex-direction:column; } .admin-summary-note { font-size:.78rem; } .admin-metric-card { min-height:148px; padding:.95rem!important; border-radius:17px!important; } .admin-metric-icon { width:36px;height:36px; } .admin-tool-card { min-height:205px!important; padding:1rem!important; border-radius:18px!important; } .admin-tools-badge { align-self:flex-start; } }
@media(prefers-reduced-motion:reduce) { .admin-tool-card,.admin-tool-card:before,.admin-tool-card:after,.admin-metric-card,.admin-primary-action,.admin-secondary-action,.admin-tool-open,.admin-tool-arrow { transition:none!important; } }


/* Site-wide editable footer */
.site-footer{margin-top:4rem;padding:3.25rem 0 1.15rem;background:#17152b;color:#f8f7ff;border-top:4px solid var(--brand-accent,#a435f0)}
.site-footer-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(140px,auto);gap:2.5rem;padding-bottom:2.25rem}
.site-footer-about{max-width:560px}
.site-footer-heading{display:inline-block;color:#fff;font-weight:800;font-size:1.4rem;text-decoration:none;letter-spacing:-.025em;margin-bottom:.65rem}
.site-footer-about p{color:#c7c4d8;line-height:1.75;max-width:560px;white-space:pre-line;margin-bottom:1.1rem}
.site-footer-navigation,.site-footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}
.site-footer-navigation h2,.site-footer-social h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:#b9b2d7;font-weight:800;margin:.35rem 0 .55rem}
.site-footer-navigation a{color:#e4e1f0;text-decoration:none;transition:color .18s ease}
.site-footer-navigation a:hover,.site-footer-contact a:hover{color:#d9aaff}
.site-footer-contact{display:flex;flex-wrap:wrap;gap:.7rem 1.25rem}
.footer-contact-link{display:inline-flex;align-items:center;gap:.45rem;color:#fff;text-decoration:none;font-weight:600}
.footer-contact-link span{color:#d6a5ff}
.site-footer-social-list{display:flex;flex-wrap:wrap;gap:.65rem}
.footer-social-link{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);color:#fff;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.footer-social-link svg{width:21px;height:21px;fill:currentColor}
.footer-social-link:hover{color:#fff;background:var(--brand-primary,#5624d0);border-color:var(--brand-accent,#a435f0);transform:translateY(-3px)}
.site-footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.13);padding-top:1rem;color:#b9b5cc;font-size:.86rem}
.footer-editor-panel{padding:clamp(1rem,3vw,2rem);border:1px solid #e6e4ef;border-radius:22px;box-shadow:0 14px 40px rgba(30,20,70,.06);background:#fff}
.footer-editor-section{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 0 .6rem;border-bottom:1px solid #efedf6;margin-bottom:.8rem}
.footer-editor-section h2{font-size:1.15rem;font-weight:800;margin:0 0 .25rem}
.footer-editor-section p{margin:0;color:#6b687c}
.footer-editor-icon{width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:linear-gradient(135deg,#efe8ff,#fce7f3);display:grid;place-items:center;font-size:1.35rem}
.footer-social-field{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid #eeebf5;border-radius:16px;margin-top:.85rem;background:#fcfbff}
.footer-social-symbol{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;background:#201b39;color:#fff;font-weight:900;font-size:1.2rem;border-radius:13px}
.footer-social-youtube .footer-social-symbol{background:#d92538}
.footer-social-tiktok .footer-social-symbol{background:#111}
.footer-social-instagram .footer-social-symbol{background:linear-gradient(135deg,#7345c4,#d43d85,#f3a34a)}
.footer-social-state{font-size:.75rem;color:#777186;white-space:nowrap}
.footer-editor-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}
.footer-editor-preview{padding:1.4rem;border-radius:18px;background:linear-gradient(120deg,#f5f0ff,#fff2f7)}
.footer-editor-preview h2{font-size:1.2rem;font-weight:800;margin:.4rem 0}
.footer-editor-preview p{margin:0;color:#686176}
@media(max-width:767px){.site-footer-main{grid-template-columns:1fr;gap:1.7rem}.site-footer-about{max-width:none}.site-footer-bottom{font-size:.8rem}.footer-social-field{align-items:flex-start;flex-wrap:wrap}.footer-social-state{margin-left:3.4rem}.footer-editor-actions .btn{width:100%}}

/* Registration page: show only the promotional banner and the account creation card. */
.auth-layout-register-only { grid-template-columns: minmax(0, 680px); justify-content: center; }
.auth-layout-register-only .register-card { width: 100%; }

/* Course ratings, tutor ratings, follows and online status */
.star-display{display:inline-block;font-size:1.05em;line-height:1;letter-spacing:1px}.star-display.is-gold{color:#f4b400}.star-display.is-gray{color:#c8ced8}.star-rating-input{display:flex;align-items:center;gap:.18rem}.star-choice{position:relative;cursor:pointer;font-size:2rem;line-height:1.2;color:#c8ced8}.star-choice input{position:absolute;opacity:0;width:1px;height:1px}.star-choice:has(input:checked),.star-choice:has(input:checked)~.star-choice{color:#c8ced8}.star-rating-input:has(.star-choice:nth-child(1) input:checked) .star-choice:nth-child(-n+1),.star-rating-input:has(.star-choice:nth-child(2) input:checked) .star-choice:nth-child(-n+2),.star-rating-input:has(.star-choice:nth-child(3) input:checked) .star-choice:nth-child(-n+3),.star-rating-input:has(.star-choice:nth-child(4) input:checked) .star-choice:nth-child(-n+4),.star-rating-input:has(.star-choice:nth-child(5) input:checked) .star-choice:nth-child(-n+5){color:#f4b400}.star-choice:focus-within{outline:2px solid var(--brand-primary,#5624d0);outline-offset:2px;border-radius:4px}.course-rating-panel{padding:1.5rem;border:1px solid #e5e9f1;border-radius:18px;background:#fff}.course-rating-panel h2{font-size:1.35rem}.course-star-summary,.tutor-star-summary{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin:.5rem 0 1rem}.tutor-profile-expanded{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:2rem;align-items:start;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid #e5e9f1;border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(24,32,56,.06)}.tutor-profile-expanded .profile-photo{width:100%;max-width:220px;aspect-ratio:1;object-fit:cover;border-radius:20px}.tutor-profile-main h1{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.tutor-online-badge,.tutor-offline-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;vertical-align:middle}.tutor-online-badge{color:#137b42;background:#e5f8ec}.tutor-online-badge i,.tutor-offline-badge i,.tutor-online-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#19b65b}.tutor-offline-badge{color:#6b7280;background:#eef0f4}.tutor-offline-badge i{background:#9ca3af}.tutor-online-dot{margin-left:.25rem;vertical-align:middle;box-shadow:0 0 0 3px rgba(25,182,91,.15)}.tutor-profile-bio{font-size:1.02rem;line-height:1.8;white-space:normal}.tutor-profile-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}.follower-count{color:#475569}.tutor-rating-form{padding:1rem;background:#f8fafc;border-radius:14px}.tutor-profile-rating{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.tutor-profile-page .course-card{height:100%}.tutor-profile-page .course-card-body{height:100%;display:flex;flex-direction:column}.tutor-profile-page .course-card-body .btn{margin-top:auto!important}.tutor-star-summary{font-size:.92rem}.tutor-star-summary .star-display{font-size:.9rem}.admin-route .settings-panel{max-width:900px}@media(max-width:767px){.tutor-profile-expanded{grid-template-columns:1fr;gap:1rem}.tutor-profile-expanded .profile-photo{width:150px;max-width:150px}.tutor-profile-main h1{font-size:1.8rem}.star-choice{font-size:1.8rem}}

.dashboard-notifications{padding:1rem 1.2rem;border:1px solid #e5e9f1;border-radius:18px;background:#fff}.notification-list{display:grid;gap:.7rem}.notification-item{padding:.85rem 1rem;border-radius:12px;background:#f8fafc;border:1px solid #edf0f5}.notification-item p{margin:.25rem 0;color:#475569}.notification-item small{color:#64748b}


/* Payment gateway control centre */
.payment-admin{max-width:1240px}.payment-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.5rem,4vw,2.6rem);border-radius:26px;background:linear-gradient(125deg,#101b35,#233f73 65%,#345fb0);color:#fff;margin-bottom:1.25rem;box-shadow:0 18px 45px rgba(25,48,94,.18)}.payment-admin-hero h1{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;letter-spacing:-.04em;margin:.45rem 0}.payment-admin-hero p{max-width:760px;color:#dce7fb;margin:0;line-height:1.65}.payment-eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:800;color:#b7d0ff}.payment-hero-icon{display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;border:1px solid #ffffff42;border-radius:22px;background:#ffffff14;font-size:2rem}.payment-notice{display:flex;gap:.75rem;align-items:flex-start;padding:1rem 1.2rem;border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;color:#1e3a8a;margin-bottom:1.5rem}.payment-notice strong{white-space:nowrap}.payment-notice span{line-height:1.5}.payment-gateway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.payment-gateway-card{min-width:0;border:1px solid #e2e8f0;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 7px 24px rgba(15,23,42,.045);transition:box-shadow .2s,border-color .2s}.payment-gateway-card:hover{border-color:#c6d5ee;box-shadow:0 14px 35px rgba(15,23,42,.08)}.payment-gateway-top{display:flex;align-items:flex-start;gap:.85rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid #edf1f6}.payment-provider-mark{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:#eaf0ff;color:#234bb0;font-size:1.2rem;font-weight:850}.payment-provider-paystack{background:#e6fbf5;color:#087d60}.payment-provider-flutterwave{background:#fff0e5;color:#d45a16}.payment-provider-stripe{background:#f0eaff;color:#5b36b8}.payment-provider-paypal{background:#eaf4ff;color:#0757a5}.payment-provider-razorpay{background:#e9f0ff;color:#2354c5}.payment-provider-mollie{background:#fff0f4;color:#bd2455}.payment-provider-payu{background:#fff5db;color:#9b6200}.payment-provider-title{min-width:0;flex:1}.payment-provider-title h2{font-size:1.15rem;font-weight:800;margin:.05rem 0 .25rem;color:#17233d}.payment-provider-title p{font-size:.85rem;color:#64748b;line-height:1.45;margin:0}.payment-status{font-size:.72rem;font-weight:800;white-space:nowrap;border-radius:999px;padding:.38rem .62rem;background:#f1f5f9;color:#64748b}.payment-status.is-enabled{background:#dcfce7;color:#166534}.payment-gateway-form{padding:1rem 1.25rem 1.2rem}.payment-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.15rem 0 1rem;border-bottom:1px solid #edf1f6;margin-bottom:1rem}.payment-check{display:flex;align-items:center;gap:.5rem;font-size:.87rem;font-weight:700;color:#334155}.payment-check input{width:17px;height:17px;accent-color:#2457d6}.payment-fields{display:grid;grid-template-columns:1fr;gap:.85rem}.payment-field label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:750;color:#24324a;margin-bottom:.4rem}.payment-field .form-control{min-height:44px;border-radius:11px;border-color:#dbe3ef;background:#fbfcfe}.payment-field .form-control:focus{border-color:#7398f2;box-shadow:0 0 0 3px #2457d61c}.payment-field small{display:block;margin-top:.35rem;color:#64748b;font-size:.77rem;line-height:1.45}.payment-saved{font-size:.67rem;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .45rem;background:#dcfce7;color:#166534}.payment-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #edf1f6;margin-top:1.1rem;padding-top:1rem}.payment-card-footer a{font-size:.82rem;font-weight:700;text-decoration:none;color:#2457d6}.payment-card-footer .btn{border-radius:11px;font-weight:750;white-space:nowrap}.payment-provider-warning{margin:1rem 1.25rem 0;padding:.8rem .9rem;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.82rem;line-height:1.5}.payment-admin-footnote{margin:1.25rem 0 0;color:#64748b;font-size:.83rem;line-height:1.6}
@media(max-width:900px){.payment-gateway-grid{grid-template-columns:1fr}.payment-admin-hero{padding:1.4rem}.payment-hero-icon{width:56px;height:56px;flex-basis:56px;border-radius:17px}}
@media(max-width:520px){.payment-gateway-top{flex-wrap:wrap}.payment-status{margin-left:auto}.payment-card-footer{align-items:stretch;flex-direction:column}.payment-card-footer .btn{text-align:center}.payment-admin-hero{align-items:flex-start}.payment-hero-icon{display:none}.payment-notice{flex-direction:column;gap:.3rem}}


/* Homepage visual refinements: natural banner photos, editable red typewriter headline and real student portraits. */
.marketplace-banner-shade,
.registration-banner-shade,
.dashboard-promo-banner .marketplace-banner-shade{display:none!important;background:none!important;opacity:0!important}
.marketplace-banner .carousel-item,
.registration-banner-carousel .carousel-item{background:transparent!important}
.hero-pill{display:none!important}
.hero-copy h1.hero-typewriter{color:#d71920!important;font-size:clamp(2.3rem,4.6vw,4rem);font-weight:850;line-height:1.08;max-width:760px;min-height:2.16em;margin:0 0 19px;overflow-wrap:anywhere}
.hero-typewriter-text{display:inline}
.typewriter-caret{display:inline-block;width:.09em;height:.92em;background:#d71920;margin-left:.08em;vertical-align:-.08em;animation:typewriterCaretBlink .8s steps(2,start) infinite}
.hero-typewriter.is-fading .hero-typewriter-text{opacity:0;transition:opacity .28s ease}
.proof-avatars{display:flex;align-items:center;padding-left:4px}
.proof-avatars img{position:relative;width:36px;height:36px;flex:0 0 36px;margin-left:-6px;border:3px solid #f7f9fa;border-radius:50%;object-fit:cover;display:block;animation:studentAvatarBlink 2.8s ease-in-out infinite;box-shadow:0 1px 4px rgba(15,23,42,.12)}
.proof-avatars img:nth-child(1){animation-delay:0s;z-index:4}
.proof-avatars img:nth-child(2){animation-delay:.7s;z-index:3}
.proof-avatars img:nth-child(3){animation-delay:1.4s;z-index:2}
.proof-avatars img:nth-child(4){animation-delay:2.1s;z-index:1}
.proof-avatars .proof-plus{position:relative;z-index:5;width:28px;height:28px;flex:0 0 28px;margin-left:-5px;border:3px solid #f7f9fa;border-radius:50%;display:grid;place-items:center;background:#27365e;color:white;font-size:.72rem;font-weight:850}
@keyframes studentAvatarBlink{0%,100%{opacity:.72;transform:scale(.94)}18%,42%{opacity:1;transform:scale(1.09);box-shadow:0 0 0 3px rgba(215,25,32,.13)}55%{opacity:.82;transform:scale(1)}}
@keyframes typewriterCaretBlink{to{visibility:hidden}}
@media(max-width:600px){.hero-copy h1.hero-typewriter{font-size:2.35rem;min-height:2.2em;margin-top:0}}
@media(prefers-reduced-motion:reduce){.proof-avatars img,.typewriter-caret{animation:none!important}.hero-typewriter.is-fading .hero-typewriter-text{transition:none}}

/* Tutor application: admin-managed rotating banner and dynamic school-level expertise rows */
.tutor-application-banner{position:relative;overflow:hidden;border-radius:24px;margin:0 0 2rem;box-shadow:0 14px 38px rgba(24,32,56,.10);background:#f4f6fa}
.tutor-application-banner .carousel-item{height:clamp(210px,32vw,390px);position:relative}
.tutor-application-banner-image{width:100%;height:100%;object-fit:cover;display:block}
.tutor-application-banner-caption{position:absolute;left:clamp(18px,4vw,48px);bottom:clamp(18px,4vw,42px);max-width:min(620px,80%);padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.88);color:#18213a;backdrop-filter:blur(8px)}
.tutor-application-banner-caption span{font-size:clamp(1.15rem,2.6vw,2rem);font-weight:800;line-height:1.2}
.tutor-application-banner-caption p{margin:.4rem 0 0;color:#374151}
.tutor-application-page .application-form-wrap{max-width:1000px;margin:0 auto}
.tutor-expertise-row{padding:1rem;border:1px solid #e3e7ef;border-radius:14px;background:#fbfcff}
.expertise-other[hidden]{display:none!important}
@media(max-width:575.98px){.tutor-application-banner{border-radius:16px}.tutor-application-banner .carousel-item{height:210px}.tutor-application-banner-caption{max-width:88%;padding:10px 12px;left:12px;bottom:12px}}


/* Notification centre and responsive tutor review */
.notification-bell-link{position:relative;display:inline-flex!important;align-items:center;gap:.4rem;white-space:nowrap}
.notification-bell-icon{font-size:1.15rem;line-height:1}
.notification-bell-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .28rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.72rem;font-weight:800;line-height:1}
.notification-bell-link.has-unread .notification-bell-icon{animation:notificationBellPulse 1.25s ease-in-out infinite}
.notification-bell-link.has-unread .notification-bell-pulse{position:absolute;right:.15rem;top:.22rem;width:.45rem;height:.45rem;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.55);animation:notificationDotPulse 1.4s infinite}
@keyframes notificationBellPulse{0%,100%{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}
@keyframes notificationDotPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}70%{box-shadow:0 0 0 7px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.notification-page{max-width:1000px}.notification-page-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.notification-page-heading h1{width:100%;margin-bottom:0}.notification-count-pill{display:inline-flex;vertical-align:middle;background:#fff1f2;color:#be123c;border-radius:999px;padding:.25rem .65rem;font-size:.8rem}
.notification-page-list,.admin-application-list{display:grid;gap:1rem}.notification-page-item{display:flex;align-items:flex-start;gap:.8rem;padding:1.15rem;border:1px solid #e4e7ec;border-radius:1rem;background:#fff;min-width:0}.notification-page-item.is-unread{border-color:#b9c8ff;background:#f8faff}.notification-item-status{width:.65rem;height:.65rem;flex:0 0 .65rem;border-radius:50%;background:#cbd5e1;margin-top:.5rem}.is-unread .notification-item-status{background:#e11d48;box-shadow:0 0 0 4px #ffe4e6}.notification-page-copy{flex:1;min-width:0;overflow-wrap:anywhere}.notification-page-copy h2{font-size:1rem;font-weight:750;margin:0 0 .35rem}.notification-page-copy p{margin:0 0 .5rem;white-space:normal}.notification-page-copy time{font-size:.78rem;color:#64748b}.notification-read-label{font-size:.8rem;color:#64748b;white-space:nowrap}.notification-empty{text-align:center;padding:3rem 1rem;border:1px dashed #cbd5e1;border-radius:1rem;background:#fff}.notification-empty>span{font-size:2rem;color:#64748b}.notification-empty h2{font-size:1.15rem}
.admin-tutor-review{max-width:1100px}.admin-application-card{min-width:0;overflow:hidden;border:1px solid #e3e8f0;border-radius:1.1rem;background:#fff;padding:clamp(1rem,2.5vw,1.5rem);box-shadow:0 6px 24px rgba(20,30,60,.045)}.admin-application-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0}.admin-application-top h2{font-size:1.15rem;font-weight:800;margin:0 0 .3rem;overflow-wrap:anywhere}.admin-app-email{overflow-wrap:anywhere;word-break:break-word}.admin-app-status{display:inline-flex;flex-shrink:0;padding:.35rem .65rem;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.78rem;font-weight:800}.admin-app-status.status-approved{background:#dcfce7;color:#166534}.admin-app-status.status-pending{background:#fef3c7;color:#92400e}.admin-app-status.status-rejected{background:#fee2e2;color:#991b1b}.admin-app-status.status-suspended{background:#e2e8f0;color:#334155}.admin-application-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.admin-application-details>div{min-width:0;background:#f8fafc;border-radius:.75rem;padding:.8rem}.admin-application-details span{display:block;font-size:.76rem;color:#64748b;margin-bottom:.3rem}.admin-application-details strong{display:block;overflow-wrap:anywhere}.admin-application-message{grid-column:1/-1}.admin-application-message p{margin:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.admin-application-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid #eef2f7}.admin-application-action-form{margin:0}.admin-app-no-document{font-size:.85rem;color:#64748b;margin-right:auto}
@media(max-width:767.98px){.notification-bell-label{display:none}.notification-bell-link{padding:.5rem!important}.notification-page-item{padding:.85rem;gap:.6rem}.notification-page-item>form{align-self:flex-start}.admin-application-top{flex-direction:column;gap:.65rem}.admin-application-details{grid-template-columns:minmax(0,1fr);gap:.55rem;margin-top:1rem}.admin-application-details>div{padding:.7rem}.admin-application-actions{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.admin-application-actions>a,.admin-application-action-form,.admin-application-action-form button{width:100%}.admin-app-no-document{margin:0}.admin-application-card{border-radius:.85rem;padding:1rem}.notification-page-heading{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.notification-bell-link.has-unread .notification-bell-icon,.notification-bell-link.has-unread .notification-bell-pulse{animation:none}}

/* Personalized learning recommendations and filters */
.recommendation-section{background:linear-gradient(180deg,#fbfaff 0%,#fff 100%);border-top:1px solid #f0edfb}
.recommendation-card{height:100%;transition:transform .2s ease,box-shadow .2s ease}
.recommendation-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(31,38,79,.09)}
.learning-filter{background:#fff;border:1px solid #e7e9f3;border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(31,38,79,.04)}
.learning-filter .form-label{font-weight:700;color:#34405b}
@media(max-width:767.98px){.home-hero-grid{gap:16px}.hero-copy{padding:12px 0 22px}.hero-copy h1{margin-bottom:16px}.hero-search{margin-top:0;flex-wrap:wrap}.hero-search input{min-width:0}.learning-filter{padding:12px}}

.subject-suggestions{padding:18px 20px;border:1px solid #e8eaf4;border-radius:18px;background:#fff}
.subject-suggestions h2{font-size:1.1rem;font-weight:800;margin:0 0 12px;color:#192544}
.subject-suggestion-list{display:flex;flex-wrap:wrap;gap:9px}
.subject-suggestion-chip{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:9px 13px;border:1px solid #e2def8;border-radius:999px;background:#faf9ff;color:#43339a;text-decoration:none;font-weight:650}
.subject-suggestion-chip:hover{background:#eeeaff;color:#2d217e}


/* Notification bell dropdown: read, select and delete notifications without a separate page. */
.notification-dropdown{position:relative;display:inline-flex;align-items:center;z-index:1055}
.notification-dropdown>summary{list-style:none;cursor:pointer;user-select:none}
.notification-dropdown>summary::-webkit-details-marker{display:none}
.notification-dropdown-panel{position:absolute;right:0;top:calc(100% + .65rem);width:min(440px,calc(100vw - 1.5rem));max-height:min(76vh,680px);display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 48px rgba(15,23,42,.2);overflow:hidden;color:#172033}
.notification-dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #e8edf4;background:#fbfcff}
.notification-dropdown-head>div{display:grid;gap:.15rem}.notification-dropdown-head strong{font-size:1rem}.notification-dropdown-head small{color:#64748b;font-size:.78rem}
.notification-dropdown-close{border:0;background:transparent;font-size:1.5rem;line-height:1;color:#64748b;padding:.15rem .35rem}
.notification-dropdown-form{display:flex;flex-direction:column;min-height:0}
.notification-dropdown-tools,.notification-dropdown-foot{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.65rem .85rem;background:#fff}
.notification-dropdown-tools{border-bottom:1px solid #eef2f7}.notification-dropdown-tools label{display:flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:650}.notification-dropdown-tools input,.notification-select-box input{accent-color:var(--brand-primary,#5624d0)}
.notification-dropdown-list{overflow-y:auto;overscroll-behavior:contain;min-height:0}
.notification-dropdown-item{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem;border-bottom:1px solid #edf1f6;min-width:0}
.notification-dropdown-item.is-unread{background:#f7f9ff}.notification-select-box{padding-top:.2rem;flex:0 0 auto}.notification-dropdown-copy{min-width:0;flex:1;overflow-wrap:anywhere}.notification-dropdown-copy>strong{display:block;font-size:.88rem;line-height:1.35}.notification-dropdown-copy p{font-size:.82rem;line-height:1.45;color:#475569;margin:.3rem 0}.notification-dropdown-copy time{font-size:.72rem;color:#8490a2}.notification-dropdown-actions{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.notification-dropdown-actions .btn{padding:.1rem .25rem;text-decoration:none;font-size:.77rem}.notification-dropdown-foot{border-top:1px solid #e8edf4;justify-content:flex-end}.notification-dropdown-empty{text-align:center;padding:1.6rem 1rem;color:#64748b}.notification-dropdown-empty>span{font-size:1.4rem}.notification-dropdown-empty p{margin:.35rem 0 0;font-size:.88rem}
@media(max-width:575.98px){.notification-dropdown-panel{position:fixed;top:4.25rem;right:.65rem;width:calc(100vw - 1.3rem);max-height:calc(100dvh - 5rem)}.notification-dropdown-tools,.notification-dropdown-foot{flex-wrap:wrap}.notification-dropdown-tools .btn,.notification-dropdown-foot .btn{flex:1}.notification-dropdown-item{padding:.75rem .65rem}}
@media(prefers-reduced-motion:reduce){.notification-bell-link.has-unread .notification-bell-icon,.notification-bell-link.has-unread .notification-bell-pulse{animation:none}}

/* Protected course viewing: deterrence and in-platform reading, not a guarantee against device capture. */
.tutor-course-post-action{display:flex;flex-direction:column;gap:.4rem;border:1px solid #b9a7ff;background:linear-gradient(135deg,#f5f1ff,#fff);color:#38206e!important;padding:1.1rem 1.2rem;min-height:110px}
.tutor-course-post-action strong{font-size:1.08rem;color:#5b35bd}.tutor-course-post-action span{font-size:.9rem;line-height:1.45;color:#51476a}
.protected-course-frame{isolation:isolate}.course-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#080b12}
.protected-pdf-wrap{position:relative;width:100%;height:min(78vh,900px);min-height:480px;background:#f4f5f7;border:1px solid #dfe3e8;border-radius:12px;overflow:hidden}
.protected-pdf-wrap iframe{width:100%;height:100%;border:0;background:#fff}.course-watermark{position:absolute;z-index:3;left:0;right:0;top:42%;text-align:center;pointer-events:none;user-select:none;-webkit-user-select:none;color:rgba(60,65,80,.32);font-size:clamp(.75rem,2vw,1.2rem);font-weight:800;letter-spacing:.04em;text-shadow:0 1px 2px rgba(255,255,255,.5);transform:rotate(-18deg);padding:.5rem;overflow-wrap:anywhere}.course-content-panel{-webkit-user-select:none;user-select:none}.course-content-panel input,.course-content-panel textarea,.course-content-panel button{user-select:auto;-webkit-user-select:auto}
@media print{.course-detail .course-content-panel,.protected-pdf-wrap,.course-video-frame{display:none!important}}


/* Global notification header: visible across authenticated platform sections */
.global-notification-bar{position:sticky;top:0;z-index:1040;background:rgba(255,255,255,.97);border-bottom:1px solid #e6e8ef;box-shadow:0 4px 18px rgba(24,24,40,.07);backdrop-filter:blur(14px)}
.global-notification-inner{max-width:1440px;min-height:58px;margin:0 auto;padding:7px clamp(14px,3vw,36px);display:flex;align-items:center;justify-content:flex-end;gap:14px}
.global-notification-caption{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#687087}
.global-notification-bar .notification-dropdown{position:relative}
.global-notification-bar .notification-bell-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 15px!important;border:1px solid #e2d8ff;border-radius:14px;background:#f8f5ff;color:#4520a5!important;font-weight:800;text-decoration:none;position:relative}
.global-notification-bar .notification-bell-icon{font-size:1.35rem;line-height:1}
.global-notification-bar .notification-bell-count{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#e11d48;color:#fff;font-size:.7rem;font-weight:900;border:2px solid #fff}
.global-notification-bar .notification-bell-pulse{position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:#ff1744;box-shadow:0 0 0 0 rgba(255,23,68,.7);animation:global-notification-pulse 1.05s infinite}
.global-notification-bar .notification-bell-link.has-unread{animation:global-notification-shake 1.2s ease-in-out infinite}
.global-notification-bar .notification-dropdown-panel{right:0;left:auto;top:calc(100% + 12px);z-index:1050}
.global-notification-bar .notification-dropdown[open] .notification-dropdown-panel{display:block}
.global-notification-bar .notification-dropdown.has-live-notification .notification-bell-link{outline:3px solid rgba(225,29,72,.2)}
.live-notification-toast{position:fixed;right:20px;top:86px;z-index:2000;display:flex;flex-direction:column;gap:5px;width:min(390px,calc(100vw - 28px));padding:16px 18px;border-radius:16px;background:#24134f;color:#fff;box-shadow:0 18px 50px rgba(20,10,50,.3);border-left:5px solid #ff3158;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.live-notification-toast.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.live-notification-toast strong{font-size:1rem}.live-notification-toast span{font-size:.9rem;line-height:1.45;color:#eee8ff}.live-notification-toast-link{display:inline-flex;align-self:flex-start;margin-top:5px;color:#fff!important;font-weight:700;text-decoration:underline}.notification-visit-link{margin:.45rem 0!important}.admin-application-reject-form{flex:1 1 240px;min-width:220px}
@keyframes global-notification-pulse{0%{box-shadow:0 0 0 0 rgba(255,23,68,.7)}70%{box-shadow:0 0 0 9px rgba(255,23,68,0)}100%{box-shadow:0 0 0 0 rgba(255,23,68,0)}}
@keyframes global-notification-shake{0%,84%,100%{transform:translateX(0)}87%{transform:translateX(-2px)}90%{transform:translateX(2px)}93%{transform:translateX(-2px)}96%{transform:translateX(2px)}}
@media(max-width:575.98px){.global-notification-inner{min-height:52px;justify-content:space-between}.global-notification-caption{font-size:.68rem}.global-notification-bar .notification-bell-label{font-size:.85rem}.global-notification-bar .notification-bell-link{padding:7px 11px!important}.live-notification-toast{right:12px;top:72px}}
@media(prefers-reduced-motion:reduce){.global-notification-bar .notification-bell-link.has-unread,.global-notification-bar .notification-bell-pulse{animation:none}.live-notification-toast{transition:none}}


/* Tutor-created course content: preserve uploaded thumbnail proportions and keep lesson text readable. */
.course-card-thumbnail,.course-detail-thumbnail,.course-thumbnail-preview{max-width:100%;height:auto;object-fit:contain}
.course-written-content{position:relative;overflow:hidden;border:1px solid var(--border-color,#dbe3ee);border-radius:1rem;padding:1.5rem;background:var(--surface,#fff)}
.course-written-content-body{white-space:normal;overflow-wrap:anywhere;line-height:1.85;font-size:1rem}
.course-written-content .course-watermark{position:sticky;bottom:0;pointer-events:none;text-align:right;opacity:.55;font-size:.75rem;background:linear-gradient(transparent,rgba(255,255,255,.8));padding-top:.5rem}
.course-written-editor{min-height:18rem;line-height:1.7}


/* Featured tutor carousel and verified tutor badges */
.featured-tutors-carousel{position:relative;padding:0 3.25rem}
.featured-tutors-carousel .carousel-item{padding:1rem .25rem 1.5rem}
.featured-tutor-slide{max-width:460px;margin:0 auto}
.featured-tutors-carousel .carousel-control-prev,.featured-tutors-carousel .carousel-control-next{width:2.75rem;height:2.75rem;top:45%;bottom:auto;border-radius:50%;background:var(--bs-primary,#5624d0);opacity:.92}
.featured-tutors-carousel .carousel-control-prev{left:0}
.featured-tutors-carousel .carousel-control-next{right:0}
.tutor-verified-badge{display:inline-block;width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-left:.25rem}
.verified-badge{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;background:#198754;color:#fff;font-size:.9rem;font-weight:800;vertical-align:middle;margin-left:.25rem;box-shadow:0 0 0 2px rgba(25,135,84,.14)}
.tutor-professions{margin:.9rem 0;line-height:1.65}
.tutor-expertise-more{display:inline-block;margin-left:.5rem}
.tutor-expertise-more summary{color:var(--bs-primary,#5624d0);font-weight:700;cursor:pointer}
.tutor-expertise-more p{margin-top:.5rem}
@media(max-width:575.98px){.featured-tutors-carousel{padding:0 2.25rem}.featured-tutors-carousel .carousel-control-prev,.featured-tutors-carousel .carousel-control-next{width:2rem;height:2rem}.tutor-verified-badge{width:21px;height:21px}}



/* Course thumbnail visibility fix: keep uploaded artwork prominent on home, browse, tutor, and course pages. */
.course-card-media{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:160px;
  max-height:340px;
  overflow:hidden;
  padding:0.65rem;
  background:var(--surface-muted,#f5f7fb);
  border-bottom:1px solid var(--border-color,#e2e8f0);
}
.course-card-media .course-card-thumbnail{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 1 auto;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:320px!important;
  object-fit:contain!important;
  object-position:center;
}
.course-detail-thumbnail-wrap{
  display:flex;
  justify-content:center;
  width:100%;
  margin-bottom:1rem;
}
.course-detail-thumbnail-wrap .course-detail-thumbnail{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.course-thumbnail-preview{
  display:block;
  visibility:visible;
  opacity:1;
  object-fit:contain;
}


/* Homepage refinement: compact hero and visible course cards */
.home-hero-grid-simple{grid-template-columns:minmax(0,1fr)!important;max-width:100%!important}
.home-hero-grid-simple .hero-copy{max-width:820px;margin-inline:auto;width:100%}
.home-hero-grid-simple .hero-search{max-width:760px}
.home-recommendations{padding-top:clamp(28px,4vw,52px)}
.home-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-course-card{min-width:0;height:100%;overflow:hidden;border-radius:16px;box-shadow:0 8px 24px rgba(20,28,55,.07)}
.home-course-media{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f1f4f9}
.home-course-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.home-course-placeholder{background:linear-gradient(135deg,#eef2ff,#e9fbf3);color:#626ed1;font-size:34px}
.home-course-card .course-card-body{padding:14px}
.home-course-card .course-card-body h3{font-size:1rem;line-height:1.35;margin:.4rem 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.home-course-card .course-card-body>p{font-size:.86rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;margin-bottom:12px}
.home-course-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 12px;min-width:0}
.home-course-tutor{display:flex;align-items:center;gap:6px;min-width:0;font-size:.78rem;font-weight:600}
.home-course-tutor>span:not(.home-course-verified-fallback){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}
.home-course-tutor>img,.home-course-tutor>span:first-child{width:27px;height:27px;min-width:27px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#e8ecf7;color:#334155;font-size:.8rem}
.home-course-verified{width:17px;height:17px;object-fit:contain;flex:0 0 17px}
.home-course-verified-fallback{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#16a34a;color:#fff;font-size:11px;font-weight:800;flex:0 0 17px}
.home-course-rating{font-size:.78rem;font-weight:700;color:#b7791f;white-space:nowrap}
.home-course-rating small{font-size:.72rem;color:#64748b;font-weight:500}
.home-course-unrated{color:#64748b;font-weight:500}
.home-course-card .course-card-footer{margin-top:4px;font-size:.9rem}
.home-course-more{margin-top:28px}
.home-course-more-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.home-course-more-heading h3{font-size:1.15rem;margin:0}
.home-course-more-heading>span{font-size:.82rem;color:#64748b}
.home-more-courses-carousel{padding:0 48px}
.home-more-course-slide{max-width:360px;margin:0 auto}
.home-more-courses-carousel .carousel-control-prev,.home-more-courses-carousel .carousel-control-next{width:40px;background:#24324b;border-radius:50%;height:40px;top:45%;opacity:.9}
.home-more-courses-carousel .carousel-control-prev{left:0}
.home-more-courses-carousel .carousel-control-next{right:0}
.home-more-courses-carousel .carousel-control-prev-icon,.home-more-courses-carousel .carousel-control-next-icon{width:16px;height:16px}
@media(max-width:991.98px){.home-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.home-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-course-card .course-card-body{padding:10px}.home-course-card .course-card-body h3{font-size:.9rem}.home-course-tutor{gap:4px;font-size:.7rem}.home-course-tutor>span:not(.home-course-verified-fallback){max-width:65px}.home-course-rating{font-size:.7rem}.home-course-rating small{display:none}.home-course-meta{align-items:flex-start;flex-direction:column}.home-course-card .btn{font-size:.85rem;padding:.5rem}.home-course-more-heading{align-items:flex-start;flex-direction:column}.home-more-courses-carousel{padding:0 38px}}


/* Refined notification messages: clear hierarchy, compact controls and immediate read feedback. */
.notification-dropdown-panel{width:min(470px,calc(100vw - 1.25rem));border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.22);background:#fff}
.notification-dropdown-head{padding:1rem 1.1rem;background:linear-gradient(135deg,#f8f7ff,#fff);border-bottom:1px solid #ececf4}
.notification-dropdown-head strong{font-size:1.05rem;letter-spacing:-.02em;color:#17152b}
.notification-dropdown-head small{font-size:.78rem;color:#77758a}
.notification-dropdown-close{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f1f2f7;color:#44415a;font-size:1.45rem;transition:background .15s ease}
.notification-dropdown-close:hover{background:#e5e7ef;color:#111827}
.notification-dropdown-tools{padding:.7rem .9rem;background:#fbfbfe}
.notification-dropdown-list{padding:.35rem .45rem;display:grid;gap:.35rem}
.notification-dropdown-item{position:relative;display:flex;gap:.6rem;padding:.85rem .7rem;border:1px solid transparent;border-radius:13px;background:#fff;transition:background .15s ease,border-color .15s ease,opacity .15s ease}
.notification-dropdown-item:hover{background:#faf9ff;border-color:#efedfb}
.notification-dropdown-item.is-unread{background:#f5f3ff;border-color:#e5ddff;border-left:4px solid #6844d6;padding-left:calc(.7rem - 3px)}
.notification-dropdown-copy>strong{font-size:.9rem;color:#201d36;letter-spacing:-.01em}
.notification-dropdown-copy p{font-size:.83rem;line-height:1.5;color:#55556b;margin:.35rem 0}
.notification-dropdown-copy time{display:inline-block;margin-top:.15rem;color:#85859a;font-size:.72rem}
.notification-dropdown-actions{gap:.65rem;margin-top:.55rem}
.notification-dropdown-actions .btn{border-radius:8px;font-weight:650}
.notification-dropdown-actions .btn-link{color:#6250b5!important}
.notification-dropdown-actions .text-danger{color:#b42335!important}
.notification-read-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:#8b8da0;font-weight:650}
.notification-dropdown-item:not(.is-unread) .notification-dropdown-copy>strong{color:#55566a}
.notification-visit-link .btn{border-radius:9px;padding:.35rem .65rem;font-weight:700}
.notification-dropdown-foot{padding:.8rem .9rem;background:#fbfbfe}
.notification-dropdown-empty{padding:2rem 1rem}
.notification-dropdown-empty>span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto .7rem;border-radius:15px;background:#f0edff;color:#6844d6;font-size:1.5rem}
.notification-dropdown-empty p{font-size:.9rem;color:#68677c}
@media(max-width:575.98px){.notification-dropdown-panel{border-radius:17px}.notification-dropdown-list{padding:.3rem}.notification-dropdown-item{padding:.75rem .55rem}.notification-dropdown-item.is-unread{padding-left:calc(.55rem - 3px)}}

/* Tutor profile credentials and follower directory */
.tutor-credentials-preview{margin:.85rem 0 .35rem;color:#475569}.tutor-credentials-details{margin:.5rem 0 1rem;border:1px solid #e5e9f1;border-radius:12px;padding:.75rem 1rem;background:#fbfcfe}.tutor-credentials-details>summary{cursor:pointer;color:var(--brand-primary,#5624d0);font-weight:700}.tutor-credentials-content{padding:.8rem .15rem .1rem;line-height:1.65}.tutor-credentials-content p{margin:.35rem 0}.tutor-followers-details{position:relative}.tutor-followers-details>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;padding:.55rem .8rem;border:1px solid #dbe2ec;border-radius:999px;background:#f8fafc;font-weight:700}.tutor-followers-details>summary::-webkit-details-marker{display:none}.tutor-followers-popover{position:absolute;z-index:30;top:calc(100% + .5rem);left:0;width:min(340px,85vw);max-height:360px;overflow:auto;padding:1rem;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.16)}.tutor-followers-list{display:grid;gap:.65rem;margin-top:.8rem}.tutor-follower-row{display:flex;align-items:center;gap:.7rem;min-width:0;padding:.25rem 0;color:#334155}.tutor-follower-row img,.tutor-follower-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:cover;background:#edf2f7}.tutor-follower-avatar{display:grid;place-items:center;font-weight:700}.tutor-follower-row>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* =========================================================
   Global Tutor Marketplace — Udemy-inspired visual refresh
   All brand accents inherit Super Admin theme settings.
   ========================================================= */
:root{
  --gmt-primary:var(--brand-primary,#5624d0);
  --gmt-accent:var(--brand-accent,#a435f0);
  --gmt-ink:#1c1d1f;
  --gmt-muted:#6a6f73;
  --gmt-line:#d1d7dc;
  --gmt-surface:#f7f9fa;
  --gmt-shadow:0 10px 30px rgba(28,29,31,.09);
}
.btn-primary,.btn-primary:focus{background-color:var(--gmt-primary)!important;border-color:var(--gmt-primary)!important}
.btn-primary:hover{background-color:var(--blue-dark,var(--gmt-primary))!important;filter:brightness(.92)}
a,.text-link,.section-eyebrow{--link-color:var(--gmt-primary)}
.text-link,.footer a:hover{color:var(--gmt-primary)!important}
.homepage-route{background:#fff;color:var(--gmt-ink)}
.homepage-route .app-main{overflow:hidden}
.homepage-route .home-hero{
 position:relative;isolation:isolate;overflow:hidden;
 background:linear-gradient(112deg,#f7f8fa 0%,#fff 54%,#f5f3ff 100%);
 padding:64px 0 0;border-bottom:1px solid #e4e8eb
}
.homepage-route .home-hero:before{
 content:"";position:absolute;z-index:-1;width:560px;height:560px;right:-170px;top:-290px;
 border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--gmt-accent) 17%,transparent),transparent 68%)
}
.homepage-route .home-hero:after{
 content:"";position:absolute;z-index:-1;width:480px;height:480px;left:-250px;bottom:-310px;
 border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gmt-primary) 12%,transparent),transparent 70%)
}
.homepage-route .home-hero-grid{display:block;max-width:850px;margin:0 auto}
.homepage-route .hero-copy{padding:12px 0 34px;text-align:center}
.homepage-route .hero-typewriter{
 max-width:850px;margin:0 auto 28px;color:var(--gmt-ink);
 font-size:clamp(2.35rem,5.4vw,4.15rem);font-weight:850;letter-spacing:-.055em;line-height:1.06
}
.homepage-route .hero-search{
 max-width:760px;margin:0 auto;padding:8px;display:flex;align-items:center;gap:10px;
 border:1px solid #9aa3a9;border-radius:5px;background:#fff;
 box-shadow:0 4px 18px rgba(28,29,31,.08)
}
.homepage-route .hero-search .search-symbol{font-size:25px;color:#6a6f73;padding:0 8px}
.homepage-route .hero-search input{min-width:0;flex:1;border:0!important;box-shadow:none!important;padding:12px 5px;font-size:1rem}
.homepage-route .hero-search .btn{border-radius:4px;padding:13px 22px;font-weight:750;white-space:nowrap}
.homepage-route .hero-proof{justify-content:center;margin-top:25px}
.homepage-route .hero-proof strong{font-size:.96rem;color:var(--gmt-ink)}
.homepage-route .hero-proof small{color:var(--gmt-muted)}
.homepage-route .hero-stats{
 position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 gap:0;margin-top:24px;padding:22px 0 25px;border-top:1px solid #e1e5e8
}
.homepage-route .hero-stat{padding:4px 18px;border-right:1px solid #e1e5e8}
.homepage-route .hero-stat:last-child{border-right:0}
.homepage-route .hero-stat strong{display:block;color:var(--gmt-ink);font-size:1.55rem;font-weight:850;line-height:1.2}
.homepage-route .hero-stat span{display:block;color:var(--gmt-muted);font-size:.86rem;margin-top:5px}
.homepage-route .hero-stat.stat-note strong{font-size:1rem;color:var(--gmt-primary)}
.homepage-route .marketplace-banner{margin-top:28px;margin-bottom:12px}
.homepage-route .marketplace-banner .carousel{border-radius:8px;overflow:hidden;box-shadow:var(--gmt-shadow)}
.homepage-route .marketplace-banner-image{max-height:390px;object-fit:cover}
.homepage-route .marketplace-banner-copy{max-width:590px}
.homepage-route .section-pad{padding-top:54px;padding-bottom:54px}
.homepage-route .section-heading{align-items:end;margin-bottom:24px}
.homepage-route .section-heading h2{font-size:clamp(1.65rem,3vw,2.25rem);letter-spacing:-.035em;color:var(--gmt-ink);font-weight:850}
.homepage-route .section-heading p{font-size:.96rem;color:var(--gmt-muted)}
.homepage-route .section-eyebrow{color:var(--gmt-primary);font-weight:850;letter-spacing:.13em}
.homepage-route .home-recommendations{background:#fff}
.homepage-route .home-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.homepage-route .home-course-card{
 border:1px solid #d1d7dc;border-radius:6px;background:#fff;box-shadow:none;
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.homepage-route .home-course-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(28,29,31,.12);border-color:#9aa3a9}
.homepage-route .home-course-media{aspect-ratio:16/9;background:#f0f2f4}
.homepage-route .home-course-media img{object-fit:cover}
.homepage-route .home-course-card .course-card-body{padding:15px}
.homepage-route .home-course-card .course-card-body h3{font-size:1rem;font-weight:800;line-height:1.35;color:var(--gmt-ink)}
.homepage-route .home-course-card .course-card-body>p{color:var(--gmt-muted);font-size:.84rem}
.homepage-route .home-course-card .course-subject{color:var(--gmt-primary);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.homepage-route .home-course-card .course-card-footer strong{font-size:1.05rem;color:var(--gmt-ink)}
.homepage-route .home-course-card .btn{border-radius:4px;font-weight:800}
.homepage-route .home-course-more{margin-top:30px;padding:22px;border:1px solid #d1d7dc;border-radius:7px;background:#f7f9fa}
.homepage-route .home-course-more-heading h3{font-size:1.15rem;font-weight:850}
.homepage-route .category-section{background:#f7f9fa}
.homepage-route .category-tile{border-radius:6px;border-color:#d1d7dc;box-shadow:none}
.homepage-route .category-tile:hover{border-color:var(--gmt-primary);box-shadow:0 8px 20px rgba(28,29,31,.08);transform:translateY(-2px)}
.homepage-route .category-symbol{color:var(--gmt-primary)}
.homepage-route .featured-tutors-carousel .carousel-control-prev,
.homepage-route .featured-tutors-carousel .carousel-control-next{width:5%;filter:invert(.65)}
.homepage-route .tutor-card{border:1px solid #d1d7dc;border-radius:7px;box-shadow:0 4px 16px rgba(28,29,31,.05)}
.homepage-route .how-section{background:#fff}
.homepage-route .step-card{border:1px solid #d1d7dc;border-radius:7px;box-shadow:none}
.homepage-route .final-cta{background:linear-gradient(115deg,var(--gmt-primary),var(--gmt-accent));}
.homepage-route .final-cta .section-eyebrow{color:rgba(255,255,255,.8)}
.homepage-route .site-footer{border-top:1px solid #e4e8eb}
@media(max-width:767.98px){
 .homepage-route .home-hero{padding-top:38px}
 .homepage-route .hero-copy{padding-bottom:22px}
 .homepage-route .hero-typewriter{font-size:clamp(2rem,9vw,3rem)}
 .homepage-route .hero-search{gap:4px;padding:5px}
 .homepage-route .hero-search .btn{padding:11px 12px;font-size:.85rem}
 .homepage-route .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 0}
 .homepage-route .hero-stat{padding:12px;border-right:0;border-bottom:1px solid #e1e5e8}
 .homepage-route .hero-stat:nth-child(odd){border-right:1px solid #e1e5e8}
 .homepage-route .hero-stat:nth-last-child(-n+2){border-bottom:0}
 .homepage-route .home-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .homepage-route .home-course-card .course-card-body{padding:10px}
 .homepage-route .home-course-card .course-card-body h3{font-size:.9rem}
 .homepage-route .home-course-card .course-card-body>p{font-size:.78rem}
 .homepage-route .section-pad{padding-top:38px;padding-bottom:38px}
}
@media(max-width:420px){
 .homepage-route .home-course-grid{grid-template-columns:1fr}
 .homepage-route .hero-search .btn{font-size:.78rem;padding:10px 8px}
}



/* Fresh-install image presentation: never place captions, headings, labels or CTA text over banner images. */
.marketplace-banner-copy,
.registration-banner-copy,
.tutor-application-banner-caption,
.dashboard-banner-copy,
.banner-image-caption,
.image-overlay-copy {
    display: none !important;
}
.marketplace-banner-shade,
.registration-banner-shade {
    display: none !important;
}


/* Faster homepage and dashboard promotional banner transitions */
.marketplace-banner .carousel-item {
  transition: transform .42s ease-in-out, opacity .42s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .marketplace-banner .carousel-item { transition-duration: .01ms; }
}

/* Timed PWA installation dropdown shown on the homepage */
.pwa-install-prompt {
  position: fixed;
  z-index: 1085;
  top: 14px;
  right: 18px;
  width: min(440px, calc(100vw - 28px));
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 48px 15px 17px;
  border: 1px solid rgba(86,36,208,.18);
  border-radius: 16px;
  background: #fff;
  color: #202124;
  box-shadow: 0 14px 42px rgba(20,24,40,.2);
  animation: pwaDropIn .28s ease-out both;
}
.pwa-install-prompt[hidden] { display: none !important; }
.pwa-install-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:3px; }
.pwa-install-copy strong { font-size:.96rem; line-height:1.3; }
.pwa-install-copy span,.pwa-install-copy small,.pwa-install-hint { color:#687083; font-size:.78rem; line-height:1.4; }
.pwa-install-copy small { color:#8a6b20; }
.pwa-install-action { border:0; border-radius:9px; padding:9px 13px; background:var(--brand-primary,#5624d0); color:#fff; font-weight:700; font-size:.84rem; white-space:nowrap; }
.pwa-install-action:disabled { opacity:.65; }
.pwa-install-close { position:absolute; top:5px; right:8px; border:0; background:transparent; color:#737987; font-size:24px; line-height:1; padding:2px 5px; }
.pwa-install-hint { display:block; margin-top:3px; }
@keyframes pwaDropIn { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:520px) {
  .pwa-install-prompt { top:8px; right:8px; width:calc(100vw - 16px); padding:13px 42px 13px 13px; gap:8px; }
  .pwa-install-action { padding:8px 10px; font-size:.78rem; }
}
