.utility-page{min-height:100vh;background:linear-gradient(145deg,#f6f0e5,#e5d3b5);color:var(--ink)}.utility-header{height:74px;width:min(calc(100% - 40px),1060px);margin:auto;display:flex;align-items:center;justify-content:space-between}.utility-header>a:not(.utility-logo){font-size:13px;font-weight:800;text-decoration:none;color:var(--forest)}.utility-logo img{width:155px;height:45px;object-fit:contain;object-position:left}.portal-main{width:min(calc(100% - 40px),1060px);margin:30px auto 0}.portal-card{display:grid;grid-template-columns:1.1fr .9fr;min-height:550px;background:var(--forest);box-shadow:0 20px 65px rgba(39,39,22,.18);overflow:hidden}.portal-copy{padding:68px;color:#fff;max-width:570px}.portal-copy h1,.admin-login h1,.admin-heading h1{font:clamp(40px,5.5vw,66px)/.96 var(--font-display);letter-spacing:-.045em;margin:0 0 21px}.portal-copy h1 em{color:#f0c98e}.portal-copy>p:not(.eyebrow){color:#dce6de;max-width:460px;font-size:15px}.terms{display:flex;gap:12px;margin:29px 0 20px;color:#e9f0eb;font-size:13px;line-height:1.48}.terms input{width:18px;height:18px;accent-color:var(--tomato);flex:none;margin-top:2px}.portal-image{min-height:260px}.portal-image img{height:100%;width:100%;object-fit:cover}.portal-footer-note{font-size:12px;color:var(--muted);text-align:center;margin:18px}.form-message{min-height:20px;font-size:12px;margin:13px 0 0}.form-message[data-state='error']{color:#7e1e16}.form-message[data-state='success']{color:#125b35}.portal-copy .form-message[data-state='error']{color:#f7c3b9}.portal-copy .form-message[data-state='success']{color:#c7f3d4}.admin-page{background:#f8f4ec}.admin-main{width:min(calc(100% - 40px),1060px);margin:37px auto 70px}.admin-login{max-width:590px;background:var(--cream);padding:55px}.admin-login>p:not(.eyebrow){color:var(--muted);max-width:455px}.admin-login label,.admin-form label{display:block;font-size:12px;font-weight:800;color:var(--forest);margin:22px 0 7px}.pin-row{display:flex;gap:10px}.pin-row input,.admin-form input:not([type='file']),.admin-form textarea{width:100%;border:1px solid #d7cab8;background:#fffdf8;border-radius:5px;padding:13px;font:14px var(--font-body);color:var(--ink)}.pin-row input:focus,.admin-form input:focus,.admin-form textarea:focus{outline:2px solid rgba(185,71,49,.28);border-color:var(--tomato)}.admin-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:28px}.admin-heading h1{font-size:46px;margin-bottom:0}.admin-columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.admin-form,.campaign-manager{background:#fffdf8;border:1px solid #e3d8ca;padding:29px}.admin-form h2,.campaign-manager h2{font:30px var(--font-display);margin:0 0 6px}.admin-form>p,.campaign-manager p{font-size:13px;color:var(--muted);margin:0}.admin-form textarea{resize:vertical;min-height:90px}.admin-form input[type='file']{font-size:12px;width:100%;padding:8px 0}.admin-form .button{margin-top:22px}.image-preview{width:100%;height:170px;object-fit:cover;margin-top:12px;border-radius:5px}.manager-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:17px}.text-button{border:0;background:none;color:var(--tomato);font:800 12px var(--font-body);cursor:pointer;padding:4px}.admin-campaigns{display:grid;gap:13px;margin-top:18px}.admin-campaign{display:grid;grid-template-columns:118px 1fr auto;gap:15px;border:1px solid #e5dccf;padding:10px;align-items:center}.admin-campaign img{width:118px;height:78px;object-fit:cover}.admin-campaign h3{font:22px var(--font-display);margin:0}.admin-campaign p{font-size:11px;color:var(--muted);margin:4px 0 0}.delete-button{border:1px solid #b94731;background:white;color:#9e2d20;font:800 11px var(--font-body);padding:8px 10px;cursor:pointer}.empty-state{font-size:13px;color:var(--muted)}@media(max-width:700px){.portal-main,.admin-main{width:min(calc(100% - 30px),1060px);margin-top:15px}.portal-card,.admin-columns{grid-template-columns:1fr}.portal-copy{padding:42px 28px}.portal-image{height:230px;grid-row:1}.utility-header{width:min(calc(100% - 30px),1060px);height:62px}.admin-login{padding:36px 26px}.admin-heading{display:block}.admin-heading .button{margin-top:16px}.pin-row{display:block}.pin-row .button{margin-top:10px}.admin-campaign{grid-template-columns:80px 1fr}.admin-campaign img{width:80px;height:70px}.delete-button{grid-column:2;justify-self:start}.admin-form,.campaign-manager{padding:22px}}
