:root{--dia:#075b88;--dark:#073d5a;--bright:#0b78ad;--ink:#172b38;--muted:#60737e;--line:#d9e3e8;--wash:#f3f7f8;--radius:14px;--shadow:0 10px 30px rgba(7,61,90,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);overflow-x:hidden}body{margin:0;line-height:1.55;overflow-x:hidden}a{color:var(--dia);text-underline-offset:3px}button,input,select{font:inherit}.site-header{min-height:84px;padding:12px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand img{width:62px;height:56px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.08}.brand small{color:var(--muted);font-size:12px;margin-top:4px}.site-header nav{display:flex;gap:8px}.site-header nav a{padding:10px 14px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a.active{background:#eaf4f8;color:var(--dia)}
.hero,.profile-hero{padding:70px max(24px,calc((100vw - 1200px)/2));background:linear-gradient(135deg,var(--dark),var(--dia) 65%,#1688b5);color:#fff}.hero.compact{padding:48px max(24px,calc((100vw - 1200px)/2))}.hero h1,.profile-hero h1,.centered h1,.section-heading h1{font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-.035em;margin:9px 0 18px}.hero p{font-size:19px;max-width:740px;color:#dcedf4;margin:0}.eyebrow,.future-label{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:var(--bright)}.hero .eyebrow,.profile-hero .eyebrow{color:#a9d8eb}
.content-shell{max-width:1200px;margin:auto;padding:40px 24px 72px}.filter-panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);padding:22px;margin-top:-72px;position:relative}.audience-shell .filter-panel{margin-top:0}.filter-panel label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.search-field input,.filter-panel select{width:100%;border:1px solid #b9c9d1;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink)}.search-field input{font-size:17px;text-transform:none}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.form-actions{display:flex;align-items:center;gap:16px;margin-top:18px}.form-actions button,.button{border:0;background:var(--dia);color:#fff;border-radius:8px;padding:11px 18px;font-weight:800;text-decoration:none;display:inline-block;cursor:pointer}.form-actions button:hover,.button:hover{background:var(--dark)}
.result-heading{display:flex;justify-content:space-between;align-items:end;margin:34px 0 18px;color:var(--muted)}.result-heading .count{color:var(--ink);font-size:27px;font-weight:800}.entity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.entity-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;min-height:250px;transition:.2s}.entity-card:hover{box-shadow:var(--shadow);border-color:#b8ced8;transform:translateY(-2px)}.entity-card h2{font-size:22px;line-height:1.2;margin:8px 0}.entity-card h2 a{color:var(--ink);text-decoration:none}.location{color:var(--muted);margin:2px 0 12px}.badges{display:flex;flex-wrap:wrap;gap:7px}.badges span{font-size:11px;font-weight:800;background:#eaf4f8;color:var(--dia);border-radius:999px;padding:4px 8px}.card-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:20px;font-weight:750;font-size:14px}.profile{margin-left:auto}.empty{grid-column:1/-1;background:var(--wash);border-radius:var(--radius);padding:40px;text-align:center}
.profile-hero{padding-top:48px;padding-bottom:52px}.back{display:inline-block;color:#d8edf5;margin-bottom:35px}.profile-layout{max-width:1000px;margin:auto;padding:50px 24px 80px;display:grid;grid-template-columns:1fr 340px;gap:55px}.profile-main h2,.contact-card h2,.audience-preview h2{font-size:20px;margin-top:0}.classification-list{display:flex;flex-wrap:wrap;gap:10px}.classification-list span{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-weight:700}.classification-list small,.contact-card small{display:block;color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.06em}.contact-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;height:max-content;box-shadow:var(--shadow)}.contact-card address{display:flex;flex-direction:column;font-style:normal;margin-bottom:20px}.contact-card a{display:block}.contact-card .status{padding-top:14px;border-top:1px solid var(--line)}.contact-card .status small{margin-top:6px;text-transform:none;letter-spacing:0;line-height:1.45}.button.secondary{background:#eaf4f8;color:var(--dia)}.provenance-note{color:var(--muted);font-size:13px;border-left:3px solid #a8cbd9;padding-left:12px;margin-top:30px}
.centered{max-width:760px;padding:80px 24px 110px;margin:auto;text-align:center}.centered p{font-size:18px;color:var(--muted)}.story-flow,.process-line{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:34px 0;padding:22px;border-radius:var(--radius);background:var(--wash);color:var(--dia);font-weight:800}.story-flow b,.process-line b{color:#8aa1ac}.process-line{margin:0 0 22px;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.audience-count{display:flex;align-items:center;gap:18px;margin:30px 0;padding:25px;background:var(--dark);color:#fff;border-radius:var(--radius)}.audience-count>span{font-size:52px;line-height:1;font-weight:850}.audience-count div{display:flex;flex-direction:column}.audience-count small{color:#b8d9e7}.audience-preview{border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:20px}.audience-preview>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:10px 0}.audience-preview>div span{color:var(--muted);font-size:13px;text-align:right}.disabled{padding:11px 18px;border:0;border-radius:8px;background:#dce4e7;color:#66777e;font-weight:800}
.section-heading{margin:15px 0 30px}.section-heading h1{font-size:42px}.review-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.review-row{display:grid;grid-template-columns:2fr 1.5fr .7fr;gap:20px;padding:12px 16px;border-top:1px solid var(--line)}.review-row:first-child{border:0}.review-row.header{background:var(--wash);font-weight:800;font-size:12px;text-transform:uppercase}.review-row span{display:flex;flex-direction:column}.review-row small{color:var(--muted);font-size:11px;overflow-wrap:anywhere}nav[role=navigation]{margin-top:30px;display:flex;justify-content:space-between}footer{padding:36px max(24px,calc((100vw - 1200px)/2));background:#082f44;color:#dcebf1;display:flex;justify-content:space-between;gap:20px;font-size:14px}.tech{color:#97bac8;text-align:right}
@media(max-width:850px){.entity-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}.profile-layout{grid-template-columns:1fr}.contact-card{order:-1}.brand span{display:none}}
@media(max-width:560px){.site-header{flex-direction:column;align-items:stretch}.site-header nav{display:grid;grid-template-columns:1fr 1fr;width:100%}.site-header nav a{min-width:0;padding:9px 6px;text-align:center;font-size:13px}.hero,.profile-hero{padding-top:45px;padding-bottom:90px}.hero h1{font-size:38px;overflow-wrap:anywhere}.content-shell{padding-left:16px;padding-right:16px}.filter-panel{padding:16px;min-width:0}.filter-grid,.entity-grid{grid-template-columns:minmax(0,1fr)}.result-heading{align-items:start;flex-direction:column}.entity-card{min-height:220px}.audience-preview>div{flex-direction:column;gap:2px}.audience-preview>div span{text-align:left}.review-row{grid-template-columns:1fr}.review-row.header{display:none}footer{flex-direction:column}.tech{text-align:left}}
/* Account and access surfaces */
.nav-cta{background:#123e4a;color:#fff!important;border-radius:999px;padding:.55rem .9rem!important}.flash{max-width:1120px;margin:1rem auto 0;padding:.9rem 1.1rem;border-radius:12px;background:#e8f5ef;color:#164c39}.auth-shell{min-height:70vh;display:grid;place-items:center;padding:3rem 1rem}.auth-card{width:min(100%,460px);background:#fff;border:1px solid #dce4e6;border-radius:22px;box-shadow:0 18px 48px rgba(20,54,62,.1);padding:clamp(1.5rem,5vw,2.5rem)}.auth-card-wide{width:min(100%,560px)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:#147089}.auth-card h1,.account-shell h1,.admin-shell h1{margin:.25rem 0 .7rem}.auth-card form,.user-row form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;gap:.4rem;font-weight:700}input,select{width:100%;box-sizing:border-box;border:1px solid #aebdc1;border-radius:9px;padding:.75rem;background:#fff;color:#18343b;font:inherit}label small,.auth-foot,.user-row small{color:#60757a;font-weight:400}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.form-errors{margin:1rem 0;padding:.8rem 1rem;border-radius:10px;background:#fff0ee;color:#8a2f28}.form-errors ul{margin:0;padding-left:1.2rem}button{border:0;border-radius:9px;background:#147089;color:white;padding:.78rem 1.15rem;font:inherit;font-weight:800;cursor:pointer}.secondary{background:#e7eff1;color:#173e48}.account-shell,.admin-shell{max-width:1120px;margin:auto;padding:clamp(2rem,5vw,5rem) 1rem}.lede{font-size:1.15rem;color:#536c72}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:2rem 0}.panel{background:#fff;border:1px solid #dce4e6;border-radius:16px;padding:1.4rem}.panel h2{margin-top:0}.panel dl{display:grid;grid-template-columns:9rem 1fr;gap:.8rem}.panel dt{font-weight:800}.panel dd{margin:0}.status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#e8f5ef;color:#16513c}.text-link{font-weight:800}.create-user{margin:2rem 0}.create-user summary{font-weight:800;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.user-list{display:grid;gap:1rem}.user-row{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:2rem}.user-row form{grid-template-columns:1fr 1fr auto auto;align-items:end;margin:0}.user-row p{margin:.2rem 0}.user-row button{align-self:end}@media(max-width:760px){.account-grid,.form-grid,.user-row{grid-template-columns:1fr}.user-row form{grid-template-columns:1fr}.panel dl{grid-template-columns:1fr}.site-header nav{gap:.45rem;flex-wrap:wrap;justify-content:flex-end}}
/* Public landing and admin operations */
.landing-hero{padding-top:clamp(64px,9vw,110px);padding-bottom:clamp(96px,12vw,150px)}.landing-hero h1{max-width:900px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button.light{background:#fff;color:var(--dark)}.button.ghost{background:transparent;border:1px solid rgba(255,255,255,.55)}.landing-content{padding-bottom:80px}.section-intro{max-width:720px;margin:0 0 95px}.section-intro h2,.join-section h2{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:6px 0 12px}.section-intro p,.join-section p{color:var(--muted);font-size:17px}.public-count{margin-bottom:0}.join-section{max-width:1200px;margin:0 auto 80px;padding:clamp(28px,5vw,55px);border-radius:24px;background:var(--wash);display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.join-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0}.metric{display:flex;flex-direction:column}.metric strong{font-size:38px;color:var(--dia)}.metric span{color:var(--muted);font-weight:700}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.user-badges{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.admin-pill{background:#eaf4f8;color:var(--dia)}.user-controls{display:grid;gap:10px}.user-row .user-controls>form:first-child{grid-template-columns:repeat(2,minmax(0,1fr));}.user-row .user-controls>form:last-child{display:block;margin:0}.danger{background:#8a302a}.danger:hover{background:#68231f}footer a{color:#dcebf1}
@media(max-width:760px){.join-section{grid-template-columns:1fr;margin-left:16px;margin-right:16px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-row .user-controls>form:first-child{grid-template-columns:1fr}.section-intro{margin-bottom:90px}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.hero-actions .button{width:100%;text-align:center}}
/* Audience and campaign workflow rhythm */
.workflow-card{padding:2rem 2.25rem;margin-top:1.5rem}.workflow-card h2{margin:0 0 1.25rem}.workflow-form{display:grid;gap:1rem;max-width:44rem}.workflow-form>p{margin:0}.workflow-form label{gap:.5rem}.workflow-form fieldset{margin:0;padding:1rem;border:1px solid var(--line);border-radius:9px}.workflow-form fieldset label{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.workflow-form fieldset input{width:auto}.workflow-form textarea{width:100%;min-height:8rem;box-sizing:border-box;border:1px solid #aebdc1;border-radius:9px;padding:.75rem;background:#fff;color:#18343b;font:inherit;resize:vertical}.workflow-form>button{width:max-content;max-width:100%;margin-top:0}.workflow-list{list-style:none;display:grid;gap:.75rem;margin:0;padding:0}.workflow-list li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.workflow-list li:first-child{padding-top:0;border-top:0}.workflow-list li span{flex:0 0 auto;color:var(--muted);font-size:.875rem}.campaign-summary p{margin:.75rem 0}.campaign-summary p:first-child{margin-top:0}.campaign-summary .provenance-note{margin-top:1.5rem}
@media(max-width:560px){.workflow-card{padding:1.25rem 1.5rem}.workflow-form>button{width:100%}.workflow-list li{align-items:flex-start;flex-direction:column;gap:.25rem}}
/* Advertiser operations */
.inline-filter{min-width:14rem}.inline-filter label{gap:.35rem}.commercial-list{display:grid;grid-template-columns:minmax(12rem,1.5fr) .65fr minmax(11rem,1.25fr) .55fr .55fr .8fr;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.commercial-list-header{padding-top:0;border-top:0;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.commercial-list:not(.commercial-list-header):hover strong,.commercial-list:not(.commercial-list-header):focus-visible strong{color:var(--dia);text-decoration:underline}.commercial-detail dl{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:.9rem 1.25rem}.commercial-detail dt{font-weight:800}.commercial-detail dd{margin:0;overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap}.compact-form{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
@media(max-width:850px){.commercial-list{grid-template-columns:minmax(0,1fr) 8rem}.commercial-list>*:nth-child(n+3){grid-column:1/-1}.commercial-list-header{display:none}}
@media(max-width:560px){.commercial-list{grid-template-columns:minmax(0,1fr)}.commercial-list>*{grid-column:auto!important}.inline-filter{min-width:0;width:100%}.commercial-detail dl{grid-template-columns:1fr}.admin-actions>.button{width:100%;text-align:center}}
/* Two-level audience library */
.audience-save-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.audience-save-grid .workflow-card{margin-top:1.5rem}.audience-context{display:flex;flex-direction:column;gap:.25rem}.audience-context strong,.audience-role{color:var(--dia);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.audience-context small{color:var(--muted)}.audience-library-list{display:grid;gap:0}.audience-library-list article{display:grid;grid-template-columns:minmax(15rem,1fr) minmax(18rem,.8fr) auto;gap:1.5rem;align-items:center;padding:1.25rem 0;border-top:1px solid var(--line)}.audience-library-list article:first-child{border-top:0}.audience-library-list h3{margin:.25rem 0}.audience-library-list p{margin:.25rem 0;color:var(--muted)}.audience-library-list dl{display:grid;grid-template-columns:repeat(4,auto);gap:.2rem 1rem;margin:0}.audience-library-list dt{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.audience-library-list dd{margin:0;font-weight:750}.advertiser-role{color:#71520b}.row-actions{display:flex;gap:.75rem;font-weight:800}.criteria-summary{margin:0;padding-left:1.2rem}.raw-criteria{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.raw-criteria summary{cursor:pointer;font-weight:800}.raw-criteria code{display:block;margin-top:.75rem;overflow-wrap:anywhere}
@media(max-width:850px){.audience-library-list article{grid-template-columns:1fr}.audience-library-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}.row-actions{justify-content:flex-start}}
@media(max-width:560px){.audience-save-grid{grid-template-columns:1fr}.audience-library-list dl{grid-template-columns:1fr 1fr}}

.dia-pagination{display:flex;align-items:center;justify-content:center;gap:.35rem;margin:2rem auto 0;max-width:100%;font-size:.95rem;font-weight:750}.dia-pagination__pages{display:flex;align-items:center;justify-content:center;gap:.2rem}.dia-pagination__link,.dia-pagination__current,.dia-pagination__ellipsis{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:.35rem .65rem;border-radius:999px}.dia-pagination__link{color:var(--dia);text-decoration:none}.dia-pagination__link:hover{background:var(--wash);color:var(--dark)}.dia-pagination__link:focus-visible{outline:3px solid rgba(20,112,137,.3);outline-offset:2px}.dia-pagination__current{background:var(--dia);color:#fff}.dia-pagination__disabled{color:var(--muted);opacity:.55;cursor:default}.dia-pagination__ellipsis{min-width:1.5rem;padding-left:.2rem;padding-right:.2rem;color:var(--muted)}
@media(max-width:560px){.dia-pagination{flex-wrap:wrap;gap:.1rem;font-size:.875rem}.dia-pagination__link,.dia-pagination__current{min-width:2.5rem;min-height:2.75rem;padding:.3rem .45rem}.dia-pagination__ellipsis{min-width:1rem;padding-left:.1rem;padding-right:.1rem}.dia-pagination__page--distant{display:none}}

.site-header nav{align-items:center}.admin-menu{position:relative}.admin-menu__trigger,.nav-logout--top button{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:10px 14px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:14px;font-weight:700;line-height:1.55;cursor:pointer;list-style:none}.admin-menu__trigger::-webkit-details-marker{display:none}.admin-menu__trigger:hover,.admin-menu__trigger:focus-visible,.admin-menu__trigger.active,.nav-logout--top button:hover,.nav-logout--top button:focus-visible{background:#eaf4f8;color:var(--dia)}.admin-menu__trigger:focus-visible,.nav-logout button:focus-visible{outline:3px solid rgba(20,112,137,.3);outline-offset:2px}.admin-menu__panel{position:absolute;z-index:20;top:calc(100% + .5rem);right:0;display:grid;width:14rem;padding:.5rem;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.site-header nav .admin-menu__item{display:block;padding:.7rem .8rem}.nav-logout{margin:.25rem 0 0;padding:.25rem 0 0;border-top:1px solid var(--line)}.nav-logout button{width:100%;padding:.7rem .8rem;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:14px;font-weight:700;text-align:left;cursor:pointer}.nav-logout button:hover,.nav-logout button:focus-visible{background:#eaf4f8;color:var(--dia)}.nav-logout--top{display:flex;margin:0;padding:0;border:0}.nav-logout--top button{text-align:center}
@media(max-width:560px){.site-header nav.nav--guest,.site-header nav.nav--member{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header nav>.admin-menu{grid-column:1/-1}.admin-menu__trigger{width:100%}.admin-menu__panel{left:0;right:0;width:auto}.nav-logout--top{display:block}.nav-logout--top button{width:100%}}

/* Membership operations */
.membership-admin{display:grid;gap:1.5rem}.membership-admin>.section-heading{margin-bottom:0}.membership-filters{display:grid;grid-template-columns:2fr repeat(5,minmax(8rem,1fr));gap:1rem;align-items:end}.membership-filters .form-actions{margin:0;grid-column:1/-1}.people-list{padding-top:.5rem;padding-bottom:.5rem}.people-row{display:grid;grid-template-columns:minmax(13rem,1.5fr) .65fr minmax(12rem,1fr) .7fr .7fr;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.people-row:first-child{border-top:0}.people-row>span{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.people-row small{color:var(--muted);overflow-wrap:anywhere}.people-row--header{padding:.6rem 0;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.people-row:not(.people-row--header):hover strong,.people-row:not(.people-row--header):focus-visible strong{color:var(--dia);text-decoration:underline}.membership-section{padding:2rem}.membership-section h2{margin:.2rem 0}.membership-section summary{cursor:pointer;font-size:1.2rem;font-weight:800}.membership-section__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem}.membership-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.membership-section textarea{box-sizing:border-box;width:100%;border:1px solid #aebdc1;border-radius:9px;padding:.75rem;font:inherit;resize:vertical}.membership-history{display:grid}.membership-history article{display:grid;grid-template-columns:minmax(14rem,1.5fr) .7fr minmax(10rem,1fr);gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line)}.membership-history article:first-child{border-top:0}.membership-history article>div{display:flex;flex-direction:column}.membership-history small{color:var(--muted)}.status-pill--past_due,.status-pill--due{background:#fff1d6;color:#76540a}.status-pill--paid{background:#e8f5ef;color:#16513c}.status-pill--refunded{background:#f2eafa;color:#593878}
@media(max-width:900px){.membership-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.people-row{grid-template-columns:minmax(0,1fr) 8rem}.people-row>*:nth-child(n+3){grid-column:1/-1}.people-row--header{display:none}}
@media(max-width:560px){.membership-filters,.membership-form-grid{grid-template-columns:1fr}.membership-section{padding:1.25rem}.membership-section__heading{flex-direction:column}.membership-history article{grid-template-columns:1fr}.people-row{grid-template-columns:1fr}.people-row>*{grid-column:auto!important}}

/* Company operations */
.company-operations{display:grid;gap:1.5rem}.company-operations>.section-heading{margin-bottom:0}.company-status-summary{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.company-status-summary span{padding:.4rem .65rem;border-radius:999px;background:var(--wash);font-size:.82rem}.company-section{padding:2rem}.company-section h2{margin:.2rem 0 1rem}.company-section h3{margin:.8rem 0}.company-section summary{cursor:pointer;font-size:1.15rem;font-weight:800}.operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.operations-grid dl{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:.7rem 1rem;margin:0}.operations-grid dt{font-weight:800}.operations-grid dd{margin:0;overflow-wrap:anywhere}.operations-grid dd small{display:block;color:var(--muted)}.operations-list{display:grid}.operations-list article{display:grid;grid-template-columns:minmax(12rem,1.5fr) minmax(9rem,1fr) auto;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.operations-list article:first-child{border-top:0}.operations-list article>div{display:flex;flex-direction:column}.operations-list small{color:var(--muted)}.contact-add{position:relative}.contact-add>summary{list-style:none}.contact-add>summary::-webkit-details-marker{display:none}.contact-add[open]{width:min(100%,44rem)}.contact-add .contact-form{margin-top:1rem}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.contact-tile{display:flex;min-width:0;flex-direction:column;gap:.55rem;padding:1rem;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.contact-tile h3,.contact-tile p{margin:0}.contact-tile__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.contact-tile__heading p{color:var(--muted);font-size:.85rem}.contact-badges,.contact-checks{display:flex;flex-wrap:wrap;gap:.5rem}.contact-badges .status-pill{font-size:.72rem}.contact-notes{padding-top:.55rem;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.contact-edit{margin-top:auto;padding-top:.5rem;border-top:1px solid var(--line)}.contact-edit>summary{color:var(--dia);font-size:.9rem}.contact-edit form{margin-top:1rem}.contact-edit form+form{margin-top:.75rem}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.archived-contacts{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:900px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.company-section{padding:1.25rem}.operations-grid{grid-template-columns:1fr;gap:1.25rem}.operations-grid dl{grid-template-columns:1fr;gap:.2rem}.operations-grid dd{margin-bottom:.7rem}.operations-list article{grid-template-columns:1fr;gap:.35rem}.operations-list button{width:100%}.contact-grid,.contact-form-grid{grid-template-columns:1fr}.contact-add,.contact-add[open]{width:100%}.contact-add>summary{text-align:center}.contact-tile__heading{flex-direction:column}}

/* Import workbench and contact merge */
.contact-actions{display:flex;align-items:flex-start;gap:.75rem}.import-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.import-workbench>*{min-width:0}.import-workbench>.eyebrow,.import-workbench>h1,.import-workbench>.lede{margin-bottom:0}.import-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.import-steps li{padding:.65rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);text-align:center}.import-steps .complete,.import-steps .current{border-color:var(--dia);color:var(--dia);font-weight:800}.import-steps .complete{background:#eaf4f8}.safety-callout{padding:1rem 1.25rem;border-left:4px solid var(--dia);border-radius:8px;background:var(--wash)}.import-sheet-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{width:100%;border-collapse:collapse}.table-scroll th,.table-scroll td{padding:.65rem;border:1px solid var(--line);text-align:left;vertical-align:top;white-space:pre-wrap}.column-samples,.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.column-samples article{padding:1rem;border:1px solid var(--line);border-radius:10px}.column-samples ul{margin:.5rem 0 0;padding-left:1.2rem;color:var(--muted)}.import-preview{display:grid;gap:.75rem;margin:1rem 0}.import-preview article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:10px}.import-preview article>div{display:flex;flex-direction:column;gap:.35rem}.review-flag{display:block;padding:.35rem .55rem;border-radius:6px;background:var(--wash);font-size:.82rem}.merge-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.merge-pair article{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid var(--line);border-radius:10px}.contact-merge fieldset{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.contact-merge fieldset legend{width:100%;font-weight:800}.contact-merge fieldset p{width:100%;margin:0;color:var(--muted)}
@media(max-width:700px){.contact-actions{width:100%;flex-direction:column}.contact-actions>*{width:100%}.import-steps{grid-template-columns:1fr}.column-samples,.mapping-grid,.import-preview article,.merge-pair{grid-template-columns:1fr}}

/* Member directory and multi-contact resolution */
.member-directory{display:grid;gap:1.5rem}.member-directory>.eyebrow,.member-directory>h1,.member-directory>.lede{margin:0}.member-directory .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.member-quick-filters{display:flex;flex-wrap:wrap;gap:.65rem}.member-quick-filters a{padding:.55rem .8rem;border-radius:999px;background:var(--wash);font-weight:800}.member-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(9rem,1fr));gap:1rem;align-items:end}.member-filters .form-actions{display:flex;align-items:center;gap:1rem}.member-result-heading{display:flex;justify-content:space-between;gap:1rem;color:var(--muted)}.member-list{padding-top:.5rem;padding-bottom:.5rem}.member-row{display:grid;grid-template-columns:minmax(12rem,1.3fr) minmax(11rem,1.1fr) 1fr 1fr 1fr minmax(12rem,1.2fr);gap:1rem;align-items:start;padding:1rem 0;border-top:1px solid var(--line)}.member-row:first-child{border-top:0}.member-row>span{display:flex;min-width:0;flex-direction:column;gap:.25rem;overflow-wrap:anywhere}.member-row small{color:var(--muted)}.member-row--header{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.contact-select{display:flex;align-items:center;gap:.4rem;color:var(--dia);font-size:.82rem}.contact-select input{width:auto}.contact-merge-bar{position:sticky;bottom:1rem;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.contact-merge-bar[hidden]{display:none}.merge-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.merge-source-grid article{display:flex;flex-direction:column;gap:.3rem;padding:1rem;border:1px solid var(--line);border-radius:10px}.merge-source-grid small,.merge-source-grid span{color:var(--muted)}
@media(max-width:950px){.member-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.member-row{grid-template-columns:repeat(2,minmax(0,1fr))}.member-row--header{display:none}.merge-source-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.member-directory .metric-grid,.member-filters,.member-row,.merge-source-grid{grid-template-columns:1fr}.member-result-heading,.contact-merge-bar{align-items:flex-start;flex-direction:column}.contact-merge-bar button{width:100%}}
