:root {
    color: #142d42;
    background: #f2f5f8;
    font: 100%/1.5 system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; }
header, nav, .account { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
header { background: #0e2036; color: #fff; padding: 1rem clamp(1rem, 4vw, 3rem); }
header strong { font-size: 1.15rem; }
header a { color: #e5f2ff; }
.account { margin-left: auto; }
main { max-width: 76rem; margin: auto; padding: 1rem clamp(1rem, 4vw, 3rem) 3rem; }
a { color: #075582; }
.notice { background: #fff6df; border: 1px solid #ead19b; border-radius: .6rem; padding: .75rem 1rem; }
.panel { background: white; border: 1px solid #d5dfe8; border-radius: .8rem; padding: 1rem; margin: 1rem 0; }
.narrow { max-width: 34rem; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
td, th { padding: .65rem; border-bottom: 1px solid #e1e7ee; text-align: left; white-space: pre-line; }
label { display: block; font-weight: 600; margin: .75rem 0; }
input, select, textarea, button { font: inherit; }
input, select, textarea { width: 100%; padding: .6rem; border: 1px solid #8295a9; border-radius: .4rem; }
textarea { min-height: 5rem; }
.check input { width: auto; }
button, .button { display: inline-block; color: #fff; background: #174566; border: 0; border-radius: .45rem; padding: .55rem .9rem; cursor: pointer; text-decoration: none; }
summary { cursor: pointer; font-weight: 600; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; }
