.portal-shell{max-width:1100px;margin:auto;padding:56px 24px 80px}.portal-intro{max-width:700px;margin-bottom:32px}.portal-intro h1{font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.15}.portal-card{background:#fff;border:1px solid #bedbc3;border-radius:24px;padding:clamp(24px,4vw,40px);box-shadow:0 12px 32px #33272a08}.portal-login-card{max-width:590px}.portal-shell label{display:block;font-weight:600;margin:18px 0 8px}.portal-shell input,.portal-shell select{font:inherit;color:#33272a;background:#fff;border:1px solid #877b7e;border-radius:10px;padding:12px;width:100%;max-width:100%;box-sizing:border-box}.portal-shell input:focus,.portal-shell select:focus{outline:3px solid #447652;outline-offset:2px}.portal-shell button{font:inherit;cursor:pointer}.portal-shell button:disabled{cursor:wait;opacity:.65}.portal-shell .button{border:1px solid transparent;text-decoration:none}.portal-shell .secondary-button{border-color:#588367}.portal-shell [hidden]{display:none!important}.portal-note{font-size:.88rem;color:#5a4a4e;line-height:1.65}.portal-status{padding:12px 0;min-height:1.6em;overflow-wrap:anywhere}.portal-status[data-error="true"]{color:#9f2346}.portal-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.portal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.project-menu{display:grid;gap:12px}.project-choice{border:1px solid #c8dace;border-radius:14px;background:#fff;padding:16px;text-align:left;color:#33272a;overflow-wrap:anywhere}.project-choice[aria-pressed="true"]{background:#e8f3e9;border:2px solid #447652}.project-choice strong,.project-choice small{display:block}.project-choice small{margin-top:5px;color:#5a4a4e}.portal-empty{padding:32px 0;color:#5a4a4e}.portal-upload{background:#faf0e8;border:1px dashed #99707e;border-radius:16px;padding:20px;margin:24px 0}.portal-files{list-style:none;margin:0;padding:0}.portal-files li{border-top:1px solid #e4dedf;padding:16px 0;display:flex;gap:12px;align-items:center;justify-content:space-between}.portal-file-name{overflow-wrap:anywhere;font-weight:500}.portal-file-info{display:block;color:#5a4a4e;font-size:.8rem;margin-top:4px}.portal-link-button{border:0;background:transparent;text-decoration:underline;color:#76344d;padding:10px;min-height:44px}.portal-admin{margin-bottom:28px}.portal-admin summary{cursor:pointer;font-weight:600;padding:12px 0}.portal-admin form{max-width:600px}.portal-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}.portal-project-title{margin-top:0}.portal-tag{display:inline-block;background:#e8f3e9;color:#345b3f;border-radius:30px;padding:4px 12px;font-size:.78rem}.portal-footer{border-top:1px solid #ebd7df;padding:28px 24px;text-align:center}.portal-footer a{color:#76344d;margin:0 10px}.portal-security{display:flex;align-items:center;gap:10px;color:#42674b;font-size:.85rem}.portal-symbol{font-size:1.6rem;color:#b6466c}.portal-help{margin-top:20px}.portal-error-box{border:1px solid #9f2346;border-radius:14px;background:#fff5f7;padding:20px}.portal-contact{overflow-wrap:anywhere}@media(max-width:700px){.portal-layout{grid-template-columns:1fr}.portal-shell{padding:32px 16px 56px}.project-menu{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.portal-files li{align-items:flex-start}.portal-card{border-radius:18px}.portal-actions .button{width:100%;text-align:center;box-sizing:border-box}}
.portal-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px}.portal-intro{grid-column:1;grid-row:1;margin:0}#login-panel{grid-column:2;grid-row:1;align-self:start}#portal-status{grid-column:1/-1;grid-row:2;margin:0}#dashboard{grid-column:1/-1}.portal-shell:has(#dashboard:not([hidden])) .portal-intro{grid-column:1/-1}@media(max-width:800px){.portal-shell{grid-template-columns:1fr;gap:24px}.portal-intro{grid-column:1;grid-row:1}#login-panel{grid-column:1;grid-row:2}#portal-status{grid-column:1;grid-row:3}#dashboard{grid-column:1}}
