:root{
    --bg:#0b0f14;
    --bg-soft:#111827;
    --panel:#0f172a;
    --line:rgba(255,255,255,.08);
    --text:#e6edf3;
    --muted:#94a3b8;
    --accent:#22c55e;
    --accent-2:#16a34a;
    --shadow:0 20px 50px rgba(0,0,0,.35);
    --radius:22px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
    background:
      radial-gradient(circle at top right, rgba(34,197,94,.12), transparent 32%),
      radial-gradient(circle at left center, rgba(34,197,94,.08), transparent 28%),
      var(--bg);
    color:var(--text);
    font-family:Segoe UI, Inter, Arial, sans-serif;
}
a{color:#d7fbe3;text-decoration:none}
a:hover{color:#fff}
img{max-width:100%;display:block}
.text-secondary{color:var(--muted)!important}
.site-nav{
    backdrop-filter: blur(10px);
    background:rgba(11,15,20,.78);
    border-bottom:1px solid var(--line);
}
.navbar-brand{letter-spacing:.3px;display:flex;align-items:center;gap:12px}
.brand-logo{height:48px;max-width:220px;width:auto;object-fit:contain;filter:drop-shadow(0 0 10px rgba(34,197,94,.2))}
.brand-text{font-weight:800;color:#fff}
.nav-link{
    color:rgba(230,237,243,.88)!important;
    padding:.8rem 1rem!important;
    border-radius:999px;
}
.nav-link:hover,.nav-link.active{
    color:#fff!important;
    background:rgba(34,197,94,.12);
}
.btn-brand{
    background:linear-gradient(135deg,var(--accent),var(--accent-2));
    color:#07130b;border:none;font-weight:700;
    border-radius:999px;padding:.8rem 1.2rem;
    box-shadow:0 10px 24px rgba(34,197,94,.25);
}
.btn-brand:hover{color:#041008;transform:translateY(-1px)}
.btn-outline-brand{
    color:#d7fbe3;border:1px solid rgba(34,197,94,.35);background:transparent;
    border-radius:999px;padding:.8rem 1.2rem;font-weight:700;
}
.hero{padding:96px 0 72px}
.hero-panel,.card-panel,.admin-shell,.form-panel{
    background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}
.hero-panel{padding:44px}
.hero-badge{
    display:inline-flex;align-items:center;gap:10px;
    padding:.55rem .9rem;border-radius:999px;
    background:rgba(34,197,94,.12);color:#d8ffe5;font-weight:700;font-size:.9rem;
    border:1px solid rgba(34,197,94,.18);
}
.section{padding:72px 0}
.section-title{font-size:clamp(1.9rem,2vw,2.7rem);font-weight:800;margin-bottom:12px}
.section-copy{color:var(--muted);max-width:760px}
.card-panel{padding:26px;height:100%}
.card-icon{
    width:52px;height:52px;border-radius:16px;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(34,197,94,.12);color:var(--accent);font-size:1.35rem;font-weight:800;
    margin-bottom:16px;
}
.metric{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.metric:last-child{border-bottom:0}
.page-hero{padding:72px 0 28px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.card-thumb{aspect-ratio:4/3;border-radius:18px;border:1px solid var(--line);margin-bottom:18px;overflow:hidden;background:#0c131d}
.card-thumb img{width:100%;height:100%;object-fit:cover}
.hero-image-wrap,.media-image-wrap{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#0c131d;min-height:320px}
.hero-image-wrap img,.media-image-wrap img{width:100%;height:100%;object-fit:cover}
.hero-image-wrap::after,.media-image-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.28))}
.label-chip{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:rgba(255,255,255,.04);color:#d7dee7;font-size:.85rem}
.form-control,.form-select,.form-control:focus,.form-select:focus{background:#0e1520;color:#fff;border:1px solid #263243;box-shadow:none}
.table-dark{--bs-table-bg: transparent;--bs-table-striped-bg: rgba(255,255,255,.02);--bs-table-hover-bg: rgba(34,197,94,.08);border-color:var(--line)}
.site-footer{border-top:1px solid var(--line);background:rgba(0,0,0,.12)}
.footer-line{border-color:var(--line);opacity:1}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}
.stat-box{padding:20px;border-radius:18px;background:#0e1520;border:1px solid var(--line)}
.admin-shell{overflow:hidden}
.admin-side{background:rgba(255,255,255,.02);border-right:1px solid var(--line);min-height:100vh}
.admin-side .nav-link{display:block;color:#d9e3ee!important;border-radius:14px;padding:.9rem 1rem!important}
.admin-side .nav-link:hover,.admin-side .nav-link.active{background:rgba(34,197,94,.12)}
.login-wrap{min-height:100vh;display:flex;align-items:center}
.stl-viewer{min-height:360px;border-radius:18px;background:#0e1520;border:1px solid var(--line)}
.alert-soft{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.18);color:#dcffe8;border-radius:16px}
.logo-panel{padding:18px;border-radius:18px;background:#0e1520;border:1px solid var(--line)}
.logo-panel img{max-height:110px;width:auto;object-fit:contain}
@media (max-width: 991px){.hero{padding-top:64px}.hero-panel{padding:28px}}
