*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;background:#f5f7fb;color:#0f172a}
a{text-decoration:none;color:#1d4ed8}
.login-body{min-height:100vh;background:linear-gradient(135deg,#07132b,#0f4fd9 55%,#38a3ff)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 430px;gap:30px;align-items:center;max-width:1120px;margin:0 auto;padding:28px}
.login-brand{color:#fff}
.login-logo{width:70px;height:70px;border-radius:22px;background:#fff;color:#0f4fd9;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:20px}
.login-brand h1{font-size:46px;line-height:1.05;margin:0;letter-spacing:-.04em}
.login-brand p{font-size:17px;color:rgba(255,255,255,.78);line-height:1.7;max-width:620px}
.login-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.login-points span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);padding:9px 12px;border-radius:999px;font-size:13px}
.login-card{background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.22);padding:26px}
.login-card h2{margin:0;font-size:28px;letter-spacing:-.03em}
.muted{color:#64748b;margin:8px 0 18px;line-height:1.6}
.login-card form,.admin-form,.inline-form{display:grid;gap:10px}
label{font-size:12px;color:#475569}
input,select{width:100%;min-height:40px;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px;background:#fff;color:#0f172a}
button,.login-card button{min-height:40px;border:0;border-radius:12px;background:#0f4fd9;color:#fff;font-weight:600;cursor:pointer;padding:0 14px}
button:hover{filter:brightness(.95)}
.google-btn{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #cbd5e1;border-radius:12px;margin-top:12px;color:#0f172a;background:#fff}
.login-footer{text-align:center;margin-top:16px;color:#64748b;font-size:14px}
.check,.mini-check{display:flex;align-items:center;gap:8px}
.check input,.mini-check input{width:auto;min-height:auto}
.msg{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;padding:12px;border-radius:14px;margin:12px 0;font-size:14px}
.msg.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.admin-body{background:#f5f7fb}
.admin-wrap{max-width:1320px;margin:0 auto;padding:24px}
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:20px;margin-bottom:18px;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.admin-head h1{margin:0;font-size:30px;letter-spacing:-.03em}
.admin-head p{margin:6px 0 0;color:#64748b}
.admin-head a{background:#0f172a;color:#fff;border-radius:12px;padding:11px 15px}
.admin-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.panel{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:18px;margin-bottom:16px;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.panel h2{margin:0 0 14px;font-size:21px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{border-bottom:1px solid #edf0f4;padding:10px;text-align:left;vertical-align:top}
th{color:#64748b;font-weight:600;background:#f8fafc}
td input,td select{min-height:34px;border-radius:9px;font-size:12px}
td button{min-height:34px;border-radius:9px;font-size:12px}
.danger{background:#dc2626}
@media(max-width:900px){.login-shell,.admin-grid.two{grid-template-columns:1fr}.login-brand h1{font-size:34px}.admin-head{flex-direction:column;align-items:flex-start}}
