body.portal-admin{align-items:start}
.portal-admin aside{min-height:100vh;position:sticky;top:0}
.portal-admin main{width:100%;max-width:none;margin:0;padding:24px clamp(28px,4vw,72px) 64px;align-self:start}
.portal-admin header{min-height:78px;align-items:flex-start}
.portal-admin h1{margin-bottom:18px}
.portal-admin .panel{margin-top:12px}
.portal-admin .section-title{align-items:center}
.row-manage{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.row-manage>span{overflow:hidden;text-overflow:ellipsis}
.row-action{padding:7px 10px;border-radius:9px;color:#315e50;background:#edf4f0;border-color:#d4e1da;font-size:12px;white-space:nowrap}
.row-action:hover{background:#dfece5}
.access-badge{display:inline-flex;align-items:center;padding:9px 12px;border-radius:10px;background:#f2f5f3;color:#65766f;font-size:12px}
#entity-form{background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(9,35,27,.25);width:min(520px,100%);max-height:calc(100dvh - 32px);padding:38px;display:grid;gap:18px;position:relative;overflow-y:auto;overscroll-behavior:contain}
#entity-form h2{font-size:28px;margin:0}
#entity-form>p{color:#718079;margin:-8px 0 5px}
#entity-fields{display:grid;gap:14px}
#entity-form label{font-size:13px;font-weight:650;display:grid;gap:8px}
#entity-form input,#entity-form select,#entity-form textarea{font:inherit;width:100%;border:1px solid #ccd6d1;border-radius:11px;padding:13px 14px;outline:none;background:#fff}
#entity-form input:focus,#entity-form select:focus,#entity-form textarea:focus{border-color:#4d7a6b;box-shadow:0 0 0 3px #e3eee8}
#entity-dialog.wide #entity-form{width:min(980px,100%)}
#entity-dialog.wide #entity-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
#entity-dialog.wide #new-chairman-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#entity-dialog.wide #existing-chairman-fields{grid-column:1/-1}
#entity-dialog.wide #entity-form>.primary{justify-self:end;min-width:220px}
@media(max-width:760px){#entity-dialog.wide #entity-form{padding:30px 22px}#entity-dialog.wide #entity-fields,#entity-dialog.wide #new-chairman-fields{grid-template-columns:1fr}#entity-dialog.wide #new-chairman-fields,#entity-dialog.wide #existing-chairman-fields{grid-column:auto}#entity-dialog.wide #entity-form>.primary{justify-self:stretch}}
.meter-requirements{border:1px solid #dce6e1;border-radius:14px;padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meter-requirements legend{padding:0 7px;font-size:13px;font-weight:700}.meter-requirements label{display:flex!important;align-items:center;gap:9px!important;font-weight:500!important}.meter-requirements input{width:18px!important;height:18px;margin:0;accent-color:#173c31}@media(max-width:520px){.meter-requirements{grid-template-columns:1fr}}
@media(max-width:850px){.portal-admin aside{position:static;min-height:auto}.portal-admin main{padding:18px 24px 40px}.portal-admin header{min-height:auto}.row-manage{align-items:flex-start;flex-direction:column}}
/* Platform support is an admin screen. These final rules intentionally live
   after resident styles so mobile resident chat cannot repaint this desk. */
body.portal-admin .support-desk .message-list{display:flex;flex-direction:column;gap:10px;min-height:110px;max-height:260px;overflow:auto;margin:4px 0 18px;padding:16px;background:#f7f9f8;border:1px solid #e2e9e5;border-radius:16px}
body.portal-admin .support-desk .message{align-self:flex-start;justify-self:auto;max-width:min(72%,620px);padding:11px 14px;color:#17201d;background:#fff;border:1px solid #dfe7e2;border-radius:14px 14px 14px 5px;box-shadow:0 2px 8px rgba(20,54,44,.04)}
body.portal-admin .support-desk .message.mine{align-self:flex-end;justify-self:auto;color:#17201d;background:#e2f0e9;border-color:#d2e4db;border-radius:14px 14px 5px 14px}
body.portal-admin .support-desk .message.internal{background:#fff8df;border-color:#eadc9f}
body.portal-admin .support-desk .message b{color:#2d6654;font-size:12px}body.portal-admin .support-desk .message p{margin:5px 0 6px}body.portal-admin .support-desk .message small{color:#7a8882;font-size:11px}
body.portal-admin .support-desk .support-message-form{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:10px;align-items:center;margin:0;padding:18px 0 0;background:#fff;border:0;border-top:1px solid #e3eae6;border-radius:0}
body.portal-admin .support-desk .support-message-form textarea{grid-column:1/-1;box-sizing:border-box;width:100%;min-height:82px;max-height:160px;padding:13px 14px;color:#17201d;background:#fff;border:1px solid #d8e1dc;border-radius:13px;resize:vertical}
body.portal-admin .support-desk .support-message-form .inline-check{grid-column:1/-1}body.portal-admin .support-desk .support-message-form .form-error:empty{display:none}body.portal-admin .support-desk .support-message-form .form-error:not(:empty){grid-column:1/-1;color:#aa352e}
body.portal-admin .support-desk .support-file{grid-column:1;justify-self:start;width:auto;max-width:100%;margin:0;background:#f7faf8;border:1px solid #dbe4df;border-radius:11px}
body.portal-admin .support-desk .support-message-form>.primary{grid-column:2;justify-self:stretch;width:auto;min-width:0;height:44px;margin:0;padding:10px 18px;border-radius:11px}
body.portal-admin .support-desk .support-description{font-size:15px;line-height:1.55}
@media(max-width:760px){body.portal-admin .support-desk .support-message-form{grid-template-columns:1fr}body.portal-admin .support-desk .support-file,body.portal-admin .support-desk .support-message-form>.primary{grid-column:1;width:100%}body.portal-admin .support-desk .message{max-width:88%}}
