:root{
 --pink:#E5007D;--pink-dark:#C90068;--pink-soft:#FCE8F2;--pink-pale:#FFF7FB;
 --ink:#303846;--muted:#7D8795;--line:#F0DCE7;--surface:#FFFFFF;--canvas:#FFFFFF;
 --green:#16856b;--shadow:0 8px 26px rgba(48,30,40,.045);--radius:15px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:264px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:1050;box-shadow:8px 0 35px rgba(42,24,35,.025)}
.brand{height:82px;padding:17px 21px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #F0DCE7}
.brand strong{display:block;color:#C90068;font-size:14px;font-weight:800;letter-spacing:.3px}
.brand small,.topbar small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.logo{width:43px;height:43px;display:grid;place-items:center;background:linear-gradient(145deg,#c9859f,#a75b79);color:#fff;border-radius:14px;font-size:15px;font-weight:800;box-shadow:0 6px 14px rgba(136,68,95,.16)}
.logo.small{font-size:13px}
.sidebar nav{padding:19px 13px;overflow:auto;flex:1}
.caption{display:block;color:#b4a1ad;font-size:9px;font-weight:800;letter-spacing:1.4px;padding:8px 12px 12px}
.nav{display:flex;align-items:center;gap:12px;padding:11px 13px;margin:4px 0;border-radius:11px;color:#687487;font-weight:600;font-size:12px;transition:background .18s,color .18s,transform .18s}
.nav span{width:18px;display:inline-flex;justify-content:center;align-items:center;color:#E5007D;font-size:15px}
.nav:hover{background:#FCE8F2;color:var(--pink-dark);transform:translateX(2px)}
.nav.active{background:#FCE8F2;color:var(--pink-dark);box-shadow:inset 3px 0 0 var(--pink-dark)}
.nav-group{margin:4px 0}
.nav-group>.nav-category{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;list-style:none}
.nav-group>.nav-category::-webkit-details-marker{display:none}
.nav-category b{font:inherit;flex:1}
.nav-chevron{font-size:10px;color:#b8a5b0;transition:transform .2s}
.nav-group[open]>.nav-category .nav-chevron{transform:rotate(180deg)}
.nav-children{margin:3px 0 9px 21px;padding-left:10px;border-left:1px solid #F0DCE7}
.nav.nav-child{font-weight:500;font-size:11.5px;padding:9px 11px;margin:2px 0}
.nav.nav-child span{font-size:13px}
.nav-category.active{background:#FCE8F2;color:var(--pink-dark)}
.side-foot{padding:16px;border-top:1px solid #f6edf2;font-size:10px;color:#a0a8b5;text-align:center}
.main{margin-left:264px;min-height:100vh;display:flex;flex-direction:column}
.topbar{height:82px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:15px;position:sticky;top:0;z-index:10}
.topbar>div:first-of-type b{font-size:14px;font-weight:700;letter-spacing:-.2px}
.profile{margin-left:auto;display:flex;align-items:center;gap:13px;font-size:11px;color:#657185}
.profile form{margin:0}
.content{padding:28px 30px;flex:1;max-width:1800px;width:100%;margin:0 auto}
footer{padding:15px 30px;color:#a5aab5;font-size:10px;background:#fff;border-top:1px solid var(--line)}
.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:15px}
.heading h1{font-size:23px;font-weight:750;letter-spacing:-.8px;margin:0 0 6px;color:#253247}
.heading p,.panel p{margin:0;color:var(--muted);line-height:1.7;font-size:12px}
.pill,.btn.light{background:var(--pink-soft);color:var(--pink-dark);border-radius:30px;padding:9px 14px;font-size:10px;font-weight:700}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:19px}
.stat,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.stat{position:relative;overflow:hidden;min-height:145px}
.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:#FFF7FB;right:-32px;top:-34px}
.stat>div{width:39px;height:39px;display:grid;place-items:center;background:var(--pink-soft);border-radius:12px;font-size:18px;margin-bottom:14px;position:relative;z-index:1}
.stat small{display:block;color:var(--muted);font-size:11px}
.stat strong{display:block;color:var(--pink-dark);font-size:27px;font-weight:800;margin:5px 0}
.stat em{font-size:9px;color:#a7aebb;font-style:normal}
.panel h2{font-size:15px;font-weight:700;margin:0 0 9px;color:#2e394c}
.btn{border:0;cursor:pointer;font-weight:700;padding:10px 15px;border-radius:10px;transition:.18s}
.btn.primary{background:linear-gradient(135deg,#E5007D,#C90068);color:#fff;box-shadow:0 7px 16px #e84b9a30}
.btn.primary:hover{background:var(--pink-dark);color:#fff;transform:translateY(-1px)}
.btn.light{border:0}
.btn-outline-secondary,.btn-outline-danger{border-radius:9px}
.alert{padding:12px 15px;border-radius:11px;margin-bottom:14px;border:1px solid transparent}
.alert.success{background:#ecfbf5;color:#147a5d;border-color:#d4f3e7}
.alert.danger,.alert.alert-danger{background:#fff0f0;color:#a83243;border-color:#f8dada}
.tablewrap{overflow:auto}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:580px}
th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #f2edf1;font-size:11px;vertical-align:middle}
th{background:#FFF7FB;color:#8e6677;font-weight:700;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#FFFFFF}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]),textarea{border:1px solid #e9e1e7;border-radius:10px;padding:10px 12px;font-size:12px;box-shadow:none;max-width:100%}
.form-control:focus,.form-select:focus,input:focus,textarea:focus{border-color:#E5007D;box-shadow:0 0 0 3px #f4edf0;outline:0}
label{display:block;font-size:11px;font-weight:650;margin:12px 0 6px;color:#596579}
.form-check{display:flex;align-items:center;gap:8px}
.form-check-input{margin:0!important;float:none!important}
.form-check-label{margin:0}
.center{text-align:center;padding:55px 20px}
.flower{font-size:34px;margin-bottom:10px}
.toggle{display:none;border:0;border-radius:10px;padding:9px 12px;background:var(--pink-soft);color:var(--pink-dark)}
/* Login */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:#FFFFFF}
.auth-card{width:min(440px,100%);background:#fff;padding:36px;border:1px solid #F0DCE7;border-radius:24px;box-shadow:0 25px 80px rgba(32,38,48,.09)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}
.auth-brand b{display:block;color:var(--pink-dark);font-size:13px;letter-spacing:.5px}
.auth-brand small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.auth-heading{margin-bottom:24px}
.auth-kicker{font-size:9px;font-weight:800;letter-spacing:1.5px;color:var(--pink)}
.auth-card h1{font-size:25px;font-weight:800;letter-spacing:-.8px;margin:8px 0}
.auth-card p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}
.auth-card label{margin:15px 0 7px}
.input-icon{position:relative}
.input-icon>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#b38a9f;z-index:1}
.input-icon input{width:100%;padding:12px 12px 12px 39px!important;background:#FFFFFF}
.auth-card .full{width:100%;margin-top:24px;display:flex;align-items:center;justify-content:center;gap:10px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:24px}}
@media(max-width:700px){
 .sidebar{transform:translateX(-105%);transition:transform .22s ease;box-shadow:15px 0 40px rgba(20,10,20,.13)}
 .sidebar.show{transform:translateX(0)}
 .main{margin-left:0}
 .toggle{display:inline-flex;align-items:center;justify-content:center}
 .topbar{height:68px;padding:0 14px}
 .topbar>div:first-of-type b{font-size:12px}
 .profile span{display:none}
 .content{padding:20px 14px}
 .stats{gap:10px}
 .stat{padding:14px;min-height:130px}
 .stat strong{font-size:23px}
 .heading h1{font-size:20px}
 .panel{padding:16px}
 footer{padding:13px 15px}
 .auth-card{padding:27px 22px;border-radius:20px}
}
@media(max-width:390px){.stats{grid-template-columns:1fr}.stat{min-height:auto}}
