[hidden]{display:none!important}.portal-section{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.portal-section h2{margin:0 0 18px;font-size:20px}.portal-table-wrap{overflow:auto}.portal-table-wrap table{width:100%;min-width:1120px;border-collapse:collapse;font-size:14px}.portal-table-wrap th{background:var(--ink);color:white;padding:14px 12px;text-align:right;font-size:14px;text-transform:none;white-space:normal;line-height:1.4}.portal-table-wrap td{padding:12px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}.portal-table-wrap th:first-child,.portal-table-wrap td:first-child{text-align:left;min-width:220px}.portal-table-wrap tfoot{font-weight:750;background:var(--paper)}.portal-table-wrap tbody tr:nth-child(even){background:var(--paper)}.cohort-note,.definitions{color:var(--ink-soft);font-size:14px;line-height:1.6}.definitions{margin-top:24px}.definitions summary{cursor:pointer;font-weight:650}.portal-error{padding:16px;border:1px solid var(--danger);border-radius:7px;color:var(--danger)}#customDates{display:flex;gap:12px}.field input{padding:8px;border:1px solid var(--line-strong);border-radius:5px;font:inherit;background:white;color:var(--ink)}.kpi p,.kpi span,.field span{font-size:14px}.profile-copy{overflow:hidden}.profile-copy strong{overflow:hidden;text-overflow:ellipsis}.auth-field span,.auth-intro,.auth-status{font-size:14px}.freshness{font-size:14px}@media(max-width:800px){.portal-section{padding:14px}.kpi-strip{display:grid;grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start;gap:12px}.filterbar{flex-wrap:wrap}.segmented{flex-wrap:wrap}}

.portal-table-wrap thead button{border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:inherit;width:100%;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:6px}.portal-table-wrap thead th:first-child button{justify-content:flex-start}.portal-table-wrap thead button:hover{text-decoration:underline}.portal-table-wrap thead button:focus-visible{outline:2px solid var(--yellow,#ffeb00);outline-offset:5px}.portal-table-wrap thead button span{flex-shrink:0}

.user-form{display:grid;gap:20px;max-width:650px}.user-form .field{display:flex;flex-direction:column;align-items:stretch;gap:8px}.user-form small{color:var(--ink-soft);font-size:13px}.user-form fieldset{border:1px solid var(--line);border-radius:8px;padding:16px}.user-form legend{font-weight:650;padding:0 6px}.customer-checks{display:flex;flex-wrap:wrap;gap:16px;margin:8px 0 16px}.customer-checks label{display:flex;align-items:center;gap:8px}.customer-checks input{accent-color:var(--ink);width:18px;height:18px}.user-actions{display:flex;gap:12px}.user-actions .auth-submit{width:auto;padding:12px 20px}.secondary-button{font:inherit;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);padding:10px 16px;cursor:pointer}.admin-table table{min-width:650px}.admin-table td,.admin-table th{text-align:left}.admin-message{font-size:14px;line-height:1.5}.admin-message.error{color:var(--danger)}

.admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.access-badge{display:inline-block;border-radius:20px;padding:5px 10px;font-size:13px;font-weight:650;white-space:nowrap}.access-badge.granted{background:#e3f4eb;color:#196442}.access-badge.denied{background:var(--paper);color:var(--ink-soft)}

.sidebar-footer{margin-top:auto;flex:0 0 auto;display:flex;flex-direction:column;gap:4px}.sidebar-footer #signOut{grid-template-columns:minmax(0,1fr);gap:0;width:100%;text-align:left}.sidebar-footer #signOut .profile-copy{display:grid;width:100%;min-width:0}.sidebar-footer #signOut .profile-copy small{display:block;white-space:nowrap;overflow:visible;text-overflow:clip}@media(max-width:590px){.sidebar-footer{margin-top:0;flex-direction:row;align-items:center}.sidebar-footer #signOut{width:auto;min-width:76px;padding:8px}.sidebar-footer #signOut .profile-copy strong{display:none}.sidebar-footer .nav-item{min-width:42px}}

.admin-table td:last-child .secondary-button{margin:3px 6px 3px 0}


/* Inside Flexer visual identity */
:root { --ink:#130041; --accent:#ffe81d; --accent-strong:#efd400; --paper:#f8f8fb; --shadow:0 18px 48px rgba(19,0,65,.12); }
.auth-brand img { width:min(440px,100%); max-height:200px; height:auto; object-fit:contain; }
.auth-brand p { font-size:22px; font-weight:800; }
.auth-brand span { line-height:1.5; }
.brand { padding:0 9px; }
.brand img { display:block; width:100%; max-width:195px; height:auto; max-height:65px; object-fit:contain; background:transparent; border-radius:0; padding:0; box-sizing:border-box; }
.auth-submit { background:var(--accent); color:var(--ink); }
@media(max-width:1050px){.brand img{width:52px;max-width:52px;padding:2px}.auth-brand img{max-width:330px}}
@media(max-width:590px){.auth-brand img{max-width:270px}.brand img{max-width:44px;width:44px}}

/* Inside Flexer dashboard refinement: typography and visual hierarchy */
.topbar .eyebrow { color:var(--ink-soft); letter-spacing:.06em; }
.topbar h1 { color:var(--ink); }
.auth-brand { overflow:hidden; }
.auth-brand img { display:block; width:min(500px,100%); max-height:210px; }
.auth-brand p { font-weight:750; }
.sidebar .brand { display:flex; align-items:center; min-height:64px; }
.sidebar .brand img { width:100%; max-width:195px; max-height:70px; object-fit:contain; object-position:left center; }
@media(max-width:1050px) { .sidebar .brand { padding:0 5px; } .sidebar .brand img { max-width:52px; } }
@media(max-width:590px) { .sidebar .brand img { max-width:44px; } }
