:root {color-scheme:light; --ink:#1c292c; --cream:#f5f0e3; --paper:#fffdf8; --accent:#8a4f33; --line:#d8cebd;}
*{box-sizing:border-box}
html{font-family:Georgia, "Times New Roman",serif; background:var(--cream); color:var(--ink)}
body{margin:0; min-height:100vh; line-height:1.55}
a{color:var(--accent)}
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(ellipse at top,#fff9ef,var(--cream))}
.login-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:2.4rem 2.25rem;max-width:480px;width:100%;box-shadow:0 15px 55px #55452a1a;text-align:center}
.monogram{display:grid;place-items:center;margin:0 auto 1.2rem;width:70px;height:70px;border:2px solid var(--accent);border-radius:50%;font-size:1.5rem;font-weight:bold;color:var(--accent);letter-spacing:-.1em}
.eyebrow{letter-spacing:.2em;text-transform:uppercase;font:700 .7rem system-ui,sans-serif;color:var(--accent)}
h1{font-size:clamp(2rem,5vw,2.8rem);margin:.15rem 0 0;line-height:1.2}
.subtitle{font-size:1.1rem;letter-spacing:.16em;text-transform:uppercase;margin:.2rem 0 1.4rem}
.intro{font-size:.99rem;color:#56615e;margin-bottom:1.7rem}
form{text-align:left}
label{display:block;margin:.95rem 0 .35rem;font:600 .82rem system-ui,sans-serif}
input{display:block;width:100%;padding:.78rem .85rem;background:white;border:1px solid #b8b4a9;border-radius:4px;font:1rem system-ui,sans-serif}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #a98e59;outline-offset:3px}
button{display:inline-block;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:4px;padding:.8rem 1.1rem;font:600 .9rem system-ui,sans-serif;cursor:pointer}
.login-card button{width:100%;margin-top:1.4rem}
.fine{font:.78rem/1.5 system-ui,sans-serif;color:#606863;margin:1.2rem 0}
.policy{font:.76rem system-ui,sans-serif}.policy span{padding:0 .65rem}
.error{background:#fff1e9;border:1px solid #ca9882;border-radius:4px;padding:.7rem;font:.86rem system-ui,sans-serif;text-align:left}
.masthead{padding:1.1rem max(1.5rem,calc((100vw - 1060px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--ink);color:white}
.brand{font-weight:700;color:white;text-decoration:none;font-size:1.3rem}.brand span{font-size:.85rem;font-weight:400;color:#ded6c6}
.masthead nav{display:flex;align-items:center;gap:1.4rem}.masthead nav a{color:white}.masthead nav form{margin:0}
.quiet{background:transparent;border:1px solid #b3aaa0;font-size:.8rem;padding:.5rem}
.workspace{max-width:1060px;padding:3rem 1.5rem;margin:auto}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.tile{padding:1.3rem;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.tile h2{font-size:1.22rem;margin:0 0 .5rem}
.tile p{color:#535e5c}
.tile select{display:block;width:100%;padding:.76rem;background:#fff;border:1px solid #b8b4a9;border-radius:4px;font:1rem system-ui,sans-serif}
.tile button:not(.quiet){margin-top:1rem}
.tile form{margin:0}
.tiles .tile p{font-size:.92rem}
.data-list{margin-top:1.3rem}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font: .88rem/1.5 system-ui,sans-serif}
th,td{border-bottom:1px solid var(--line);padding:.8rem .7rem;text-align:left;vertical-align:middle}
small{color:#56615e}.wrap-link{overflow-wrap:anywhere;font: .86rem system-ui,sans-serif}
.secret-once{border-color:#b58a4b;background:#fff9ea;margin:1.2rem 0}
.search-form{max-width:820px;margin:1.4rem 0}
.search-line{display:flex;gap:.5rem;align-items:stretch}
.search-line input{flex:1}
.search-line button{white-space:nowrap}
.hint{font:.8rem/1.5 system-ui,sans-serif;color:#63706b}
.result{margin:1rem 0}.result h2{font-size:1.15rem}
.result h3{font-size:1rem}
.locator{font:.78rem/1.5 system-ui,sans-serif;color:#5a655d}
.notice{border-color:#8a9e80;background:#eff8ec}
.compact{margin:.6rem 0}
.compact h3{margin:0;font-size:1.05rem}
.inline-form{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}
.inline-form label{margin:0}
.access-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:.6rem 0}
button.small{font-size:.74rem;padding:.48rem .6rem;margin:.5rem 0}
@media(max-width:720px){.search-line{flex-direction:column}}
@media(max-width:720px){.tiles{grid-template-columns:1fr}.masthead{flex-direction:column;align-items:flex-start}.login-card{padding:1.5rem}}
