:root{--ink:#203a54;--blue:#2574cd;--muted:#71869a;--line:#dfebf3;--bg:#f1f7fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif}a{color:var(--blue)}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #63a8ef;outline-offset:3px}.auth-shell{max-width:460px;margin:8vh auto;padding:20px}.auth-card{background:white;border:1px solid var(--line);border-radius:22px;padding:30px}.brand{font-size:24px;font-weight:800;text-decoration:none;display:block;margin-bottom:25px}h1{font-size:23px;margin:0 0 12px}p{line-height:1.7;font-size:14px;color:var(--muted)}label{display:block;font-size:14px;font-weight:600;margin:24px 0 8px}input,select{padding:12px;border:1px solid #bfd1df;border-radius:9px;background:white;color:var(--ink);max-width:100%}.auth-card input{width:100%}button.primary,.link-button{display:block;width:100%;padding:14px;background:var(--blue);color:white;border:0;border-radius:10px;font-weight:700;text-align:center;text-decoration:none}button:disabled{opacity:.6;cursor:wait}.message{min-height:24px;font-size:13px;line-height:1.6;white-space:pre-wrap}.error{color:#ad3d32}.success{color:#26734c}.admin-entry{margin-top:32px;text-align:left;font-size:12px}.admin-entry a{color:var(--muted)}.back-link{margin:24px 0 0;font-size:13px}.admin-shell{max-width:1280px;margin:30px auto;padding:0 20px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.admin-heading .brand{margin-bottom:8px}.admin-heading nav{display:flex;gap:18px;align-items:center;font-size:13px}.plain-button{background:white;border:1px solid var(--line);padding:9px 14px;border-radius:8px;color:var(--ink)}.admin-panel{padding:24px;background:white;border:1px solid var(--line);border-radius:18px;margin:20px 0}.filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.filters label{margin-top:0}.filters .field{flex:1;min-width:180px}.filters input,.filters select{width:100%}.metrics{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0 0}.metrics strong{display:block;font-size:26px;color:var(--blue)}.metrics span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:13px}th{background:#eef5fb;padding:12px;font-weight:600}td{border-bottom:1px solid var(--line);padding:12px}td button{background:none;border:0;color:var(--blue);text-decoration:underline;padding:4px}.empty{padding:25px;color:var(--muted)}[hidden]{display:none!important}.detail-title{font-size:19px}.note{font-size:12px}@media(max-width:600px){.auth-shell{margin:4vh auto;padding:16px}.auth-card{padding:24px}.admin-shell{padding:0 14px}.admin-panel{padding:16px}.metrics{gap:18px}.metrics strong{font-size:23px}}
