/* Reviewed restrained-purple treatment. The v1 intro is intentionally unscoped.
   V2 entry scope styles its real dialogs/actions; hero artwork and motion keep
   their own stylesheet and lifecycle. Semantic status/destructive colors stay. */
:is(.gonggu-purple, .gonggu-purple-entry) {
  --purple-ink: #1d2447;
  --purple-muted: #667085;
  --purple-canvas: #f7f7f8;
  --purple-soft: #f4f3f6;
  --purple-line: #e2e3e7;
  --purple-primary: #6250b8;
  --purple-hover: #514196;
  --purple-pressed: #45377f;
  --purple-disabled: #e7e4ef;
  --purple-disabled-text: #645c73;
  --color-primary: 98 80 184 !important;
  --color-secondary: 81 65 150 !important;
}
body.gonggu-purple {
  background: var(--purple-canvas);
  background-image: none;
  color: var(--purple-ink);
  font-family: "Pretendard Variable", Pretendard, Inter, system-ui, -apple-system, "Malgun Gothic", sans-serif;
}
.gonggu-purple.gradient-bg::before { display: none; }
.gonggu-purple :is(h1, h2, h3), .gonggu-purple-entry :is(dialog, [role="dialog"]) :is(h1, h2, h3) {
  letter-spacing: -.025em;
  font-weight: 650;
}
.gonggu-purple :is(h1, h2, h3):is(.text-gray-900, .text-gray-950, .text-gray-800, .text-slate-900, .text-slate-950),
.gonggu-purple :is(.ic-heading, .ic-row, .campaign-v2-row, .dv-card, .profile-card, .profile-page-heading) :is(h1, h2, h3),
.gonggu-purple-entry :is(dialog, [role="dialog"]) :is(h1, h2, h3).text-gray-900 { color: var(--purple-ink); }
.gonggu-purple h1 { line-height: 1.25; }
.gonggu-purple :is(.shadow-sm, .shadow, .shadow-lg, .shadow-xl) { box-shadow: none; }
.gonggu-purple :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--purple-primary); }
.gonggu-purple .form-input:focus { border-color: var(--purple-primary); box-shadow: none; }
.gonggu-purple .custom-checkbox input:checked ~ .checkmark { background: var(--purple-primary); border-color: var(--purple-primary); }
.gonggu-purple .custom-checkbox input:focus-visible ~ .checkmark { outline: 3px solid var(--purple-primary); outline-offset: 3px; }
.gonggu-purple .social-button:hover { transform: none; }
:is(.gonggu-purple, .gonggu-purple-entry) :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--purple-primary) !important;
  outline-offset: 3px !important;
}
.gonggu-purple :is(input:not([type="hidden"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]), select, textarea),
.gonggu-purple-entry :is(dialog, [role="dialog"]) :is(input:not([type="hidden"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-color: #958b9f;
  border-radius: 8px !important;
  font-size: 15px;
  min-width: 0;
}
.gonggu-purple :is(input:not([type="hidden"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]), select),
.gonggu-purple-entry :is(dialog, [role="dialog"]) :is(input:not([type="hidden"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]), select) { min-height: 46px !important; }
:is(.gonggu-purple, .gonggu-purple-entry) :is(input, select, textarea)[aria-invalid="true"],
:is(.gonggu-purple, .gonggu-purple-entry) :is(input, select, textarea).border-red-300,
:is(.gonggu-purple, .gonggu-purple-entry) :is(input, select, textarea).border-red-500 { border-color: #b42318 !important; }
.gonggu-purple :is(.app-header, header.fixed) { background: #fff; border-bottom-color: var(--purple-line); box-shadow: none; backdrop-filter: none; }
.gonggu-purple .app-header :is(.app-logo, .app-logo > h1, .app-logo > span:first-child) { color: var(--purple-primary) !important; }
.gonggu-purple :is(.app-sidebar, #sidebar) { background: #fff; border-color: var(--purple-line); box-shadow: none; backdrop-filter: none; }
.gonggu-purple :is(.app-sidebar, #sidebar) :is(.bg-primary, .button-gradient-primary, .sidebar-active),
.gonggu-purple :is(.app-sidebar, #sidebar) [aria-current="page"] {
  background: var(--purple-soft) !important;
  background-image: none !important;
  color: var(--purple-ink) !important;
  border-left: 3px solid var(--purple-primary);
  box-shadow: none !important;
}
.gonggu-purple :is(.ic-list, .dv-card, .campaign-v2-list, .app-campaign-filters, .app-payment-filters, .bp-card, .ip-card, .profile-card, .app-profile-card) {
  background: #fff;
  border-color: var(--purple-line);
  border-radius: 10px !important;
  box-shadow: none;
}
.gonggu-purple :is(.card-shadow, .card-hover, .glass-effect, .metric-card) { background-image: none; box-shadow: none; backdrop-filter: none; }
.gonggu-purple .card-hover:hover { transform: none; }
.gonggu-purple :is(.ic-heading, .ic-filters, .ic-pagination) { background: #fff; }
.gonggu-purple :is(.ic-filters, .app-campaign-filters) { box-shadow: none; }
.gonggu-purple :is(.ic-row, .campaign-v2-row) { padding-top: 22px; padding-bottom: 22px; }
.gonggu-purple :is(.ic-row h3, .campaign-v2-row h2) { font-size: 17px; line-height: 1.5; }
.gonggu-purple :is(.ic-columns, .campaign-v2-head, .order-list-heading, thead) { background: var(--purple-soft); }
.gonggu-purple .ic-next { background: var(--purple-soft); border-radius: 8px; padding: 12px; }
.gonggu-purple .campaign-v2-next { background: var(--purple-soft); border-radius: 8px; padding: 12px; }
.gonggu-purple :is(.ic-note, .dv-note, .text-gray-500, .text-gray-600, .text-slate-500) { color: var(--purple-muted); }
.gonggu-purple :is(.app-kpis, .dv-kpis) > * { border-radius: 10px; box-shadow: none; }
.gonggu-purple :is(.ic-page, .ic-shell, .app-main, .profile-page) { background: var(--purple-canvas); background-image: none; }
:is(.gonggu-purple, .gonggu-purple-entry) :is(dialog, [role="dialog"]) { border-color: var(--purple-line); }
.gonggu-purple dialog, .gonggu-purple-entry dialog { border-radius: 16px; }
:is(.gonggu-purple, .gonggu-purple-entry) dialog::backdrop { background: rgb(29 36 71 / 38%); }
.gonggu-purple-entry [role="dialog"] :is(.card-shadow, .shadow, .shadow-lg) { box-shadow: none; }
.gonggu-purple-entry [role="dialog"] :is(.bg-gradient-to-r.from-primary, .bg-gradient-to-r.to-primary) { background: var(--purple-primary); }
/* Stable action classes cover controls rendered by existing runtime modules.
   Explicit roles distinguish utilities from primary actions without DOM scripts. */
:is(.gonggu-purple, .gonggu-purple-entry) :is(
  [data-purple-action="primary"], [data-purple-action="secondary"],
  button.bg-primary, a.bg-primary, input[type="submit"].bg-primary,
  .button-gradient-primary, .profile-primary-btn, .app-profile-button-primary,
  .gw-primary, .getgonggu-blue, .campaign-participant-confirm, .btn-primary,
  .btn.primary, .ic-button, .profile-secondary-btn, .profile-outline-btn, .profile-edit-btn, .profile-cancel-btn, .app-profile-button-secondary, .app-profile-button-quiet, .dv-button, .gonggu-back-button
) {
  min-height: 44px;
  border-radius: 7px !important;
  font-weight: 600;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none;
  transform: none;
  filter: none;
  transition: background-color .12s, border-color .12s;
}
:is(.gonggu-purple, .gonggu-purple-entry) :is(
  [data-purple-action="primary"], button.bg-primary, a.bg-primary, input[type="submit"].bg-primary,
  .button-gradient-primary, .profile-primary-btn, .app-profile-button-primary,
  .gw-primary, .getgonggu-blue, .campaign-participant-confirm, .btn-primary, .btn.primary, .ic-button:not(.ic-secondary)
):not([data-purple-action="secondary"]):not([data-purple-action="destructive"]):not(.nav-item):not([aria-current="page"]) {
  background: var(--purple-primary) !important;
  color: #fff !important;
  border: 1px solid var(--purple-primary);
}
:is(.gonggu-purple, .gonggu-purple-entry) :is(
  [data-purple-action="primary"], button.bg-primary, a.bg-primary, input[type="submit"].bg-primary,
  .button-gradient-primary, .profile-primary-btn, .app-profile-button-primary,
  .gw-primary, .getgonggu-blue, .campaign-participant-confirm, .btn-primary, .btn.primary, .ic-button:not(.ic-secondary)
):not([data-purple-action="secondary"]):not([data-purple-action="destructive"]):not(.nav-item):not([aria-current="page"]):not(:disabled):not([aria-disabled="true"]):hover {
  background: var(--purple-hover) !important; border-color: var(--purple-hover); color: #fff !important; opacity: 1;
}
:is(.gonggu-purple, .gonggu-purple-entry) :is(
  [data-purple-action="primary"], button.bg-primary, a.bg-primary, input[type="submit"].bg-primary,
  .button-gradient-primary, .profile-primary-btn, .app-profile-button-primary,
  .gw-primary, .getgonggu-blue, .campaign-participant-confirm, .btn-primary, .btn.primary, .ic-button:not(.ic-secondary)
):not([data-purple-action="secondary"]):not([data-purple-action="destructive"]):not(.nav-item):not([aria-current="page"]):not(:disabled):not([aria-disabled="true"]):active {
  background: var(--purple-pressed) !important; border-color: var(--purple-pressed);
}
:is(.gonggu-purple, .gonggu-purple-entry) :is(
  [data-purple-action="secondary"], .ic-secondary, .profile-secondary-btn, .profile-outline-btn, .profile-edit-btn, .profile-cancel-btn, .app-profile-button-secondary, .app-profile-button-quiet, .dv-button, .gonggu-back-button,
  #copy-url-btn, #copyLinkBtn, #workspace-copy-link, #previewCampaignBtn, #preview-btn,
  #companySendVerificationBtn, #companyVerifyBtn, #confirmPhoneVerificationBtn, #sendPhoneVerificationBtn,
  #infNegSellLink, #negSellLink, #printAndExportBtn, #confirm-receipt, #agreement-modal-confirm,
  #businessPaymentExportBtn, #influencerPaymentExportBtn, #exportOnlyBtn, .receipt-download-btn,
  [data-phone-verification-confirm], [data-phone-verification-send], [data-korean-address-search]
) {
  min-height: 44px;
  border-radius: 7px !important;
  background: #fff !important;
  background-image: none !important;
  color: #344054 !important;
  border: 1px solid #d0d5dd;
  box-shadow: none !important;
}
:is(.gonggu-purple, .gonggu-purple-entry) :is(
  [data-purple-action="secondary"], .ic-secondary, .profile-secondary-btn, .profile-outline-btn, .profile-edit-btn, .profile-cancel-btn, .app-profile-button-secondary, .app-profile-button-quiet, .dv-button, .gonggu-back-button,
  #copy-url-btn, #copyLinkBtn, #workspace-copy-link, #previewCampaignBtn, #preview-btn,
  #companySendVerificationBtn, #companyVerifyBtn, #confirmPhoneVerificationBtn, #sendPhoneVerificationBtn,
  #infNegSellLink, #negSellLink, #printAndExportBtn, #confirm-receipt, #agreement-modal-confirm,
  #businessPaymentExportBtn, #influencerPaymentExportBtn, #exportOnlyBtn, .receipt-download-btn,
  [data-phone-verification-confirm], [data-phone-verification-send], [data-korean-address-search]
):not(:disabled):not([aria-disabled="true"]):hover {
  background: #f2f3f5 !important; border-color: #b9c0cb; color: var(--purple-ink) !important; opacity: 1;
}
:is(.gonggu-purple, .gonggu-purple-entry) :is(
  [data-purple-action="primary"], [data-purple-action="secondary"],
  button.bg-primary, a.bg-primary, input[type="submit"].bg-primary, .button-gradient-primary,
  .profile-primary-btn, .app-profile-button-primary, .gw-primary, .getgonggu-blue, .btn-primary, .btn.primary, .ic-button,
  .profile-secondary-btn, .profile-outline-btn, .profile-edit-btn, .profile-cancel-btn, .app-profile-button-secondary, .app-profile-button-quiet, .dv-button, .gonggu-back-button,
  #copy-url-btn, #copyLinkBtn, #workspace-copy-link, #previewCampaignBtn, #preview-btn,
  #companySendVerificationBtn, #companyVerifyBtn, #confirmPhoneVerificationBtn, #sendPhoneVerificationBtn,
  #infNegSellLink, #negSellLink, #printAndExportBtn, #confirm-receipt, #agreement-modal-confirm,
  #businessPaymentExportBtn, #influencerPaymentExportBtn, #exportOnlyBtn, .receipt-download-btn,
  [data-phone-verification-confirm], [data-phone-verification-send], [data-korean-address-search]
):is(:disabled, [aria-disabled="true"]) {
  background: var(--purple-disabled) !important;
  border-color: #d2ccdf !important;
  color: var(--purple-disabled-text) !important;
  opacity: 1 !important;
  cursor: not-allowed;
}
:is(.gonggu-purple, .gonggu-purple-entry) .button-gradient-primary::before { display: none; }
.gonggu-purple :is(#business-page, .dashboard-v2) { --dv-primary: #6250b8; --dv-primary-hover: #514196; --dv-accent: #6250b8; --dv-tint: #f4f3f6; --dv-ink: #1d2447; --dv-soft: #f4f3f6; --dv-line: #e2e3e7; }
.gonggu-purple-entry [role="dialog"] :is(#sendVerificationBtn, #verifyBtn) { min-height:44px; border-radius:7px !important; background:#fff !important; color:#344054 !important; border:1px solid #d0d5dd; box-shadow:none !important; }
.gonggu-purple-entry [role="dialog"] :is(#sendVerificationBtn, #verifyBtn):not(:disabled):hover { background:#f2f3f5 !important; border-color:#b9c0cb; color:var(--purple-ink) !important; }
.gonggu-purple-entry [role="dialog"] :is(#sendVerificationBtn, #verifyBtn):disabled { background:var(--purple-disabled) !important; color:var(--purple-disabled-text) !important; border-color:#d2ccdf; opacity:1 !important; cursor:not-allowed; }
.gonggu-purple [data-v2-filter][aria-pressed="true"] { background: var(--purple-primary); color: #fff; background-image: none; box-shadow: none; }
.gonggu-purple :is(.campaign-detail-tabs, .workspace-tabs) [role="tab"][aria-selected="true"] { color: var(--purple-primary); border-bottom-color: var(--purple-primary); }
.gonggu-purple .purple-payment-summary { background: #fff; border-color: #bfb2e0; border-radius: 10px; box-shadow: none; }
.gonggu-purple .purple-payment-summary :is(strong, .font-bold, .font-black), .gonggu-purple :is(.app-payment-filters, #commerce-panel, .app-kpis) { font-variant-numeric: tabular-nums; }
.gonggu-purple #customer-checkout-dialog section.bg-violet-50 { background: #fff; border-color: #ded3e8; border-radius: 10px; }
.gonggu-form-outline { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 14px; background: var(--purple-soft); border: 1px solid var(--purple-line); border-radius: 10px; font-size: 13px; line-height: 1.5; }
.gonggu-form-outline a { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 11px; border-radius: 6px; color: var(--purple-ink); background: #fff; border: 1px solid var(--purple-line); }
.gonggu-purple :is(h2[id], h3[id], section[id]) { scroll-margin-top: 88px; }
/* Waitlist visual treatment uses its existing real form and countdown. */
.gonggu-purple.gonggu-purple-waitlist { --accent: #6250b8; --ink: #1d2447; --muted: #667085; }
.gonggu-purple-waitlist .bg { background: var(--purple-canvas); }
.gonggu-purple-waitlist :is(.orb-stage, .grain) { display: none; }
.gonggu-purple-waitlist :is(.mark, .badge) { background: var(--purple-primary); box-shadow: none; }
.gonggu-purple-waitlist :is(.grad, .dday) { background: none; color: var(--purple-ink); -webkit-text-fill-color: var(--purple-ink); }
.gonggu-purple-waitlist .check { background: #ecfdf5; }
.gonggu-purple-waitlist .check svg { stroke: #047857; }
.gonggu-purple-waitlist .choice { box-shadow: none; }
.gonggu-purple-waitlist .choice input:checked + span { border-color: var(--purple-primary); background: var(--purple-soft); box-shadow: none; }
.gonggu-purple-waitlist .choice input:focus-visible + span { outline: 3px solid var(--purple-primary); outline-offset: 3px; }
.gonggu-purple-waitlist .submit:hover { filter: none; }
@media (max-width: 767px) {
  .gonggu-purple :is(.ic-toolbar, .app-campaign-filters) { gap: 12px; }
  .gonggu-purple .ic-list { margin-top: 16px; }
  .gonggu-purple .ic-filters { padding: 18px; }
  .gonggu-purple :is(.ic-row, .campaign-v2-row) { padding: 20px; }
  .gonggu-purple main h1 { font-size: 27px; }
  .gonggu-form-outline { gap: 7px; padding: 10px; }
  .gonggu-form-outline a { padding: 8px; }
}
@media (pointer: coarse) {
  .gonggu-purple :is(input:not([type="hidden"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]), select, textarea),
  .gonggu-purple-entry :is(dialog, [role="dialog"]) :is(input:not([type="hidden"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .gonggu-purple *, .gonggu-purple-entry :is(dialog, [role="dialog"]) * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
