.premium-gifts-view {
    width: 100%;
    min-height: calc(100vh - 150px);
    padding: 1rem 0 3rem;
}

.premium-gifts-view.active-view { display: block; }
#premiumGiftsApp { width: 100%; }

.pg-shell {
    width: min(1120px, 100%);
    margin: 0 auto;
    color: var(--text);
}

.pg-hero {
    position: relative;
    overflow: hidden;
    padding: 2rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    border: 1px solid var(--border);
    border-radius: 28px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 89%, #ffad5d 11%), var(--surface) 58%);
    box-shadow: 0 22px 54px rgba(16, 18, 24, .08);
}

.pg-hero::after {
    content: '';
    position: absolute;
    width: 290px;
    height: 290px;
    right: -110px;
    top: -150px;
    border-radius: 50%;
    background: #ffad5d;
    opacity: .16;
    filter: blur(2px);
}

.pg-hero-copy, .pg-stat { position: relative; z-index: 1; }
.pg-eyebrow {
    margin-bottom: .75rem;
    display: flex;
    align-items: center;
    gap: .45rem;
    color: #f18a35;
    font-size: .69rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.pg-eyebrow svg { width: 16px; height: 16px; }
.pg-hero h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1; letter-spacing: -.055em; }
.pg-hero p { max-width: 640px; margin: .9rem 0 0; color: var(--text-3); line-height: 1.65; }
.pg-stat {
    min-width: 126px;
    padding: 1.1rem 1.25rem;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
    border-radius: 20px;
    background: color-mix(in srgb, var(--surface) 86%, transparent);
    text-align: center;
    backdrop-filter: blur(14px);
}
.pg-stat strong { display: block; color: var(--accent-hover); font-size: 2rem; line-height: 1; }
.pg-stat span { display: block; margin-top: .45rem; color: var(--text-3); font-size: .68rem; font-weight: 750; text-transform: uppercase; }

.pg-lock {
    width: min(480px, 100%);
    margin: 2rem auto 0;
    padding: 2rem;
    border: 1px solid var(--border);
    border-radius: 26px;
    background: var(--surface);
    box-shadow: 0 20px 52px rgba(16, 18, 24, .09);
    text-align: center;
}
.pg-lock-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 1rem;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #17120e;
    background: var(--accent);
    box-shadow: 0 12px 28px rgba(255, 173, 93, .25);
}
.pg-lock-icon svg { width: 25px; height: 25px; }
.pg-lock h3 { margin: 0; font-size: 1.35rem; }
.pg-lock p { margin: .65rem 0 1.25rem; color: var(--text-3); font-size: .84rem; line-height: 1.55; }
.pg-pin-row { display: flex; gap: .65rem; }
.pg-pin-row input,
.pg-search input {
    min-width: 0;
    border: 1px solid var(--border);
    outline: none;
    color: var(--text);
    background: var(--surface-2);
    font: inherit;
}
.pg-pin-row input {
    width: 100%;
    height: 52px;
    border-radius: 15px;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: .35em;
    text-align: center;
}
.pg-pin-row input:focus,
.pg-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent); }
.pg-primary {
    min-height: 50px;
    padding: 0 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 0;
    border-radius: 15px;
    color: #17120e;
    background: var(--accent);
    font: inherit;
    font-size: .78rem;
    font-weight: 850;
    cursor: pointer;
}
.pg-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
.pg-primary:disabled { opacity: .55; cursor: wait; transform: none; }
.pg-message { min-height: 1.2rem; margin-top: .9rem; color: #d64955; font-size: .75rem; }

.pg-dashboard { margin-top: 1.25rem; }
.pg-toolbar {
    padding: .85rem;
    display: flex;
    align-items: center;
    gap: .75rem;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--surface);
    box-shadow: 0 14px 38px rgba(16, 18, 24, .06);
}
.pg-search { position: relative; flex: 1; }
.pg-search svg { position: absolute; left: 1rem; top: 50%; width: 18px; height: 18px; color: var(--text-3); transform: translateY(-50%); pointer-events: none; }
.pg-search input { width: 100%; height: 50px; padding: 0 1rem 0 2.85rem; border-radius: 15px; }
.pg-refresh {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 15px;
    color: var(--text-2);
    background: var(--surface-2);
    cursor: pointer;
}
.pg-refresh svg { width: 18px; height: 18px; }
.pg-refresh.loading svg { animation: pgSpin .8s linear infinite; }
@keyframes pgSpin { to { transform: rotate(360deg); } }

.pg-list-head { margin: 1.2rem .35rem .65rem; display: flex; justify-content: space-between; color: var(--text-3); font-size: .69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pg-member-list { display: grid; gap: .7rem; }
.pg-member {
    padding: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--surface);
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.pg-member:hover { border-color: color-mix(in srgb, var(--accent) 38%, var(--border)); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(16, 18, 24, .07); }
.pg-member-identity { min-width: 0; display: flex; align-items: center; gap: .85rem; }
.pg-avatar { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border-radius: 14px; color: #17120e; background: linear-gradient(135deg, #ffc487, #ff9a40); font-weight: 900; }
.pg-member-copy { min-width: 0; }
.pg-member-copy strong, .pg-member-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pg-member-copy strong { font-size: .9rem; }
.pg-member-copy span { margin-top: .25rem; color: var(--text-3); font-size: .7rem; }
.pg-plan { padding: .48rem .7rem; border-radius: 999px; color: var(--text-2); background: var(--surface-2); font-size: .67rem; font-weight: 850; }
.pg-plan.premium { color: #a85818; background: #fff0df; }
.pg-plan.enterprise { color: #345eae; background: #eaf1ff; }
.pg-member-actions { display: flex; align-items: center; gap: .5rem; }
.pg-give { min-height: 40px; padding: 0 .9rem; border: 0; border-radius: 12px; color: #17120e; background: var(--accent); font: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }
.pg-give:hover { background: var(--accent-hover); }
.pg-give:disabled { color: var(--text-3); background: var(--surface-2); cursor: default; }
.pg-expiry { margin-top: .3rem; color: #e48632 !important; }
.pg-empty { padding: 3rem 1rem; border: 1px dashed var(--border-strong); border-radius: 20px; color: var(--text-3); text-align: center; }
.pg-edit { min-height: 40px; padding: 0 .8rem; display: inline-flex; align-items: center; justify-content: center; gap: .38rem; border: 1px solid var(--border); border-radius: 12px; color: var(--text-2); background: var(--surface-2); font: inherit; font-size: .7rem; font-weight: 820; cursor: pointer; }
.pg-edit:hover { color: var(--text); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
.pg-edit svg { width: 15px; height: 15px; }

.pg-editor-backdrop { position: fixed; z-index: 31000; inset: 0; padding: 1rem; display: grid; place-items: center; overflow-y: auto; background: rgba(4,5,8,.74); backdrop-filter: blur(15px); animation: pgModalFade .22s ease both; }
.pg-editor { width: min(560px, 100%); padding: 1.4rem; border: 1px solid var(--border); border-radius: 25px; color: var(--text); background: var(--surface); box-shadow: 0 30px 90px rgba(0,0,0,.38); }
.pg-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.pg-editor-head span { color: var(--accent-hover); font-size: .58rem; font-weight: 900; letter-spacing: .1em; }
.pg-editor-head h3 { margin: .4rem 0 .2rem; font-size: 1.45rem; letter-spacing: -.035em; }
.pg-editor-head small { color: var(--text-3); font-size: .7rem; }
.pg-editor-head button { width: 38px; height: 38px; border: 1px solid var(--border); border-radius: 12px; color: var(--text-2); background: var(--surface-2); font-size: 1.5rem; cursor: pointer; }
.pg-editor-field { margin-top: 1rem; display: grid; gap: .45rem; }
.pg-editor-field > span { color: var(--text-3); font-size: .66rem; font-weight: 800; }
.pg-editor-field select, .pg-editor-field input { width: 100%; min-height: 48px; padding: 0 .85rem; border: 1px solid var(--border); outline: none; border-radius: 13px; color: var(--text); background: var(--surface-2); font: inherit; font-size: .76rem; }
.pg-editor-field select:focus, .pg-editor-field input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent); }
.pg-editor-divider { margin: 1.2rem 0 .1rem; display: flex; align-items: center; gap: .65rem; color: var(--text-3); font-size: .62rem; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.pg-editor-divider::before, .pg-editor-divider::after { content: ''; height: 1px; flex: 1; background: var(--border); }
.pg-editor-note { margin: 1rem 0 0; padding: .8rem; display: flex; align-items: flex-start; gap: .55rem; border-radius: 13px; color: var(--text-3); background: var(--surface-2); font-size: .67rem; line-height: 1.45; }
.pg-editor-note svg { width: 16px; height: 16px; flex: 0 0 16px; color: var(--accent-hover); }
.pg-editor-message { min-height: 1.15rem; margin-top: .7rem; color: #d64955; font-size: .7rem; }
.pg-editor-actions { margin-top: .65rem; display: flex; justify-content: flex-end; gap: .6rem; }
.pg-editor-cancel { min-height: 50px; padding: 0 1rem; border: 1px solid var(--border); border-radius: 15px; color: var(--text-2); background: var(--surface-2); font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }

.pg-gift-modal {
    position: fixed;
    z-index: 30000;
    inset: 0;
    padding: 1rem;
    display: grid;
    place-items: center;
    background: rgba(4, 5, 8, .72);
    backdrop-filter: blur(16px);
    animation: pgModalFade .35s ease both;
}
.pg-gift-card {
    position: relative;
    width: min(520px, 100%);
    overflow: hidden;
    padding: 2rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
    color: #fff;
    background: linear-gradient(150deg, #25201c, #121419 58%);
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
    animation: pgModalCard .55s cubic-bezier(.18,1.1,.25,1) both;
}
.pg-gift-card::before { content:''; position:absolute; width:230px; height:230px; right:-100px; top:-100px; border-radius:50%; background:#ffad5d; opacity:.18; filter:blur(4px); }
.pg-gift-icon { position: relative; width: 64px; height: 64px; display: grid; place-items: center; border-radius: 20px; color: #17120e; background: #ffad5d; }
.pg-gift-icon svg { width: 28px; height: 28px; }
.pg-gift-card h2 { position:relative; margin: 1.4rem 0 .75rem; font-size: clamp(2rem, 8vw, 3rem); line-height: 1.02; letter-spacing: -.055em; }
.pg-gift-card p { position:relative; margin:0; color:#b9bdc6; font-size:.95rem; line-height:1.65; }
.pg-gift-benefits { position:relative; margin:1.4rem 0; display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.pg-gift-benefits div { padding:1rem; border:1px solid rgba(255,255,255,.09); border-radius:16px; background:rgba(255,255,255,.045); }
.pg-gift-benefits strong, .pg-gift-benefits span { display:block; }
.pg-gift-benefits strong { font-size:1.15rem; }
.pg-gift-benefits span { margin-top:.3rem; color:#9096a2; font-size:.68rem; }
.pg-gift-dismiss { position:relative; width:100%; min-height:52px; border:0; border-radius:15px; color:#17120e; background:#ffad5d; font:inherit; font-weight:900; cursor:pointer; }
@keyframes pgModalFade { from { opacity:0; } to { opacity:1; } }
@keyframes pgModalCard { from { opacity:0; transform:translateY(24px) scale(.94); } to { opacity:1; transform:none; } }

body.dark-mode .pg-plan.premium { color:#ffc387; background:rgba(255,156,68,.14); }
body.dark-mode .pg-plan.enterprise { color:#9fbdff; background:rgba(64,113,205,.16); }

@media (max-width: 700px) {
    .premium-gifts-view { min-height: calc(100dvh - 90px); padding: .35rem 0 calc(6rem + env(safe-area-inset-bottom)); }
    .pg-hero { padding: 1.35rem; align-items: stretch; flex-direction: column; border-radius: 23px; }
    .pg-hero h2 { font-size: 2.35rem; }
    .pg-hero p { font-size: .78rem; }
    .pg-stat { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; text-align: left; }
    .pg-stat strong { font-size: 1.5rem; }
    .pg-stat span { margin: 0; }
    .pg-lock { margin-top: 1rem; padding: 1.35rem; border-radius: 22px; }
    .pg-pin-row { flex-direction: column; }
    .pg-primary { width: 100%; }
    .pg-toolbar { position: sticky; z-index: 4; top: calc(8px + env(safe-area-inset-top)); }
    .pg-member { grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; }
    .pg-member .pg-plan { grid-column: 1; justify-self: start; margin-left: 3.65rem; }
    .pg-member-actions { grid-column: 2; grid-row: 1 / span 2; align-self: stretch; flex-direction: column; }
    .pg-member-actions button { width: 100%; min-width: 92px; flex: 1; }
    .pg-editor { margin: auto 0; padding: 1.1rem; border-radius: 21px; }
    .pg-editor-actions { flex-direction: column-reverse; }
    .pg-editor-actions button { width: 100%; }
    .pg-gift-card { padding: 1.45rem; border-radius: 25px; }
}

@media (max-width: 390px) {
    .pg-member { padding: .85rem; }
    .pg-avatar { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; }
    .pg-member .pg-plan { margin-left: 3.3rem; }
    .pg-member-actions { max-width: 102px; }
    .pg-member-actions button { padding: 0 .55rem; }
}

body.no-animations .pg-gift-modal,
body.no-animations .pg-gift-card,
body.no-animations .pg-refresh.loading svg { animation: none !important; }

.pg-mode-tabs {
    margin-bottom: 1rem;
    padding: .38rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .35rem;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--surface);
}
.pg-mode-tabs button { min-height: 50px; display:flex; align-items:center; justify-content:center; gap:.55rem; border:0; border-radius:14px; color:var(--text-3); background:transparent; font:inherit; font-size:.74rem; font-weight:850; cursor:pointer; transition:.25s ease; }
.pg-mode-tabs button svg { width:17px; height:17px; }
.pg-mode-tabs button.active { color:#17120e; background:var(--accent); box-shadow:0 8px 22px rgba(255,173,93,.22); }
.pg-panel { display:none; animation:pgPanelIn .3s ease both; }
.pg-panel.active { display:block; }
@keyframes pgPanelIn { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
.pg-email-state { display:inline-flex !important; align-items:center; gap:.3rem; color:var(--text-3) !important; font-size:.6rem !important; }
.pg-email-state svg { width:12px; height:12px; }
.pg-email-state.allowed { color:#2f9b70 !important; }

.pg-campaign-intro { padding:1.45rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid var(--border); border-radius:22px; background:linear-gradient(130deg,var(--surface),color-mix(in srgb,var(--surface) 88%,#ffad5d 12%)); }
.pg-campaign-intro > div:first-child > span { color:var(--accent-hover); font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.pg-campaign-intro h3 { margin:.42rem 0 .35rem; font-size:1.5rem; letter-spacing:-.04em; }
.pg-campaign-intro p { margin:0; color:var(--text-3); font-size:.75rem; line-height:1.5; }
.pg-subscriber-stat { min-width:105px; padding:1rem; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border)); border-radius:17px; background:color-mix(in srgb,var(--surface) 85%,transparent); text-align:center; }
.pg-subscriber-stat strong,.pg-subscriber-stat span { display:block; }
.pg-subscriber-stat strong { color:var(--accent-hover); font-size:1.65rem; }
.pg-subscriber-stat span { margin-top:.25rem; color:var(--text-3); font-size:.57rem; font-weight:850; text-transform:uppercase; }

.pg-template-grid { margin-top:1rem; display:grid; grid-template-columns:repeat(4,1fr); gap:.65rem; }
.pg-template-grid button { min-width:0; padding:1rem; display:grid; gap:.35rem; justify-items:start; border:1px solid var(--border); border-radius:18px; color:var(--text-2); background:var(--surface); font:inherit; text-align:left; cursor:pointer; transition:.22s ease; }
.pg-template-grid button:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); }
.pg-template-grid button.active { border-color:var(--accent); background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%); box-shadow:0 10px 28px rgba(255,173,93,.12); }
.pg-template-grid svg { width:19px; height:19px; color:var(--accent-hover); }
.pg-template-grid strong { margin-top:.2rem; font-size:.76rem; }
.pg-template-grid span { overflow:hidden; color:var(--text-3); font-size:.6rem; white-space:nowrap; text-overflow:ellipsis; }

.pg-campaign-builder { margin-top:1rem; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); gap:1rem; align-items:start; }
.pg-builder-main { display:grid; gap:1rem; }
.pg-builder-side { position:sticky; top:1rem; }
.pg-compose-card,.pg-preview-card,.pg-history-card { padding:1.25rem; border:1px solid var(--border); border-radius:22px; background:var(--surface); box-shadow:0 14px 38px rgba(16,18,24,.055); }
.pg-section-title { display:flex; align-items:center; gap:.7rem; }
.pg-section-title > span { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:10px; color:#17120e; background:var(--accent); font-size:.64rem; font-weight:900; }
.pg-section-title > span svg { width:15px; height:15px; }
.pg-section-title strong,.pg-section-title small { display:block; }
.pg-section-title strong { font-size:.82rem; }
.pg-section-title small { margin-top:.18rem; color:var(--text-3); font-size:.61rem; }
.pg-audience-switch { margin-top:1rem; padding:.3rem; display:grid; grid-template-columns:1fr 1fr; gap:.3rem; border-radius:15px; background:var(--surface-2); }
.pg-audience-switch label { cursor:pointer; }
.pg-audience-switch input { position:absolute; opacity:0; pointer-events:none; }
.pg-audience-switch span { min-height:44px; display:flex; align-items:center; justify-content:center; gap:.4rem; border:1px solid transparent; border-radius:12px; color:var(--text-3); font-size:.69rem; font-weight:820; }
.pg-audience-switch svg { width:15px; height:15px; }
.pg-audience-switch input:checked + span { border-color:var(--border); color:var(--text); background:var(--surface); box-shadow:0 5px 16px rgba(16,18,24,.08); }
.pg-recipient-picker { margin-top:.8rem; }
.pg-recipient-list { max-height:230px; margin-top:.55rem; display:grid; gap:.4rem; overflow:auto; overscroll-behavior:contain; }
.pg-custom-recipient { margin-bottom:.55rem; padding:.7rem; display:grid; grid-template-columns:auto minmax(0,1fr) minmax(190px,.85fr); align-items:center; gap:.65rem; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); }
.pg-custom-recipient strong,.pg-custom-recipient small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pg-custom-recipient strong { font-size:.68rem; }
.pg-custom-recipient small { margin-top:.18rem; color:var(--text-3); font-size:.58rem; }
.pg-custom-recipient input { width:100%; min-height:40px; padding:0 .75rem; border:1px solid var(--border); outline:none; border-radius:10px; color:var(--text); background:var(--surface); font:inherit; font-size:.68rem; }
.pg-custom-recipient input:focus { border-color:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent); }
.pg-recipient-row { padding:.7rem; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.65rem; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); cursor:pointer; }
.pg-recipient-row input { position:absolute; opacity:0; }
.pg-recipient-check { width:23px; height:23px; display:grid; place-items:center; border:1px solid var(--border-strong); border-radius:7px; color:transparent; background:var(--surface); }
.pg-recipient-check svg { width:14px; height:14px; }
.pg-recipient-row input:checked + .pg-recipient-check { border-color:var(--accent); color:#17120e; background:var(--accent); }
.pg-recipient-row strong,.pg-recipient-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pg-recipient-row strong { font-size:.68rem; }
.pg-recipient-row small { margin-top:.18rem; color:var(--text-3); font-size:.58rem; }
.pg-recipient-row em { color:var(--text-3); font-size:.57rem; font-style:normal; }
.pg-recipient-empty { padding:1rem; color:var(--text-3); font-size:.65rem; text-align:center; }
.pg-editor-field textarea { width:100%; min-height:120px; padding:.85rem; resize:vertical; border:1px solid var(--border); outline:none; border-radius:13px; color:var(--text); background:var(--surface-2); font:inherit; font-size:.76rem; line-height:1.55; }
.pg-editor-field textarea:focus { border-color:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent); }
.pg-field-pair { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.pg-discount-toggle { margin-top:1rem; padding:.85rem; display:flex; align-items:center; justify-content:space-between; border:1px solid var(--border); border-radius:15px; background:var(--surface-2); cursor:pointer; }
.pg-discount-toggle > span { display:flex; align-items:center; gap:.5rem; font-size:.7rem; }
.pg-discount-toggle svg { width:17px; height:17px; color:var(--accent-hover); }
.pg-discount-toggle input { position:absolute; opacity:0; }
.pg-discount-toggle > i { position:relative; width:42px; height:24px; border-radius:99px; background:var(--border-strong); transition:.2s; }
.pg-discount-toggle > i::after { content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.2); transition:.2s; }
.pg-discount-toggle input:checked + i { background:var(--accent); }
.pg-discount-toggle input:checked + i::after { transform:translateX(18px); }
.pg-discount-fields { margin-top:.15rem; }
.pg-number-field,.pg-code-field { display:flex; }
.pg-number-field input,.pg-code-field input { border-radius:13px 0 0 13px; }
.pg-number-field span,.pg-code-field button { min-width:45px; display:grid; place-items:center; border:1px solid var(--border); border-left:0; border-radius:0 13px 13px 0; color:var(--text-3); background:var(--surface-2); font-size:.72rem; }
.pg-code-field button { cursor:pointer; }
.pg-code-field svg { width:16px; height:16px; }

.pg-preview-card { padding:0; overflow:hidden; }
.pg-preview-head { padding:.9rem 1rem; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border); }
.pg-preview-head strong,.pg-preview-head span { display:block; }
.pg-preview-head strong { font-size:.75rem; }
.pg-preview-head span { margin-top:.2rem; color:var(--text-3); font-size:.58rem; }
.pg-preview-head button { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--border); border-radius:11px; color:var(--text-2); background:var(--surface-2); cursor:pointer; }
.pg-preview-head button svg { width:16px; height:16px; }
.pg-preview-head button.loading svg { animation:pgSpin .8s linear infinite; }
.pg-preview-card iframe { width:100%; height:570px; display:block; border:0; background:#f3f4f6; }
.pg-campaign-message { min-height:1rem; padding:.75rem 1rem 0; color:#d2692e; font-size:.64rem; line-height:1.45; }
.pg-send-campaign { width:calc(100% - 2rem); min-height:52px; margin:.7rem 1rem 0; display:flex; align-items:center; justify-content:center; gap:.5rem; border:0; border-radius:14px; color:#17120e; background:var(--accent); font:inherit; font-size:.75rem; font-weight:900; cursor:pointer; }
.pg-send-campaign:disabled { opacity:.55; cursor:wait; }
.pg-send-campaign svg { width:17px; height:17px; }
.pg-send-note { margin:.75rem 1rem 1rem; display:flex; align-items:flex-start; gap:.4rem; color:var(--text-3); font-size:.57rem; line-height:1.45; }
.pg-send-note svg { width:14px; height:14px; flex:0 0 14px; color:#2f9b70; }
.pg-history-card { margin-top:1rem; }
.pg-history-list { margin-top:1rem; display:grid; gap:.5rem; }
.pg-history-item { padding:.8rem; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:.7rem; border:1px solid var(--border); border-radius:14px; background:var(--surface-2); }
.pg-history-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#2f9b70; background:color-mix(in srgb,#48b995 15%,var(--surface)); }
.pg-history-icon svg { width:16px; height:16px; }
.pg-history-item strong,.pg-history-item small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pg-history-item strong { font-size:.68rem; }
.pg-history-item small { margin-top:.2rem; color:var(--text-3); font-size:.56rem; }
.pg-history-item em { color:#2f9b70; font-size:.62rem; font-style:normal; font-weight:850; white-space:nowrap; }
.pg-history-code { padding:.35rem .5rem; border-radius:8px; color:#a85b1d; background:color-mix(in srgb,var(--accent) 18%,var(--surface)); font:800 .58rem/1 monospace; }
.pg-credit-state { margin-top:.28rem; display:inline-flex; align-items:center; gap:.3rem; color:#a85b1d; font-size:.56rem; font-weight:820; }
.pg-credit-state svg { width:13px; height:13px; }
.pg-labs-grid { margin-top:1rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.pg-labs-grid article { min-width:0; padding:1.2rem; border:1px solid var(--border); border-radius:21px; background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,var(--accent) 10%),var(--surface)); box-shadow:0 14px 38px rgba(16,18,24,.055); }
.pg-labs-grid article > span { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:#17120e; background:var(--accent); }
.pg-labs-grid article > span svg { width:19px; height:19px; }
.pg-labs-grid em { display:block; margin-top:1rem; color:var(--accent-hover); font-size:.54rem; font-style:normal; font-weight:900; letter-spacing:.1em; }
.pg-labs-grid h4 { margin:.45rem 0 .45rem; font-size:1rem; letter-spacing:-.025em; }
.pg-labs-grid p { min-height:4.2em; margin:0; color:var(--text-3); font-size:.65rem; line-height:1.55; }
.pg-labs-grid b { margin-top:.9rem; padding:.36rem .5rem; display:inline-block; border:1px solid var(--border); border-radius:8px; color:var(--text-3); background:var(--surface-2); font-size:.5rem; letter-spacing:.08em; }

@media (max-width: 900px) {
    .pg-template-grid { grid-template-columns:1fr 1fr; }
    .pg-campaign-builder { grid-template-columns:1fr; }
    .pg-builder-side { position:static; }
    .pg-preview-card iframe { height:520px; }
    .pg-labs-grid { grid-template-columns:1fr; }
}

@media (max-width: 520px) {
    .pg-mode-tabs span { font-size:.65rem; }
    .pg-campaign-intro { align-items:stretch; flex-direction:column; }
    .pg-subscriber-stat { display:flex; align-items:baseline; justify-content:space-between; text-align:left; }
    .pg-subscriber-stat span { margin:0; }
    .pg-template-grid { grid-template-columns:1fr 1fr; gap:.5rem; }
    .pg-template-grid button { padding:.8rem; }
    .pg-template-grid span { max-width:100%; }
    .pg-compose-card,.pg-history-card { padding:1rem; border-radius:19px; }
    .pg-field-pair { grid-template-columns:1fr; gap:0; }
    .pg-audience-switch span { padding:.5rem; font-size:.62rem; }
    .pg-custom-recipient { grid-template-columns:auto minmax(0,1fr); }
    .pg-custom-recipient input { grid-column:1 / -1; }
    .pg-recipient-row em { display:none; }
    .pg-preview-card iframe { height:490px; }
    .pg-history-item { grid-template-columns:auto minmax(0,1fr) auto; }
    .pg-history-code { grid-column:2; justify-self:start; }
    .pg-history-item em { grid-column:3; grid-row:1 / span 2; }
}
