:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#112b45;background:#f1f4f7;font-size:16px;--navy:#061a31;--gold:#d1ab5e;--muted:#52677c}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:inherit}header{background:var(--navy);color:white;display:flex;align-items:center;gap:24px;padding:14px max(24px,calc((100vw - 1250px)/2));border-bottom:3px solid var(--gold)}.brand{display:block;background:#fff;border-radius:8px;padding:3px 12px}.brand img{width:154px;height:68px;object-fit:contain;display:block}.portal-label{font-size:.875rem;letter-spacing:.15em;color:#e7c780}.back{margin-left:auto;font-size:.875rem}main{max-width:1250px;margin:0 auto;padding:44px 24px;min-height:calc(100vh - 180px)}footer{padding:24px;text-align:center;color:var(--muted);font-size:.875rem}h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em;line-height:1.15;margin:0 0 12px}h2{font-size:1.35rem;margin:0 0 22px}p{line-height:1.65}.muted{color:var(--muted)}.auth-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:950px;margin:48px auto}.intro{align-self:stretch;background:var(--navy);color:white;padding:44px;border-radius:16px;border-top:4px solid var(--gold)}.intro p{color:#b8c9d9}.intro h1{font-family:Georgia,serif;font-weight:400;line-height:1.2;font-size:2.8rem}.eyebrow{font-size:.875rem;color:#e3c27d;letter-spacing:.14em;margin-bottom:28px}.intro ul{padding-left:20px;line-height:2}.card{background:white;border:1px solid #d8e0e7;border-radius:12px;padding:28px;box-shadow:0 8px 30px #102e4610}label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600;margin-bottom:18px}input,select{border:1px solid #aabac9;border-radius:6px;padding:12px;background:#fff;color:var(--navy);width:100%;min-width:0}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #d1ab5e;outline-offset:3px}button,.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--navy);border-radius:6px;padding:11px 17px;min-height:44px;cursor:pointer;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;font-size:.9rem}button:hover{background:#153e65}button:disabled{opacity:.6;cursor:wait}.secondary{background:#fff;color:var(--navy);border-color:#c4d0da}.secondary:hover{background:#eaf0f5}.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.gold:hover{background:#e0be7a}.text-button{border:0;background:transparent;color:#184f81;text-decoration:underline;padding:10px 0;font-weight:400}.text-button:hover{background:transparent}.full{width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.auth-actions{margin-top:14px;display:flex;flex-direction:column;align-items:flex-start}.page-top{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:30px}.page-top p{margin:0}.session{font-size:.875rem;overflow-wrap:anywhere}.toolbar{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr;gap:14px;align-items:end;margin:24px 0}.toolbar label{margin:0}.documents{display:grid;gap:12px}.doc{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:22px 24px;background:white;border:1px solid #d8e0e7;border-radius:10px}.doc h3{font-size:1.05rem;margin:0 0 8px;overflow-wrap:anywhere}.doc-meta{font-size:.875rem;color:var(--muted);line-height:1.65}.badge{display:inline-block;font-size:.8rem;padding:3px 8px;background:#ebf0f5;border-radius:4px;margin-right:8px}.draft{background:#fff1ce;color:#795311}.empty{padding:55px 28px;text-align:center;background:#fff;border:1px dashed #afbfcd;border-radius:10px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:30px}.admin-panel[hidden], [hidden]{display:none!important}.tabs{display:flex;gap:10px;margin:25px 0}.tabs .active{background:var(--gold);color:var(--navy);border-color:var(--gold)}.grant-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid #e4e9ef}.grant-row span{overflow-wrap:anywhere}.small{font-size:.875rem;line-height:1.6}.error{color:#a12323}.check{display:flex;flex-direction:row;align-items:center;font-weight:400}.check input{width:20px;height:20px}.danger{color:#a12323;border-color:#dfbebe;background:#fff}.danger:hover{background:#fff1f1}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:16px 24px;max-width:min(600px,90vw);background:var(--navy);color:#fff;border:1px solid var(--gold);border-radius:10px;box-shadow:0 8px 28px #0003;z-index:20}.result-count{font-size:.875rem;color:var(--muted);margin:18px 0}.loading{padding:60px;text-align:center}@media(max-width:760px){header{gap:14px;padding:12px 18px;flex-wrap:wrap}.brand img{width:125px;height:55px}.portal-label{font-size:.8rem}.back{font-size:.8rem}main{padding:28px 18px}.auth-wrap{grid-template-columns:1fr;gap:22px;margin:0}.intro{padding:28px}.intro h1{font-size:2.2rem}.intro ul{display:none}.admin-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr 1fr}.page-top{flex-direction:column}.doc{grid-template-columns:1fr}.card{padding:22px}.doc .actions button{flex:1}}@media(prefers-reduced-motion:no-preference){.card,.doc{animation:appear .2s ease-out}@keyframes appear{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}}
