:root{color-scheme:light;--ink:#192924;--muted:#4a5a50;--paper:#f7f5ee;--card:#fffdf8;--line:#d5d4c6;--gold:#77521c}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 system-ui,-apple-system,sans-serif}
.frame{width:min(100% - 2.25rem,66rem);margin-inline:auto}
.masthead {
  background: #f8f6ef;
  color: #18201f;
  border-bottom: 1px solid #d7d8cf;
}
.header-inner {
  width: min(calc(100% - 80px), 1220px);
  min-height: 104px;
  margin-inline: auto;
  padding-block: 23px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.identity {
  display: flex;
  align-items: center;
  gap: 13px;
  color: inherit;
  text-decoration: none;
}
.identity img {
  width: 38px;
  height: auto;
  display: block;
  flex: none;
}
.identity-name {
  display: block;
  font: 25px/1.2 Georgia, 'Times New Roman', serif;
  letter-spacing: -.025em;
}
.identity-area {
  display: block;
  margin-top: 7px;
  font: 9px/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: .22em;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}
.portal-badge {
  border: 1px solid #c7b995;
  padding: 5px 10px;
  color: #8b631b;
  font: 700 10px/1.65 Arial, Helvetica, sans-serif;
  letter-spacing: .12em;
  white-space: nowrap;
}
@media (max-width: 590px) {
  .header-inner {
    width: calc(100% - 34px);
    min-height: 0;
    padding-block: 21px 15px;
    gap: 12px;
    flex-wrap: wrap;
  }
  .identity { gap: 9px; }
  .identity img { width: 30px; }
  .identity-name { font-size: clamp(19px, 5vw, 23px); }
  .identity-area { font-size: 8px; }
  .header-actions { margin-left: auto; }
}
main{padding-block:2rem}
h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.15;margin:.2rem 0 1rem}
h1{font-size:clamp(2.05rem,6vw,3rem)}
h2{font-size:1.48rem}
p{margin:0 0 .9rem}
.label{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.13em;margin-bottom:.65rem}
.card{border:1px solid var(--line);background:var(--card);border-radius:4px;padding:clamp(1rem,4vw,2rem);margin-bottom:1.1rem;min-width:0}
.login{max-width:31rem;margin:1rem auto}
.notice{border-left:4px solid #a57b38;background:#f0e7d4;padding:.8rem 1rem;margin-bottom:1.75rem}
.notice p{margin:.25rem 0 0}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.fields{display:grid;gap:.8rem;margin-top:1rem}
.fields label{display:grid;gap:.3rem}
input,select,button{font:inherit}
input,select{width:100%;min-width:0;padding:.62rem;border:1px solid #aab3a7;background:#fff;color:var(--ink);border-radius:3px}
button{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:.55rem .9rem;border-radius:3px;font-weight:650;cursor:pointer}
button.secondary{color:var(--ink);background:var(--card)}
button:disabled{opacity:.58;cursor:wait}
:focus-visible{outline:3px solid #8f6118;outline-offset:3px}
.error{color:#8c221a;padding:.65rem;background:#fbeddf}
progress{width:100%;accent-color:var(--ink)}
.upload-message{margin:0}
.documents{list-style:none;padding:0;margin:0}
.documents li{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.7rem 0;border-top:1px solid var(--line)}
.documents strong{overflow-wrap:anywhere}
.documents span{display:block;color:var(--muted);font-size:.87rem}
.document-links{display:flex;gap:.8rem;flex-wrap:wrap;flex-shrink:0}
a{color:#234d3e;text-underline-offset:.2em}
footer{padding-block:1rem;border-top:1px solid var(--line);font-size:.83rem;color:var(--muted)}
@media(max-width:39rem){.grid{grid-template-columns:1fr}.documents li{align-items:flex-start;flex-direction:column}}
