:root{color:#18202f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}.client-portal{color:#17304a;background:#f2f6fa;min-height:100vh;padding:32px max(20px,50vw - 640px);font-family:Arial,sans-serif}.portal-header{flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:30px;display:flex}.portal-header img{object-fit:contain;width:112px;height:80px}.portal-header h1{margin:8px 0;font-size:26px}.portal-header>div:last-child{text-align:right;margin-left:auto}.portal-card{color:#17304a;background:#fff;border:1px solid #dbe4ed;border-radius:14px;margin:20px 0;padding:24px}.portal-card h2{margin-top:0}.portal-card label,.portal-admin label{flex-direction:column;gap:8px;font-size:14px;display:flex}.portal-card input,.portal-card select,.portal-admin input{box-sizing:border-box;color:#17304a;background:#fff;border:1px solid #b7c8d7;border-radius:6px;width:100%;min-width:0;padding:10px 12px}.client-portal button,.portal-admin button{color:#07527e;cursor:pointer;background:#f0f7fc;border:1px solid #b8cbdc;border-radius:6px;padding:9px 14px}.client-portal button:hover,.portal-admin button:hover{background:#deedf9}.portal-admin button:disabled{opacity:.5;cursor:default}.portal-table-wrap{margin-top:18px;overflow-x:auto}.portal-table-wrap table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.portal-table-wrap th{background:#f2f6fa;font-weight:600}.portal-table-wrap th,.portal-table-wrap td{vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #e0e8ef;padding:12px}.portal-facts{flex-wrap:wrap;gap:28px;display:flex}.portal-facts dt{color:#526b80;margin-bottom:7px;font-size:13px}.portal-facts dd{margin:0}.portal-error{color:#a32626;background:#fff0f0;border-radius:8px;padding:16px}.portal-admin fieldset{border:0;min-width:0;padding:20px 0}.portal-form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.portal-form label{flex:1;min-width:200px}.portal-admin li{overflow-wrap:anywhere;margin:12px 0}.portal-card .portal-confirm{flex-direction:row;align-items:start;margin:18px 0}.portal-confirm input{flex-shrink:0;width:18px}@media (width<=650px){.client-portal,.portal-card{padding:16px}.portal-header{gap:12px}.portal-header>div:last-child{text-align:left;margin-left:0}}
