:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173331;background:#f3f6f5;--brand:#245c5a}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}header{display:flex;justify-content:space-between;gap:12px;align-items:center;background:white;border-bottom:1px solid #dce5e3;padding:16px max(20px,env(safe-area-inset-left))}.brand{display:flex;gap:14px;align-items:center;color:#526b63;text-decoration:none;font-size:13px}.brand img{width:135px;height:auto}.brand span{max-width:110px;line-height:1.35}main{width:100%;max-width:760px;flex:1;margin:auto;padding:28px 20px 110px}h1{font-size:clamp(26px,5vw,34px);line-height:1.2;letter-spacing:-.6px;margin:10px 0 16px}h2{font-size:19px;line-height:1.35;margin:10px 0 14px}p{line-height:1.6;color:#526b63}.eyebrow{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#61776e;font-weight:650}.card{background:white;border:1px solid #dce5e3;border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 4px 16px #17333105}.auth-card{max-width:460px;margin:5vh auto}.welcome{margin-bottom:24px}.highlight{background:#e3efeb;border-color:#c6dcd4}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.action-card{text-align:left;display:flex;flex-direction:column;gap:10px;background:white;color:#173331;font-weight:400;width:100%}.action-card strong{font-size:17px}.action-card>span:last-child{color:#61776e;font-size:13px;line-height:1.5}.action-icon{font-size:28px;color:#245c5a}label{display:flex;flex-direction:column;gap:7px;margin:15px 0;font-size:14px;font-weight:650}input,select,button{font:inherit;max-width:100%}input,select{width:100%;min-height:46px;border:1px solid #aebfbc;border-radius:10px;background:#fff;padding:11px;color:#173331}button,.file-button{min-height:46px;border:0;border-radius:10px;padding:12px 16px;background:#245c5a;color:white;font-weight:650;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.6;cursor:wait}.secondary{background:#e9efed;color:#245c5a}.quiet{background:transparent;color:#245c5a;padding:8px}.auth-card button{width:100%;margin-top:8px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd913e;outline-offset:3px}.file-actions{display:flex;gap:10px;flex-wrap:wrap}.file-button{position:relative;overflow:hidden;margin:0;font-size:13px;justify-content:center}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.muted{font-size:13px;color:#64796f}.document-list .card{display:flex;align-items:center;justify-content:space-between;gap:14px}.document-list h2{font-size:16px;overflow-wrap:anywhere}.document-list p{font-size:13px;margin:4px 0}.document-list .card>div{min-width:0}.document-list button{flex-shrink:0;font-size:13px}.empty{padding:24px;text-align:center;border:1px dashed #b8cbc3;border-radius:14px;color:#61776e}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:white;border-top:1px solid #dce5e3;justify-content:center;padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #17333106}.bottom-nav button{flex:1;max-width:150px;min-width:0;font-size:13px;font-weight:550;background:transparent;color:#61776e;padding:12px 4px}.bottom-nav button[aria-current="page"]{background:#e3efeb;color:#245c5a;font-weight:750}.more-links{display:grid;gap:9px;margin:20px 0}.more-links button{display:flex;justify-content:space-between;text-align:left;background:white;color:#245c5a;border:1px solid #dce5e3}dl{margin:0}dt{font-size:12px;color:#64796f;margin-top:12px}dd{margin:4px 0;overflow-wrap:anywhere}#portalMessage{position:sticky;top:8px;z-index:30;padding:14px 18px;border-radius:12px;background:#e3efeb;color:#173331;border:1px solid #bfd7ce;overflow-wrap:anywhere}#portalMessage.error{background:#fff0ec;border-color:#e9c4b7;color:#923e2b}footer{text-align:center;padding:16px 20px 88px;font-size:12px;color:#64796f}#messengerRoot{min-height:480px}#portalApp .messenger-shell{height:65dvh}@media(max-width:440px){.brand span{display:none}main{padding:22px 16px 100px}.card{padding:18px}.document-list .card{align-items:flex-start;flex-direction:column}.document-list button{width:100%}.home-grid{gap:10px}.home-grid .card{padding:16px}.action-card strong{font-size:16px}.auth-card{margin:2vh auto}}
