/* Self-contained rebuild: no runtime web-font dependency. */
:root{
  --pink:#f6a8d3;
  --primary:#f6a8d3;
  --blue:#92daf4;
  --purple:#ad73e8;
  --ink:#111;
  --muted-ink:#6d6874;
  --paper:#fff;
  --soft:#f7f3ff;
  --soft-blue:#eef9fd;
  --border:#e8e2ef;
  --danger:#c9355e;
  --shadow:0 8px 24px rgba(52,32,63,.08);
  --radius:14px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.5}
img{max-width:100%}
a{color:#8e45ae;text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.shell{width:min(var(--max),calc(100% - 32px));margin-inline:auto}
.page{padding:28px 0 56px}
.narrow{max-width:780px}
.narrow-wide{max-width:980px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hp{position:absolute!important;left:-9999px!important}
.muted{color:var(--muted-ink)}
.italic{font-style:italic}
.pink{color:var(--pink)}
.blue{color:var(--blue)}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav-shell{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-size:1.18rem;font-weight:900;letter-spacing:-.04em;text-decoration:none}
.brand span{color:var(--pink)}
.brand b{color:var(--blue)}
.main-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.main-nav a{color:#29232c;padding:8px 9px;border-radius:9px;font-size:.9rem;font-weight:600;text-decoration:none}
.main-nav a:hover,.main-nav a.active{background:var(--soft);color:#7b3a99}
.main-nav .nav-secondary{border:1px solid var(--border)}
.nav-toggle{display:none;border:1px solid var(--border);background:white;border-radius:9px;padding:7px 11px}

.hero{background:linear-gradient(180deg,#faf7ff 0%,#fff 100%);border-bottom:1px solid var(--border)}
.hero-inner{text-align:center;padding:38px 16px 34px;max-width:860px}
.hero h1{font-size:clamp(2rem,5vw,3rem);margin:0 0 4px;line-height:1.05}
.hero h1 span{color:var(--pink)}
.hero h1 b{color:var(--blue)}
.hero .count{color:#9b45ad;font-weight:800;margin:8px 0}
.hero-copy{font-weight:700;max-width:700px;margin:14px auto;font-size:1.03rem}
.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.hero-note{font-size:.78rem;color:var(--muted-ink);font-style:italic;max-width:700px;margin:20px auto 0}

.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 13px;border:1px solid var(--border);border-radius:9px;background:white;color:#211b25;font-weight:700;font-size:.9rem;text-decoration:none}
.button:hover{background:#faf7fc;text-decoration:none}
.button.primary{background:var(--primary);color:#111;border-color:var(--primary)}
.button.primary:hover{background:#ff78d2;border-color:#ff78d2}
.button.small{min-height:32px;padding:5px 10px;font-size:.82rem}
.button.ghost{border-color:transparent;background:transparent;padding-left:0}
.button.ghost:hover{background:transparent;color:#8e45ae}

.flash{margin-top:16px;border-radius:10px;padding:11px 14px;font-weight:700}
.flash.success{background:#ecf8ef;color:#256535;border:1px solid #cae9d0}
.flash.error{background:#fff0f3;color:#9e2447;border:1px solid #f3c7d3}

.browse-controls{display:grid;gap:11px;margin-bottom:24px}
.search-row{display:flex;gap:8px;margin-bottom:14px}
.search-input,.stack-form input,.newsletter-form input{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 12px;background:white;outline:none}
.search-input:focus,.stack-form input:focus,.newsletter-form input:focus{border-color:#b96fc7;box-shadow:0 0 0 3px rgba(185,111,199,.12)}
.filter-row,.chip-row,.badge-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.filter-menu{position:relative}
.filter-menu summary{list-style:none;border:1px solid var(--border);border-radius:9px;padding:6px 10px;background:white;font-size:.85rem;font-weight:700;cursor:pointer}
.filter-menu summary::-webkit-details-marker{display:none}
.filter-options{position:absolute;z-index:20;top:calc(100% + 5px);left:0;width:230px;max-height:300px;overflow:auto;padding:8px;background:white;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}
.filter-options label{display:flex;gap:8px;align-items:flex-start;padding:5px;border-radius:7px;font-size:.84rem}
.filter-options label:hover{background:var(--soft)}
.toggle-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);padding:6px 10px;border-radius:999px;font-size:.83rem;font-weight:700}
.chip{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:.8rem;color:#3f3743;text-decoration:none}
.chip.active{background:var(--primary);color:#111;border-color:var(--primary)}
.filter-notice,.soft-callout,.info-panel,.profile-action{border:1px solid var(--border);background:var(--soft);border-radius:12px;padding:15px;margin:16px 0}
.soft-callout p,.info-panel p,.profile-action p{margin:.45rem 0}

.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.section-heading h1,.section-heading h2{margin:0}
.section-heading p{margin:2px 0 0}
.view-switch{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.view-switch a{padding:6px 10px;color:#555;text-decoration:none;font-size:.82rem;font-weight:700}
.view-switch a.active{background:#f0e9f7;color:#75378e}

.artist-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.artist-list{display:grid;grid-template-columns:1fr;gap:8px}
.artist-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:white;color:inherit;text-decoration:none;transition:.18s ease}
.artist-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);text-decoration:none}
.artist-card-image{aspect-ratio:1/1;overflow:hidden;background:#f5f1f8}
.artist-card-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .25s ease}
.artist-card:hover .artist-card-image img{transform:scale(1.035)}
.artist-placeholder{height:100%;display:grid;place-items:center;padding:16px;text-align:center;background:linear-gradient(135deg,#efb9dc,#b8dff1);font-weight:800;color:white;text-shadow:0 1px 4px rgba(0,0,0,.15)}
.artist-card-copy{padding:10px;display:flex;flex-direction:column;gap:4px;min-height:88px}
.artist-card-copy h3{font-size:.93rem;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.artist-card-copy p{margin:0;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.artist-card-list{display:grid;grid-template-columns:94px 1fr;min-height:94px}
.artist-card-list .artist-card-image{aspect-ratio:1/1}
.artist-card-list .artist-card-copy{justify-content:center;min-height:94px}
.artist-card-list .artist-card-copy h3{font-size:1rem}

.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:.67rem;font-weight:800;line-height:1.15}
.badge.neutral{background:#f3eff5;color:#4d4351}
.badge.blue{background:#e9f8fd;color:#267895}
.badge.pink{background:var(--primary);color:#111}
.badge.danger{background:#fff0f3;color:var(--danger)}
.profile-badges{margin:8px 0 22px}
.profile-badges a{text-decoration:none}
.pager{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:28px;font-size:.86rem}

.back-row{display:flex;justify-content:space-between;margin-bottom:12px}
.profile-strip{display:flex;gap:12px;overflow-x:auto;padding:0 0 10px;scrollbar-width:thin}
.profile-image-button{position:relative;flex:0 0 auto;border:0;background:transparent;padding:0}
.profile-image-button img{height:260px;width:auto;max-width:76vw;object-fit:contain;border-radius:10px;border:1px solid var(--border);display:block}
.profile-image-button span{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.66);color:white;padding:6px 8px;border-radius:0 0 10px 10px;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s}
.profile-image-button:hover span{opacity:1}
.image-credit{font-size:.75rem;color:var(--muted-ink);font-style:italic;margin:0 0 22px}
.profile-title{display:flex;justify-content:space-between;align-items:start;gap:16px}
.profile-title h1{font-size:2rem;line-height:1.12;margin:0}
.profile-title h1 span{font-size:1rem;color:var(--muted-ink);font-weight:400}
.profile-title p{margin:3px 0}
section{margin:24px 0}
.section-bar{font-size:.86rem;background:var(--primary);color:#111;border-radius:7px;padding:7px 10px;margin:0 0 10px}
.term-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.term-grid a,.term-grid span{display:block;text-align:center;padding:7px 8px;border-radius:8px;background:#f4e9f5;color:#81408d;font-size:.84rem;text-decoration:none}
.term-grid.neutral span{background:#f4f1f5;color:#38313b}
.social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 20px}
.social-links a{font-size:.9rem}
.link-list{margin:0;padding-left:20px}
.link-list li{margin:5px 0}
.prose{line-height:1.67}
.prose p{margin:0 0 1rem}
.prose h1,.prose h2,.prose h3{margin:1.25rem 0 .5rem}
.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.record-card{display:block;border:1px solid var(--border);border-radius:10px;padding:13px;color:inherit;background:white;text-decoration:none}
.record-card:hover{background:#fcfaff;text-decoration:none}
.record-card h3{margin:0 0 4px;font-size:.95rem}
.record-card p{font-size:.84rem;margin:4px 0}
.publication-record{display:flex;gap:11px}
.publication-record img{width:58px;height:82px;object-fit:cover;border:1px solid var(--border);border-radius:6px}
.profile-action h2{font-size:1rem;margin:0 0 4px}

.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.gallery-item{display:block;border:1px solid var(--border);border-radius:10px;overflow:hidden;color:inherit;text-decoration:none;background:white}
.gallery-item:hover{box-shadow:var(--shadow);text-decoration:none}
.gallery-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.gallery-item span{display:block;padding:7px 8px;font-size:.72rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.library-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.publication-card{display:block;border:1px solid var(--border);border-radius:10px;overflow:hidden;color:inherit;text-decoration:none;background:white}
.publication-card:hover{box-shadow:var(--shadow);text-decoration:none}
.publication-cover{aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;background:#f3eff5;color:#8a7d91;font-family:"Source Code Pro",monospace;font-size:.72rem;text-align:center;padding:8px}
.publication-cover img{width:100%;height:100%;object-fit:cover}
.publication-copy{padding:8px}
.publication-copy h3{font-size:.76rem;margin:0;line-height:1.25}
.publication-copy p{font-size:.68rem;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.library-list{display:grid;gap:8px}
.library-list-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:11px;padding:10px;border:1px solid var(--border);border-radius:10px;color:inherit;text-decoration:none}
.library-list-item:hover{background:#fbf9fc;text-decoration:none}
.library-list-item img{width:52px;height:52px;object-fit:cover;border-radius:6px}
.library-list-item h3{font-size:.9rem;margin:0}
.library-list-item p{font-size:.78rem;margin:2px 0}
.publication-detail{display:flex;gap:24px;align-items:flex-start;margin-top:20px}
.publication-detail h1{margin:0 0 8px;font-size:2rem}
.publication-large-cover{width:170px;flex:0 0 170px;padding:0;border:0;background:transparent}
.publication-large-cover img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
.byline{margin:12px 0}

.exhibition-list{display:grid;gap:9px}
.exhibition-row{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--border);border-radius:10px;padding:13px}
.exhibition-row h2{font-size:1rem;margin:0}
.exhibition-row p{margin:3px 0;font-size:.82rem}
.exhibition-actions{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}

.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.collection-card{display:block;border:1px solid var(--border);border-radius:14px;overflow:hidden;color:inherit;text-decoration:none;background:white}
.collection-card:hover{box-shadow:var(--shadow);text-decoration:none}
.collection-card>img,.collection-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover}
.collection-placeholder{display:grid;place-items:center;background:#f3eff5;font-size:2.8rem;color:#c1aec9}
.collection-card>div:last-child{padding:15px}
.collection-card h2{font-size:1.05rem;margin:0}
.collection-card p{font-size:.84rem;margin:5px 0}
.collection-hero-image{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:14px;margin:12px 0 24px}
.collection-title{font-size:2.3rem;margin:0}
.collection-subtitle{font-size:1.1rem;color:var(--muted-ink)}
.collection-body{margin:24px 0 42px}

.legal-page{max-width:820px}
.legal-page>h1{font-size:2rem;margin-top:0}
.legal-page section{margin:28px 0}
.legal-page h2{font-size:1.05rem;margin:0 0 8px}
.legal-page p,.legal-page li{font-size:.9rem;line-height:1.65}
.legal-content .uppercase{text-transform:uppercase}
.legal-content ul{padding-left:22px}
.info-panel h1{margin-top:0}
.stack-form{display:grid;gap:12px}
.stack-form label{display:grid;gap:5px;font-weight:700}

.empty-state{text-align:center;color:var(--muted-ink);padding:60px 18px}
.empty-state h1,.empty-state h2{color:var(--ink)}

.site-footer{border-top:1px solid var(--border);background:#fcfbfd;padding:28px 0 18px}
.newsletter{max-width:480px;text-align:center;margin:0 auto 24px}
.newsletter p{font-size:.8rem;color:var(--muted-ink);margin:4px 0 10px}
.newsletter-form{display:flex;gap:8px}
.footer-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font-size:.8rem}
.footer-links a{color:var(--muted-ink)}
.disclaimer{font-size:.7rem;color:#8b818e;font-style:italic;text-align:center;max-width:820px;margin:18px auto 0}

.lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,7,12,.94);display:grid;grid-template-columns:60px 1fr 60px;align-items:center;padding:20px}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;display:grid;justify-items:center;gap:10px;max-height:92vh}
.lightbox figure img{max-width:100%;max-height:84vh;object-fit:contain}
.lightbox figcaption{color:white;font-size:.86rem;text-align:center}
.lightbox button{border:0;background:rgba(255,255,255,.1);color:white;border-radius:999px;width:42px;height:42px;font-size:1.8rem}
.lightbox-close{position:absolute;right:18px;top:18px}
.lightbox-prev{justify-self:start}
.lightbox-next{justify-self:end}
.single-lightbox{grid-template-columns:1fr}
.single-lightbox figure{grid-column:1}

@media (max-width:1000px){
  .artist-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gallery-grid,.library-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:780px){
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;left:16px;right:16px;top:56px;background:white;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:8px;align-items:stretch}
  .main-nav.open{display:grid}
  .main-nav a{padding:10px 12px}
  .artist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery-grid,.library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .term-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .social-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .record-grid{grid-template-columns:1fr}
  .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .shell{width:min(100% - 22px,var(--max))}
  .page{padding-top:20px}
  .hero-inner{padding:28px 12px}
  .hero-copy{font-size:.94rem}
  .search-row{flex-wrap:wrap}
  .search-row .button{width:100%}
  .filter-menu{position:static}
  .filter-options{position:fixed;left:12px;right:12px;top:90px;width:auto;max-height:60vh}
  .artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .artist-card-copy{padding:8px}
  .gallery-grid,.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .section-heading{align-items:flex-start}
  .profile-image-button img{height:210px}
  .profile-title h1{font-size:1.7rem}
  .term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .social-links{grid-template-columns:1fr}
  .publication-detail{flex-direction:column-reverse}
  .publication-large-cover{width:140px}
  .collection-grid{grid-template-columns:1fr}
  .exhibition-row{display:block}
  .exhibition-actions{justify-content:flex-start;margin-top:8px}
  .newsletter-form{display:grid}
  .lightbox{grid-template-columns:46px 1fr 46px;padding:8px}
}


/* Phase 5 — accounts, claims and artist self-service */
.nav-signout-form{display:inline-flex;margin:0}
.nav-link-button{appearance:none;border:0;background:transparent;color:var(--muted-ink);font:inherit;font-weight:700;padding:8px 9px;border-radius:7px;cursor:pointer}
.nav-link-button:hover{background:var(--muted);color:var(--ink)}
.account-panel{max-width:680px;margin:0 auto}
.account-panel h1{margin-top:0}
.account-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:.88rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field-help{font-weight:400;color:var(--muted-ink);font-size:.78rem}
.checkbox-line{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px;font-weight:500!important}
.checkbox-line input{width:auto;margin-top:3px}
.checkbox-stack{display:grid;gap:8px;margin:8px 0}
.stack-form textarea,.profile-edit-form textarea,.claim-form textarea{width:100%;resize:vertical}
.stack-form input,.stack-form textarea,.profile-edit-form input,.profile-edit-form textarea,.claim-form textarea{
  border:1px solid var(--border);border-radius:8px;padding:10px 11px;background:white;color:var(--ink);font:inherit
}
.stack-form input:focus,.stack-form textarea:focus,.profile-edit-form input:focus,.profile-edit-form textarea:focus,.claim-form textarea:focus{
  outline:2px solid rgba(214,80,200,.22);border-color:var(--primary)
}
.account-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}
.account-header h1{margin:0}
.account-profile-list{display:grid;gap:10px}
.account-profile-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid var(--border);border-radius:10px;background:white}
.account-profile-card h2{font-size:1rem;margin:0}
.button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.request-list{display:grid;gap:8px}
.request-list article{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:white;font-size:.86rem}
.profile-edit-form{display:grid;gap:18px}
.profile-edit-form label{display:grid;gap:5px;font-weight:700}
.editor-section{border:1px solid var(--border);border-radius:12px;padding:18px;background:#fff}
.editor-section>h2{margin:0 0 14px;font-size:1.1rem}
.editor-section>h3{margin:0 0 10px}
.editor-section>label{display:grid;gap:5px;font-weight:700;margin-top:12px}
.large-button{justify-self:start;padding-inline:20px}
.claim-form{display:grid;gap:10px;margin-top:12px}
.claim-form label{display:grid;gap:5px;font-weight:700}
.selected-artist{border:1px solid var(--border);background:var(--muted);border-radius:8px;padding:10px 12px;margin:14px 0}
.image-manager{display:grid;gap:14px}
.no-cover{font-size:.84rem;display:flex;align-items:center;gap:7px}
.image-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.image-editor-card{border:1px solid var(--border);border-radius:12px;padding:10px;background:white;display:grid;gap:10px}
.image-editor-card>img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f7f4f8;border-radius:8px}
.image-editor-fields{display:grid;gap:8px}
.image-editor-fields label{display:grid;gap:4px;font-size:.82rem;font-weight:700}
.image-editor-fields textarea,.image-editor-fields input[type=number]{width:100%;border:1px solid var(--border);border-radius:7px;padding:7px 8px;font:inherit}
.image-delete-trigger{justify-self:start}
.danger{background:#a62626!important;color:#fff!important;border-color:#a62626!important}
.danger-outline{border-color:#c95454!important;color:#9f2727!important;background:#fff!important}
.upload-panel{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.upload-panel h3{margin:0 0 12px}
.hidden-form{display:none}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:780px){
  .nav-signout-form{display:block}
  .nav-link-button{width:100%;text-align:left;padding:10px 12px}
  .form-grid,.image-editor-grid{grid-template-columns:1fr}
  .account-profile-card{align-items:flex-start;flex-direction:column}
}

/* QuAD Phase 6 — administration */
.admin-link{font-weight:800!important}
.admin-page{max-width:1440px}
.admin-nav{display:flex;gap:.45rem;overflow-x:auto;padding:.7rem 0 1rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border,#ddd);scrollbar-width:thin}
.admin-nav a{white-space:nowrap;text-decoration:none;border:1px solid #ded9e7;border-radius:999px;padding:.45rem .7rem;font-size:.8rem;background:#fff;color:#333}
.admin-nav a:hover,.admin-nav a.active{background:#f7eafa;border-color:#e9b5e2;color:#8f267e}
.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.admin-heading h1{margin:.05rem 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800;color:#8c6b86;margin:0}
.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin-bottom:1.2rem}
.admin-stat{display:flex;flex-direction:column;gap:.25rem;padding:1.05rem;border:1px solid #e5e0e8;border-radius:14px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.admin-stat strong{font-size:1.8rem;line-height:1;color:#bf43aa}.admin-stat span{font-size:.82rem;color:#666}
.admin-card{background:#fff;border:1px solid #e5e0e8;border-radius:14px;padding:1.1rem;margin:0 0 1rem;box-shadow:0 1px 3px rgba(0,0,0,.025)}
.admin-card h2{margin-top:0}.admin-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.admin-card-heading h2{margin:0}
.admin-two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1rem;align-items:start}
.admin-table-wrap{width:100%;overflow:auto;border:1px solid #e4e0e6;border-radius:12px;background:#fff}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid #eee9ef;vertical-align:top;font-size:.82rem}.admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;background:#fbf8fc;color:#6b5f6d}.admin-table tr:last-child td{border-bottom:0}
.admin-actions,.admin-filter-row{display:flex;gap:.55rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem}.admin-filter-row{justify-content:flex-start}.admin-search,.admin-inline-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.admin-search input{min-width:min(360px,70vw)}
.admin-table .button.small,.button.small{padding:.35rem .55rem;font-size:.75rem;min-height:0}
.admin-activity,.admin-link-list{list-style:none;padding:0;margin:0}.admin-activity li{display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,.5fr) auto;gap:.6rem;padding:.5rem 0;border-bottom:1px solid #eee}.admin-activity li:last-child{border-bottom:0}.admin-activity time,.admin-activity span{color:#777;font-size:.78rem}
.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;margin:0 0 .8rem}.admin-detail-grid>div,.admin-detail-list>div{border:1px solid #eee8f0;border-radius:10px;padding:.65rem}.admin-detail-grid dt,.admin-detail-list dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#7b6f7e;font-weight:800}.admin-detail-grid dd,.admin-detail-list dd{margin:.22rem 0 0}.admin-detail-list{display:grid;gap:.55rem;margin:0 0 1rem}
.request-reason{background:#fbf8fc;border-radius:10px;padding:.8rem;margin:.7rem 0}.request-reason pre{white-space:pre-wrap;font:inherit;margin:.45rem 0 0}
.admin-artist-cell{display:flex;align-items:center;gap:.6rem}.admin-artist-cell img,.admin-thumb-placeholder{width:42px;height:42px;object-fit:cover;border-radius:8px;background:linear-gradient(135deg,#f3b4e1,#98ddf5);flex:0 0 auto}
.admin-form-section{border-top:1px solid #eee7ef;padding-top:1rem;margin-top:.4rem}.admin-form-section:first-of-type{border-top:0;padding-top:0}.admin-form-section h2{font-size:1rem;margin-bottom:.65rem}
.relationship-editor{display:grid;gap:.6rem}.relationship-list{display:grid;gap:.45rem}.relationship-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.55fr) auto;gap:.45rem}.relationship-editor[data-roles="0"] .relationship-row{grid-template-columns:minmax(220px,1fr) auto}
.admin-cover-preview{width:min(180px,45vw);max-height:260px;object-fit:contain;border:1px solid #ddd;border-radius:10px}.admin-wide-preview{width:min(560px,100%);max-height:300px;object-fit:cover;border-radius:12px;border:1px solid #ddd}
.admin-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem;margin-bottom:1rem}.admin-image-item{border:1px solid #e5dfe7;border-radius:12px;padding:.7rem;display:grid;gap:.55rem}.admin-image-item>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#f4f1f5}
.vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.55rem}.vocab-item{display:grid;grid-template-columns:1fr auto auto;gap:.4rem;align-items:center;border:1px solid #e7e0e8;border-radius:10px;padding:.55rem;background:#fff}.vocab-item .muted{grid-column:1/-1;font-size:.72rem}
.insta-controls{position:relative}.insta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.insta-card{border:1px solid #e4dfe6;border-radius:12px;background:#fff;padding:.7rem;display:grid;gap:.55rem}.insta-card canvas{display:block;width:100%;height:auto;aspect-ratio:4/5;background:#fff;border-radius:8px;box-shadow:0 1px 5px rgba(0,0,0,.08)}
.hidden-form{display:none!important}
@media(max-width:850px){.admin-two-col{grid-template-columns:1fr}.admin-heading{flex-direction:column}.relationship-row,.relationship-editor[data-roles="0"] .relationship-row{grid-template-columns:1fr}.admin-activity li{grid-template-columns:1fr}.admin-table{min-width:680px}}


/* QuAD Phase 7 — UX polish, responsive editing, curated exhibitions */
body{background:#fdfcfe;letter-spacing:-.005em}
h1,h2,h3,strong,.button,.brand{letter-spacing:-.018em}
.site-header{box-shadow:0 1px 0 rgba(58,35,65,.03)}
.hero{background:
  radial-gradient(circle at 15% 15%,rgba(245,108,198,.12),transparent 32%),
  radial-gradient(circle at 85% 25%,rgba(19,171,221,.11),transparent 34%),
  linear-gradient(180deg,#fdfaff 0%,#fff 100%)}
.hero-inner{padding-top:44px;padding-bottom:40px}
.artist-card,.publication-card,.record-card,.collection-card,.editor-section,.admin-card{box-shadow:0 2px 12px rgba(54,35,64,.035)}
.button{transition:transform .12s ease,background .12s ease,border-color .12s ease}
.button:active{transform:translateY(1px)}
.search-input{min-height:42px}

/* Library placeholders */
.publication-cover{background:linear-gradient(145deg,#f56cc6 0%,#b783e8 46%,#13abdd 100%);position:relative;overflow:hidden}
.publication-cover:has(img){background:#f5f1f8}
.publication-letter{display:grid!important;place-items:center;width:100%;height:100%;font-size:clamp(3rem,7vw,6rem)!important;line-height:1!important;font-weight:900!important;color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.13);font-family:ui-sans-serif,system-ui,sans-serif}
.library-list-placeholder,.publication-record-placeholder,.publication-placeholder-large{display:grid;place-items:center;background:linear-gradient(145deg,#f56cc6,#8f8de7 55%,#13abdd);color:#fff;font-weight:900;text-shadow:0 1px 5px rgba(0,0,0,.12)}
.library-list-placeholder{width:52px;height:52px;border-radius:6px;font-size:1.7rem}
.publication-record-placeholder{width:58px;height:82px;border-radius:6px;flex:0 0 58px;font-size:2rem}
.publication-placeholder-large{aspect-ratio:3/4;border-radius:10px;font-size:5rem}

/* Age gate */
.age-gate-page{min-height:70vh;display:grid;place-items:center}
.age-gate-card{max-width:620px;text-align:center;border:1px solid var(--border);border-radius:24px;background:#fff;padding:clamp(24px,6vw,54px);box-shadow:0 24px 70px rgba(71,38,78,.12)}
.age-gate-card h1{font-size:clamp(1.9rem,5vw,2.8rem);margin:.35rem 0 1rem}
.age-mark{width:88px;height:88px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--blue));color:#fff;font-size:1.8rem;font-weight:900}
.age-gate-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:24px 0 10px}

/* Upload feedback */
.upload-message{margin:0 0 14px;padding:11px 13px;border-radius:10px;font-size:.9rem;font-weight:700}
.upload-message.error{background:#fff0f3;color:#9e2447;border:1px solid #f3c7d3}
.upload-message.success{background:#ecf8ef;color:#256535;border:1px solid #cae9d0}
.button.is-uploading{position:relative;opacity:.82;cursor:progress}
.button.is-uploading::before{content:"";width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:quad-spin .7s linear infinite}
@keyframes quad-spin{to{transform:rotate(360deg)}}

/* Curated exhibitions */
.curated-coming-soon{padding:70px 24px;background:linear-gradient(145deg,#fff7fc,#f2fbff)}
.curated-symbol{font-size:2.5rem;color:var(--pink)}
.curated-exhibition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.curated-exhibition-card{display:grid;grid-template-columns:minmax(180px,.8fr) 1.2fr;min-height:260px;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 28px rgba(53,33,61,.06)}
.curated-exhibition-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 15px 35px rgba(53,33,61,.1)}
.curated-exhibition-card>img,.curated-exhibition-placeholder{width:100%;height:100%;min-height:260px;object-fit:cover}
.curated-exhibition-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,var(--pink),var(--blue));color:#fff;font-size:4rem}
.curated-exhibition-card>div:last-child{padding:28px}
.curated-exhibition-card h2{font-size:1.5rem;margin:.3rem 0 .7rem}
.curated-exhibition-hero{width:100%;max-height:560px;object-fit:cover;border-radius:20px;margin:10px 0 28px}
.curated-exhibition-header{max-width:780px;margin:0 auto 30px;text-align:center}
.curated-exhibition-header h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.02;margin:.35rem 0}
.curated-exhibition-body{max-width:680px;margin:0 auto 40px}
.curated-artist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.curated-artist-block{display:grid;gap:8px}
.curated-note{font-size:.88rem;padding:0 5px;color:#514a54}

/* Controlled-vocabulary chart */
.vocab-chart{display:grid;gap:7px}
.vocab-chart-row{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(180px,2fr) 52px auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eee9ef}
.vocab-chart-row:last-child{border-bottom:0}
.vocab-name{width:100%}
.vocab-bar-track{height:15px;border-radius:999px;background:#f2edf4;overflow:hidden}
.vocab-bar{display:block;height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,var(--pink),var(--blue))}
.vocab-count{text-align:right;font-variant-numeric:tabular-nums}
.library-type-row{display:grid;grid-template-columns:minmax(180px,1fr) 100px 90px 120px auto;gap:10px;align-items:center}
.library-type-row>strong{text-align:center}

/* Curated admin relationship editor */
.curated-relation-list{display:grid;gap:10px;margin-bottom:10px}
.curated-relation-row{display:grid;grid-template-columns:minmax(220px,.8fr) 90px minmax(260px,1.2fr) auto;gap:8px;align-items:start}
.curated-relation-row textarea{min-height:76px}

/* Instagram tracking */
.instagram-tracker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.instagram-tracker-card{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:14px;background:#fff}
.instagram-tracker-thumb{width:64px;height:64px;border-radius:11px;overflow:hidden;background:linear-gradient(145deg,var(--pink),var(--blue));display:grid;place-items:center;color:#fff;font-size:1.7rem;font-weight:900}
.instagram-tracker-thumb img{width:100%;height:100%;object-fit:cover}
.instagram-tracker-copy h2{font-size:1rem;margin:0 0 2px}
.instagram-tracker-copy p{margin:0}
.instagram-history{display:grid;gap:0}
.instagram-history article{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #eee}
.instagram-history article:last-child{border-bottom:0}
.instagram-history p{margin:.3rem 0 0;font-size:.85rem}

/* More comfortable artist profile editing */
.profile-edit-form input,.profile-edit-form textarea,.profile-edit-form select,.image-editor-fields textarea,.image-editor-fields input{min-height:44px}
.editor-section{border-radius:16px}
.editor-section>h2{font-size:1.2rem}
.upload-panel{background:#fbf9fd;border:1px solid var(--border);border-radius:16px;padding:18px;margin-top:24px}

/* Mobile refinements */
@media(max-width:780px){
  .nav-shell{min-height:52px}
  .main-nav{top:52px;left:10px;right:10px;padding:4px;gap:0;border-radius:11px;max-height:calc(100vh - 64px);overflow:auto}
  .main-nav.open{display:grid;grid-template-columns:1fr}
  .main-nav a,.nav-link-button{min-height:39px;padding:8px 10px;display:flex;align-items:center}
  .main-nav .nav-secondary{border:0}
  .nav-signout-form{margin:0}
  .profile-edit-form{gap:12px}
  .editor-section{padding:14px;margin:0;border-radius:12px}
  .editor-section>h2{margin-bottom:10px}
  .profile-edit-form input,.profile-edit-form textarea,.profile-edit-form select{font-size:16px}
  .image-editor-card{padding:8px}
  .upload-panel{padding:14px}
  .curated-exhibition-grid{grid-template-columns:1fr}
  .curated-exhibition-card{grid-template-columns:1fr;min-height:0}
  .curated-exhibition-card>img,.curated-exhibition-placeholder{height:240px;min-height:240px}
  .curated-exhibition-card>div:last-child{padding:20px}
  .curated-artist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vocab-chart-row{grid-template-columns:1fr 50px}
  .vocab-chart-row .vocab-bar-track{grid-column:1/-1;grid-row:2}
  .vocab-chart-row .button-row{grid-column:1/-1}
  .library-type-row{grid-template-columns:1fr 70px}
  .library-type-row>strong{grid-column:2;grid-row:1}
  .library-type-row input[type=number],.library-type-row .checkbox-line,.library-type-row .button-row{grid-column:1/-1}
  .curated-relation-row{grid-template-columns:1fr 82px}
  .curated-relation-row textarea{grid-column:1/-1}
  .curated-relation-row .curated-remove{grid-column:1/-1;justify-self:start}
  .instagram-tracker-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .hero-inner{padding-top:30px;padding-bottom:30px}
  .filter-row{gap:6px}
  .toggle-pill,.filter-menu summary{font-size:.8rem}
  .curated-artist-grid{grid-template-columns:1fr}
  .instagram-tracker-card{grid-template-columns:52px 1fr}
  .instagram-tracker-thumb{width:52px;height:52px}
  .instagram-tracker-card>.button{grid-column:1/-1}
  .age-gate-actions .button{width:100%}
}

/* QuAD Phase 7B — mobile-first artist editor + visual image studio */
.editor-page{max-width:1120px;padding-top:22px}
.editor-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:0 0 18px}
.editor-page-heading h1{margin:.12rem 0 2px;font-size:clamp(1.8rem,4vw,2.55rem);line-height:1.08}
.editor-page-heading .eyebrow{margin:0;color:#8d5b8c;font-weight:850;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem}
.editor-notice{display:flex;align-items:center;gap:10px;border:1px solid #eadff0;background:linear-gradient(100deg,#fff8fd,#f4fbfe);border-radius:14px;padding:11px 14px;margin:0 0 18px;font-size:.88rem}
.editor-notice span{color:var(--muted-ink)}
.profile-editor-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start}
.editor-stepper{position:sticky;top:76px;display:grid;gap:5px;padding:8px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(52,32,63,.055);z-index:8}
.editor-stepper button{appearance:none;border:0;background:transparent;border-radius:12px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;min-height:46px;padding:7px 9px;text-align:left;color:#625a65;font-size:.84rem;cursor:pointer}
.editor-stepper button span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f3edf5;color:#7f667f;font-weight:850;font-size:.74rem}
.editor-stepper button b{font-weight:760}
.editor-stepper button em{min-width:24px;padding:2px 7px;border-radius:999px;background:#f1edf2;color:#756c78;font-style:normal;text-align:center;font-size:.68rem;font-weight:800}
.editor-stepper button:hover{background:#fbf7fc}
.editor-stepper button.is-active{background:linear-gradient(100deg,rgba(245,108,198,.12),rgba(19,171,221,.09));color:#4e284d}
.editor-stepper button.is-active span{background:linear-gradient(135deg,var(--pink),var(--blue));color:#fff}
.editor-stage,.editor-form{min-width:0}
.js .profile-editor-layout .editor-panel{display:none}
.js .profile-editor-layout .editor-panel.is-active{display:block}
.editor-section.editor-panel{margin:0;border-radius:22px;padding:clamp(18px,3vw,30px);box-shadow:0 10px 34px rgba(54,35,64,.055)}
.editor-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #eee8f1}
.editor-panel-heading h2{font-size:clamp(1.35rem,3vw,1.75rem);margin:.05rem 0 3px}
.editor-panel-heading p{margin:0;color:var(--muted-ink);max-width:620px}
.editor-step-label{font-size:.7rem!important;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#9c5a96!important}
.editor-form label,.upload-form label{font-weight:720}
.editor-form input,.editor-form textarea,.editor-form select,.upload-form textarea{border:1px solid #ded7e3;border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;transition:border-color .12s ease,box-shadow .12s ease}
.editor-form input,.editor-form select{min-height:47px}
.editor-form textarea,.upload-form textarea{width:100%;resize:vertical;line-height:1.48}
.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus,.upload-form textarea:focus{border-color:#c065b7;box-shadow:0 0 0 4px rgba(185,78,176,.11)}
.editor-form .form-grid{gap:14px}
.editor-form>section>label{display:grid;gap:6px;margin-top:16px}
.editor-form>section>.form-grid+label{margin-top:16px}
.link-field-grid input{font-size:.93rem}
.editor-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0 2px}
.editor-choice{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:11px!important;border:1px solid #e5dee9;border-radius:14px;padding:13px;background:#fff;font-weight:500!important;cursor:pointer}
.editor-choice:hover{border-color:#d8c7df;background:#fdfafd}
.editor-choice.single-choice{margin-top:16px}
.editor-choice input{width:19px!important;height:19px!important;min-height:0!important;margin:2px 0 0!important;accent-color:var(--primary)}
.editor-choice span{display:grid;gap:2px}
.editor-choice b{font-size:.9rem}
.editor-choice small{font-size:.77rem;color:var(--muted-ink);font-weight:450;line-height:1.35}
.editor-confirm-card{display:flex;align-items:center;gap:14px;border:1px solid #d9ebdf;background:#f5fcf7;border-radius:16px;padding:16px;margin-bottom:16px}
.editor-confirm-mark{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#d8f2df;color:#1e6d35;font-size:1.2rem;font-weight:900}
.editor-confirm-card p{margin:2px 0 0;color:#56605a;font-size:.84rem}
.editor-panel-footer{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;padding-top:17px;border-top:1px solid #eee8f1}
.editor-panel-footer .button-row{justify-content:flex-end}
.editor-save-status{font-size:.78rem;color:#9a6b2f;font-weight:700}
.image-count-pill{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:5px 10px;border-radius:999px;background:#f2edf5;color:#6d5f70;font-size:.76rem;font-weight:800;white-space:nowrap}

/* Image studio */
.image-studio{overflow:visible}
.image-studio-heading{align-items:center}
.image-manager{display:grid;gap:16px}
.image-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:13px;background:#f9f6fa;border:1px solid #ebe4ee}
.image-manager-toolbar p{margin:0;font-size:.78rem}
.cover-none-choice{display:inline-flex!important;align-items:center;gap:7px!important;margin:0!important;font-size:.8rem!important;font-weight:700!important;white-space:nowrap}
.cover-none-choice input{accent-color:var(--primary)}
.image-editor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.image-studio-card{position:relative;overflow:hidden;border:1px solid #e4dde8;border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(52,32,63,.045);transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}
.image-studio-card.is-dragging{opacity:.56;transform:scale(.985);box-shadow:0 18px 42px rgba(52,32,63,.16)}
.image-studio-media{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#f6f0f7,#eef8fb);overflow:hidden}
.image-studio-media img{width:100%;height:100%;display:block;object-fit:contain}
.image-drag-handle{position:absolute;top:8px;right:8px;width:38px;height:38px;border:1px solid rgba(255,255,255,.65);border-radius:11px;background:rgba(25,20,27,.66);backdrop-filter:blur(8px);color:#fff;font-size:1.15rem;line-height:1;cursor:grab;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.image-drag-handle:active{cursor:grabbing}
.image-status-badges{position:absolute;left:9px;bottom:9px;display:flex;gap:5px;flex-wrap:wrap;max-width:calc(100% - 18px)}
.image-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:rgba(22,18,24,.72);backdrop-filter:blur(8px);color:#fff;font-size:.66rem;font-weight:850;letter-spacing:.01em}
.image-badge.cover-badge{background:rgba(185,78,176,.9)}
.image-badge.nsfw-badge{background:rgba(174,50,77,.9)}
.image-studio-body{display:grid;gap:12px;padding:13px}
.image-caption-field{display:grid!important;gap:5px!important;font-size:.82rem!important}
.image-caption-field textarea{width:100%;border:1px solid #e1dbe5;border-radius:10px;padding:9px 10px;font:inherit;resize:vertical;min-height:72px}
.image-option-grid{display:flex;gap:6px;flex-wrap:wrap}
.image-option{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important;border:1px solid #e2dce6;border-radius:999px;padding:6px 9px;background:#fff;font-size:.74rem!important;font-weight:750!important;cursor:pointer;min-height:34px}
.image-option:has(input:checked){background:#f7ebf6;border-color:#deb7d9;color:#7d3174}
.image-option input{width:15px!important;height:15px!important;min-height:0!important;margin:0!important;accent-color:var(--primary)}
.image-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:3px}
.image-order-actions{display:flex;gap:5px}
.image-manager-savebar{position:sticky;bottom:10px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ded5e4;border-radius:15px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);padding:10px 11px;box-shadow:0 12px 36px rgba(48,28,56,.13)}
.empty-image-state{text-align:center;border:1.5px dashed #d9ccdf;border-radius:18px;padding:28px 20px;background:#fdfafd}
.empty-image-state>div{width:48px;height:48px;border-radius:50%;margin:0 auto 9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--blue));color:#fff;font-size:1.6rem}
.empty-image-state h3{margin:0 0 4px}.empty-image-state p{margin:0;color:var(--muted-ink);font-size:.86rem}

/* Upload studio */
.upload-panel.upload-studio{margin-top:26px;padding:18px;border:1px solid #e6deea;border-radius:18px;background:linear-gradient(145deg,#fdfafd,#f6fbfd)}
.upload-studio-heading h3{margin:0 0 2px;font-size:1.08rem}
.upload-studio-heading p{margin:0 0 14px;color:var(--muted-ink);font-size:.82rem}
.upload-form{display:grid;gap:13px}
.upload-dropzone{position:relative;display:grid!important;place-items:center;min-height:190px;border:1.5px dashed #cbb9d4;border-radius:16px;background:rgba(255,255,255,.76);overflow:hidden;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}
.upload-dropzone:hover,.upload-dropzone.is-dragover{border-color:var(--primary);background:#fff7fd;transform:translateY(-1px)}
.upload-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.upload-dropzone-empty{display:grid;place-items:center;text-align:center;gap:3px;padding:28px 16px}
.upload-dropzone-empty b{font-size:1rem;color:#633960}
.upload-dropzone-empty small{font-size:.8rem;color:var(--muted-ink)}
.upload-dropzone-empty em{margin-top:7px;font-size:.72rem;color:#887b8a;font-style:normal}
.upload-preview{width:100%;display:grid;grid-template-columns:minmax(120px,42%) 1fr;align-items:center;gap:14px;padding:10px;text-align:left}
.upload-preview[hidden]{display:none!important}
.upload-preview img{width:100%;height:165px;object-fit:contain;border-radius:11px;background:#f1edf3}
.upload-preview>span{display:grid;gap:4px;min-width:0}
.upload-preview b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upload-preview small{color:var(--muted-ink)}
.upload-preview em{font-size:.74rem;color:#8d4b88;font-style:normal;font-weight:700}
.upload-form-fields{display:grid;gap:10px}
.upload-form-fields>label{display:grid!important;gap:5px!important}
.upload-options{margin-top:2px}
.upload-progress{min-height:20px;font-size:.78rem;color:#6f6372;font-weight:650}
.upload-submit{justify-self:start;min-width:150px}
.image-panel-footer{margin-top:20px}

/* Broad mobile usability improvements */
@media(max-width:900px){
  .profile-editor-layout{grid-template-columns:160px minmax(0,1fr);gap:12px}
  .editor-stepper{top:68px}
  .image-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .shell{width:calc(100% - 20px)}
  .page{padding-top:16px;padding-bottom:42px}
  section{margin:18px 0}
  .button{min-height:44px;padding:9px 13px}
  .button.small{min-height:36px;padding:6px 9px}
  .section-heading,.profile-title,.editor-page-heading{flex-direction:column;align-items:stretch;gap:10px}
  .section-heading>.button-row,.editor-page-heading>.button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-heading>.button-row .button,.editor-page-heading>.button-row .button{width:100%}
  .profile-editor-layout{display:block}
  .editor-stepper{position:sticky;top:52px;z-index:35;display:flex;gap:6px;overflow-x:auto;margin:0 -10px 10px;padding:8px 10px;border-width:1px 0;border-radius:0;box-shadow:0 5px 18px rgba(50,30,58,.06);scroll-snap-type:x proximity;scrollbar-width:none}
  .editor-stepper::-webkit-scrollbar{display:none}
  .editor-stepper button{flex:0 0 auto;display:flex;grid-template-columns:none;gap:6px;min-height:39px;padding:5px 9px;border:1px solid transparent;border-radius:999px;scroll-snap-align:center;white-space:nowrap}
  .editor-stepper button span{width:25px;height:25px;font-size:.68rem}
  .editor-stepper button em{display:none}
  .editor-stepper button.is-active{border-color:#e8cee4;background:#fff2fb}
  .editor-section.editor-panel{border-radius:16px;padding:16px 14px;box-shadow:0 5px 18px rgba(54,35,64,.04)}
  .editor-panel-heading{margin-bottom:16px;padding-bottom:14px}
  .editor-panel-heading h2{font-size:1.38rem}
  .editor-form .form-grid,.editor-choice-grid{grid-template-columns:1fr}
  .editor-form input,.editor-form textarea,.editor-form select,.upload-form textarea{font-size:16px}
  .editor-panel-footer{position:sticky;bottom:0;z-index:7;margin:20px -14px -16px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid #e8e1eb;border-radius:0 0 16px 16px}
  .editor-panel-footer>.button-row{display:flex;flex:1;justify-content:flex-end}
  .editor-panel-footer .button{min-width:0}
  .editor-panel-footer .button.primary{flex:1}
  .editor-save-status{display:none}
  .image-editor-grid{grid-template-columns:1fr}
  .image-studio-card{border-radius:15px}
  .image-studio-media{aspect-ratio:16/10}
  .image-drag-handle{display:none}
  .image-manager-toolbar{align-items:flex-start;flex-direction:column}
  .image-manager-savebar{bottom:8px;padding:9px}
  .image-manager-savebar .muted{display:none}
  .image-manager-savebar .button{width:100%}
  .upload-panel.upload-studio{padding:14px;margin-top:20px}
  .upload-dropzone{min-height:165px}
  .upload-preview{grid-template-columns:110px 1fr;gap:10px}
  .upload-preview img{height:125px}
  .upload-submit{width:100%}
  .image-panel-footer{position:static;margin:20px 0 0;padding:14px 0 0;background:transparent;backdrop-filter:none;border-radius:0}
  .profile-strip{margin-inline:-10px;padding-inline:10px;scroll-snap-type:x mandatory}
  .profile-image-button{scroll-snap-align:start}
  .profile-image-button img{height:min(62vw,300px);max-width:86vw}
  .profile-image-button span{opacity:1;font-size:.68rem}
  .term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .record-grid,.social-links{grid-template-columns:1fr}
  .admin-card{padding:14px;border-radius:12px}
  .admin-table-wrap{margin-inline:-10px;width:calc(100% + 20px);border-left:0;border-right:0;border-radius:0}
  .admin-nav{margin-inline:-10px;padding-inline:10px}
}
@media(max-width:520px){
  .editor-page-heading>.button-row,.section-heading>.button-row{grid-template-columns:1fr}
  .editor-notice{align-items:flex-start;flex-direction:column;gap:2px}
  .editor-section.editor-panel{padding-inline:12px}
  .editor-panel-footer{margin-inline:-12px}
  .editor-panel-footer>.button-row{gap:6px}
  .editor-panel-footer .button{font-size:.82rem;padding-inline:10px}
  .editor-choice{padding:12px}
  .image-studio-body{padding:11px}
  .image-card-actions{align-items:stretch;flex-direction:column}
  .image-order-actions{display:grid;grid-template-columns:1fr 1fr}
  .image-card-actions>.danger-outline{width:100%}
  .upload-preview{grid-template-columns:1fr;text-align:center}
  .upload-preview img{height:180px}
  .upload-preview>span{text-align:center}
  .image-option-grid{gap:5px}
  .image-option{padding-inline:8px}
}


/* QuAD Phase 7C — four-tab profile system */
.profile-field-note{display:block;margin-top:5px;color:var(--muted-ink);font-size:.76rem;line-height:1.42;font-weight:500}.required-mark{display:inline-flex;align-items:center;padding:2px 6px;margin-left:5px;border-radius:999px;background:#fff0f8;color:#9b2d7d;font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.editor-subsection{margin-top:24px;padding-top:20px;border-top:1px solid #eee8f1}.editor-subsection h3{margin:0 0 10px}.nsfw-choice{border:1px solid #e2dae6;border-radius:14px;padding:14px;margin:18px 0 0}.nsfw-choice legend{font-weight:800;padding:0 5px}.nsfw-choice>label{display:inline-flex!important;align-items:center;gap:7px!important;margin:8px 18px 0 0;font-weight:700!important}.additional-locations,.link-pair-editor{margin-top:18px}.additional-location-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.additional-location-heading h3{margin:0}.mini-plus{width:34px;height:34px;border-radius:50%;border:1px solid #d9cfe0;background:#fff;color:#643d68;font-size:1.35rem;line-height:1;cursor:pointer}.additional-location-row,.link-pair-row{display:grid;grid-template-columns:1fr 1fr 36px;gap:9px;align-items:end;margin-top:10px;padding:10px;border:1px solid #e8e0eb;border-radius:13px;background:#fcfafc}.icon-remove{width:34px;height:42px;border:0;background:transparent;color:#9e2447;font-size:1.35rem;cursor:pointer}.editor-step-disabled{display:flex;align-items:center;gap:8px;opacity:.45;padding:9px 10px}.editor-step-disabled>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid currentColor}.profile-completion-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:16px;border:1px solid #efd0df;border-radius:16px;background:#fff7fb}.profile-completion-banner p{margin:3px 0 0;color:var(--muted-ink)}.profile-completion-banner>span{font-weight:850;background:#f56cc6;color:#fff;padding:6px 10px;border-radius:999px}.empty-image-state.no-plus{padding-block:22px}.profile-icon-picker{margin:24px 0;padding:18px;border:1px solid #e5ddea;border-radius:18px;background:#fdfafd}.profile-icon-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.profile-icon-choice input{position:absolute;opacity:0}.profile-icon-choice>span{display:grid;place-items:center;gap:6px;padding:10px;border:1.5px solid #e3dbe7;border-radius:14px;background:#fff;cursor:pointer}.profile-icon-choice input:checked+span{border-color:var(--pink);box-shadow:0 0 0 3px rgba(245,108,198,.12)}.profile-icon-art{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--pink),var(--blue));color:#fff;font-size:2rem}.artist-profile-icon{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,#fff0f8,#edfaff)}.artist-profile-icon>span{display:grid;place-items:center;width:42%;aspect-ratio:1;border-radius:28%;background:linear-gradient(135deg,var(--pink),var(--blue));color:#fff;font-size:clamp(2rem,6vw,4.8rem)}.profile-icon-hero-wrap{display:grid;place-items:center;margin:0 0 24px}.profile-icon-hero{display:grid;place-items:center;width:min(280px,70vw);aspect-ratio:1;border-radius:28%;background:linear-gradient(135deg,var(--pink),var(--blue));color:#fff;font-size:clamp(5rem,20vw,9rem)}.instagram-request-callout{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#fff0f8,#eefaff)}.instagram-request-callout h3{margin:0 0 3px}.instagram-request-callout p{margin:0;color:var(--muted-ink)}.instagram-public-history{display:grid;gap:8px}.instagram-public-history article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}.instagram-public-history p{margin:.25rem 0 0}.instagram-designer{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:18px}.instagram-image-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.instagram-image-picker label{position:relative}.instagram-image-picker input{position:absolute;top:6px;left:6px;z-index:2}.instagram-image-picker img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.instagram-image-picker input:not(:checked)+img{opacity:.35;filter:grayscale(.5)}.instagram-request-submit{display:flex;align-items:center;justify-content:space-between;gap:16px}.link-pair-editor+.link-pair-editor{margin-top:26px}
@media(max-width:760px){.profile-icon-options{grid-template-columns:repeat(2,minmax(0,1fr))}.additional-location-row,.link-pair-row{grid-template-columns:1fr 1fr 32px;padding:8px}.instagram-request-callout,.instagram-request-submit{align-items:stretch;flex-direction:column}.instagram-request-callout .button,.instagram-request-submit .button{width:100%}.instagram-designer{grid-template-columns:1fr}.instagram-image-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-editor-layout .editor-stepper{grid-auto-columns:minmax(95px,1fr)} }
@media(max-width:480px){.additional-location-row,.link-pair-row{grid-template-columns:1fr 34px}.additional-location-row label:nth-child(2),.link-pair-row label:nth-child(2){grid-column:1}.additional-location-row .icon-remove,.link-pair-row .icon-remove{grid-column:2;grid-row:1/3;align-self:center}.instagram-image-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* QuAD Phase 7D — editorial catalogue design + condensed image studio */
:root{--display-font:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--ui-font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ink:#171219;--paper:#fffdf9}
body{font-family:var(--ui-font);background:var(--paper)}
h1,.page h2,.hero h1,.section-heading h1{font-family:var(--display-font);font-weight:650;letter-spacing:-.025em}
.eyebrow,.badge,.filter-label,.editor-step-label{font-family:var(--ui-font);letter-spacing:.09em;text-transform:uppercase}
.artist-card{border-radius:8px;box-shadow:none;border-color:#ded8de}.artist-card:hover{box-shadow:0 10px 34px rgba(33,21,35,.09);transform:translateY(-3px)}
.artist-card-copy{border-top:1px solid #eee8ee;padding:12px}.artist-card-copy h3{font-family:var(--display-font);font-size:1.08rem;letter-spacing:-.015em}
.artist-name-placeholder{width:100%;height:100%;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(145deg,#fff5fb 0%,#f4fbff 65%,#fffdf9 100%);border-bottom:1px solid #eee4ed}.artist-name-placeholder span{font-family:var(--display-font);font-size:clamp(1.55rem,4vw,2.8rem);line-height:.98;font-weight:650;color:#251d26;max-width:90%;overflow-wrap:anywhere}
.compact-add-images{white-space:nowrap}.compact-upload-panel{padding:12px;border:1px solid #e6dce7;border-radius:12px;background:#fbf8fb;margin:0 0 18px}.compact-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.compact-file-picker{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px dashed #cbb9d4!important;border-radius:10px!important;padding:12px!important;background:white!important;cursor:pointer!important}.compact-file-picker input{position:absolute;opacity:0;pointer-events:none}.compact-file-picker span{display:grid}.compact-file-picker strong{font-size:.9rem}.compact-file-picker small{font-size:.72rem;color:var(--muted-ink)}.compact-nsfw{min-height:44px}.compact-upload-form .upload-progress{grid-column:1/-1}.compact-upload-form .upload-submit{grid-column:1/-1;justify-self:start}.already-uploaded-heading{display:flex;align-items:end;justify-content:space-between;padding:4px 0 10px}.already-uploaded-heading h3,.already-uploaded-heading p{margin:0}.empty-image-state.no-plus{border:1px dashed #d8cdd9;border-radius:12px;background:#fff;padding:24px}
.instagram-guideline-note{margin:0 0 18px;padding:15px 17px;border-left:5px solid var(--pink);background:#fff6fb}.instagram-guideline-note p{margin:.35rem 0 0}.instagram-request-builder{display:grid;gap:16px}.instagram-builder-step{position:relative}.slide-step-number{display:inline-flex;margin-bottom:7px;padding:4px 8px;border-radius:999px;background:#f0eaf2;color:#715e73;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.selection-count{font-weight:800;color:#6e4d6b}.about-builder{display:grid;gap:10px}.about-builder fieldset{border:0;padding:0;margin:8px 0;display:flex;gap:18px}.fixed-final-slide{background:linear-gradient(135deg,rgba(245,108,198,.09),rgba(19,171,221,.09))}.contact-form{display:grid;gap:14px}
.admin-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.health-score{padding:18px;border:1px solid var(--border);border-radius:12px;background:white}.health-score strong{display:block;font-family:var(--display-font);font-size:2rem}.health-list{display:grid;gap:8px}.health-list article{padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:white}.edit-summary{font-size:.82rem;color:var(--muted-ink)}
@media(max-width:760px){.compact-upload-form{grid-template-columns:1fr}.compact-upload-form .upload-submit{width:100%}.image-studio-heading{align-items:stretch}.compact-add-images{width:100%}.admin-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instagram-image-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.admin-health-grid{grid-template-columns:1fr}.instagram-image-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* QuAD Phase 7E — quirky queer art gallery visual system */
:root{
  --pink:#ff4fb5;
  --primary:#ff4fb5;
  --blue:#00b7f0;
  --purple:#8a5cff;
  --lime:#c9f44b;
  --yellow:#ffd84d;
  --ink:#161616;
  --muted-ink:#69636a;
  --paper:#fffaf2;
  --soft:#fff1fa;
  --soft-blue:#eefbff;
  --border:#1b1b1b;
  --danger:#c92e57;
  --shadow:4px 4px 0 #161616;
  --radius:8px;
  --display-font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --ui-font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
body{background:var(--paper);color:var(--ink);font-family:var(--ui-font)}
h1,.page h2,.hero h1,.section-heading h1{font-family:var(--display-font);font-weight:950;letter-spacing:-.045em}
a{color:#6d39d9;text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:#c72b91}

/* Header: compact, graphic, gallery-sign feel */
.site-header{background:rgba(255,250,242,.96);border-bottom:3px solid var(--ink);backdrop-filter:blur(12px)}
.nav-shell{min-height:62px}
.brand{font-size:1.45rem;font-weight:1000;letter-spacing:-.07em;transform:rotate(-1deg);display:inline-block;color:var(--ink)}
.brand span{color:var(--pink)}.brand b{color:var(--blue)}
.main-nav{gap:6px}
.main-nav a,.nav-link-button{border:2px solid transparent;border-radius:6px;color:var(--ink);font-weight:850;padding:7px 10px}
.main-nav a:hover,.main-nav a.active{background:var(--yellow);border-color:var(--ink);color:var(--ink);text-decoration:none}
.main-nav .nav-secondary{border:2px solid var(--ink);background:#fff}
.nav-toggle{border:2px solid var(--ink);border-radius:6px;background:var(--pink);color:#111;font-weight:900;box-shadow:2px 2px 0 var(--ink)}

/* Home hero: art-fair poster rather than corporate masthead */
.hero{border-bottom:3px solid var(--ink);background:
  radial-gradient(circle at 7% 24%,rgba(255,79,181,.22) 0 8%,transparent 8.5%),
  radial-gradient(circle at 92% 24%,rgba(0,183,240,.18) 0 9%,transparent 9.5%),
  linear-gradient(118deg,#fffaf2 0 46%,#fff3fb 46% 68%,#eefbff 68% 100%)}
.hero-inner{text-align:left;padding:54px 16px 48px;max-width:980px}
.hero h1{font-size:clamp(3rem,8vw,6.2rem);line-height:.86;max-width:850px;text-wrap:balance;text-transform:none}
.hero .count{display:inline-block;margin:18px 0 2px;padding:6px 10px;background:var(--lime);border:2px solid var(--ink);color:var(--ink);font-weight:950;transform:rotate(-1deg)}
.hero-copy{margin:16px 0 0;max-width:690px;font-size:clamp(1rem,2vw,1.2rem);font-weight:750}
.hero-actions{justify-content:flex-start;margin-top:22px}
.hero-note{margin:18px 0 0;max-width:700px}

/* Buttons: sticker / ticket language */
.button{border:2px solid var(--ink);border-radius:6px;background:#fff;color:var(--ink);font-weight:900;box-shadow:2px 2px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.button:hover{background:var(--yellow);color:var(--ink);text-decoration:none;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}
.button:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}
.button.primary{background:var(--pink);border-color:var(--ink);color:#111}
.button.primary:hover{background:#ff79c8}
.button.ghost{border:0;box-shadow:none;background:transparent;text-decoration:underline;text-underline-offset:3px}
.button.ghost:hover{background:transparent;transform:none;box-shadow:none;color:#c72b91}

/* Search / filters: tags from a gallery wall */
.search-input,.stack-form input,.newsletter-form input,.editor-form input,.editor-form textarea,.editor-form select,.upload-form textarea{border:2px solid var(--ink);border-radius:6px;background:#fff}
.search-input:focus,.stack-form input:focus,.newsletter-form input:focus,.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus,.upload-form textarea:focus{border-color:var(--ink);box-shadow:3px 3px 0 rgba(0,183,240,.45);outline:none}
.filter-menu summary,.toggle-pill,.chip{border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);font-weight:850}
.filter-menu summary:hover,.toggle-pill:hover,.chip:hover{background:var(--soft-blue);text-decoration:none}
.filter-menu:nth-of-type(3n+1) summary{background:#fff1fa}.filter-menu:nth-of-type(3n+2) summary{background:#eefbff}.filter-menu:nth-of-type(3n) summary{background:#f6ffd8}
.filter-options{border:2px solid var(--ink);border-radius:7px;box-shadow:4px 4px 0 var(--ink)}
.filter-options label:hover{background:var(--yellow)}
.chip.active{background:var(--blue);border-color:var(--ink);color:#111}

/* Artist cards: slightly wonky pinned-up gallery labels */
.artist-grid{gap:18px}
.artist-card{position:relative;border:2px solid var(--ink);border-radius:5px;box-shadow:none;background:#fff;overflow:hidden;transform-origin:center;transition:transform .14s ease,box-shadow .14s ease}
.artist-card:nth-child(8n+1){transform:rotate(-.45deg)}
.artist-card:nth-child(8n+3){transform:rotate(.35deg)}
.artist-card:nth-child(8n+5){transform:rotate(-.2deg)}
.artist-card:nth-child(8n+7){transform:rotate(.5deg)}
.artist-card:hover{transform:translate(-2px,-3px) rotate(0);box-shadow:5px 6px 0 var(--ink);z-index:2}
.artist-card-image{background:#f4efe7}
.artist-card-copy{padding:11px 12px 12px;border-top:2px solid var(--ink);min-height:94px}
.artist-card:nth-child(4n+1) .artist-card-copy{background:#fff0f8}
.artist-card:nth-child(4n+2) .artist-card-copy{background:#eefbff}
.artist-card:nth-child(4n+3) .artist-card-copy{background:#fbffe8}
.artist-card:nth-child(4n) .artist-card-copy{background:#fff8d9}
.artist-card-copy h3{font-family:var(--ui-font);font-size:1rem;font-weight:950;letter-spacing:-.025em}
.artist-name-placeholder{background:linear-gradient(145deg,#ff4fb5 0 52%,#00b7f0 52%);border-bottom:0;color:#111;align-items:flex-end}
.artist-name-placeholder span{font-family:var(--ui-font);font-size:clamp(1.4rem,4vw,2.5rem);font-weight:1000;color:#111;text-shadow:none;background:#fffaf2;border:2px solid #111;padding:7px 9px;line-height:.95;transform:rotate(-1deg)}

/* Badges and section labels */
.badge{border-radius:4px;border:1.5px solid var(--ink);font-weight:900;padding:3px 6px}
.badge.neutral{background:#fff;color:#222}.badge.blue{background:var(--blue);color:#111}.badge.pink{background:var(--pink);color:#111}.badge.danger{background:#ffd9e4;color:#8d1434}
.section-bar{display:inline-block;border:2px solid var(--ink);border-radius:3px;padding:6px 10px;background:var(--pink);color:#111;font-size:.78rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase;box-shadow:2px 2px 0 var(--ink)}
section:nth-of-type(even)>.section-bar{background:var(--blue)}
.term-grid a,.term-grid span{border:1.5px solid var(--ink);border-radius:4px;background:#fff;color:var(--ink);font-weight:750}
.term-grid a:hover{background:var(--lime);text-decoration:none}

/* Profile page: artwork first, label-like metadata */
.profile-title h1{font-size:clamp(2.2rem,5vw,4.2rem);font-weight:1000;letter-spacing:-.055em}
.profile-image-button img{border:2px solid var(--ink);border-radius:4px;background:#fff;box-shadow:3px 3px 0 var(--ink)}
.profile-image-button:nth-child(even) img{transform:rotate(.3deg)}
.profile-image-button:nth-child(odd) img{transform:rotate(-.25deg)}
.profile-image-button:hover img{transform:rotate(0) translateY(-2px)}
.record-card,.publication-record{border:2px solid var(--ink);border-radius:5px;background:#fff}
.record-card:hover{background:#fff8d9;box-shadow:3px 3px 0 var(--ink)}

/* Gallery / Library / Collections */
.gallery-grid{gap:14px}.gallery-item{border:2px solid var(--ink);border-radius:4px;background:#fff;box-shadow:none}.gallery-item:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-2px)}
.gallery-item span{border-top:2px solid var(--ink);font-weight:900;background:#fff}
.library-grid{gap:15px}.publication-card{border:2px solid var(--ink);border-radius:5px;background:#fff}.publication-card:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-2px)}
.publication-cover{border-bottom:2px solid var(--ink);background:linear-gradient(135deg,var(--pink),var(--blue));color:#111;font-family:var(--ui-font);font-weight:1000;font-size:clamp(1.8rem,5vw,3.4rem)}
.publication-copy h3{font-size:.82rem;font-weight:950}
.library-list-item{border:2px solid var(--ink);border-radius:5px;background:#fff}.library-list-item:hover{background:#eefbff}
.collection-grid{gap:20px}.collection-card{border:2px solid var(--ink);border-radius:5px;background:#fff}.collection-card:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}
.collection-card:nth-child(3n+1)>div:last-child{background:#fff0f8}.collection-card:nth-child(3n+2)>div:last-child{background:#eefbff}.collection-card:nth-child(3n)>div:last-child{background:#fbffe8}
.collection-card h2{font-size:1.2rem;font-weight:1000;letter-spacing:-.03em}

/* Calls to action feel like physical notes */
.soft-callout,.info-panel,.profile-action,.filter-notice{border:2px solid var(--ink);border-radius:5px;background:#fff;box-shadow:3px 3px 0 var(--ink)}
.flash{border:2px solid var(--ink);border-radius:5px;box-shadow:2px 2px 0 var(--ink)}
.flash.success{background:#eaffb6;color:#1c4d00}.flash.error{background:#ffdbe6;color:#821633}

/* Footer */
.site-footer{border-top:3px solid var(--ink);background:#111;color:#fff}
.site-footer a,.site-footer .muted,.site-footer .disclaimer,.site-footer p{color:#eee}
.site-footer .newsletter-form input{border-color:#fff;color:#111}
.site-footer .button{border-color:#fff;box-shadow:2px 2px 0 #fff}

/* Account / editor / admin: same family, intentionally calmer */
.account-panel,.editor-page,.admin-page{--border:#d8d3d7;--shadow:0 8px 24px rgba(30,20,35,.07)}
.account-profile-card,.request-list article,.editor-section.editor-panel,.editor-stepper,.image-studio-card,.admin-card,.admin-stat,.admin-table-wrap,.vocab-item,.health-score,.health-list article{border-color:#d8d3d7;box-shadow:none;border-radius:8px;background:#fff}
.editor-page-heading h1,.admin-heading h1,.account-panel h1{font-family:var(--ui-font);font-weight:950;letter-spacing:-.035em}
.editor-stepper{border:1px solid #d8d3d7}
.editor-stepper button{border-radius:6px;font-weight:800}
.editor-stepper button.is-active{background:#111;color:#fff}
.editor-stepper button.is-active span{background:var(--pink);color:#111;border:1px solid #fff}
.editor-section.editor-panel{box-shadow:0 8px 24px rgba(35,25,38,.055)}
.editor-panel-heading{border-color:#e8e3e7}
.editor-choice,.nsfw-choice,.additional-location-row,.link-pair-row,.image-manager-toolbar,.compact-upload-panel,.empty-image-state.no-plus{border-color:#d8d3d7;border-radius:7px}
.editor-choice:hover{background:#f9f7f9;border-color:#aaa2aa}
.image-studio-card{border:1px solid #cfc9ce}
.image-studio-media{background:#f3f1f2}
.image-badge{border:1px solid rgba(255,255,255,.7)}
.image-manager-savebar{border:1px solid #cfc9ce;border-radius:8px}
.compact-file-picker,.upload-dropzone{border:2px dashed #8e858d!important;border-radius:7px!important}
.admin-nav a{border:1px solid #ccc5cb;border-radius:5px;background:#fff;color:#222}
.admin-nav a:hover,.admin-nav a.active{background:#111;border-color:#111;color:#fff}
.admin-stat strong{color:#cf2c92}
.admin-table th{background:#f3f1f3;color:#514b50}
.eyebrow,.editor-step-label{font-family:var(--ui-font);font-weight:950;letter-spacing:.1em}

/* Mobile: retain personality without crooked/tiny interfaces */
@media(max-width:780px){
  .main-nav{border:2px solid var(--ink);border-radius:6px;box-shadow:4px 4px 0 var(--ink);background:var(--paper);padding:6px}
  .main-nav a,.nav-link-button{border-radius:4px;padding:9px 10px}
  .hero-inner{padding:36px 10px 34px}.hero h1{font-size:clamp(2.8rem,15vw,5rem)}
  .artist-card,.artist-card:nth-child(n){transform:none}.artist-card:hover{transform:translateY(-2px)}
  .artist-grid{gap:11px}
  .editor-stepper button.is-active{background:#111!important;color:#fff!important;border-color:#111!important}
}
@media(max-width:560px){
  .site-header{border-bottom-width:2px}.brand{font-size:1.3rem}
  .hero{border-bottom-width:2px}.hero-inner{text-align:left}.hero-copy{font-size:.95rem}
  .artist-card{border-width:1.5px}.artist-card-copy{border-top-width:1.5px}
  .artist-card-copy h3{font-size:.9rem}.artist-card-copy p{font-size:.72rem}
  .gallery-item,.publication-card,.collection-card{border-width:1.5px}
  .button{box-shadow:2px 2px 0 var(--ink)}
}

/* QuAD Phase 7E.2 — pastel quirky queer gallery palette
   Keeps the bright Phase 7E energy and graphic structure, but swaps neon accents for light pastels. */
:root{
  --pink:#f6a8d3;
  --primary:#f6a8d3;
  --blue:#92daf4;
  --purple:#c3aef4;
  --lime:#dff2a6;
  --yellow:#ffe6a3;
  --ink:#171517;
  --muted-ink:#6b656a;
  --paper:#fff9f2;
  --soft:#fff0f7;
  --soft-blue:#effaff;
  --border:#171517;
  --danger:#bd456d;
  --shadow:4px 4px 0 #171517;
}
body{background:var(--paper)}
a{color:#7057c8}a:hover{color:#b33c87}
.site-header{background:rgba(255,249,242,.96)}
.main-nav a:hover,.main-nav a.active{background:var(--yellow)}
.nav-toggle{background:var(--pink)}
.hero{background:
  radial-gradient(circle at 7% 24%,rgba(246,168,211,.38) 0 8%,transparent 8.5%),
  radial-gradient(circle at 92% 24%,rgba(146,218,244,.36) 0 9%,transparent 9.5%),
  linear-gradient(118deg,#fff9f2 0 46%,#fff0f7 46% 68%,#effaff 68% 100%)}
.button:hover{background:var(--yellow)}
.button.primary{background:var(--pink)}
.button.primary:hover{background:#f9bfe0}
.button.ghost:hover{color:#b33c87}
.search-input:focus,.stack-form input:focus,.newsletter-form input:focus,.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus,.upload-form textarea:focus{box-shadow:3px 3px 0 rgba(146,218,244,.62)}
.filter-menu:nth-of-type(3n+1) summary{background:#fff0f7}
.filter-menu:nth-of-type(3n+2) summary{background:#effaff}
.filter-menu:nth-of-type(3n) summary{background:#f5fbdc}
.filter-options label:hover{background:#fff3c8}
.artist-card-image{background:#f7f0e9}
.artist-card:nth-child(4n+1) .artist-card-copy{background:#fff0f7}
.artist-card:nth-child(4n+2) .artist-card-copy{background:#effaff}
.artist-card:nth-child(4n+3) .artist-card-copy{background:#f5fbdc}
.artist-card:nth-child(4n) .artist-card-copy{background:#fff4d6}
.artist-name-placeholder{background:linear-gradient(145deg,#f6a8d3 0 52%,#92daf4 52%)}
.artist-name-placeholder span{background:#fff9f2}
.badge.blue{background:var(--blue)}
.badge.pink{background:var(--pink)}
.badge.danger{background:#ffe0ea;color:#82304f}
.record-card:hover{background:#fff4d6}
.library-list-item:hover{background:#effaff}
.collection-card:nth-child(3n+1)>div:last-child{background:#fff0f7}
.collection-card:nth-child(3n+2)>div:last-child{background:#effaff}
.collection-card:nth-child(3n)>div:last-child{background:#f5fbdc}
.flash.success{background:#eff9cf;color:#315021}
.flash.error{background:#ffe0ea;color:#7d304a}
.site-footer{background:#191719}
.admin-stat strong{color:#b74387}
.editor-stepper button.is-active span{background:var(--pink)}

/* QuAD Phase 7E.3 — white gallery canvas + stronger branding
   Keeps the Phase 7E.2 pastel quirky-gallery system while restoring a bolder logo/title. */
:root{
  --paper:#ffffff;
}
body{background:#fff}
.site-header{background:rgba(255,255,255,.97)}
.hero{background:#fff}
.brand{
  font-size:1.72rem;
  font-weight:1000;
  letter-spacing:-.085em;
  line-height:.9;
}
.hero h1{
  font-size:clamp(3.4rem,8.8vw,6.8rem);
  font-weight:1000;
  letter-spacing:-.07em;
  line-height:.84;
}
.artist-name-placeholder span{background:#fff}
@media(max-width:780px){
  .main-nav{background:#fff}
}
@media(max-width:560px){
  .brand{font-size:1.48rem}
  .hero h1{font-size:clamp(3rem,15vw,5.2rem)}
}

/* QuAD Phase 7E.4 — single-accent gallery palette
   Keeps the white/pastel quirky-gallery structure while removing competing pink/blue/yellow/green UI backgrounds.
   Pink + blue remain brand colours in the QuAD logo/title; interface surfaces use one quiet lavender. */
:root{
  --gallery-accent:#f1edfa;
  --gallery-accent-strong:#e6def6;
  --gallery-accent-hover:#ebe5f8;
}

/* Navigation + controls: one consistent surface colour */
.main-nav a:hover,.main-nav a.active,
.filter-menu:nth-of-type(3n+1) summary,
.filter-menu:nth-of-type(3n+2) summary,
.filter-menu:nth-of-type(3n) summary,
.filter-options label:hover,
.toggle-pill,
.chip,
.view-switch a.active{
  background:var(--gallery-accent);
  color:var(--ink);
}
.nav-toggle{background:var(--gallery-accent);color:var(--ink)}
.button:hover{background:var(--gallery-accent-hover)}
.button.primary{background:#111;color:#fff;border-color:#111}
.button.primary:hover{background:#292529;color:#fff}
.button.ghost:hover{color:#5f4d79}
.chip.active{background:#111;color:#fff;border-color:#111}

/* Public cards: one pastel accent, no alternating candy colours */
.artist-card:nth-child(4n+1) .artist-card-copy,
.artist-card:nth-child(4n+2) .artist-card-copy,
.artist-card:nth-child(4n+3) .artist-card-copy,
.artist-card:nth-child(4n) .artist-card-copy,
.collection-card:nth-child(3n+1)>div:last-child,
.collection-card:nth-child(3n+2)>div:last-child,
.collection-card:nth-child(3n)>div:last-child{
  background:var(--gallery-accent);
}
.artist-card-image{background:#f6f4f8}
.artist-name-placeholder{
  background:var(--gallery-accent);
}
.artist-name-placeholder span{
  background:#fff;
  color:#111;
}

/* Metadata + section labels */
.badge.blue,.badge.pink,.badge.neutral{
  background:var(--gallery-accent);
  color:#111;
}
.section-bar,
section:nth-of-type(even)>.section-bar{
  background:var(--gallery-accent);
  color:#111;
}
.term-grid a,.term-grid span{background:#fff}
.term-grid a:hover{background:var(--gallery-accent)}

/* Library + content placeholders */
.publication-cover{
  background:var(--gallery-accent);
  color:#111;
}
.record-card:hover,
.library-list-item:hover{
  background:var(--gallery-accent);
}
.collection-placeholder{background:var(--gallery-accent);color:#6b5e7c}

/* Callouts use the same quiet accent instead of pink/blue washes */
.soft-callout,.info-panel,.profile-action,.filter-notice,
.instagram-guideline-note,.fixed-final-slide,
.profile-completion-banner,.instagram-request-callout{
  background:var(--gallery-accent);
}
.instagram-guideline-note{border-left-color:#111}

/* Keep account/admin functional and visually quiet */
.editor-stepper button.is-active span{background:var(--gallery-accent);color:#111}
.editor-stepper button.is-active{background:#111;color:#fff}
.admin-stat strong{color:#5f4d79}

/* Remove residual colourful background treatments from empty/utility states */
.empty-image-state,
.upload-panel.upload-studio,
.compact-upload-panel,
.profile-icon-picker,
.artist-profile-icon,
.profile-icon-hero,
.profile-icon-art{
  background:var(--gallery-accent);
}

@media(max-width:780px){
  .main-nav{background:#fff}
}


/* QuAD Phase 7F — restrained two-tone artist cards + Resources */
:root{
  --card-pink:#fff7fb;
  --card-blue:#f5fbff;
  --resource-green:#f5fbf6;
}

/* Two consistent, barely-there card surfaces. Artwork remains the strongest colour. */
.artist-card-image{background:var(--card-pink);padding:5px}
.artist-card-image img{border:1px solid rgba(23,21,23,.12)}
.artist-card-copy,
.artist-card:nth-child(4n+1) .artist-card-copy,
.artist-card:nth-child(4n+2) .artist-card-copy,
.artist-card:nth-child(4n+3) .artist-card-copy,
.artist-card:nth-child(4n) .artist-card-copy{background:var(--card-blue)}
.artist-name-placeholder{background:var(--card-pink);padding:8px;align-items:center;justify-content:center}
.artist-name-placeholder span{display:block;width:100%;max-width:100%;white-space:nowrap;overflow:visible;text-align:center;transform:none;padding:5px 4px;background:transparent;border:0;line-height:1}
.artist-card-copy h3{display:block;width:100%;white-space:nowrap;overflow:visible;text-overflow:clip}

/* Filters close cleanly after a selection/reload and have an explicit close control. */
.filter-options{padding-top:6px}
.filter-options-head{position:sticky;top:-8px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-bottom:1px solid #e8e2e8;padding:7px 5px 8px;margin:-1px -1px 5px}
.filter-close{width:30px;height:30px;display:grid;place-items:center;border:1.5px solid var(--ink);background:#fff;border-radius:50%;font:900 1.15rem/1 var(--ui-font);cursor:pointer}
.filter-close:hover{background:var(--card-pink)}

/* Resources */
.resources-hero{max-width:820px;margin-bottom:26px}
.resources-hero h1{font-size:clamp(2.2rem,6vw,4.6rem);line-height:.92;letter-spacing:-.055em;margin:.15em 0 .3em}
.resources-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:18px 0 24px}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.resource-card{border:2px solid var(--ink);border-radius:5px;background:#fff;display:flex;flex-direction:column;min-width:0}
.resource-card.is-featured{box-shadow:4px 4px 0 var(--ink)}
.resource-card-head{padding:12px 13px 10px;background:var(--card-pink);border-bottom:2px solid var(--ink)}
.resource-card-head h2{font-size:1.05rem;line-height:1.15;margin:4px 0 0}
.resource-card-body{padding:12px 13px;background:var(--card-blue);display:flex;flex-direction:column;gap:9px;flex:1}
.resource-card-body p{margin:0;font-size:.86rem}
.resource-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:.72rem;font-weight:800}
.resource-card .button{align-self:flex-start;margin-top:auto}
.resource-submit-callout{border:2px solid var(--ink);background:var(--resource-green);padding:18px;margin:28px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.resource-submit-callout h2{margin:0 0 4px;font-size:1.15rem}.resource-submit-callout p{margin:0;max-width:650px}
.resource-form-card{border:2px solid var(--ink);padding:18px;background:#fff;max-width:760px}
.resource-form-card textarea{width:100%;border:2px solid var(--ink);border-radius:4px;padding:10px;background:#fff}
.resource-form-card select{width:100%;border:2px solid var(--ink);border-radius:4px;padding:10px;background:#fff}
.resource-admin-submission{border:1px solid var(--border);padding:14px;margin:10px 0;background:#fff}
.resource-admin-submission h3{margin:0 0 4px}.resource-admin-submission p{margin:5px 0}

@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
  /* User-requested dense mobile browse: three artist cards across. */
  .artist-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .artist-card-image{padding:3px}
  .artist-card-copy{padding:6px 5px;min-height:48px;gap:1px}
  .artist-card-copy h3{font-size:.76rem;line-height:1.05}
  .artist-card-copy .badge-row{display:none}
  .artist-card-copy p{font-size:.62rem;line-height:1.1}
  .artist-name-placeholder{padding:3px}
  .artist-name-placeholder span{font-size:1rem}
  .resource-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .artist-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .artist-card-copy p{display:none}
  .artist-card-copy{min-height:34px;justify-content:center}
}

/* QuAD Phase 7F.1 — brand interaction states + live-filter feedback */
:root{
  /* Strong interaction colours always inherit the exact current QuAD logo colours. */
  --quad-brand-pink:var(--pink);
  --quad-brand-blue:var(--blue);
}

/* Artist cards stay quiet at rest, then use the real QuAD colours as interaction feedback. */
.artist-card:hover,
.artist-card:focus-visible,
.artist-card:active{
  background:var(--quad-brand-pink);
  border-color:var(--ink);
  box-shadow:5px 5px 0 var(--quad-brand-blue);
  transform:translate(-1px,-1px);
  outline:none;
}
.artist-card:hover .artist-card-image,
.artist-card:focus-visible .artist-card-image,
.artist-card:active .artist-card-image,
.artist-card:hover .artist-card-copy,
.artist-card:focus-visible .artist-card-copy,
.artist-card:active .artist-card-copy,
.artist-card:hover .artist-name-placeholder,
.artist-card:focus-visible .artist-name-placeholder,
.artist-card:active .artist-name-placeholder{
  background:var(--quad-brand-pink);
}
.artist-card:hover .artist-card-copy .muted,
.artist-card:focus-visible .artist-card-copy .muted,
.artist-card:active .artist-card-copy .muted{
  color:#2a1724;
}

/* Featured/highlight cards use brand blue rather than a generic black shadow. */
.resource-card.is-featured{
  box-shadow:5px 5px 0 var(--quad-brand-blue);
}
.resource-card:hover,
.resource-card:focus-within{
  border-color:var(--ink);
  box-shadow:5px 5px 0 var(--quad-brand-blue);
}
.resource-card:hover .resource-card-head,
.resource-card:hover .resource-card-body,
.resource-card:focus-within .resource-card-head,
.resource-card:focus-within .resource-card-body{
  background:var(--quad-brand-pink);
}

/* Main navigation: active/hovered/clicked items use the same interaction language. */
.main-nav a:hover,
.main-nav a.active,
.main-nav a:focus-visible,
.main-nav a:active{
  background:var(--quad-brand-pink);
  color:var(--ink);
  box-shadow:3px 3px 0 var(--quad-brand-blue);
  text-decoration:none;
  outline:none;
}

/* Live filtering only dims the artist-results region; controls/page remain untouched. */
.artist-results-region{
  position:relative;
  min-height:80px;
  transition:opacity .14s ease;
}
.artist-results-region.is-filtering{
  opacity:.46;
  pointer-events:none;
}
.artist-results-region.is-filtering::after{
  content:'Filtering…';
  position:absolute;
  top:4px;
  right:0;
  z-index:3;
  padding:5px 9px;
  border:1.5px solid var(--ink);
  background:#fff;
  box-shadow:3px 3px 0 var(--quad-brand-blue);
  font-size:.72rem;
  font-weight:900;
}

@media(max-width:780px){
  .artist-card:hover,.artist-card:focus-visible,.artist-card:active{box-shadow:3px 3px 0 var(--quad-brand-blue)}
  .main-nav a:hover,.main-nav a.active,.main-nav a:focus-visible,.main-nav a:active{box-shadow:2px 2px 0 var(--quad-brand-blue)}
}


/* QuAD Phase 7F.2 — single source of truth for brand colours.
   Strong pink/blue accents inherit the same variables used by the header/logo.
   Quiet card surfaces remain intentionally pale tints. */
.brand span,.hero h1 span,.pink{color:var(--pink)}
.brand b,.hero h1 b,.blue{color:var(--blue)}

/* Strong brand surfaces */
.button.primary,.badge.pink{background:var(--pink)}
.badge.blue,.chip.active{background:var(--blue)}

/* Interaction language stays synchronized with the logo colours. */
.artist-card:hover,.artist-card:focus-visible,.artist-card:active,
.resource-card:hover .resource-card-head,.resource-card:hover .resource-card-body,
.resource-card:focus-within .resource-card-head,.resource-card:focus-within .resource-card-body,
.main-nav a:hover,.main-nav a.active,.main-nav a:focus-visible,.main-nav a:active{
  --quad-brand-pink:var(--pink);
  --quad-brand-blue:var(--blue);
}

/* QuAD Phase 7F.3 — no-image artists become intentional information cards. */
.artist-card.artist-info-card{
  display:block;
  background:var(--card-blue);
  border-color:var(--ink);
  min-height:100%;
  color:var(--ink);
  text-decoration:none;
}
.artist-info-card-inner{
  min-height:100%;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  background:var(--card-blue);
}
.artist-info-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  min-width:0;
}
.artist-info-kicker{
  font-size:.62rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.65;
  white-space:nowrap;
}
.artist-info-claimed{
  font-size:.62rem;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.artist-info-card h3{
  margin:8px 0 0;
  font-family:var(--ui-font);
  font-size:clamp(1.15rem,2.4vw,1.7rem);
  line-height:.96;
  font-weight:1000;
  letter-spacing:-.045em;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.artist-info-location,
.artist-info-mediums,
.artist-info-summary{margin:0}
.artist-info-location{
  font-size:.78rem;
  font-weight:800;
}
.artist-info-mediums{
  font-size:.76rem;
  line-height:1.25;
  font-weight:900;
}
.artist-info-summary{
  font-size:.77rem;
  line-height:1.35;
  opacity:.78;
  margin-top:3px;
}
.artist-info-footer{
  display:flex;
  align-items:flex-end;
  gap:7px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:10px;
  font-size:.67rem;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.artist-info-footer>span:first-child{margin-right:auto}
.artist-info-status{
  border:1px solid var(--ink);
  padding:4px 5px;
  background:#fff;
}

/* No pink interaction on no-image cards: stay pale blue, reveal only the QuAD-blue shadow. */
.artist-card.artist-info-card:hover,
.artist-card.artist-info-card:focus-visible,
.artist-card.artist-info-card:active{
  background:var(--card-blue);
  box-shadow:5px 5px 0 var(--quad-brand-blue);
  transform:translate(-1px,-1px) rotate(0);
  outline:none;
}
.artist-card.artist-info-card:hover .artist-info-card-inner,
.artist-card.artist-info-card:focus-visible .artist-info-card-inner,
.artist-card.artist-info-card:active .artist-info-card-inner{
  background:var(--card-blue);
}

/* List view does not reserve an empty thumbnail column. */
.artist-card-list.artist-info-card{
  grid-template-columns:1fr;
  min-height:118px;
}

@media(max-width:780px){
  .artist-info-card-inner{padding:7px 6px;gap:4px}
  .artist-info-kicker{font-size:.46rem;letter-spacing:.07em}
  .artist-info-claimed{font-size:.48rem}
  .artist-info-card h3{font-size:.79rem;line-height:1}
  .artist-info-location{font-size:.58rem}
  .artist-info-mediums{font-size:.56rem;line-height:1.15}
  .artist-info-summary{display:none}
  .artist-info-footer{padding-top:5px;font-size:.48rem;gap:3px}
  .artist-info-status{display:none}
}
@media(max-width:520px){
  .artist-info-card-top{display:none}
  .artist-info-card-inner{padding:6px 5px;min-height:105px}
  .artist-info-card h3{font-size:.72rem}
  .artist-info-mediums{font-size:.52rem}
  .artist-info-footer{font-size:.45rem}
}

/* QuAD Phase 7F.4 — uniform gallery cards with fixed nameplates + revealable overview. */
.artist-grid{
  align-items:stretch;
}
.artist-card.artist-gallery-card{
  display:flex;
  flex-direction:column;
  min-height:0;
  background:#fff;
  border:1.5px solid var(--ink);
  border-radius:0;
  overflow:visible;
  transform:none;
  box-shadow:none;
  text-decoration:none;
  color:var(--ink);
}
.artist-card.artist-gallery-card:hover,
.artist-card.artist-gallery-card:focus-within,
.artist-card.artist-gallery-card:active{
  background:#fff;
  transform:none;
  box-shadow:none;
}
.artist-gallery-visual{
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--card-pink);
  border-bottom:1.5px solid var(--ink);
}
.artist-gallery-image-link{
  position:absolute;
  inset:0;
  display:block;
  background:var(--card-pink);
}
.artist-gallery-image-link img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .18s ease,opacity .18s ease;
}
.artist-card-overview{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:stretch;
  color:var(--ink);
  background:rgba(245,251,255,.96);
  text-decoration:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(5px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s linear;
}
.artist-card-overview:hover{text-decoration:none}
.artist-card-overview-inner{
  width:100%;
  min-height:100%;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.artist-card-overview-kicker{
  font-size:.58rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.58;
}
.artist-card-overview-location,
.artist-card-overview-mediums,
.artist-card-overview-summary{margin:0}
.artist-card-overview-location{font-size:.74rem;font-weight:850}
.artist-card-overview-mediums{font-size:.78rem;line-height:1.24;font-weight:950}
.artist-card-overview-summary{
  font-size:.75rem;
  line-height:1.36;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
  opacity:.82;
}
.artist-card-view-button{
  align-self:flex-start;
  margin-top:auto;
  border:1.5px solid var(--ink);
  background:#fff;
  padding:6px 8px;
  font-size:.66rem;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
  box-shadow:3px 3px 0 var(--blue);
}
.artist-card-info-toggle{
  display:none;
  position:absolute;
  right:6px;
  top:6px;
  z-index:4;
  width:28px;
  height:28px;
  place-items:center;
  border:1.5px solid var(--ink);
  border-radius:50%;
  background:#fff;
  color:var(--ink);
  font:900 .95rem/1 var(--ui-font);
  cursor:pointer;
  box-shadow:2px 2px 0 var(--blue);
}
.artist-card-nameplate{
  min-height:66px;
  padding:9px 10px 8px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  background:var(--card-blue);
  color:var(--ink);
  text-decoration:none;
}
.artist-card-nameplate:hover{text-decoration:none}
.artist-card-nameplate h3{
  margin:0;
  width:100%;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  font-family:var(--ui-font);
  font-size:.94rem;
  line-height:1.04;
  font-weight:950;
  letter-spacing:-.028em;
}
.artist-card-nameplate p{
  margin:0;
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.65rem;
  line-height:1.15;
  font-weight:700;
  opacity:.7;
}

/* Desktop/hover-capable devices: image turns into the artist overview. */
@media(hover:hover) and (pointer:fine){
  .artist-gallery-card:not(.artist-gallery-card-no-image) .artist-gallery-visual:hover .artist-card-overview,
  .artist-gallery-card:not(.artist-gallery-card-no-image) .artist-gallery-visual:focus-within .artist-card-overview{
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .artist-gallery-card:not(.artist-gallery-card-no-image) .artist-gallery-visual:hover .artist-gallery-image-link img,
  .artist-gallery-card:not(.artist-gallery-card-no-image) .artist-gallery-visual:focus-within .artist-gallery-image-link img{
    transform:scale(1.015);
    opacity:.14;
  }
}

/* No-image artists use the same exact footprint, but the upper panel is information by design. */
.artist-gallery-card-no-image .artist-gallery-visual{background:var(--card-blue)}
.artist-gallery-card-no-image .artist-card-overview-static{
  opacity:1;
  visibility:visible;
  transform:none;
  background:var(--card-blue);
}
.artist-gallery-card-no-image:hover,
.artist-gallery-card-no-image:focus-within{
  box-shadow:4px 4px 0 var(--blue);
}

/* Quiet hover treatment on the nameplate; artwork/overview remains the focal point. */
.artist-gallery-card .artist-card-nameplate:hover,
.artist-gallery-card .artist-card-nameplate:focus-visible{
  background:var(--card-blue);
  box-shadow:inset 0 -3px 0 var(--blue);
  outline:none;
}

/* List mode remains useful instead of forcing the square gallery card. */
.artist-card-list.artist-gallery-card{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  min-height:110px;
}
.artist-card-list.artist-gallery-card .artist-gallery-visual{
  aspect-ratio:1/1;
  border-bottom:0;
  border-right:1.5px solid var(--ink);
}
.artist-card-list.artist-gallery-card .artist-card-nameplate{
  min-height:110px;
  padding:12px 14px;
}
.artist-card-list.artist-gallery-card .artist-card-nameplate h3{font-size:1rem}
.artist-card-list.artist-gallery-card .artist-card-nameplate p{font-size:.75rem}

@media(max-width:780px){
  .artist-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .artist-card.artist-gallery-card{border-width:1.25px}
  .artist-gallery-visual{border-bottom-width:1.25px}
  .artist-card-info-toggle{display:grid;width:23px;height:23px;right:4px;top:4px;font-size:.78rem;box-shadow:1.5px 1.5px 0 var(--blue)}
  .artist-card-nameplate{min-height:44px;padding:5px 5px 4px;gap:2px}
  .artist-card-nameplate h3{font-size:.72rem;line-height:1}
  .artist-card-nameplate p{font-size:.52rem;line-height:1.05}
  .artist-card-overview-inner{padding:7px 6px;gap:4px}
  .artist-card-overview-location{font-size:.54rem}
  .artist-card-overview-mediums{font-size:.56rem;line-height:1.12}
  .artist-card-overview-summary{font-size:.54rem;line-height:1.18;-webkit-line-clamp:4}
  .artist-card-view-button{font-size:.48rem;padding:4px 5px;box-shadow:1.5px 1.5px 0 var(--blue)}
  .artist-card-overview-kicker{font-size:.45rem}

  /* On touch devices overview is opt-in via the info button. */
  .artist-gallery-card.is-overview-open .artist-card-overview{
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .artist-gallery-card.is-overview-open .artist-gallery-image-link img{opacity:.12}
  .artist-gallery-card-no-image .artist-card-info-toggle{display:none}

  .artist-card-list.artist-gallery-card{grid-template-columns:74px minmax(0,1fr);min-height:74px}
  .artist-card-list.artist-gallery-card .artist-card-nameplate{min-height:74px;padding:7px 8px}
  .artist-card-list.artist-gallery-card .artist-card-nameplate h3{font-size:.8rem}
  .artist-card-list.artist-gallery-card .artist-card-nameplate p{font-size:.6rem}
}

@media(max-width:520px){
  .artist-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .artist-card-nameplate{min-height:41px}
  .artist-card-nameplate p{display:block}
  .artist-card-overview-summary{-webkit-line-clamp:3}
}


/* ========================================================================
   Phase 7G — Zite-inspired artist cards
   Restores the colourful, image-first card language from the original site.
   ======================================================================== */
.zite-artist-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-width:0;
  border:0;
  border-radius:12px;
  background:#fff;
  color:#fff;
  text-decoration:none;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
  transform:none!important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.zite-artist-card:hover,
.zite-artist-card:focus-visible{
  color:#fff;
  text-decoration:none;
  transform:translateY(-3px)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.14);
  outline:none;
}
.zite-card-image{
  aspect-ratio:1/1;
  overflow:hidden;
  background:linear-gradient(135deg,var(--zite-from),var(--zite-to));
}
.zite-card-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .25s ease;
}
.zite-artist-card:hover .zite-card-image img{transform:scale(1.035)}
.zite-card-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  text-align:center;
  color:#fff;
  background:
    linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),
    linear-gradient(135deg,var(--zite-from),var(--zite-to));
}
.zite-card-placeholder span{
  max-width:100%;
  font-size:1.08rem;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.025em;
  text-shadow:0 1px 5px rgba(0,0,0,.25);
}
.zite-card-copy{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:82px;
  padding:11px 12px 10px;
  color:#fff;
  background:
    linear-gradient(rgba(0,0,0,.14),rgba(0,0,0,.14)),
    linear-gradient(135deg,var(--zite-from),var(--zite-to));
}
.zite-card-copy h3{
  margin:0;
  color:#fff;
  font-family:var(--ui-font);
  font-size:1rem;
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.025em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 1px 4px rgba(0,0,0,.24);
}
.zite-card-copy p{
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:.68rem;
  line-height:1.15;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.zite-card-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:2px}
.zite-card-badges span{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:2px 6px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:999px;
  background:rgba(0,0,0,.13);
  color:#fff;
  font-size:.56rem;
  line-height:1;
  font-weight:850;
}
/* No-image cards use the original Zite-style gradient-name tile. */
.zite-artist-card-no-image .zite-card-copy{min-height:58px}
.zite-artist-card-no-image .zite-card-copy p{font-size:.7rem}
/* List view */
.zite-artist-card.artist-card-list{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  min-height:104px;
}
.zite-artist-card.artist-card-list .zite-card-image{aspect-ratio:1/1}
.zite-artist-card.artist-card-list .zite-card-copy{min-height:104px;justify-content:center}
@media(max-width:780px){
  .artist-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .zite-artist-card{border-radius:8px}
  .zite-card-copy{min-height:54px;padding:6px 7px 6px;gap:2px}
  .zite-card-copy h3{font-size:.72rem;line-height:1.02}
  .zite-card-copy p{font-size:.51rem}
  .zite-card-badges{display:none}
  .zite-card-placeholder{padding:8px}
  .zite-card-placeholder span{font-size:.7rem;line-height:1.08}
  .zite-artist-card-no-image .zite-card-copy{min-height:34px}
  .zite-artist-card.artist-card-list{grid-template-columns:72px minmax(0,1fr);min-height:72px}
  .zite-artist-card.artist-card-list .zite-card-copy{min-height:72px;padding:7px 8px}
}
@media(max-width:520px){
  .artist-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .zite-card-copy{min-height:50px;padding:5px}
  .zite-card-copy h3{font-size:.66rem}
  .zite-card-copy p{font-size:.47rem}
}


/* ========================================================================
   Phase 7G.1 — unified public grid cards
   White information panels + black text + pastel badges.
   All major public grids use two columns on phones.
   ======================================================================== */
:root{
  --grid-card-radius:10px;
  --grid-card-border:#d9d9df;
  --grid-card-shadow:4px 4px 0 var(--blue);
  --grid-card-gap:14px;
}

/* Shared surface language across public browse grids. */
.zite-artist-card,
.gallery-item,
.publication-card,
.collection-card,
.resource-card,
.curated-exhibition-card{
  border:1px solid var(--grid-card-border)!important;
  border-radius:var(--grid-card-radius)!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  overflow:hidden;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.zite-artist-card:hover,.zite-artist-card:focus-visible,
.gallery-item:hover,.gallery-item:focus-visible,
.publication-card:hover,.publication-card:focus-visible,
.collection-card:hover,.collection-card:focus-visible,
.resource-card:hover,.resource-card:focus-within,
.curated-exhibition-card:hover,.curated-exhibition-card:focus-visible{
  transform:translate(-2px,-2px)!important;
  box-shadow:var(--grid-card-shadow)!important;
  border-color:#a9a9b2!important;
  text-decoration:none;
}

/* Artist cards: the image/gradient is visual; all metadata lives on white. */
.zite-card-image{
  border-bottom:1px solid var(--grid-card-border);
}
.zite-card-copy{
  min-height:84px;
  padding:10px 11px 11px;
  gap:5px;
  background:#fff!important;
  color:var(--ink)!important;
}
.zite-card-copy h3{
  color:var(--ink)!important;
  text-shadow:none!important;
  font-size:.98rem;
}
.zite-card-copy p{
  color:#66616a!important;
  font-size:.68rem;
}
.zite-card-badges{
  display:flex;
  gap:4px;
  padding-top:3px;
}
.zite-card-badges span{
  min-height:19px;
  padding:3px 7px;
  border:0;
  color:#191719;
  background:var(--zite-from);
  font-size:.56rem;
  font-weight:850;
}
.zite-card-badges span:nth-child(even){background:var(--zite-to)}
.zite-card-badges span:first-child{background:#ffdce8}

/* No-image tile stays Zite-like, but the colours are intentionally lighter. */
.zite-card-placeholder{
  background:linear-gradient(135deg,var(--zite-from),var(--zite-to));
}
.zite-card-placeholder span{
  color:#fff;
  text-shadow:0 1px 4px rgba(50,35,55,.30);
}
.zite-artist-card-no-image .zite-card-copy{
  min-height:58px;
  background:#fff!important;
}

/* Gallery: visual + white name plate, same shell as artist/library cards. */
.gallery-grid{gap:var(--grid-card-gap)}
.gallery-item{display:flex;flex-direction:column}
.gallery-item img{border-bottom:1px solid var(--grid-card-border)}
.gallery-item span{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:8px 9px;
  border-top:0!important;
  background:#fff!important;
  color:var(--ink);
  font-weight:850;
  font-size:.72rem;
}

/* Library cards. */
.library-grid{gap:var(--grid-card-gap)}
.publication-cover{
  border-bottom:1px solid var(--grid-card-border)!important;
  background:#f4efff;
}
.publication-copy{
  min-height:100px;
  padding:9px 10px 10px;
  background:#fff!important;
  color:var(--ink);
}
.publication-copy h3{font-size:.78rem;line-height:1.2}
.publication-copy p{color:#66616a}
.grid-badge-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.grid-badge,
.resource-meta span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:3px 7px;
  border:0!important;
  border-radius:999px;
  background:#e8ddff!important;
  color:#2d2530!important;
  font-size:.58rem!important;
  line-height:1.15;
  font-weight:850;
}
.grid-badge-date{background:#dff2ff!important}

/* Collections: remove rotating info-panel colours; use the same white plate. */
.collection-grid{gap:var(--grid-card-gap)}
.collection-card:nth-child(3n+1)>div:last-child,
.collection-card:nth-child(3n+2)>div:last-child,
.collection-card:nth-child(3n)>div:last-child,
.collection-card>div:last-child{
  background:#fff!important;
}
.collection-card>img,.collection-placeholder{
  border-bottom:1px solid var(--grid-card-border);
}
.collection-placeholder{background:#f4efff!important;color:#756783!important}

/* Resources: same white card shell; category/status appear as coloured badges. */
.resource-grid{gap:var(--grid-card-gap)}
.resource-card{
  position:relative;
  background:#fff!important;
}
.resource-card::before{
  content:'';
  display:block;
  height:7px;
  background:linear-gradient(90deg,#f8dceb,#dff4fc);
}
.resource-card-head,
.resource-card-body,
.resource-card:hover .resource-card-head,
.resource-card:hover .resource-card-body,
.resource-card:focus-within .resource-card-head,
.resource-card:focus-within .resource-card-body{
  background:#fff!important;
  color:var(--ink)!important;
}
.resource-card-head{
  padding:10px 11px 8px;
  border-bottom:0!important;
}
.resource-card-body{padding:0 11px 11px}
.resource-meta{display:flex;flex-wrap:wrap;gap:4px}
.resource-meta span:nth-child(2n){background:#dff4fc!important}
.resource-meta span:nth-child(3n){background:#f8dceb!important}
.resource-card.is-featured{box-shadow:none!important}
.resource-card.is-featured:hover,.resource-card.is-featured:focus-within{box-shadow:var(--grid-card-shadow)!important}

/* Curated content follows the same shell. */
.curated-exhibition-card>div:last-child{background:#fff!important}
.curated-artist-grid{gap:var(--grid-card-gap)}

/* Keep grids generous on desktop/tablet, but use one consistent 2-up phone rule. */
@media(max-width:780px){
  .artist-grid,
  .gallery-grid,
  .library-grid,
  .resource-grid,
  .collection-grid,
  .curated-artist-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .zite-card-copy{min-height:64px;padding:7px 8px 8px}
  .zite-card-copy h3{font-size:.78rem}
  .zite-card-copy p{font-size:.58rem}
  .zite-card-badges{display:flex}
  .zite-card-badges span{font-size:.49rem;padding:2px 5px;min-height:16px}
  .zite-card-placeholder{padding:10px}
  .zite-card-placeholder span{font-size:.82rem}
  .gallery-item span{min-height:38px;font-size:.65rem;padding:6px 7px}
  .publication-copy{min-height:88px;padding:7px 8px}
  .publication-copy h3{font-size:.68rem}
  .publication-copy p{font-size:.58rem}
  .grid-badge,.resource-meta span{font-size:.5rem!important;padding:2px 5px}
}

@media(max-width:520px){
  .artist-grid,
  .gallery-grid,
  .library-grid,
  .resource-grid,
  .collection-grid,
  .curated-artist-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .zite-card-copy{min-height:60px}
  .zite-card-copy h3{font-size:.75rem}
  .zite-card-copy p{font-size:.55rem}
}


/* QuAD Phase 7G.2 — card title consistency + purple collection count. */
.hero .count{
  display:inline-block!important;
  margin:18px 0 2px!important;
  padding:7px 12px!important;
  background:var(--purple)!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  font-weight:900!important;
  transform:none!important;
  box-shadow:none!important;
}

/* No-image artist cards still use the gradient as a visual, but the canonical title
   always appears in the white information plate below, matching image cards. */
.zite-artist-card-no-image .zite-card-copy h3{
  display:block!important;
  color:var(--ink)!important;
}


/* ========================================================================
   QuAD Phase 7G.3 — calmer typography + infinite scrolling
   Keep the logo/hero expressive; make ordinary interface text easier to read.
   ======================================================================== */
body{
  font-weight:400;
  line-height:1.58;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
p,li,dd,dt,.prose,.muted,.field-help{font-weight:400}
h1,h2,h3,h4,h5,h6{
  font-family:var(--ui-font);
  font-weight:700;
  letter-spacing:-.018em;
}
/* Brand remains intentionally bold. */
.brand{font-weight:900!important;letter-spacing:-.035em}
.hero h1{font-family:var(--ui-font)!important;font-weight:800!important;letter-spacing:-.035em!important}
.hero-copy{font-weight:400!important;line-height:1.58}
.hero .count{font-weight:700!important}
.section-heading h1,.section-heading h2{font-weight:700!important;letter-spacing:-.02em!important}
.profile-title h1{font-weight:800!important;letter-spacing:-.035em!important}
.editor-page-heading h1,.admin-heading h1,.account-panel h1{font-weight:750!important;letter-spacing:-.02em!important}
.collection-card h2{font-weight:700!important;letter-spacing:-.015em!important}
.publication-copy h3,.record-card h3,.gallery-item span,.zite-card-copy h3{font-weight:700!important}
.zite-card-copy p,.publication-copy p,.record-card p{font-weight:400!important}
.main-nav a,.nav-link-button,.button,.filter-menu summary,.toggle-pill,.view-switch a,.chip{font-weight:600!important}
.badge,.zite-card-badges span,.grid-badge,.resource-meta span,.image-count-pill,.image-badge{font-weight:650!important}
.section-bar,.eyebrow,.editor-step-label{font-weight:700!important;letter-spacing:.055em!important}
.stack-form label,.profile-edit-form label,.editor-section>label,.claim-form label,.image-editor-fields label,.editor-form label,.upload-form label{font-weight:600!important}
.editor-stepper button,.editor-stepper button b{font-weight:600!important}
.editor-stepper button span,.editor-stepper button em{font-weight:650!important}
.admin-detail-grid dt,.admin-detail-list dt,.admin-stat strong{font-weight:700!important}

/* Automatic incremental loading. No visible page-number navigation. */
.infinite-scroll-sentinel{
  min-height:58px;
  margin:22px 0 4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
}
.infinite-scroll-sentinel .infinite-load-more{
  border-color:#d7d4dc;
  background:#fff;
  box-shadow:none;
  color:#5d5962;
  font-weight:550!important;
}
.infinite-scroll-sentinel.is-loading .infinite-load-more{
  pointer-events:none;
  opacity:.55;
}
.infinite-scroll-status{
  min-height:1.2em;
  color:var(--muted-ink);
  font-size:.75rem;
  font-weight:400;
}
.infinite-scroll-sentinel.is-complete{display:none}

@media(max-width:780px){
  body{line-height:1.55}
  .hero-copy{font-size:.93rem;line-height:1.55}
  .zite-card-copy h3{font-weight:700!important}
  .zite-card-badges span,.grid-badge,.resource-meta span{font-weight:600!important}
}


/* Phase 7G.3.1 — automatic infinite scrolling. The anchor remains in the HTML
   strictly as a no-JS fallback, but disappears once JavaScript takes control. */
.infinite-scroll-sentinel.is-auto .infinite-load-more { display:none !important; }
.infinite-scroll-sentinel { display:flex; justify-content:center; align-items:center; min-height:3.25rem; padding:1rem 0; }
.infinite-scroll-sentinel.is-complete { display:none; }
.infinite-scroll-status { font-size:.9rem; font-weight:400; color:var(--muted, #666); }


/* QuAD Phase 7H — site consistency, profile UX, mobile icons, admin productivity */
:root{--quad-action-pink:#c43c9d}
/* Punchier pink + white actions: preserve the QuAD hue while darkening the action surface for contrast. */
.button.primary,.chip.active{background:linear-gradient(rgba(0,0,0,.13),rgba(0,0,0,.13)),var(--quad-brand-pink,var(--pink));color:#fff;border:2px solid #171219;box-shadow:3px 3px 0 var(--quad-brand-blue,var(--blue));font-weight:700}
.button.primary:hover,.button.primary:focus-visible,.chip.active:hover{background:linear-gradient(rgba(0,0,0,.23),rgba(0,0,0,.23)),var(--quad-brand-pink,var(--pink));color:#fff;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--quad-brand-blue,var(--blue))}

/* Mobile icon rail replaces the oversized hamburger/dropdown. */
.mobile-icon-nav{display:none}
.mobile-nav-icon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Artist profile: one coherent catalogue layout instead of competing cards. */
.artist-profile-page{max-width:1120px}
.artist-profile-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 0 22px;border-bottom:2px solid var(--ink)}
.artist-profile-heading h1{font-size:clamp(2.15rem,6vw,4.5rem);line-height:.96;letter-spacing:-.045em;margin:.15rem 0 .7rem;font-weight:750}
.artist-profile-subline{display:flex;gap:.5rem 1rem;flex-wrap:wrap;color:var(--muted-ink);font-size:.94rem}
.artist-profile-header .profile-badges{margin:0;justify-content:flex-end;max-width:45%}
.artist-profile-artwork{margin:24px 0 30px}
.artist-profile-artwork .profile-strip{gap:10px}
.artist-profile-artwork .profile-image-button{border-radius:8px}
.artist-profile-layout{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:clamp(30px,6vw,70px);align-items:start}
.artist-profile-facts{position:sticky;top:88px;border-top:5px solid var(--quad-brand-blue,var(--blue));background:#f5fbfe;padding:20px 18px}
.artist-profile-facts>h2{font-size:1.05rem;margin:0 0 18px}
.profile-fact{padding:14px 0;border-top:1px solid #cfe8f2}
.profile-fact:first-of-type{border-top:0;padding-top:0}
.profile-fact h3,.profile-prose-block h3{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;color:#514a55;font-weight:650}
.profile-fact p{margin:.3rem 0;font-size:.93rem}
.profile-link-list{display:grid;gap:4px}
.profile-link-list a{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:var(--ink);border-bottom:1px dotted #b8d8e5}
.profile-link-list a:last-child{border-bottom:0}
.artist-profile-main{min-width:0}
.profile-reading-section,.profile-related-section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--border)}
.profile-reading-section>h2,.profile-section-heading h2{font-size:1.55rem;margin:0 0 20px;letter-spacing:-.025em;font-weight:700}
.profile-prose-block+.profile-prose-block{margin-top:30px;padding-top:25px;border-top:1px solid var(--border)}
.profile-reading-section .prose{font-size:1.03rem;line-height:1.72;max-width:68ch}
.profile-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.profile-section-heading h2{margin:0}
.profile-section-heading>span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:#eee9f7;font-size:.78rem;font-weight:700}
.profile-related-list,.profile-text-list,.profile-timeline{display:grid}
.profile-related-row{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--border);color:var(--ink);text-decoration:none}
.profile-related-row img{width:54px;height:66px;object-fit:cover;border:1px solid var(--border)}
.profile-related-row div{display:grid;gap:3px}.profile-related-row span,.profile-text-list p,.profile-timeline p{font-size:.84rem;color:var(--muted-ink);margin:0}
.profile-related-row:hover{color:#7d359d;text-decoration:none}
.profile-timeline article{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--border)}
.profile-timeline-year{font-weight:700;color:#6e6274;font-variant-numeric:tabular-nums}
.profile-timeline h3,.profile-text-list h3{font-size:1rem;margin:0 0 4px;font-weight:650}
.profile-text-list article{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--border)}

/* Admin navigation is one calm dropdown rather than a horizontal tab rail. */
.admin-nav-select{display:block;overflow:visible;border:0;margin:0 0 18px;padding:0}
.admin-nav-select label{display:grid;grid-template-columns:auto minmax(220px,360px);align-items:center;gap:10px;color:var(--muted-ink);font-size:.8rem;font-weight:650}
.admin-nav-select select{width:100%;padding:9px 36px 9px 11px;border:1px solid #cfc8d4;border-radius:7px;background:#fff;color:var(--ink);font-weight:600}
.admin-health-grid .health-score{color:inherit;text-decoration:none;position:relative}
.admin-health-grid .health-score:hover{border-color:var(--quad-brand-blue,var(--blue));box-shadow:3px 3px 0 var(--quad-brand-blue,var(--blue));text-decoration:none}
.health-score small{display:block;margin-top:7px;font-size:.7rem;color:#6b6170;font-weight:600}
.health-drilldown{border-top:5px solid var(--quad-brand-blue,var(--blue))}
.health-list article{display:flex;align-items:center;gap:12px;justify-content:space-between}
.health-list article>div{min-width:0;display:grid;gap:2px;margin-right:auto}
.health-thumb{width:46px;height:46px;object-fit:cover;border-radius:5px;border:1px solid var(--border)}
.quick-add-intro{border-top:5px solid var(--quad-brand-pink,var(--pink))}
.quick-add-technical summary{cursor:pointer;font-weight:650;margin-bottom:8px}

@media(max-width:760px){
  .nav-shell{min-height:52px;justify-content:center}.brand{font-size:1.35rem}.main-nav{display:none!important}.nav-toggle{display:none!important}
  .mobile-icon-nav{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;border-top:1px solid var(--border);background:#fff;padding:3px 5px 5px;gap:1px}
  .mobile-icon-nav::-webkit-scrollbar{display:none}.mobile-icon-nav a{flex:0 0 58px;min-width:58px;display:grid;justify-items:center;align-content:center;gap:2px;padding:5px 2px;color:#403944;text-decoration:none;border-radius:6px;font-size:.57rem;line-height:1.1;font-weight:600;white-space:nowrap}
  .mobile-icon-nav a.active{background:#f3ebf8;color:#71358a}.mobile-icon-nav a:active{background:#eaf7fc}
  .artist-profile-header{display:block;padding-top:0}.artist-profile-heading h1{font-size:clamp(2rem,12vw,3.2rem)}.artist-profile-header .profile-badges{max-width:none;justify-content:flex-start;margin-top:14px}
  .artist-profile-layout{grid-template-columns:1fr;gap:24px}.artist-profile-facts{position:static;order:0;padding:16px}.artist-profile-main{order:1}.profile-reading-section,.profile-related-section{margin-bottom:26px;padding-bottom:26px}
  .profile-related-row{grid-template-columns:42px 1fr auto}.profile-related-row img{width:42px;height:52px}.profile-timeline article{grid-template-columns:48px 1fr;gap:10px}
  .admin-nav-select label{grid-template-columns:1fr;gap:4px}.admin-nav-select select{font-size:16px}
}


/* ========================================================================
   QuAD Phase 7I — calmer artist profiles, library placeholders, admin tools
   ======================================================================== */

/* Public artist profiles: one linear, scannable story instead of a dashboard. */
.artist-profile-page{max-width:1040px}
.profile-top-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.admin-public-edit{margin-left:auto;background:#fff7d6!important;border-color:#d6b44b!important;color:#4f4114!important;box-shadow:2px 2px 0 #d6b44b!important}
.artist-profile-artwork{margin:12px 0 30px}
.artist-profile-artwork .profile-strip{gap:8px}
.artist-profile-artwork .profile-image-button{
  border:0!important;
  outline:0;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  border-radius:4px!important;
  overflow:hidden;
}
.artist-profile-artwork .profile-image-button:hover,
.artist-profile-artwork .profile-image-button:focus-visible{
  transform:none!important;
  box-shadow:none!important;
  outline:2px solid var(--quad-brand-blue,var(--blue));
  outline-offset:2px;
}
.artist-profile-artwork .profile-image-button img{border:0!important;box-shadow:none!important}
.profile-identity{
  display:block!important;
  padding:0 0 22px!important;
  margin:0 0 6px!important;
  border:0!important;
  border-bottom:1px solid var(--border)!important;
}
.profile-identity .artist-profile-heading h1{margin:.15rem 0 .65rem}
.profile-identity .artist-profile-subline{gap:.4rem .85rem}
.profile-identity .profile-badges{justify-content:flex-start!important;max-width:none!important;margin-top:13px!important}
.artist-profile-flow{max-width:780px}
.profile-compact-section,
.profile-reading-section,
.profile-related-section{
  padding:22px 0!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--border)!important;
}
.profile-compact-section>h2,
.profile-reading-section>h2,
.profile-related-section .profile-section-heading h2{
  font-size:1.1rem!important;
  margin:0 0 12px!important;
  letter-spacing:-.015em!important;
  font-weight:700!important;
}
.profile-link-groups{display:grid;gap:14px}
.profile-link-list-inline{display:flex!important;flex-wrap:wrap;gap:7px!important}
.profile-link-list-inline a,
.profile-link-group .link-list a{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  width:auto!important;
  border:1px solid var(--border)!important;
  border-radius:999px;
  padding:7px 11px!important;
  background:#fff;
  text-decoration:none;
}
.profile-link-group h3{
  margin:0 0 7px;
  font-size:.75rem;
  color:var(--muted-ink);
  text-transform:uppercase;
  letter-spacing:.065em;
  font-weight:650;
}
.profile-single-prose .prose{max-width:68ch;font-size:1rem;line-height:1.68}
.profile-section-heading{margin-bottom:4px!important}
.profile-related-row{
  grid-template-columns:58px minmax(0,1fr) auto!important;
  gap:13px!important;
  padding:11px 0!important;
}
.profile-related-thumb{
  width:58px;height:76px;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--placeholder-from,#f9dfea),var(--placeholder-to,#dceeff));
  border-radius:5px;flex:0 0 auto;
}
.profile-related-thumb img{width:100%!important;height:100%!important;object-fit:cover;border:0!important}
.profile-publication-placeholder{
  display:grid;width:100%;height:100%;place-items:center;
  color:#fff;font-size:2rem;font-weight:750;
  text-shadow:0 1px 5px rgba(0,0,0,.10)
}
.profile-related-copy{min-width:0!important}
.profile-related-copy strong{display:block;line-height:1.25}
.profile-related-copy span{display:block;margin-top:3px}
.profile-timeline article,.profile-text-list article{padding:12px 0!important}
.profile-action{margin-top:26px}

/* Library: light deterministic title placeholders everywhere. */
.publication-cover,
.library-list-placeholder,
.publication-placeholder-large,
.profile-related-thumb{
  background:linear-gradient(145deg,var(--placeholder-from,#f9dfea),var(--placeholder-to,#dceeff))!important;
}
.publication-letter,
.library-list-placeholder,
.publication-placeholder-large span{
  color:#fff!important;
  text-shadow:0 1px 5px rgba(0,0,0,.10)!important;
}

/* Inline delete controls should not disrupt admin tables. */
.inline-delete-form{display:inline;margin:0}
.admin-danger-zone h2{margin-top:0}
.quick-add-intro{border-top:5px solid var(--quad-brand-blue,var(--blue))}
.quick-add-fetch{margin-top:16px}

/* Mobile profile order is deliberately linear:
   images → name/pronouns/location/badges → links → mediums → themes → bio → statement. */
@media(max-width:780px){
  .artist-profile-page{padding-left:14px!important;padding-right:14px!important}
  .profile-top-actions{margin-bottom:8px}
  .artist-profile-artwork{margin:8px -14px 22px;padding:0 14px}
  .artist-profile-artwork .profile-strip{gap:6px}
  .artist-profile-artwork .profile-image-button{min-width:min(74vw,300px)!important}
  .profile-identity{padding-bottom:18px!important}
  .profile-identity .artist-profile-heading h1{font-size:clamp(2rem,11vw,3.4rem)!important;line-height:1!important}
  .profile-identity .artist-profile-subline{font-size:.88rem}
  .profile-identity .profile-badges{gap:5px}
  .artist-profile-flow{max-width:none}
  .profile-compact-section,.profile-reading-section,.profile-related-section{padding:18px 0!important}
  .profile-link-list-inline{gap:5px!important}
  .profile-link-list-inline a,.profile-link-group .link-list a{font-size:.78rem;padding:6px 9px!important}
  .profile-single-prose .prose{font-size:.95rem;line-height:1.62}
  .profile-related-row{grid-template-columns:48px minmax(0,1fr) 16px!important;gap:10px!important}
  .profile-related-thumb{width:48px;height:64px}
  .profile-publication-placeholder{font-size:1.55rem}
  .profile-related-row b{font-size:.8rem}
  .profile-timeline article{grid-template-columns:48px minmax(0,1fr)!important;gap:10px!important}
  .admin-public-edit{font-size:.72rem!important;padding:6px 8px!important}
}


/* Phase 7J — multi-location overview, Dublin Core Library, admin integrations */
.location-badge{
  background:#eef6ff;
  color:#12385e;
  border:1px solid #b8d7f0;
}
.profile-overview-section{
  border-top:1px solid rgba(0,0,0,.16);
  padding-top:1.2rem;
}
.profile-overview-section h2{margin:0 0 .8rem}
.profile-overview-list{margin:0;display:grid;gap:.6rem}
.profile-overview-list>div{
  display:grid;
  grid-template-columns:minmax(120px,.35fr) 1fr;
  gap:1rem;
  padding:.55rem 0;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.profile-overview-list dt{font-weight:600;color:#555}
.profile-overview-list dd{margin:0}
.overview-location-badges{display:flex;flex-wrap:wrap;gap:.4rem}

.dc-metadata{margin:1.25rem 0;display:grid;gap:0}
.dc-metadata>div{
  display:grid;
  grid-template-columns:minmax(110px,160px) 1fr;
  gap:1rem;
  padding:.62rem 0;
  border-bottom:1px solid rgba(0,0,0,.1);
}
.dc-metadata dt{font-weight:600;color:#555}
.dc-metadata dd{margin:0;white-space:pre-line}
.dc-description{margin-top:1.5rem}
.dc-tag{
  display:inline-block;
  margin-left:.3rem;
  font-size:.7rem;
  font-weight:500;
  color:#6a5b74;
  background:#f4eef8;
  border-radius:999px;
  padding:.12rem .4rem;
}
.admin-form-section.nested{margin-top:1rem;background:#fafafa}
.page-visibility-grid{display:grid;gap:.65rem}
.page-visibility-row{
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.8rem;
  border:1px solid #ddd;
  background:#fff;
}
.page-visibility-row input{width:auto}
.page-visibility-row span{display:grid;gap:.15rem}
.page-visibility-row small{color:#666}

.catalogue-lookup-controls{
  display:grid;
  grid-template-columns:minmax(180px,.4fr) minmax(220px,1fr) auto;
  gap:.65rem;
  align-items:end;
}
.catalogue-lookup-results,
.catalogue-import-results{
  margin-top:1rem;
  display:grid;
  gap:.6rem;
}
.catalogue-result-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem;
  border:1px solid #ddd;
  background:#fff;
}
.catalogue-result-card p{margin:.2rem 0 0}
.catalogue-import-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-bottom:1rem;
}
.catalogue-import-box{
  border:1px solid #ddd;
  background:#fafafa;
  padding:1rem;
}
.catalogue-import-box h3{margin-top:0}
.catalogue-select-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.75rem;
  align-items:start;
  padding:.75rem;
  border:1px solid #ddd;
  background:#fff;
  cursor:pointer;
}
.catalogue-select-row:hover{border-color:var(--blue)}
.catalogue-select-row input{margin-top:.2rem;width:auto}
.catalogue-select-row span{display:grid;gap:.15rem}
.catalogue-select-row small{color:#666}
.catalogue-person-choice{margin:.25rem .35rem .25rem 0}
.sticky-admin-actions{
  position:sticky;
  bottom:0;
  margin-top:1rem;
  padding:.75rem;
  background:rgba(255,255,255,.96);
  border-top:1px solid #ddd;
}

@media (max-width:760px){
  .profile-overview-list>div,
  .dc-metadata>div{grid-template-columns:1fr;gap:.25rem}
  .catalogue-lookup-controls,
  .catalogue-import-tabs{grid-template-columns:1fr}
  .catalogue-result-card{align-items:flex-start;flex-direction:column}
}


/* QuAD Phase 7J.1 — profile/library refinements */
.profile-theme-columns{margin:.25rem 0 0;padding-left:1.15rem;columns:2;column-gap:2.5rem}
.profile-theme-columns li{break-inside:avoid;margin:0 0 .42rem;color:var(--ink);line-height:1.45}
.catalogue-result-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.catalogue-result-cover{width:56px;height:76px;object-fit:cover;border:1px solid rgba(0,0,0,.12);border-radius:4px}
[data-library-cover-preview]{margin:.3rem 0 .8rem}
@media(max-width:680px){.profile-theme-columns{columns:2;column-gap:1.5rem}.catalogue-result-card{grid-template-columns:auto minmax(0,1fr)}.catalogue-result-card>.button{grid-column:1/-1;justify-self:start}}

/* QuAD Phase 7J.2 — artist Work & History editor */
.work-history-editor{max-width:100%;}
.work-history-note{margin-bottom:18px;}
.related-editor-sections{display:grid;gap:18px;}
.related-editor-group{border:1px solid rgba(23,18,25,.16);background:#fff;border-radius:14px;padding:18px;}
.related-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;}
.related-editor-heading h3{margin:0 0 4px;font-size:1.08rem;font-weight:700;}
.related-editor-heading p{margin:0;color:var(--muted,#6b626d);font-size:.92rem;line-height:1.45;}
.related-editor-heading>span{min-width:30px;height:30px;border-radius:999px;background:rgba(35,174,232,.12);display:grid;place-items:center;font-weight:650;font-size:.86rem;}
.related-editor-list{display:grid;gap:8px;margin:10px 0 14px;}
.related-editor-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid rgba(23,18,25,.08);}
.related-editor-list article:first-child{border-top:0;}
.related-editor-list article>div{min-width:0;display:grid;gap:3px;}
.related-editor-list strong{font-size:.96rem;font-weight:650;overflow-wrap:anywhere;}
.related-editor-list small{color:var(--muted,#6b626d);line-height:1.4;}
.related-add-form{margin-top:12px;border-top:1px solid rgba(23,18,25,.1);padding-top:12px;}
.related-add-form summary{cursor:pointer;font-weight:650;list-style:none;color:var(--blue,#23aee8);}
.related-add-form summary::-webkit-details-marker{display:none;}
.related-add-form[open] summary{margin-bottom:14px;}
.related-add-form form{display:grid;gap:12px;}
.related-add-form select{width:100%;min-height:44px;border:1px solid rgba(23,18,25,.22);border-radius:9px;background:#fff;padding:9px 10px;font:inherit;color:inherit;}
@media (max-width:760px){
  .related-editor-group{padding:14px;border-radius:12px;}
  .related-editor-list article{align-items:flex-start;}
  .related-editor-list .button{padding:7px 9px;font-size:.82rem;}
  .related-editor-heading{gap:8px;}
}


/* QuAD Phase 7J.3 — Work & History form redesign */
.work-history-editor{max-width:100%}
.work-history-note{margin:0 0 18px;padding:13px 15px;border:1px solid #d9d1dd;background:#faf7fb;border-radius:10px;display:grid;gap:3px}
.work-history-note strong{font-weight:700;color:#211a23}
.work-history-note span{font-size:.9rem;line-height:1.5;color:#6b626d}
.history-modules{display:grid;gap:12px}
.history-module{border:1px solid #d8d1da;background:#fff;border-radius:12px;overflow:hidden}
.history-module>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 17px;transition:background .16s ease}
.history-module>summary::-webkit-details-marker{display:none}
.history-module>summary:hover,.history-module>summary:focus-visible{background:#f8f5f9}
.history-module[open]>summary{border-bottom:1px solid #e6e0e7;background:#fbf9fc}
.history-module-title{display:flex;align-items:flex-start;gap:12px;min-width:0}
.history-module-title h3{margin:0 0 3px;font-size:1.03rem;font-weight:700;line-height:1.25}
.history-module-title p{margin:0;color:#746b76;font-size:.88rem;line-height:1.4}
.history-module-icon{width:32px;height:32px;flex:0 0 32px;border-radius:8px;background:#edf8fd;color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:.95rem}
.history-count{min-width:29px;height:29px;padding:0 8px;border-radius:999px;background:#f1edf3;color:#4f4652;display:grid;place-items:center;font-size:.8rem;font-weight:650}
.history-module-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:0}
.history-existing,.history-add{padding:18px}
.history-existing{border-right:1px solid #e6e0e7;background:#fcfbfc}
.history-subheading{margin-bottom:13px}
.history-subheading h4{margin:0 0 3px;font-size:.95rem;font-weight:700}
.history-subheading p{margin:0;color:#7a717b;font-size:.84rem;line-height:1.45}
.history-existing-list{display:grid;gap:8px}
.history-existing-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 12px;background:#fff;border:1px solid #e4dee6;border-radius:9px}
.history-existing-item>div{display:grid;gap:3px;min-width:0}
.history-existing-item strong{font-size:.91rem;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.history-existing-item small{font-size:.8rem;color:#766d77;line-height:1.35}
.history-existing-item form{flex:0 0 auto}
.history-empty{padding:13px;border:1px dashed #dcd4df;border-radius:9px;color:#827884;background:#fff;font-size:.86rem}
.history-form{display:grid;gap:16px}
.history-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}
.history-field{display:grid;gap:6px;align-content:start;margin:0}
.history-field-wide{grid-column:1/-1}
.history-field>span{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:650;color:#332b35}
.history-field>span b{font-size:.66rem;line-height:1;padding:4px 6px;border-radius:999px;background:#f2eaf5;color:#67566e;text-transform:uppercase;letter-spacing:.045em}
.history-field input,.history-field select,.history-field textarea{width:100%;box-sizing:border-box;border:1px solid #cfc7d1;border-radius:8px;background:#fff;color:#211a23;padding:10px 11px;font:inherit;font-size:.94rem;line-height:1.35;box-shadow:none}
.history-field input,.history-field select{min-height:43px}
.history-field textarea{resize:vertical;min-height:94px}
.history-field input:focus,.history-field select:focus,.history-field textarea:focus{outline:2px solid color-mix(in srgb,var(--blue) 32%,transparent);outline-offset:1px;border-color:var(--blue)}
.history-field small{font-size:.76rem;line-height:1.4;color:#7c737e}
.history-form-actions{display:flex;justify-content:flex-end;padding-top:2px}
.history-form-actions .button{min-width:132px}
@media(max-width:820px){
  .history-module-body{grid-template-columns:1fr}
  .history-existing{border-right:0;border-bottom:1px solid #e6e0e7}
}
@media(max-width:640px){
  .history-modules{gap:10px}
  .history-module{border-radius:10px}
  .history-module>summary{padding:13px 12px;gap:8px}
  .history-module-title{gap:9px}
  .history-module-icon{width:29px;height:29px;flex-basis:29px;border-radius:7px}
  .history-module-title h3{font-size:.96rem}
  .history-module-title p{font-size:.79rem}
  .history-existing,.history-add{padding:14px 12px}
  .history-form-grid{grid-template-columns:1fr;gap:12px}
  .history-field-wide{grid-column:auto}
  .history-field input,.history-field select,.history-field textarea{font-size:16px}
  .history-existing-item{padding:10px;gap:8px}
  .history-existing-item .button{font-size:.76rem;padding:6px 8px}
  .history-form-actions{justify-content:stretch}
  .history-form-actions .button{width:100%}
}

/* QuAD Phase 7J.4 — adaptive Works & Media form */
.adaptive-work-form{max-width:760px}
.adaptive-work-stack{display:grid;gap:18px}
.work-type-first{padding:16px;background:#f7f8ff;border:1px solid #dfe4ff;border-radius:12px}
.work-type-first>span{font-size:1rem;font-weight:700}
.adaptive-work-fields{display:grid;gap:18px}
.adaptive-work-fields[hidden],.adaptive-type-fields[hidden],.role-other-row[hidden]{display:none!important}
.adaptive-core-grid{margin:0}
.adaptive-role-field{display:block}
.adaptive-role-field>span{display:block;margin-bottom:7px;font-weight:650}
.role-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.role-picker-row select{min-width:0}
.role-chip-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.role-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;border-radius:999px;background:#eef4ff;border:1px solid #bfd1ff;font-size:.88rem}
.role-chip button{border:0;background:transparent;color:inherit;font:inherit;font-size:1.05rem;line-height:1;padding:0 1px;cursor:pointer}
.role-other-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
.adaptive-type-fields{padding:14px 0 2px;border-top:1px solid #e8e8ec;border-bottom:1px solid #e8e8ec}
.input-suffix{display:flex;align-items:center;border:1px solid var(--border,#cfcfd5);border-radius:8px;overflow:hidden;background:#fff}
.input-suffix input{border:0!important;border-radius:0!important;min-width:0}
.input-suffix span{padding:0 11px;color:#666;font-size:.9rem}
.work-image-field input[type=file]{padding:10px;background:#fafafa;border:1px dashed #b8bdca;border-radius:10px;width:100%}
@media(max-width:640px){.adaptive-work-form{max-width:none}.role-picker-row,.role-other-row{grid-template-columns:1fr}.role-picker-row .button,.role-other-row .button{width:100%}.work-type-first{padding:13px}.adaptive-type-fields{padding-top:12px}}


/* Phase 7K — admin shortcuts, Homosaurus subjects, problem reports */
.admin-nav-bar{display:flex;align-items:end;gap:10px;margin-bottom:14px}.admin-nav-bar .admin-nav{flex:1;margin:0}.admin-quick-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-icon-button{width:42px;height:42px;display:grid;place-items:center;border:1.5px solid var(--ink,#171219);background:#fff;color:var(--ink,#171219);text-decoration:none;border-radius:8px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.admin-icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-icon-button:hover,.admin-icon-button:focus-visible{background:var(--pink,#f56cc6);color:#111;box-shadow:4px 4px 0 var(--blue,#13abdd);transform:translate(-1px,-1px)}
.homosaurus-picker{border:1px solid rgba(23,18,25,.16);padding:14px;margin:12px 0;background:#fafbff}.admin-card-heading.compact{align-items:flex-start;margin-bottom:10px}.homosaurus-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.homosaurus-results{display:grid;gap:7px;margin-top:9px}.homosaurus-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid rgba(23,18,25,.13);background:#fff}.homosaurus-result small{display:block;color:#666;overflow-wrap:anywhere;margin-top:2px}.homosaurus-selected{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.homosaurus-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(23,18,25,.16);background:#eef7ff;padding:6px 8px}.homosaurus-chip a{color:inherit;text-decoration:none;font-weight:600}.homosaurus-chip button{border:0;background:transparent;font:inherit;font-size:18px;line-height:1;cursor:pointer}.homosaurus-public-subjects{margin:20px 0}.homosaurus-public-subjects .chip{background:#eef7ff;border-color:rgba(19,171,221,.35)}
.report-problem-card{border:1px solid rgba(23,18,25,.16);padding:clamp(18px,4vw,30px);background:#fff}.report-context{padding:9px 11px;background:#f4f6fb;border-left:3px solid var(--blue,#13abdd);overflow-wrap:anywhere}.report-problem-link{font-weight:600}.context-report-row{margin-top:18px}.context-report-row .button{font-size:.88rem}.site-footer .report-problem-link{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.admin-nav-bar{align-items:stretch}.admin-quick-actions{flex:none}.admin-icon-button{width:40px;height:40px}.homosaurus-search-row{grid-template-columns:1fr}.homosaurus-result{align-items:flex-start}.admin-card-heading.compact{display:block}.admin-card-heading.compact form{margin-top:8px}}

/* Phase 7K: catalogue/admin/report refinements */
.admin-inline-tool{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;margin:0 0 14px;border:1px solid rgba(23,18,25,.14);background:#f8f9fc}
.admin-inline-tool span{display:grid;gap:2px}.admin-inline-tool small{color:#666;font-weight:400}
.site-footer .report-problem-link.button{display:inline-flex;text-decoration:none;margin-top:2px}
@media(max-width:700px){.admin-inline-tool{align-items:stretch;flex-direction:column}.admin-inline-tool .button{align-self:flex-start}}


/* QuAD Phase 7K.1 — public admin quick editing */
.public-admin-quickedit{margin:0 0 22px;border:1px solid rgba(23,18,25,.18);background:#f7f9ff;padding:14px 15px;border-left:4px solid var(--blue,#13abdd)}
.public-admin-quickedit-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.public-admin-quickedit-head>div:first-child{display:grid;gap:2px}.public-admin-quickedit-head strong{font-weight:700}.public-admin-quickedit-head span{font-size:.84rem;color:#6c6570}
.public-admin-quickedit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.public-admin-quickedit-grid label{display:grid;gap:5px;font-size:.78rem;font-weight:650;color:#3d3540}
.public-admin-quickedit-grid input,.public-admin-quickedit-grid select,.public-admin-quickedit-grid textarea{width:100%;box-sizing:border-box;border:1px solid #cbc5ce;background:#fff;color:#211a23;padding:9px 10px;font:inherit;font-size:.9rem;border-radius:7px}.public-admin-quickedit-grid textarea{resize:vertical;line-height:1.4}.public-admin-quickedit-grid .quickedit-wide{grid-column:1/-1}
.public-admin-quickedit-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.admin-quickedit-status{display:inline-flex;min-width:52px;justify-content:center;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #d8d1dc;font-size:.76rem!important;font-weight:650}.admin-quickedit-status[data-state="saving"]{background:#fff7d6;color:#665000}.admin-quickedit-status[data-state="saved"]{background:#e7f8ee;color:#176235}.admin-quickedit-status[data-state="error"]{background:#ffe8ee;color:#8d1434;max-width:320px;border-radius:7px}
@media(max-width:760px){.public-admin-quickedit-head{align-items:flex-start;flex-direction:column}.public-admin-quickedit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.public-admin-quickedit{padding:12px}.public-admin-quickedit-grid{grid-template-columns:1fr}.public-admin-quickedit-grid .quickedit-wide{grid-column:auto}.public-admin-quickedit-grid input,.public-admin-quickedit-grid select,.public-admin-quickedit-grid textarea{font-size:16px}.public-admin-quickedit-actions{align-items:stretch;flex-direction:column}.public-admin-quickedit-actions .button{width:100%}}

/* ========================================================================
   Phase 7K.2 — Library related discovery cards
   ======================================================================== */
.library-related-section{margin-top:34px}
.library-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.related-publication-card .publication-cover{aspect-ratio:2/3;min-height:0}
.related-publication-card .publication-copy{min-height:78px;padding:8px 9px}
.related-publication-card .publication-copy h3{font-size:.76rem;line-height:1.22;margin:0 0 5px}
.related-publication-card .publication-copy p{font-size:.63rem;line-height:1.3;margin:0;color:#68616a}
.library-related-person{margin:-4px 0 12px;font-size:.9rem}
.library-related-person a{font-weight:650}
@media(max-width:780px){
  .library-related-section{margin-top:26px}
  .library-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .related-publication-card .publication-copy{min-height:70px;padding:7px 8px}
  .related-publication-card .publication-copy h3{font-size:.68rem}
  .related-publication-card .publication-copy p{font-size:.57rem}
}


/* QuAD Phase 7K.3 — fast Library admin actions */
.library-browse-card-wrap,.library-list-admin-wrap{position:relative;min-width:0}
.library-browse-card-wrap>.publication-card{height:100%}
.library-admin-card-tools{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.35rem;z-index:5;opacity:.18;transition:opacity .16s ease}
.library-browse-card-wrap:hover .library-admin-card-tools,.library-browse-card-wrap:focus-within .library-admin-card-tools{opacity:1}
.library-admin-card-tools form,.library-admin-list-tools form{margin:0}
.library-admin-icon{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid rgba(0,0,0,.2);border-radius:999px;background:#fff;color:#111;text-decoration:none;font:700 1rem/1 system-ui;box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer;padding:0}
.library-admin-icon:hover,.library-admin-icon:focus-visible{background:var(--pink,#f56cc6);color:#fff;outline:none}
.library-admin-delete:hover,.library-admin-delete:focus-visible{background:#b42318}
.library-list-admin-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center}
.library-list-admin-wrap>.library-list-item{min-width:0}
.library-admin-list-tools{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.public-admin-quickedit .inline-delete-form{display:inline-flex;margin:0}
@media(max-width:760px){.library-admin-card-tools{opacity:1;top:.35rem;right:.35rem}.library-admin-icon{width:1.85rem;height:1.85rem;font-size:.9rem}.library-list-admin-wrap{grid-template-columns:1fr}.library-admin-list-tools{padding:0 0 .65rem}.library-admin-list-tools .button{font-size:.78rem}}


/* QuAD Phase 7L — smart artist import + reference-based Instagram carousel */
.quick-add-source-badges{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}
.quick-add-source-badges span{display:inline-flex;padding:5px 8px;border:1px solid rgba(23,18,25,.2);border-radius:999px;background:#fff;font-size:.78rem;font-weight:600}
.smart-import-preview{border-left:4px solid var(--blue,#13abdd)}
.smart-import-source{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center}
.smart-import-source>img{width:96px;height:112px;object-fit:cover;border-radius:6px;background:#f1f1f1}
.smart-import-source h2{margin:.15rem 0 .35rem}
.smart-import-source p{margin:.25rem 0}
.insta-card{border:1px solid rgba(23,18,25,.14);border-radius:6px;padding:.55rem;background:#fff;box-shadow:none}
.insta-card canvas{border-radius:0;box-shadow:0 2px 10px rgba(0,0,0,.08);background:#f8f8f6}
.instagram-guideline-note{border-left-color:var(--blue,#13abdd)}
@media(max-width:620px){
  .smart-import-source{grid-template-columns:70px minmax(0,1fr);gap:11px}
  .smart-import-source>img{width:70px;height:84px}
}


/* QuAD Phase 7L.2 — Sweet Fellas reference-matched Instagram designer */
.instagram-extra-upload{border-style:dashed}
.instagram-extra-drop{display:block;border:1.5px dashed #b8b8b8;background:#fff;padding:18px;cursor:pointer}
.instagram-extra-drop input{display:block;margin-bottom:10px}
.instagram-extra-drop span{display:grid;gap:3px}
.instagram-extra-preview{display:flex;gap:8px;overflow:auto;margin-top:12px;padding-bottom:3px}
.instagram-extra-chip{flex:0 0 92px;display:grid;gap:5px;font-size:.72rem;line-height:1.2}
.instagram-extra-chip img{width:92px;height:92px;object-fit:cover;background:#eee}
.instagram-image-picker{align-items:start}
.instagram-source-card{display:grid;gap:5px;min-width:0}
.instagram-source-card>label{position:relative;display:block;cursor:pointer}
.instagram-source-card>label input{position:absolute;z-index:2;left:7px;top:7px;width:18px;height:18px}
.instagram-source-card>label img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:0;border:1px solid #ddd;background:#f4f4f4}
.instagram-source-card>label input:not(:checked)+img{opacity:.48;filter:grayscale(.35)}
.crop-adjust{appearance:none;border:0;background:transparent;color:#315e8d;text-decoration:underline;text-underline-offset:2px;font:inherit;font-size:.74rem;cursor:pointer;padding:2px 0;text-align:left}
.instagram-about-builder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.instagram-about-builder>h2,.instagram-about-builder>p,.instagram-about-builder>.slide-step-number{grid-column:1/-1}
.instagram-about-field{display:grid;gap:5px;align-content:start}
.instagram-about-field label{margin:0}
.instagram-about-field input:not([type=checkbox]),.instagram-about-field textarea{width:100%;box-sizing:border-box}
.instagram-about-long{grid-column:1/-1}
.instagram-crop-dialog{width:min(520px,calc(100vw - 28px));border:0;padding:0;background:transparent}
.instagram-crop-dialog::backdrop{background:rgba(0,0,0,.55)}
.crop-dialog-card{background:#fff;padding:18px;border:1px solid #222;box-shadow:8px 8px 0 var(--blue,#13abdd);display:grid;gap:13px}
.crop-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.crop-dialog-heading h2{margin:0}
.instagram-crop-preview{width:100%;aspect-ratio:4/5;overflow:hidden;background:#f3f3f3;border:1px solid #ddd}
.instagram-crop-preview img{width:100%;height:100%;object-fit:cover;transform-origin:center;transition:transform .08s linear;display:block}
.instagram-crop-dialog input[type=range]{width:100%}
.insta-card canvas{background:#fff}
@media(max-width:700px){
 .instagram-about-builder{grid-template-columns:1fr}
 .instagram-about-long{grid-column:auto}
 .instagram-source-card .crop-adjust{font-size:.7rem}
}

/* QuAD Phase 7M — verification, account clarity, tagline, slide-by-slide Instagram studio */
.brand-lockup{display:flex;align-items:center;gap:14px;min-width:0}
.brand-tagline{display:block;color:#111;font-size:.78rem;line-height:1.2;font-weight:500;white-space:nowrap}
.verified-badge{background:#dff5ea!important;color:#145f3b!important;border-color:#a9dec4!important}
.unverified-badge{background:#f1f1f1!important;color:#555!important;border-color:#d4d4d4!important}
.zite-card-badges .verified-badge,.zite-card-badges .unverified-badge{font-weight:700!important}

/* My Account is a dashboard, not another wall of generic panels. */
.account-page{max-width:1100px}
.account-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.account-page-header h1{margin:.15rem 0 .2rem}.account-page-header p{margin:0;color:var(--muted-ink)}
.account-section{margin:30px 0}
.account-section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}
.account-section-heading h2{margin:0;font-size:1.35rem}.account-section-heading p{margin:3px 0 0;color:var(--muted-ink)}
.account-connected-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,340px));gap:18px}
.account-connected-profile{min-width:0}
.account-artist-card .artist-card{width:100%;margin:0}
.account-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.account-instagram-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.account-tool-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--border);background:#fff;border-radius:8px}
.account-tool-card h3{margin:0 0 8px}.request-status-line{margin:12px 0 0;color:var(--muted-ink)}
.instagram-pending-edit{display:flex;align-items:center;justify-content:space-between;gap:16px}.instagram-pending-edit span{display:block;color:var(--muted-ink);margin-top:3px}

/* Slide-by-slide Instagram designer. The preview is the crop tool. */
.instagram-slide-by-slide{max-width:1380px}
.instagram-slide-form{display:grid;gap:18px}
.instagram-studio{display:grid;grid-template-columns:220px minmax(390px,600px) minmax(250px,360px);gap:18px;align-items:start}
.instagram-media-rail,.instagram-slide-controls,.instagram-preview-workspace{border:1px solid var(--border);background:#fff;border-radius:8px}
.instagram-media-rail{padding:12px;position:sticky;top:92px;max-height:calc(100vh - 118px);overflow:auto}
.instagram-studio-label{display:grid;gap:2px;margin-bottom:10px}.instagram-studio-label span{font-size:.75rem;color:var(--muted-ink);line-height:1.35}
.instagram-studio-upload{display:grid;gap:3px;padding:10px;margin-bottom:10px;border:1px dashed #bbb;background:#fafafa;cursor:pointer}
.instagram-studio-upload input{width:100%;font-size:.72rem}.instagram-studio-upload span{font-weight:700;font-size:.78rem}.instagram-studio-upload small{color:var(--muted-ink);line-height:1.3}
.instagram-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.instagram-media-thumb{padding:0;border:2px solid transparent;background:transparent;cursor:pointer}
.instagram-media-thumb:hover,.instagram-media-thumb:focus-visible{border-color:var(--blue)}
.instagram-media-thumb img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#eee}
.instagram-preview-workspace{padding:12px}
.instagram-slide-tabs{display:flex;gap:5px;overflow:auto;padding-bottom:9px;margin-bottom:8px}
.instagram-slide-tabs button{flex:0 0 auto;border:1px solid #ddd;background:#fff;padding:6px 9px;font:inherit;font-size:.72rem;cursor:pointer}
.instagram-slide-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}
.instagram-preview-frame{position:relative;width:min(100%,540px);margin:auto;touch-action:none;user-select:none}
.instagram-preview-frame canvas{display:block;width:100%;height:auto;aspect-ratio:4/5;background:#fff;box-shadow:0 0 0 1px #ddd;cursor:grab;touch-action:none}
.instagram-preview-frame canvas:active{cursor:grabbing}
.instagram-crop-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:6px 9px;background:rgba(0,0,0,.72);color:#fff;font-size:.68rem;pointer-events:none;white-space:nowrap}
.instagram-preview-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:end;margin-top:12px}
.instagram-zoom-control{display:flex;align-items:end;justify-content:center;gap:8px}.instagram-zoom-control label{display:grid;gap:3px;font-size:.7rem}.instagram-zoom-control input{width:150px}
.instagram-slide-controls{padding:16px;position:sticky;top:92px}.instagram-slide-controls h2{margin:.15rem 0 .5rem}.instagram-slide-controls p{line-height:1.5}
.instagram-slide-controls [data-controls]{display:grid;gap:10px}
.cover-slot-controls{display:grid;gap:7px}.cover-slot-button{padding:10px;border:1px solid #d7d7d7;background:#fff;text-align:left;font:inherit;cursor:pointer}.cover-slot-button.active{border-color:var(--blue);box-shadow:3px 3px 0 var(--blue)}
.instagram-slide-controls .instagram-about-field{display:grid;gap:5px;padding:9px 0;border-top:1px solid #eee}.instagram-slide-controls .instagram-about-field:first-of-type{border-top:0}
.instagram-slide-controls textarea{resize:vertical}
.instagram-fit-row{margin-top:8px}
.instagram-request-submit{border:1px solid var(--border);border-radius:8px;background:#fff;padding:16px}

@media(max-width:1050px){
  .brand-tagline{font-size:.7rem;max-width:220px;white-space:normal}
  .instagram-studio{grid-template-columns:180px minmax(340px,1fr)}
  .instagram-slide-controls{grid-column:1/-1;position:static}
  .instagram-media-rail{position:static;max-height:none}
}
@media(max-width:760px){
  .brand-tagline{display:none}
  .account-page-header{align-items:flex-start;flex-direction:column}
  .account-connected-grid,.account-instagram-grid{grid-template-columns:1fr}
  .instagram-pending-edit{align-items:stretch;flex-direction:column}
  .instagram-studio{grid-template-columns:1fr}
  .instagram-media-rail{order:2}.instagram-preview-workspace{order:1}.instagram-slide-controls{order:3}
  .instagram-media-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .instagram-preview-toolbar{grid-template-columns:1fr 1fr}.instagram-zoom-control{grid-column:1/-1;grid-row:1;justify-content:space-between}.instagram-preview-toolbar>[data-prev-slide]{grid-column:1}.instagram-preview-toolbar>[data-next-slide]{grid-column:2}
  .instagram-crop-hint{font-size:.6rem;bottom:8px}
}
@media(max-width:480px){.instagram-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.instagram-preview-workspace{padding:8px}.instagram-slide-controls{padding:13px}}


/* QuAD Phase 7N — four-screen Instagram wizard + duplicate artist matching */
.instagram-wizard-page{max-width:1280px}
.instagram-wizard-form{display:grid;gap:18px}
.instagram-wizard-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:sticky;top:66px;z-index:10;padding:10px;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:12px;backdrop-filter:blur(10px)}
.instagram-wizard-nav button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid var(--border);border-radius:9px;background:#fff;color:#403741;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}
.instagram-wizard-nav button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f2edf4;font-size:.72rem}
.instagram-wizard-nav button.is-active{background:var(--primary);border-color:var(--primary);color:#111;box-shadow:3px 3px 0 var(--blue)}
.instagram-wizard-nav button.is-active span{background:#fff;color:#111}
.instagram-wizard-screen{border:1px solid var(--border);border-radius:14px;background:#fff;padding:20px;margin:0}
.instagram-wizard-screen[hidden]{display:none!important}
.instagram-screen-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.instagram-screen-heading h2{margin:.15rem 0 .35rem;font-size:1.55rem}.instagram-screen-heading p{margin:.2rem 0;max-width:760px}
.instagram-screen-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(380px,1.1fr);gap:22px;align-items:start}
.instagram-screen-controls{min-width:0}.instagram-preview-panel{position:sticky;top:140px;min-width:0}
.instagram-preview-panel .instagram-preview-frame{width:min(100%,560px)}
.instagram-crop-tools{display:flex;align-items:end;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:12px}.instagram-crop-tools label{display:grid;gap:4px;font-size:.75rem;font-weight:700}.instagram-crop-tools input[type=range]{width:min(240px,55vw)}
.instagram-screen-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.cover-slot-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.cover-slot-button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;border-radius:10px;padding:10px}.cover-slot-button>span{grid-row:1/3;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f0edf2;font-weight:900}.cover-slot-button>b{font-size:.83rem}.cover-slot-button>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-ink)}.cover-slot-button.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(19,171,221,.18)}
.instagram-image-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.instagram-library-tile{position:relative;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;background:#eee;cursor:pointer}.instagram-library-tile img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.instagram-library-tile.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px rgba(255,79,195,.18)}.instagram-library-tile>span{position:absolute;right:6px;top:6px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--primary);color:#111;font-size:.72rem;font-weight:900;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.about-screen-layout .instagram-about-builder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.about-screen-layout .instagram-about-field{padding:0;border:0}.about-screen-layout .instagram-about-long{grid-column:1/-1}.about-screen-layout textarea{resize:vertical}
.artwork-selection-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px}.instagram-artwork-library{margin-bottom:18px}.selected-artwork-list{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:16px}.selected-artwork-card{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:10px;border:1px solid var(--border);border-radius:11px;background:#fff}.selected-artwork-card.is-active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(19,171,221,.13)}.selected-artwork-thumb{position:relative;padding:0;border:0;background:#eee;cursor:pointer;border-radius:7px;overflow:hidden}.selected-artwork-thumb img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.selected-artwork-thumb span{position:absolute;left:0;right:0;bottom:0;padding:4px;background:rgba(0,0,0,.68);color:#fff;font-size:.68rem;font-weight:800}.selected-artwork-fields{display:grid;gap:7px}.selected-artwork-fields label{display:grid;gap:4px;font-size:.78rem;font-weight:800}.selected-artwork-fields textarea{width:100%;resize:vertical;min-height:72px}
.instagram-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.instagram-review-card{display:grid;gap:7px;min-width:0}.instagram-review-card canvas{display:block;width:100%;height:auto;aspect-ratio:4/5;border:1px solid #ddd;background:#fff}.instagram-review-label{text-align:center;font-size:.78rem;font-weight:800;color:var(--muted-ink)}.review-submit{margin:24px 0 0}.review-heading .button-row{flex-shrink:0}
.admin-artwork-picker .instagram-source-card textarea{width:100%;min-height:70px;resize:vertical;font-size:.76rem;padding:6px}
.duplicate-artist-check{grid-column:1/-1;padding:15px;border:1px solid #f0bfdc;border-radius:13px;background:#fff8fc}.duplicate-match-heading{display:grid;gap:3px;margin-bottom:10px}.duplicate-match-heading strong{font-size:1rem}.duplicate-match-heading span{font-size:.8rem;color:var(--muted-ink)}.duplicate-match-grid{display:grid;gap:8px}.duplicate-match-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:11px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:10px;background:#fff}.duplicate-match-card>img,.duplicate-match-placeholder{width:64px;height:64px;border-radius:8px;object-fit:cover;background:linear-gradient(135deg,var(--pink),var(--blue))}.duplicate-match-placeholder{display:grid;place-items:center;color:#fff;font-weight:900}.duplicate-match-copy{min-width:0}.duplicate-match-copy h3{margin:0 0 2px;font-size:.92rem}.duplicate-match-copy p{margin:1px 0;font-size:.74rem;color:var(--muted-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duplicate-continue{margin-top:8px;font-size:.78rem}
@media(max-width:980px){.instagram-screen-layout{grid-template-columns:1fr}.instagram-preview-panel{position:static;order:-1}.instagram-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instagram-image-library{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:700px){.instagram-wizard-nav{top:58px;padding:7px;gap:5px}.instagram-wizard-nav button{min-height:42px;padding:6px 4px}.instagram-wizard-nav button b{font-size:.7rem}.instagram-wizard-nav button span{width:21px;height:21px}.instagram-wizard-screen{padding:13px}.instagram-screen-heading{flex-direction:column}.cover-slot-cards{grid-template-columns:1fr}.instagram-image-library{grid-template-columns:repeat(3,minmax(0,1fr))}.about-screen-layout .instagram-about-builder{grid-template-columns:1fr}.about-screen-layout .instagram-about-long{grid-column:auto}.instagram-review-grid{grid-template-columns:1fr 1fr;gap:9px}.selected-artwork-card{grid-template-columns:76px minmax(0,1fr)}.review-heading .button-row{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.duplicate-match-card{grid-template-columns:54px minmax(0,1fr)}.duplicate-match-card>img,.duplicate-match-placeholder{width:54px;height:54px}.duplicate-match-card>.button{grid-column:1/-1;width:100%}}
@media(max-width:430px){.instagram-wizard-nav button{display:grid;gap:2px}.instagram-image-library{grid-template-columns:repeat(3,minmax(0,1fr))}.instagram-review-grid{grid-template-columns:1fr}.selected-artwork-card{grid-template-columns:64px minmax(0,1fr)}.selected-artwork-fields .button-row{gap:5px}.selected-artwork-fields .button{padding-inline:8px}.instagram-crop-hint{white-space:normal;width:calc(100% - 20px);text-align:center}}

/* QuAD Phase 7O — focused four-screen Instagram builder */
.button.primary,.chip.active{background:var(--pink)!important;color:#111!important;border-color:#171219!important;box-shadow:3px 3px 0 var(--blue)!important}
.button.primary:hover,.button.primary:focus-visible,.chip.active:hover{background:#f9bfe0!important;color:#111!important;box-shadow:4px 4px 0 var(--blue)!important}
.ig2-page{max-width:1040px}
.ig2-page-heading{margin-bottom:14px}
.ig2-form{display:grid;gap:20px}
.ig2-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.ig2-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;border:2px solid var(--ink);border-radius:10px;background:#fff;box-shadow:3px 3px 0 #e8e3ea}
.ig2-progress button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:7px 10px;border:0;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-weight:850;cursor:pointer}
.ig2-progress button span{display:grid;place-items:center;width:25px;height:25px;border:2px solid var(--ink);border-radius:50%;font-size:.72rem;font-weight:950;background:#fff}
.ig2-progress button.is-active{background:#fff0fa;box-shadow:inset 0 0 0 2px var(--pink)}
.ig2-progress button.is-active span{background:var(--pink)}
.ig2-screen{display:grid;gap:22px;padding:28px;border:2px solid var(--ink);border-radius:12px;background:#fff;box-shadow:4px 4px 0 #e7e2e9}
.ig2-screen[hidden]{display:none!important}
.ig2-screen-head{text-align:center;max-width:760px;margin:0 auto}
.ig2-screen-head h2{margin:.2rem 0 .45rem;font-size:clamp(1.6rem,3vw,2.15rem)}
.ig2-screen-head p{margin:.25rem auto;line-height:1.55}
.ig2-canvas-wrap{width:min(100%,560px);margin:0 auto;border:2px solid var(--ink);background:#f4f4f4;box-shadow:4px 4px 0 var(--blue);line-height:0;overflow:hidden}
.ig2-canvas-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:4/5;touch-action:none;background:#fff}
.ig2-cropbar{display:flex;align-items:end;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:-8px}
.ig2-cropbar label{display:grid;gap:5px;font-size:.78rem;font-weight:800}
.ig2-cropbar input[type=range]{width:min(320px,64vw)}
.ig2-cover-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:820px;width:100%;margin:0 auto}
.ig2-cover-slot{display:grid;grid-template-columns:auto 70px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:9px;border:2px solid #d9d2dc;border-radius:9px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.ig2-cover-slot.is-active{border-color:var(--blue);box-shadow:3px 3px 0 var(--blue)}
.ig2-slot-number{display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;font-size:.78rem;font-weight:950;background:#fff}
.ig2-slot-thumb{display:grid;place-items:center;width:70px;height:70px;background:#f1edf2;border:1px solid #ddd4df;overflow:hidden}
.ig2-slot-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ig2-slot-thumb>span{font-size:1.6rem;font-weight:800;color:#877a89}
.ig2-slot-copy{display:grid;gap:3px;min-width:0}.ig2-slot-copy b{font-size:.9rem}.ig2-slot-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-ink)}
.ig2-library-head,.ig2-selected-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:6px}
.ig2-library-head h3,.ig2-selected-heading h3{margin:0 0 3px;font-size:1.12rem}.ig2-library-head p,.ig2-selected-heading p{margin:0}
.ig2-library{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.ig2-tile{position:relative;padding:0;border:2px solid transparent;border-radius:7px;background:#eee;overflow:hidden;cursor:pointer;aspect-ratio:1}
.ig2-tile img{display:block;width:100%;height:100%;object-fit:cover}
.ig2-tile.is-selected{border-color:var(--pink);box-shadow:0 0 0 2px rgba(246,168,211,.28)}
.ig2-tile-badge{position:absolute;right:6px;top:6px;display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border:2px solid #111;border-radius:999px;background:var(--pink);color:#111;font-size:.72rem;font-weight:950;box-shadow:1px 1px 0 #111}
.ig2-about-list{display:grid;gap:10px;max-width:820px;width:100%;margin:0 auto}
.ig2-about-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:2px solid #ddd6df;border-radius:9px;background:#faf9fa;opacity:.7}
.ig2-about-row.is-on{border-color:#c7bfc9;background:#fff;opacity:1;box-shadow:2px 2px 0 #ece6ee}
.ig2-about-check{display:flex!important;align-items:center;gap:8px!important;margin:9px 0 0!important;font-weight:850!important}
.ig2-about-check input{width:20px!important;height:20px!important;min-height:0!important;margin:0!important;accent-color:var(--pink)}
.ig2-about-row>input,.ig2-about-row>textarea{width:100%;margin:0!important;background:#fff}.ig2-about-row>textarea{resize:vertical;min-height:96px}
.ig2-more-details{max-width:820px;width:100%;margin:0 auto;border-top:1px solid #e6e0e8;padding-top:2px}.ig2-more-details summary{cursor:pointer;font-weight:850;padding:10px 0}.ig2-about-list-more{margin-top:6px}
.ig2-selected-list{display:grid;gap:14px;max-width:880px;width:100%;margin:0 auto}
.ig2-selected-card{display:grid;gap:12px;padding:14px;border:2px solid #ddd6df;border-radius:10px;background:#fff}
.ig2-selected-top{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center}.ig2-selected-top img{width:88px;height:88px;object-fit:cover;border:1px solid #ddd}.ig2-selected-top>div{display:grid;gap:4px}.ig2-selected-top b{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ig2-slide-number{font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-ink)}
.ig2-selected-card>label{display:grid!important;gap:6px!important;font-size:.82rem;font-weight:850!important}.ig2-selected-card textarea{width:100%;min-height:82px;resize:vertical}
.ig2-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.ig2-empty{padding:28px;text-align:center;border:2px dashed #d8d0da;border-radius:9px;color:var(--muted-ink)}
.ig2-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid #e7e1e8}
.ig2-review-edit{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.ig2-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ig2-review-card{display:grid;gap:8px;min-width:0}.ig2-review-card canvas{display:block;width:100%;height:auto;aspect-ratio:4/5;border:2px solid var(--ink);background:#fff}.ig2-review-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ig2-review-card-head strong{font-size:.86rem}
.ig2-submit-box{display:grid;gap:16px;padding:18px;border:2px solid var(--ink);border-radius:9px;background:#fff6fc}.ig2-submit-box .button{justify-self:end}
.ig2-crop-dialog{width:min(760px,calc(100vw - 24px));max-height:94vh;padding:0;border:0;background:transparent}.ig2-crop-dialog::backdrop{background:rgba(15,12,16,.72)}
.ig2-dialog-card{display:grid;gap:14px;padding:18px;border:2px solid var(--ink);border-radius:12px;background:#fff;box-shadow:5px 5px 0 var(--blue)}
.ig2-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.ig2-dialog-head h2{margin:.15rem 0}.ig2-dialog-close{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--ink);border-radius:50%;background:#fff;font-size:1.35rem;font-weight:900;cursor:pointer}
.ig2-dialog-canvas{width:min(100%,440px);margin:0 auto;border:2px solid var(--ink);line-height:0}.ig2-dialog-canvas canvas{display:block;width:100%;height:auto;aspect-ratio:4/5;touch-action:none;background:#fff}
.ig2-dialog-tools{display:flex;align-items:end;justify-content:center;gap:10px;flex-wrap:wrap}.ig2-dialog-tools>label:first-child{display:grid;gap:4px;font-size:.78rem;font-weight:800}.ig2-dialog-tools input[type=range]{width:min(230px,55vw)}
@media(max-width:820px){.ig2-screen{padding:20px}.ig2-library{grid-template-columns:repeat(5,minmax(0,1fr))}.ig2-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ig2-cover-slot{grid-template-columns:auto 58px minmax(0,1fr)}.ig2-slot-thumb{width:58px;height:58px}}
@media(max-width:620px){.ig2-page{padding-inline:12px}.ig2-page-heading{align-items:flex-start;flex-direction:column}.ig2-progress{gap:4px;padding:5px;box-shadow:none}.ig2-progress button{display:grid;gap:2px;min-height:52px;padding:5px 2px;font-size:.72rem}.ig2-progress button span{margin:auto;width:22px;height:22px}.ig2-screen{padding:14px;gap:18px;box-shadow:none}.ig2-screen-head{text-align:left}.ig2-screen-head .slide-step-number{margin-bottom:4px}.ig2-canvas-wrap{width:100%;box-shadow:3px 3px 0 var(--blue)}.ig2-cover-slots{grid-template-columns:1fr}.ig2-cover-slot{grid-template-columns:auto 64px minmax(0,1fr)}.ig2-slot-thumb{width:64px;height:64px}.ig2-library-head,.ig2-selected-heading{align-items:stretch;flex-direction:column}.ig2-library-head .button{width:100%}.ig2-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ig2-about-row{grid-template-columns:1fr;gap:8px;padding:10px}.ig2-about-check{margin:0!important}.ig2-review-grid{grid-template-columns:1fr}.ig2-review-card{max-width:440px;margin:0 auto;width:100%}.ig2-actions .button{flex:1}.ig2-submit-box .button{justify-self:stretch;width:100%}.ig2-selected-top{grid-template-columns:72px minmax(0,1fr)}.ig2-selected-top img{width:72px;height:72px}.ig2-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ig2-card-actions .button{width:100%;padding-inline:7px}.ig2-dialog-card{padding:12px}.ig2-dialog-tools{display:grid;grid-template-columns:1fr 1fr}.ig2-dialog-tools>label:first-child{grid-column:1/-1}.ig2-dialog-tools input[type=range]{width:100%}}
@media(max-width:390px){.ig2-library{grid-template-columns:repeat(3,minmax(0,1fr))}.ig2-progress button b{font-size:.65rem}.ig2-actions{align-items:stretch;flex-direction:column-reverse}.ig2-actions span{display:none}.ig2-actions .button{width:100%}}


/* QuAD Phase 7P — compact editorial Instagram editor, synchronized with header colours */
.ig2-page{max-width:1180px}
.ig2-form{gap:12px}
.ig2-progress{padding:6px;gap:6px;box-shadow:none}
.ig2-progress button{min-height:40px;padding:5px 8px}
.ig2-progress button.is-active{background:#fff6fb;box-shadow:inset 0 0 0 2px var(--pink)}
.ig2-progress button.is-active span{background:var(--pink)}
.ig2-screen{gap:12px;padding:16px 18px;box-shadow:none}
.ig2-screen-head{max-width:none;text-align:left;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0}
.ig2-screen-head .slide-step-number{margin:0;flex:0 0 auto}
.ig2-screen-head h2{margin:0;font-size:1.35rem}
.ig2-screen-head p{margin:0;line-height:1.35;flex:1 1 420px;font-size:.86rem}
.ig2-cover-slots{max-width:none;gap:8px;margin:0}
.ig2-cover-slot{grid-template-columns:auto 48px minmax(0,1fr);gap:8px;padding:6px 8px;min-height:60px}
.ig2-slot-thumb{width:48px;height:48px}.ig2-slot-number{width:24px;height:24px;font-size:.7rem}
.ig2-slot-copy b{font-size:.8rem}.ig2-slot-copy small{font-size:.7rem}
.ig2-library-head,.ig2-selected-heading{margin:0;align-items:center}.ig2-library-head h3,.ig2-selected-heading h3{font-size:.98rem}
.ig2-library-head p,.ig2-selected-heading p{font-size:.75rem}
.ig2-library-head .button{min-height:32px;padding:5px 9px;font-size:.76rem}
.ig2-library-strip{display:flex!important;gap:7px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:2px 2px 6px;grid-template-columns:none!important}
.ig2-library-strip .ig2-tile{flex:0 0 76px;width:76px;height:76px;aspect-ratio:1}
.ig2-tile.is-selected{border-color:var(--pink);box-shadow:0 0 0 2px rgba(246,168,211,.28)}
.ig2-tile-badge{background:var(--pink)}
.ig2-cover-preview-area{display:grid;grid-template-columns:minmax(240px,320px) minmax(170px,1fr);gap:16px;align-items:center;justify-content:center;max-width:760px;margin:0 auto;width:100%}
.ig2-cover-preview-area .ig2-canvas-wrap{width:min(100%,320px);margin:0}
.ig2-cover-preview-area .ig2-cropbar{margin:0;display:grid;align-content:center;justify-items:start;gap:10px}
.ig2-cover-preview-area .ig2-cropbar input[type=range]{width:min(260px,100%)}
.ig2-canvas-wrap{box-shadow:3px 3px 0 var(--blue);background:#f8f8f6}
.ig2-about-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,320px);gap:16px;align-items:start}
.ig2-about-editor{min-width:0;max-height:440px;overflow:auto;padding-right:5px}
.ig2-about-preview-wrap{width:min(100%,320px);position:sticky;top:78px}
.ig2-about-list{max-width:none;gap:7px;margin:0}
.ig2-about-row{grid-template-columns:145px minmax(0,1fr);gap:8px;padding:7px 9px;border-width:1px;border-radius:6px}
.ig2-about-check{margin:5px 0 0!important;font-size:.78rem!important}.ig2-about-check input{width:17px!important;height:17px!important;accent-color:var(--pink)}
.ig2-about-row>input,.ig2-about-row>textarea{padding:7px 8px!important;font-size:.78rem!important;min-height:34px!important;border-radius:5px!important}
.ig2-about-row>textarea{min-height:58px!important;max-height:90px}
.ig2-more-details{max-width:none;margin:0}.ig2-more-details summary{padding:6px 0;font-size:.78rem}
.ig2-selected-heading{margin-top:2px}
.ig2-selected-list{display:flex;gap:9px;max-width:none;margin:0;overflow-x:auto;padding:1px 2px 7px;scrollbar-width:thin}
.ig2-selected-card{flex:0 0 290px;gap:8px;padding:9px;border-width:1px;border-radius:7px}
.ig2-selected-top{grid-template-columns:58px minmax(0,1fr);gap:8px}.ig2-selected-top img{width:58px;height:58px}.ig2-selected-top b{font-size:.78rem}.ig2-slide-number{font-size:.62rem}
.ig2-selected-card>label{font-size:.7rem!important;gap:3px!important}.ig2-selected-card textarea{min-height:54px!important;max-height:70px;padding:7px;font-size:.75rem}
.ig2-card-actions{gap:5px}.ig2-card-actions .button{min-height:29px;padding:4px 7px;font-size:.68rem}
.ig2-actions{padding-top:9px}.ig2-actions .button{min-height:34px;padding:6px 10px}
.ig2-submit-box{background:#fff7fb}
@media(min-width:821px) and (min-height:720px){
  .ig2-screen[data-ig-screen="0"],.ig2-screen[data-ig-screen="1"],.ig2-screen[data-ig-screen="2"]{min-height:0;max-height:calc(100vh - 145px);overflow:hidden}
  .ig2-screen[data-ig-screen="2"] .ig2-selected-list{max-height:205px}
}
@media(max-width:820px){
  .ig2-screen{padding:13px;gap:10px}
  .ig2-cover-preview-area{grid-template-columns:1fr;max-width:430px}.ig2-cover-preview-area .ig2-canvas-wrap{margin:auto}.ig2-cover-preview-area .ig2-cropbar{display:flex;justify-content:center;align-items:end}
  .ig2-about-workspace{grid-template-columns:1fr}.ig2-about-editor{max-height:none;overflow:visible}.ig2-about-preview-wrap{position:static;order:-1;width:min(100%,420px)}
}
@media(max-width:620px){
  .ig2-screen-head{display:grid;gap:3px}.ig2-screen-head p{font-size:.78rem}
  .ig2-cover-slots{display:flex;overflow-x:auto;gap:6px;padding-bottom:3px}.ig2-cover-slot{flex:0 0 235px;grid-template-columns:auto 46px minmax(0,1fr)}.ig2-slot-thumb{width:46px;height:46px}
  .ig2-library-head{display:flex;flex-direction:row;align-items:center}.ig2-library-head>div{min-width:0}.ig2-library-head p{display:none}.ig2-library-head .button{width:auto;white-space:nowrap}
  .ig2-library-strip .ig2-tile{flex-basis:68px;width:68px;height:68px}
  .ig2-about-row{grid-template-columns:118px minmax(0,1fr);padding:6px}.ig2-about-row>textarea{min-height:52px!important}
  .ig2-selected-card{flex-basis:260px}.ig2-card-actions{display:flex}.ig2-card-actions .button{width:auto}
  .ig2-about-preview-wrap{width:min(100%,340px)}
}


/* QuAD Phase 7Q — Instagram carousel as an extension of the website artist-card system */
:root{
  --quad-card-instagram-stage:#faf7ff;
}
.button.primary,.chip.active{
  background:var(--pink)!important;
  color:#171219!important;
  border-color:#171219!important;
  box-shadow:3px 3px 0 var(--blue)!important;
}
.button.primary:hover,.button.primary:focus-visible,.chip.active:hover{
  background:var(--pink)!important;
  color:#171219!important;
  transform:translate(-1px,-1px);
  box-shadow:4px 4px 0 var(--blue)!important;
}
.ig2-cover-library .ig2-tile.is-selected{
  border-color:var(--pink)!important;
  box-shadow:0 0 0 3px rgba(246,168,211,.28)!important;
}
.ig2-cover-library .ig2-tile-badge{
  min-width:auto;
  padding:3px 6px;
  border-radius:999px;
  background:var(--pink);
  color:#171219;
  font-size:.58rem;
  font-weight:900;
}
.ig2-cover-preview-area{
  grid-template-columns:minmax(240px,315px) minmax(190px,270px);
  max-width:650px;
  gap:18px;
}
.ig2-cover-preview-area .ig2-canvas-wrap{
  width:min(100%,315px);
  background:var(--quad-card-instagram-stage);
}
.ig2-cover-preview-area .ig2-cropbar{
  padding:12px;
  border:1px solid var(--border);
  border-radius:9px;
  background:#fff;
}
.ig2-cover-preview-area .ig2-cropbar strong{font-size:.86rem}
.ig2-cover-preview-area .ig2-cropbar p{margin:0;font-size:.72rem;line-height:1.35}
.ig2-review-card canvas,.insta-card canvas{background:var(--quad-card-instagram-stage)}
@media(min-width:821px) and (min-height:690px){
  .ig2-screen[data-ig-screen="0"]{
    max-height:calc(100vh - 132px);
  }
}
@media(max-width:820px){
  .ig2-cover-preview-area{grid-template-columns:1fr;max-width:400px}
  .ig2-cover-preview-area .ig2-cropbar{width:100%}
}


/* Phase 7R refinements */
.instagram-source-card{position:relative}
.admin-cover-order{position:absolute;right:8px;top:8px;z-index:3;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.95);font-size:.68rem;font-weight:850;border:1px solid #ddd}
.instagram-source-card.is-cover-selected{outline:2px solid var(--pink);outline-offset:2px;border-radius:12px}
.zite-card-copy p{display:none}
.zite-card-badges{padding-top:4px}
@media (max-width:740px){.zite-card-badges{display:flex!important}.zite-card-badges span:nth-child(n+5){display:none}}

/* QuAD Phase 7W — themed footer + editable public copy */
.site-footer{
  background:linear-gradient(135deg,#fff8fc 0%,#f5fbff 100%)!important;
  color:var(--ink)!important;
  border-top:4px solid transparent!important;
  border-image:linear-gradient(90deg,var(--pink),var(--blue)) 1!important;
}
.site-footer a,.site-footer .muted,.site-footer p{color:var(--ink)!important}
.site-footer .disclaimer{color:#746a77!important;font-style:normal}
.site-footer .newsletter-form input{border-color:var(--ink)!important;color:var(--ink)!important;background:#fff!important}
.site-footer .button{border-color:var(--ink)!important;box-shadow:2px 2px 0 var(--blue)!important}
.site-footer .footer-links span{color:#9a8fa0}
.site-footer .report-problem-link{display:inline!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:600;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}


/* Phase 7Y — artist editor controlled vocabularies + alignment */
.admin-artist-form .artist-basics-grid{align-items:start}
.admin-artist-form .artist-basics-grid>label{display:grid;grid-template-rows:minmax(1.45rem,auto) 46px;align-content:start;gap:5px;margin:0}
.admin-artist-form .artist-basics-grid input,
.admin-artist-form .artist-basics-grid select{width:100%;height:46px;min-height:46px;box-sizing:border-box;margin:0}
.controlled-vocab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.controlled-vocab-picker{display:grid;grid-template-rows:auto auto auto auto;align-content:start;gap:10px;padding:14px;border:1px solid #d9d1dc;border-radius:10px;background:#fff}
.controlled-vocab-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:48px}
.controlled-vocab-heading strong{display:block;font-size:.95rem}.controlled-vocab-heading span{display:block;margin-top:2px;color:#6b626c;font-size:.75rem;font-weight:500;line-height:1.35}
.controlled-vocab-selected{display:flex;flex-wrap:wrap;align-items:flex-start;gap:7px;min-height:37px;padding:7px;border:1px solid #e3dce5;border-radius:8px;background:#faf8fb}
.controlled-vocab-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #cfc5d2;border-radius:999px;background:#fff;padding:5px 9px;color:var(--ink);font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}
.controlled-vocab-chip b{font-size:1rem;line-height:1}.controlled-vocab-empty{align-self:center;color:#817681;font-size:.78rem}
.controlled-vocab-tools{display:grid;gap:8px}.controlled-vocab-search-label{display:grid!important;grid-template-rows:auto 44px!important;gap:5px!important;margin:0!important;font-size:.78rem}
.controlled-vocab-search-label input{width:100%;height:44px;min-height:44px;box-sizing:border-box;margin:0}
.controlled-vocab-browse{border:1px solid #ded6e1;border-radius:8px;background:#fff;overflow:hidden}.controlled-vocab-browse summary{cursor:pointer;padding:9px 11px;font-size:.78rem;font-weight:800;background:#faf8fb}
.controlled-vocab-options{display:grid;gap:0;max-height:230px;overflow:auto;padding:5px}.controlled-vocab-options>label{display:flex!important;align-items:center!important;grid-template-rows:none!important;gap:8px!important;min-height:36px;padding:6px 7px;margin:0!important;border-radius:6px;font-size:.82rem;font-weight:600!important;cursor:pointer}.controlled-vocab-options>label:hover{background:#f7f3f8}.controlled-vocab-options input{width:auto!important;height:auto!important;min-height:0!important;margin:0!important}
.controlled-vocab-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.controlled-vocab-add input{width:100%;height:42px;min-height:42px;box-sizing:border-box;margin:0}.controlled-vocab-add .button{height:42px;margin:0}
@media(max-width:760px){.controlled-vocab-grid{grid-template-columns:1fr}.admin-artist-form .artist-basics-grid>label{grid-template-rows:auto 46px}}
.admin-artist-form .form-grid{align-items:start}
.admin-artist-form .form-grid>label{margin:0}
.admin-artist-form input:not([type="checkbox"]):not([type="radio"]),
.admin-artist-form select,
.admin-artist-form textarea{width:100%;box-sizing:border-box}


/* Phase 7Z — simpler artist metadata controls */
.admin-artist-form .artist-basics-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
  align-items:start;
}
.admin-artist-form .artist-basics-grid>label{
  display:grid;
  grid-template-rows:1.55rem 46px;
  gap:5px;
  margin:0;
  line-height:1.2;
}
.admin-artist-form .artist-basics-grid input,
.admin-artist-form .artist-basics-grid select{
  width:100%;height:46px;min-height:46px;margin:0;box-sizing:border-box;
}
.simple-vocab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.simple-vocab-field{display:grid!important;grid-template-rows:auto auto auto!important;gap:7px!important;margin:0!important;font-weight:700}
.simple-vocab-field>select{width:100%;height:190px;min-height:190px;margin:0;box-sizing:border-box;padding:6px;background:#fff}
.simple-vocab-field>select option{padding:7px 8px}
.simple-vocab-field .field-help{font-weight:500;line-height:1.35}
@media(max-width:760px){
  .admin-artist-form .artist-basics-grid,.simple-vocab-grid{grid-template-columns:1fr}
  .admin-artist-form .artist-basics-grid>label{grid-template-rows:auto 46px}
}


/* Phase 7AA: compact searchable artist vocabulary fields */
.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.admin-section-heading h2{margin:0 0 3px}.admin-section-heading .field-help{margin:0;max-width:720px}
.artist-location-list{display:grid;gap:12px;margin-bottom:12px}
.artist-location-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}
.artist-location-row>label{display:grid;grid-template-rows:minmax(1.45rem,auto) 46px;gap:5px;margin:0}
.artist-location-row>label>span{font-weight:700}.artist-location-row>label>span small{font-weight:600;color:#7a707b;margin-left:6px}
.artist-location-row .location-remove{height:46px;margin:0}.location-row-spacer{width:84px;height:46px}
.vocab-typeahead{position:relative}.vocab-typeahead-label{display:block;font-weight:700;margin:0 0 6px}
.vocab-input-wrap{position:relative}.vocab-typeahead input[type=text]{width:100%;height:46px;min-height:46px;margin:0;box-sizing:border-box}
.vocab-dropdown{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;padding:5px;background:#fff;border:1px solid #d8d0db;border-radius:9px;box-shadow:0 12px 28px rgba(29,20,31,.14)}
.vocab-dropdown.is-empty:after{content:'No matching saved term — press Enter to use what you typed.';display:block;padding:10px;color:#746a76;font-size:.78rem}
.vocab-dropdown [data-vocab-option]{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;font:inherit;font-size:.86rem;cursor:pointer;color:var(--ink)}
.vocab-dropdown [data-vocab-option]:hover,.vocab-dropdown [data-vocab-option]:focus{background:#f8eef5;outline:none}
.vocab-selected{display:flex;flex-wrap:wrap;gap:7px;min-height:0;margin:0 0 8px}
.vocab-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #d4cad7;border-radius:999px;background:#fff;font-size:.82rem;font-weight:750}
.vocab-chip button{border:0;background:transparent;padding:0;line-height:1;font-size:1rem;cursor:pointer;color:#635966}
.vocab-typeahead-multi .field-help{display:block;margin-top:7px}
.artist-medium-section .vocab-typeahead{max-width:760px}
@media(max-width:760px){.admin-section-heading{display:grid}.artist-location-row{grid-template-columns:1fr}.artist-location-row>label{grid-template-rows:auto 46px}.artist-location-row .location-remove{width:max-content}.location-row-spacer{display:none}}


/* Phase 7AB: location flow + artist-facing controlled vocabulary */
.location-add-row,.profile-location-add{display:flex;align-items:center;gap:12px;margin:10px 0 14px}
.artist-location-primary,.profile-location-primary{margin-bottom:0}
.profile-additional-location-list{margin-top:0}
.profile-vocab-section .profile-vocab-multi{max-width:760px}
.profile-location-section .artist-location-row{margin-bottom:10px}
.profile-location-section .profile-location-add{margin-top:6px}
.profile-location-section>.editor-choice{margin-top:14px}
.profile-vocab-single .vocab-dropdown,.profile-vocab-multi .vocab-dropdown{z-index:120}
.profile-vocab-multi .vocab-selected:empty{display:none}
.profile-vocab-multi .vocab-selected:not(:empty){margin-bottom:8px}
@media(max-width:760px){.location-add-row,.profile-location-add{align-items:flex-start;flex-direction:column}.profile-location-section .artist-location-row{grid-template-columns:1fr}}


/* Phase 7AC — compact checkbox dropdown vocabulary controls */
.vocab-check-picker{position:relative;max-width:760px}
.vocab-check-picker .vocab-input-wrap{position:relative}
.vocab-check-dropdown{padding:5px;max-height:245px;overflow:auto;background:#fff;border:1px solid #d8d0db;border-radius:9px;box-shadow:0 12px 28px rgba(29,20,31,.14)}
.vocab-check-option{display:flex!important;align-items:center!important;gap:10px!important;width:100%;min-height:38px;padding:7px 9px!important;margin:0!important;border-radius:6px;font-size:.86rem!important;font-weight:600!important;cursor:pointer;box-sizing:border-box}
.vocab-check-option:hover{background:#f8eef5}
.vocab-check-option input[type=checkbox]{width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;flex:0 0 17px;accent-color:var(--pink)}
.vocab-check-option:has(input:checked){background:#fff5fa;font-weight:800!important}
.vocab-selection-summary{margin-top:7px;color:#4f4751;font-size:.8rem;line-height:1.35;white-space:normal}
.vocab-selection-summary.is-empty{color:#817681}
.vocab-check-picker .vocab-selected,.vocab-check-picker .vocab-chip{display:none!important}
.vocab-check-dropdown.is-empty:after{content:'No matching saved term — press Enter to use what you typed.';display:block;padding:10px;color:#746a76;font-size:.78rem}


/* Phase 7AD: vocabulary moderation + profile usage */
.admin-vocab-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:12px 16px;border:1px solid #e5bed5;border-radius:12px;background:linear-gradient(90deg,#fff3f9,#f3fbff);color:var(--ink);text-decoration:none}
.admin-vocab-alert:hover{text-decoration:none;box-shadow:0 6px 18px rgba(40,24,44,.08)}
.admin-vocab-alert span{font-size:.86rem;color:#625a64}
.vocab-review-card{border-color:#e6c7d9}
.vocab-review-count,.vocab-pending-pill{display:inline-flex;align-items:center;border-radius:999px;background:#fff0f8;border:1px solid #efc2da;color:#6b3d57;font-size:.75rem;font-weight:800;padding:4px 8px;white-space:nowrap}
.vocab-review-list{display:grid;gap:0}
.vocab-review-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #eee8ef}
.vocab-review-row:first-child{border-top:0}
.vocab-review-row>div:first-child{display:grid;gap:3px}
.vocab-chart-head{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(200px,1.5fr) minmax(130px,.75fr) auto;gap:12px;padding:0 0 8px;border-bottom:1px solid #ddd6df;color:#766d78;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.vocab-term-block{border-bottom:1px solid #eee9ef}
.vocab-term-block:last-child{border-bottom:0}
.vocab-chart-row{grid-template-columns:minmax(190px,1.25fr) minmax(200px,1.5fr) minmax(130px,.75fr) auto;border-bottom:0;padding:10px 0}
.vocab-term-name-wrap{display:flex;align-items:center;gap:7px;min-width:0}
.vocab-usage-cell{display:grid;grid-template-columns:minmax(80px,1fr) 38px;align-items:center;gap:8px}
.vocab-profile-cell{min-width:0}
.vocab-actions{justify-content:flex-end;flex-wrap:nowrap}
.vocab-profile-drawer{margin:0 0 10px;padding:12px 14px;border-radius:10px;background:#faf7fb;border:1px solid #ece4ee}
.vocab-profile-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.vocab-profile-links a{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #ded5e0;border-radius:8px;background:#fff;text-decoration:none;font-size:.82rem;font-weight:700}
.vocab-profile-links a span{font-size:.68rem;color:#7c727e;font-weight:700}
.vocab-new-term-note{display:block;margin-top:7px}
@media(max-width:780px){
 .admin-vocab-alert,.vocab-review-row{align-items:flex-start;flex-direction:column}
 .vocab-chart-head{display:none}
 .vocab-chart-row{grid-template-columns:1fr}
 .vocab-chart-row .vocab-bar-track{grid-column:auto;grid-row:auto}
 .vocab-usage-cell{grid-template-columns:1fr 38px}
 .vocab-actions{justify-content:flex-start}
}


/* Phase 7AE — spreadsheet-style controlled vocabulary */
.vocab-sheet-card{overflow:visible}
.vocab-sheet-total{font-size:.8rem;font-weight:800;color:#6b626c;white-space:nowrap}
.vocab-sheet-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 0 12px}
.vocab-sheet-toolbar-bottom{padding:12px 0 0;border-top:1px solid #ebe5ed;margin-top:0}
.vocab-select-all-label{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:800;white-space:nowrap}
.vocab-sheet-wrap{border-radius:7px}
.vocab-sheet{min-width:760px;table-layout:fixed}
.vocab-sheet .vocab-check-col{width:42px;text-align:center;padding-left:10px;padding-right:6px}
.vocab-sheet th:nth-child(2){width:auto}.vocab-sheet th:nth-child(3){width:120px}.vocab-sheet th:nth-child(4){width:150px}.vocab-sheet th:nth-child(5){width:125px}
.vocab-sheet td{vertical-align:middle;padding-top:7px;padding-bottom:7px}
.vocab-sheet-term input{width:100%;min-width:0;border:1px solid transparent;background:transparent;border-radius:5px;padding:7px 8px;font:inherit;font-weight:650;color:inherit;box-sizing:border-box}
.vocab-sheet-term input:hover{border-color:#ddd5df;background:#fff}
.vocab-sheet-term input:focus{outline:2px solid rgba(146,218,244,.65);outline-offset:0;border-color:#8fcfe7;background:#fff}
.vocab-sheet tr.is-dirty .vocab-sheet-term input{background:#fff9e9;border-color:#e8d79c}
.vocab-sheet tr.is-selected>td{background:#fff5fa}
.vocab-sheet tr.is-dirty.is-selected>td{background:#fff4e6}
.vocab-sheet-usage{white-space:nowrap}.vocab-sheet-usage strong{font-size:.95rem}
.vocab-sheet-link{font-weight:800;text-decoration:none}.vocab-sheet-link:hover{text-decoration:underline}
.vocab-profile-table-row>td{background:#fbf9fc!important;padding-top:0!important}
.vocab-profile-table-row .vocab-profile-drawer{margin:0;padding:12px 14px;border-top:0}
.vocab-sheet-toolbar .button[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.vocab-sheet-toolbar{align-items:flex-start;flex-wrap:wrap}.vocab-sheet-toolbar>.button-row{width:100%}.vocab-sheet-toolbar>.button-row .button{flex:1}.vocab-sheet-total{display:none}}


/* Phase 7AF — filtered vocab results, clearer selections, responsive links */
.vocab-check-dropdown .vocab-check-option[hidden]{display:none!important}
.vocab-selection-summary-prominent{display:block;margin:0 0 8px!important;padding:9px 11px;border:1px solid #e7cadb;border-radius:8px;background:linear-gradient(90deg,#fff3f9,#f3fbff);color:#302a31;font-size:.82rem;font-weight:800;line-height:1.35}
.vocab-selection-summary-prominent.is-empty{background:#faf8fa;border-color:#e6e0e7;color:#827883;font-weight:650}
.vocab-selection-summary-prominent[hidden]{display:none!important}
.vocab-check-picker .vocab-input-wrap+ .field-help{margin-top:7px}
.profile-editor-layout,.editor-section.editor-panel,.link-field-grid,.link-field-grid>label,.link-pair-editor,.link-pair-row,.link-pair-row>label,.history-field{min-width:0}
.link-field-grid input,.link-pair-row input,.history-field input[type="url"]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:900px){.link-field-grid{grid-template-columns:1fr!important}.link-pair-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}}
@media(max-width:560px){.link-pair-row{grid-template-columns:minmax(0,1fr) 34px}.link-pair-row label:nth-child(2){grid-column:1}.link-pair-row .icon-remove{grid-column:2;grid-row:1/3;align-self:center}}


/* Phase 7AG — compact removable badges for selected profile vocabulary */
.vocab-selected-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px;min-height:0}
.vocab-selected-badges:empty{display:none}
.vocab-selected-badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px 5px 10px;border:1px solid #dfc5d5;border-radius:999px;background:linear-gradient(90deg,#fff3f9,#f5fbff);color:#302a31;font-size:.8rem;font-weight:800;line-height:1.1;box-sizing:border-box}
.vocab-selected-badge>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vocab-selected-badge>button{display:inline-grid;place-items:center;width:18px;height:18px;min-width:18px;padding:0!important;margin:0!important;border:0!important;border-radius:50%;background:rgba(23,18,24,.08)!important;box-shadow:none!important;color:#4f4751!important;font:800 15px/1 system-ui,sans-serif!important;cursor:pointer}
.vocab-selected-badge>button:hover,.vocab-selected-badge>button:focus{background:rgba(246,168,211,.45)!important;outline:none}


/* Phase 7AH — prevent country badges/input from overlapping Add location */
.artist-location-row{align-items:start}
.artist-location-row>label{grid-template-rows:auto auto;align-self:start;min-width:0}
.artist-location-row .vocab-typeahead{width:100%;min-width:0}
.artist-location-row .vocab-selected-badges{position:static;width:100%;margin-bottom:8px}
.artist-location-row .vocab-typeahead input[type=text]{display:block;width:100%;max-width:100%}
.artist-location-primary,.profile-location-primary{position:relative;z-index:1;margin-bottom:14px}
.location-add-row,.profile-location-add{position:relative;z-index:0;clear:both;margin-top:8px}
@media(max-width:760px){
  .artist-location-row{align-items:stretch}
  .artist-location-row>label{grid-template-rows:auto auto}
  .artist-location-primary,.profile-location-primary{margin-bottom:12px}
  .location-add-row,.profile-location-add{margin-top:6px}
}


/* Phase 7AI — selected vocabulary can only be removed with its badge × */
.vocab-check-option:has(input:checked){cursor:default}
.vocab-check-option:has(input:checked) input{pointer-events:none}


/* Phase 7AJ — artist Welcome / Artist Guide */
.account-welcome-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:2px solid var(--ink);border-radius:7px;background:linear-gradient(110deg,rgba(246,168,211,.24),rgba(146,218,244,.24));box-shadow:5px 5px 0 var(--blue)}
.account-welcome-banner h2{margin:.15rem 0 .35rem;font-size:1.55rem}.account-welcome-banner p:not(.eyebrow){margin:0;max-width:720px}.account-welcome-banner .button{flex:0 0 auto}
.artist-welcome-page{max-width:1120px;padding-bottom:70px}.artist-welcome-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:clamp(26px,5vw,48px);border:2px solid var(--ink);border-radius:8px;background:linear-gradient(135deg,rgba(246,168,211,.22),rgba(255,255,255,.94) 48%,rgba(146,218,244,.24));box-shadow:7px 7px 0 var(--blue);overflow:hidden}.artist-welcome-hero h1{font-size:clamp(2.25rem,6vw,4.7rem);line-height:.95;margin:.15rem 0 1rem;letter-spacing:-.045em}.artist-welcome-hero .prose{max-width:760px;font-size:1.06rem}.artist-welcome-wordmark{font-size:clamp(3rem,8vw,6.5rem);font-weight:950;letter-spacing:-.08em;line-height:.85;white-space:nowrap}.artist-welcome-wordmark span:first-child{color:var(--pink)}.artist-welcome-wordmark span:last-child{color:var(--blue)}
.artist-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 22px}.artist-welcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.artist-welcome-card{position:relative;background:#fff;border:2px solid var(--ink);border-radius:7px;padding:24px;box-shadow:4px 4px 0 var(--pink)}.artist-welcome-card:nth-child(even){box-shadow:4px 4px 0 var(--blue)}.artist-welcome-card h2{margin:0 0 11px;font-size:1.35rem;line-height:1.1}.artist-welcome-card .prose p:first-child{margin-top:0}.artist-welcome-card .prose p:last-child{margin-bottom:0}.artist-welcome-card-verified{background:linear-gradient(145deg,#fff,rgba(246,168,211,.11))}.artist-welcome-card-instagram{background:linear-gradient(145deg,#fff,rgba(146,218,244,.12))}.artist-welcome-card-free{grid-column:1/-1;text-align:center;background:linear-gradient(100deg,rgba(246,168,211,.16),rgba(146,218,244,.16))}.artist-welcome-card-free .prose{max-width:760px;margin:auto}.artist-welcome-bottom{margin-top:26px}
@media(max-width:760px){.account-welcome-banner{align-items:flex-start;flex-direction:column}.artist-welcome-hero{grid-template-columns:1fr;align-items:start}.artist-welcome-wordmark{justify-self:start}.artist-welcome-grid{grid-template-columns:1fr}.artist-welcome-card-free{grid-column:auto}}


/* QuAD Phase 7AK — calmer desktop Instagram generator + welcome-email controls */
.welcome-email-admin-actions{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:10px 0 18px;padding:12px 14px;border:1px solid var(--border);
  border-radius:9px;background:linear-gradient(135deg,#fff8fc,#f5fbff);
}
.welcome-email-admin-actions .field-help{margin:0;flex:1 1 280px}
@media(min-width:821px){
  .ig2-page{max-width:1080px}
  .ig2-form{gap:18px}
  .ig2-screen{gap:22px;padding:24px 26px;overflow:visible!important;max-height:none!important;box-shadow:4px 4px 0 #e7e2e9}
  .ig2-screen[data-ig-screen="0"],.ig2-screen[data-ig-screen="1"],.ig2-screen[data-ig-screen="2"]{min-height:0;max-height:none!important;overflow:visible!important}
  .ig2-screen-head{display:block;max-width:820px;margin:0 auto;text-align:center}
  .ig2-screen-head .slide-step-number{margin:0 0 5px}
  .ig2-screen-head h2{margin:.15rem 0 .4rem;font-size:1.65rem}
  .ig2-screen-head p{margin:.2rem auto;max-width:760px;font-size:.92rem;line-height:1.5}
  .ig2-cover-slots{max-width:900px;gap:12px;margin:0 auto}
  .ig2-cover-slot{grid-template-columns:auto 62px minmax(0,1fr);gap:10px;padding:10px 12px;min-height:82px}
  .ig2-slot-thumb{width:62px;height:62px}
  .ig2-library-head,.ig2-selected-heading{max-width:900px;width:100%;margin:0 auto;align-items:end}
  .ig2-library-head h3,.ig2-selected-heading h3{font-size:1.05rem}
  .ig2-library-head p,.ig2-selected-heading p{font-size:.82rem}
  .ig2-library-strip{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(84px,1fr))!important;gap:9px;overflow:visible;padding:0;max-width:900px;width:100%;margin:0 auto}
  .ig2-library-strip .ig2-tile{width:100%;height:auto;aspect-ratio:1;min-width:0;max-width:none;flex:none}
  .ig2-cover-preview-area{grid-template-columns:minmax(300px,390px) minmax(230px,290px);max-width:760px;gap:26px;margin:2px auto 0;align-items:center}
  .ig2-cover-preview-area .ig2-canvas-wrap{width:min(100%,390px)}
  .ig2-cover-preview-area .ig2-cropbar{padding:16px;gap:12px}
  .ig2-about-workspace{grid-template-columns:minmax(0,1fr) 360px;gap:28px;max-width:940px;width:100%;margin:0 auto;align-items:start}
  .ig2-about-editor{max-height:none;overflow:visible;padding-right:0}
  .ig2-about-preview-wrap{width:360px;top:90px}
  .ig2-about-list{gap:10px}
  .ig2-about-row{grid-template-columns:160px minmax(0,1fr);gap:12px;padding:10px 12px}
  .ig2-about-row>input,.ig2-about-row>textarea{font-size:.84rem!important}
  .ig2-selected-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:900px;width:100%;margin:0 auto;overflow:visible;padding:0}
  .ig2-selected-card{width:auto;min-width:0;flex:none;padding:12px}
  .ig2-selected-top{grid-template-columns:72px minmax(0,1fr)}
  .ig2-selected-top img{width:72px;height:72px}
  .ig2-selected-card textarea{max-height:none;min-height:70px!important}
  .ig2-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .ig2-actions{max-width:940px;width:100%;margin:0 auto;padding-top:4px}
}


/* Phase 7AL — calmer, collapsible admin settings */
.admin-settings-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 16px;padding:16px 18px;border:1px solid #d8d3d7;border-radius:9px;background:linear-gradient(135deg,rgba(246,168,211,.16),rgba(146,218,244,.13))}.admin-settings-intro h2{margin:.1rem 0 .35rem;font-size:1.15rem}.admin-settings-intro p:last-child{margin-bottom:0}.admin-settings-actions{display:flex;gap:7px;flex-wrap:wrap;flex:none}
.admin-collapse-card{margin:0 0 12px;border:1px solid #d8d3d7;border-radius:9px;background:#fff;overflow:hidden}.admin-collapse-card>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;padding:16px 18px;user-select:none;transition:background .15s ease}.admin-collapse-card>summary::-webkit-details-marker,.admin-copy-group>summary::-webkit-details-marker{display:none}.admin-collapse-card>summary:hover{background:rgba(246,168,211,.09)}.admin-collapse-card>summary:focus-visible{outline:3px solid rgba(146,218,244,.75);outline-offset:-3px}.admin-collapse-card>summary::after{content:'＋';font-size:1.35rem;line-height:1;font-weight:500;flex:none;color:#554c57}.admin-collapse-card[open]>summary::after{content:'−'}.admin-collapse-card[open]>summary{border-bottom:1px solid #e5e0e8;background:#fffafd}.admin-collapse-copy{display:grid;gap:3px;min-width:0}.admin-collapse-copy>strong{font-size:1rem}.admin-collapse-copy>small{color:#716974;font-size:.82rem;font-weight:500}.admin-collapse-meta{margin-left:auto;padding:5px 8px;border:1px solid #d9d2db;border-radius:999px;background:#faf8fb;color:#625a64;font-size:.72rem;font-weight:750;white-space:nowrap}.admin-collapse-meta.is-ready{background:#eef9f1;border-color:#bfdec6;color:#276336}.admin-collapse-meta.is-attention{background:#fff3f6;border-color:#edc4d1;color:#8a3752}.admin-collapse-body{padding:18px}.admin-collapse-body>:first-child{margin-top:0}.admin-collapse-body>:last-child{margin-bottom:0}
.admin-copy-editor{gap:10px}.admin-copy-group{border:1px solid #e2dde4;border-radius:8px;background:#fdfcfd;overflow:hidden}.admin-copy-group+ .admin-copy-group{margin-top:8px}.admin-copy-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:12px 14px;background:#fff}.admin-copy-group>summary:hover{background:#fff6fb}.admin-copy-group>summary:focus-visible{outline:3px solid rgba(146,218,244,.7);outline-offset:-3px}.admin-copy-group>summary>span{display:flex;align-items:baseline;justify-content:space-between;gap:14px;width:100%}.admin-copy-group>summary strong{font-size:.92rem}.admin-copy-group>summary small{color:#766d78;font-size:.74rem}.admin-copy-group>summary::after{content:'›';font-size:1.25rem;margin-left:12px;transform:rotate(0);transition:transform .15s ease}.admin-copy-group[open]>summary::after{transform:rotate(90deg)}.admin-copy-group[open]>summary{border-bottom:1px solid #e8e2e9}.admin-copy-group-body{display:grid;gap:12px;padding:14px;background:#fff}.admin-copy-group-body label{margin:0}.admin-copy-group-body textarea{resize:vertical;min-height:72px}.admin-section-save{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #eee8ef}.admin-copy-save{position:sticky;bottom:8px;z-index:8;padding:10px 12px;margin-top:14px;border:1px solid #ded6e0;border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 6px 20px rgba(54,35,64,.08);backdrop-filter:blur(6px)}.admin-copy-save .field-help{margin-right:auto}.admin-integration-block{max-width:760px}.admin-integration-block h3{margin:0}
.admin-nav-select select optgroup{font-weight:800;color:#4b434d}.admin-nav-select select option{font-weight:500;color:#1f1b20}
@media(max-width:700px){.admin-settings-intro{display:grid}.admin-settings-actions{width:100%}.admin-settings-actions .button{flex:1}.admin-collapse-card>summary{padding:14px;gap:10px;align-items:flex-start}.admin-collapse-copy>small{line-height:1.35}.admin-collapse-meta{display:none}.admin-collapse-body{padding:14px}.admin-copy-group>summary>span{display:grid;gap:2px}.admin-section-save{align-items:stretch;flex-direction:column}.admin-section-save .button{width:100%}.admin-copy-save{bottom:4px}.admin-copy-save .field-help{margin:0}}


/* Phase 7AM — reliable Admin browser + Emails & Newsletters hub */
.admin-nav-bar-v2{align-items:center;position:relative;z-index:25}
.admin-nav-home{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1.5px solid #d5cfd7;border-radius:8px;background:#fff;color:var(--ink);font-weight:750;text-decoration:none;white-space:nowrap}
.admin-nav-home:hover,.admin-nav-home:focus-visible,.admin-nav-home.is-active{border-color:var(--ink);background:#fff7fb;box-shadow:3px 3px 0 var(--blue)}
.admin-nav-browser{position:relative;flex:1;min-width:220px}
.admin-nav-browser>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;box-sizing:border-box;padding:8px 13px;border:1.5px solid #d5cfd7;border-radius:8px;background:#fff;cursor:pointer;font-weight:800;user-select:none}
.admin-nav-browser>summary::-webkit-details-marker{display:none}.admin-nav-browser>summary::after{content:'⌄';font-size:1rem;color:#675e69}.admin-nav-browser[open]>summary{border-color:var(--ink);box-shadow:3px 3px 0 var(--blue)}.admin-nav-browser[open]>summary::after{content:'⌃'}
.admin-nav-browser>summary small{margin-left:auto;color:#756d77;font-size:.76rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-nav-browser-panel{position:absolute;left:0;top:calc(100% + 7px);z-index:40;width:min(880px,calc(100vw - 40px));display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;padding:14px;border:1.5px solid var(--ink);border-radius:10px;background:#fff;box-shadow:7px 7px 0 rgba(146,218,244,.85)}
.admin-nav-group{min-width:0}.admin-nav-group h3{margin:0 0 7px;padding:0 6px;color:#746b76;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.admin-nav-group-links{display:grid;gap:3px}.admin-nav-group-links a{display:block;padding:8px 9px;border-radius:6px;color:var(--ink);font-size:.86rem;font-weight:650;text-decoration:none}.admin-nav-group-links a:hover,.admin-nav-group-links a:focus-visible{background:#fff1f8}.admin-nav-group-links a.is-active{background:var(--pink);color:#171219;font-weight:850}
.admin-email-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.admin-email-stats a{display:grid;gap:2px;padding:16px;border:1px solid #dad4dc;border-radius:9px;background:#fff;color:var(--ink);text-decoration:none}.admin-email-stats a:hover{border-color:var(--ink);box-shadow:4px 4px 0 var(--blue)}.admin-email-stats strong{font-size:1.65rem;line-height:1}.admin-email-stats span{color:#716974;font-size:.8rem;font-weight:650}
.admin-email-copy-section{display:grid;gap:12px;padding:0 0 18px}.admin-email-copy-section+.admin-email-copy-section{padding-top:18px;border-top:1px solid #ebe6ec}.admin-email-copy-section h3{margin:0}.admin-email-recent{margin-top:16px}
.welcome-email-admin-actions .inline-form{margin:0}
@media(max-width:850px){.admin-nav-browser-panel{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:620px){.admin-nav-bar-v2{align-items:stretch;flex-wrap:wrap}.admin-nav-home{flex:1}.admin-nav-browser{order:3;flex-basis:100%}.admin-nav-browser-panel{position:static;width:auto;margin-top:7px;grid-template-columns:1fr;box-shadow:4px 4px 0 rgba(146,218,244,.75)}.admin-nav-browser>summary small{max-width:46vw}.admin-email-stats{grid-template-columns:1fr}.admin-email-stats a{grid-template-columns:auto 1fr;align-items:baseline;gap:10px}.admin-email-stats strong{font-size:1.25rem}}


/* Phase 7AR — join benefits + private artist invitations */
.join-page{max-width:1180px;padding-bottom:76px}.join-hero,.artist-invite-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:30px;padding:clamp(28px,5vw,52px);border:2px solid var(--ink);border-radius:8px;background:linear-gradient(135deg,rgba(246,168,211,.2),#fff 48%,rgba(146,218,244,.22));box-shadow:7px 7px 0 var(--blue)}.join-hero h1,.artist-invite-hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:.96;letter-spacing:-.05em;margin:.15rem 0 1rem}.join-hero .prose,.artist-invite-hero .prose{max-width:760px;font-size:1.08rem}.join-benefits,.artist-invite-benefits{margin:38px 0}.join-benefits-heading{margin-bottom:16px}.join-benefits-heading h2{margin:.15rem 0;font-size:clamp(1.8rem,4vw,2.7rem)}.join-benefits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.join-benefit-card{background:#fff;border:2px solid var(--ink);border-radius:7px;padding:22px;box-shadow:4px 4px 0 var(--pink)}.join-benefit-card:nth-child(even){box-shadow:4px 4px 0 var(--blue)}.join-benefit-card h3{font-size:1.22rem;margin:0 0 8px}.join-benefit-card .prose p{margin:0}.join-benefit-card-8{grid-column:1/-1;background:linear-gradient(100deg,rgba(246,168,211,.15),rgba(146,218,244,.15))}.join-signup-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1fr);gap:34px;align-items:start;padding:clamp(24px,4vw,42px);border:2px solid var(--ink);border-radius:8px;background:#fff;box-shadow:6px 6px 0 var(--pink)}.join-signup-copy h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1;margin:.2rem 0 1rem}.join-signup-form{padding:22px;background:#fbf8fb;border:1px solid #e5dfe7;border-radius:8px}.artist-invite-page{max-width:1120px;padding-bottom:76px}.artist-invite-preview{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1fr);gap:26px;margin:30px 0;padding:24px;border:2px solid var(--ink);border-radius:8px;background:#fff;box-shadow:5px 5px 0 var(--pink)}.artist-invite-image{min-height:280px;background:#f6f2f7;border-radius:6px;overflow:hidden}.artist-invite-image img{display:block;width:100%;height:100%;max-height:560px;object-fit:cover}.artist-invite-preview-copy h2{font-size:clamp(2rem,5vw,3.6rem);line-height:.98;margin:.1rem 0 .6rem}.artist-invite-meta{font-weight:750;color:#625b65}.artist-invite-bio{margin-top:18px;max-width:720px}.artist-invite-source-note{padding:20px 22px;border-left:6px solid var(--blue);background:#f4fbfe;margin:24px 0}.artist-invite-source-note p{margin:.25rem 0}.artist-invite-choices{margin:36px 0}.artist-invite-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.artist-invite-choice{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px;border:2px solid var(--ink);border-radius:7px;background:#fff}.artist-invite-choice:nth-child(1){box-shadow:4px 4px 0 var(--pink)}.artist-invite-choice:nth-child(2){box-shadow:4px 4px 0 var(--blue)}.artist-invite-choice:nth-child(3){box-shadow:4px 4px 0 #d8d0da}.artist-invite-choice h3{margin:0;font-size:1.35rem}.artist-invite-choice .prose{flex:1}.artist-invite-choice .prose p{margin:.2rem 0}.artist-invite-status{padding:18px 20px;border:2px solid var(--ink);border-radius:7px;margin:24px 0}.artist-invite-status.is-success{background:rgba(146,218,244,.18);box-shadow:4px 4px 0 var(--blue)}.artist-invite-status.is-neutral{background:#f6f2f7}.artist-invite-admin-card{margin-top:18px}.quick-add-invite-fields{align-items:end}.quick-add-send-invite{align-self:end;min-height:46px}.admin-table .badge{white-space:nowrap}
@media(max-width:820px){.join-hero,.artist-invite-hero{grid-template-columns:1fr}.join-hero .artist-welcome-wordmark,.artist-invite-hero .artist-welcome-wordmark{justify-self:start}.join-signup-card{grid-template-columns:1fr}.artist-invite-preview{grid-template-columns:1fr}.artist-invite-choice-grid{grid-template-columns:1fr}}
@media(max-width:620px){.join-benefits-grid{grid-template-columns:1fr}.join-benefit-card-8{grid-column:auto}.join-signup-card{padding:20px}.artist-invite-preview{padding:18px}.join-signup-form{padding:16px}}


/* Phase 7AS: artist confirmations */
.profile-confirmations{margin:22px 0;padding:18px;border:1px solid #ddd5e0;border-radius:14px;background:#fbf9fc;display:grid;gap:11px}
.profile-confirmations legend{padding:0 8px;font-weight:900;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#5d5360}
.profile-confirmation{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:0;padding:10px 11px;background:#fff;border:1px solid #ece6ef;border-radius:10px;line-height:1.4}
.profile-confirmation input{margin-top:3px;width:auto}
.profile-confirmation a{text-decoration:underline;text-underline-offset:2px}
.artist-invite-choice .profile-confirmations{padding:12px;margin:16px 0;background:#fff}
.artist-invite-choice .profile-confirmation{font-size:.9rem;padding:8px}
@media(max-width:720px){.profile-confirmations{padding:14px}.profile-confirmation{font-size:.94rem}}


/* Phase 7AU — invitation method + DM drafting */
.invite-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-top:14px}
.invite-method-card{border:1px solid #ddd5e0;border-radius:14px;padding:18px;background:#fff}
.invite-method-card h3{margin:0 0 10px}
.dm-draft-card{max-width:820px}
.dm-draft-text{width:100%;box-sizing:border-box;min-height:300px;padding:18px;border:2px solid #171219;border-radius:10px;background:#fffdfd;font:500 1rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
@media (max-width:760px){.invite-method-grid{grid-template-columns:1fr}.dm-draft-text{min-height:360px}}

/* Phase 7AV */
.dm-draft-text{width:100%;box-sizing:border-box;min-height:320px;resize:vertical;line-height:1.5}


/* Phase 7AW — private invitation mirrors the real profile and uses a calmer desktop decision panel. */
.artist-invite-review-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(350px,.72fr);gap:28px;align-items:start;margin:30px 0 42px}
.artist-invite-review-main{min-width:0}
.artist-invite-full-profile{background:#fff;border:2px solid var(--ink);border-radius:9px;overflow:hidden;box-shadow:6px 6px 0 var(--blue)}
.artist-invite-private-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 18px;background:linear-gradient(90deg,rgba(246,168,211,.2),rgba(146,218,244,.2));border-bottom:1px solid #d9d9df;font-size:.78rem}
.artist-invite-private-banner span{font-weight:900;letter-spacing:.12em}
.artist-invite-private-banner strong{font-weight:650;color:#625b65;text-align:right}
.artist-invite-profile-inner{padding:24px clamp(18px,3vw,34px) 34px}
.artist-invite-profile-inner .artist-profile-artwork{margin-top:0}
.artist-invite-static-image{cursor:default}
.artist-invite-static-image:hover{transform:none!important}
.artist-invite-profile-inner .term-grid span{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #d9d9df;border-radius:999px;background:#fff}
.artist-invite-actions-panel{position:sticky;top:92px;padding:22px;border:2px solid var(--ink);border-radius:9px;background:#fff;box-shadow:6px 6px 0 var(--pink)}
.artist-invite-actions-heading h2{font-size:clamp(1.7rem,2.5vw,2.35rem);line-height:1.02;margin:.2rem 0 18px}
.artist-invite-actions-panel .artist-invite-choice-grid{display:grid;grid-template-columns:1fr;gap:14px}
.artist-invite-actions-panel .artist-invite-choice{padding:18px;border:1px solid #d9d9df;border-radius:8px;box-shadow:none!important}
.artist-invite-actions-panel .artist-invite-choice:first-child{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--blue)!important}
.artist-invite-actions-panel .artist-invite-choice h3{font-size:1.2rem}
.artist-invite-actions-panel .artist-invite-choice form{width:100%;display:grid;gap:12px}
.artist-invite-actions-panel .artist-invite-choice .button{width:100%;justify-content:center;text-align:center}
.artist-invite-actions-panel .profile-confirmations{max-height:none;margin:6px 0 4px}
.artist-invite-actions-panel .profile-confirmation{align-items:flex-start}
.artist-invite-actions-panel .invite-claim-email input{width:100%;box-sizing:border-box}
.artist-invite-page>#pending-profile{margin-top:30px}
@media(max-width:940px){.artist-invite-review-layout{grid-template-columns:1fr}.artist-invite-actions-panel{position:static}.artist-invite-private-banner{align-items:flex-start;flex-direction:column;gap:4px}.artist-invite-private-banner strong{text-align:left}}


/* Phase 7BC — global SFW mode */
.sfw-mode-form{display:inline-flex;margin:0}.sfw-mode-toggle{appearance:none;border:1px solid #d8c8d8;border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.78rem;font-weight:850;padding:6px 10px;cursor:pointer;white-space:nowrap}.sfw-mode-toggle.is-on{background:linear-gradient(90deg,#fff0f8,#edfaff);border-color:#bda4c2;box-shadow:2px 2px 0 var(--blue)}
.sfw-mode .nsfw-media,.sfw-mode img[data-nsfw="1"]{filter:blur(24px)!important;transform:scale(1.035);transform-origin:center;transition:none!important}.sfw-mode .zite-card-image,.sfw-mode .gallery-item,.sfw-mode .profile-image-button{overflow:hidden}.sfw-mode .lightbox figure{overflow:hidden}.sfw-gallery-note{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:.78rem;font-weight:750;color:var(--muted-ink)}
@media(max-width:760px){.sfw-mode-form{margin-left:auto}.sfw-mode-toggle{font-size:.72rem;padding:5px 8px}.nav-shell{flex-wrap:wrap}.main-nav .sfw-mode-form{order:-1}}

.mobile-sfw-form{display:none}.mobile-sfw-form button{appearance:none;border:0;background:transparent;color:#403944;font:inherit;cursor:pointer}
@media(max-width:760px){.mobile-sfw-form{display:block;flex:0 0 58px;min-width:58px}.mobile-sfw-form button{width:100%;display:grid;justify-items:center;align-content:center;gap:2px;padding:5px 2px;border-radius:6px;font-size:.57rem;line-height:1.1;font-weight:600}.mobile-sfw-icon{display:grid!important;place-items:center;font-size:.52rem!important;font-weight:900;border:1px solid currentColor;border-radius:4px;width:21px;height:18px}.mobile-sfw-form button[aria-pressed="true"]{background:#f3ebf8;color:#71358a}}


/* Phase 7BE — image protection, SFW labels, gallery moderation */
img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
.image-protected{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
.sfw-labelled{position:relative!important;overflow:hidden}
.sfw-blur-label{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);display:none;padding:8px 12px;border:1px solid rgba(255,255,255,.85);border-radius:999px;background:rgba(20,18,22,.62);color:#fff!important;font-size:.82rem;font-weight:900;letter-spacing:.02em;line-height:1;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.45);pointer-events:none;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.sfw-mode .sfw-labelled>.sfw-blur-label{display:block}
.gallery-admin-item{position:relative;min-width:0}
.gallery-admin-item>.gallery-item{height:100%}
.gallery-nsfw-admin-form{position:absolute;z-index:12;top:9px;right:9px;margin:0}
.gallery-nsfw-admin-button{appearance:none;border:1px solid #111;border-radius:999px;background:#fff;color:#111;padding:6px 9px;font:inherit;font-size:.7rem;font-weight:900;cursor:pointer;box-shadow:2px 2px 0 var(--blue)}
.gallery-nsfw-admin-button.is-nsfw{background:#111;color:#fff;box-shadow:2px 2px 0 var(--pink)}
@media(max-width:720px){.gallery-nsfw-admin-button{font-size:.66rem;padding:5px 7px}.sfw-blur-label{font-size:.72rem;padding:7px 9px}}
.sfw-mode .sfw-labelled>.sfw-blur-label{display:block!important;padding:8px 12px!important;border:1px solid rgba(255,255,255,.85)!important;border-top:1px solid rgba(255,255,255,.85)!important;background:rgba(20,18,22,.62)!important;color:#fff!important;font-size:.82rem!important;font-weight:900!important;line-height:1!important;width:auto!important;min-height:0!important}


/* Phase 7BF — CSS-only SFW overlay (avoids DOM observers/scans) */
body.sfw-mode .gallery-item:has(img[data-nsfw="1"]),
body.sfw-mode .zite-card-image:has(img[data-nsfw="1"]),
body.sfw-mode .profile-image-button:has(img[data-nsfw="1"]),
body.sfw-mode .artist-invite-static-image:has(img[data-nsfw="1"]),
body.sfw-mode .image-studio-media:has(img[data-nsfw="1"]),
body.sfw-mode .lightbox figure:has(img[data-nsfw="1"]){position:relative!important;overflow:hidden}
body.sfw-mode .gallery-item:has(img[data-nsfw="1"])::after,
body.sfw-mode .zite-card-image:has(img[data-nsfw="1"])::after,
body.sfw-mode .profile-image-button:has(img[data-nsfw="1"])::after,
body.sfw-mode .artist-invite-static-image:has(img[data-nsfw="1"])::after,
body.sfw-mode .image-studio-media:has(img[data-nsfw="1"])::after,
body.sfw-mode .lightbox figure:has(img[data-nsfw="1"])::after{
  content:'SFW mode on';position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);
  padding:8px 12px;border:1px solid rgba(255,255,255,.85);border-radius:999px;
  background:rgba(20,18,22,.62);color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.02em;line-height:1;
  white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.45);pointer-events:none;box-shadow:0 2px 10px rgba(0,0,0,.18)
}
@media(max-width:720px){
  body.sfw-mode .gallery-item:has(img[data-nsfw="1"])::after,
  body.sfw-mode .zite-card-image:has(img[data-nsfw="1"])::after,
  body.sfw-mode .profile-image-button:has(img[data-nsfw="1"])::after,
  body.sfw-mode .artist-invite-static-image:has(img[data-nsfw="1"])::after,
  body.sfw-mode .image-studio-media:has(img[data-nsfw="1"])::after,
  body.sfw-mode .lightbox figure:has(img[data-nsfw="1"])::after{font-size:.72rem;padding:7px 9px}
}


/* Phase 7BG — make mobile SFW mode control intentionally prominent */
@media(max-width:760px){
  .mobile-sfw-form{
    display:block;
    flex:0 0 70px;
    min-width:70px;
    padding:2px 3px;
  }
  .mobile-sfw-form button{
    width:100%;
    min-height:48px;
    display:grid;
    justify-items:center;
    align-content:center;
    gap:3px;
    padding:5px 3px 4px;
    border:1.5px solid #171219;
    border-radius:9px;
    background:linear-gradient(135deg,#fff0f8 0%,#ffffff 48%,#edfaff 100%);
    color:#171219;
    box-shadow:2px 2px 0 var(--blue);
    font-size:.64rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.015em;
  }
  .mobile-sfw-form button>span:last-child{
    font-size:.68rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.045em;
  }
  .mobile-sfw-icon{
    display:grid!important;
    place-items:center;
    width:30px!important;
    height:21px!important;
    border:1.5px solid #171219!important;
    border-radius:6px!important;
    background:#171219;
    color:#fff;
    font-size:.57rem!important;
    font-weight:950!important;
    line-height:1!important;
  }
  .mobile-sfw-form button[aria-pressed="true"]{
    background:linear-gradient(135deg,var(--pink) 0%,#fff 52%,var(--blue) 100%);
    border-color:#171219;
    color:#171219;
    box-shadow:3px 3px 0 var(--blue);
  }
  .mobile-sfw-form button[aria-pressed="true"] .mobile-sfw-icon{
    background:#171219;
    color:#fff;
  }
  .mobile-sfw-form button:active{
    transform:translate(1px,1px);
    box-shadow:1px 1px 0 var(--blue);
  }
}


/* QuAD Phase 7BI — Library NSFW / Erotica */
.library-content-flags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 4px}.library-content-flags .checkbox-line{align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}.library-content-flags .checkbox-line span{display:grid;gap:2px}.library-content-flags small{color:var(--muted-ink);font-size:.75rem;line-height:1.35}.grid-badge-erotica{background:#fff0f8;border-color:#e8b7d4}.library-list-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.library-list-cover-wrap{position:relative;display:block;overflow:hidden;border-radius:inherit;flex:0 0 auto}.library-list-cover-wrap img{display:block;width:100%;height:100%;object-fit:cover}
body.sfw-mode .publication-cover:has(img[data-nsfw="1"]),body.sfw-mode .publication-large-cover:has(img[data-nsfw="1"]),body.sfw-mode .profile-related-thumb:has(img[data-nsfw="1"]),body.sfw-mode .library-list-cover-wrap:has(img[data-nsfw="1"]){position:relative!important;overflow:hidden}
body.sfw-mode .publication-cover:has(img[data-nsfw="1"])::after,body.sfw-mode .publication-large-cover:has(img[data-nsfw="1"])::after,body.sfw-mode .profile-related-thumb:has(img[data-nsfw="1"])::after,body.sfw-mode .library-list-cover-wrap:has(img[data-nsfw="1"])::after{content:"SFW mode on";position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);padding:8px 12px;border:1px solid rgba(255,255,255,.85);border-radius:999px;background:rgba(20,18,22,.62);color:#fff!important;font-size:.82rem;font-weight:900;letter-spacing:.02em;line-height:1;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.45);pointer-events:none;box-shadow:0 2px 10px rgba(0,0,0,.18)}
@media(max-width:720px){.library-content-flags{grid-template-columns:1fr}.library-list-badges{justify-content:flex-start}body.sfw-mode .publication-cover:has(img[data-nsfw="1"])::after,body.sfw-mode .publication-large-cover:has(img[data-nsfw="1"])::after,body.sfw-mode .profile-related-thumb:has(img[data-nsfw="1"])::after,body.sfw-mode .library-list-cover-wrap:has(img[data-nsfw="1"])::after{font-size:.72rem;padding:7px 9px}}
.library-list-cover-wrap{width:52px;height:52px}


/* QuAD Phase 7BJ — responsive top navigation that always stays inside the viewport */
.nav-shell{
  width:min(1440px,calc(100% - 32px));
  min-width:0;
  gap:clamp(10px,1.5vw,20px);
}
.brand-lockup{flex:0 1 auto;min-width:0}
.main-nav{min-width:0;flex:1 1 auto;flex-wrap:wrap;column-gap:3px;row-gap:3px}
.main-nav a,.nav-link-button,.sfw-mode-toggle{white-space:nowrap}
.main-nav a{padding-inline:clamp(6px,.72vw,9px);font-size:clamp(.78rem,.8vw,.9rem)}

/* The tagline is useful when there is room, but navigation always wins. */
@media(max-width:1240px){
  .brand-tagline{display:none!important}
  .nav-shell{gap:10px}
}

/* Switch to the icon navigation before the desktop links can become cramped.
   Unlike the old rail, this is a real wrapping grid: there is never horizontal scroll. */
@media(max-width:1050px){
  .site-header{overflow:visible}
  .nav-shell{width:min(100% - 24px,1440px);min-height:50px;justify-content:center}
  .brand-lockup{justify-content:center}
  .brand{font-size:1.35rem}
  .brand-tagline{display:none!important}
  .main-nav,.nav-toggle{display:none!important}
  .mobile-icon-nav{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(62px,1fr));
    width:100%;
    overflow:visible!important;
    overscroll-behavior:auto;
    scrollbar-width:auto;
    border-top:1px solid var(--border);
    background:#fff;
    padding:4px max(5px,env(safe-area-inset-right)) 6px max(5px,env(safe-area-inset-left));
    gap:2px;
  }
  .mobile-icon-nav a,
  .mobile-sfw-form{
    min-width:0!important;
    width:100%;
    max-width:none;
    margin:0;
  }
  .mobile-icon-nav a{
    min-height:46px;
    display:grid;
    justify-items:center;
    align-content:center;
    gap:2px;
    padding:4px 2px;
    border-radius:7px;
    font-size:.59rem;
    line-height:1.05;
    font-weight:650;
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:center;
  }
  .mobile-nav-icon svg{width:19px;height:19px}
  .mobile-sfw-form{display:block!important;padding:0!important;flex:none!important}
  .mobile-sfw-form button{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:100%;
    padding:4px 2px!important;
    gap:2px!important;
    border-radius:8px!important;
    font-size:.59rem!important;
    box-sizing:border-box;
  }
  .mobile-sfw-form button>span:last-child{font-size:.61rem!important}
  .mobile-sfw-icon{width:26px!important;height:19px!important;font-size:.52rem!important}
}

/* Phones: predictable column counts keep every label legible and eliminate sideways scrolling. */
@media(max-width:620px){
  .nav-shell{width:calc(100% - 20px)}
  .mobile-icon-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}
  .mobile-icon-nav a,.mobile-sfw-form button{min-height:44px!important}
}
@media(max-width:390px){
  .mobile-icon-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mobile-icon-nav a{font-size:.57rem}
}
@media(max-width:330px){
  .mobile-icon-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px}
  .mobile-icon-nav a,.mobile-sfw-form button{padding-inline:1px!important}
}


/* QuAD Phase 7BK — tighter profile artwork + sortable gallery */
/* Profile artwork buttons should hug the image itself. No artificial white area. */
.artist-profile-artwork .profile-strip{align-items:flex-start}
.artist-profile-artwork .profile-image-button{
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  flex:0 0 auto!important;
  background:transparent!important;
}
.artist-profile-artwork .profile-image-button img{
  margin:0!important;
  background:transparent!important;
}

.gallery-toolbar{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  gap:9px;
  margin:-8px 0 18px;
}
.gallery-sort-form{display:flex;align-items:center;gap:8px;margin:0}
.gallery-sort-form label{font-size:.74rem;font-weight:800;color:var(--muted-ink)}
.gallery-sort-form select{
  min-width:150px;
  max-width:100%;
  padding:8px 32px 8px 10px;
  border:1.5px solid var(--ink);
  border-radius:6px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:.82rem;
  font-weight:700;
}
.gallery-shuffle{white-space:nowrap}

@media(max-width:780px){
  .artist-profile-artwork .profile-image-button{min-width:0!important;width:max-content!important}
  .gallery-toolbar{justify-content:space-between;align-items:end;margin-top:0}
  .gallery-sort-form{flex:1;align-items:stretch;flex-direction:column;gap:4px}
  .gallery-sort-form select{width:100%;min-width:0;font-size:16px}
  .gallery-shuffle{align-self:flex-end}
}


/* QuAD Phase 7BM — preserve desktop header; mobile-only one-line nav + top-right SFW */
.mobile-header-sfw-form{display:none}

/* Desktop intentionally inherits the pre-7BL QuAD header/navigation unchanged. */
@media(max-width:1050px){
  .nav-shell{
    position:relative;
    width:min(100% - 24px,1440px);
    min-height:54px;
    justify-content:flex-start;
    padding-right:92px;
    box-sizing:border-box;
  }
  .brand-lockup{justify-content:flex-start;min-width:0}
  .brand-tagline{display:none!important}
  .mobile-header-sfw-form{
    display:block;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    margin:0;
    z-index:3;
  }
  .mobile-header-sfw-toggle{
    appearance:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:34px;
    padding:5px 7px 5px 9px;
    border:2px solid var(--ink);
    border-radius:999px;
    background:#fff;
    color:var(--ink);
    box-shadow:3px 3px 0 var(--blue);
    font:inherit;
    font-size:.7rem;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
  }
  .mobile-header-sfw-toggle b{
    display:grid;
    place-items:center;
    min-width:30px;
    min-height:20px;
    padding:0 5px;
    border-radius:999px;
    background:#ece8ed;
    font-size:.62rem;
    line-height:1;
  }
  .mobile-header-sfw-toggle.is-on{background:#fff6fb;box-shadow:3px 3px 0 var(--pink)}
  .mobile-header-sfw-toggle.is-on b{background:var(--pink)}

  /* The compact/mobile menu is always exactly one row and never scrolls sideways. */
  .mobile-icon-nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%;
    min-width:0;
    overflow:hidden!important;
    overscroll-behavior:auto!important;
    scrollbar-width:none;
    border-top:1px solid var(--border);
    background:#fff;
    padding:3px max(3px,env(safe-area-inset-right)) 5px max(3px,env(safe-area-inset-left));
    gap:0;
  }
  .mobile-icon-nav::-webkit-scrollbar{display:none}
  .mobile-icon-nav>a{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:44px;
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:4px 1px!important;
    border-radius:6px;
    overflow:hidden;
    text-align:center;
    white-space:nowrap!important;
    font-size:clamp(.5rem,1.35vw,.62rem)!important;
    line-height:1!important;
  }
  .mobile-icon-nav>a>span:last-child{
    display:block;
    width:100%;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-nav-icon{flex:0 0 auto}
  .mobile-nav-icon svg{width:18px;height:18px}
  .mobile-sfw-form{display:none!important}
}

@media(max-width:520px){
  .nav-shell{width:calc(100% - 18px);padding-right:82px;min-height:50px}
  .brand{font-size:1.32rem}
  .mobile-header-sfw-toggle{min-height:32px;padding:4px 6px 4px 8px;box-shadow:2px 2px 0 var(--blue)}
  .mobile-header-sfw-toggle span{font-size:.65rem}
  .mobile-header-sfw-toggle b{min-width:28px;min-height:19px;font-size:.58rem}
  .mobile-icon-nav>a{min-height:41px;padding:4px 0!important}
  .mobile-nav-icon svg{width:18px;height:18px}
}

/* QuAD Phase 7BN — keep mobile labels beneath icons at every width. */
@media(max-width:430px){
  .mobile-icon-nav>a{min-height:43px;padding:3px 0!important;font-size:clamp(.43rem,2vw,.54rem)!important;gap:1px}
  .mobile-icon-nav>a>span:last-child{display:block!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-nav-icon svg{width:17px;height:17px}
}
@media(max-width:360px){
  .mobile-icon-nav>a{font-size:.43rem!important;padding-inline:0!important}
  .mobile-nav-icon svg{width:16px;height:16px}
}

/* 7BN mobile menu labels remain visible below icons while the menu stays one line and non-scrolling. */

/* QuAD Phase 7BO — explicit SFW MODE labels + desktop control pinned right */
@media(min-width:1051px){
  .main-nav>.sfw-mode-form{margin-left:auto!important;flex:0 0 auto!important}
  .main-nav>.sfw-mode-form .sfw-mode-toggle{font-size:.76rem;padding:6px 11px}
}
@media(max-width:1050px){
  .nav-shell{padding-right:126px!important}
  .mobile-header-sfw-toggle{min-width:108px;justify-content:space-between}
  .mobile-header-sfw-toggle span{font-size:.64rem;letter-spacing:.01em}
}
@media(max-width:520px){
  .nav-shell{padding-right:118px!important}
  .mobile-header-sfw-toggle{min-width:102px;padding-left:7px!important;padding-right:6px!important}
  .mobile-header-sfw-toggle span{font-size:.59rem!important}
}

/* Phase 7BO email delivery settings */
.admin-mail-warning{border:2px solid var(--ink);border-radius:12px;background:#fff4f9;padding:14px 16px;margin-bottom:16px;box-shadow:3px 3px 0 var(--pink)}
.admin-mail-warning p{margin:.35rem 0 0;color:var(--muted-ink)}
.admin-mail-delivery-form,.admin-mail-test-form{max-width:820px}


/* Phase 7BP — dedicated artist invitation picker */
.admin-artist-picker{position:relative;max-width:760px}
.admin-artist-picker>input[type="search"]{width:100%}
.admin-artist-picker-results{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:340px;overflow:auto;background:#fff;border:2px solid #171219;border-radius:10px;box-shadow:5px 5px 0 var(--blue,#92daf4);padding:6px}
.admin-artist-picker-option{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:0;border-bottom:1px solid #ece6ef;padding:11px 12px;font:inherit;color:inherit;cursor:pointer}
.admin-artist-picker-option:last-child{border-bottom:0}
.admin-artist-picker-option:hover,.admin-artist-picker-option:focus{background:#fff4fa;outline:none}
.admin-artist-picker-option span:first-child{display:grid;gap:2px}
.admin-artist-picker-option small{color:#756d78}
.admin-selected-artist{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;background:#f9f6fa;border:1px solid #ddd5e0;border-radius:10px;max-width:760px}
.admin-selected-artist>div{display:grid;gap:3px}.admin-selected-artist strong{font-size:1.08rem}.admin-selected-artist small{color:#756d78}
@media(max-width:640px){.admin-selected-artist{align-items:flex-start;flex-direction:column}.admin-artist-picker-results{max-height:300px}}

/* Phase 7BQ */
.ig2-cover-library,.ig2-library-strip{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;overflow:visible!important;padding:4px!important}.ig2-source-card{min-width:0!important;width:100%!important}.ig2-source-card img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:10px}.ig2-source-card.is-selected,.ig2-source-card[aria-pressed="true"]{outline:3px solid var(--pink);outline-offset:2px}.ig2-selected-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.ig2-selected-card{min-width:0!important;width:auto!important}.ig2-cropbar{position:sticky;top:12px}.ig2-dialog-card{width:min(1100px,96vw);max-height:94vh}.ig2-dialog-canvas{display:grid;place-items:center;min-height:0}.ig2-dialog-canvas canvas{max-height:68vh;width:auto;max-width:100%}.editor-panel :invalid{scroll-margin-top:110px}@media(max-width:740px){.ig2-cover-library,.ig2-library-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ig2-selected-list{grid-template-columns:1fr}.ig2-cropbar{position:static}.ig2-dialog-card{width:96vw}.ig2-dialog-canvas canvas{max-height:58vh}}

/* Phase 7BQ — calmer cover assignment + stable desktop image selection */
.ig2-cover-choice{display:grid;gap:6px;min-width:0;padding:6px;border:1px solid #e1dbe4;border-radius:10px;background:#fff}
.ig2-cover-choice.is-selected{border-color:var(--pink);box-shadow:0 0 0 2px rgba(246,168,211,.18)}
.ig2-cover-choice-image{position:relative;display:block;width:100%;padding:0;border:0;background:#f4f1f5;border-radius:7px;overflow:hidden;cursor:pointer;aspect-ratio:1}
.ig2-cover-choice-image img{display:block;width:100%;height:100%;object-fit:cover}
.ig2-cover-choice-state{position:absolute;left:6px;bottom:6px;padding:3px 7px;border:1px solid #111;border-radius:999px;background:#fff;color:#111;font-size:.68rem;font-weight:850;box-shadow:1px 1px 0 var(--blue)}
.ig2-cover-choice.is-selected .ig2-cover-choice-state{background:var(--pink)}
.ig2-cover-position{width:100%;min-width:0;height:34px;padding:4px 28px 4px 7px;border:1px solid #d7d0da;border-radius:7px;background:#fff;font-size:.75rem;font-weight:700}

@media(min-width:821px){
  /* Keep web image pickers in contained grids; no overlap with text or neighbouring cards. */
  .ig2-library-strip{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;gap:12px!important;overflow:visible!important;max-width:900px;width:100%;margin:0 auto;padding:0!important;align-items:start}
  .ig2-library-strip>.ig2-tile,.ig2-library-strip>.ig2-cover-choice{width:100%!important;min-width:0!important;max-width:none!important;flex:none!important}
  .ig2-library-strip>.ig2-tile{height:auto!important;aspect-ratio:1}
  .ig2-cover-library{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important}
  .admin-two-col .instagram-image-picker{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;align-items:start}
  .admin-two-col .instagram-source-card{min-width:0;overflow:hidden;padding:6px;border:1px solid #e4dfe6;border-radius:9px;background:#fff}
  .admin-two-col .instagram-source-card>label,.admin-two-col .instagram-source-card img,.admin-two-col .instagram-source-card textarea,.admin-two-col .instagram-source-card .crop-adjust{max-width:100%;min-width:0;box-sizing:border-box}
  .admin-two-col .instagram-source-card textarea{display:block;width:100%}
}
@media(max-width:820px){
  .ig2-cover-choice{flex:0 0 82px;width:82px;padding:4px}
  .ig2-cover-position{font-size:.68rem;height:31px;padding-left:5px}
}

/* QuAD Phase 7BT — Instagram Step 3 artwork-selection containment hotfix
   Keep selected artwork editors inside the generator instead of allowing
   dynamically-created cards to expand/overlap neighbouring UI. */
.ig2-screen[data-ig-screen="2"]{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.ig2-screen[data-ig-screen="2"] > *{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.ig2-screen[data-ig-screen="2"] .ig2-library-head,
.ig2-screen[data-ig-screen="2"] .ig2-selected-heading,
.ig2-screen[data-ig-screen="2"] .ig2-library-strip,
.ig2-screen[data-ig-screen="2"] .ig2-selected-list,
.ig2-screen[data-ig-screen="2"] .ig2-actions{
  width:100%;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
.ig2-screen[data-ig-screen="2"] .ig2-library-strip{
  overflow:hidden!important;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-list{
  display:flex!important;
  grid-template-columns:none!important;
  gap:10px;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 10px!important;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  align-items:stretch;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-card{
  flex:0 0 290px!important;
  width:290px!important;
  min-width:0!important;
  max-width:calc(100% - 4px)!important;
  box-sizing:border-box;
  scroll-snap-align:start;
  overflow:hidden;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-copy,
.ig2-screen[data-ig-screen="2"] .ig2-selected-head,
.ig2-screen[data-ig-screen="2"] .ig2-selected-card label,
.ig2-screen[data-ig-screen="2"] .ig2-selected-card textarea{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-head span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-actions .button{
  min-width:0;
}
@media(max-width:740px){
  .ig2-screen[data-ig-screen="2"] .ig2-selected-card{
    flex-basis:min(280px,calc(100vw - 56px))!important;
    width:min(280px,calc(100vw - 56px))!important;
  }
}



/* QuAD Phase 7BT — direct artwork crop + caption geometry */
.ig2-dialog-canvas canvas{touch-action:none;cursor:grab}
.ig2-dialog-canvas canvas:active{cursor:grabbing}
.ig2-dialog-head .muted{max-width:760px;margin:.3rem 0 0}
.ig2-selected-thumb img{display:block;max-width:100%}


/* QuAD Phase 7BW — preview crop, caption spacing, and no-horizontal-scroll refinements */
.ig2-page,.ig2-form,.ig2-screen,.ig2-screen>*{min-width:0;max-width:100%;box-sizing:border-box}
.ig2-review-card-head{align-items:flex-start;flex-wrap:wrap}
.ig2-review-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ig2-review-card-actions .button{min-width:0}
.ig2-screen[data-ig-screen="2"] .ig2-library-strip,
.ig2-cover-library{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(78px,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  padding:0!important;
  width:100%;
  max-width:900px;
  margin:0 auto;
}
.ig2-screen[data-ig-screen="2"] .ig2-library-strip .ig2-tile,
.ig2-cover-library .ig2-cover-choice{
  width:100%!important;
  max-width:none!important;
}
.ig2-screen[data-ig-screen="2"] .ig2-library-strip .ig2-tile{
  flex:none!important;
  height:auto!important;
  aspect-ratio:1;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  padding:0!important;
  width:100%;
  max-width:900px;
  margin:0 auto;
  scroll-snap-type:none!important;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-card{
  flex:none!important;
  width:100%!important;
  max-width:none!important;
}
.ig2-selected-thumb img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid #ddd;border-radius:6px}
.ig2-selected-card{grid-template-columns:88px minmax(0,1fr);align-items:start}
.ig2-selected-thumb{width:88px}
.ig2-selected-copy{min-width:0;display:grid;gap:8px}
.ig2-selected-head{display:grid;gap:3px;min-width:0}
.ig2-selected-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ig2-selected-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(min-width:821px){
  .ig2-screen[data-ig-screen="0"],
  .ig2-screen[data-ig-screen="1"],
  .ig2-screen[data-ig-screen="2"],
  .ig2-screen[data-ig-screen="3"]{
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
}
@media(max-width:820px){
  .ig2-screen[data-ig-screen="2"] .ig2-selected-list{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .ig2-cover-slots{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;padding-bottom:0!important}
  .ig2-screen[data-ig-screen="2"] .ig2-library-strip,
  .ig2-cover-library{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ig2-selected-card{grid-template-columns:72px minmax(0,1fr)}
  .ig2-selected-thumb{width:72px}
}


/* QuAD Phase 7BV — web preview matches the Instagram preview style and crops inline */
.ig2-review-grid{grid-template-columns:1fr!important;max-width:460px;margin:0 auto}
.ig2-review-card{max-width:460px;margin:0 auto;width:100%}
.ig2-review-card canvas{width:100%;height:auto;display:block}
.ig2-review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ig2-review-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ig2-inline-crop{display:grid;gap:10px;padding:12px;border:1px solid #ddd6df;border-radius:9px;background:#fff7fb}
.ig2-inline-crop-copy{margin:0;font-size:.78rem;line-height:1.45;color:#5b5560}
.ig2-inline-crop-controls{display:flex;align-items:end;justify-content:flex-start;gap:10px;flex-wrap:wrap}
.ig2-inline-crop-controls>label:first-child{display:grid;gap:4px;font-size:.78rem;font-weight:800}
.ig2-inline-crop-controls input[type=range]{width:min(220px,100%)}
.ig2-review-card[data-review-art] canvas{touch-action:none;cursor:grab}
.ig2-review-card[data-review-art] canvas:active{cursor:grabbing}
@media(max-width:620px){
  .ig2-review-grid,.ig2-review-card{max-width:100%}
  .ig2-inline-crop-controls{display:grid;grid-template-columns:1fr 1fr}
  .ig2-inline-crop-controls>label:first-child{grid-column:1/-1}
  .ig2-inline-crop-controls input[type=range]{width:100%}
}


/* QuAD Phase 7BX — definitive Instagram generator width guard */
.ig2-page{width:100%;max-width:1180px;min-width:0;overflow-x:clip}
.ig2-form,.ig2-progress,.ig2-screen,.ig2-review-grid,.ig2-review-card,.ig2-library,.ig2-library-strip,.ig2-cover-library,.ig2-selected-list,.ig2-selected-card{min-width:0;max-width:100%;box-sizing:border-box}
.ig2-form,.ig2-screen{width:100%;overflow-x:clip}
.ig2-screen[data-ig-screen="2"] .ig2-library-strip,.ig2-cover-library{display:grid!important;overflow:visible!important;grid-template-columns:repeat(auto-fill,minmax(78px,1fr))!important}
.ig2-screen[data-ig-screen="2"] .ig2-selected-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
@media(max-width:820px){.ig2-screen[data-ig-screen="2"] .ig2-selected-list{grid-template-columns:1fr!important}}
@media(max-width:620px){.ig2-cover-slots{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.ig2-screen[data-ig-screen="2"] .ig2-library-strip,.ig2-cover-library{grid-template-columns:repeat(3,minmax(0,1fr))!important}}


/* QuAD Phase 7BY — unify desktop Instagram builder with the preserved mobile layout.
   This final override intentionally wins over older desktop-only ig2 rules. */
.ig2-page{
  width:min(100%,720px)!important;
  max-width:720px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-inline:12px!important;
  overflow-x:clip!important;
}
.ig2-page-heading{
  align-items:flex-start!important;
  flex-direction:column!important;
  gap:8px!important;
}
.ig2-form{gap:14px!important}
.ig2-progress{
  gap:4px!important;
  padding:5px!important;
  box-shadow:none!important;
}
.ig2-progress button{
  display:grid!important;
  gap:2px!important;
  min-height:52px!important;
  padding:5px 2px!important;
  font-size:.72rem!important;
}
.ig2-progress button span{
  margin:auto!important;
  width:22px!important;
  height:22px!important;
}
.ig2-screen{
  padding:14px!important;
  gap:18px!important;
  box-shadow:none!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.ig2-screen-head{
  display:grid!important;
  gap:3px!important;
  text-align:left!important;
  margin:0!important;
}
.ig2-screen-head .slide-step-number{margin-bottom:4px!important}
.ig2-screen-head h2{font-size:1.35rem!important}
.ig2-screen-head p{
  margin:0!important;
  font-size:.78rem!important;
  line-height:1.4!important;
}
.ig2-library-head,.ig2-selected-heading{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
}
.ig2-library-head .button{
  width:100%!important;
  white-space:normal!important;
}
.ig2-cover-slots{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
  padding:0!important;
}
.ig2-cover-slot{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:auto 64px minmax(0,1fr)!important;
}
.ig2-slot-thumb{width:64px!important;height:64px!important}
.ig2-cover-library,
.ig2-screen[data-ig-screen="2"] .ig2-library-strip,
.ig2-library-strip{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.ig2-library-strip>.ig2-tile,
.ig2-cover-library>.ig2-cover-choice,
.ig2-cover-library>.ig2-tile{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  flex:none!important;
  aspect-ratio:1!important;
}
.ig2-cover-preview-area{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
  max-width:430px!important;
  margin:0 auto!important;
}
.ig2-cover-preview-area .ig2-canvas-wrap{
  width:100%!important;
  max-width:430px!important;
  margin:0 auto!important;
}
.ig2-cover-preview-area .ig2-cropbar{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  padding:12px!important;
}
.ig2-cover-preview-area .ig2-cropbar label{flex:1 1 180px!important}
.ig2-cover-preview-area .ig2-cropbar input[type=range]{width:100%!important}
.ig2-about-workspace{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.ig2-about-preview-wrap{
  position:static!important;
  order:-1!important;
  width:min(100%,440px)!important;
  max-width:440px!important;
  margin:0 auto!important;
}
.ig2-about-editor{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
.ig2-about-list,.ig2-about-list-more,.ig2-more-details{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.ig2-about-row{
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:10px!important;
}
.ig2-about-check{margin:0!important}
.ig2-screen[data-ig-screen="2"] .ig2-selected-list,
.ig2-selected-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.ig2-screen[data-ig-screen="2"] .ig2-selected-card,
.ig2-selected-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:10px!important;
}
.ig2-selected-thumb{width:72px!important}
.ig2-selected-thumb img{width:72px!important;height:72px!important;object-fit:cover!important}
.ig2-selected-actions,.ig2-card-actions{
  display:flex!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.ig2-selected-actions .button,.ig2-card-actions .button{
  width:auto!important;
  min-width:0!important;
}
.ig2-review-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  max-width:440px!important;
  margin:0 auto!important;
  gap:16px!important;
}
.ig2-review-card{
  width:100%!important;
  max-width:440px!important;
  margin:0 auto!important;
}
.ig2-actions{
  display:flex!important;
  align-items:stretch!important;
  gap:8px!important;
}
.ig2-actions .button{flex:1 1 0!important}
.ig2-submit-box .button{
  justify-self:stretch!important;
  width:100%!important;
}
.ig2-inline-crop-controls{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.ig2-inline-crop-controls>label:first-child{grid-column:1/-1!important}
.ig2-inline-crop-controls input[type=range]{width:100%!important}
@media(max-width:390px){
  .ig2-page{padding-inline:8px!important}
  .ig2-actions{flex-direction:column-reverse!important}
  .ig2-actions .button{width:100%!important}
}


/* QuAD Phase 7BZ — inline artwork captions + dropdown cover selection */
.ig2-inline-caption-note{margin:2px auto 0;max-width:660px;font-size:.82rem;line-height:1.45}
.ig2-selected-list,.ig2-selected-heading{display:none!important}
.ig2-cover-library{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;width:100%;max-width:none!important}
.ig2-cover-choice{display:grid;gap:6px;min-width:0;width:100%}
.ig2-cover-choice-image{position:relative;display:block;width:100%;aspect-ratio:1;background:#f4f1f5;border:1px solid #e1dbe4;border-radius:10px;overflow:hidden;padding:0}
.ig2-cover-choice-image img{display:block;width:100%;height:100%;object-fit:cover}
.ig2-cover-choice-state{position:absolute;right:6px;top:6px;min-width:28px;height:28px;display:grid;place-items:center;padding:0 8px;border:1px solid #111;border-radius:999px;background:#fff;color:#111;font-size:.72rem;font-weight:850;box-shadow:1px 1px 0 var(--blue)}
.ig2-cover-choice.is-selected .ig2-cover-choice-state{background:var(--pink)}
.ig2-cover-position{width:100%;min-width:0;height:34px;padding:4px 28px 4px 8px;border:1px solid #d7d0da;border-radius:7px;background:#fff;font-size:.78rem;font-weight:700}

.ig2-screen[data-ig-screen="2"] .ig2-library-strip,
.ig2-screen[data-ig-screen="2"] [data-art-library],
.ig2-library[data-art-library]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important;padding:0!important;width:100%;max-width:none!important}
.ig2-art-choice{display:grid;gap:8px;align-content:start;padding:8px;border:1px solid #ddd6df;border-radius:10px;background:#fff;min-width:0}
.ig2-art-choice.is-selected{border-color:var(--pink);box-shadow:0 0 0 2px rgba(246,168,211,.18)}
.ig2-art-choice-image{position:relative;display:block;width:100%;padding:0;border:0;border-radius:8px;background:#f4f1f5;overflow:hidden;cursor:pointer;aspect-ratio:1}
.ig2-art-choice-image img{display:block;width:100%;height:100%;object-fit:cover}
.ig2-art-choice-badge{position:absolute;right:6px;top:6px;min-width:28px;height:28px;display:grid;place-items:center;padding:0 8px;border:1px solid #111;border-radius:999px;background:#fff;color:#111;font-size:.68rem;font-weight:850;box-shadow:1px 1px 0 var(--blue)}
.ig2-art-choice.is-selected .ig2-art-choice-badge{background:var(--pink)}
.ig2-art-choice-copy{display:grid;gap:4px;min-width:0}
.ig2-art-choice-title{font-size:.82rem;font-weight:800;line-height:1.35;word-break:break-word}
.ig2-art-choice-caption{display:grid!important;gap:5px!important;font-size:.76rem;font-weight:800!important}
.ig2-art-choice-caption textarea{width:100%;min-height:72px;resize:vertical;padding:8px;border-radius:8px}

@media(max-width:620px){
  .ig2-cover-library,
  .ig2-screen[data-ig-screen="2"] .ig2-library-strip,
  .ig2-screen[data-ig-screen="2"] [data-art-library],
  .ig2-library[data-art-library]{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .ig2-cover-position{height:31px;font-size:.72rem}
  .ig2-art-choice{padding:6px;gap:6px}
  .ig2-art-choice-title{font-size:.74rem}
  .ig2-art-choice-caption{font-size:.7rem!important}
  .ig2-art-choice-caption textarea{min-height:62px;padding:7px}
}


/* QuAD Phase 7CB — cover-grid dropdown visibility + selectable tiles */
.ig2-cover-library>.ig2-cover-choice,
.ig2-library-strip>.ig2-cover-choice{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:start!important;
  gap:6px!important;
}
.ig2-cover-choice-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.ig2-cover-position{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:4px 30px 4px 8px!important;
  appearance:auto!important;
  -webkit-appearance:menulist!important;
  background:#fff!important;
  color:var(--ink,#171517)!important;
  border:1px solid #bfb7c2!important;
  border-radius:7px!important;
  font:inherit!important;
  font-size:.8rem!important;
  font-weight:750!important;
  line-height:1.2!important;
  z-index:2!important;
}
@media(max-width:620px){
  .ig2-cover-position{height:34px!important;min-height:34px!important;font-size:.74rem!important}
}


/* QuAD Phase 7CC — typed pastel badges, dropdown-only cover picker, email/admin polish */
:root{
  --badge-location-bg:#dff2ff;--badge-location-ink:#245b74;--badge-location-border:#b6dced;
  --badge-medium-bg:#f9dbea;--badge-medium-ink:#7a315a;--badge-medium-border:#e9bad2;
  --badge-nsfw-bg:#ffe0e0;--badge-nsfw-ink:#8b2d35;--badge-nsfw-border:#efb9bd;
  --badge-identity-bg:#eee4ff;--badge-identity-ink:#5d4380;--badge-identity-border:#d6c5ee;
  --badge-commission-bg:#fff0c9;--badge-commission-ink:#72531b;--badge-commission-border:#ead59e;
}
.badge-type-location,.location-badge{background:var(--badge-location-bg)!important;color:var(--badge-location-ink)!important;border-color:var(--badge-location-border)!important}
.badge-type-medium{background:var(--badge-medium-bg)!important;color:var(--badge-medium-ink)!important;border-color:var(--badge-medium-border)!important}
.badge-type-nsfw{background:var(--badge-nsfw-bg)!important;color:var(--badge-nsfw-ink)!important;border-color:var(--badge-nsfw-border)!important}
.badge-type-identity{background:var(--badge-identity-bg)!important;color:var(--badge-identity-ink)!important;border-color:var(--badge-identity-border)!important}
.badge-type-commission{background:var(--badge-commission-bg)!important;color:var(--badge-commission-ink)!important;border-color:var(--badge-commission-border)!important}
.zite-card-badges span.badge-type-location,.zite-card-badges span.badge-type-medium,.zite-card-badges span.badge-type-nsfw{border:1px solid currentColor!important}
.profile-mediums-section .term-grid a,.profile-mediums-section .term-grid span{background:var(--badge-medium-bg)!important;color:var(--badge-medium-ink)!important;border-color:var(--badge-medium-border)!important}
.ig2-cover-choice-state{display:none!important}
.ig2-cover-choice-image{cursor:default!important;pointer-events:none!important}
.ig2-cover-position{display:block!important;position:relative!important;z-index:3!important}
.email-updates-consent{align-items:flex-start!important;padding:10px 12px;border:1px solid #e1dbe4;border-radius:8px;background:#fff}
.account-email-preferences .email-preferences-form{max-width:720px}
.admin-email-panel-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 18px;padding:10px 12px;border:1px solid #ddd6df;border-radius:8px;background:#faf8fb}

/* QuAD Phase 7CD — onboarding, profile validation and Instagram selection/crop UX */
.editor-required-alert{
  margin:0 0 18px;
  padding:13px 15px;
  border:2px solid #b33a55;
  border-radius:8px;
  background:#fff3f6;
  color:#681d31;
  box-shadow:3px 3px 0 #f4c4d2;
}
.editor-required-alert strong{display:block;margin-bottom:5px}
.editor-required-alert ul{margin:0;padding-left:20px}
.editor-required-alert li+li{margin-top:3px}

.ig2-cover-slot:disabled{opacity:.72;cursor:default}
.ig2-cover-slot .ig2-slot-copy em{
  width:max-content;
  max-width:100%;
  margin-top:2px;
  padding:3px 7px;
  border:1px solid #cfc7d2;
  border-radius:999px;
  background:#f8f5f9;
  color:#625967;
  font-size:.7rem;
  font-style:normal;
  font-weight:800;
}
.ig2-cover-slot.is-active .ig2-slot-copy em{background:var(--blue);border-color:#111;color:#111}
.ig2-art-choice-action{
  justify-self:start;
  padding:5px 8px;
  border:1px solid #bbb2be;
  border-radius:6px;
  background:#fff;
  color:#201b21;
  font:inherit;
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
}
.ig2-art-choice.is-selected .ig2-art-choice-action{background:#fff1f8;border-color:#e2a7c8}
.ig2-inline-crop{border:1px solid #d7d0da;border-radius:8px;background:#faf8fb;padding:12px}
.ig2-inline-crop-copy{margin:0 0 10px!important;line-height:1.45}

@media(max-width:620px){
  .ig2-cover-library,
  .ig2-screen[data-ig-screen="0"] .ig2-library-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .ig2-screen[data-ig-screen="2"] [data-art-library],
  .ig2-library[data-art-library]{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .ig2-art-choice{
    grid-template-columns:96px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:start!important;
    padding:9px!important;
    gap:8px 10px!important;
  }
  .ig2-art-choice-image{grid-column:1;grid-row:1 / span 2;aspect-ratio:1!important}
  .ig2-art-choice-copy{grid-column:2;grid-row:1;align-self:center}
  .ig2-art-choice-title{font-size:.82rem!important}
  .ig2-art-choice-caption{grid-column:2;grid-row:2;font-size:.74rem!important}
  .ig2-art-choice-caption textarea{min-height:76px!important}
  .ig2-art-choice-badge{font-size:.65rem!important;min-width:34px!important;padding:0 6px!important}
  .ig2-cover-preview-area .ig2-cropbar{align-items:stretch!important}
  .ig2-cover-preview-area .ig2-cropbar label{width:100%!important}
  .ig2-cover-preview-area .ig2-cropbar .button{width:100%!important}
}


/* Phase 7CE — admin testing modes + user deletion */
.quad-test-mode-banner{position:sticky;top:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:9px 14px;background:#fff3a8;border-bottom:2px solid #171219;color:#171219;font-size:.9rem}.quad-test-mode-banner strong{letter-spacing:.04em}.quad-test-mode-banner a,.quad-test-mode-banner button{appearance:none;border:1px solid #171219;background:#fff;padding:5px 9px;border-radius:5px;color:#171219;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.quad-test-mode-banner form{margin:0}.admin-testing-card{border:2px solid #92daf4}.admin-user-danger{border:2px solid #d9534f}.admin-user-danger .danger-outline:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.quad-test-mode-banner{justify-content:flex-start;gap:7px}.quad-test-mode-banner span{flex-basis:100%}}

/* QuAD Phase 7CF — Admin Control Centre */
.qcc-dashboard-callout{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,rgba(246,168,211,.18),rgba(146,218,244,.18))}
.qcc-hero{display:flex;justify-content:space-between;gap:24px;align-items:stretch;margin:0 0 22px}.qcc-hero>div:first-child{flex:1}.qcc-health{min-width:190px;border:1px solid var(--line,#ddd);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:5px}.qcc-health strong{font-size:1.3rem}.qcc-green{background:#effaf2}.qcc-yellow{background:#fff8df}.qcc-red{background:#fff0f0}.qcc-search-label{display:block;font-weight:800;margin:18px 0}.qcc-search-label input{display:block;width:100%;margin-top:8px;padding:13px 15px;font:inherit;border:1px solid #bbb;border-radius:10px;background:#fff}.qcc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px}.qcc-card{position:relative;border:1px solid #ddd;background:#fff;border-radius:14px;padding:18px}.qcc-card[hidden]{display:none}.qcc-card h3{margin:0 0 8px}.qcc-card p{min-height:3.8em;color:#625c64}.qcc-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:18px 0}.qcc-health-card{border:1px solid #ddd;border-left:7px solid #999;border-radius:12px;padding:16px;background:#fff}.qcc-health-card.green{border-left-color:#16833e}.qcc-health-card.yellow{border-left-color:#d49b09}.qcc-health-card.red{border-left-color:#c43131}.qcc-health-head{display:flex;align-items:center;gap:9px}.qcc-health-head h2{font-size:1rem;margin:0}.qcc-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#999}.qcc-dot.green{background:#16833e}.qcc-dot.yellow{background:#d49b09}.qcc-dot.red{background:#c43131}.qcc-preview-frame{width:100%;height:680px;border:1px solid #ccc;border-radius:12px;background:white}.qcc-bulk-wrap{max-height:70vh;overflow:auto}.qcc-bulk-table{min-width:1600px}.qcc-bulk-table input[type=text],.qcc-bulk-table input:not([type]){min-width:150px}.qcc-site-logo{display:block;max-height:52px;max-width:220px;width:auto}.admin-page textarea#support-report,.admin-page textarea[readonly]{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.45}.admin-detail-list>div{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:14px;padding:8px 0;border-bottom:1px solid #eee}.admin-detail-list dt{font-weight:800}.admin-detail-list dd{margin:0}.admin-nav-group-links a[href="/admin/control-centre"]{font-weight:900}.qcc-card code,.qcc-health-card code{word-break:break-word}
@media(max-width:760px){.qcc-dashboard-callout,.qcc-hero{flex-direction:column;align-items:stretch}.qcc-health{min-width:0}.qcc-grid,.qcc-health-grid{grid-template-columns:1fr}.qcc-preview-frame{height:520px}.admin-detail-list>div{grid-template-columns:1fr;gap:3px}}


/* QuAD Phase 7IG — configurable Instagram icon beside the SFW control */
.header-instagram-link,.mobile-header-instagram-link{
  display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;
  border:2px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);
  text-decoration:none;box-shadow:3px 3px 0 var(--pink);transition:transform .12s ease,box-shadow .12s ease,background .12s ease;
}
.header-instagram-link svg,.mobile-header-instagram-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.header-instagram-link .ig-dot,.mobile-header-instagram-link .ig-dot{fill:currentColor;stroke:none}
.header-instagram-link:hover,.header-instagram-link:focus-visible,.mobile-header-instagram-link:hover,.mobile-header-instagram-link:focus-visible{background:var(--pink);color:var(--ink);transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--blue);outline:none}
.mobile-header-instagram-link{display:none}
@media(min-width:1051px){.main-nav>.header-instagram-link{margin-left:4px}}
@media(max-width:1050px){
  .header-instagram-link{display:none!important}
  .mobile-header-instagram-link{display:inline-grid;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:34px}
  .mobile-header-instagram-link:hover,.mobile-header-instagram-link:focus-visible{transform:translate(-1px,calc(-50% - 1px))}
  .mobile-header-sfw-form{right:44px!important}
  .nav-shell{padding-right:170px!important}
}
@media(max-width:520px){
  .mobile-header-instagram-link{width:32px;height:32px;right:0}
  .mobile-header-instagram-link svg{width:18px;height:18px}
  .mobile-header-sfw-form{right:41px!important}
  .nav-shell{padding-right:158px!important}
}
@media(max-width:380px){
  .nav-shell{padding-right:150px!important}
  .mobile-header-sfw-toggle{min-width:98px!important}
}

/* 7CG v1.2.5 — unified Instagram Features */
.instagram-features-section{margin-top:18px}
.instagram-feature-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.instagram-feature-choice{display:flex;flex-direction:column;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:18px;min-width:0}
.instagram-feature-choice h3{margin:0 0 8px;font-size:1.08rem}
.instagram-feature-choice p{margin:0;line-height:1.55}
.instagram-feature-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.instagram-feature-history{margin-top:4px;padding-top:12px;border-top:1px solid var(--border);display:grid;gap:6px;font-size:.9rem}
.instagram-feature-history>strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-ink)}
.instagram-feature-history>div{display:flex;gap:8px;justify-content:space-between;align-items:center}
.instagram-features-preview{margin:18px 0 24px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--soft-bg,#faf8fb)}
.instagram-features-preview>.instagram-feature-choice-grid{margin-bottom:0}
.feature-paused{font-weight:600}
@media(max-width:720px){.instagram-feature-choice-grid{grid-template-columns:1fr}.instagram-feature-history>div{align-items:flex-start;flex-direction:column;gap:2px}}

/* QuAD 7CG v1.2.6 — Activity Log */
.activity-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.activity-summary-grid .admin-card{margin:0;display:flex;flex-direction:column;gap:3px}
.activity-summary-grid strong{font-size:1.75rem;line-height:1.1}
.activity-summary-grid span{color:var(--muted-ink,#6b626d);font-size:.9rem}
.activity-filter-form{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr));gap:12px;align-items:end;margin-top:16px}
.activity-filter-form label{display:grid;gap:6px;font-weight:700;font-size:.9rem}
.activity-filter-form input,.activity-filter-form select{width:100%;box-sizing:border-box}
.activity-filter-actions{display:flex;gap:8px;flex-wrap:wrap;grid-column:1/-1}
.activity-timeline{display:grid;gap:12px;position:relative;margin:18px 0}
.activity-event{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;position:relative}
.activity-event:before{content:"";position:absolute;left:8px;top:21px;bottom:-18px;width:2px;background:var(--border,#ddd5e0)}
.activity-event:last-child:before{display:none}
.activity-dot{width:12px;height:12px;border-radius:50%;margin-top:20px;background:#908491;border:3px solid #fff;box-shadow:0 0 0 1px var(--border,#ddd5e0);z-index:1}
.activity-success .activity-dot{background:#3a9a5b}.activity-error .activity-dot{background:#c64b4b}.activity-attention .activity-dot{background:#d79b31}
.activity-event-main{border:1px solid var(--border,#ddd5e0);border-radius:12px;background:#fff;padding:15px 16px;min-width:0}
.activity-event-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.activity-event-top h3{margin:3px 0 0;font-size:1.02rem}
.activity-category{font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-ink,#6b626d);font-weight:800}
.activity-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:9px;color:var(--muted-ink,#6b626d);font-size:.86rem}
.activity-event-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-top:12px}
.activity-event-actions details{min-width:min(100%,480px)}
.activity-event-actions summary{cursor:pointer;font-weight:700;font-size:.88rem;padding:6px 0}
.activity-event-actions pre{white-space:pre-wrap;word-break:break-word;background:#f7f5f8;border:1px solid var(--border,#ddd5e0);border-radius:8px;padding:10px;margin:4px 0 0;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:260px;overflow:auto}
.activity-pagination{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:22px 0}
@media(max-width:900px){.activity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-filter-form{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.activity-summary-grid,.activity-filter-form{grid-template-columns:1fr}.activity-event-top{flex-direction:column}.activity-meta{display:grid;gap:4px}.activity-event{grid-template-columns:14px minmax(0,1fr)}.activity-event:before{left:6px}.activity-dot{width:9px;height:9px;margin-top:18px}}



/* QuAD 7CG v1.2.7 — Activity Log visual refresh */
.activity-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 18px;margin-bottom:4px}
.activity-hero h2{font-size:clamp(1.65rem,2.5vw,2.2rem);line-height:1.08;margin:4px 0 8px}
.activity-hero p{max-width:720px;margin:0;color:var(--muted-ink,#6b626d)}
.activity-eyebrow{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:850;color:var(--muted-ink,#6b626d)}
.activity-hero-actions{display:flex;gap:8px;flex-wrap:wrap}

.activity-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.activity-summary-card{display:flex;flex-direction:column;gap:4px;min-height:118px;padding:17px 18px;border:1px solid var(--border,#ddd5e0);border-radius:16px;background:var(--card,#fff);color:inherit;text-decoration:none;box-shadow:0 1px 0 rgba(30,20,30,.03);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.activity-summary-card:hover{transform:translateY(-2px);border-color:var(--accent,#8f668f);box-shadow:0 8px 22px rgba(30,20,30,.08);text-decoration:none}
.activity-summary-number{font-size:2rem;line-height:1;font-weight:850;margin-bottom:5px}
.activity-summary-card strong{font-size:.98rem}
.activity-summary-card small{color:var(--muted-ink,#6b626d);line-height:1.35}
.activity-summary-error{border-color:#e8caca;background:#fffafa}

.activity-controls{padding:18px 18px 16px;margin-bottom:16px}
.activity-controls-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.activity-controls-head h2{margin:0 0 3px;font-size:1.15rem}
.activity-controls-head p{margin:0}
.activity-clear{font-size:.86rem;font-weight:750;white-space:nowrap}
.activity-category-chips{display:flex;gap:7px;flex-wrap:wrap;padding:2px 0 14px;border-bottom:1px solid var(--border,#e2dce4);margin-bottom:14px}
.activity-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--border,#ddd5e0);border-radius:999px;background:var(--card,#fff);color:inherit;text-decoration:none;font-size:.84rem;font-weight:750;line-height:1;transition:.15s ease}
.activity-chip:hover{border-color:var(--accent,#8f668f);text-decoration:none;transform:translateY(-1px)}
.activity-chip.active{background:var(--ink,#272028);color:#fff;border-color:var(--ink,#272028)}
.activity-chip>span:last-child{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(120,100,120,.1);font-size:.72rem;font-weight:800}
.activity-chip.active>span:last-child{background:rgba(255,255,255,.18)}
.activity-chip-icon{font-size:.9rem}

.activity-filter-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(170px,1fr) auto;gap:10px;align-items:end;margin:0}
.activity-filter-form label{display:grid;gap:6px;font-weight:750;font-size:.86rem}
.activity-filter-form label>span{color:var(--muted-ink,#6b626d)}
.activity-filter-form input,.activity-filter-form select{width:100%;box-sizing:border-box;min-height:42px}
.activity-filter-actions{display:flex;align-items:end}
.activity-search-field input{padding-left:12px}
.activity-active-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border,#ddd5e0);font-size:.8rem}
.activity-active-filters>span{font-weight:800;color:var(--muted-ink,#6b626d)}
.activity-active-filters a{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f4f0f5;color:inherit;text-decoration:none;font-weight:700}

.activity-results-bar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:14px 2px 10px;color:var(--muted-ink,#6b626d);font-size:.86rem}
.activity-results-bar strong{color:var(--ink,#272028)}
.activity-results-bar span{margin-left:9px}
.activity-results-bar>a{font-weight:750;white-space:nowrap}

.activity-timeline{display:grid;gap:9px;position:relative;margin:0 0 20px}
.activity-day{display:flex;align-items:center;gap:10px;margin:11px 0 2px;font-size:.8rem;font-weight:850;letter-spacing:.03em;color:var(--muted-ink,#6b626d)}
.activity-day:after{content:"";height:1px;background:var(--border,#ddd5e0);flex:1}
.activity-day span{background:var(--page-bg,#fff);padding-right:4px}
.activity-event{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;position:relative}
.activity-event:before{content:"";position:absolute;left:21px;top:42px;bottom:-12px;width:2px;background:var(--border,#e1dbe3)}
.activity-event:last-child:before{display:none}
.activity-rail{display:flex;justify-content:center;position:relative;z-index:1}
.activity-icon{display:grid;place-items:center;width:34px;height:34px;margin-top:13px;border-radius:11px;background:#f4f0f5;border:1px solid var(--border,#ddd5e0);font-size:.95rem;font-weight:900;box-shadow:0 0 0 4px var(--page-bg,#fff)}
.activity-success .activity-icon{background:#f0f8f2;border-color:#cfe3d4}
.activity-error .activity-icon{background:#fff1f1;border-color:#ebcaca}
.activity-attention .activity-icon{background:#fff8e9;border-color:#eadab3}
.activity-event-main{border:1px solid var(--border,#ddd5e0);border-radius:14px;background:var(--card,#fff);padding:14px 15px;min-width:0;box-shadow:0 1px 0 rgba(30,20,30,.02)}
.activity-event-main:hover{border-color:#cfc3d0}
.activity-event-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.activity-event-title{min-width:0}
.activity-event-top h3{margin:5px 0 0;font-size:1rem;line-height:1.3}
.activity-category{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#f4f0f5;color:var(--muted-ink,#6b626d);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850}
.activity-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 13px;margin-top:9px;color:var(--muted-ink,#6b626d);font-size:.82rem}
.activity-meta time{font-weight:800;color:var(--ink,#272028)}
.activity-meta-label{color:var(--muted-ink,#6b626d)}
.activity-source{padding:3px 7px;border-radius:999px;background:#f7f5f8;font-size:.73rem}
.activity-event-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:11px}
.activity-event-actions details{min-width:min(100%,520px)}
.activity-event-actions summary{cursor:pointer;font-weight:750;font-size:.82rem;color:var(--muted-ink,#6b626d);padding:5px 0}
.activity-event-actions pre{white-space:pre-wrap;word-break:break-word;background:#f7f5f8;border:1px solid var(--border,#ddd5e0);border-radius:9px;padding:10px;margin:4px 0 0;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:260px;overflow:auto}
.activity-pagination{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;align-items:center;margin:22px 0}
.activity-pagination .disabled{opacity:.42;pointer-events:none}

@media(max-width:1050px){.activity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-filter-form{grid-template-columns:1fr 1fr}.activity-search-field{grid-column:1/-1}.activity-filter-actions{align-self:end}}
@media(max-width:680px){.activity-hero,.activity-controls-head,.activity-results-bar{align-items:flex-start;flex-direction:column}.activity-summary-grid{grid-template-columns:1fr 1fr}.activity-summary-card{min-height:102px;padding:14px}.activity-filter-form{grid-template-columns:1fr}.activity-search-field{grid-column:auto}.activity-filter-actions .button{width:100%}.activity-category-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}.activity-chip{flex:0 0 auto}.activity-event{grid-template-columns:34px minmax(0,1fr);gap:7px}.activity-event:before{left:16px}.activity-icon{width:29px;height:29px;border-radius:9px;margin-top:15px;font-size:.82rem}.activity-event-main{padding:12px}.activity-event-top{gap:8px}.activity-meta{display:grid;gap:4px}.activity-source{width:max-content}.activity-event-actions{align-items:flex-start;flex-direction:column}.activity-results-bar>a{white-space:normal}}
@media(max-width:430px){.activity-summary-grid{grid-template-columns:1fr}.activity-summary-card{min-height:auto}.activity-hero-actions,.activity-hero-actions .button{width:100%}.activity-controls{padding:14px}.activity-event-top{flex-direction:column}.activity-event-top>.badge{align-self:flex-start}}

