:root{
  --navy:#071c3f;--navy-2:#0b2c5e;--blue:#1455d9;--cyan:#19b7c9;--teal:#0e9f8f;--gold:#d5a319;--gold-2:#f2c94c;
  --ink:#14233d;--muted:#607089;--surface:#ffffff;--soft:#f4f8ff;--line:#dce6f3;--danger:#d43c4d;--success:#168b61;--warning:#c98000;
  --shadow:0 24px 70px rgba(7,28,63,.14);--shadow-sm:0 12px 35px rgba(7,28,63,.09);--radius:24px;--radius-sm:16px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Manrope',system-ui,-apple-system,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f9fbff 0%,#eef5ff 42%,#f8fbff 100%);min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.page-wrap{min-height:72vh;position:relative;z-index:2}.container{width:min(1180px,calc(100% - 36px));margin:auto}.section{padding:74px 0}.section-tight{padding:46px 0}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem}.eyebrow:before{content:"";width:30px;height:2px;background:linear-gradient(90deg,var(--gold),var(--blue))}.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.35rem);line-height:1.03;margin:12px 0 16px;color:var(--navy)}.section-copy{color:var(--muted);font-size:1.02rem;line-height:1.8;max-width:720px}.center{text-align:center}.center .section-copy{margin-inline:auto}.ambient{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;opacity:.22}.ambient-one{width:420px;height:420px;background:#1f72ff;top:14%;left:-180px}.ambient-two{width:390px;height:390px;background:#f2c94c;bottom:4%;right:-160px}#particleField{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,#fff,var(--cyan));box-shadow:0 0 18px rgba(25,183,201,.65);animation:floatParticle linear infinite}@keyframes floatParticle{0%{transform:translate3d(0,0,0) scale(.7)}50%{transform:translate3d(35px,-70px,0) scale(1.25)}100%{transform:translate3d(-20px,-140px,0) scale(.8)}}
.site-header{position:sticky;top:0;z-index:50;padding:14px 0;background:rgba(247,250,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,228,244,.75)}.nav-shell{width:min(1240px,calc(100% - 28px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--blue) 70%,var(--cyan));box-shadow:0 10px 24px rgba(20,85,217,.25);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.65)}.brand-mark:after{content:"";position:absolute;inset:4px;border:1px solid rgba(242,201,76,.7);border-radius:12px}.brand-mark span{color:white;font-weight:900;font-size:.86rem;letter-spacing:.05em;position:relative;z-index:1}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:1.15rem;color:var(--navy);letter-spacing:.02em}.brand-copy small{color:var(--muted);font-size:.68rem}.main-nav{display:flex;align-items:center;gap:6px}.main-nav a{padding:10px 13px;border-radius:12px;color:#344660;font-size:.92rem;font-weight:700;transition:.25s}.main-nav a:hover{background:white;color:var(--blue);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.main-nav .nav-pill{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;padding-inline:18px;box-shadow:0 9px 22px rgba(20,85,217,.2)}.main-nav .nav-pill-danger{background:linear-gradient(135deg,#e05061,#a9182d)}.nav-toggle{display:none;border:0;background:var(--navy);color:#fff;width:44px;height:44px;border-radius:13px;font-size:1.15rem}
.hero{padding:70px 0 72px;position:relative}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.hero-title{font-family:'Playfair Display',serif;font-size:clamp(3rem,6vw,5.6rem);line-height:.95;color:var(--navy);margin:14px 0 24px;letter-spacing:-.03em}.hero-title span{display:block;background:linear-gradient(100deg,var(--blue),var(--cyan),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{color:var(--muted);font-size:1.1rem;line-height:1.85;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:0;border-radius:14px;padding:13px 19px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;cursor:pointer;transition:.25s;text-align:center}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--blue),#0a43b4);color:white;box-shadow:0 14px 28px rgba(20,85,217,.25)}.btn-secondary{background:white;color:var(--navy);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#352600;box-shadow:0 14px 28px rgba(213,163,25,.22)}.btn-danger{background:#fff0f2;color:#b91f35;border:1px solid #ffd3da}.btn-success{background:#e9faf3;color:#0b7c55;border:1px solid #beeeda}.btn-sm{padding:9px 12px;border-radius:11px;font-size:.82rem}.hero-panel{position:relative;min-height:520px}.city-card{position:absolute;inset:0;border-radius:34px;overflow:hidden;background:linear-gradient(150deg,#071c3f 0%,#104aa6 45%,#1eb0ba 100%);box-shadow:0 34px 90px rgba(7,28,63,.28);border:1px solid rgba(255,255,255,.5)}.city-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(242,201,76,.46),transparent 28%),linear-gradient(180deg,transparent 40%,rgba(7,28,63,.56))}.city-skyline{position:absolute;left:7%;right:7%;bottom:0;height:57%;display:flex;align-items:end;justify-content:center;gap:8px}.building{width:12%;background:linear-gradient(180deg,#eaf7ff,#94d7e5);border-radius:9px 9px 0 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);position:relative}.building:before{content:"";position:absolute;inset:12px 8px;background:repeating-linear-gradient(180deg,rgba(7,28,63,.28) 0 5px,transparent 5px 14px)}.building:nth-child(1){height:38%}.building:nth-child(2){height:62%}.building:nth-child(3){height:48%}.building:nth-child(4){height:80%}.building:nth-child(5){height:56%}.building:nth-child(6){height:70%}.building:nth-child(7){height:43%}.smart-card{position:absolute;background:rgba(255,255,255,.92);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.9);box-shadow:0 15px 40px rgba(7,28,63,.18);border-radius:20px;padding:18px;z-index:3;animation:floatCard 5s ease-in-out infinite}.smart-card strong{display:block;color:var(--navy);font-size:1rem}.smart-card small{color:var(--muted)}.smart-a{left:-22px;top:62px}.smart-b{right:-18px;bottom:90px;animation-delay:-2s}.smart-icon{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--gold-2),var(--gold));display:grid;place-items:center;margin-bottom:10px}@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-10px}.stat-card{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(18px);border-radius:20px;padding:20px;box-shadow:var(--shadow-sm)}.stat-card b{font-size:1.7rem;color:var(--navy);display:block}.stat-card span{color:var(--muted);font-size:.85rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature-card,.glass-card,.panel,.auth-card{background:rgba(255,255,255,.91);border:1px solid rgba(255,255,255,.98);box-shadow:var(--shadow-sm);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden}.feature-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(25,183,201,.16),transparent 65%);right:-30px;top:-20px}.feature-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#edf4ff,#dbe9ff);color:var(--blue);display:grid;place-items:center;font-size:1.5rem;margin-bottom:17px}.feature-card h3{margin:0 0 10px;color:var(--navy)}.feature-card p{margin:0;color:var(--muted);line-height:1.7;font-size:.92rem}.hall-showcase{display:grid;grid-template-columns:1fr 1fr;gap:26px;background:linear-gradient(135deg,var(--navy),#0c3f88 56%,#0fa1ad);color:white;border-radius:30px;padding:38px;box-shadow:0 28px 70px rgba(7,28,63,.25);position:relative;overflow:hidden}.hall-showcase:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-80px;top:-120px;box-shadow:0 0 0 45px rgba(255,255,255,.04),0 0 0 90px rgba(255,255,255,.025)}.hall-showcase h2{font-family:'Playfair Display',serif;font-size:2.6rem;margin:8px 0 15px}.hall-showcase p{color:#d6e8ff;line-height:1.8}.hall-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;position:relative;z-index:1}.hall-fact{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:16px;border-radius:16px}.hall-fact b{display:block;color:#fff}.hall-fact span{color:#d1e4f7;font-size:.82rem}.page-hero{padding:54px 0 28px}.page-hero-box{background:linear-gradient(135deg,var(--navy),#104ea6 70%,var(--cyan));color:white;border-radius:30px;padding:42px;box-shadow:var(--shadow);position:relative;overflow:hidden}.page-hero-box:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(242,201,76,.35),transparent 68%);right:-100px;top:-160px}.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5vw,4rem);margin:8px 0 12px;position:relative;z-index:1}.page-hero p{max-width:760px;color:#dbeaff;line-height:1.8;position:relative;z-index:1}.crumb{font-size:.82rem;color:#a9c8f0;position:relative;z-index:1}
.form-card{background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:30px;border:1px solid #edf2f8}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full{grid-column:1/-1}.form-group label{font-weight:800;color:#243b5e;font-size:.88rem}.form-control{width:100%;border:1px solid #d7e2f0;background:#fbfdff;border-radius:13px;padding:12px 14px;outline:none;transition:.2s;color:var(--ink)}.form-control:focus{border-color:#72a4ff;box-shadow:0 0 0 4px rgba(20,85,217,.09);background:white}.help{font-size:.78rem;color:var(--muted)}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:13px;border-radius:13px;background:#fbfdff}.check-card input{margin-top:4px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.auth-layout{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:54px 18px}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:.92fr 1.08fr;background:white;border-radius:30px;overflow:hidden;box-shadow:0 32px 90px rgba(7,28,63,.2);border:1px solid white}.auth-art{background:linear-gradient(150deg,var(--navy),var(--blue) 60%,var(--cyan));padding:42px;color:white;position:relative;overflow:hidden}.auth-art:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(242,201,76,.45),transparent 66%);right:-120px;bottom:-120px}.auth-art h2{font-family:'Playfair Display',serif;font-size:2.7rem;margin:90px 0 16px}.auth-art p{color:#dcecff;line-height:1.8}.auth-card{border-radius:0;box-shadow:none;border:0;padding:42px}.auth-card h1{margin:0 0 6px;color:var(--navy)}.auth-card>p{margin:0 0 26px;color:var(--muted)}
.dashboard-shell{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:34px 0 64px}.side-card{background:linear-gradient(180deg,var(--navy),#0c3f88);color:white;border-radius:25px;padding:22px;height:max-content;position:sticky;top:95px;box-shadow:var(--shadow)}.user-chip{padding:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);border-radius:16px;margin-bottom:20px}.user-chip b{display:block}.user-chip small{color:#bcd3ef}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav a{padding:11px 12px;border-radius:12px;color:#dceaff;font-weight:700;font-size:.88rem}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.12);color:white}.dashboard-main{min-width:0}.dashboard-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}.dashboard-top h1{margin:0;color:var(--navy);font-family:'Playfair Display',serif;font-size:2.5rem}.dashboard-top p{margin:5px 0 0;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:white;padding:20px;border-radius:19px;box-shadow:var(--shadow-sm);border:1px solid #edf2f8}.metric small{color:var(--muted);font-weight:700}.metric strong{display:block;font-size:1.8rem;color:var(--navy);margin-top:8px}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}.action-card{background:white;border:1px solid #eaf0f8;border-radius:20px;padding:20px;box-shadow:var(--shadow-sm);transition:.25s}.action-card:hover{transform:translateY(-4px);border-color:#c9dcfb}.action-card .feature-icon{margin-bottom:12px}.action-card b{display:block;color:var(--navy);margin-bottom:6px}.action-card span{color:var(--muted);font-size:.82rem;line-height:1.5}.panel{margin-top:20px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-header h2,.panel-header h3{margin:0;color:var(--navy)}.table-wrap{overflow:auto;border:1px solid #e6edf6;border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:760px;background:white}.data-table th{background:#f4f8fd;color:#456078;text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:13px}.data-table td{border-top:1px solid #edf2f7;padding:13px;font-size:.88rem;vertical-align:top}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800}.badge-success{background:#e8f8f1;color:#087653}.badge-danger{background:#ffedf0;color:#b42136}.badge-warning{background:#fff4db;color:#9a6500}.badge-info{background:#eaf2ff;color:#2458aa}.empty-state{text-align:center;padding:46px 24px;color:var(--muted)}
.calendar-layout{display:grid;grid-template-columns:1fr 330px;gap:24px}.calendar-card{background:white;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid #edf2f8}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.calendar-head h2{margin:0;color:var(--navy)}.calendar-nav{display:flex;gap:8px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);background:white;border-radius:12px;cursor:pointer;font-weight:900;color:var(--navy)}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-week div{text-align:center;font-size:.72rem;color:var(--muted);font-weight:800;padding:8px}.cal-day{min-height:88px;border:1px solid #e5edf7;background:#fbfdff;border-radius:14px;padding:9px;cursor:pointer;transition:.2s;position:relative}.cal-day:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.cal-day.muted{opacity:.32;cursor:default}.cal-day.today{border-color:#78a7ff}.cal-day.available:after,.cal-day.booked:after{content:"";position:absolute;right:9px;bottom:9px;width:9px;height:9px;border-radius:50%}.cal-day.available:after{background:#20a875}.cal-day.booked:after{background:#dc4d5e}.cal-day.booked{background:#fff5f6}.cal-day.selected{outline:3px solid rgba(20,85,217,.16);border-color:var(--blue)}.cal-number{font-weight:800;color:#344963}.legend{display:flex;gap:13px;flex-wrap:wrap;margin-top:16px;font-size:.8rem;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.legend .green{background:#20a875}.legend .red{background:#dc4d5e}.legend .blue{background:#1455d9}.summary-card{background:linear-gradient(180deg,var(--navy),#0d428d);color:white;border-radius:24px;padding:24px;box-shadow:var(--shadow);height:max-content}.summary-card h3{margin-top:0}.summary-card p{color:#c9dcf5;line-height:1.7}.summary-line{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-line span{display:block;color:#9fbfe5;font-size:.76rem}.summary-line b{display:block;margin-top:4px}.price-box{background:#f8fbff;border:1px solid #e0eaf5;border-radius:18px;padding:18px}.price-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;color:#526a84}.price-row.total{border-top:1px dashed #bccce0;margin-top:8px;padding-top:14px;color:var(--navy);font-size:1.1rem;font-weight:900}.facility-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:15px}.facility-pill{padding:10px 12px;background:#f5f9ff;border:1px solid #e3ecf8;border-radius:12px;font-size:.82rem;color:#35506e}.content-prose{line-height:1.9;color:#50647d}.content-prose h2,.content-prose h3{color:var(--navy)}.content-prose ul{padding-left:20px}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}.timeline-num{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:white;display:grid;place-items:center;font-weight:900}.timeline-copy{background:white;border-radius:17px;padding:17px;border:1px solid #e9f0f8;box-shadow:var(--shadow-sm)}.timeline-copy h4{margin:0 0 5px;color:var(--navy)}.timeline-copy p{margin:0;color:var(--muted);line-height:1.6;font-size:.88rem}.review-card{background:white;border:1px solid #e8eef6;border-radius:18px;padding:18px}.stars{color:#e1a500;letter-spacing:2px}.review-meta{color:var(--muted);font-size:.78rem}.notice{padding:14px 16px;border-radius:14px;background:#eef5ff;border:1px solid #d7e7ff;color:#355a87;line-height:1.6}.notice-warning{background:#fff8e8;border-color:#ffe4aa;color:#7b590f}.notice-danger{background:#fff0f2;border-color:#ffd3da;color:#9c2638}.flash{width:min(1180px,calc(100% - 36px));margin:14px auto 0;padding:13px 46px 13px 15px;border-radius:14px;position:relative;box-shadow:var(--shadow-sm);transition:.4s}.flash-success{background:#e8faf2;color:#0a704e}.flash-danger{background:#fff0f2;color:#a12337}.flash-warning{background:#fff8e6;color:#805d10}.flash-info{background:#edf5ff;color:#315f9c}.flash-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:1.3rem;color:inherit;cursor:pointer}.flash-hide{opacity:0;transform:translateY(-8px)}
.site-footer{position:relative;z-index:2;background:#061a38;color:#dce9fa;padding:52px 0 20px}.footer-grid{width:min(1180px,calc(100% - 36px));margin:auto;display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:34px}.footer-brand .brand-copy strong{color:white}.footer-brand .brand-copy small{color:#a8c1df}.site-footer p{color:#a9c0dc;line-height:1.7}.site-footer h4{margin:3px 0 13px;color:white}.site-footer a{display:block;color:#b7cce5;margin:8px 0}.footer-bottom{width:min(1180px,calc(100% - 36px));margin:30px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);color:#7798bc;font-size:.78rem}
.admin-banner{background:linear-gradient(135deg,#210b3a,#4f1b85,#0b4a86)}.admin-side{background:linear-gradient(180deg,#180a30,#301260 60%,#0e4777)}.admin-side .side-nav a:hover,.admin-side .side-nav a.active{background:rgba(242,201,76,.14);color:#ffe78f}.chart-bars{height:180px;display:flex;align-items:end;gap:10px;padding:18px 8px 0}.chart-bar{flex:1;min-width:22px;background:linear-gradient(180deg,var(--cyan),var(--blue));border-radius:8px 8px 3px 3px;position:relative}.chart-bar span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:.68rem;color:var(--muted);padding-bottom:5px}.chart-labels{display:flex;gap:10px;font-size:.66rem;color:var(--muted)}.chart-labels span{flex:1;text-align:center}.print-only{display:none}
@media(max-width:980px){.hero-grid,.hall-showcase,.auth-shell,.calendar-layout{grid-template-columns:1fr}.hero-panel{min-height:440px}.stats-strip,.metric-grid{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.dashboard-shell{grid-template-columns:1fr}.side-card{position:static}.side-nav{display:grid;grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.auth-art{min-height:300px}.auth-art h2{margin-top:50px}.calendar-layout .summary-card{order:-1}}
@media(max-width:768px){.site-header{padding:10px 0}.nav-toggle{display:block}.main-nav{position:absolute;left:14px;right:14px;top:72px;background:white;border:1px solid #e7edf6;border-radius:18px;box-shadow:var(--shadow);padding:12px;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{text-align:center}.hero{padding-top:44px}.hero-panel{min-height:390px}.smart-a{left:8px}.smart-b{right:8px}.grid-2,.grid-3,.form-grid,.check-grid,.footer-grid{grid-template-columns:1fr}.stats-strip,.metric-grid,.action-grid{grid-template-columns:1fr 1fr}.hall-facts{grid-template-columns:1fr}.page-hero-box{padding:30px 24px}.dashboard-top{align-items:flex-start;flex-direction:column}.side-nav{grid-template-columns:repeat(2,1fr)}.calendar-card{padding:14px}.cal-day{min-height:68px;padding:6px}.calendar-week,.calendar-days{gap:5px}.auth-card,.auth-art{padding:30px 24px}.facility-list{grid-template-columns:1fr}}
@media(max-width:480px){.stats-strip,.metric-grid,.action-grid{grid-template-columns:1fr}.hero-title{font-size:3rem}.hero-panel{min-height:340px}.brand-copy small{display:none}.side-nav{grid-template-columns:1fr 1fr}.calendar-week div{font-size:.6rem}.cal-day{min-height:56px}.form-actions .btn{width:100%}}
@media print{.site-header,.site-footer,.side-card,.no-print,.ambient,#particleField{display:none!important}.page-wrap{min-height:0}.dashboard-shell{display:block;padding:0}.panel,.form-card{box-shadow:none;border:1px solid #ccc}.print-only{display:block}.container{width:100%}}

/* =========================================================
   MBAS-GO RESIDENT PORTAL + AI VISUAL EFFECTS
   This section keeps the user sidebar visible on every
   resident page and gives the portal a polished AI-inspired
   glass / glow appearance without changing the PHP logic.
========================================================= */

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(rgba(20,85,217,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(25,183,201,.022) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.58),transparent 88%);
}

body::after{
  content:"";
  position:fixed;
  width:48vw;
  height:48vw;
  min-width:420px;
  min-height:420px;
  top:-24vw;
  right:-14vw;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  background:conic-gradient(from 180deg,rgba(20,85,217,.18),rgba(25,183,201,.12),rgba(242,201,76,.13),rgba(20,85,217,.18));
  filter:blur(80px);
  animation:aiAuroraSpin 24s linear infinite;
}

@keyframes aiAuroraSpin{
  to{transform:rotate(360deg)}
}

.user-portal-shell{
  position:relative;
  align-items:start;
}

.user-portal-shell::before{
  content:"";
  position:absolute;
  inset:18px -18px auto 240px;
  height:230px;
  z-index:-1;
  pointer-events:none;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,183,201,.09),rgba(20,85,217,.04) 44%,transparent 72%);
  filter:blur(25px);
}

.portal-main{
  min-width:0;
  position:relative;
}

.portal-page-head{
  position:relative;
  overflow:hidden;
  padding:28px 30px;
  margin-bottom:20px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.95),rgba(245,250,255,.88)),
    radial-gradient(circle at 92% 10%,rgba(25,183,201,.15),transparent 30%);
  box-shadow:0 18px 48px rgba(7,28,63,.10);
}

.portal-page-head::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  top:-145px;
  right:-65px;
  border-radius:50%;
  border:1px solid rgba(20,85,217,.14);
  box-shadow:
    0 0 0 25px rgba(25,183,201,.045),
    0 0 0 50px rgba(20,85,217,.025);
}

.portal-page-head::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--blue),var(--cyan),var(--gold-2),transparent);
  background-size:220% 100%;
  animation:aiScan 5s linear infinite;
}

.portal-page-head h1{
  position:relative;
  z-index:1;
  margin:8px 0 8px;
  color:var(--navy);
  font-family:'Playfair Display',serif;
  font-size:clamp(2.2rem,4vw,3.15rem);
}

.portal-page-head p{
  position:relative;
  z-index:1;
  margin:0;
  max-width:760px;
  color:var(--muted);
  line-height:1.75;
}

.portal-page-head-actions{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
}

@keyframes aiScan{
  0%{background-position:200% 0}
  100%{background-position:-20% 0}
}

/* User sidebar: same visual family as admin sidebar, different content. */
.admin-side.user-side{
  position:sticky;
  top:95px;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg,#180a30 0%,#301260 54%,#0e4777 100%);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 25px 70px rgba(24,10,48,.27);
}

.admin-side.user-side::before{
  content:"";
  position:absolute;
  inset:-50% -80%;
  z-index:-2;
  background:conic-gradient(from 90deg,transparent 0 28%,rgba(25,183,201,.18) 36%,transparent 44% 66%,rgba(242,201,76,.13) 74%,transparent 82%);
  animation:sidebarOrbit 16s linear infinite;
}

.admin-side.user-side::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:24px;
  background:
    radial-gradient(circle at 110% 5%,rgba(25,183,201,.17),transparent 29%),
    radial-gradient(circle at -10% 90%,rgba(242,201,76,.10),transparent 26%),
    linear-gradient(180deg,rgba(24,10,48,.98),rgba(48,18,96,.97) 58%,rgba(14,71,119,.97));
}

@keyframes sidebarOrbit{
  to{transform:rotate(360deg)}
}

.admin-side.user-side > *{
  position:relative;
  z-index:2;
}

.portal-side-brand{
  display:flex;
  align-items:center;
  gap:11px;
  padding:3px 4px 18px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.portal-side-brand strong{
  display:block;
  color:#fff;
  font-size:1rem;
  letter-spacing:.04em;
}

.portal-side-brand small{
  display:block;
  margin-top:2px;
  color:#afc8e8;
  font-size:.7rem;
}

.portal-side-orb{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#071c3f;
  font-size:.75rem;
  font-weight:900;
  background:linear-gradient(135deg,#fff6bf,var(--gold-2) 48%,#56e3ef);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.45) inset,
    0 0 28px rgba(25,183,201,.22),
    0 10px 25px rgba(0,0,0,.18);
  animation:aiOrbPulse 3.2s ease-in-out infinite;
}

@keyframes aiOrbPulse{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 0 0 1px rgba(255,255,255,.45) inset,0 0 22px rgba(25,183,201,.18),0 10px 25px rgba(0,0,0,.18)}
  50%{transform:translateY(-2px) scale(1.04);box-shadow:0 0 0 1px rgba(255,255,255,.55) inset,0 0 35px rgba(25,183,201,.35),0 12px 28px rgba(0,0,0,.20)}
}

.admin-side.user-side .user-chip{
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.user-avatar{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  color:#fff;
  font-weight:900;
  box-shadow:0 8px 20px rgba(20,85,217,.28);
}

.user-chip-copy{
  min-width:0;
}

.user-chip-copy b,
.user-chip-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.admin-side.user-side .side-nav{
  gap:7px;
}

.admin-side.user-side .side-nav a{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:11px 12px;
  min-height:44px;
  border:1px solid transparent;
  color:#dceaff;
  overflow:hidden;
}

.admin-side.user-side .side-nav a::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:linear-gradient(90deg,rgba(242,201,76,.13),rgba(25,183,201,.08),transparent);
  transition:.25s ease;
}

.admin-side.user-side .side-nav a:hover,
.admin-side.user-side .side-nav a.active{
  color:#fff7c7;
  border-color:rgba(242,201,76,.14);
  background:rgba(255,255,255,.07);
  transform:translateX(2px);
}

.admin-side.user-side .side-nav a:hover::before,
.admin-side.user-side .side-nav a.active::before{
  opacity:1;
}

.admin-side.user-side .side-nav a.active::after{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  bottom:9px;
  width:3px;
  border-radius:0 5px 5px 0;
  background:linear-gradient(180deg,var(--gold-2),var(--cyan));
  box-shadow:0 0 13px rgba(25,183,201,.55);
}

.side-nav-icon,
.side-nav-label,
.side-nav-count{
  position:relative;
  z-index:1;
}

.side-nav-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.075);
  color:#bfeeff;
  font-size:.9rem;
  font-weight:900;
}

.side-nav-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.side-nav-count{
  min-width:24px;
  height:24px;
  padding:0 7px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold-2),#e0a91d);
  color:#352600;
  font-size:.67rem;
  font-weight:900;
}

.side-nav-divider{
  height:1px;
  margin:8px 5px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
}

.admin-side.user-side .side-nav .side-nav-logout{
  margin-top:2px;
  color:#ffd4da;
}

.admin-side.user-side .side-nav .side-nav-logout:hover{
  color:#fff;
  background:rgba(212,60,77,.14);
  border-color:rgba(255,141,155,.16);
}

.portal-security-chip{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:18px;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(5,20,46,.28);
  border:1px solid rgba(132,226,197,.13);
}

.portal-security-chip b{
  display:block;
  color:#dbfff2;
  font-size:.72rem;
}

.portal-security-chip small{
  display:block;
  margin-top:2px;
  color:#91b6c6;
  font-size:.62rem;
}

.security-pulse{
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:#65e1b5;
  box-shadow:0 0 0 0 rgba(101,225,181,.45);
  animation:securityPulse 2s ease-out infinite;
}

@keyframes securityPulse{
  0%{box-shadow:0 0 0 0 rgba(101,225,181,.45)}
  70%{box-shadow:0 0 0 8px rgba(101,225,181,0)}
  100%{box-shadow:0 0 0 0 rgba(101,225,181,0)}
}

.ai-card,
.ai-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.ai-card::before,
.ai-panel::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:180px;
  height:180px;
  right:-100px;
  top:-100px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,183,201,.12),rgba(20,85,217,.05) 42%,transparent 70%);
  transition:transform .5s ease,opacity .5s ease;
}

.ai-card:hover::before,
.ai-panel:hover::before{
  transform:scale(1.3);
}

.ai-card::after,
.ai-panel::after{
  content:"";
  position:absolute;
  z-index:3;
  pointer-events:none;
  left:-65%;
  top:0;
  width:40%;
  height:100%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  opacity:.22;
  animation:aiShimmer 8s ease-in-out infinite;
}

@keyframes aiShimmer{
  0%,58%{left:-65%}
  78%,100%{left:135%}
}

.ai-status-ribbon{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:13px 15px;
  margin-bottom:18px;
  border:1px solid #d7e9f7;
  border-radius:16px;
  background:linear-gradient(90deg,rgba(232,249,255,.94),rgba(245,248,255,.94));
  box-shadow:0 10px 25px rgba(7,28,63,.055);
}

.ai-status-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#22be8b;
  box-shadow:0 0 0 6px rgba(34,190,139,.10),0 0 18px rgba(34,190,139,.38);
}

.ai-status-ribbon b{
  display:block;
  color:var(--navy);
  font-size:.82rem;
}

.ai-status-ribbon small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.72rem;
}

.ai-status-tag{
  padding:5px 8px;
  border-radius:999px;
  background:#e4fff6;
  color:#087653;
  border:1px solid #bfeeda;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
}

.metric.ai-card{
  border-color:rgba(212,226,244,.82);
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,251,255,.95));
}

.metric.ai-card span{
  display:block;
  margin-top:4px;
  color:#8a9aaf;
  font-size:.68rem;
}

.action-card.ai-card{
  background:linear-gradient(145deg,#fff,#f7fbff);
}

.action-card.ai-card:hover{
  transform:translateY(-5px);
  border-color:#bad8ff;
  box-shadow:0 18px 42px rgba(20,85,217,.12);
}

.ai-panel{
  border-color:rgba(222,233,246,.95);
  box-shadow:0 18px 48px rgba(7,28,63,.09);
}

.portal-panel-flat{
  margin-top:0;
}

.portal-content-grid{
  align-items:start;
}

.portal-form-card{
  max-width:900px;
}

.portal-booking-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:22px;
  align-items:start;
}

.portal-booking-aside{
  display:grid;
  gap:18px;
  position:sticky;
  top:95px;
}

.portal-subtitle{
  margin:28px 0 12px;
  color:var(--navy);
  font-size:1rem;
}

.portal-notice-gap{
  margin-bottom:18px;
}

.form-space{
  margin-top:14px;
}

.review-stack{
  display:grid;
  gap:12px;
}

.table-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.table-actions form{
  margin:0;
}

.ai-option{
  transition:.22s ease;
}

.ai-option:hover{
  border-color:#bcd5f7;
  background:#f5faff;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(20,85,217,.06);
}

.ai-summary{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 100% 0,rgba(25,183,201,.20),transparent 28%),
    linear-gradient(180deg,var(--navy),#0d428d);
}

.ai-summary::after{
  content:"";
  position:absolute;
  inset:auto -45px -70px auto;
  width:170px;
  height:170px;
  z-index:-1;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 0 0 24px rgba(255,255,255,.025),0 0 0 48px rgba(255,255,255,.018);
}

.estimate-card{
  margin-top:0;
}

/* QR Payment Box */
.qr-payment-box{
    text-align:center;
    margin-top:20px;
    padding:25px;
    border-radius:20px;
    background:#ffffff10;
    border:1px solid rgba(255,255,255,0.2);
}


/* QR Image Center */
.payment-qr-image{
    width:260px;
    height:260px;
    object-fit:contain;
    background:white;
    padding:15px;
    border-radius:15px;

    display:block;
    margin:20px auto;
}


.qr-payment-box h3{
    margin-bottom:15px;
}


.qr-payment-box p{
    margin-top:15px;
    font-size:.85rem;
    opacity:.8;
}


.payment-form{
  margin-top:18px;
}


.secure-payment-note{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:16px;
  padding:12px 13px;
  border-radius:14px;
  background:#effbf7;
  border:1px solid #ccefe2;
  color:#12654b;
}

.secure-payment-note > span{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#dff8ef;
  color:#11805b;
}

.secure-payment-note b,
.secure-payment-note small{
  display:block;
}

.secure-payment-note b{
  font-size:.8rem;
}

.secure-payment-note small{
  margin-top:2px;
  font-size:.7rem;
  line-height:1.45;
}

.confirmation-card{
  position:relative;
  overflow:hidden;
}

.confirmation-badge{
  width:66px;
  height:66px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:linear-gradient(135deg,#32c792,#168b61);
  color:white;
  font-size:1.7rem;
  font-weight:900;
  box-shadow:0 14px 32px rgba(22,139,97,.22),0 0 0 8px rgba(50,199,146,.08);
}

.confirmation-title{
  font-size:2.7rem;
}

.confirmation-grid{
  margin-top:26px;
}

.confirmation-location{
  margin-top:20px;
}

/* Responsive resident portal */
@media(max-width:1100px){
  .portal-booking-grid{grid-template-columns:1fr}
  .portal-booking-aside{position:static;grid-template-columns:1fr 1fr}
}

@media(max-width:980px){
  .admin-side.user-side{position:static;top:auto}
  .portal-side-brand{margin-bottom:10px}
  .admin-side.user-side .side-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-side.user-side .side-nav a{grid-template-columns:30px minmax(0,1fr) auto}
  .side-nav-divider{grid-column:1/-1}
  .portal-security-chip{display:none}
}

@media(max-width:760px){
  .portal-page-head{padding:24px 20px}
  .portal-page-head-actions{align-items:flex-start;flex-direction:column}
  .portal-page-head-actions .btn{width:100%}
  .admin-side.user-side .side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-booking-aside{grid-template-columns:1fr}
  .ai-status-ribbon{grid-template-columns:auto 1fr}
  .ai-status-tag{display:none}
}

@media(max-width:520px){
  .admin-side.user-side .side-nav{grid-template-columns:1fr}
  .portal-side-brand{justify-content:center;text-align:left}
  .portal-page-head h1{font-size:2rem}
  .confirmation-title{font-size:2.15rem}
}

@media(prefers-reduced-motion:reduce){
  body::after,
  .portal-page-head::after,
  .admin-side.user-side::before,
  .portal-side-orb,
  .security-pulse,
  .ai-card::after,
  .ai-panel::after{
    animation:none!important;
  }
  .ai-card:hover::before,
  .ai-panel:hover::before,
  .action-card.ai-card:hover,
  .admin-side.user-side .side-nav a:hover{
    transform:none!important;
  }
}

/* =========================================================
   MBAS-GO HOME AI EXPERIENCE + ADMIN PROFILE
   Added for the AI-enhanced public home page and persistent
   administrator profile/sidebar experience.
========================================================= */

/* ---------- Administrator sidebar accent ---------- */
.admin-portal-side{
  background:linear-gradient(180deg,#160828 0%,#31105c 52%,#083f73 100%)!important;
}

.admin-portal-side::after{
  background:
    radial-gradient(circle at 110% 4%,rgba(242,201,76,.17),transparent 29%),
    radial-gradient(circle at -10% 92%,rgba(25,183,201,.12),transparent 28%),
    linear-gradient(180deg,rgba(22,8,40,.985),rgba(49,16,92,.975) 58%,rgba(8,63,115,.975))!important;
}

.admin-portal-side .admin-orb{
  color:#31105c;
  background:linear-gradient(135deg,#fff0a5,var(--gold-2));
  box-shadow:0 0 0 5px rgba(242,201,76,.09),0 0 30px rgba(242,201,76,.28);
}

.admin-portal-side .admin-avatar{
  background:linear-gradient(135deg,var(--gold-2),#ffdf6a);
  color:#321d00;
}

.admin-portal-side .side-nav a:hover,
.admin-portal-side .side-nav a.active{
  color:#fff3b0!important;
  background:linear-gradient(90deg,rgba(242,201,76,.15),rgba(25,183,201,.09))!important;
}

.admin-portal-side .side-nav a.active::before{
  background:linear-gradient(180deg,var(--gold-2),var(--cyan));
}

.admin-security-chip .security-pulse{
  box-shadow:0 0 0 0 rgba(242,201,76,.48);
  background:var(--gold-2);
}

/* ---------- Administrator profile ---------- */
.admin-profile-shell{
  position:relative;
  align-items:start;
}

.admin-profile-main{
  min-width:0;
}

.admin-profile-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:
    radial-gradient(circle at 90% 10%,rgba(242,201,76,.15),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.97),rgba(246,249,255,.91));
}

.admin-profile-status{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 15px;
  border:1px solid rgba(14,159,143,.18);
  border-radius:16px;
  background:rgba(233,250,243,.74);
  box-shadow:0 10px 28px rgba(14,159,143,.08);
}

.admin-profile-status strong,
.admin-profile-status small{
  display:block;
}

.admin-profile-status strong{
  color:#075f49;
  font-size:.86rem;
}

.admin-profile-status small{
  margin-top:2px;
  color:#4f746d;
  font-size:.7rem;
}

.admin-profile-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:22px;
}

.admin-profile-card{
  min-width:0;
}

.profile-panel-head{
  margin-bottom:22px;
}

.profile-panel-head > div:first-child{
  display:flex;
  align-items:center;
  gap:11px;
}

.profile-panel-head h2{
  margin:0;
  color:var(--navy);
  font-size:1.08rem;
}

.profile-mini-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:12px;
  color:#fff;
  font-weight:800;
  font-size:.7rem;
  letter-spacing:.06em;
  background:linear-gradient(135deg,#4f1b85,#1455d9);
  box-shadow:0 10px 25px rgba(79,27,133,.2);
}

.profile-lock-icon{
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:#3d2a00;
}

.password-policy-box{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:15px;
  margin-bottom:20px;
  border:1px solid rgba(20,85,217,.12);
  border-radius:16px;
  background:linear-gradient(135deg,#f5f9ff,#f9fcff);
}

.password-policy-box strong{
  grid-column:1/-1;
  color:var(--navy);
  margin-bottom:3px;
  font-size:.82rem;
}

.password-policy-box span{
  position:relative;
  padding-left:16px;
  color:var(--muted);
  font-size:.73rem;
}

.password-policy-box span::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--teal);
  font-weight:900;
}

.admin-security-note{
  display:flex;
  align-items:center;
  gap:17px;
  margin-top:22px;
  padding:20px 22px;
}

.security-note-orb{
  width:50px;
  height:50px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#fff;
  font-weight:900;
  letter-spacing:.06em;
  background:linear-gradient(135deg,#4f1b85,var(--blue),var(--cyan));
  box-shadow:0 12px 30px rgba(20,85,217,.19);
}

.admin-security-note strong{
  display:block;
  color:var(--navy);
  margin-bottom:4px;
}

.admin-security-note p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.65;
}

/* ---------- Public home AI hero ---------- */
.ai-home-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-top:72px;
  padding-bottom:36px;
  background:
    radial-gradient(circle at 12% 18%,rgba(20,85,217,.11),transparent 30%),
    radial-gradient(circle at 87% 14%,rgba(25,183,201,.12),transparent 27%),
    linear-gradient(180deg,#f8fbff 0%,#f5f9ff 74%,rgba(244,248,255,.32) 100%);
}

.ai-home-grid-overlay{
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  opacity:.48;
  background-image:
    linear-gradient(rgba(20,85,217,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,85,217,.055) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,black,rgba(0,0,0,.38) 67%,transparent);
}

.ai-home-beam{
  position:absolute;
  z-index:-2;
  pointer-events:none;
  width:44vw;
  height:44vw;
  border-radius:50%;
  filter:blur(70px);
  opacity:.32;
}

.ai-home-beam-one{
  right:-19vw;
  top:-20vw;
  background:conic-gradient(from 0deg,var(--blue),var(--cyan),var(--gold-2),var(--blue));
  animation:aiHomeBeam 18s linear infinite;
}

.ai-home-beam-two{
  left:-25vw;
  bottom:-32vw;
  background:conic-gradient(from 90deg,var(--cyan),var(--blue),#7e57c2,var(--cyan));
  animation:aiHomeBeam 26s linear infinite reverse;
}

@keyframes aiHomeBeam{
  to{transform:rotate(360deg)}
}

.ai-home-hero-grid{
  align-items:center;
  gap:54px;
}

.ai-home-copy{
  position:relative;
  z-index:3;
}

.ai-live-chip{
  width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:17px;
  padding:8px 13px;
  border:1px solid rgba(20,85,217,.12);
  border-radius:999px;
  color:#16418d;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 24px rgba(7,28,63,.07);
  backdrop-filter:blur(12px);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.03em;
}

.ai-live-dot,
.ai-visual-pulse{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:#24c88a;
  box-shadow:0 0 0 0 rgba(36,200,138,.45);
  animation:aiLivePulse 2s ease-out infinite;
}

@keyframes aiLivePulse{
  70%{box-shadow:0 0 0 9px rgba(36,200,138,0)}
  100%{box-shadow:0 0 0 0 rgba(36,200,138,0)}
}

.ai-home-title{
  max-width:760px;
}

.ai-home-title span{
  position:relative;
  display:inline;
  background:linear-gradient(90deg,#1455d9,#0d9eae,#8c64c8,#1455d9);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:aiTitleFlow 7s linear infinite;
}

@keyframes aiTitleFlow{
  to{background-position:220% 0}
}

.ai-home-lead{
  max-width:720px;
}

.ai-primary-btn{
  position:relative;
  overflow:hidden;
}

.ai-primary-btn::after{
  content:"";
  position:absolute;
  top:-100%;
  left:-60%;
  width:38%;
  height:300%;
  transform:rotate(24deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
  animation:aiButtonSweep 4.7s ease-in-out infinite;
}

@keyframes aiButtonSweep{
  0%,55%{left:-60%}
  78%,100%{left:135%}
}

.ai-secondary-btn{
  backdrop-filter:blur(10px);
  background:rgba(255,255,255,.78);
}

.ai-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:9px 16px;
  margin-top:18px;
  color:var(--muted);
  font-size:.75rem;
  font-weight:700;
}

.ai-trust-row span{
  display:flex;
  align-items:center;
  gap:6px;
}

.ai-trust-row i{
  width:19px;
  height:19px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#087455;
  background:#e6f9f2;
  font-style:normal;
  font-size:.62rem;
}

.ai-home-visual{
  position:relative;
  min-height:530px;
  z-index:2;
}

.ai-image-frame{
  position:absolute;
  inset:26px 14px 28px 14px;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.85);
  background:linear-gradient(145deg,#071c3f,#0e4777 58%,#12a2af);
  box-shadow:0 38px 90px rgba(7,28,63,.27);
}

.ai-image-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 13%,rgba(242,201,76,.38),transparent 24%),
    linear-gradient(180deg,rgba(7,28,63,.02),rgba(7,28,63,.14) 45%,rgba(7,28,63,.74));
}

.ai-image-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.025);
  animation:aiImageBreathe 12s ease-in-out infinite alternate;
}

@keyframes aiImageBreathe{
  to{transform:scale(1.075)}
}

.mbas-image-placeholder{
  display:grid;
  place-items:center;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 78% 18%,rgba(242,201,76,.25),transparent 24%),
    linear-gradient(145deg,#071c3f,#0e4777 58%,#12a2af);
  background-size:34px 34px,34px 34px,auto,auto;
}

.mbas-placeholder-copy{
  position:relative;
  z-index:4;
  max-width:320px;
  padding:26px;
  text-align:center;
  color:#fff;
}

.mbas-placeholder-logo{
  width:84px;
  height:84px;
  display:grid;
  place-items:center;
  margin:0 auto 15px;
  border-radius:25px;
  border:1px solid rgba(255,255,255,.24);
  color:#211700;
  background:linear-gradient(135deg,#fff3b0,var(--gold-2));
  box-shadow:0 16px 40px rgba(0,0,0,.2);
  font-weight:900;
  font-size:.93rem;
  letter-spacing:.08em;
}

.mbas-placeholder-copy strong,
.mbas-placeholder-copy small{
  display:block;
}

.mbas-placeholder-copy strong{
  font-size:1.12rem;
}

.mbas-placeholder-copy small{
  margin-top:7px;
  color:#c9def6;
  line-height:1.6;
}

.ai-image-shade{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  box-shadow:inset 0 0 80px rgba(5,19,44,.22);
}

.ai-scan-line{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  top:-4px;
  height:2px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(126,240,255,.9),rgba(255,231,143,.8),transparent);
  box-shadow:0 0 18px rgba(126,240,255,.85);
  animation:aiScanImage 5.8s ease-in-out infinite;
}

@keyframes aiScanImage{
  0%,12%{top:3%;opacity:0}
  22%{opacity:1}
  78%{opacity:.9}
  88%,100%{top:96%;opacity:0}
}

.ai-corner{
  position:absolute;
  z-index:6;
  width:28px;
  height:28px;
  border-color:rgba(175,244,255,.82);
  pointer-events:none;
}

.ai-corner-a{left:18px;top:18px;border-left:2px solid;border-top:2px solid}
.ai-corner-b{right:18px;top:18px;border-right:2px solid;border-top:2px solid}
.ai-corner-c{left:18px;bottom:18px;border-left:2px solid;border-bottom:2px solid}
.ai-corner-d{right:18px;bottom:18px;border-right:2px solid;border-bottom:2px solid}

.ai-visual-label{
  position:absolute;
  z-index:7;
  left:26px;
  bottom:24px;
  display:flex;
  align-items:center;
  gap:11px;
  max-width:calc(100% - 52px);
  padding:12px 15px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
  color:#fff;
  background:rgba(5,23,52,.64);
  backdrop-filter:blur(14px);
}

.ai-visual-label small,
.ai-visual-label strong{
  display:block;
}

.ai-visual-label small{
  color:#9cc7ed;
  font-size:.58rem;
  letter-spacing:.12em;
}

.ai-visual-label strong{
  margin-top:2px;
  font-size:.78rem;
}

.ai-float-card{
  position:absolute;
  z-index:10;
  display:flex;
  align-items:center;
  gap:11px;
  min-width:190px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.94);
  border-radius:17px;
  background:rgba(255,255,255,.91);
  box-shadow:0 18px 46px rgba(7,28,63,.17);
  backdrop-filter:blur(16px);
  animation:aiHomeFloat 5.5s ease-in-out infinite;
}

.ai-float-card-one{left:-18px;top:72px}
.ai-float-card-two{right:-18px;top:210px;animation-delay:-1.8s}
.ai-float-card-three{left:12px;bottom:35px;animation-delay:-3.4s}

@keyframes aiHomeFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

.ai-card-symbol{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  box-shadow:0 9px 20px rgba(20,85,217,.18);
  font-size:.72rem;
  font-weight:900;
}

.ai-float-card strong,
.ai-float-card small{
  display:block;
}

.ai-float-card strong{
  color:var(--navy);
  font-size:.78rem;
}

.ai-float-card small{
  margin-top:2px;
  color:var(--muted);
  font-size:.64rem;
}

.ai-orbit{
  position:absolute;
  z-index:-1;
  border-radius:50%;
  border:1px solid rgba(20,85,217,.16);
  pointer-events:none;
}

.ai-orbit-one{
  width:220px;
  height:220px;
  right:-52px;
  top:-10px;
  box-shadow:0 0 0 28px rgba(25,183,201,.035),0 0 0 56px rgba(20,85,217,.025);
  animation:aiOrbitPulse 7s ease-in-out infinite;
}

.ai-orbit-two{
  width:160px;
  height:160px;
  left:-38px;
  bottom:0;
  box-shadow:0 0 0 22px rgba(242,201,76,.035),0 0 0 44px rgba(20,85,217,.02);
  animation:aiOrbitPulse 8.5s ease-in-out infinite reverse;
}

@keyframes aiOrbitPulse{
  50%{transform:scale(1.08);opacity:.56}
}

.ai-home-stats{
  position:relative;
  z-index:5;
  margin-top:20px;
}

.ai-stat-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.96);
  background:rgba(255,255,255,.86);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.ai-stat-card::after{
  content:"";
  position:absolute;
  inset:auto -30px -45px auto;
  width:105px;
  height:105px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,183,201,.13),transparent 68%);
}

.ai-stat-card:hover{
  transform:translateY(-5px);
  border-color:rgba(20,85,217,.15);
  box-shadow:0 20px 42px rgba(7,28,63,.12);
}

.ai-stat-icon{
  position:absolute;
  top:13px;
  right:14px;
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:#1d4fa7!important;
  background:#edf4ff;
  font-size:.58rem!important;
  font-weight:900;
}

.ai-capability-section{
  position:relative;
}

.ai-home-feature{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.ai-home-feature:hover{
  transform:translateY(-7px);
  border-color:rgba(20,85,217,.14);
  box-shadow:0 24px 50px rgba(7,28,63,.12);
}

.ai-feature-index{
  position:absolute;
  right:22px;
  top:22px;
  color:rgba(20,85,217,.15);
  font-size:1.55rem;
  font-weight:900;
}

.ai-hall-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(100deg,transparent 18%,rgba(255,255,255,.06) 43%,transparent 68%);
  transform:translateX(-110%);
  animation:aiHallSweep 7s ease-in-out infinite;
}

@keyframes aiHallSweep{
  0%,45%{transform:translateX(-110%)}
  75%,100%{transform:translateX(120%)}
}

.ai-process-section{
  overflow:hidden;
}

.ai-process-track{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;
  gap:12px;
  margin-top:34px;
}

.ai-process-card{
  position:relative;
  min-height:150px;
  padding:23px;
  border:1px solid rgba(20,85,217,.11);
  border-radius:22px;
  background:rgba(255,255,255,.88);
  box-shadow:0 15px 36px rgba(7,28,63,.08);
  overflow:hidden;
}

.ai-process-card::after{
  content:"";
  position:absolute;
  width:100px;
  height:100px;
  right:-38px;
  bottom:-43px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,183,201,.15),transparent 70%);
}

.ai-process-card > span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin-bottom:17px;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  font-size:.7rem;
  font-weight:900;
}

.ai-process-card b,
.ai-process-card small{
  display:block;
}

.ai-process-card b{
  color:var(--navy);
  margin-bottom:5px;
}

.ai-process-card small{
  color:var(--muted);
  line-height:1.55;
}

.ai-process-line{
  width:28px;
  height:2px;
  position:relative;
  overflow:hidden;
  background:#dbe7f5;
}

.ai-process-line::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  transform:translateX(-100%);
  animation:aiProcessFlow 2.4s linear infinite;
}

@keyframes aiProcessFlow{
  to{transform:translateX(100%)}
}

.ai-review-card{
  transition:transform .25s ease,box-shadow .25s ease;
}

.ai-review-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 45px rgba(7,28,63,.11);
}

@media(max-width:1080px){
  .ai-home-hero-grid{gap:34px}
  .ai-home-visual{min-height:480px}
  .ai-float-card{min-width:170px}
  .admin-profile-grid{grid-template-columns:1fr}
}

@media(max-width:980px){
  .ai-home-visual{min-height:520px;max-width:680px;width:100%;margin:0 auto}
  .ai-home-hero-grid{gap:20px}
  .ai-process-track{grid-template-columns:1fr 1fr;gap:16px}
  .ai-process-line{display:none}
  .admin-profile-head{align-items:flex-start;flex-direction:column}
}

@media(max-width:760px){
  .ai-home-hero{padding-top:44px}
  .ai-home-visual{min-height:430px}
  .ai-image-frame{inset:20px 6px 22px}
  .ai-float-card-one{left:0;top:42px}
  .ai-float-card-two{right:0;top:178px}
  .ai-float-card-three{left:10px;bottom:16px}
  .ai-float-card{min-width:155px;padding:10px}
  .ai-card-symbol{width:32px;height:32px}
  .ai-trust-row{gap:8px 12px}
  .ai-process-track{grid-template-columns:1fr}
  .password-policy-box{grid-template-columns:1fr}
}

@media(max-width:480px){
  .ai-home-visual{min-height:390px}
  .ai-float-card-two{top:160px}
  .ai-float-card{min-width:145px}
  .ai-float-card small{display:none}
  .ai-visual-label{left:16px;right:16px;bottom:15px;max-width:none}
  .mbas-placeholder-copy{padding:18px}
  .admin-profile-status{width:100%}
  .admin-security-note{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  .ai-home-beam,
  .ai-home-title span,
  .ai-primary-btn::after,
  .ai-image-frame img,
  .ai-scan-line,
  .ai-float-card,
  .ai-orbit,
  .ai-hall-showcase::before,
  .ai-process-line::after{
    animation:none!important;
  }
}


/* Professional language switcher */
.nav-cluster{display:flex;align-items:center;gap:16px;margin-left:auto;position:relative}
.lang-switcher{position:relative;z-index:60}
.lang-toggle{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.92);border:1px solid rgba(211,223,238,.95);border-radius:16px;padding:9px 14px 9px 10px;box-shadow:0 10px 24px rgba(7,28,63,.08);color:var(--navy);cursor:pointer;transition:.25s;min-width:190px}
.lang-toggle:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(7,28,63,.12);border-color:#c6d8f1}
.lang-toggle-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#eef5ff,#ffffff);color:var(--blue);border:1px solid #dce8f8;flex:0 0 38px}
.lang-toggle-icon svg{width:20px;height:20px}
.lang-toggle-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left;flex:1}
.lang-toggle-copy small{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#7b8da8;font-weight:800}
.lang-toggle-copy strong{font-size:.88rem;color:var(--navy);font-weight:800}
.lang-toggle-caret{font-size:.9rem;color:#56708f;transition:transform .2s ease}
.lang-switcher.open .lang-toggle-caret{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:230px;background:rgba(255,255,255,.98);backdrop-filter:blur(18px);border:1px solid #e2ebf6;border-radius:18px;padding:10px;box-shadow:0 24px 50px rgba(7,28,63,.16);display:none}
.lang-switcher.open .lang-menu{display:block}
.lang-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;background:transparent;border:0;border-radius:14px;padding:12px 14px;color:#405675;cursor:pointer;transition:.2s}
.lang-option span{font-weight:800;color:var(--navy)}
.lang-option small{color:#7186a3;font-size:.75rem}
.lang-option:hover{background:#f5f9ff}
.lang-option.active{background:linear-gradient(135deg,rgba(20,85,217,.08),rgba(30,176,186,.08));box-shadow:inset 0 0 0 1px rgba(20,85,217,.14)}
.lang-option.active::after{content:"✓";margin-left:auto;color:var(--blue);font-weight:900}
.google-translate-hidden,#google_translate_element,.goog-te-gadget,.goog-te-banner-frame.skiptranslate,.goog-logo-link,.goog-te-gadget span{display:none!important}
body{top:0!important}
.skiptranslate{font-size:0!important}
@media(max-width:980px){.nav-shell{gap:14px}.lang-toggle{min-width:178px}}
@media(max-width:768px){.nav-cluster{gap:10px}.lang-toggle{min-width:auto;padding:8px 11px 8px 9px}.lang-toggle-copy small{display:none}.lang-toggle-copy strong{font-size:.82rem}.lang-toggle-icon{width:34px;height:34px;flex-basis:34px}.main-nav{top:76px}.lang-menu{right:0;min-width:210px}}
@media(max-width:560px){.lang-toggle{padding:8px}.lang-toggle-copy{display:none}.lang-toggle-icon{margin-right:2px}.lang-toggle-caret{display:none}.lang-menu{right:-6px}}


/* Simple EN BM language switch */
.simple-language{display:flex;align-items:center;gap:8px;background:white;border:1px solid #e1eaf5;border-radius:12px;padding:6px 10px;box-shadow:0 8px 20px rgba(7,28,63,.08);font-weight:800;color:#8aa0ba}
.simple-lang{border:0;background:transparent;color:#344660;font-weight:800;font-size:.85rem;cursor:pointer;padding:5px 8px;border-radius:8px}
.simple-lang:hover,.simple-lang.active{background:#1455d9;color:white}
#google_translate_element{display:none!important}
.goog-te-banner-frame.skiptranslate{display:none!important}
body{top:0!important}


/* Simple EN BM language switch */
.language-switch{display:flex;align-items:center;gap:6px;margin-right:18px;font-weight:800;color:#344660}
.language-switch button{border:1px solid #d9e4f2;background:white;color:#233b5d;border-radius:8px;padding:6px 10px;font-weight:800;cursor:pointer;transition:.2s}
.language-switch button:hover{background:#1455d9;color:white;border-color:#1455d9}

/* final clean language button */
.goog-te-banner-frame.skiptranslate{display:none!important;}
body{top:0!important;}
.simple-language{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dce7f5;border-radius:12px;padding:6px 10px;box-shadow:0 8px 20px rgba(7,28,63,.08);font-weight:800;}
.simple-lang{border:0;background:transparent;color:#425a78;font-weight:800;cursor:pointer;padding:4px 7px;border-radius:8px;}
.simple-lang.active,.simple-lang:hover{background:#1455d9;color:#fff;}


/* Final EN BM navbar style */
.nav-cluster{display:flex;align-items:center;gap:20px;margin-left:auto}
.simple-language{display:flex;align-items:center;gap:6px;margin-left:8px}
.simple-lang{height:38px;min-width:38px;padding:0 12px;border-radius:10px;border:1px solid rgba(20,85,217,.25);background:white;color:#1455d9;font-weight:800;cursor:pointer;transition:.2s}
.simple-lang:hover,.simple-lang.active{background:linear-gradient(135deg,#1455d9,#071c3f);color:white;border-color:#1455d9}
.nav-divider{width:1px;height:28px;background:#dbe5f2;margin-left:8px}
@media(max-width:768px){.simple-language{order:2}.nav-divider{display:none}}
