:root{font-family:system-ui,"Yu Gothic",sans-serif;color:#18242c;background:#f4f6f7;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:#f4f6f7}
header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #d5dde1}
header h1{font-size:20px;margin:0;flex:1}
header p{margin:0;color:#526671}
main{max-width:1080px;margin:0 auto;padding:24px}
h2{font-size:18px;margin-top:32px}
h3{font-size:15px;margin-top:24px}
table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #e3e8eb;vertical-align:top;overflow-wrap:anywhere}
th{background:#eef2f4;font-weight:600}
input,select{font:inherit;padding:7px 8px;border:1px solid #b9c6cc;border-radius:6px;background:#fff;color:inherit}
select{min-width:220px}
input:disabled,select:disabled{background:#eef2f4;color:#6a7b84}
label{display:block;margin:8px 0 4px;font-weight:600}
label.inline{display:inline;margin:0}
label.check{display:inline-flex;gap:4px;align-items:center;margin:0 12px 0 0;font-weight:400}
button{font:inherit;font-weight:600;padding:8px 16px;border:1px solid #2d5f8a;border-radius:6px;background:#2d5f8a;color:#fff;cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
td button{padding:4px 10px;font-size:13px}
.secondary{background:transparent;color:#2d5f8a}
.notice{background:#fff7e6;border:1px solid #e3c27a;padding:10px 14px;border-radius:6px}
.hint{color:#526671;font-size:13px}
.error{color:#a3261b;min-height:1em}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.actions.end{justify-content:flex-end}
.panel{background:#fff;border:1px solid #d5dde1;border-radius:6px;padding:12px 16px;margin:12px 0}
.panel h3{margin-top:0}
summary{cursor:pointer;font-weight:600}
.grid{display:grid;grid-template-columns:minmax(140px,max-content) minmax(0,1fr);gap:6px 12px;align-items:center;margin-top:8px}
.grid label{margin:0}
.grid>div,.grid fieldset{grid-column:1/-1}
fieldset{border:1px solid #d5dde1;border-radius:6px;padding:8px 12px}
.grant{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:6px 0;border-bottom:1px solid #eef2f4}
.grant strong{min-width:110px}
.service{background:#fff;border:1px solid #d5dde1;border-radius:6px;padding:12px 16px;margin:8px 0}
.service a{font-weight:600}
dialog{border:1px solid #b9c6cc;border-radius:8px;padding:20px 24px;width:min(640px,calc(100vw - 32px));color:inherit;background:#fff}
dialog::backdrop{background:rgba(24,36,44,.4)}
dialog h2{margin-top:0;overflow-wrap:anywhere}
:focus-visible{outline:3px solid #d47d00;outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:640px){main{padding:16px}header{padding:12px 16px}table{font-size:13px}.grid{grid-template-columns:1fr}select{min-width:0;max-width:100%}}
