:root{--red:#c8102e;--dark:#05080d;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--light:#f7f8fb;--white:#fff;--shadow:0 24px 70px rgba(17,24,39,.16);--soft:0 12px 35px rgba(17,24,39,.08);--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--white);text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(5,8,13,.74);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .22s ease,background .22s ease}.site-header.scrolled{background:rgba(5,8,13,.92);box-shadow:0 12px 34px rgba(0,0,0,.22)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;transition:height .22s ease}.site-header.scrolled .nav{height:66px}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:900;line-height:1.04}.brand img{width:58px;height:58px;object-fit:contain;transition:.22s ease}.site-header.scrolled .brand img{width:46px;height:46px}.nav-links{display:flex;gap:22px;align-items:center;color:#fff;font-weight:800;font-size:.93rem}.nav-links a{opacity:.8;position:relative;padding:10px 0;transition:.18s ease}.nav-links a:hover,.nav-links a.active{opacity:1;transform:translateY(-1px)}.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--red);border-radius:99px}.admin-link{border:1px solid rgba(255,255,255,.25);padding:10px 16px!important;border-radius:999px}.menu-toggle{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.06);align-items:center;justify-content:center;gap:5px;flex-direction:column}.menu-toggle span{width:19px;height:2px;background:#fff;border-radius:2px;transition:.22s ease}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero{position:relative;min-height:calc(100vh - 84px);background:radial-gradient(circle at 72% 10%,rgba(200,16,46,.36),transparent 31%),radial-gradient(circle at 18% 72%,rgba(200,16,46,.18),transparent 28%),linear-gradient(145deg,#05080d 0%,#0b1220 45%,#2a0610 100%);background-size:140% 140%;color:#fff;padding:96px 0 70px;overflow:hidden;animation:heroShift 14s ease-in-out infinite}.hero:before,.dark:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}.hero-stage{position:relative;z-index:1;display:grid;grid-template-columns:1fr 430px;grid-template-areas:"copy card" "stats stats";gap:30px 48px;align-items:end}.hero-copy{grid-area:copy;max-width:940px}.hero h1{font-size:clamp(3.4rem,9vw,8.7rem);line-height:.86;margin:14px 0 26px;letter-spacing:0}.hero p{font-size:1.14rem;line-height:1.76;color:#d9dee8;max-width:720px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-card{grid-area:card;justify-self:end;align-self:center;position:relative;width:min(430px,100%);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:28px;box-shadow:var(--shadow);backdrop-filter:blur(12px);transform:rotate(-4deg);transform-style:preserve-3d}.hero-card:after{content:"";position:absolute;inset:20px -18px -18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:8px;z-index:-1}.hero-card img{width:100%;max-width:340px;display:block;margin:auto;position:relative;z-index:1}.portal-pulse{position:absolute;inset:22px;border-radius:8px;background:radial-gradient(circle,rgba(200,16,46,.24),transparent 60%);animation:pulse 3.6s ease-in-out infinite}.portal-card{position:relative;z-index:1;background:#fff;color:var(--ink);padding:20px;border-radius:8px;margin-top:18px}.portal-card p{color:var(--muted);font-size:.97rem;margin:8px 0 0}.hero-stats{grid-area:stats;display:flex;gap:0;align-items:stretch;margin-top:24px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);backdrop-filter:blur(12px);overflow:hidden}.hero-stats div{flex:1;min-width:170px;padding:20px 24px;border-right:1px solid rgba(255,255,255,.14)}.hero-stats div:last-child{border-right:0}.hero-stats strong{display:block;font-size:clamp(1.35rem,3vw,2.25rem);font-weight:900}.hero-stats span{display:block;margin-top:5px;color:#cbd5e1}.hero-orb{position:absolute;border-radius:50%;filter:blur(16px);opacity:.62;pointer-events:none}.orb-one{width:360px;height:360px;right:7%;top:14%;background:rgba(200,16,46,.22);animation:float 8s ease-in-out infinite}.orb-two{width:190px;height:190px;left:8%;bottom:10%;background:rgba(255,255,255,.08);animation:float 11s ease-in-out infinite reverse}.eyebrow,.section-title p{color:var(--red);font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:14px 20px;font-weight:900;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--red);color:#fff;box-shadow:0 14px 36px rgba(200,16,46,.34)}.btn.primary:hover{box-shadow:0 18px 46px rgba(200,16,46,.42)}.btn.secondary{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff}.light .btn.secondary,.container .btn.secondary,.admin-main .btn.secondary{border-color:#d5dbe4;color:var(--ink);background:#fff}

.section{padding:96px 0;position:relative}.section-title{text-align:left;max-width:780px;margin:0 0 42px}.section-title h2,.membership-intro h2,.license-context h2,.contact-shell h2{font-size:clamp(2.15rem,4.6vw,4.4rem);line-height:1.02;margin:8px 0 18px;letter-spacing:0}.about-bento{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:18px}.about-bento article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:var(--soft);transition:.2s ease}.about-bento article:hover,.training-roadmap article:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(17,24,39,.13)}.about-bento .bento-large{grid-row:span 2;background:linear-gradient(145deg,#fff,#f8fafc);padding:42px}.about-bento h3{font-size:clamp(1.6rem,3vw,3rem);margin:12px 0}.about-bento p,.membership-intro p,.license-context p,.contact-shell p,.training-roadmap p{color:var(--muted);line-height:1.75}.about-bento span,.training-roadmap span{color:var(--red);font-weight:900}.about-bento svg,.training-roadmap svg{width:36px;height:36px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dark{background:radial-gradient(circle at 18% 16%,rgba(200,16,46,.2),transparent 28%),linear-gradient(145deg,#05080d,#111827 62%,#1d050b);color:#fff;overflow:hidden}.light{background:var(--light)}.membership-shell{display:grid;grid-template-columns:minmax(280px,440px) minmax(0,1fr);gap:44px;align-items:start}.membership-intro{position:sticky;top:112px}.form-card{background:#fff;color:var(--ink);border-radius:8px;padding:30px;box-shadow:var(--shadow);display:grid;gap:15px}.progressive-form{min-height:470px}.step-dots{display:flex;gap:8px}.step-dots span{width:34px;height:5px;background:#e5e7eb;border-radius:99px;transition:.2s ease}.step-dots span.active{background:var(--red);width:58px}.form-step{display:none;gap:15px}.form-step.active{display:grid;animation:stepIn .22s ease}.form-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:auto}.submit-step{display:none}.form-card h3{margin:0 0 4px}.form-card label{position:relative;display:grid;gap:8px;font-weight:800;color:#374151}.form-card label span{font-size:.84rem;transition:color .18s ease}.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:14px 15px;background:#fff;color:var(--ink);outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(200,16,46,.12);transform:translateY(-1px)}.form-card label:focus-within span{color:var(--red)}.form-card textarea{min-height:120px;resize:vertical}.field-error input,.field-error select,.field-error textarea{border-color:var(--red)}.field-message{color:var(--red);font-size:.8rem;font-weight:700}.form-note{font-size:.92rem;margin:0;color:var(--red);font-weight:800}.form-note.success{color:#047857}.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.btn.loading{opacity:.72;pointer-events:none}.btn.loading:before{content:"";width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;animation:spin .7s linear infinite}

.training-roadmap{position:relative;display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:0;padding-top:32px;overflow-x:auto;scroll-snap-type:x mandatory}.training-roadmap:before{content:"";position:absolute;left:0;right:0;top:50px;height:2px;background:linear-gradient(90deg,var(--red),#111827)}.training-roadmap article{position:relative;min-width:220px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:8px;padding:72px 24px 24px;margin-right:18px;box-shadow:0 12px 30px rgba(17,24,39,.06);transition:.2s ease}.training-roadmap article:before{content:"";position:absolute;top:11px;left:24px;width:18px;height:18px;border-radius:50%;background:var(--red);box-shadow:0 0 0 8px rgba(200,16,46,.12)}.licensing-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.license-context{background:#111827;color:#fff;padding:42px}.license-context p,.license-context .checklist{color:#d8dee9}.checklist{padding-left:20px;line-height:1.9}.licensing-form{box-shadow:none;border-radius:0}.contact-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}.contact-form{padding:24px;box-shadow:0 18px 52px rgba(0,0,0,.2)}.contact-line{font-weight:800;color:#fff!important}.dashboard-preview{padding-top:72px}.admin-preview{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;background:linear-gradient(145deg,#111827,#05080d);color:#fff;border-radius:8px;padding:34px;align-items:center;box-shadow:var(--shadow);overflow:hidden}.admin-preview p{color:#cbd5e1}.mock-product{position:relative;display:grid;grid-template-columns:64px 1fr;gap:14px;background:#f8fafc;border-radius:8px;padding:16px;min-height:330px;box-shadow:0 25px 70px rgba(0,0,0,.34);transform:perspective(900px) rotateY(-8deg) rotateX(3deg)}.mock-product aside{background:#05080d;border-radius:8px}.mock-product main{display:grid;gap:12px}.mock-top{height:44px;border-radius:8px;background:#fff;box-shadow:var(--soft)}.mock-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mock-metrics span{height:68px;border-radius:8px;background:#fff;box-shadow:var(--soft)}.mock-chart{height:150px;border-radius:8px;background:#fff;display:flex;align-items:end;gap:11px;padding:18px;box-shadow:var(--soft)}.mock-chart i{flex:1;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--red),#111827);animation:bars 2s ease-in-out infinite}.mock-chart i:nth-child(1){height:44%}.mock-chart i:nth-child(2){height:64%;animation-delay:.1s}.mock-chart i:nth-child(3){height:38%;animation-delay:.2s}.mock-chart i:nth-child(4){height:78%;animation-delay:.3s}.mock-chart i:nth-child(5){height:56%;animation-delay:.4s}.mock-floating{position:absolute;right:26px;bottom:22px;width:168px;height:72px;border-radius:8px;background:linear-gradient(135deg,var(--red),#111827);box-shadow:0 18px 44px rgba(5,8,13,.28)}footer{background:#030506;color:#cbd5e1;padding:28px 0}.footer-grid{display:flex;justify-content:space-between;gap:20px}.toast{position:fixed;right:20px;bottom:20px;z-index:80;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:14px 16px;font-weight:800;transform:translateY(24px);opacity:0;pointer-events:none;transition:.22s ease}.toast.show{transform:translateY(0);opacity:1}.reveal{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}.reveal.in-view{opacity:1;transform:translateY(0)}.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}

.admin-body{background:#eef2f7;color:var(--ink)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr;grid-template-rows:76px 1fr;grid-template-areas:"side top" "side main";transition:grid-template-columns .22s ease}.admin-body.admin-collapsed .admin-shell{grid-template-columns:92px 1fr}.sidebar{grid-area:side;background:#05080d;color:#fff;padding:16px 12px;position:sticky;top:0;height:100vh;box-shadow:12px 0 36px rgba(5,8,13,.18);z-index:30}.sidebar .side-brand{display:flex;align-items:center;gap:12px;padding:8px}.sidebar img{width:46px;height:46px;object-fit:contain}.sidebar h2,.sidebar p,.sidebar .nav-label{opacity:1;width:auto;overflow:hidden;white-space:nowrap;transition:opacity .18s ease}.admin-body.admin-collapsed .sidebar h2,.admin-body.admin-collapsed .sidebar p,.admin-body.admin-collapsed .sidebar .nav-label{opacity:0;width:0}.sidebar h2{font-size:1rem;margin:0}.sidebar p{color:#cbd5e1;line-height:1.45;margin:16px 8px}.sidebar p span{color:#9ca3af;font-size:.82rem}.sidebar nav{display:grid;gap:8px;margin-top:20px}.sidebar a{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:8px;color:#dbe3ef;font-weight:850;transition:background .18s ease,transform .18s ease}.sidebar a:before{content:attr(data-icon);display:grid;place-items:center;width:22px;min-width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.08);font-size:.75rem}.sidebar a:hover,.sidebar a.active{background:rgba(200,16,46,.24);color:#fff;transform:translateX(2px)}.admin-topbar{grid-area:top;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.admin-left{display:flex;align-items:center;gap:14px}.admin-menu-button{display:grid;place-items:center;width:42px;height:42px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;font-weight:900;box-shadow:var(--soft);cursor:pointer}.breadcrumb{font-weight:900}.global-search{width:min(360px,36vw);border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 16px;outline:none}.admin-avatar{display:flex;align-items:center;gap:10px}.admin-avatar span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font-weight:900}.admin-main{grid-area:main;padding:30px;min-width:0;animation:pageIn .28s ease}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.topbar h1{margin:4px 0 6px;font-size:2.3rem}.metric-grid,.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px}.metric,.panel,.module-card{background:rgba(255,255,255,.94);border:1px solid rgba(229,231,235,.9);border-radius:8px;padding:22px;box-shadow:0 14px 34px rgba(17,24,39,.07);transition:transform .18s ease,box-shadow .18s ease}.metric:hover,.panel:hover,.module-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(17,24,39,.1)}.module-card{display:block}.module-card strong{display:block;margin-bottom:8px}.module-card span,.metric span{color:var(--muted);font-weight:800}.metric strong{font-size:2rem;display:block;margin-top:8px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);padding:13px;vertical-align:top}.admin-table tbody tr{transition:background .18s ease,transform .18s ease}.admin-table tbody tr:hover{background:#f8fafc;transform:translateX(2px)}.admin-table tr.updated{animation:flashRow 1s ease}.admin-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:900;font-size:.78rem}.badge.green{background:#dcfce7;color:#166534}.badge.blue{background:#dbeafe;color:#1d4ed8}.badge.gray{background:#f3f4f6;color:#374151}.admin-form{display:grid;gap:16px;max-width:760px}.admin-form label{display:grid;gap:8px;font-weight:800}.admin-form input,.admin-form select,.admin-form textarea,.toolbar input,.toolbar select{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(200,16,46,.12)}.admin-form textarea{min-height:120px}.toolbar{display:grid;grid-template-columns:1fr 220px auto;gap:12px;align-items:end;margin-bottom:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}.note-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:12px;color:#475569;margin-top:8px}.security-card{max-width:780px;margin:4vh auto;display:grid;grid-template-columns:220px 1fr;overflow:hidden}.security-context{background:linear-gradient(145deg,#05080d,#2a0610);color:#fff;padding:28px}.security-context p{color:#d1d5db;line-height:1.7}.security-card .admin-form{padding:28px;max-width:none}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,rgba(200,16,46,.22),transparent 26%),linear-gradient(135deg,#05080d,#101827 65%,#2a0610);padding:28px}.login-card{width:min(430px,92%);background:#fff;border-radius:8px;padding:34px;box-shadow:var(--shadow);text-align:center}.login-card img{width:118px}.login-card form{display:grid;gap:14px;text-align:left}.login-card label{font-weight:800;display:grid;gap:8px}.login-card input{padding:14px;border:1px solid var(--line);border-radius:8px}.login-hint{color:var(--muted);font-size:.92rem}.admin-table input{padding:8px 10px;border-radius:8px;border:1px solid var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.chart-panel{height:320px}.pagination{display:flex;gap:8px;margin-top:18px}.pagination a{padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:800}.pagination a.active{background:var(--red);color:#fff;border-color:var(--red)}

@keyframes heroShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes pulse{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:.9;transform:scale(1.03)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bars{0%,100%{transform:scaleY(.88)}50%{transform:scaleY(1.08)}}@keyframes stepIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes flashRow{0%{background:#fff7ed}100%{background:transparent}}
@media(max-width:1060px){.hero-stage{grid-template-columns:1fr;grid-template-areas:"copy" "card" "stats"}.hero-card{justify-self:start}.membership-shell,.licensing-shell,.contact-shell,.admin-preview{grid-template-columns:1fr}.membership-intro{position:static}.training-roadmap{grid-template-columns:repeat(4,280px)}.metric-grid{grid-template-columns:repeat(2,1fr)}.security-card{grid-template-columns:1fr}.global-search{display:none}}
@media(max-width:760px){.menu-toggle{display:flex}.nav-links{position:fixed;top:78px;left:4%;right:4%;display:grid;gap:6px;background:rgba(5,8,13,.98);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:18px;opacity:0;transform:translateY(-12px);pointer-events:none;transition:.22s ease}.nav-links.open{opacity:1;transform:translateY(0);pointer-events:auto}.nav-links a{padding:12px}.hero{min-height:auto;padding-top:70px}.hero h1{font-size:clamp(2.7rem,15vw,4.4rem)}.hero-stats{overflow-x:auto}.hero-stats div{min-width:210px}.about-bento{grid-template-columns:1fr}.about-bento .bento-large{grid-row:auto;padding:28px}.footer-grid{display:block}.admin-shell,.admin-body.admin-collapsed .admin-shell{grid-template-columns:1fr;grid-template-rows:70px 1fr;grid-template-areas:"top" "main"}.sidebar{position:fixed;inset:70px 18% 0 0;height:auto;transform:translateX(-105%);transition:.24s ease;overflow:auto}.sidebar.open{transform:translateX(0)}.sidebar h2,.sidebar p,.sidebar .nav-label,.admin-body.admin-collapsed .sidebar h2,.admin-body.admin-collapsed .sidebar p,.admin-body.admin-collapsed .sidebar .nav-label{opacity:1;width:auto}.admin-topbar{padding:12px 16px}.admin-main{padding:22px 16px}.topbar{display:block}.toolbar{grid-template-columns:1fr}.metric-grid,.module-grid{grid-template-columns:1fr}.admin-table{font-size:.9rem}.mock-product{transform:none;grid-template-columns:44px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.btn:hover,.about-bento article:hover,.training-roadmap article:hover,.metric:hover,.panel:hover{transform:none}}

.public-site{--page-bg:#f8f3f1;--section-bg:#fbf8f6;--soft-section:#f0eeeb;--card-bg:#fff;--text-main:#27262a;--text-soft:#70686c;--text-muted:#8b8186;--field-bg:#fafafa;--pale-red:#fde8ed;--warm-line:#efe2df;--nav-bg:rgba(248,243,241,.78);--nav-bg-solid:rgba(248,243,241,.92);--dark-panel:#111821;background:var(--page-bg)!important;color:var(--text-main)}
.public-site:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 75% 10%,rgba(200,16,46,.11),transparent 26%),radial-gradient(circle at 12% 22%,rgba(200,16,46,.06),transparent 24%),var(--page-bg)}
.public-site .site-header{background:var(--nav-bg)!important;border-bottom:1px solid rgba(200,16,46,.08);box-shadow:none}
.public-site .site-header.scrolled{background:var(--nav-bg-solid)!important;box-shadow:0 14px 38px rgba(44,31,34,.08)}
.public-site .brand{color:var(--text-main)!important;font-size:.82rem;letter-spacing:-.01em}
.public-site .brand img{width:34px;height:34px}
.public-site .site-header.scrolled .brand img{width:30px;height:30px}
.public-site .nav{height:64px}
.public-site .site-header.scrolled .nav{height:56px}
.public-site .nav-links{color:var(--text-main)!important;font-size:.76rem;gap:26px;font-weight:700}
.public-site .nav-links a{opacity:.78}
.nav-actions{display:flex;align-items:center;gap:10px}
body:not(.admin-body) .admin-link{background:var(--card-bg);border-color:#f1d6dc;color:var(--red)}
body:not(.admin-body) .menu-toggle{background:var(--card-bg);border-color:#f1d6dc}
body:not(.admin-body) .menu-toggle span{background:var(--text-main)}
body:not(.admin-body) .hero{min-height:auto;color:var(--text-main);background:radial-gradient(circle at 82% 28%,rgba(200,16,46,.13),transparent 30%),linear-gradient(180deg,var(--section-bg) 0%,var(--page-bg) 100%);padding:44px 0 64px;animation:none}
body:not(.admin-body) .hero:before{opacity:.16;background-image:radial-gradient(rgba(200,16,46,.12) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
body:not(.admin-body) .hero-stage{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-template-areas:"copy card" "stats stats";gap:34px 62px;align-items:center}
body:not(.admin-body) .hero h1,body:not(.admin-body) .section-title h2,body:not(.admin-body) .membership-intro h2,body:not(.admin-body) .license-context h2,body:not(.admin-body) .contact-shell h2,body:not(.admin-body) .footer-news h3{font-family:Fraunces,Georgia,serif;color:var(--text-main);letter-spacing:-.03em}
body:not(.admin-body) .hero h1{font-size:clamp(3.35rem,6vw,6rem);line-height:.92;margin:14px 0 18px;max-width:760px}
body:not(.admin-body) .hero p{color:var(--text-soft);font-size:1rem;line-height:1.55;max-width:680px}
body:not(.admin-body) .eyebrow,body:not(.admin-body) .section-title p{display:inline-flex;align-items:center;gap:8px;background:var(--pale-red);color:var(--red);border-radius:999px;padding:7px 12px;letter-spacing:.16em;font-size:.66rem}
body:not(.admin-body) .btn{border-radius:999px;padding:12px 18px;font-size:.82rem}
body:not(.admin-body) .btn.secondary{background:var(--card-bg);color:var(--text-main);border-color:var(--warm-line);box-shadow:0 10px 24px rgba(55,31,37,.05)}
body:not(.admin-body) .hero-card{width:min(390px,100%);background:var(--card-bg);border:1px solid var(--warm-line);border-radius:10px;padding:0;box-shadow:0 30px 75px rgba(75,45,54,.12);transform:none;justify-self:center}
body:not(.admin-body) .hero-card:after,body:not(.admin-body) .portal-pulse{display:none}
body:not(.admin-body) .portal-card{margin:0;padding:26px;border-radius:10px}
body:not(.admin-body) .portal-card .pill,body:not(.admin-body) .live-dot{display:inline-flex;margin:0 8px 16px 0;border-radius:999px;padding:6px 10px;background:#fde8ed;color:var(--red);font-size:.66rem;font-weight:900}
body:not(.admin-body) .live-dot{background:#eefbf6;color:#059669}
body:not(.admin-body) .portal-card strong{display:block;font-family:Fraunces,Georgia,serif;font-size:1.45rem;margin-bottom:8px}
body:not(.admin-body) .portal-card ul{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}
body:not(.admin-body) .portal-card li{background:var(--field-bg);border:1px solid var(--warm-line);border-radius:8px;padding:12px 14px;color:var(--text-soft);font-weight:700;font-size:.82rem}
body:not(.admin-body) .hero-stats{margin-top:30px;border:0;background:transparent;backdrop-filter:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
body:not(.admin-body) .hero-stats div{min-width:0;background:var(--card-bg);border:1px solid var(--warm-line);border-radius:10px;padding:18px 20px;box-shadow:0 18px 42px rgba(63,38,44,.07)}
body:not(.admin-body) .hero-stats strong{font-size:1rem;color:var(--text-main)}
body:not(.admin-body) .hero-stats span{color:var(--text-muted);font-size:.78rem}
body:not(.admin-body) .section{padding:94px 0}
body:not(.admin-body) #about,body:not(.admin-body) #training{background:var(--soft-section);width:100%;max-width:none;padding-left:0;padding-right:0}
body:not(.admin-body) #about>.section-title,body:not(.admin-body) #about>.about-bento,body:not(.admin-body) #training>.section-title,body:not(.admin-body) #training>.training-roadmap{width:min(1180px,92%);margin-left:auto;margin-right:auto}
body:not(.admin-body) .section-title{text-align:center;margin:0 auto 44px}
body:not(.admin-body) .section-title h2{font-size:clamp(2.25rem,3.7vw,4.1rem);line-height:.95;max-width:720px;margin-left:auto;margin-right:auto}
body:not(.admin-body) .about-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
body:not(.admin-body) .about-bento .bento-large{grid-row:auto;padding:28px;background:var(--card-bg)}
body:not(.admin-body) .about-bento article,body:not(.admin-body) .training-roadmap article,body:not(.admin-body) .form-card{border-radius:10px;border-color:var(--warm-line);background:var(--card-bg);box-shadow:0 18px 42px rgba(63,38,44,.06)}
body:not(.admin-body) .about-bento h3,body:not(.admin-body) .training-roadmap h3{font-family:Fraunces,Georgia,serif;font-size:1.1rem;letter-spacing:-.02em}
body:not(.admin-body) .about-bento p,body:not(.admin-body) .membership-intro p,body:not(.admin-body) .license-context p,body:not(.admin-body) .contact-shell p,body:not(.admin-body) .training-roadmap p{color:var(--text-soft);font-size:.9rem;line-height:1.58}
body:not(.admin-body) .membership-lab,body:not(.admin-body) .licensing-studio,body:not(.admin-body) .contact-dock{background:var(--section-bg);color:var(--text-main)}
body:not(.admin-body) .membership-lab:before,body:not(.admin-body) .contact-dock:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(200,16,46,.13) 1px,transparent 1px);background-size:20px 20px;opacity:.16;pointer-events:none}
body:not(.admin-body) .membership-shell,body:not(.admin-body) .licensing-shell,body:not(.admin-body) .contact-shell{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(360px,470px);gap:70px;align-items:center;background:transparent;border:0;box-shadow:none;overflow:visible}
body:not(.admin-body) .membership-intro{position:static}
body:not(.admin-body) .feature-list,body:not(.admin-body) .checklist{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px;color:var(--text-soft);font-weight:700;font-size:.86rem}
body:not(.admin-body) .feature-list li:before,body:not(.admin-body) .checklist li:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;margin-right:8px;border-radius:50%;background:var(--pale-red);color:var(--red);font-size:.7rem}
body:not(.admin-body) .form-card{padding:26px}
body:not(.admin-body) .form-card h3{font-family:Fraunces,Georgia,serif;font-size:1.25rem}
body:not(.admin-body) .form-card label{gap:6px;text-transform:uppercase;font-size:.62rem;letter-spacing:.08em;color:var(--text-soft)}
body:not(.admin-body) .form-card input,body:not(.admin-body) .form-card select,body:not(.admin-body) .form-card textarea{background:var(--field-bg);border-color:var(--warm-line);border-radius:9px;padding:12px 13px;font-size:.86rem;text-transform:none;letter-spacing:0;color:var(--text-main)}
body:not(.admin-body) .form-card textarea{min-height:96px}
body:not(.admin-body) .training-roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;overflow:visible;padding-top:0}
body:not(.admin-body) .training-roadmap:before,body:not(.admin-body) .training-roadmap article:before{display:none}
body:not(.admin-body) .training-roadmap article{min-width:0;margin:0;padding:28px 24px}
body:not(.admin-body) .training-roadmap span{display:block;margin-bottom:20px}
body:not(.admin-body) .licensing-shell{grid-template-columns:minmax(360px,470px) 1fr}
body:not(.admin-body) .license-context{background:transparent;color:var(--text-main);padding:0}
body:not(.admin-body) .license-context .checklist{color:var(--text-soft)}
body:not(.admin-body) .licensing-form{border-radius:10px}
body:not(.admin-body) .dashboard-preview{background:var(--dark-panel);color:#fff;max-width:none;width:100%;padding-left:0;padding-right:0}
body:not(.admin-body) .dashboard-preview>.section-title,body:not(.admin-body) .dashboard-preview>.admin-preview{width:min(1180px,92%);margin-left:auto;margin-right:auto}
body:not(.admin-body) .dashboard-preview .section-title h2{color:#fff}
body:not(.admin-body) .admin-preview{background:#0d121b;border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 28px 72px rgba(0,0,0,.35)}
body:not(.admin-body) .admin-preview h3{font-family:Fraunces,Georgia,serif;font-size:2rem}
body:not(.admin-body) .mock-product{transform:none;background:#151c27;border:1px solid rgba(255,255,255,.08)}
body:not(.admin-body) .mock-top,body:not(.admin-body) .mock-metrics span,body:not(.admin-body) .mock-chart{background:#202938;box-shadow:none}
body:not(.admin-body) .contact-dock{background:#fbf8f6;color:#27262a}
body:not(.admin-body) .contact-line{color:var(--text-main)!important}
body:not(.admin-body) footer{background:#111821;color:#cbd2dc;padding:56px 0 22px}
body:not(.admin-body) .footer-news{display:grid;grid-template-columns:1fr minmax(300px,430px);gap:32px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:28px;margin-bottom:42px;background:#151d29}
body:not(.admin-body) .footer-news h3{color:#fff;font-size:1.8rem;margin:8px 0}
body:not(.admin-body) .footer-news p{color:#aeb8c7;line-height:1.6}
body:not(.admin-body) .footer-news form{display:flex;gap:10px}
body:not(.admin-body) .footer-news input{flex:1;border:1px solid rgba(255,255,255,.12);background:#202938;color:#fff;border-radius:999px;padding:13px 16px}

@media(max-width:1060px){body:not(.admin-body) .hero-stage,body:not(.admin-body) .membership-shell,body:not(.admin-body) .licensing-shell,body:not(.admin-body) .contact-shell,body:not(.admin-body) .admin-preview,body:not(.admin-body) .footer-news{grid-template-columns:1fr}body:not(.admin-body) .hero-stage{grid-template-areas:"copy" "card" "stats"}body:not(.admin-body) .about-bento,body:not(.admin-body) .training-roadmap,body:not(.admin-body) .hero-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body:not(.admin-body) .nav-links{background:rgba(255,255,255,.98);color:#2d282c}body:not(.admin-body) .hero h1{font-size:clamp(2.55rem,13vw,4rem)}body:not(.admin-body) .about-bento,body:not(.admin-body) .training-roadmap,body:not(.admin-body) .hero-stats{grid-template-columns:1fr}body:not(.admin-body) .section{padding:72px 0}body:not(.admin-body) .footer-news form{display:grid}}
@media(max-width:1180px){body:not(.admin-body) .nav-links{gap:16px;font-size:.72rem}body:not(.admin-body) .hero-stage{gap:30px}.container{width:min(1080px,92%)}}
@media(max-width:900px){body:not(.admin-body) .nav-actions{order:3}body:not(.admin-body) .menu-toggle{display:flex}body:not(.admin-body) .nav-links{position:fixed;top:70px;left:4%;right:4%;display:grid;gap:4px;background:var(--card-bg);color:var(--text-main);border:1px solid var(--warm-line);border-radius:12px;padding:16px;opacity:0;transform:translateY(-12px);pointer-events:none;transition:.22s ease;box-shadow:0 24px 60px rgba(31,20,24,.14)}body:not(.admin-body) .nav-links.open{opacity:1;transform:translateY(0);pointer-events:auto}body:not(.admin-body) .nav-links a{padding:12px;border-radius:8px}body:not(.admin-body) .nav-links a:hover,body:not(.admin-body) .nav-links a.active{background:var(--pale-red);transform:none}body:not(.admin-body) .admin-link{justify-self:start;padding:10px 14px!important}body:not(.admin-body) .hero{padding-top:34px}body:not(.admin-body) .hero-card{justify-self:start;max-width:460px}body:not(.admin-body) .membership-shell,body:not(.admin-body) .licensing-shell,body:not(.admin-body) .contact-shell{gap:38px}body:not(.admin-body) .mock-product{min-height:260px}}
@media(max-width:640px){.container{width:min(100% - 32px,1180px)}body:not(.admin-body) .brand span{font-size:.72rem}body:not(.admin-body) .brand img{width:30px;height:30px}body:not(.admin-body) .nav{height:60px}body:not(.admin-body) .site-header.scrolled .nav{height:56px}body:not(.admin-body) .hero{padding:30px 0 46px}body:not(.admin-body) .hero h1{font-size:clamp(2.35rem,14vw,3.55rem);line-height:.95}body:not(.admin-body) .hero p{font-size:.92rem}body:not(.admin-body) .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}body:not(.admin-body) .hero-actions .btn{width:100%}body:not(.admin-body) .hero-stats{gap:12px}body:not(.admin-body) .hero-stats div{padding:16px}body:not(.admin-body) .section-title h2,body:not(.admin-body) .membership-intro h2,body:not(.admin-body) .license-context h2,body:not(.admin-body) .contact-shell h2{font-size:clamp(2rem,10vw,3rem);line-height:1}body:not(.admin-body) .about-bento article,body:not(.admin-body) .training-roadmap article,body:not(.admin-body) .form-card{padding:22px}body:not(.admin-body) .form-card input,body:not(.admin-body) .form-card select,body:not(.admin-body) .form-card textarea{font-size:16px}body:not(.admin-body) .admin-preview{padding:22px}body:not(.admin-body) .mock-product{grid-template-columns:1fr;padding:12px}body:not(.admin-body) .mock-product aside{display:none}body:not(.admin-body) .mock-metrics{grid-template-columns:1fr}body:not(.admin-body) .footer-news{padding:22px}body:not(.admin-body) .footer-grid{display:grid;gap:12px;text-align:left}}
@media(min-width:901px){body:not(.admin-body) .menu-toggle{display:none}}

/* Public live-site rescue layer: prevents older cascade from breaking layout/icons. */
.public-site{--page-bg:#fff;--section-bg:#fff;--soft-section:#f4f6fa;--card-bg:#fff;--text-main:#111827;--text-soft:#6b7280;--text-muted:#6b7280;--field-bg:#fff;--pale-red:#fee8ed;--warm-line:#e5e7eb;--nav-bg:#101319;--nav-bg-solid:#101319;--dark-panel:#080d15;background:#fff!important;color:var(--text-main)!important}
.public-site:before{display:none!important}
.public-site .site-header{background:#101319!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.public-site .site-header.scrolled{background:#101319!important;box-shadow:0 12px 34px rgba(0,0,0,.22)!important}
.public-site .brand,.public-site .nav-links{color:#fff!important}
.public-site .admin-link{background:transparent!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important}
.public-site .hero{min-height:auto!important;color:#fff!important;background:radial-gradient(circle at 82% 25%,rgba(200,16,46,.34),transparent 28%),linear-gradient(135deg,#05080d 0%,#0c1320 54%,#2a0610 100%)!important;padding:92px 0 76px!important;animation:none!important}
.public-site .hero:before{opacity:.08!important;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px)!important;background-size:18px 18px!important}
.public-site .hero-stage{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;grid-template-areas:"copy card" "stats stats"!important;gap:34px 62px!important;align-items:center!important}
.public-site .hero h1,.public-site .section-title h2,.public-site .membership-intro h2,.public-site .license-context h2,.public-site .contact-shell h2{font-family:Inter,Segoe UI,Arial,sans-serif!important;color:var(--text-main)!important;letter-spacing:-.04em!important;font-weight:900!important}
.public-site .hero h1{font-size:clamp(3.4rem,6vw,5.8rem)!important;line-height:.94!important;max-width:760px!important;color:#fff!important}
.public-site .hero .eyebrow{background:transparent!important;color:#fff!important;padding:0!important;border-radius:0!important;letter-spacing:.22em!important}
.public-site .hero p,.public-site .about-bento p,.public-site .training-roadmap p,.public-site .membership-intro p,.public-site .license-context p,.public-site .contact-shell p{color:var(--text-soft)!important}
.public-site .hero-card{width:min(340px,100%)!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:24px!important;padding:24px!important;box-shadow:0 30px 75px rgba(0,0,0,.28)!important;transform:none!important;justify-self:center!important}
.public-site .hero-card:after,.public-site .portal-pulse{display:none!important}
.public-site .hero-card img{display:block!important;width:100%!important;max-width:260px!important;margin:0 auto 16px!important;background:#fff!important;border-radius:4px!important}
.public-site .portal-card{margin:0!important;padding:18px!important;border-radius:12px!important;background:#fff!important;color:#111827!important}
.public-site .portal-card strong{display:block!important;font-size:1rem!important;margin-bottom:8px!important}
.public-site .portal-card p{color:#6b7280!important;font-size:.86rem!important}
.public-site .hero-stats{grid-area:stats!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:18px!important;border:0!important;background:transparent!important;backdrop-filter:none!important}
.public-site .hero-stats{margin-top:-28px!important;position:relative!important;z-index:3!important;width:min(1180px,92%)!important;margin-left:auto!important;margin-right:auto!important}
.public-site .hero-stats div{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;padding:18px 20px!important;min-width:0!important;box-shadow:0 18px 38px rgba(17,24,39,.12)!important}
.public-site .hero-stats strong{font-size:1rem!important;color:var(--text-main)!important}
.public-site .hero-stats span{font-size:.78rem!important;color:var(--text-muted)!important}
.public-site #about,.public-site #training{background:#fff!important;width:100%!important;max-width:none!important}
.public-site #about>.section-title,.public-site #about>.about-bento,.public-site #training>.section-title,.public-site #training>.training-roadmap{width:min(1180px,92%)!important;margin-left:auto!important;margin-right:auto!important}
.public-site .section-title{text-align:center!important;margin:0 auto 44px!important}
.public-site .about-bento{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important}
.public-site .about-bento .bento-large{grid-row:auto!important;padding:28px!important}
.public-site .about-bento article,.public-site .training-roadmap article,.public-site .form-card{background:var(--card-bg)!important;border:1px solid var(--warm-line)!important;border-radius:10px!important;box-shadow:0 18px 42px rgba(63,38,44,.06)!important}
.public-site .about-bento svg,.public-site .training-roadmap svg{display:block!important;width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;fill:none!important;stroke:var(--red)!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;margin:0 0 18px!important}
.public-site .about-bento svg path,.public-site .about-bento svg circle,.public-site .about-bento svg rect,.public-site .training-roadmap svg path,.public-site .training-roadmap svg circle,.public-site .training-roadmap svg rect{fill:none!important;stroke:var(--red)!important}
.public-site .membership-lab,.public-site .contact-dock{background:#080d15!important;color:#fff!important}
.public-site .membership-lab:before,.public-site .contact-dock:before{display:none!important}
.public-site .membership-intro h2,.public-site .contact-shell h2{color:#fff!important}
.public-site .membership-shell,.public-site .licensing-shell,.public-site .contact-shell{display:grid!important;grid-template-columns:1fr minmax(360px,470px)!important;gap:70px!important;align-items:center!important;background:transparent!important;border:0!important;box-shadow:none!important}
.public-site .membership-intro p,.public-site .contact-shell p{color:#9ca3af!important}
.public-site .licensing-studio{background:#f4f6fa!important;color:#111827!important}
.public-site .licensing-shell{grid-template-columns:minmax(360px,470px) 1fr!important}
.public-site .license-context h2{color:#111827!important}
.public-site .training-roadmap{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:22px!important;overflow:visible!important;padding-top:0!important}
.public-site .training-roadmap:before,.public-site .training-roadmap article:before{display:none!important}
.public-site .training-roadmap article{min-width:0!important;margin:0!important;padding:28px 24px!important}
.public-site .dashboard-preview{background:#fff!important;color:#111827!important;max-width:none!important;width:100%!important}
.public-site .dashboard-preview .section-title h2{color:#111827!important}
.public-site .admin-preview{background:#080d15!important;border-radius:20px!important}
.public-site footer{background:#111821!important;color:#cbd2dc!important}
@media(max-width:1060px){.public-site .hero-stage,.public-site .membership-shell,.public-site .licensing-shell,.public-site .contact-shell,.public-site .admin-preview,.public-site .footer-news{grid-template-columns:1fr!important}.public-site .hero-stage{grid-template-areas:"copy" "card" "stats"!important}.public-site .about-bento,.public-site .training-roadmap,.public-site .hero-stats{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:760px){.public-site .hero{padding:30px 0 46px!important}.public-site .hero h1{font-size:clamp(2.35rem,14vw,3.55rem)!important}.public-site .about-bento,.public-site .training-roadmap,.public-site .hero-stats{grid-template-columns:1fr!important}.public-site .section{padding:72px 0!important}.public-site .hero-actions{display:grid!important}.public-site .hero-actions .btn{width:100%!important}.public-site .form-card input,.public-site .form-card select,.public-site .form-card textarea{font-size:16px!important}}

/* Admin production fixes */
.admin-body{overflow-x:hidden}
.admin-overlay{display:none}
.admin-drawer-open{overflow:hidden}
.admin-table-wrap{max-width:100%}
.metric{color:inherit}
.empty-state{max-width:760px}
.field-message{color:#b91c1c;font-size:.86rem;font-weight:800}
.password-input{display:grid;grid-template-columns:1fr auto;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.password-input input{border:0!important;border-radius:0!important}
.password-toggle{border:0;border-left:1px solid var(--line);background:#f8fafc;padding:0 14px;font-weight:900;cursor:pointer}
.password-rules{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.password-rules li{color:#d1d5db;font-weight:800}
.password-rules li:before{content:"";display:inline-block;width:10px;height:10px;margin-right:10px;border-radius:50%;background:#6b7280}
.password-rules li.met:before{background:#22c55e}
.audit-toolbar{grid-template-columns:1.2fr 1fr 220px 170px auto}
@media(max-width:980px){.audit-toolbar,.toolbar{grid-template-columns:1fr 1fr}.toolbar .btn,.audit-toolbar .btn{grid-column:1/-1}}
@media(max-width:760px){.admin-overlay.show{display:block;position:fixed;inset:0;z-index:29;background:rgba(5,8,13,.55)}.sidebar{z-index:31;width:min(320px,86vw);right:auto!important}.admin-avatar strong{display:none}.admin-table-wrap{overflow:visible}.admin-table{min-width:0;border-collapse:separate;border-spacing:0 14px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table tr{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(17,24,39,.06);overflow:hidden}.admin-table td{border-bottom:1px solid var(--line);padding:12px 14px 12px 42%;position:relative}.admin-table td:last-child{border-bottom:0}.admin-table td:before{content:attr(data-label);position:absolute;left:14px;top:12px;width:34%;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.admin-table td[colspan]:before{display:none}.admin-table td[colspan]{padding-left:14px}.security-card{margin:0}.toolbar,.audit-toolbar{grid-template-columns:1fr}}

/* Admin product polish layer - PREMIUM AESTHETICS */
:root, .admin-body, .login-page {
    --admin-bg: #f3f6f9;
    --admin-card: #ffffff;
    --admin-sidebar: rgba(5, 8, 13, 0.95);
    --admin-red: #c8102e;
    --admin-red-hover: #a10d25;
    --admin-maroon: #4d0715;
    --admin-line: #e2e8f0;
    --admin-muted: #64748b;
    --admin-glow: rgba(200, 16, 46, 0.25);
}

.admin-body {
    background: var(--admin-bg);
    font-size: 16px;
    overflow-x: hidden;
}

.admin-body a, .admin-body button, .admin-body select, .admin-body [role=button] { cursor: pointer; }
.admin-body button:disabled, .admin-body .btn:disabled {
    cursor: not-allowed;
    opacity: 0.6;
    transform: none !important;
    box-shadow: none !important;
}

.admin-shell {
    grid-template-columns: 286px minmax(0, 1fr);
    grid-template-rows: 76px minmax(0, 1fr);
    background: linear-gradient(135deg, #eef2f6 0%, #f4f7fb 52%, #e5ebf1 100%);
}
.admin-body.admin-collapsed .admin-shell { grid-template-columns: 88px minmax(0, 1fr); }

/* Premium Sidebar with Glassmorphism */
.sidebar {
    display: flex;
    flex-direction: column;
    padding: 18px 14px;
    background: var(--admin-sidebar);
    backdrop-filter: blur(20px);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
    overflow-y: auto;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.side-brand { min-height: 58px; padding: 6px 8px 14px; display: flex; align-items: center; gap: 12px; }
.sidebar .side-brand img {
    width: 44px;
    height: 44px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(255,255,255,0.1);
}
.sidebar h2 { font-size: 1.15rem; font-weight: 800; letter-spacing: -0.01em; color: #fff; margin: 0; }
.sidebar-close { display: none; }

.admin-identity {
    margin: 10px 8px 22px;
    padding: 16px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 4px;
    color: #e2e8f0;
}
.admin-identity strong { font-size: 0.95rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-identity span { font-size: 0.82rem; color: #94a3b8; }

.sidebar nav { display: flex; flex: 1; flex-direction: column; gap: 0; margin: 0; }
.nav-primary, .nav-secondary { display: grid; gap: 6px; }
.nav-secondary { margin-top: auto; padding-top: 18px; }
.sidebar a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 10px;
    color: #cbd5e1;
    font-weight: 700;
    font-size: 0.95rem;
    outline: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar a .nav-svg {
    width: 22px;
    height: 22px;
    min-width: 22px;
    fill: currentColor;
    padding: 3px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.06);
    transition: all 0.25s ease;
}
.sidebar a:before { display: none; }
.sidebar a:hover, .sidebar a:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    transform: translateX(4px);
    color: #ffffff;
}
.sidebar a.active {
    background: linear-gradient(90deg, var(--admin-red), var(--admin-maroon));
    color: #ffffff;
    box-shadow: 0 4px 14px var(--admin-glow);
}
.sidebar a.active .nav-svg {
    background: rgba(255, 255, 255, 0.2);
}

/* Collapsed Sidebar */
.admin-body.admin-collapsed .sidebar { padding-left: 12px; padding-right: 12px; }
.admin-body.admin-collapsed .sidebar h2, 
.admin-body.admin-collapsed .admin-identity, 
.admin-body.admin-collapsed .sidebar .nav-label {
    opacity: 0; width: 0; height: 0; overflow: hidden; margin: 0; padding: 0;
}
.admin-body.admin-collapsed .sidebar a { justify-content: center; padding: 12px; }
.admin-body.admin-collapsed .sidebar a:hover:after {
    content: attr(title);
    position: absolute;
    left: 70px;
    top: 50%;
    transform: translateY(-50%);
    padding: 8px 14px;
    border-radius: 8px;
    background: #111827;
    color: #fff;
    white-space: nowrap;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    z-index: 50;
    font-size: 0.85rem;
    font-weight: 700;
}

/* Premium Topbar */
.admin-topbar {
    height: 76px;
    padding: 12px 34px;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 2px 12px rgba(17, 24, 39, 0.03);
    backdrop-filter: blur(24px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.admin-menu-button span {
    display: block; width: 18px; height: 2px; border-radius: 2px; background: #1e293b; margin: 3px 0; transition: 0.2s;
}
.admin-menu-button:hover, .admin-menu-button:focus-visible, 
.profile-trigger:hover, .profile-trigger:focus-visible {
    border-color: #cbd5e1;
    box-shadow: 0 0 0 4px rgba(200, 16, 46, 0.08);
}
.breadcrumb { font-size: 1.1rem; font-weight: 800; color: #0f172a; }
.admin-topbar small { color: var(--admin-muted); font-weight: 600; }

.profile-menu { position: relative; }
.profile-trigger {
    display: flex; align-items: center; gap: 12px; border: 0; background: transparent; padding: 6px 10px; border-radius: 12px; transition: 0.2s ease; cursor: pointer;
}
.admin-initials {
    display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--admin-red), #9f1239); color: #fff; font-weight: 900; font-size: 1.1rem; box-shadow: 0 4px 10px var(--admin-glow);
}
.profile-copy { display: grid; text-align: left; }
.profile-copy strong { color: #0f172a; font-size: 0.95rem; }
.profile-copy small { font-size: 0.8rem; color: var(--admin-muted); font-weight: 600; }

.profile-dropdown {
    position: absolute; right: 0; top: calc(100% + 12px); min-width: 200px;
    background: #ffffff; border: 1px solid var(--admin-line); border-radius: 12px;
    box-shadow: 0 20px 40px rgba(17, 24, 39, 0.1); padding: 8px; opacity: 0;
    transform: translateY(-10px) scale(0.95); pointer-events: none;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1); transform-origin: top right;
}
.profile-menu.open .profile-dropdown {
    opacity: 1; transform: translateY(0) scale(1); pointer-events: auto;
}
.profile-dropdown a {
    display: block; padding: 10px 14px; border-radius: 8px; font-weight: 700; color: #334155; transition: all 0.2s;
}
.profile-dropdown a:hover, .profile-dropdown a:focus-visible {
    background: #f8fafc; color: var(--admin-red); padding-left: 18px;
}

/* Premium Main Content area */
.admin-main {
    padding: 36px 42px; max-width: 1600px; width: 100%; animation: pageIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.page-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 32px; }
.page-header h1 { font-size: clamp(2.2rem, 3vw, 2.8rem); font-weight: 900; color: #0f172a; line-height: 1.1; margin: 4px 0 12px; letter-spacing: -0.02em; }
.page-description { max-width: 700px; margin: 0; color: #475569; font-size: 1.05rem; line-height: 1.6; }
.page-meta { margin: 10px 0 0; color: var(--admin-muted); font-weight: 700; font-size: 0.9rem; }
.page-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* Panels and Cards with Glassmorphism / Shadows */
.panel {
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.02);
    margin-bottom: 26px;
    transition: all 0.3s ease;
}
.panel:hover { box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.02); }
.panel-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; margin-bottom: 20px; padding: 24px 24px 0; }
.panel-heading h2 { margin: 0 0 6px; font-weight: 800; font-size: 1.4rem; color: #0f172a; }
.panel-heading p { margin: 0; color: var(--admin-muted); font-weight: 600; font-size: 0.95rem; }

.metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.metric {
    display: grid; gap: 10px; min-height: 160px; color: inherit;
    background: #ffffff; border: 1px solid var(--admin-line); border-radius: 16px;
    padding: 24px; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.metric .nav-svg, .module-card .nav-svg {
    width: 38px; height: 38px; fill: var(--admin-red); padding: 8px;
    border-radius: 10px; background: #fff0f3;
}
.metric span { text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.75rem; color: #64748b; font-weight: 800; }
.metric strong { font-size: 2.5rem; line-height: 1; font-weight: 900; color: #0f172a; }
.metric small, .module-card span { color: var(--admin-muted); font-weight: 600; line-height: 1.4; }

.module-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.module-card {
    min-height: 160px; display: grid; align-content: start; gap: 12px; color: inherit;
    background: #ffffff; border: 1px solid var(--admin-line); border-radius: 16px;
    padding: 24px; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.module-card strong { font-size: 1.15rem; font-weight: 800; color: #0f172a; margin-top: 4px; }
.module-card em { align-self: end; margin-top: auto; color: var(--admin-red); font-style: normal; font-weight: 800; font-size: 0.9rem; }

.metric:hover, .module-card:hover {
    transform: translateY(-6px);
    border-color: #cbd5e1;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08);
}

.chart-panel { height: auto; }
.chart-frame { height: 320px; position: relative; padding: 0 24px 24px; }
.legend-dot { font-weight: 700; color: #475569; font-size: 0.9rem; margin-right: 24px; margin-top: 24px; }
.legend-dot:before { content: ""; display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--admin-red); margin-right: 8px; }

/* Buttons & Inputs */
.btn {
    min-height: 46px; border-radius: 10px; font-weight: 800; padding: 10px 20px; font-size: 0.95rem;
    transition: all 0.2s; border: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.btn.primary { background: linear-gradient(135deg, var(--admin-red), var(--admin-red-hover)); color: #fff; box-shadow: 0 8px 16px var(--admin-glow); }
.btn.primary:hover { box-shadow: 0 12px 24px var(--admin-glow); transform: translateY(-2px); }
.btn.secondary { background: #ffffff; color: #334155; border: 1px solid #cbd5e1; box-shadow: 0 2px 4px rgba(15, 23, 42, 0.02); }
.btn.secondary:hover { background: #f8fafc; border-color: #94a3b8; transform: translateY(-1px); }
.btn.ghost { background: transparent; border-color: transparent; color: #475569; }
.btn.ghost:hover, .btn.ghost:focus-visible { background: #f1f5f9; color: #0f172a; }
.btn.danger { background: linear-gradient(135deg, #ef4444, #b91c1c); color: #fff; box-shadow: 0 8px 16px rgba(239, 68, 68, 0.2); }
.btn.danger:hover { box-shadow: 0 12px 24px rgba(239, 68, 68, 0.3); transform: translateY(-2px); }

.toolbar {
    grid-template-columns: minmax(240px, 1fr) minmax(200px, 240px) auto auto;
    align-items: end; background: #f8fafc; border-bottom: 1px solid #e2e8f0;
    border-radius: 16px 16px 0 0; padding: 18px 24px; margin-bottom: 0;
}
.audit-toolbar { grid-template-columns: 1.2fr 1fr 220px 170px auto auto; }
.toolbar label { display: grid; gap: 8px; font-weight: 700; color: #475569; font-size: 0.9rem; }
.toolbar input, .toolbar select, .admin-form input, .admin-form select, .admin-form textarea, .training-editor input, .training-editor textarea {
    min-height: 46px; border-color: #cbd5e1; border-radius: 10px; padding: 12px 16px;
    background: #ffffff; transition: all 0.2s; font-size: 0.95rem; color: #0f172a;
}
.admin-form input:focus, .admin-form select:focus, .admin-form textarea:focus, 
.toolbar input:focus, .toolbar select:focus, .training-editor input:focus, .training-editor textarea:focus {
    outline: 0; border-color: var(--admin-red); box-shadow: 0 0 0 4px var(--admin-glow);
}

/* Premium Badges */
.badge {
    align-items: center; min-height: 28px; padding: 6px 12px; border-radius: 999px;
    font-weight: 800; font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase;
}
.badge.red { background: #ffe4e6; color: #be123c; }
.badge.danger { background: #fef2f2; color: #b91c1c; }
.badge.green { background: #dcfce7; color: #15803d; }
.badge.blue { background: #dbeafe; color: #1d4ed8; }
.badge.gray { background: #f1f5f9; color: #475569; }

/* Premium Tables */
.admin-table-wrap { overflow-x: auto; padding: 0; border-radius: 0 0 16px 16px; }
.admin-table { min-width: 900px; width: 100%; border-collapse: separate; border-spacing: 0; }
.admin-table th {
    background: #f8fafc; position: sticky; top: 76px; z-index: 1;
    font-weight: 700; color: #64748b; font-size: 0.8rem; letter-spacing: 0.05em;
    padding: 16px 24px; border-bottom: 1px solid #e2e8f0; text-transform: uppercase;
}
.admin-table td {
    padding: 18px 24px; border-bottom: 1px solid #f1f5f9; color: #334155; font-size: 0.95rem;
    vertical-align: top;
}
.admin-table td strong { color: #0f172a; font-weight: 700; font-size: 1rem; }
.admin-table tbody tr { transition: all 0.2s ease; }
.admin-table tbody tr:hover { background: #f8fafc; transform: scale(1.002); box-shadow: 0 4px 12px rgba(0,0,0,0.02); z-index: 2; position: relative; }
.admin-table tbody tr:last-child td { border-bottom: none; }

.review-table { min-width: 1100px; }
.review-panel { gap: 12px; min-width: 220px; max-width: 260px; }
.review-panel label { font-size: 0.8rem; color: #64748b; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; }
.review-panel select, .review-panel textarea { width: 100%; }
.review-panel textarea { min-height: 96px; max-height: 150px; resize: vertical; }

.note-box { max-width: 360px; line-height: 1.5; background: #f8fafc; border: 1px solid #e2e8f0; padding: 14px; border-radius: 10px; margin-top: 10px; font-size: 0.9rem; color: #475569; }
.empty-state.compact { padding: 40px 24px; text-align: center; color: var(--admin-muted); font-weight: 700; font-size: 1.1rem; }

.message-preview, .details-wrap { max-width: 560px; white-space: normal; overflow-wrap: anywhere; line-height: 1.6; color: #475569; }
.unread-row { background: #fef2f2 !important; }
.unread-row td { border-bottom-color: #fee2e2; }
.unread-row td:first-child { box-shadow: inset 4px 0 0 var(--admin-red); }

/* Forms & Modals */
.cms-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cms-card {
    display: grid; gap: 16px; border: 1px solid var(--admin-line); border-radius: 12px;
    padding: 24px; background: #ffffff; box-shadow: 0 4px 12px rgba(15,23,42,0.02);
}
.cms-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-weight: 800; font-size: 1.1rem; color: #0f172a; }
.training-editor label { display: grid; gap: 8px; font-weight: 700; color: #334155; }
.training-editor textarea { min-height: 130px; resize: vertical; }

.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 24px; }
.required { float: right; color: var(--admin-red); font-size: 0.8rem; font-weight: 600; }
.form-actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; margin-top: 10px; }

.admin-create-form { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; padding: 24px; }
.admin-create-form .form-actions, .admin-create-form .login-hint { grid-column: 1 / -1; }
.admin-actions input { min-width: 220px; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.confirm-modal {
    position: fixed; inset: 0; z-index: 100; display: grid; place-items: center;
    background: rgba(15, 23, 42, 0.6); backdrop-filter: blur(8px); padding: 20px;
}
.confirm-dialog {
    width: min(440px, 100%); background: #ffffff; border-radius: 16px; padding: 28px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.3); animation: pageIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.confirm-dialog h2 { margin: 0 0 12px; font-weight: 800; font-size: 1.4rem; color: #0f172a; }
.confirm-dialog p { color: #475569; line-height: 1.6; font-size: 1.05rem; }
.confirm-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 24px; }

@media (max-width: 1180px) {
    .metric-grid, .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .settings-grid, .cms-grid { grid-template-columns: 1fr; }
    .audit-toolbar, .toolbar { grid-template-columns: 1fr 1fr; }
    .toolbar .btn, .audit-toolbar .btn { grid-column: auto; }
}

@media (max-width: 760px) {
    .admin-shell, .admin-body.admin-collapsed .admin-shell {
        grid-template-columns: 1fr; grid-template-rows: 70px 1fr; grid-template-areas: "top" "main";
    }
    .sidebar {
        top: 0; bottom: 0; left: 0; right: auto; height: 100vh; width: min(320px, 88vw);
        transform: translateX(-105%); transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        z-index: 40; position: fixed;
    }
    .sidebar.open { transform: translateX(0); }
    .sidebar-close { display: grid; place-items: center; }
    .admin-body.admin-collapsed .sidebar h2, .admin-body.admin-collapsed .admin-identity, 
    .admin-body.admin-collapsed .sidebar .nav-label, .sidebar h2, .sidebar .nav-label {
        opacity: 1; width: auto; height: auto;
    }
    .admin-identity { display: grid; }
    .admin-topbar { height: 70px; padding: 12px 16px; }
    .profile-copy { display: none; }
    .admin-main { padding: 24px 16px; }
    .page-header { display: grid; gap: 16px; }
    .page-actions .btn { width: 100%; }
    .metric-grid, .module-grid { grid-template-columns: 1fr; }
    .toolbar, .audit-toolbar { grid-template-columns: 1fr; padding: 16px; border-radius: 12px; }
    .admin-table-wrap { overflow: visible; padding: 0; }
    .admin-table, .review-table { min-width: 0; display: block; }
    .admin-table thead { display: none; }
    .admin-table tbody, .admin-table tr, .admin-table td { display: block; width: 100%; }
    .admin-table tr { margin-bottom: 16px; background: #ffffff; border-radius: 12px; border: 1px solid #e2e8f0; box-shadow: 0 4px 12px rgba(15,23,42,0.03); }
    .admin-table td { padding: 16px 16px 16px 40%; position: relative; border-bottom: 1px solid #f1f5f9; }
    .admin-table td:last-child { border-bottom: none; }
    .admin-table td:before {
        content: attr(data-label); position: absolute; left: 16px; top: 18px; width: 35%;
        color: #64748b; font-size: 0.75rem; font-weight: 800; text-transform: uppercase;
    }
    .review-panel { max-width: none; }
    .admin-create-form { grid-template-columns: 1fr; padding: 16px; }
    .chart-frame { height: 260px; padding: 0 16px 16px; }
    .panel-heading { display: grid; gap: 12px; padding: 20px 20px 0; }
    .actions { display: grid; gap: 10px; }
    .actions .btn, .actions input { width: 100%; min-width: 0; }
}

@media (max-width: 420px) {
    .admin-main { padding: 20px 12px; }
    .panel { padding: 0; }
    .admin-table td { padding: 14px 14px 14px 38%; }
    .admin-table td:before { left: 14px; width: 32%; font-size: 0.7rem; }
    .page-header h1 { font-size: 2rem; }
}

/* Admin overflow and table polish fixes */
.admin-body .page-header, .admin-body .page-header > div, .admin-body .panel, .admin-body .admin-table td { min-width: 0; }
.admin-body .page-description, .admin-body .page-meta, .admin-body .admin-table td, 
.admin-body .note-box, .admin-body .message-preview, .admin-body .details-wrap {
    overflow-wrap: anywhere; word-break: normal;
}
.admin-body .admin-table th { position: static; top: auto; }
.admin-body .admin-table td a { overflow-wrap: anywhere; }

/* Admin mobile viewport clamp */
@media (max-width: 760px) {
    .admin-body, .admin-shell, .admin-main { max-width: 100vw; overflow-x: hidden; }
    .admin-main { width: auto; }
    .admin-body .page-header, .admin-body .page-header > div, .admin-body .page-description, .admin-body .page-meta {
        max-width: calc(100vw - 32px); min-width: 0; white-space: normal;
    }
    .admin-body .panel { max-width: 100%; overflow: hidden; }
    .admin-body .toolbar { max-width: 100%; overflow: hidden; }
    .admin-body .admin-table tr { max-width: 100%; overflow: hidden; }
    .admin-body .admin-table td {
        display: grid; grid-template-columns: minmax(90px, 32%) minmax(0, 1fr); gap: 12px; padding: 16px;
    }
    .admin-body .admin-table td:before { position: static; width: auto; margin-top: 2px; }
    .admin-body .admin-table td[colspan] { display: block; }
    .admin-body .admin-table td[colspan]:before { display: none; }
    .admin-body .review-panel, .admin-body .actions { min-width: 0; }
    .admin-body .toolbar .btn { width: 100%; }
}

/* Admin mobile stacked table cells (for tiny screens) */
@media (max-width: 480px) {
    .admin-body .admin-table td { display: block; padding: 16px; word-break: break-word; overflow-wrap: anywhere; }
    .admin-body .admin-table td:before { display: block; margin-bottom: 8px; }
    .admin-body .admin-table td > * { max-width: 100%; min-width: 0; }
    .admin-body .note-box { max-width: 100%; }
}

/* Final admin stabilization layer */
.admin-body {
    --admin-content-max: 1560px;
    --admin-control-h: 44px;
}
.admin-shell { grid-template-columns: 260px minmax(0, 1fr); }
.admin-body.admin-collapsed .admin-shell { grid-template-columns: 84px minmax(0, 1fr); }
.sidebar {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
}
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.38); border-radius: 999px; }
.sidebar .side-brand { min-height: 62px; }
.sidebar nav { min-height: 0; }
.sidebar a.active {
    background: #8f0b22;
    box-shadow: inset 4px 0 0 #f43f5e, 0 10px 22px rgba(200, 16, 46, 0.18);
}
.admin-main { max-width: var(--admin-content-max); margin: 0 auto; }
.page-header { margin-bottom: 28px; }
.page-header h1 { font-size: clamp(2rem, 2.7vw, 2.55rem); letter-spacing: 0; }
.page-description { font-size: 1rem; }
.metric-grid { grid-template-columns: repeat(4, minmax(180px, 1fr)); }
.module-grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.metric, .module-card { min-height: 140px; padding: 20px; }
.metric strong { font-size: 2.2rem; }
.panel { overflow: hidden; }
.admin-table {
    table-layout: fixed;
    min-width: 980px;
}
.review-table { min-width: 1120px; }
.admin-table th,
.admin-table td {
    overflow-wrap: normal;
    word-break: normal;
}
.admin-table td a,
.admin-email,
.admin-table td[data-label="Admin"],
.admin-table td[data-label="Email"],
.admin-table td[data-label="IP"] {
    overflow-wrap: anywhere;
}
.admin-table td[data-label="Date"] { width: 140px; }
.admin-table td[data-label="Status"] { width: 150px; }
.admin-table td[data-label="Actions"],
.admin-table td[data-label="Review"] { width: 260px; }
.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    line-height: 1.1;
}
.badge.amber { background: #fef3c7; color: #92400e; }
.badge.blue { min-width: 92px; }
.review-panel { min-width: 240px; max-width: 290px; }
.review-panel .badge,
td[data-label="Status"] .badge { min-width: 96px; }
.toolbar input,
.toolbar select,
.admin-form input,
.admin-form select,
.admin-form textarea,
.training-editor input,
.training-editor textarea {
    min-height: var(--admin-control-h);
}
.toolbar .btn,
.form-actions .btn,
.actions .btn { min-height: var(--admin-control-h); }
.actions { align-items: center; }
.admin-actions {
    display: grid;
    grid-template-columns: auto minmax(190px, 1fr) auto;
    align-items: center;
}
.message-preview,
.details-wrap,
.note-box {
    overflow-wrap: break-word;
    word-break: normal;
}
.profile-dropdown { z-index: 60; }

@media (max-width: 1280px) {
    .admin-main { padding: 30px 28px; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .admin-shell,
    .admin-body.admin-collapsed .admin-shell {
        grid-template-columns: 1fr;
        grid-template-rows: 70px 1fr;
        grid-template-areas: "top" "main";
    }
    .sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        width: min(320px, 86vw);
        height: 100vh;
        transform: translateX(-105%);
        z-index: 40;
    }
    .sidebar.open { transform: translateX(0); }
    .sidebar-close { display: grid; place-items: center; }
    .admin-overlay.show {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 35;
        background: rgba(15, 23, 42, 0.55);
        backdrop-filter: blur(2px);
    }
    .admin-body.admin-collapsed .sidebar h2,
    .admin-body.admin-collapsed .admin-identity,
    .admin-body.admin-collapsed .sidebar .nav-label,
    .sidebar h2,
    .sidebar .nav-label {
        opacity: 1;
        width: auto;
        height: auto;
    }
    .admin-identity { display: grid; }
    .admin-topbar { height: 70px; padding: 12px 16px; }
    .admin-main { padding: 24px 16px; }
    .profile-copy { display: none; }
}

@media (max-width: 760px) {
    .page-header h1 { font-size: clamp(1.8rem, 9vw, 2.2rem); }
    .metric-grid,
    .module-grid,
    .settings-grid,
    .cms-grid { grid-template-columns: 1fr; }
    .toolbar,
    .audit-toolbar { grid-template-columns: 1fr; border-radius: 12px; }
    .admin-table-wrap { overflow: visible; }
    .admin-table,
    .review-table { min-width: 0; table-layout: auto; }
    .admin-table tr { transform: none !important; }
    .admin-table td[data-label="Date"],
    .admin-table td[data-label="Status"],
    .admin-table td[data-label="Actions"],
    .admin-table td[data-label="Review"] { width: auto; }
    .review-panel,
    .admin-actions { max-width: none; min-width: 0; grid-template-columns: 1fr; }
    .badge { white-space: normal; text-align: center; }
    td[data-label="Status"] .badge,
    .review-panel .badge { min-width: 0; }
}

/* Password-change unlock screen */
.password-shell {
    display: grid;
    grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
    gap: 0;
    max-width: 1120px;
    margin: 0 auto 36px;
    background: #ffffff;
    border: 1px solid var(--admin-line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.08);
}
.password-summary {
    display: grid;
    align-content: start;
    gap: 18px;
    min-height: 100%;
    padding: 34px;
    color: #ffffff;
    background: radial-gradient(circle at top right, rgba(200, 16, 46, 0.32), transparent 34%),
        linear-gradient(145deg, #05080d, #1c0710 76%, #300715);
}
.security-kicker {
    width: max-content;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #fecdd3;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.password-summary h2 {
    margin: 0;
    max-width: 280px;
    color: #ffffff;
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    line-height: 1.05;
}
.password-summary p {
    margin: 0;
    color: #d7dee9;
    line-height: 1.65;
    font-weight: 650;
}
.security-note {
    display: grid;
    gap: 6px;
    margin-top: 8px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.07);
}
.security-note strong { color: #ffffff; }
.security-note span { color: #cbd5e1; line-height: 1.5; }
.password-workspace {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    padding: 34px;
}
.password-rules-card {
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #f8fafc;
}
.password-rules-card h3 {
    margin: 0 0 14px;
    color: #0f172a;
    font-size: 1rem;
}
.password-rules {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.password-rules li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #475569;
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.35;
}
.password-rules li:before {
    content: "";
    width: 9px;
    height: 9px;
    margin-top: 5px;
    border-radius: 50%;
    background: #94a3b8;
    flex: 0 0 auto;
}
.password-rules li.met { color: #166534; }
.password-rules li.met:before { background: #22c55e; }
.password-form {
    max-width: none;
    padding: 0;
}
.security-alert {
    margin: 0;
    padding: 14px 16px;
    border: 1px solid #fecdd3;
    border-radius: 14px;
    background: #fff1f2;
    color: #be123c;
    font-weight: 850;
    line-height: 1.45;
}
.password-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
}
.password-input input {
    border-radius: 10px 0 0 10px !important;
    border-right: 0 !important;
}
.password-toggle {
    min-width: 86px;
    border: 1px solid #cbd5e1;
    border-radius: 0 10px 10px 0;
    background: #f8fafc;
    color: #0f172a;
    font-weight: 850;
    cursor: pointer;
}
.password-toggle:hover,
.password-toggle:focus-visible {
    background: #fff1f2;
    border-color: var(--admin-red);
    color: var(--admin-red);
    outline: 0;
}
.password-actions {
    margin-top: 4px;
}
.password-actions .btn {
    min-width: 190px;
}

@media (max-width: 1080px) {
    .password-shell,
    .password-workspace { grid-template-columns: 1fr; }
    .password-summary { min-height: auto; }
}

@media (max-width: 560px) {
    .password-shell { border-radius: 16px; }
    .password-summary,
    .password-workspace { padding: 22px; }
    .password-actions .btn { width: 100%; }
    .password-toggle { min-width: 72px; }
}

/* CRUD list and dashboard color pass */
.btn-svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.btn.danger .btn-svg { stroke-width: 2.2; }
.metric-grid {
    align-items: stretch;
}
.metric {
    position: relative;
    overflow: hidden;
    border: 0;
}
.metric:after {
    content: "";
    position: absolute;
    inset: auto 18px 18px auto;
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.42);
    pointer-events: none;
}
.metric:nth-child(1) {
    background: linear-gradient(135deg, #fff5f7, #ffe4e9);
    box-shadow: 0 16px 34px rgba(200, 16, 46, 0.11);
}
.metric:nth-child(2) {
    background: linear-gradient(135deg, #f0f7ff, #dbeafe);
    box-shadow: 0 16px 34px rgba(37, 99, 235, 0.1);
}
.metric:nth-child(3) {
    background: linear-gradient(135deg, #fff8ed, #ffedd5);
    box-shadow: 0 16px 34px rgba(217, 119, 6, 0.12);
}
.metric:nth-child(4) {
    background: linear-gradient(135deg, #ecfdf5, #dcfce7);
    box-shadow: 0 16px 34px rgba(22, 163, 74, 0.1);
}
.metric:nth-child(2) .nav-svg { fill: #2563eb; background: rgba(37, 99, 235, 0.1); }
.metric:nth-child(3) .nav-svg { fill: #d97706; background: rgba(217, 119, 6, 0.12); }
.metric:nth-child(4) .nav-svg { fill: #16a34a; background: rgba(22, 163, 74, 0.12); }
.metric span,
.metric small,
.metric strong {
    position: relative;
    z-index: 1;
}
.module-card {
    border-left: 4px solid transparent;
}
.module-card:hover {
    border-left-color: var(--admin-red);
}
.module-card em {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.admin-table-wrap {
    background: #ffffff;
}
.admin-table {
    table-layout: auto;
    min-width: 1000px;
}
.review-table {
    min-width: 1040px;
}
.messages-table {
    min-width: 980px;
}
.audit-table {
    min-width: 1080px;
}
.admin-users-table {
    min-width: 1040px;
}
.admin-table th {
    white-space: nowrap;
}
.admin-table td {
    line-height: 1.45;
}
.review-table th:nth-child(1),
.review-table td:nth-child(1) { width: 140px; }
.review-table th:last-child,
.review-table td:last-child { width: 310px; }
.messages-table th:last-child,
.messages-table td:last-child { width: 330px; }
.audit-table th:nth-child(1),
.audit-table td:nth-child(1) { width: 150px; }
.audit-table th:nth-child(3),
.audit-table td:nth-child(3) { width: 210px; }
.audit-table th:nth-child(5),
.audit-table td:nth-child(5) { width: 230px; }
.admin-users-table th:last-child,
.admin-users-table td:last-child { width: 430px; }
.review-panel {
    width: 100%;
    max-width: none;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
}
.review-panel textarea {
    min-height: 86px;
}
.action-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.action-stack .btn {
    width: 100%;
}
.admin-actions {
    grid-template-columns: auto minmax(190px, 1fr) auto;
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
}
.admin-actions input {
    min-height: var(--admin-control-h);
    background: #fff;
}
.admin-form label,
.training-editor label {
    color: #1f2937;
}
.admin-form input,
.admin-form select,
.admin-form textarea,
.toolbar input,
.toolbar select,
.training-editor input,
.training-editor textarea {
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.02);
}
.admin-form textarea,
.training-editor textarea {
    line-height: 1.5;
}
.note-box {
    border-style: solid;
    background: #f8fafc;
}
.message-preview,
.details-wrap {
    max-height: 120px;
    overflow: auto;
    padding-right: 4px;
}
.pagination {
    padding: 18px 24px 24px;
}

@media (max-width: 760px) {
    .admin-table-wrap {
        background: transparent;
    }
    .admin-table,
    .review-table,
    .messages-table,
    .audit-table,
    .admin-users-table {
        min-width: 0;
    }
    .admin-table tr {
        display: grid;
        gap: 0;
        margin-bottom: 16px;
    }
    .admin-table td {
        display: grid !important;
        grid-template-columns: minmax(104px, 34%) minmax(0, 1fr);
        align-items: start;
        gap: 12px;
        padding: 14px 16px !important;
    }
    .admin-table td:before {
        position: static !important;
        width: auto !important;
        margin: 2px 0 0 !important;
    }
    .review-panel,
    .admin-actions,
    .action-stack {
        grid-template-columns: 1fr;
        padding: 0;
        border: 0;
        background: transparent;
    }
    .message-preview,
    .details-wrap {
        max-height: none;
    }
    .metric:after {
        width: 64px;
        height: 64px;
    }
}

/* Professional admin media manager */
.media-manager {
    padding: 0;
}
.media-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) repeat(4, minmax(130px, auto)) auto auto;
    gap: 12px;
    align-items: center;
    padding: 22px 24px;
    border-bottom: 1px solid #e5eaf1;
    background: #fbfdff;
}
.media-toolbar label,
.media-result-row label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    color: #334155;
}
.media-toolbar input,
.media-toolbar select,
.media-result-row select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    padding: 10px 12px;
    font-weight: 750;
}
.media-view-switch {
    display: inline-flex;
    padding: 4px;
    border: 1px solid #d7e0eb;
    border-radius: 12px;
    background: #fff;
}
.media-view-switch button,
.media-pagination button {
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #475569;
    padding: 9px 12px;
    font-weight: 900;
    cursor: pointer;
}
.media-view-switch button.active,
.media-pagination button.active {
    background: var(--admin-red);
    color: #fff;
}
.media-result-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 18px 24px;
    color: #475569;
    font-weight: 850;
}
.media-bulk-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 20px 24px 0;
    padding: 12px 14px;
    border: 1px solid #d7e0eb;
    border-radius: 12px;
    background: #fff7f9;
}
.media-grid-view {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(245px, 1fr));
    gap: 18px;
    padding: 0 24px 24px;
}
.media-card-item {
    position: relative;
    border: 1px solid #dfe7f1;
    border-radius: 14px;
    background: #fff;
    overflow: visible;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.media-card-item:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.11);
}
.media-select {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #dbe3ee;
}
.media-thumb {
    position: relative;
    height: 166px;
    background: #f3f6fa;
    overflow: hidden;
}
.media-thumb img,
.media-thumb video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}
.media-thumb video {
    object-fit: contain;
    background: #0f172a;
}
.play-pill,
.featured-chip {
    position: absolute;
    right: 10px;
    bottom: 10px;
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(15, 23, 42, 0.86);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 900;
}
.featured-chip {
    top: 10px;
    bottom: auto;
    background: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}
.media-card-body-admin {
    display: grid;
    gap: 10px;
    padding: 16px;
}
.media-card-body-admin h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.25;
}
.media-card-body-admin p {
    margin: 0;
    color: #64748b;
    font-weight: 750;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.media-card-badges,
.media-card-foot,
.media-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.media-card-badges > span:not(.badge),
.media-card-foot {
    color: #64748b;
    font-size: .86rem;
    font-weight: 850;
}
.media-card-foot {
    justify-content: space-between;
}
.media-card-actions {
    justify-content: space-between;
    padding-top: 4px;
}
.media-card-actions .btn {
    min-height: 38px;
    padding: 9px 11px;
}
.media-more-button {
    width: 38px;
    height: 38px;
    border: 1px solid #d7e0eb;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    font-size: 1.25rem;
    font-weight: 900;
    cursor: pointer;
}
.media-more-menu {
    position: absolute;
    right: 14px;
    bottom: 54px;
    z-index: 6;
    display: none;
    min-width: 190px;
    overflow: hidden;
    border: 1px solid #d7e0eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.18);
}
.media-more-menu.open {
    display: grid;
}
.media-more-menu form,
.media-more-menu {
    gap: 0;
}
.media-more-menu button {
    width: 100%;
    border: 0;
    background: #fff;
    color: #0f172a;
    padding: 12px 14px;
    text-align: left;
    font-weight: 850;
    cursor: pointer;
}
.media-more-menu button:hover {
    background: #f8fafc;
}
.media-more-menu .danger-text {
    color: #b91c1c;
}
.media-list-table {
    min-width: 980px;
}
.media-list-thumb {
    width: 64px;
    height: 46px;
    overflow: hidden;
    border-radius: 8px;
    background: #0f172a;
}
.media-list-thumb img,
.media-list-thumb video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.media-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 0 24px 24px;
    color: #64748b;
    font-weight: 850;
}
.media-pagination div {
    display: flex;
    gap: 6px;
}
.media-pagination button {
    border: 1px solid #d7e0eb;
    background: #fff;
}
.media-pagination button:disabled {
    opacity: .45;
    cursor: not-allowed;
}
.media-empty-admin {
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 260px;
    margin: 0 24px 24px;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    background: #f8fafc;
    text-align: center;
    padding: 28px;
}
.media-empty-admin h2 {
    margin: 0;
    color: #0f172a;
}
.media-empty-admin p {
    margin: 0;
    color: #64748b;
    font-weight: 750;
}
.media-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 70;
    background: rgba(15, 23, 42, .42);
}
.media-drawer-overlay[hidden],
.media-drawer[hidden],
.media-lightbox[hidden],
.media-delete-modal[hidden] {
    display: none !important;
}
.media-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 71;
    width: min(580px, 100vw);
    background: #fff;
    box-shadow: -24px 0 60px rgba(15, 23, 42, .24);
    transform: translateX(0);
    transition: transform .2s ease;
    display: grid;
    grid-template-rows: auto 1fr;
}
.media-drawer[aria-hidden="true"] {
    transform: translateX(105%);
    pointer-events: none;
}
.media-drawer-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 24px;
    border-bottom: 1px solid #e5eaf1;
}
.media-drawer-head h2 {
    margin: 4px 0 0;
    color: #0f172a;
}
.media-drawer-close,
.media-lightbox button[data-close-media-lightbox] {
    width: 42px;
    height: 42px;
    border: 1px solid #d7e0eb;
    border-radius: 10px;
    background: #fff;
    font-size: 1.5rem;
    cursor: pointer;
}
.media-drawer-body {
    overflow: auto;
}
.media-drawer-form {
    display: grid;
    gap: 16px;
    padding: 24px;
}
.media-drawer-form label {
    display: grid;
    gap: 8px;
    color: #1f2937;
    font-weight: 850;
}
.media-drawer-form input,
.media-drawer-form textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 12px 13px;
    color: #0f172a;
    background: #fff;
}
.media-drawer-form textarea {
    min-height: 110px;
    resize: vertical;
}
.dropzone {
    border: 1.5px dashed #cbd5e1;
    border-radius: 14px;
    background: #f8fafc;
    padding: 22px;
    text-align: center;
    cursor: pointer;
}
.dropzone.dragging,
.dropzone:focus-within {
    border-color: var(--admin-red);
    background: #fff7f9;
}
.dropzone input {
    margin-top: 12px;
}
.dropzone span {
    color: #0f172a;
    font-weight: 900;
}
.dropzone small {
    color: #64748b;
    line-height: 1.6;
}
.drawer-current-preview,
.drawer-file-preview {
    overflow: hidden;
    border-radius: 12px;
    background: #0f172a;
}
.drawer-current-preview {
    max-height: 220px;
}
.drawer-current-preview img,
.drawer-current-preview video,
.drawer-file-preview img,
.drawer-file-preview video {
    width: 100%;
    max-height: 260px;
    object-fit: contain;
    display: block;
}
.toggle-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.toggle-row label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #d7e0eb;
    border-radius: 12px;
    background: #f8fafc;
}
.toggle-row input {
    width: 44px;
    height: 24px;
    accent-color: var(--admin-red);
}
.drawer-actions {
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin: 8px -24px -24px;
    padding: 16px 24px;
    border-top: 1px solid #e5eaf1;
    background: rgba(255, 255, 255, .96);
}
.media-lightbox,
.media-delete-modal {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(15, 23, 42, .72);
}
.media-lightbox-dialog {
    position: relative;
    width: min(980px, 94vw);
    max-height: 90vh;
    overflow: auto;
    border-radius: 14px;
    background: #fff;
    padding: 20px;
}
.media-lightbox-dialog [data-close-media-lightbox] {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
}
.media-lightbox-dialog img,
.media-lightbox-dialog video {
    width: 100%;
    max-height: 68vh;
    object-fit: contain;
    border-radius: 10px;
    background: #0f172a;
}
.media-lightbox-dialog h2 {
    margin: 16px 0 6px;
    color: #0f172a;
}
.media-lightbox-dialog p {
    color: #64748b;
    font-weight: 700;
}

@media (max-width: 1180px) {
    .media-toolbar {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .media-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .media-toolbar,
    .media-result-row,
    .media-pagination {
        display: grid;
        grid-template-columns: 1fr;
        padding: 16px;
    }
    .media-grid-view {
        grid-template-columns: 1fr;
        padding: 0 16px 18px;
    }
    .media-drawer {
        width: 100vw;
    }
    .toggle-row {
        grid-template-columns: 1fr;
    }
    .drawer-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .admin-main {
        padding: 18px 12px;
    }
    .admin-table td {
        display: block !important;
    }
    .admin-table td:before {
        display: block;
        margin-bottom: 7px !important;
    }
    .toolbar,
    .audit-toolbar {
        padding: 14px;
    }
    .panel-heading {
        padding: 18px 18px 0;
    }
    .cms-card,
    .metric,
    .module-card {
        padding: 18px;
    }
}

/* Whole-site responsive safety net */
html,
body {
    max-width: 100%;
}
body:not(.admin-body) {
    overflow-x: hidden;
}
body:not(.admin-body) img,
body:not(.admin-body) svg,
body:not(.admin-body) canvas {
    max-width: 100%;
}
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea,
body:not(.admin-body) button {
    max-width: 100%;
}

/* Defensive action icon clamp for cached/staging CSS edge cases */
.admin-body svg.btn-svg,
.admin-body .btn .btn-svg,
.admin-body .module-card em .btn-svg {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    max-width: 17px !important;
    flex: 0 0 17px !important;
    display: inline-block !important;
    fill: none !important;
    stroke: currentColor !important;
}

/* Admin media library */
.media-admin-panel {
    scroll-margin-top: 96px;
}
.media-library-panel .panel-heading {
    align-items: center;
}
.media-admin-panel .media-upload-form {
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding: 0 24px 24px;
}
.media-upload-form label:nth-of-type(3),
.media-upload-form label:nth-of-type(4),
.media-upload-form .check-row,
.media-upload-form .form-actions {
    grid-column: 1 / -1;
}
.check-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.check-row label {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    background: #f8fafc;
    font-weight: 800;
}
.check-row input {
    width: 18px !important;
    height: 18px;
    accent-color: var(--admin-red);
}
.media-admin-list {
    display: grid;
    gap: 16px;
    padding: 0 24px 24px;
}
.media-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 18px;
    padding: 0 24px 24px;
}
.media-admin-card {
    display: grid;
    overflow: hidden;
    border: 1px solid #dfe7f1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}
.media-row-card {
    grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
    align-items: stretch;
}
.media-admin-preview {
    aspect-ratio: 16 / 9;
    background: #0f172a;
    overflow: hidden;
}
.media-admin-preview img,
.media-admin-preview video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.media-row-card .media-admin-preview {
    aspect-ratio: auto;
    min-height: 210px;
}
.media-row-card .media-admin-preview video {
    object-fit: contain;
}
.media-card-form {
    display: grid;
    gap: 14px;
    padding: 18px;
}
.media-card-form label {
    display: grid;
    gap: 7px;
    color: #1f2937;
    font-weight: 800;
}
.media-card-form input,
.media-card-form textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 11px 12px;
    background: #fff;
    color: #0f172a;
}
.media-card-form textarea {
    min-height: 86px;
    resize: vertical;
}
.media-card-form small {
    color: #64748b;
    font-weight: 700;
}
.media-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #64748b;
    font-weight: 800;
    font-size: 0.9rem;
}
.media-row-form {
    align-content: start;
}
.media-row-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf2f7;
}
.media-row-head strong {
    display: block;
    color: #0f172a;
    font-size: 1.05rem;
}
.media-row-head span {
    display: block;
    margin-top: 4px;
    color: #64748b;
    overflow-wrap: anywhere;
    font-size: 0.88rem;
    font-weight: 700;
}
.media-row-head .media-card-meta {
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 210px;
}
.media-edit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    gap: 14px;
}
.media-description-field,
.media-replace-field {
    grid-column: 1 / -1;
}
.media-row-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}
.media-row-actions .actions {
    justify-content: flex-end;
}

/* Public media gallery */
.public-site .media-showcase {
    background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%) !important;
}
.public-site .media-showcase > .container {
    width: min(1180px, 92%) !important;
}
.public-site .media-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 20px;
}
.public-site .media-gallery.is-preview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.public-site .media-gallery-full {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    align-items: start;
}
.public-site .media-card,
.public-site .media-empty {
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(17, 24, 39, 0.08);
}
.public-site .media-frame {
    aspect-ratio: 16 / 10;
    background: #111827;
    overflow: hidden;
}
.public-site .media-frame img,
.public-site .media-frame video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.public-site .media-frame video {
    object-fit: contain;
}
.public-site .media-card-body {
    display: grid;
    gap: 8px;
    padding: 20px;
}
.public-site .media-card-body span {
    width: fit-content;
    border-radius: 999px;
    background: #fee8ed;
    color: var(--red);
    padding: 6px 10px;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.public-site .media-card-body h3 {
    margin: 0;
    color: #111827;
    font-size: 1.2rem;
}
.public-site .media-card-body p {
    margin: 0;
    color: #5f6775;
    line-height: 1.65;
}
.public-site .media-empty {
    grid-column: 1 / -1;
    display: grid;
    gap: 8px;
    place-items: center;
    min-height: 210px;
    padding: 30px;
    text-align: center;
    color: #64748b;
}
.public-site .media-empty strong {
    color: #111827;
    font-size: 1.2rem;
}
.public-site .media-more-row {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}
.public-site.media-page .site-header {
    position: sticky;
}
.public-site .media-page-shell {
    min-height: 70vh;
    padding-top: 118px !important;
}
.public-site .media-page-shell h1 {
    margin: 8px 0 18px;
    color: #111827;
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    line-height: 0.98;
    letter-spacing: 0;
}

@media (max-width: 760px) {
    .media-admin-panel .media-upload-form,
    .media-admin-grid,
    .media-admin-list {
        grid-template-columns: 1fr;
        padding: 0 16px 18px;
    }
    .media-row-card {
        grid-template-columns: 1fr;
    }
    .media-row-card .media-admin-preview {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }
    .media-row-head,
    .media-row-actions {
        display: grid;
        gap: 12px;
    }
    .media-row-head .media-card-meta,
    .media-row-actions .actions {
        justify-content: start;
        min-width: 0;
    }
    .media-edit-grid {
        grid-template-columns: 1fr;
    }
    .media-upload-form label,
    .media-upload-form .check-row,
    .media-upload-form .form-actions {
        grid-column: 1;
    }
    .media-card-form .actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .public-site .media-gallery {
        grid-template-columns: 1fr;
    }
    .public-site .media-gallery.is-preview {
        grid-template-columns: 1fr;
    }
    .public-site .media-page-shell {
        padding-top: 86px !important;
    }
}
