/* Lakshya Digital Library · Refined Edition 3.0
   Design refresh only. All application actions, public IDs and Supabase access remain in existing app.js. */
:root{--navy:#142d3a;--navy2:#183a47;--cyan:#137d72;--cyan2:#0e7168;--ink:#1c343c;--muted:#697c81;--light:#f8f7f3;--border:#e6e9e5;--white:#fff;--radius:18px;--shadow:0 20px 45px #223b3b12}
html{scroll-padding-top:80px}body{background:#fff;color:#19333c;font-family:'Hind','DM Sans',sans-serif;-webkit-font-smoothing:antialiased}
a:focus-visible,button:focus-visible{outline:3px solid #86cbbf;outline-offset:3px}
.container{max-width:1208px;padding-inline:32px}
.demo-ribbon{background:#fdf7e7;color:#86672a;letter-spacing:0;font-size:12px}
.site-header{background:#fcfbf8f7;border-bottom:1px solid #e8e7e1;box-shadow:0 3px 18px #203a3710}
.nav{height:80px}.brand{color:#1e3639;gap:11px}
.brand-icon{height:47px;width:47px;border-radius:13px;background:#e7f3ef;color:#0b766b}
.brand-icon svg{width:28px}.brand-copy strong{font-size:20px;white-space:nowrap;letter-spacing:-.015em}
.brand-copy strong em{color:#0b796c}.brand-copy small{font-size:10px;letter-spacing:.02em;font-family:'Hind',sans-serif;color:#819392;margin-top:4px}
.nav-links{gap:26px}.nav-link{color:#56696e;font-size:14px;font-weight:700}.nav-link:hover,.nav-link.active{color:#0e7369}
.nav-login{color:#1d3b40;border:1px solid #d6e2df;border-radius:10px;padding:10px 15px;font-size:13px;transition:.2s}
.nav-login:hover{border-color:#08776b;background:#eaf6f1}.nav-admin{background:#123f42;color:#fff;border-radius:10px;padding:12px 16px;font-size:13px;transition:.2s}
.nav-admin:hover{background:#0b6e65;color:#fff}.menu-toggle{color:#1d4142}

.hero-refined{background:radial-gradient(ellipse at 88% 12%,#ebf6ee 0%,transparent 36%),linear-gradient(180deg,#fcfbf8 0%,#faf9f5 100%);color:#1a353c;padding:44px 0 0}
.hero-refined .hero-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1fr);min-height:510px;gap:63px;padding-bottom:41px}
.hero-refined .eyebrow{font:800 11px 'DM Sans',sans-serif;letter-spacing:.12em;color:#0d8879;display:flex;gap:10px;align-items:center;margin-bottom:24px}
.eyebrow-stroke{height:2px;width:27px;background:#15a68e;display:inline-block;border-radius:5px}
.hero-refined .hero-content{text-align:left}
.hero-refined h1{font-size:clamp(45px,5vw,68px);line-height:1.22;letter-spacing:-.035em;color:#18333a;margin:0 0 21px;font-weight:800;max-width:650px}
.hero-refined h1 span{color:#157c70}
.hero-refined .hero-content>p{color:#586d72;font-size:17px;line-height:1.85;max-width:520px;margin-bottom:26px}
.hero-refined .hero-actions{justify-content:flex-start;gap:12px}
.hero-refined .btn{border-radius:11px;padding:14px 22px;min-height:49px}
.hero-refined .btn-primary{background:#0e756a;color:white;box-shadow:0 10px 24px #0c80671e}
.hero-refined .btn-primary:hover{background:#0a6159;transform:translateY(-1px)}
.hero-refined .btn-outline{color:#16484b;border:1px solid #c5d8d2;background:#fff}
.hero-refined .btn-outline:hover{background:#eff7f1}
.hero-refined .hero-trust{justify-content:flex-start;margin-top:17px;color:#627b7e;font-size:12px;gap:8px}
.hero-trust-check{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#e0f3ea;color:#067e69;font:900 11px Arial}
.hero-quick{margin-top:32px;padding-top:19px;border-top:1px solid #dfe7df;display:grid;grid-template-columns:repeat(3,1fr);gap:11px;max-width:500px}
.hero-quick div{display:flex;flex-direction:column;gap:3px;position:relative}.hero-quick div+div:before{content:'';position:absolute;height:41px;left:-12px;top:0;width:1px;background:#e0e5e0}
.hero-quick strong{font:800 23px 'DM Sans','Hind',sans-serif;color:#193e42}.hero-quick strong i{font-size:12px;font-weight:600;font-style:normal;color:#728781}
.hero-quick small{font-size:12px;color:#798c8c}
.hero-refined .hero-visual{padding:32px 6px 27px;position:relative}
.preview-card{background:#fff;border-radius:23px;border:1px solid #e1e9e4;box-shadow:0 24px 65px #183a3b17;overflow:hidden;position:relative;z-index:1}
.preview-card-top{padding:27px 30px 22px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #eff1ed;background:linear-gradient(155deg,#fff,#f8fbf8)}
.preview-label{font:800 10px 'DM Sans';letter-spacing:.15em;color:#0d8977}
.preview-card-top h2{font-size:23px;line-height:1.25;margin:10px 0 5px;color:#1c4145}
.preview-card-top p{font-size:13px;color:#7c9392;margin:0}
.preview-brand-mark{display:grid;place-items:center;width:53px;height:53px;background:#e7f5f0;border:1px solid #cce7dd;border-radius:15px;color:#0d7a6a;font-weight:900;font-size:31px;flex:none}
.preview-seats-label{padding:21px 30px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.preview-seats-label span{color:#657e81;font-size:12px}.preview-seats-label strong{color:#1e5152;font:800 10px 'DM Sans';letter-spacing:.11em}
.preview-seat-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:0 30px 22px}
.preview-seat-grid span{display:grid;place-items:center;aspect-ratio:1;min-width:0;border-radius:7px;background:#f1f5f2;border:1px solid #e0e8e0;color:#79908b;font:700 10px 'DM Sans',sans-serif}
.preview-seat-grid span:nth-child(10n+2),.preview-seat-grid span:nth-child(10n+6){background:#eaf3ef;color:#5f8d85}
.preview-card-bottom{border-top:1px solid #eef1ec;padding:15px 27px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fcfdfb}
.preview-card-bottom span{display:flex;align-items:center;gap:8px;font-size:11px;color:#798e91}
.seat-outline-dot{width:10px;height:10px;border-radius:3px;background:#e7f3ec;border:1px solid #aed0bf}
.preview-card-bottom a{font-size:12px;font-weight:800;color:#0a796e;white-space:nowrap}
.preview-side-badge{position:absolute;right:-12px;bottom:44px;z-index:2;background:#154e4a;color:#fff;border:4px solid #fafaf8;border-radius:15px;display:flex;align-items:center;gap:10px;padding:14px 16px;box-shadow:0 14px 27px #133e402a}
.badge-icon{font-size:25px;color:#9ff3dd}.preview-side-badge strong{font-size:14px;display:block}.preview-side-badge small{font-size:10px;color:#b3e0d4;display:block}
.hero-microcopy{text-align:left;padding:15px 6px 0;font-size:11px;color:#81908b;max-width:85%}
.hero-refined .stat-strip{padding:18px 32px 19px;position:relative;border-radius:13px 13px 0 0;border-top:0;background:#153d3f;color:#fff;grid-template-columns:repeat(4,1fr)}
.hero-refined .stat-strip div{border-left:1px solid #ffffff26;padding-left:25px}
.hero-refined .stat-strip div:first-child{border-left:none;padding-left:0}
.hero-refined .stat-strip strong{font:800 24px 'DM Sans','Hind',sans-serif;color:#fff}
.hero-refined .stat-strip small{font-size:12px;color:#c2d5d1}

.section{padding:80px 0}.section-light{background:#fff}.section-intro{margin-bottom:31px}.section-intro h2,.contact-grid h2{color:#193a40;font-size:clamp(30px,3.1vw,42px);letter-spacing:-.02em}
.section-intro h2 span,.contact-grid h2 span{color:#0f8272}.section-intro>p{color:#7b898c}
.mini-tag{font-size:11px;color:#0b7e71;letter-spacing:.12em}
.feature-grid{gap:17px}.feature-card{border:1px solid #e3e9e5;background:#fff;border-radius:17px;box-shadow:none;transition:transform .2s,border-color .2s,box-shadow .2s;padding:24px}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 11px 27px #102e2d0b;border-color:#c3ded3}
.feature-card h3{color:#204044;font-size:18px}.feature-card p{color:#6b7f80}.feature-card>span{color:#9baaaa}
.feature-icon{border-radius:12px}
.section-seat{background:#f8faf8}.seat-layout{gap:23px}.seat-board,.seat-summary{border:1px solid #e2ebe5;box-shadow:0 8px 30px #173e3109;border-radius:18px}
.seat-board{background:white}.seat-summary{background:#fff}.seat-summary .big-number{color:#154d47}
.plan-grid{gap:18px}.plan-card{box-shadow:none;border:1px solid #e1e9e2;background:white;border-radius:18px;padding:27px;transition:transform .2s,box-shadow .2s}
.plan-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #23473713}
.plan-card.featured{border-color:#138979;box-shadow:0 0 0 2px #098a7519;background:#f9fefa}
.plan-price{color:#103f42}.plan-card button,.seat-summary .btn-primary{background:#0e7469;color:#fff}
.plan-card button:hover,.seat-summary .btn-primary:hover{background:#0a605b}
.quote-band{background:#103d41}.notice-section{background:#fcfcfa}
.section-contact{background:#f7f8f5}.contact-grid h2,.section-contact .contact-grid p{color:#203f44}.contact-lines small{color:#668587}
.contact-card{background:#fff;border:1px solid #dfe9e3;box-shadow:0 22px 40px #163d3010;border-radius:21px}
.section-contact .btn-primary{background:#0c7469;color:white}.dark-outline{border-color:#9dbdb5;color:#204d4d;background:white}
.footer{background:#163c3e}.footer-brand em{color:#8ce2cb}

/* Student and admin panel: editorial, quiet, high readability. All data is still from app.js. */
#appOverlay{background:rgba(14,32,32,.64)}
#appOverlay .app-shell{border-radius:19px}
#appOverlay .app-sidebar{background:#fefdfb;color:#39565a;border-right:1px solid #e3ece7}
#appOverlay .app-sidebar-top{border-bottom:1px solid #e7eeea}
#appOverlay .dashboard-brand{color:#153e41}#appOverlay .dashboard-brand small{color:#8fa6a4}
#appOverlay .dashboard-close{background:#ebf2ee;color:#3e6060}
#appOverlay .side-user{background:#f3f8f4;border:1px solid #e2ece7}
#appOverlay .side-user strong{color:#25484b}#appOverlay .side-user small{color:#7a9790}
#appOverlay .side-label{color:#8ba29e}#appOverlay .side-nav button{color:#5b7575}
#appOverlay .side-nav button.active{color:#097566;background:#eaf5ef;box-shadow:inset 3px 0 0 #0b7c6b}
#appOverlay .side-nav button:hover:not(.active){background:#f0f5f1;color:#235450}
#appOverlay .side-bottom{background:#f9fbf9;border-color:#e6eee9}
#appOverlay .side-bottom button{color:#4f706b}
#appOverlay .app-main{background:#f8faf8}
#appOverlay .student-welcome{background:linear-gradient(130deg,#f1faf3,#eef9f6);border:1px solid #d9eae0;box-shadow:none;color:#143f40;min-height:175px;border-radius:17px}
#appOverlay .student-welcome:before{background:radial-gradient(circle,#bbebcc55,transparent 62%)}
#appOverlay .welcome-label{color:#138671}#appOverlay .welcome-glow{background:#18b597}
#appOverlay .student-welcome h3{color:#204343}#appOverlay .student-welcome p{color:#587877}
#appOverlay .welcome-tags span{color:#55716c}#appOverlay .welcome-tags .dash-icon{color:#0d8f7b}
#appOverlay .deco-halo{border-color:#1b956326;box-shadow:0 0 0 24px #15b88108,0 0 0 49px #1c98650a}
#appOverlay .student-welcome-deco>span{background:#dff4e9;border-color:#baddcd;color:#13836d}
#appOverlay .student-stat,#appOverlay .student-detail-panel,#appOverlay .student-help-panel,#appOverlay .panel,#appOverlay .dashboard-card{box-shadow:none;border-color:#e2eae4}
#appOverlay .student-stat{min-height:146px}#appOverlay .student-stat:hover{box-shadow:0 8px 20px #112e2e0c}
#appOverlay .app-top{border-bottom:1px solid #e3ebe5}#appOverlay .app-body{background:#f8faf8}
#appOverlay .student-help-panel{background:#f0faf5}
#appOverlay .student-help-primary{background:#12796c;border-color:#12796c}
#appOverlay .student-help-primary:hover{background:#095e55}
#appOverlay .app-mobile-nav button.active{background:#eaf6ee;color:#0b776a}

@media(max-width:1020px){.hero-refined .hero-grid{gap:20px}.hero-refined h1{font-size:clamp(39px,5vw,58px)}.preview-seat-grid{gap:5px}.preview-card-top{padding:24px}.preview-seat-grid{margin-inline:24px}.preview-seats-label{padding-inline:24px}}
@media(max-width:800px){.nav{height:68px}.nav-links{background:#fcfbf8;border-bottom:1px solid #e4ece7;box-shadow:0 18px 25px #173f311e}.nav-link{color:#315453}.nav-link:hover,.nav-link.active{color:#0b7369}.nav-login,.nav-admin{text-align:center;margin-top:7px}
.hero-refined{padding-top:43px}.hero-refined .hero-grid{grid-template-columns:1fr;gap:7px;padding-bottom:29px}
.hero-refined .hero-content{text-align:left}.hero-refined .hero-content>p{margin-left:0;margin-right:0}
.hero-refined .eyebrow,.hero-refined .hero-actions,.hero-refined .hero-trust{justify-content:flex-start}
.hero-refined .hero-visual{max-width:590px;padding:34px 0 28px;margin:0;width:100%}
.hero-refined .stat-strip{row-gap:16px}
.hero-refined .stat-strip div:nth-child(3){border-left:0;padding-left:0}
.hero-quick{max-width:440px}.preview-side-badge{right:-8px}}
@media(max-width:570px){.container{padding-inline:19px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:9px;letter-spacing:0}
.hero-refined{padding-top:35px}.hero-refined .hero-grid{gap:2px;padding-bottom:23px}
.hero-refined .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:17px}
.hero-refined h1{font-size:clamp(37px,10vw,48px);margin-bottom:14px;line-height:1.25;letter-spacing:-.02em}
.hero-refined .hero-content>p{font-size:15px;line-height:1.75;margin-bottom:20px}
.hero-refined .hero-actions{flex-wrap:wrap;gap:9px}.hero-refined .hero-actions .btn{padding:12px 15px;font-size:13px}
.hero-refined .hero-trust{margin-top:15px;align-items:flex-start}.hero-refined .hero-trust span:last-child{max-width:290px}
.hero-quick{margin-top:22px;padding-top:17px;gap:6px}.hero-quick div+div:before{left:-8px}
.hero-quick strong{font-size:22px}.hero-quick small{font-size:10px}
.hero-refined .hero-visual{padding:28px 0 15px}
.preview-card{border-radius:17px}.preview-card-top{padding:19px 17px}.preview-card-top h2{font-size:20px;margin:7px 0 3px}.preview-label{font-size:9px}
.preview-brand-mark{width:38px;height:38px;font-size:23px;border-radius:10px}
.preview-seats-label{padding:15px 18px 10px}.preview-seats-label span{font-size:11px}.preview-seat-grid{gap:5px;margin:0 17px 17px;grid-template-columns:repeat(10,minmax(0,1fr))}
.preview-seat-grid span{font-size:8px;border-radius:4px}.preview-card-bottom{padding:13px 15px}.preview-card-bottom span{font-size:10px;line-height:1.25}
.preview-side-badge{right:-4px;bottom:21px;border-width:3px;padding:8px 10px;gap:7px;border-radius:11px}.badge-icon{font-size:17px}
.preview-side-badge strong{font-size:11px}.preview-side-badge small{font-size:8px}
.hero-microcopy{font-size:9px;margin-top:3px;max-width:74%;padding:9px 0 0}
.hero-refined .stat-strip{padding:15px 20px;gap:12px}.hero-refined .stat-strip strong{font-size:20px}.hero-refined .stat-strip small{font-size:10px}
.section{padding:60px 0}.section-intro h2,.contact-grid h2{font-size:29px}
#appOverlay .student-welcome{padding:22px 20px;min-height:163px}
}
@media(prefers-reduced-motion:reduce){.feature-card,.plan-card,.student-stat,.btn{transition:none!important;transform:none!important}}
