:root{--navy:#123552;--blue:#1261a0;--pale:#eef6fb;--line:#d8e3eb;--text:#1d2a33}*{box-sizing:border-box}body{margin:0;background:#f8fbfd;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif}.wrap{width:min(100% - 32px,1000px);margin:auto}.hero{padding:48px 0 42px;background:linear-gradient(125deg,#103452,#176eaa);color:#fff}.hero h1{margin:4px 0 10px;font-size:clamp(1.8rem,4vw,2.5rem)}.hero p{margin:0}.eyebrow{font-weight:700;font-size:.75rem;letter-spacing:.14em;opacity:.8}main{padding:32px 0 56px}.controls{display:flex;gap:16px;align-items:end;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.controls label,.admin label{display:grid;gap:6px;font-size:.85rem;font-weight:700}.search{flex:1}.controls span{font-size:.85rem}input,select{width:100%;padding:10px;border:1px solid #b9cbd7;border-radius:6px;font:inherit}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 14px}.tab{border:1px solid #b7cbd8;border-radius:999px;background:#fff;padding:8px 15px;color:#294b60;cursor:pointer}.tab[aria-selected="true"]{border-color:var(--blue);background:var(--blue);color:#fff}.status{color:#587080}.document-list{display:grid;gap:12px}.document{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:10px}.document h2{margin:7px 0;font-size:1.05rem}.details{margin:0;color:#607682;font-size:.87rem}.document-meta{display:flex;gap:8px;align-items:center}.category,.new{font-size:.72rem;font-weight:700;padding:3px 7px;border-radius:4px}.category{background:var(--pale);color:#176094}.new{background:#d83445;color:#fff}.actions{display:flex;gap:10px;white-space:nowrap}.actions a,button{border:0;border-radius:6px;padding:9px 12px;background:var(--blue);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.download{background:#e8f1f7!important;color:#185174!important}.older-toggle{width:100%;margin:20px 0 12px;background:#597487}.admin{margin-top:44px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:10px}.admin summary{font-weight:700;cursor:pointer}.admin form{display:grid;gap:14px;margin-top:16px;max-width:560px}.admin button{justify-self:start}.error{color:#b42318}@media(max-width:600px){.controls,.document{align-items:stretch;flex-direction:column}.actions{justify-content:flex-end}.hero{padding:34px 0}}
