/* Artists in the shared portal (TattooPixx design: Arial, black/white, pink accent). */
.tpx-invite-card{max-width:1050px;margin:0 auto 28px;padding:34px 38px;background:#fff;border-top:6px solid #ed167d;box-shadow:0 24px 70px #2b0b1b14}
.tpx-invite-card h2{font-size:clamp(26px,3.4vw,40px);line-height:1.1;letter-spacing:-.04em;margin:0 0 16px;overflow-wrap:anywhere;outline:0}
.tpx-invite-card>p{color:#555;line-height:1.65;max-width:760px}
.tpx-portal-tabs{display:flex;gap:0;margin:0 0 22px;border-bottom:1px solid #ddd}
.tpx-portal-tabs button{appearance:none;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:14px 22px;font:inherit;font-size:14px;font-weight:850;color:#555;cursor:pointer;min-height:48px}
.tpx-portal-tabs button[aria-selected=true]{color:#ae0955;border-bottom-color:#ed167d}
.tpx-portal-tabs button:focus-visible{outline:3px solid #ed167d;outline-offset:-3px}
.tpx-check{display:flex!important;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5}
.tpx-check input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:#ed167d}
.tpx-login-form .has-error input:not([type=checkbox]){border-color:#ed167d}
.tpx-first-access .tpx-text-button{margin-top:6px}
.tpx-artist-area,.tpx-as{min-width:0}
.tpx-ap-intro{padding:30px 32px;background:#fff;border-top:3px solid #ed167d;margin-bottom:18px}
.tpx-ap-intro h2{font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.045em;margin:0 0 12px}
.tpx-ap-intro p{color:#686868;font-size:14px;line-height:1.65;margin:0}
.tpx-ap-card{background:#fff;border:1px solid #e3e3df;padding:24px 26px;margin-bottom:16px;min-width:0}
.tpx-ap-card h3{font-size:19px;margin:0;letter-spacing:-.02em;overflow-wrap:anywhere}
.tpx-ap-card h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:22px 0 10px}
.tpx-ap-card p{font-size:14px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere}
.tpx-ap-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.tpx-ap-hint{color:#6b6b6b;font-size:12px!important}
.tpx-ap-badge{display:inline-block;font-size:11px;font-weight:700;padding:5px 8px;background:#f3f3f0;color:#444}
.tpx-ap-badge.is-published,.tpx-ap-badge.is-accepted{background:#fff0f6;color:#a90b54}
.tpx-ap-badge.is-locked,.tpx-ap-badge.is-expired,.tpx-ap-badge.is-revoked{background:#fdecec;color:#8f104b}
.tpx-ap-alert{padding:14px 16px;background:#fff0f6;border-left:4px solid #ed167d}
.tpx-ap-notice{padding:14px 18px;background:#fff0f6;border-left:4px solid #ed167d;margin-bottom:16px;font-size:13px;overflow-wrap:anywhere}
.tpx-ap-notice p{margin:0}
.tpx-ap-notice.is-error{color:#8f104b}
.tpx-ap-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.tpx-ap-form>.tpx-ap-field:has(textarea),.tpx-ap-form>.tpx-ap-checks,.tpx-ap-form>.tpx-ap-actions,.tpx-ap-form>.tpx-ap-hint,.tpx-ap-form>.tpx-ap-check{grid-column:1/-1}
.tpx-ap-field{min-width:0;margin:0;padding:0;border:0}
.tpx-ap-field>label,.tpx-ap-field>legend{display:block;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;margin:0 0 7px;padding:0;line-height:1.4}
.tpx-ap-field input:not([type=checkbox]),.tpx-ap-field select,.tpx-ap-field textarea{display:block;width:100%;min-width:0;min-height:44px;border:1px solid #d7d7d2;border-radius:0;background:#fff;color:#111;font:14px/1.5 Arial,Helvetica,sans-serif;padding:10px 11px;box-sizing:border-box}
.tpx-ap-field textarea{resize:vertical}
.tpx-ap-field small{display:block;font-size:11px;line-height:1.6;color:#6b6b6b;margin-top:6px}
.tpx-ap-field.has-error input,.tpx-ap-field.has-error textarea{border-color:#ed167d}
.tpx-ap-error{color:#b20b59!important;font-weight:700}
[aria-invalid=true]{outline:2px solid #ed167d;outline-offset:1px}
.tpx-ap-checks{display:flex;flex-wrap:wrap;gap:8px 16px}
.tpx-ap-checks legend{width:100%}
.tpx-ap-check{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.5;cursor:pointer}
.tpx-ap-check input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:#ed167d}
.tpx-ap-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.tpx-ap-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 15px;background:#fff;border:1px solid #cfcfc8;border-radius:0;color:#111;font:inherit;font-size:13px;font-weight:700;cursor:pointer;line-height:1.4;text-align:center}
.tpx-ap-secondary:hover{border-color:#ed167d;color:#ad0b57}
.tpx-ap-secondary:focus-visible,.tpx-ap-card .tpx-portal-button:focus-visible{outline:3px solid #ed167d;outline-offset:3px}
.tpx-artist-area .tpx-portal-button,.tpx-as .tpx-portal-button,.tpx-invite-card .tpx-portal-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;background:#dc1474;color:#fff;border:1px solid #ed167d;border-radius:0;font:inherit;font-size:14px;font-weight:850;cursor:pointer;text-decoration:none;line-height:1.4}
.tpx-artist-area .tpx-portal-button:hover,.tpx-as .tpx-portal-button:hover,.tpx-invite-card .tpx-portal-button:hover{background:#c60c65}
.tpx-ap-publish{margin-top:18px;padding:18px;background:#fafaf8;border:1px solid #eee}
.tpx-ap-publish .tpx-ap-check{margin-bottom:12px}
.tpx-ap-link{padding:12px 0;border-top:1px solid #eee}
.tpx-ap-similar ul{margin:8px 0 12px 18px;font-size:13px}
.tpx-ap-claim summary{cursor:pointer;font-weight:700;font-size:14px}
.tpx-as-inline{margin-top:12px}
.tpx-as-inline>button{align-self:end}
.tpx-as h2{font-size:clamp(27px,3vw,38px);line-height:1.1;letter-spacing:-.045em;margin:0 0 12px}
.tpx-as>div>p{color:#686868;font-size:14px;line-height:1.65}
@media(max-width:640px){
 .tpx-invite-card{padding:26px 18px}
 .tpx-ap-intro,.tpx-ap-card{padding:20px 16px}
 .tpx-ap-form{grid-template-columns:1fr}
 .tpx-ap-actions{flex-direction:column;align-items:stretch}
 .tpx-ap-actions button,.tpx-ap-actions a,.tpx-as-inline>button{width:100%}
 .tpx-portal-tabs button{flex:1 1 50%;padding:14px 10px}
}
.tpx-ap-checks>label.tpx-ap-check{display:flex;margin:0;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.5}
/* Artist-Dashboard (0.20.0) */
.tpx-ad-head .tpx-ap-actions{margin-top:14px}
.tpx-ad-head a.tpx-ap-secondary{text-decoration:none}
.tpx-ad-body{padding:0}
.tpx-ad-nav{display:flex;overflow-x:auto;border-bottom:1px solid #e3e3df;scrollbar-width:thin}
.tpx-ad-tab{flex:0 0 auto;appearance:none;background:none;border:0;border-bottom:3px solid transparent;padding:15px 18px;font:inherit;font-size:13px;font-weight:800;color:#555;cursor:pointer;min-height:48px;white-space:nowrap}
.tpx-ad-tab[aria-selected=true]{color:#ae0955;border-bottom-color:#ed167d}
.tpx-ad-tab:focus-visible{outline:3px solid #ed167d;outline-offset:-3px}
.tpx-ad-form{padding:24px 26px 0}
.tpx-ad-panel{display:grid;gap:18px}
.tpx-ad-panel[hidden]{display:none}
.tpx-ad-panel h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:10px 0 0}
.tpx-ad-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tpx-ad-slot{border:1px solid #e3e3df;padding:16px;display:grid;gap:10px;align-content:start}
.tpx-ad-slot h4{margin:0}
.tpx-ad-slot__view{aspect-ratio:16/10;background:#f4f4f0;display:grid;place-items:center;overflow:hidden;border:1px dashed #d4d4ce}
.tpx-ad-slot__view img{width:100%;height:100%;object-fit:cover;display:block}
.tpx-ad-file{position:relative;overflow:hidden;cursor:pointer}
.tpx-ad-file input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.tpx-ad-file:focus-within{outline:3px solid #ed167d;outline-offset:3px}
.tpx-ad-portfolio{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.tpx-ad-work{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;border:1px solid #e3e3df;padding:16px;background:#fafaf8}
.tpx-ad-work__img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#eee}
.tpx-ad-work__fields{display:grid;gap:12px;min-width:0}
.tpx-ad-feats{display:grid;gap:6px}
.tpx-ad-feat summary{cursor:pointer;font-size:13px;font-weight:700;padding:6px 0}
.tpx-ad-feat .tpx-ap-checks{padding:8px 0 4px}
.tpx-ad-feat legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tpx-ad-stations{display:grid;gap:14px}
.tpx-ad-station{border:1px solid #e3e3df;padding:16px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.tpx-ad-station legend{font-size:12px;font-weight:800;padding:0 6px}
.tpx-ad-station .tpx-ap-field:last-of-type,.tpx-ad-station>button{grid-column:1/-1;justify-self:start}
.tpx-ad-bar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin:24px -26px 0;padding:16px 26px;background:#111;color:#fff;z-index:2}
.tpx-ad-bar.is-dirty .tpx-ad-bar__status{color:#ff8cc2;font-weight:700}
.tpx-ad-bar__status{font-size:13px}
.tpx-ad-bar .tpx-portal-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.tpx-ap-pick select{min-height:44px}
@media(max-width:640px){
 .tpx-ad-form{padding:18px 16px 0}
 .tpx-ad-slots,.tpx-ad-station{grid-template-columns:1fr}
 .tpx-ad-work{grid-template-columns:1fr}
 .tpx-ad-work__img{max-width:220px}
 .tpx-ad-bar{margin:20px -16px 0;padding:14px 16px}
 .tpx-ad-bar .tpx-portal-button{width:100%}
}
.tpx-ad-count{display:inline-block;min-width:18px;margin-left:6px;padding:1px 6px;border-radius:9px;background:#dc1474;color:#fff;font-size:11px;font-weight:800;line-height:16px;text-align:center}
.tpx-ad-group{margin:18px 0}
.tpx-ad-group h4{margin:0 0 8px}
.tpx-ad-list{list-style:none;margin:0;padding:0}
.tpx-ad-item{padding:12px 0;border-top:1px solid #eee}
.tpx-ad-item p{margin:0 0 6px;overflow-wrap:anywhere}
.tpx-ad-item__title a{color:#111;font-weight:800}
.tpx-ad-history{margin:14px 0}
.tpx-ad-history summary{cursor:pointer;font-weight:700}
.tpx-ad-request{margin-top:22px;padding:16px;border:1px solid #e3e3df;background:#fafaf8;display:grid;gap:12px}
.tpx-ad-request h4{margin:0}
.tpx-ad-hits{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tpx-ad-hits button{width:100%;text-align:left}
.tpx-ad-chosen{margin:0;font-weight:700}
.tpx-ad-chosen:empty{display:none}
.tpx-as-collabs{margin-bottom:16px}
.tpx-as-collab{padding:12px 0;border-top:1px solid #eee;display:grid;gap:8px}
.tpx-as-collab p{margin:0;overflow-wrap:anywhere}
.tpx-as-team{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.tpx-as-history{margin:0 0 16px}
.tpx-as-history summary{cursor:pointer;font-weight:700}
.tpx-as-propose{margin-bottom:24px}
