:root { --ink:#17201d; --paper:#f4f0e7; --panel:#fffdf8; --line:#d7d0c2; --green:#174d3b; --rust:#a84328; --muted:#69716d; font-family:Inter,ui-sans-serif,system-ui,sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:linear-gradient(120deg,rgba(23,77,59,.05),transparent 45%),var(--paper); }
a { color:var(--green); }
.masthead { display:flex; justify-content:space-between; align-items:center; padding:1.1rem max(1.25rem,calc((100vw - 1280px)/2)); border-bottom:1px solid var(--line); background:rgba(244,240,231,.92); position:sticky; top:0; z-index:2; backdrop-filter:blur(12px); }
.brand { color:var(--ink); text-decoration:none; font:700 1rem Georgia,serif; letter-spacing:.02em; }.brand span { display:inline-grid; place-items:center; width:2.25rem; height:2.25rem; margin-right:.55rem; color:white; background:var(--green); }
.identity { display:flex; gap:1rem; align-items:center; font-size:.86rem; }.identity form { margin:0; }.link-button { border:0; background:none; padding:0; color:var(--green); text-decoration:underline; cursor:pointer; }
main { width:min(1280px,calc(100% - 2.5rem)); margin:3rem auto 5rem; } footer { border-top:1px solid var(--line); padding:1.5rem; text-align:center; color:var(--muted); font-size:.8rem; }
h1,h2,h3 { font-family:Georgia,serif; margin-top:0; } h1 { font-size:clamp(2.4rem,6vw,5rem); line-height:.98; letter-spacing:-.04em; } h2 { font-size:1.7rem; }
.eyebrow { text-transform:uppercase; letter-spacing:.15em; color:var(--rust); font-size:.72rem; font-weight:800; }.lede { max-width:70ch; color:var(--muted); line-height:1.6; }
.login-panel { max-width:760px; padding:8vh 0; }.login-panel p:not(.eyebrow) { max-width:620px; font-size:1.15rem; line-height:1.65; }.primary,.secondary,button { display:inline-block; border:0; border-radius:2px; padding:.8rem 1rem; background:var(--green); color:white; text-decoration:none; font-weight:700; cursor:pointer; }.secondary { background:transparent; color:var(--green); border:1px solid var(--green); white-space:nowrap; }
.alert { padding:1rem; border-left:4px solid var(--rust); background:#fff1ec; margin:1.5rem 0; }.page-head { display:flex; justify-content:space-between; }.page-head h1 { font-size:3.5rem; }
.filters { display:grid; grid-template-columns:2fr repeat(4,1fr) auto; gap:.7rem; align-items:end; padding:1rem; margin-bottom:1.25rem; background:var(--panel); border:1px solid var(--line); }.filters label,.actions label { display:grid; gap:.35rem; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
input,select { width:100%; padding:.72rem; border:1px solid var(--line); background:white; color:var(--ink); font:inherit; }.catalog-table { overflow:auto; border:1px solid var(--line); background:var(--panel); } table { width:100%; border-collapse:collapse; min-width:1000px; } th { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); text-align:left; } th,td { padding:1rem; border-bottom:1px solid var(--line); vertical-align:top; } td:first-child { max-width:280px; } td small { display:block; margin-top:.35rem; color:var(--muted); }.status { white-space:nowrap; padding:.25rem .45rem; border:1px solid var(--line); font-size:.76rem; }.empty { padding:3rem; text-align:center; color:var(--muted); }.pagination { display:flex; justify-content:center; gap:1.5rem; margin:1.5rem; }
.back { display:inline-block; margin-bottom:2rem; }.detail-head { display:flex; justify-content:space-between; gap:2rem; align-items:start; border-bottom:1px solid var(--line); padding-bottom:2rem; }.detail-head h1 { font-size:clamp(2.2rem,5vw,4.2rem); }.facts { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-width:0 0 1px 1px; margin-bottom:2.5rem; }.facts div { min-height:120px; padding:1rem; border:1px solid var(--line); border-width:1px 1px 0 0; }.facts span,.facts small { display:block; color:var(--muted); font-size:.75rem; margin-bottom:.75rem; }.facts small { margin:.5rem 0 0; }.freshness { display:grid; grid-template-columns:1fr 2fr; gap:2rem; padding:1.5rem; background:var(--green); color:white; margin-bottom:3rem; }.freshness dl { display:grid; grid-template-columns:1fr 2fr; margin:0; gap:.75rem; }.freshness dt { opacity:.65; }.freshness dd { margin:0; }.section-title { display:flex; justify-content:space-between; align-items:end; }.attachments { display:grid; gap:.75rem; }.attachments article { padding:1rem; border:1px solid var(--line); background:var(--panel); }.attachments h3 { margin-bottom:.25rem; }.attachments p { color:var(--muted); margin:0; }.attachments summary { margin-top:1rem; cursor:pointer; color:var(--green); }.attachments ul { list-style:none; padding:0; }.attachments li { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid var(--line); padding:.75rem 0; }.attachments small { display:block; color:var(--muted); margin-top:.25rem; }.actions { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:3rem; }.actions>div { border:1px solid var(--line); padding:1.25rem; background:var(--panel); }.actions .danger { border-top:4px solid var(--rust); }.actions form { display:grid; grid-template-columns:1fr auto; gap:.75rem; align-items:end; }.error-page { text-align:center; padding:10vh 0; }.error-page h1 { font-size:8rem; margin-bottom:1rem; }
@media (max-width:800px) { main { width:min(100% - 1.5rem,1280px); margin-top:1.5rem; }.identity>span { display:none; }.filters { grid-template-columns:1fr 1fr; }.filters .search { grid-column:1/-1; }.facts { grid-template-columns:1fr 1fr; }.freshness,.actions { grid-template-columns:1fr; }.detail-head { display:block; }.detail-head .secondary { margin-top:1rem; }.actions form { grid-template-columns:1fr; } }
@media (max-width:480px) { .facts,.filters { grid-template-columns:1fr; }.filters .search { grid-column:auto; }.freshness dl { grid-template-columns:1fr; }.masthead { padding:.75rem; } }
