*{box-sizing:border-box} :root{--blue:#0879f9;--navy:#102c5b;--muted:#758196;--line:#e3e9f0;--orange:#ff8500}body{margin:0;background:#e9edf2;color:#14233a;font-family:Arial,Helvetica,sans-serif;font-size:14px}.topbar{background:var(--blue);color:white;box-shadow:0 2px 7px #102a5615}.nav-inner{max-width:1110px;height:54px;margin:auto;display:flex;align-items:center;gap:28px;padding:0 12px}.brand{color:white;text-decoration:none}.logo{width:43px;height:43px;border:1px solid #b6edff;border-radius:50%;display:grid;place-items:center;color:#b6edff;font-family:Georgia;font-size:19px}.nav-search{display:flex;align-items:center;background:#fff;color:#8b95a5;border-radius:9px;max-width:330px;flex:1;height:36px;padding:0 12px;gap:9px}.nav-search input{border:0;outline:0;width:100%;font-size:13px}.nav-inner nav{margin-left:auto;display:flex;align-items:center;gap:20px}.nav-inner nav a{color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}.nav-register,.account-menu>a{background:#ffffff24;padding:11px 13px;border-radius:9px}.account-menu{position:relative}.dropdown{display:none;position:absolute;right:0;top:100%;z-index:10;background:#fff;min-width:150px;box-shadow:0 8px 25px #102a5625;border-radius:8px;padding:8px}.dropdown a{display:block!important;color:#20314c!important;padding:10px}.account-menu:hover .dropdown{display:block}.shell{max-width:1080px;margin:0 auto;padding:26px 12px 50px;min-height:75vh}.hero-banners{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.hero-banners img{width:100%;height:278px;object-fit:cover;display:block;border-radius:2px}.banner-placeholder{height:278px;border-radius:5px;background:linear-gradient(120deg,#d9edff,#fff 48%,#8bc8ff);display:flex;flex-direction:column;justify-content:center;padding:28px;color:#103d8b}.banner-placeholder h2{font-size:27px;margin:0 0 10px;text-transform:uppercase}.banner-placeholder p{max-width:240px}.section-heading{margin:12px 0 14px}.section-heading h1,.section-heading h2{font-size:18px;margin:0 0 6px;color:#111}.section-heading p{font-size:11px;color:var(--muted);margin:0}.product-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.product-card{background:white;border-radius:11px;overflow:hidden;box-shadow:0 4px 10px #102a5610;min-width:0;text-decoration:none;color:inherit;display:flex;flex-direction:column}.product-image{height:92px;background:linear-gradient(135deg,#ff7900,#ffa500);position:relative;display:grid;place-items:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;padding:9px}.voucher-icon{font-size:35px;background:#208eff;border:4px solid #fff;border-radius:8px;padding:6px 13px;color:white;box-shadow:0 2px 0 #184b87}.stock-badge{position:absolute;right:7px;top:7px;border-radius:6px;background:#15c878;color:#fff;padding:3px 8px;font-size:10px}.stock-badge.out{background:#ef5350}.product-info{padding:10px 9px 12px;display:flex;flex-direction:column;gap:5px;flex:1}.product-info h3{font-size:11px;line-height:1.35;margin:0}.product-info p{font-size:10px;color:var(--muted);margin:0}.duration{font-size:10px;color:#6d7889;margin-top:auto}.price{font-size:13px;font-weight:800;color:#ff4c19;margin-top:4px}.btn{border:0;display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:9px;padding:11px 15px;background:var(--blue);color:white;text-decoration:none;font-weight:700;cursor:pointer}.btn-outline{background:#fff;color:var(--blue);border:1px solid #cfe0f7}.btn-danger{background:#d93030}.form-card,.panel,.auth-panel{background:#fff;border-radius:15px;padding:24px;box-shadow:0 6px 24px #102a560a}.form-card{max-width:620px;margin:0 auto}.form-stack{display:grid;gap:15px}.form-stack label{display:grid;gap:7px;font-weight:700}.form-stack input,.form-stack select,.form-stack textarea,input.field{border:1px solid #d9e2ee;border-radius:9px;padding:12px;font:inherit;width:100%;background:#fff}.form-stack small{font-weight:400;color:var(--muted)}.alert{padding:12px 15px;border-radius:9px;margin:0 0 16px;background:#eef5ff;color:#174c91}.alert-danger{background:#fff0f0;color:#a52626}.alert-success{background:#eafaf1;color:#167245}.alert-warning{background:#fff6df;color:#8a5b00}.auth-wrap{max-width:930px;margin:18px auto;display:grid;grid-template-columns:1fr 1fr;background:white;border-radius:20px;overflow:hidden;box-shadow:0 8px 28px #102a5610}.auth-aside{padding:36px;background:linear-gradient(145deg,#0879f9,#0a3d91);color:white}.auth-aside h1{font-size:29px;line-height:1.2}.auth-aside p{color:#e1edff;line-height:1.7}.auth-panel{box-shadow:none;border-radius:0}.auth-panel h2{margin:0 0 8px}.muted{color:var(--muted)}.auth-switch{text-align:center;margin:18px 0 0}.auth-switch a{color:var(--blue);font-weight:700}.fine-print{font-size:12px;color:var(--muted);line-height:1.6}.footer{background:#fff;border-top:1px solid var(--line);padding:20px;text-align:center;color:var(--muted);font-size:12px}.detail{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:#fff;padding:25px;border-radius:16px}.detail-img{background:#fff0dc;border-radius:12px;min-height:300px;display:grid;place-items:center}.detail-img img{max-width:100%;max-height:350px;object-fit:contain}.detail-price{font-size:27px;color:#ff4c19;font-weight:800;margin:15px 0}.table-wrap{overflow:auto;background:white;border-radius:12px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table th{background:#f6f9fc}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.metric{background:#fff;border-radius:13px;padding:18px}.metric strong{display:block;font-size:23px;color:#0759c7;margin-top:8px}.dashboard-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.empty{padding:32px;background:white;border-radius:12px;text-align:center;color:var(--muted)}.chat-box{background:white;border-radius:12px;padding:18px}.chat-msg{padding:10px 13px;background:#f0f5fc;border-radius:12px;margin:8px 0;max-width:80%}.chat-msg.mine{margin-left:auto;background:#dcecff}.chat-msg small{display:block;color:var(--muted);margin-bottom:5px}@media(max-width:1050px){.product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.hero-banners img,.banner-placeholder{height:230px}}@media(max-width:720px){.nav-inner{gap:10px}.nav-inner nav{gap:10px;font-size:11px}.nav-search{max-width:none}.nav-inner nav>a:first-child{display:none}.hero-banners{grid-template-columns:1fr}.hero-banners img,.banner-placeholder{height:190px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-wrap,.detail{grid-template-columns:1fr}.auth-aside{padding:24px}.cards{grid-template-columns:1fr}.shell{padding:18px 10px 35px}}@media(max-width:440px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-inner nav{gap:8px}.nav-search{height:32px}.logo{width:36px;height:36px}}
/* Shared ASCorp Est visual system */
:root{--blue:#0879f9;--navy:#102c5b;--muted:#758196;--line:#e3e9f0;--orange:#ff8500;--surface:#fff;--page:#f4f7fb}
body{background:var(--page);color:#17243b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.topbar{background:#fff;color:#17243b;border-bottom:1px solid #e5ebf3;box-shadow:0 3px 18px #102a5608;position:sticky;top:0;z-index:20}
.nav-inner{height:70px;max-width:1200px}.brand{display:flex;align-items:center;gap:10px;color:#17345e}.brand .logo{background:#eaf4ff;color:#0879f9;border:1px solid #cfe5ff;font-weight:800;font-family:inherit}.brand-copy{display:grid;gap:2px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:10px;color:#73839a;font-weight:500}.nav-search{background:#f6f9fd;border:1px solid #e4ebf5;max-width:380px}.nav-inner nav a{color:#31435f}.nav-register,.account-menu>a{background:#0879f9;color:#fff!important;padding:11px 15px;border-radius:9px}.shell{max-width:1200px;padding-top:28px}.auth-wrap{max-width:980px;margin:28px auto;border:1px solid #e6edf6;box-shadow:0 20px 60px #183b6610;border-radius:22px}.auth-aside{background:linear-gradient(150deg,#0879f9 0%,#1455b4 55%,#12366e 100%);padding:42px}.auth-aside .logo{background:#ffffff20;border-color:#ffffff80;color:#fff}.auth-aside h1{font-size:32px;letter-spacing:-.6px}.auth-panel{padding:36px}.auth-panel h2{font-size:26px;letter-spacing:-.5px}.form-stack input,.form-stack select,.form-stack textarea,input.field{border-color:#dce5f0;border-radius:10px;padding:13px 14px;transition:border-color .15s,box-shadow .15s}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,input.field:focus{outline:none;border-color:#70afff;box-shadow:0 0 0 3px #0879f91a}.btn{border-radius:10px;padding:12px 16px;transition:transform .12s,box-shadow .12s}.btn:hover{box-shadow:0 6px 15px #0879f925;transform:translateY(-1px)}.form-card,.panel,.auth-panel,.detail,.metric,.product-card{border:1px solid #e7edf5;box-shadow:0 8px 24px #17345e08}.footer{background:#fff;border-top:1px solid #e5ebf3;text-align:left;padding:28px 18px;color:#6f7d91}.footer-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1.5fr;gap:18px;align-items:start}.footer-brand strong{color:#183a68;font-size:16px}.footer-brand p{max-width:330px;line-height:1.6}.footer-links{display:flex;flex-wrap:wrap;gap:14px}.footer-links a{color:#385171;text-decoration:none}.payments{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.payments span{width:100%;font-size:10px;letter-spacing:1px;font-weight:800}.payments b{border:1px solid #e3e9f0;border-radius:6px;padding:7px 9px;font-size:10px;background:#fff;color:#44536a}.footer-inner>small{grid-column:1/-1;border-top:1px solid #edf1f6;padding-top:15px}.product-card{border-radius:13px}.product-image{background:linear-gradient(135deg,#e8f4ff,#cfe6ff)}.voucher-icon{background:#0879f9}.section-heading h1{font-size:23px;letter-spacing:-.4px}.stock-badge{border-radius:20px}@media(max-width:720px){.nav-inner{height:auto;min-height:62px;flex-wrap:wrap;padding:10px 12px}.brand-copy small{display:none}.nav-inner nav{margin-left:auto}.footer-inner{grid-template-columns:1fr}.footer-inner>small{grid-column:auto}.auth-wrap{margin:14px auto}.auth-aside{padding:25px}.auth-aside h1{font-size:25px}.auth-panel{padding:25px}}

/* Admin account password reset form */
.password-reset-form{display:flex;flex-direction:column;gap:7px;min-width:210px;max-width:260px}
.password-reset-form input{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--border,#d9e2ef);border-radius:9px;font:inherit;font-size:13px;background:#fff;color:#182230}
.password-reset-form .btn{align-self:flex-start;white-space:nowrap}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
