:root{font:16px/1.5 system-ui,sans-serif;color:#123b2a;background:#f1f6f3}*{box-sizing:border-box}body{margin:0}header{background:#123b2a;color:white;padding:22px max(24px,calc((100vw - 1150px)/2));display:flex;gap:20px;justify-content:space-between;align-items:center}header a{color:white}.portal-brand{text-decoration:none}main{max-width:1150px;margin:36px auto;padding:0 24px}h1{font-size:2rem;line-height:1.2}h2{font-size:1.3rem}a{color:#176b3a}button,.button{font:inherit;border:0;border-radius:8px;background:#237a45;color:white;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.55;cursor:wait}input,textarea,select{font:inherit;padding:11px;width:100%;border:1px solid #a6bfb0;border-radius:7px;background:white;color:#123b2a}label{display:block;margin:15px 0 5px}input[type=checkbox]{width:auto}form,.card{background:white;border:1px solid #d5e4da;border-radius:14px;padding:24px;margin:20px 0}.login{max-width:500px;margin:8vh auto}small,.muted{color:#52665b;font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.grid .card{margin:0}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row select{width:auto}#status,[role=status]{white-space:pre-wrap}nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}hr{border:0;border-top:1px solid #d5e4da}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px;border-bottom:1px solid #d5e4da}button.secondary{background:#e6f1ea;color:#123b2a}[hidden]{display:none!important}

.app-switcher{display:flex;gap:5px;padding:4px;border:1px solid #ffffff38;border-radius:10px;background:#0c2f22}.app-switcher a{padding:7px 11px;border-radius:7px;text-decoration:none;font-weight:700}.app-switcher a:hover,.app-switcher a.active{background:#fff;color:#123b2a}.admin-hub{margin-bottom:36px}.admin-hub>h1{margin-top:5px}.admin-app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-app{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;min-height:110px;padding:20px;border:1px solid #c9dbcf;border-radius:14px;background:#fff;text-decoration:none;box-shadow:0 10px 30px #143b2a0d}.admin-app>span{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#e4f0e8;font-size:1.4rem}.admin-app strong{font-size:1.15rem}.admin-app small{line-height:1.3}.admin-app:hover,.admin-app.active{border-color:#237a45;box-shadow:0 10px 30px #143b2a1c}.eyebrow{margin:0;color:#237a45;font-size:.78rem;font-weight:800;letter-spacing:.16em}

.document-library{background:#fff;border:1px solid #d5e4da;border-radius:16px;padding:18px 28px 28px;margin:28px 0}.library-toggle{display:grid;place-items:center;width:46px;height:34px;margin:0 0 8px;padding:0;border-radius:8px;cursor:pointer;color:#123b2a;list-style:none}.library-toggle::-webkit-details-marker{display:none}.library-toggle::before{content:"▼";font-size:1rem;line-height:1}.document-library:not([open]) .library-toggle::before{content:"▶"}.library-toggle:hover{background:#eef4f0}.library-toggle:focus-visible{outline:3px solid #d8aa38;outline-offset:2px}.library-toggle span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.document-library:not([open]){padding-bottom:18px}.library-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.library-heading h2{margin:.15rem 0}.eyebrow{margin:0;color:#237a45;font-size:.78rem;font-weight:800;letter-spacing:.16em}.year-filter{margin:0;min-width:130px}.year-filter span{display:block;font-size:.85rem;font-weight:700;margin-bottom:5px}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:20px 0 10px;scrollbar-width:thin}.category-tab{flex:0 0 auto;background:#eef4f0;color:#123b2a;border:1px solid #cadbd0;padding:9px 13px}.category-tab span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:7px;border-radius:999px;background:#fff;color:#52665b;font-size:.78rem}.category-tab.active{background:#123b2a;color:#fff}.category-tab.active span{color:#123b2a}.document-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.document-card{display:flex;min-height:220px;flex-direction:column;justify-content:space-between}.document-card h3{font-size:1.18rem;line-height:1.3;overflow-wrap:anywhere}.document-category{text-transform:uppercase;letter-spacing:.08em;font-weight:750;color:#237a45}.document-open{width:100%;text-align:center}.empty-state{grid-column:1/-1;padding:26px;background:#f6f9f7;border-radius:10px}.owner-tools{background:#eaf2ed;border:1px solid #c6d9cc;border-radius:14px;padding:0 20px;margin:26px 0}.owner-tools summary{cursor:pointer;font-weight:750;padding:18px 0}.owner-tools form{margin:0 0 20px}

@media(max-width:760px){header{padding:14px 16px;align-items:flex-start;flex-direction:column}header>a{font-size:.8rem;max-width:240px}header nav{gap:8px;width:100%}.app-switcher{order:3;width:100%;justify-content:space-between}.app-switcher a{flex:1;text-align:center}header select,header button{padding:8px;width:auto}.admin-app-grid{grid-template-columns:1fr}main{margin:22px auto;padding:0 14px}h1{font-size:1.65rem}.document-library{padding:18px 14px;margin:20px 0}.library-heading{align-items:flex-end}.library-heading h2{font-size:1.2rem}.year-filter{min-width:105px}.category-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.document-grid{grid-template-columns:1fr;gap:12px}.document-card{min-height:0;padding:18px}.document-card h3{font-size:1.06rem;margin:.55rem 0}.document-open{padding:13px 18px}.owner-tools{padding:0 14px}form,.card{padding:18px}}

.document-actions{display:grid;gap:8px}.document-editor{width:min(560px,calc(100vw - 28px));border:1px solid #b7ccbe;border-radius:14px;padding:0}.document-editor::backdrop{background:#102d1da6}.document-editor form{margin:0;border:0}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{margin:0}.dialog-heading button{padding:8px 12px}
