body{background:var(--soft);font-size:14px}h1,h2,h3{font-family:var(--font);font-weight:650;color:var(--ink)}h1{font-size:36px;line-height:1.15;letter-spacing:-1.2px;margin:10px 0 20px}h2{font-size:23px;letter-spacing:-.6px}h3{font-size:18px;letter-spacing:-.4px}p{line-height:1.7}.muted{color:var(--muted);font-size:13px}.private-main{min-width:0}.signed-in .private-shell{display:grid;grid-template-columns:234px minmax(0,1fr);min-height:100vh}.app-sidebar{background:white;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column}.app-sidebar .brand{font-size:19px;gap:8px}.app-sidebar>.eyebrow{margin:48px 12px 15px;font-size:10px}.app-sidebar nav{display:grid;gap:7px}.app-sidebar nav button{text-align:left;background:transparent;color:var(--muted);border-color:transparent;padding:12px;font-size:13px}.app-sidebar nav button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}#pending-count{float:right;font-size:11px}.sidebar-note{margin-top:auto;padding-top:28px;color:var(--muted);font-size:11px}.sidebar-note strong{font-weight:600}.sidebar-note p{font-size:11px}.app-header{height:84px;padding:0 34px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:white;gap:25px}.workspace-label{display:none;color:var(--muted);font-size:12px}.signed-in .app-header>.brand{display:none}.signed-in .workspace-label{display:inline}#account{display:flex;gap:20px;align-items:center}#account label{display:flex;align-items:center;gap:12px;font-size:12px}#tenant{max-width:270px;font-size:12px}main{max-width:1500px;padding:34px;margin:auto}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:20px}.titlebar .eyebrow{margin:0}.badge{border:1px solid var(--line);background:white;border-radius:5px;padding:8px 12px;font-size:11px}.button,button{font:600 12px var(--font);min-height:42px;border:1px solid var(--accent);background:var(--accent);color:white;padding:11px 16px;border-radius:5px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.quiet{background:white;color:var(--ink);border-color:var(--line)}input,select,textarea{font:inherit;padding:10px;border:1px solid #ccd2de;border-radius:5px;color:var(--ink);background:white;max-width:100%;min-height:42px}textarea{min-height:100px;width:100%;resize:vertical}label{display:grid;gap:8px;font-size:13px;margin:14px 0}label.inline{display:flex;align-items:center;gap:10px}input[type=checkbox]{min-height:20px;width:18px;height:18px;accent-color:var(--accent)}.section-head,.pager,.actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-head h2{margin:0}#search-form{display:flex;gap:10px;align-items:center}#search{font-size:13px;width:235px}.member-register{background:white;border:1px solid var(--line);border-radius:8px;overflow:auto;margin-top:24px}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;font-size:11px;font-weight:550;color:var(--muted);padding:15px 22px;background:#f9fafc;border-bottom:1px solid var(--line)}td{padding:20px 22px;border-bottom:1px solid #edf0f5;color:var(--muted);font-size:12px}td strong{display:block;color:var(--ink);font-size:14px;font-weight:650}td small{display:block;font-size:11px;margin-top:6px}td.member-actions{white-space:nowrap;text-align:right}td.member-actions button{margin:4px;font-size:11px;padding:9px 12px;min-height:38px}tbody tr:last-child td{border-bottom:0}.empty{padding:24px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.paper,.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;min-width:0}.card h3{margin-top:0}.card p{margin:8px 0;overflow-wrap:anywhere}.card .actions{margin-top:20px;justify-content:flex-start;flex-wrap:wrap}.pager{margin-top:20px;font-size:12px;color:var(--muted)}.paper{max-width:650px}.paper button{margin-top:15px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}#notice{min-height:20px;font-size:13px;color:var(--accent);margin:10px 0 24px}#notice.error,#case-error{color:#a1362e}#privacy-panel>p{max-width:860px;color:var(--muted);font-size:13px}dialog{border:1px solid var(--line);border-radius:10px;max-width:760px;width:calc(100% - 32px);max-height:calc(100vh - 32px);padding:28px;color:var(--ink);background:#f6f7fa;box-shadow:0 24px 80px #101a3830}dialog.review-case{max-width:1120px}dialog::backdrop{background:#0c142678;backdrop-filter:blur(3px)}#case-title{font-size:22px;margin:0}#close-dialog{border-radius:50%;width:38px;min-height:38px;padding:0;font-size:18px}#case-context{margin:10px 0 24px}fieldset{border:1px solid var(--line);background:white;border-radius:7px;padding:22px;margin:20px 0}fieldset p{font-size:13px}legend{padding:0 8px;font-weight:650;font-size:14px}#case-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:24px}#case-error:empty{display:none}.review-controls{border:1px solid var(--line);background:white;border-radius:8px;padding:24px}.review-controls h3{font-size:21px;margin:8px 0}.review-history .quiet{margin:4px 8px 4px 0}.review-history p{font-size:12px;overflow-wrap:anywhere}#welcome{padding:70px 0;max-width:800px;margin:auto}#welcome h1{font-size:64px;letter-spacing:-2.5px;color:var(--accent)}#welcome>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.8}#welcome .button{margin-block:16px}#welcome>.muted{font-size:12px!important}footer{font-size:11px;color:var(--muted);padding:24px 34px;margin-top:25px;border-top:1px solid var(--line)}
@media(max-width:1150px){.cards{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.app-header{padding-inline:25px}.app-header .workspace-label{display:none}main{padding:28px 25px}}
@media(max-width:900px){.signed-in .private-shell{display:block}.app-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:23px 26px}.app-sidebar nav{display:flex;gap:8px;margin-top:22px}.app-sidebar>.eyebrow,.sidebar-note{display:none}.app-sidebar .brand{font-size:21px}.app-header{height:auto;min-height:72px}.signed-in .app-header{justify-content:flex-end}.signed-in #account{justify-content:space-between;width:100%}#tenant{max-width:300px}.titlebar h1{font-size:32px}.assessment-heading h2{font-size:30px}}
@media(max-width:600px){main{padding:25px 18px}.app-sidebar{padding:22px 20px}.app-header{padding:16px 20px}#account{gap:12px}#account label{display:grid;margin:0;font-size:10px;gap:5px}#tenant{max-width:225px;font-size:11px}#logout{font-size:11px;padding:9px 12px}.titlebar{align-items:flex-start;flex-direction:column;gap:0}.titlebar h1{font-size:30px}.badge{font-size:10px}.section-head{gap:18px}#search-form{width:100%}#search{min-width:0;flex:1}#welcome{padding:30px 0}#welcome h1{font-size:45px;letter-spacing:-1.8px}#welcome>p:not(.eyebrow){font-size:14px}.cards{grid-template-columns:1fr}.pager{font-size:11px}.pager button{font-size:11px;padding:9px}dialog{padding:18px;width:calc(100% - 16px);max-height:calc(100vh - 16px)}#case-title{font-size:20px}.paper,.card{padding:20px}fieldset{padding:18px}#case-actions{display:grid;grid-template-columns:1fr}#case-actions button{width:100%}.review-controls{padding:20px}footer{padding-inline:20px}.app-sidebar nav button{font-size:12px;padding:10px}.review-history{padding:20px}}

#case-form>.section-head{flex-direction:row;align-items:center}

/* Register filters remain usable at narrow widths without hiding their labels. */
#search-form.register-filters{display:grid;grid-template-columns:minmax(210px,2fr) repeat(3,minmax(130px,1fr));gap:14px 18px;padding:20px;background:white;border:1px solid var(--line);border-radius:8px;margin-top:18px;align-items:end}
.register-filters label{margin:0;min-width:0}.register-filters select{width:100%}#search-form.register-filters #search{width:100%;font-size:13px}.filter-actions{display:flex;gap:10px}.register-export{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.register-export select{font-size:12px}.register-export button{font-size:12px}.register-count{font-weight:650;color:var(--ink)}.membership-status{text-transform:capitalize}.member-register[aria-busy=true]{opacity:.65}#register-summary{margin:18px 0 0}.register-export-note{font-size:12px;color:var(--muted)}
@media(max-width:1300px){#search-form.register-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){#search-form.register-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.register-export{width:100%}.register-export button{flex:1}.register-export select{max-width:45%}}
@media(max-width:440px){#search-form.register-filters{grid-template-columns:1fr}.filter-actions button{flex:1}.register-export{display:grid;grid-template-columns:1fr}.register-export select{max-width:100%;width:100%}.pager{gap:8px}.pager #page{text-align:center}}

.import-form{max-width:none;margin-top:24px}.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.import-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:25px 0}.import-stats .paper{display:grid;gap:9px;padding:18px}.import-stats strong{font-size:28px;color:var(--ink)}.import-stats span{font-size:12px;color:var(--muted)}.import-preview td:last-child{white-space:normal;min-width:220px;max-width:420px}.import-preview td{vertical-align:top}.change-card{margin:20px 0;max-width:900px}.change-values{display:grid;grid-template-columns:140px 1fr;gap:12px}.change-values dt{font-weight:600}.change-values dd{margin:0;overflow-wrap:anywhere}#imports-panel>.actions{justify-content:flex-start;margin:20px 0}#imports-panel>.paper{margin:20px 0}#imports-panel input[type=checkbox]{margin:8px 0}#imports-panel input[type=file]{width:100%}@media(max-width:900px){.app-sidebar nav{flex-wrap:wrap}.import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.mapping-grid{grid-template-columns:1fr}.change-values{grid-template-columns:1fr;gap:5px}.change-values dd{margin-bottom:14px}.import-stats strong{font-size:23px}}
/* Membership operations */
.table-scroll { overflow-x: auto; margin: 1.25rem 0; }
.table-scroll table { width:100%; border-collapse:collapse; font-size:.92rem; }
.table-scroll th { text-align:left; padding:.85rem .7rem; font-size:.75rem; text-transform:uppercase; letter-spacing:.035em; color:var(--muted,#64748b); background:#f5f7fc; }
.table-scroll td { padding:1rem .7rem; border-bottom:1px solid #e3e8f0; vertical-align:top; }
.table-scroll td .actions { margin:0; }
.record-json { white-space:pre-wrap; overflow-wrap:anywhere; padding:1rem; border:1px solid #dde3ed; background:#f7f9fd; max-height:24rem; overflow:auto; font-size:.83rem; }
.invoice-total { font-size:1.1rem; font-weight:650; }
.report-filters { display:flex; align-items:end; gap:1rem; flex-wrap:wrap; margin:2rem 0; }
.report-filters label { margin:0; }
.portal-shell { max-width:1160px; margin:auto; padding:0 2rem; }
.portal-nav { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0 2rem; border-bottom:1px solid #dce3ef; padding-bottom:1rem; }
.portal-nav button[aria-pressed="true"] { background:#165dff; color:white; }
.portal-shell main { padding:2rem 0 4rem; }
.portal-shell .app-header { padding:1.5rem 0; }
.portal-shell .cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); }
.portal-shell .card { border-top:3px solid #165dff; }
.portal-shell .card .actions { margin-top:1.5rem; }
.portal-shell .brand { color:#10203a; }
.invoice-print { display:none; }
@media print {
 body.printing-invoice > *:not(.invoice-print) { display:none!important; }
 body.printing-invoice .invoice-print { display:block; padding:2rem; color:#111; font:12pt system-ui; }
 body.printing-invoice dialog { display:none!important; }
}
@media(max-width:700px){.portal-shell{padding:0 1rem}.portal-shell .app-header{align-items:start;gap:1rem;flex-wrap:wrap}.portal-shell #portal-account{width:100%;display:flex;gap:1rem;flex-wrap:wrap}.table-scroll{max-width:calc(100vw - 3rem)}}
.portal-shell .app-header { height:auto; min-height:100px; }
#portal-account { display:flex; align-items:center; gap:1rem; }
#portal-account label { margin:0; font-size:12px; }
.portal-nav button { background:white; color:var(--ink); border-color:var(--line); }
.portal-nav button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); }
.portal-shell .paper { margin:1.25rem 0; }
.error, #portal-error { color:#a1362e; }
@media(max-width:700px){#portal-account{align-items:end}.portal-shell .app-header{padding:1rem 0}.portal-shell .brand{font-size:20px}}

.application-notice{padding:1.3rem;border-left:3px solid var(--accent,#2455ed);background:#f5f7fc;white-space:pre-line}.application-notice p{max-width:70ch}#apply-content form{max-width:780px}#apply-content textarea{min-height:90px}.member-portal label.inline{display:flex;align-items:flex-start;gap:.65rem}.member-portal input[type=checkbox]{width:auto;margin-top:.3rem}
