:root{--ink:#202a25;--muted:#6c746f;--panel:#fff;--line:#e1e7e2;--green:#1f7657;--nav:#18251f;--bg:#f3f6f3;--gold:#d79a32}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:ui-rounded,Hiragino Maru Gothic ProN,Yu Gothic,sans-serif}button,select,textarea{font:inherit}button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:12px;padding:11px 16px;font-weight:800}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{color:var(--ink);background:#e7ece8}.badge{color:#287257;letter-spacing:.05em;background:#ddf1e7;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900;display:inline-block}.notice{color:#26553f;background:#e2f1e8;border-radius:12px;margin:14px 0;padding:12px 14px}.notice.danger{color:#852f28;background:#f9dfdc}.gate{background:radial-gradient(circle at 30% 20%,#dceee4,#0000 35%),linear-gradient(145deg,#f7f2df,#e8f1eb);place-items:center;min-height:100vh;padding:24px;display:grid}.gate-card{border:1px solid var(--line);background:#ffffffeb;border-radius:28px;width:min(520px,100%);padding:44px;box-shadow:0 16px 50px #22413124}.gate-card h1{margin:14px 0 8px;font-size:2.4rem}.gate-card p{color:var(--muted);line-height:1.7}.gate-card button{width:100%;min-height:48px;margin-top:10px}.admin-layout{grid-template-columns:240px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:var(--nav);flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:10px;margin-bottom:38px;display:flex}.admin-brand span{color:#173629;background:#9bd0af;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:1000;display:grid}aside nav{gap:8px;display:grid}aside nav a{color:#c6d3cc;border-radius:10px;padding:11px 13px;text-decoration:none}aside nav a:hover{color:#fff;background:#ffffff14}aside button{margin-top:auto}.admin-content{min-width:0;padding:36px clamp(22px,5vw,70px) 80px}.admin-content>header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px;display:flex}.admin-content h1{margin:10px 0 0;font-size:2.25rem}.admin-content h2{margin:0 0 16px}.status-dot{color:#216244;font-size:.86rem;font-weight:800}.status-dot:before{content:"";background:#39b16e;border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.admin-content section{border:1px solid var(--line);background:var(--panel);border-radius:20px;margin-bottom:28px;padding:25px;box-shadow:0 8px 28px #1e32270d}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.service-grid article{border:1px solid var(--line);border-radius:16px;padding:20px;position:relative}.service-grid h3{margin:2px 0 8px 24px}.service-grid p,.section-top p,#problems>p{color:var(--muted);margin:0}.service-grid i{border-radius:50%;width:12px;height:12px;position:absolute;top:25px;left:20px}.service-grid i.green{background:var(--green)}.service-grid i.gold{background:var(--gold)}.section-top{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}select{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:42px;padding:0 12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:12px 10px}th{color:var(--muted);font-size:.78rem}textarea{border:1px solid var(--line);color:#dfe9e3;background:#18251f;border-radius:14px;width:100%;min-height:340px;margin-top:18px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.55}.problem-loader{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.problem-loader input{border:1px solid var(--line);border-radius:10px;flex:1;min-width:190px;min-height:44px;padding:0 12px}.problem-loader span{color:var(--muted);font-size:.82rem}.button-row{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}@media (max-width:760px){.admin-layout{grid-template-columns:1fr}aside{height:auto;padding:16px;position:static}.admin-brand{margin:0 0 14px}aside nav{grid-template-columns:repeat(3,1fr)}aside nav a{text-align:center;font-size:.78rem}aside button{margin-top:14px}.admin-content{padding:22px 12px 60px}.admin-content>header,.section-top{flex-direction:column;align-items:flex-start}.service-grid{grid-template-columns:1fr}.gate-card{padding:30px 22px}}
