
.flash{padding:.75rem 1rem;border-radius:var(--pico-border-radius);background:var(--pico-mark-background-color)}

.flash.danger,progress.danger{--pico-progress-color:#d93526}

.flash.danger{background:#d9352622}

mark.ok{background:#2a7b3a33;color:inherit}

.narrow{max-width:420px;margin:2rem auto}

.inline{display:inline;margin:0}

.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:0}

.row input:not([type=checkbox]),.row select{width:auto;margin:0}

.row input[type=number]{max-width:7rem}

.small{padding:.25rem .6rem;font-size:.85rem;margin:0;width:auto}

.copy{display:flex;gap:.5rem}
.copy input{margin:0}
.copy button{width:auto;margin:0}

.grid-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

tr.current td{background:var(--pico-mark-background-color)}

.qr img{background:#fff;padding:8px;border-radius:8px}

canvas{max-height:320px}

.offer-message{white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;border:1px solid var(--pico-muted-border-color);border-radius:var(--pico-border-radius);font:inherit;line-height:1.6}

.pair kbd{font-size:1.6rem;letter-spacing:.15em}

.group-picker-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}

.group-picker-actions button{width:auto;margin:0}

.group-picker-list{display:grid;gap:.5rem;max-height:450px;overflow:auto;padding:.25rem}

.group-choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;margin:0;padding:.65rem .75rem;border:1px solid var(--pico-muted-border-color);border-radius:var(--pico-border-radius);cursor:pointer}

.group-choice input[type=checkbox]{width:1.25rem;height:1.25rem;margin:.2rem 0 0}

.group-choice-text{display:grid;gap:.15rem;min-width:0}

.group-choice-text strong,.group-choice-text small{overflow-wrap:anywhere}

.group-choice-text small{color:var(--pico-muted-color)}

@media (max-width:480px){.group-picker-actions button{flex:1 1 auto}
.group-choice{gap:.6rem;padding:.6rem}
}

/* Match Pico theme specificity; the shell always uses its explicit light palette. */
:root[data-theme=light]{color-scheme:light;--shell:#28123f;--shell-raised:#3b2352;--accent:#ffdc25;--paper:#fffaf0;--ink:#261d30;--muted:#64596d;--border:#e1dbe5;--link:#642e89;--pico-font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--pico-font-size:100%;--pico-line-height:1.5;--pico-color:var(--ink);--pico-background-color:var(--paper);--pico-primary:var(--link);--pico-primary-hover:var(--link);--pico-primary-focus:var(--link);--pico-primary-background:var(--accent);--pico-primary-border:var(--accent);--pico-primary-hover-background:#efd01e;--pico-primary-hover-border:#efd01e;--pico-primary-inverse:var(--shell);--pico-form-element-color:var(--ink);--pico-form-element-placeholder-color:var(--muted);--pico-form-element-border-color:#85788f;--pico-form-element-active-background-color:#fff;--pico-form-element-active-border-color:var(--link);--pico-form-element-focus-color:var(--link);--pico-form-element-selected-background-color:#f1edf4;--pico-form-element-background-color:#fff;--pico-muted-color:var(--muted);--pico-muted-border-color:var(--border);--pico-border-radius:8px;--pico-spacing:1rem;--pico-block-spacing-vertical:1.5rem;--pico-card-background-color:#fff;--pico-card-border-color:var(--border);--pico-card-sectioning-background-color:#faf7fc;--pico-card-box-shadow:none;--pico-dropdown-background-color:#fff;--pico-dropdown-color:var(--ink);--pico-dropdown-border-color:var(--border);--pico-code-background-color:#f1edf4;--pico-code-color:var(--ink);--pico-switch-checked-background-color:var(--link);--pico-progress-color:var(--link)}

*{box-sizing:border-box}
body{margin:0;font-family:var(--pico-font-family);font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper)}
[hidden]{display:none!important}
a{color:var(--link);text-underline-offset:3px}
h1,h2,h3,h4{color:var(--ink);margin:0 0 16px;font-weight:700;line-height:1.25}
h1{font-size:28px}
h2{font-size:20px}
h3{font-size:18px}
p{margin:0 0 16px}
small,.muted{font-size:14px;line-height:1.45;color:var(--muted)}
strong{font-weight:700}
button,input,select,textarea{font:inherit}
input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;min-width:0;padding:10px 12px;border:1px solid #85788f;border-radius:8px;background:#fff;color:var(--ink);margin:6px 0 12px;min-height:44px}
input[readonly]{background:#faf7fc}
label{display:block;font-size:14px;font-weight:600;margin-bottom:16px}
label small{display:block;font-weight:400}
input[type=checkbox]{accent-color:var(--link);width:20px;height:20px}
button,[role=button]{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--shell);text-decoration:none;font-weight:600;cursor:pointer;line-height:1.35}
button:hover,[role=button]:hover{background:#efd01e;color:var(--shell)}
button.outline,[role=button].outline{background:transparent;border-color:var(--link);color:var(--link)}
button.secondary,[role=button].secondary{background:#f1edf4;color:var(--muted);border-color:#85788f}
button:disabled{opacity:.5;cursor:not-allowed}
:focus-visible{outline:3px solid var(--link);outline-offset:3px}
article,.link-panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;margin:0 0 24px;box-shadow:none}
article>header{margin:-24px -24px 24px;padding:16px 24px;background:#faf7fc;border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}
article>header a{display:block}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid-cards{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
td,th{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}
th{color:var(--muted);font-weight:600}
td{overflow-wrap:anywhere}
figure,.overflow-auto{max-width:100%;overflow:auto;margin:0 0 24px}
figure table,.overflow-auto table{min-width:600px}
details{margin-bottom:24px}
summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}
details[open]>summary{margin-bottom:16px}
form{margin:0}
progress{width:100%;height:8px;accent-color:var(--link)}
canvas{max-width:100%}
mark,.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;background:#fff3cf;color:#77520b}
.success{background:#eaf5ee;color:#185737}
.warning{background:#fff3cf;color:#77520b}
.flash{padding:16px 20px;border:1px solid #ead79f;border-radius:8px;background:#fff3cf;color:#77520b;margin-bottom:24px}
.flash.danger{background:#fceef0;color:#9d2530;border-color:#e9bec3}
.flash ul{margin-bottom:0}
.skip-link{position:absolute;top:8px;left:8px;transform:translateY(-200%);z-index:5;background:#fff;padding:12px}
.skip-link:focus{transform:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:32px 16px;background:var(--shell);color:#fff;display:flex;flex-direction:column;overflow-y:auto}
.brand{display:block;text-decoration:none;font-size:24px;font-weight:700;line-height:1.2;color:#fff;margin:0 8px 32px;letter-spacing:-.6px}
.brand:hover{color:var(--accent)}
.brand small{display:block;color:#d3c4df;font-size:13px;font-weight:400;letter-spacing:1px;margin-top:6px}
.primary-nav{display:flex;flex-direction:column;gap:4px}
.primary-nav a{display:block;min-height:44px;padding:12px 16px;border-radius:8px;text-decoration:none;color:#e3d9ec;font-size:14px;font-weight:600;border-left:3px solid transparent}
.primary-nav a:hover,.primary-nav a[aria-current]{background:var(--shell-raised);color:#fff}
.primary-nav a[aria-current]{border-left-color:var(--accent)}
.primary-nav a[href='/domains']{margin-top:24px}
.primary-nav form{padding:8px 0 0}
.primary-nav .nav-logout{width:100%;justify-content:flex-start;padding-left:19px;background:transparent;color:#d3c4df;border-color:transparent}
.primary-nav :focus-visible{outline-color:var(--accent)}
.sidebar-note{color:#d3c4df;font-size:13px;line-height:1.8;padding:48px 16px 0;margin-top:auto}
.section-bar{margin-left:232px;min-height:64px;padding:20px 32px;background:#fff;border-bottom:1px solid var(--border);font-size:14px;font-weight:600}
.section-bar span{color:#85788f;margin:0 12px}
.workspace{margin-left:232px;padding:32px;max-width:1264px;min-width:0;overflow-wrap:anywhere}
.mobile-header{display:none}
.site-footer{margin-left:232px;padding:16px 32px 32px;font-size:12px;color:var(--muted)}
.site-footer span{padding:0 8px}
.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:32px}
.page-heading hgroup{margin:0}
.page-heading p{color:var(--muted);margin:0;max-width:640px}
.page-heading [role=button]{flex-shrink:0}
.campaign-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.5fr) auto;gap:24px;align-items:center;padding:24px;margin-bottom:12px}
.campaign-name{font-size:18px;font-weight:700;text-decoration:none}
.campaign-row p{font-size:14px;color:var(--muted);margin:8px 0 0}
.campaign-row small{display:block;margin-top:6px}
.campaign-row>a{font-size:14px;font-weight:600}
.wizard{max-width:960px}
.campaign-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:24px 0 32px;gap:16px}
.campaign-steps li{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:14px;border-bottom:2px solid var(--border);padding-bottom:16px}
.campaign-steps li>span{width:28px;height:28px;border:1px solid var(--border);border-radius:50%;text-align:center;line-height:26px}
.campaign-steps li[aria-current]{color:var(--link);font-weight:700;border-color:var(--link)}
.campaign-steps li[aria-current]>span{background:var(--link);color:#fff;border-color:var(--link)}
.campaign-steps small{font-size:12px}
.form-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}
.form-actions button{margin:0}
.review-summary{display:grid;grid-template-columns:160px 1fr;gap:12px 24px;margin-bottom:24px}
.review-summary dt{color:var(--muted);font-size:14px}
.review-summary dd{margin:0;font-weight:600}
.review-groups{list-style:none;padding:0}
.review-groups li{padding:16px 0;border-top:1px solid var(--border)}
.group-evidence{display:grid;gap:8px;min-width:200px}
.group-evidence .badge{justify-self:start}
.metrics{display:flex;gap:16px;margin-top:24px}
.metrics article{flex:1;max-width:320px;margin:0}
.metrics strong{display:block;font-size:28px;font-variant-numeric:tabular-nums;margin-top:8px}
.link-panel{margin:24px 0}
.link-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:0 12px;margin-bottom:16px}
.link-item label{margin:0}
.link-item input{margin-bottom:0!important}
.link-item button{margin:0}
.link-item [role=status]{grid-column:1/-1;font-size:14px;color:var(--muted);margin-top:6px}
.group-picker-actions{margin:16px 0}
.group-picker-actions .small{font-size:14px;padding:10px 12px;min-height:44px}
.group-picker-list{max-height:480px;padding:4px;gap:8px;margin:16px 0}
.group-choice{background:#fff;border:1px solid var(--border);padding:16px;gap:16px;align-items:start}
.group-choice:has(input:checked){background:#f6effb;border-color:var(--link)}
.group-choice-text{gap:6px}
.group-choice-text strong{font-size:16px}
.group-choice-text small{font-weight:400}
.auth-shell{background:var(--shell);min-height:100vh;padding:40px 16px}
.auth-brand{max-width:288px;margin:0 auto 24px}
.auth-brand img{width:100%;height:auto}
.auth-content{max-width:420px;margin:auto}
.auth-content .narrow{margin:0 auto;padding:32px;max-width:420px}
.auth-content button{width:100%}
.auth-content h1{font-size:24px;margin-bottom:24px}
.auth-shell .site-footer{margin:24px auto 0;text-align:center;color:#d3c4df}
.auth-shell .flash{margin-bottom:16px}
.row{gap:12px}
.row input[type=number]{max-width:90px}
.row input[type=checkbox]{flex-shrink:0}
.small{min-height:44px}
.qr img{max-width:100%;height:auto}
.copy{flex-wrap:wrap}
.copy input{min-width:0}

@media(max-width:1100px){.campaign-row{grid-template-columns:minmax(0,1fr) 180px}
.campaign-row>a{grid-column:1/-1}
.group-evidence{min-width:160px}
}

@media(max-width:959px){.sidebar,.section-bar{display:none}
.mobile-header{display:block;background:var(--shell);padding:16px;color:#fff;--pico-color:#fff;--pico-primary:#fff;--pico-primary-hover:#fff;--pico-primary-focus:var(--accent);--pico-accordion-close-summary-color:#fff;--pico-accordion-open-summary-color:#fff;--pico-accordion-active-summary-color:#fff}
.mobile-header .brand{margin:0;font-size:22px}
.mobile-header details{margin:12px 0 0}
.mobile-header details>summary{color:#fff;border:1px solid #85788f;border-radius:8px;padding:10px 16px;width:100%}
.mobile-header details>summary::after{filter:brightness(0) invert(1)}
.mobile-header details>summary:focus-visible:not([role]){color:#fff;outline:3px solid var(--accent);outline-offset:3px}
.mobile-header .primary-nav{padding-top:8px}
.mobile-header :focus-visible{outline-color:var(--accent)}
.workspace{margin:0;padding:24px}
.site-footer{margin:0;padding:16px 24px 24px}
.group-picker-list{max-height:none;overflow:visible}
}

@media(max-width:600px){.workspace{padding:24px 16px}
h1{font-size:24px}
.page-heading{flex-direction:column;gap:16px;margin-bottom:24px}
.page-heading [role=button]{width:100%}
article,.link-panel{padding:16px}
article>header{margin:-16px -16px 16px;padding:16px}
.grid{grid-template-columns:1fr;gap:8px}
.campaign-row{grid-template-columns:1fr;gap:16px}
.campaign-row>a{grid-column:auto}
.campaign-steps{grid-template-columns:1fr;gap:12px;margin:24px 0}
.campaign-steps li{padding-bottom:12px}
.campaign-steps small{margin-left:auto}
.form-actions{flex-direction:column;align-items:stretch;gap:16px}
.form-actions button,.form-actions [role=button]{width:100%}
.review-summary{grid-template-columns:1fr;gap:4px}
.review-summary dd{margin-bottom:12px}
.link-item{grid-template-columns:1fr;gap:12px}
.link-item button{width:100%}
.metrics{gap:8px}
.metrics article{padding:16px;min-width:0}
.metrics small{font-size:13px}
.metrics strong{font-size:26px}
.group-picker-actions{display:grid;gap:8px}
.group-picker-actions button{width:100%;text-align:left}
.group-choice{padding:12px;gap:12px}
.auth-shell{padding-top:24px}
.auth-content .narrow{padding:24px}
.row{align-items:flex-start}
.site-footer{padding:16px}
.group-evidence{min-width:0}
}

.primary-nav a{margin:0}
.campaign-group-table .group-evidence{max-width:360px}
.campaign-group-table .row label{margin:0}
.campaign-group-table .row input[type=checkbox]{margin-right:8px}
@media(max-width:600px){
.campaign-group-table{min-width:0!important}
.campaign-group-table thead{display:none}
.campaign-group-table tbody,.campaign-group-table tr,.campaign-group-table td{display:block}
.campaign-group-table tr{border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:16px;background:#fff}
.campaign-group-table td{border:0;padding:0 0 16px}
.campaign-group-table td:last-child{padding-bottom:0}
.campaign-group-table .row{display:flex;flex-wrap:wrap}
.campaign-group-table .row input[type=number]{max-width:90px}
}

