:root{--ink: #1d2433;--muted: #5c6573;--line: #e2e2e2;--paper: #ffffff;--navy: #1f3356;--gold: #9a7b32;--white: #ffffff}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;overflow-x:hidden}body{font-family:Noto Sans JP,sans-serif;color:var(--ink);background:#fff}button,input,select{font:inherit}.page{max-width:1120px;width:calc(100% - 32px);margin:0 auto;padding:40px 0 80px}.hero{margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--gold);letter-spacing:.28em;font-size:12px}.hero h1{margin:0;font-family:"Noto Serif JP",serif;font-size:36px;font-weight:600;color:var(--navy)}.lede{max-width:40em;margin:12px 0 0;color:var(--muted);line-height:1.8}.search{display:grid;grid-template-columns:280px 1fr;gap:12px;padding:16px;background:var(--white);border:1px solid var(--line)}.search label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.search input,.search select{height:42px;padding:0 12px;border:1px solid #d0d0d0;background:#fff;color:var(--ink)}.status{margin:16px 0;color:var(--muted)}.status.error{color:#8a2b2b}.table-wrap{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch;background:var(--white);border:1px solid var(--line)}.results{width:100%;border-collapse:collapse;font-size:14px}.results th,.results td{padding:10px 12px;border-bottom:1px solid #ececec;text-align:left;vertical-align:top;white-space:nowrap}.results th{background:#f5f5f5;font-weight:500;color:var(--navy)}.results strong{display:block}.kana{display:block;margin-top:2px;color:var(--muted);font-size:11px}.results button,.modal-actions button{height:34px;padding:0 12px;border:1px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer}.results button:disabled{opacity:.35;cursor:not-allowed}.primary{background:var(--navy)!important;color:#fff!important}.modal{position:fixed;inset:0;background:#1218248c;display:grid;place-items:center;padding:24px;z-index:20}.modal-panel{width:min(1080px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#ebe4d3;padding:20px}.modal-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:16px}.modal-kicker{margin:0;font-size:12px;letter-spacing:.16em;color:var(--gold)}.modal-toolbar h2{margin:4px 0 0;font-size:18px;font-family:"Noto Serif JP",serif}.modal-actions{display:flex;gap:8px}.certificate-stage{width:100%;padding:8px 0 16px;overflow:hidden}.certificate{--cert-scale: .52;box-sizing:border-box;width:210mm;min-width:210mm;max-width:210mm;height:297mm;flex-shrink:0;overflow:hidden;background:#fff;color:#111;font-family:"Noto Serif JP",serif;transform:scale(var(--cert-scale));transform-origin:top left;margin-bottom:calc(297mm * (var(--cert-scale) - 1))}.certificate.is-capturing{transform:none;margin-bottom:0}.certificate-frame{height:100%;padding:10mm 12mm}.certificate-inner{height:100%;border:2.2px solid #111;padding:14mm 12mm 12mm;display:flex;flex-direction:column}.certificate-title{margin:2mm 0 12mm;text-align:center;font-size:48px;font-weight:700;letter-spacing:.12em;white-space:nowrap}.cert-fields{width:92%;margin:0 auto}.cert-row{display:grid;grid-template-columns:28mm 1fr;align-items:end;gap:6mm;margin-bottom:7mm}.cert-label{font-size:22px;letter-spacing:.18em;padding-bottom:3px}.cert-value{border-bottom:1px solid #111;font-size:24px;line-height:1.45;padding:0 2mm 4px;min-height:9.5mm}.certificate-proof{margin:2mm 0 0;text-align:center;font-size:22px;letter-spacing:.08em}.certificate-issued{margin:7mm 0 0;text-align:center;font-size:22px}.certificate-signblock{display:flex;flex-direction:column;align-items:flex-start;gap:3mm;margin:auto 5mm 10mm calc(50% + 10mm);width:max-content;text-align:left}.certificate-assoc{margin:0;font-size:22px;letter-spacing:.12em;white-space:nowrap}.certificate-president-row{display:flex;align-items:center;gap:8mm}.certificate-president{margin:0;font-size:22px;letter-spacing:.08em;white-space:nowrap}.certificate-stamp{width:21mm;height:21mm;object-fit:contain;flex-shrink:0}.site-footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;color:var(--muted);font-size:13px}.site-footer a{color:var(--navy)}.admin-page h1{margin:0;font-family:"Noto Serif JP",serif;font-size:32px;color:var(--navy)}.admin-card{display:grid;gap:12px;margin:20px 0;padding:20px;background:var(--white);border:1px solid var(--line)}.admin-card h2{margin:0;font-size:18px}.admin-card label{display:grid;gap:6px;font-size:13px}.admin-note{margin:0;color:var(--muted);line-height:1.7}.admin-card input:not([type=file]){height:42px;padding:0 12px;border:1px solid #cfc6b4;background:#fff;color:var(--ink)}.admin-card button{height:40px;padding:0 16px;width:fit-content;border:1px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer}.admin-card button:disabled{opacity:.35;cursor:not-allowed}.admin-card ul{margin:0;padding-left:1.2em;line-height:1.8}.meet-edit-list{list-style:none;padding:0!important;display:grid;gap:8px}.meet-edit-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:start}.meet-edit-fields{display:grid;gap:8px}.meet-edit-fields label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.meet-edit-order{display:flex;gap:4px}.meet-edit-order button{width:36px;height:36px;padding:0}.meet-edit-order button:disabled{opacity:.35;cursor:not-allowed}.meet-edit-aside{display:grid;gap:8px;justify-items:end}.meet-edit-count{font-size:12px;color:var(--muted);white-space:nowrap}.meet-delete{height:40px!important;padding:0 14px!important;border-color:#a33!important;color:#a33!important;white-space:nowrap}@media(max-width:700px){.meet-edit-row{grid-template-columns:auto 1fr}.meet-edit-aside{grid-column:1 / -1;justify-items:stretch}}.admin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid #ccc;border-radius:6px;background:#fff;color:inherit;text-decoration:none;font-size:14px}.log-table{font-size:13px}.count-summary{display:grid;gap:8px;margin:12px 0}.count-summary h3{margin:0;font-size:16px}.count-table{width:auto;min-width:220px}.admin-card .table-wrap{max-height:420px}@media(max-width:900px){.page{width:calc(100% - 24px);padding:20px 0 48px}.eyebrow{letter-spacing:.12em}.hero h1,.admin-page h1{font-size:26px}.search{grid-template-columns:1fr;padding:12px}.search input,.search select,.admin-card input:not([type=file]){font-size:16px}.modal{padding:0;place-items:stretch}.modal-panel{max-height:100dvh;padding:12px}.modal-toolbar{flex-direction:column;align-items:stretch}.modal-actions{width:100%}.modal-actions button{flex:1;min-height:44px}}@media print{body{background:#fff}.hero,.search,.status,.table-wrap,.modal-toolbar{display:none!important}.modal,.modal-panel,.certificate-stage{position:static;background:#fff;padding:0;max-height:none;overflow:visible}}
