*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans",Meiryo,sans-serif;color:#10243a;background:#f4f8fb}body{margin:0}a{color:#087f77}.auth-body,.landing-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4f8fb}.auth-card,.landing-card{width:min(100%,560px);background:#fff;border:1px solid #d9e5ee;border-radius:20px;padding:32px;box-shadow:0 10px 30px rgba(20,50,75,.07)}.brand{font-weight:900;font-size:22px;letter-spacing:.03em;margin-bottom:28px}.brand span{color:#087f77}.auth-card h1,.landing-card h1{margin:0 0 14px;font-size:32px;line-height:1.35}.auth-card p,.landing-card p{color:#617587;line-height:1.7}.auth-card label{display:block;font-weight:800;margin:18px 0 7px}.auth-card input{width:100%;padding:13px 14px;border:1px solid #b9cbd8;border-radius:10px;font-size:16px}.auth-card button,.button-link{display:block;width:100%;margin-top:22px;padding:14px 18px;border:0;border-radius:11px;background:#087f77;color:#fff;text-decoration:none;text-align:center;font-size:17px;font-weight:900;cursor:pointer}.back-link{display:inline-block;margin-top:20px}.flash.error{margin:18px 0;padding:13px 15px;border-radius:10px;background:#fff0f0;color:#8b1e1e}.admin-body{background:#f4f8fb}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:#fff;border-bottom:1px solid #d9e5ee}.admin-header div{display:flex;gap:12px;align-items:baseline}.admin-header strong{font-size:20px}.admin-header span{color:#63788a;font-size:13px}.admin-main{max-width:1080px;margin:0 auto;padding:40px 24px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:#087f77}.admin-heading h1{font-size:42px;margin:8px 0}.admin-heading p{color:#63788a}.status-ok{display:flex;gap:14px;align-items:center;margin:28px 0;padding:16px 18px;background:#eafaf4;border:1px solid #bde5d7;border-radius:13px;color:#136346}.status-ok span{font-size:14px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.stat-grid article,.admin-panel{background:#fff;border:1px solid #d9e5ee;border-radius:16px;padding:22px}.stat-grid article span,.stat-grid article small{display:block;color:#63788a}.stat-grid article strong{display:block;font-size:40px;margin:8px 0}.admin-panel h2{margin-top:0}.admin-panel p{color:#63788a;line-height:1.7}@media(max-width:640px){.admin-header{padding:15px 18px}.admin-header span{display:none}.admin-main{padding:28px 16px}.admin-heading h1{font-size:34px}.stat-grid{grid-template-columns:1fr}.status-ok{align-items:flex-start;flex-direction:column}}
