*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#283047;font-family:Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#232640;color:#dfe2ee;padding:20px 16px;display:flex;flex-direction:column;z-index:20}.admin-brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;padding:6px 8px 22px}.admin-brand>span{width:44px;height:44px;border-radius:14px;background:#6c63ff;display:grid;place-items:center;font-weight:800}.admin-brand b,.admin-brand small{display:block}.admin-brand small{font-size:11px;color:#969cb0}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a,.side-bottom a{color:#c9cedd;text-decoration:none;padding:11px 13px;border-radius:10px;font-size:14px}.sidebar nav a:hover,.side-bottom a:hover{background:#303550;color:#fff}.side-bottom{margin-top:auto;display:flex;flex-direction:column;border-top:1px solid #363b56;padding-top:12px}.admin-main{margin-left:250px;min-height:100vh}.admin-top{height:92px;background:white;border-bottom:1px solid #e9ebf2;display:flex;align-items:center;padding:0 32px;gap:16px;position:sticky;top:0;z-index:10}.admin-top h1{font-size:24px;margin:3px 0}.admin-top small{color:#9298a8}.admin-user{margin-left:auto;background:#f3f1ff;color:#5148ba;padding:10px 14px;border-radius:999px;font-size:13px;font-weight:700}.side-toggle{display:none;border:0;background:#eeeefe;width:40px;height:40px;border-radius:10px;font-size:19px}.admin-content{padding:30px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stat{background:white;border:1px solid #eaecf2;border-radius:18px;padding:22px;box-shadow:0 8px 24px #2d315008}.stat span{font-size:27px}.stat b{display:block;font-size:28px;margin-top:8px}.stat small{color:#858b9a}.panel{background:#fff;border:1px solid #eaecf2;border-radius:20px;padding:24px;margin-bottom:22px;box-shadow:0 8px 24px #2d315008}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.panel h2{font-size:19px;margin:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #dfe2eb;border-radius:10px;background:#fff;font:inherit}.field textarea{min-height:110px;resize:vertical}.field small{color:#8b91a1}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 15px;font-weight:700;text-decoration:none;cursor:pointer;font-size:13px}.btn-primary{background:#6c63ff;color:white}.btn-light{background:#f0efff;color:#554cc8}.btn-danger{background:#fff0f0;color:#b72f2f}.actions{display:flex;gap:6px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #edf0f4;vertical-align:middle}th{color:#73798b;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.thumb{width:72px;height:52px;object-fit:cover;border-radius:8px;background:#eee}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700}.badge.on{background:#e7f8ed;color:#267744}.badge.off{background:#f2f2f4;color:#747884}.alert{padding:13px 16px;border-radius:12px;margin-bottom:18px;font-size:14px}.alert.success{background:#e7f8ed;color:#267744}.alert.error{background:#fff0f0;color:#a52a2a}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f2efff,#fff2d2);padding:16px}.login-card{width:min(430px,100%);background:white;padding:34px;border-radius:25px;box-shadow:0 25px 70px #37306422}.login-logo{width:64px;height:64px;display:grid;place-items:center;background:#6c63ff;color:white;border-radius:20px;font-size:23px;font-weight:800;margin-bottom:20px}.login-card h1{margin:0}.login-card p{color:#7d8394}.login-card .field{margin:15px 0}.login-card .btn{width:100%;padding:13px}.muted{color:#888f9e;font-size:13px}.preview-photo{max-width:160px;border-radius:16px;margin-top:10px}@media(max-width:900px){.sidebar{transform:translateX(-105%);transition:.25s}.sidebar.open{transform:none}.admin-main{margin-left:0}.side-toggle{display:block}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.admin-top{padding:0 16px}.admin-content{padding:18px}.stats,.grid-2,.grid-3{grid-template-columns:1fr}.admin-user{display:none}.panel{padding:18px}}
.grid-full{grid-column:1/-1}
