
.admin-body{min-height:100vh;background:linear-gradient(135deg,#f5f8ff,#eef5ff 45%,#fff)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(520px,100%);background:white;border:1px solid var(--line);border-radius:30px;padding:38px;box-shadow:var(--shadow)}.login-logo{width:210px;margin-bottom:18px}.admin-form{display:grid;gap:16px;margin-top:24px}.admin-form label{font-weight:900;color:var(--navy);display:grid;gap:8px}.admin-form input{border:1px solid var(--line);border-radius:14px;padding:15px;font:inherit}.small{font-size:13px}.notice{border-radius:16px;padding:14px 16px;margin:16px 0;font-weight:800}.notice.good{background:#eaf9ef;color:#176b2c;border:1px solid #b8e9c6}.notice.bad{background:#fff1f1;color:#8a1720;border:1px solid #ffd1d1}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:#061b42;color:white;padding:24px;box-shadow:20px 0 50px rgba(6,27,66,.18);z-index:10}.admin-brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none;font-size:18px;font-weight:900}.admin-brand img{width:56px;height:56px;object-fit:contain;background:white;border-radius:15px;padding:6px}.admin-sidebar nav{display:grid;gap:10px;margin-top:34px}.admin-sidebar nav a{color:#cfe1ff;text-decoration:none;padding:14px 16px;border-radius:14px;font-weight:900}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#0b66ff;color:white}.admin-main{margin-left:270px;padding:38px;min-height:100vh;background:linear-gradient(180deg,#f5f8ff,#fff)}.admin-header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:26px}.admin-header h1{font-size:clamp(34px,4vw,56px);line-height:1;margin:0;color:var(--navy)}.status-card{background:white;border:1px solid var(--line);border-radius:22px;padding:20px 24px;box-shadow:var(--shadow);min-width:220px}.status-card span,.status-card small{display:block;color:var(--muted);font-weight:800}.status-card strong{display:block;text-transform:capitalize;color:var(--blue);font-size:28px;margin:5px 0}.portal-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}.portal-panel{background:white;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);margin-bottom:24px}.portal-panel h2{margin:0 0 8px;color:var(--navy);font-size:28px}.theme-radio-grid{display:grid;gap:12px;margin:22px 0}.theme-radio{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px;cursor:pointer;transition:.2s}.theme-radio:hover,.theme-radio.selected{border-color:var(--blue);box-shadow:0 0 0 4px rgba(11,102,255,.10)}.theme-radio input{display:none}.theme-radio .emoji{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--soft);font-size:25px}.theme-radio strong{display:block;color:var(--navy);font-size:18px}.theme-radio small{display:block;color:var(--muted);font-weight:700;margin-top:3px}.btn.large{width:100%;justify-content:center;font-size:16px;padding:16px}.mini-browser{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#eff6ff,#fff)}.mini-top{height:38px;background:#061b42;display:flex;gap:8px;align-items:center;padding-left:16px}.mini-top span{width:10px;height:10px;border-radius:50%;background:white;opacity:.6}.mini-hero{padding:28px;text-align:center;min-height:315px;background:radial-gradient(circle at 50% 0,rgba(11,102,255,.20),transparent 55%)}.mini-hero img{width:260px;max-width:100%;height:130px;object-fit:contain}.mini-hero h3{font-size:30px;line-height:1.05;color:var(--navy);margin:10px 0}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.admin-stats div{background:var(--soft);border-radius:16px;padding:14px}.admin-stats strong{display:block;color:var(--navy)}.admin-stats span{font-size:12px;color:var(--muted);font-weight:800}.check-list p{margin:10px 0;color:var(--muted);font-weight:800}@media(max-width:900px){.admin-sidebar{position:static;width:auto}.admin-main{margin-left:0;padding:22px}.admin-header,.portal-grid{grid-template-columns:1fr;display:grid}.status-card{min-width:0}}
