@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700&display=swap');

:root { --navy:#0b253b; --ink:#17232d; --red:#d71920; --blue:#1f6389; --mist:#eef2f4; --line:#d7dfe3; --paper:#fff; --muted:#64727d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--mist); font-family:"DM Sans",sans-serif; }
.skip { position:absolute; left:-9999px; }
.skip:focus { left:1rem; top:1rem; z-index:10; background:#fff; padding:.75rem; }
.topbar { min-height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(1.25rem,5vw,6rem); background:var(--navy); color:#fff; border-bottom:5px solid var(--red); }
.brand { display:flex; align-items:center; gap:.85rem; color:inherit; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:48px; height:48px; border:2px solid #fff; border-radius:50%; font-family:"Archivo Black"; }
.brand span:last-child { display:grid; }
.brand small { opacity:.72; }
.portal-link { color:#fff; font-weight:700; text-underline-offset:4px; }
main { max-width:1600px; margin:auto; }
.hero { display:grid; grid-template-columns:1.4fr .6fr; gap:3rem; align-items:end; padding:clamp(3rem,7vw,7rem) clamp(1.25rem,5vw,6rem); background:linear-gradient(120deg,#fff 0 68%,#f7e9e9 68%); }
.eyebrow { margin:0 0 .7rem; color:var(--red); font-size:.76rem; font-weight:800; letter-spacing:.16em; }
h1,h2 { margin:0; font-family:"Archivo Black",sans-serif; line-height:.98; }
h1 { font-size:clamp(2.8rem,6.5vw,7rem); letter-spacing:-.055em; }
h1 em { color:var(--red); font-style:normal; }
.hero>p { max-width:36rem; margin:0; font-size:1.05rem; line-height:1.7; color:var(--muted); }
.toolbar { position:sticky; top:0; z-index:4; display:grid; grid-template-columns:minmax(260px,2fr) repeat(4,minmax(130px,1fr)) auto; gap:.8rem; padding:1rem clamp(1.25rem,5vw,6rem); background:rgba(255,255,255,.96); border-block:1px solid var(--line); box-shadow:0 10px 24px rgba(11,37,59,.06); }
label { display:grid; gap:.35rem; }
label span { color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.1em; }
input,select,.toolbar button { min-height:45px; border:1px solid var(--line); border-radius:4px; padding:0 .8rem; background:#fff; color:var(--ink); font:inherit; }
.toolbar button { align-self:end; background:var(--navy); color:#fff; border-color:var(--navy); font-weight:700; cursor:pointer; }
.summary { display:grid; grid-template-columns:repeat(3,1fr) 1.2fr; border-bottom:1px solid var(--line); background:#fff; }
.summary>div,.summary>p { min-height:120px; margin:0; padding:1.5rem clamp(1.25rem,3vw,3rem); border-right:1px solid var(--line); display:grid; align-content:center; }
.summary strong { color:var(--red); font-family:"Archivo Black"; font-size:2rem; }
.summary span,.summary p { color:var(--muted); }
.library-layout { display:grid; grid-template-columns:310px 1fr; gap:0; align-items:start; }
aside { position:sticky; top:90px; padding:2.5rem 1.5rem 4rem clamp(1.25rem,5vw,4rem); }
.category-shortcuts { display:grid; gap:.4rem; }
.category-shortcuts button { display:flex; justify-content:space-between; gap:1rem; border:0; border-bottom:1px solid var(--line); padding:.9rem .2rem; background:transparent; text-align:left; color:var(--ink); cursor:pointer; }
.category-shortcuts button:hover span { color:var(--red); }
.category-shortcuts strong { color:var(--red); }
.automatic-note { margin-top:2rem; padding:1rem; background:var(--navy); color:#fff; }
.automatic-note p { margin:.5rem 0 0; opacity:.75; font-size:.88rem; line-height:1.5; }
.results-panel { min-height:70vh; padding:2.5rem clamp(1.25rem,5vw,5rem); background:#fff; border-left:1px solid var(--line); }
.results-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; padding-bottom:1.5rem; border-bottom:3px solid var(--ink); }
.results-heading h2 { font-size:clamp(1.8rem,3vw,3rem); }
.results-heading span { color:var(--muted); }
.documents { display:grid; }
.document-card { display:grid; grid-template-columns:58px 1fr auto; gap:1.1rem; align-items:center; padding:1.15rem 0; border-bottom:1px solid var(--line); }
.pdf-badge { display:grid; place-items:center; width:46px; height:55px; background:#f7dddd; color:var(--red); font-size:.72rem; font-weight:800; clip-path:polygon(0 0,76% 0,100% 20%,100% 100%,0 100%); }
.document-copy h3 { margin:.3rem 0; font-size:1.06rem; }
.document-copy p,.category { margin:0; color:var(--muted); font-size:.83rem; }
.category { color:var(--blue); font-weight:700; }
.document-actions { display:flex; gap:.55rem; }
.document-actions button,.document-actions a,.load-more,.dialog-actions a { border:1px solid var(--navy); border-radius:4px; padding:.65rem .9rem; background:#fff; color:var(--navy); font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.document-actions button:hover,.dialog-actions a:first-child { background:var(--navy); color:#fff; }
.load-more { display:block; margin:2rem auto; }
.empty { padding:4rem 1rem; text-align:center; color:var(--muted); }
dialog { width:min(1180px,94vw); height:min(850px,92vh); padding:0; border:0; box-shadow:0 30px 90px rgba(0,0,0,.35); }
dialog::backdrop { background:rgba(5,18,28,.8); }
.dialog-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.25rem; border-bottom:1px solid var(--line); }
.dialog-head h2 { font-size:1.25rem; line-height:1.2; }
.dialog-head button { border:0; background:transparent; font-size:2rem; cursor:pointer; }
#pdf-frame { display:block; width:100%; height:calc(100% - 145px); border:0; background:#5b6268; }
.dialog-actions { display:flex; justify-content:flex-end; gap:.75rem; padding:1rem 1.25rem; }
footer { display:flex; justify-content:space-between; padding:2rem clamp(1.25rem,5vw,6rem); background:var(--navy); color:#fff; }
@media (max-width:1050px) { .toolbar { grid-template-columns:2fr repeat(2,1fr); } .library-layout { grid-template-columns:1fr; } aside { position:static; padding-right:1.25rem; } .results-panel { border-left:0; } .category-shortcuts { grid-template-columns:repeat(2,1fr); } }
@media (max-width:720px) { .portal-link { display:none; } .hero { grid-template-columns:1fr; background:#fff; } h1 { font-size:2.8rem; } .toolbar { position:static; grid-template-columns:1fr 1fr; } .search-field { grid-column:1/-1; } .summary { grid-template-columns:1fr 1fr; } .summary>p { grid-column:1/-1; min-height:70px; } .document-card { grid-template-columns:46px 1fr; } .document-actions { grid-column:2; } .document-actions button { display:none; } .category-shortcuts { grid-template-columns:1fr; } footer { display:grid; gap:.3rem; } }
