/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}
.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}
.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}
.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}
.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}
.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}
.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}
.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}
.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}
.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:"○"}
.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:"■"}
.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}
.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}
.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}
.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:"•";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"○";transform:scale(1);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"★";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"➞";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"＋";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"－";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✓";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✗";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) ". "}
.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) ". "}
.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}
.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}
}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}/**/@media(max-width:767px){body.dmRoot div[dmtemplateid]:not([dmtemplateid=SlideRightTopFloatM]) .dmHeader .multilingualWidget{position:absolute;top:14px;left:13px;margin-top:0}body.dmRoot div[dmtemplateid][dmtemplateid=SlideRightTopFloatM] .dmHeader .multilingualWidget{position:absolute;top:5px;right:17px}
}@media(min-width:768px) and (max-width:1024px){body:not(.responsiveTablet) #dm div[dmtemplateid=StandardLayoutMultiT] .dmHeader .multilingualWidget{position:absolute!important;top:5px!important;right:17px!important;left:initial!important}
}@media(max-width:767px){body.dmRoot .dmHeader .displayHidden-inner .multilingualWidget{top:0!important}}#dm_content div.dmRespCol div.multilingualWidget,#hcontainer div.dmRespCol div.multilingualWidget{width:auto!important;display:table!important}
.multilingualWidget.displayNone{display:none!important}.multilingualWidget>div{position:relative}.multilingualWidget{clear:both;margin:0;vertical-align:top;display:table!important;font-size:0;font-family:sans-serif}
.multilingualWidget .language{color:#888;display:inline-block}.multilingualWidget .language a{text-align:center;display:inline-block;color:inherit;border:#dadada 1px solid;background-color:#fff}.multilingualWidget .language a img{width:24px;height:26px;min-width:24px;min-height:26px}
.multilingualWidget .language a span{display:none;line-height:initial}.multilingualWidget .language a span.name{margin-top:5px;margin-left:7px;font-size:12px;font-weight:400;text-transform:capitalize}
.multilingualWidget .language a span.short-label{font-size:12px}.multilingualWidget .language a:after{line-height:initial}.multilingualWidget.open .current-language a:after{transform:rotate(-180deg)}.multilingualWidget .current-language a:after{transition:transform .2s}
.multilingualWidget.dropdown .language{width:100%}.multilingualWidget.dropdown .language a{display:block;padding:1px 5px}.multilingualWidget.dropdown .language.other-languages{position:absolute;z-index:800;max-height:0;overflow:hidden;transition:max-height .1s ease-in-out}
.multilingualWidget.dropdown .language.other-languages a{border-top:0!important}.multilingualWidget.dropdown .current-language{position:relative}.multilingualWidget.dropdown .current-language span.name{padding-right:25px}
.multilingualWidget.dropdown .dm-icon{font-size:9px;display:inline-block;position:absolute;top:46%;transform:translateY(-50%);transition:transform .2s;right:8px}.multilingualWidget.dropdown.open .dm-icon{transform:rotate(-180deg) translateY(50%)}
.multilingualWidget.dropdown.open .other-languages{display:block;max-height:300px}.multilingualWidget.dropdown .other-languages,.multilingualWidget.dropdown.flag-only .dm-icon,.multilingualWidget.inline span,.multilingualWidget.no-flag a img{display:none}
.multilingualWidget.dropdown.flag-only a{border:transparent 1px solid;background-color:transparent}.multilingualWidget.dropdown.flag-only.open .language a{background-color:rgba(0,0,0,.3);border:#dadada 1px solid}
.multilingualWidget.dropdown.long-label a{text-align:left;padding:2px 0 2px 5px;position:relative;box-sizing:border-box}.multilingualWidget.dropdown.long-label a span.name,.multilingualWidget.inline.flag-only .language,.multilingualWidget.inline.short-label.no-flag span.short-label{display:inline-block}
.multilingualWidget.dropdown.long-label.no-flag a{padding:7px 10px 9px}.multilingualWidget.dropdown.long-label.no-flag a span.name,.multilingualWidget.dropdown.short-label.no-flag a span.short-label{margin:0;display:inline-block}
.multilingualWidget.dropdown.short-label.no-flag a{padding:8px 22px 9px 10px;font-size:12px;min-height:32px;height:auto;box-sizing:border-box}.multilingualWidget.dropdown.short-label.no-flag .current-language a:after{top:12px}
.multilingualWidget.short-label span.short-label{text-transform:uppercase}.multilingualWidget.inline.flag-only a{padding:2px 5px;height:32px;box-sizing:border-box}.multilingualWidget.inline.flag-only .current-language a{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.6);border-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}
.multilingualWidget.inline.flag-only .other-languages a:not(:last-child){border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.flag-only .dm-icon,.multilingualWidget.inline.short-label.no-flag .dm-icon{display:none}
.multilingualWidget.inline.short-label.no-flag .current-language a{padding-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.short-label.no-flag .current-language a span.short-label{font-weight:700}
.multilingualWidget.inline.short-label.no-flag .other-languages a{border-left-color:transparent!important;border-left-width:0!important;border-left-style:none!important}.multilingualWidget.inline.short-label.no-flag .other-languages a:not(:last-child){padding-right:0;border-right-color:transparent!important;border-right-width:0!important;border-right-style:none!important}
.multilingualWidget.inline.short-label.no-flag a{position:relative;padding:8px 10px;font-size:12px;min-height:32px;height:auto;text-decoration:none}.multilingualWidget.inline.short-label.no-flag a:after{content:"/";position:absolute;top:8px;right:-7px;z-index:1;pointer-events:none}
.multilingualWidget.inline.short-label.no-flag a:hover .short-label{text-decoration:underline}.multilingualWidget.inline.short-label.no-flag .other-languages a:last-child:after{content:""}/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}
.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}
.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}
.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}
.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}
.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}
.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}
.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}
.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:"";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}
.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}
.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}
.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}
.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}
.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}
.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}
.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}
.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}
.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}
.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}
.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}
.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}
.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}
/* Custom Widgets Styles */
@charset "UTF-8";
/* ============================================================
   GIFTER & PROVIDER APP — DUAL-SKIN CSS
   Skin is toggled via data-skin="classic" | data-skin="shadcn"
   on the .gp-widget root element.
   All JS class names (.gp-*) are preserved unchanged.
   ============================================================ */
/* ─────────────────────────────────────────────────────────────
   SHARED — token defaults + structural rules that apply to
   BOTH skins. Individual skins override tokens below.
   ───────────────────────────────────────────────────────────── */
.widget-21ba8d {
  position: relative;
  min-height: 200px;
  /* Design-panel color variables (badge / step / gift) —
     consumed by both skins. */
  --badge-pending: var(--badgePendingColor, #F59E0B);
  --badge-approved: var(--badgeApprovedColor, #3B82F6);
  --badge-queued: var(--badgeQueuedColor, #8B5CF6);
  --badge-fulfilling: var(--badgeFulfillingColor,#06B6D4);
  --badge-complete: var(--badgeCompleteColor, #10B981);
  --badge-denied: var(--badgeDeniedColor, #6B7280);
  --step-active: var(--stepActiveColor, #3B82F6);
  --step-complete: var(--stepCompleteColor, #10B981);
  --step-upcoming: var(--stepUpcomingColor, #E5E7EB);
  --gift-pending-bg: var(--giftPendingBg, #FEF3C7);
  --gift-pending-text: var(--giftPendingText, #92400E);
  --gift-confirmed-bg: var(--giftConfirmedBg, #D1FAE5);
  --gift-confirmed-text: var(--giftConfirmedText, #065F46);
  /* ── Utility ── */
  /* ── Debug panel (skin-independent dark chrome) ── */
  /* ── Loading overlay (skin-independent) ── */
  /* ── Modal overlay backdrop (skin-independent) ── */
}
.widget-21ba8d .gp-hidden {
  display: none !important;
}
.widget-21ba8d .gp-debug-panel {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #1F2937;
  color: #F9FAFB;
  z-index: 9999;
  font-family: monospace;
  font-size: 0.78rem;
  max-height: 320px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
}
.widget-21ba8d .gp-debug-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  background: #111827;
  border-bottom: 1px solid #374151;
}
.widget-21ba8d .gp-debug-title {
  font-weight: 700;
  font-size: 0.82rem;
}
.widget-21ba8d .gp-debug-close {
  background: none;
  border: none;
  color: #9CA3AF;
  cursor: pointer;
  font-size: 0.9rem;
  font-family: monospace;
}
.widget-21ba8d .gp-debug-body {
  overflow-y: auto;
  padding: 10px 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.widget-21ba8d .gp-debug-section {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 160px;
}
.widget-21ba8d .gp-debug-section strong {
  color: #60A5FA;
  font-size: 0.72rem;
  text-transform: uppercase;
}
.widget-21ba8d .gp-debug-section span,
.widget-21ba8d .gp-debug-section ul {
  color: #D1D5DB;
  margin: 0;
  padding: 0;
  list-style: none;
}
.widget-21ba8d .gp-debug-error {
  color: #F87171 !important;
}
.widget-21ba8d .gp-debug-ok {
  color: #34D399;
}
.widget-21ba8d .gp-debug-fail {
  color: #F87171;
}
.widget-21ba8d .gp-debug-copy-btn {
  margin-top: 4px;
  align-self: flex-start;
  font-size: 0.76rem;
  padding: 4px 12px;
  font-family: monospace;
}
.widget-21ba8d .gp-loading {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.75);
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}
.widget-21ba8d .gp-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid #E5E7EB;
  border-top-color: #3B82F6;
  border-radius: 50%;
  animation: gp-spin 0.7s linear infinite;
}
@keyframes gp-spin {
  to {
    transform: rotate(360deg);
  }
}
.widget-21ba8d .gp-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(2px);
}
.widget-21ba8d .gp-modal-box {
  position: relative;
  max-width: 440px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
}
.widget-21ba8d .gp-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  padding: 4px;
  line-height: 1;
  font-family: inherit;
}
.widget-21ba8d .gp-gift-modal-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}
.widget-21ba8d .gp-gift-modal-actions .gp-btn {
  width: 100%;
  justify-content: center;
}
.widget-21ba8d .gp-gift-confirmed-msg {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 12px;
  border-radius: 8px;
  background: var(--gift-confirmed-bg);
}
.widget-21ba8d .gp-gift-confirmed-badge {
  background: var(--gift-confirmed-bg);
  color: var(--gift-confirmed-text);
  font-size: 0.85rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 999px;
}
.widget-21ba8d .gp-confirm-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}
.widget-21ba8d .gp-confirm-actions .gp-btn {
  flex: 1;
  justify-content: center;
}
.widget-21ba8d .gp-gift-suggested {
  margin-top: 8px;
}

/* ═══════════════════════════════════════════════════════════════
   SKIN: CLASSIC  (data-skin="classic"  OR no data-skin attr)
   Original design — solid hex colours, horizontal stepper,
   blue primary, Tailwind-grey palette.
   ═══════════════════════════════════════════════════════════════ */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) {
  /* ── Tokens ── */
  --gp-primary: #3B82F6;
  --gp-primary-hover: #2563EB;
  --gp-danger: #EF4444;
  --gp-bg: #F9FAFB;
  --gp-card-bg: #FFFFFF;
  --gp-card-border: #E5E7EB;
  --gp-card-radius: 12px;
  --gp-card-padding: 24px;
  --gp-input-bg: #FFFFFF;
  --gp-input-border: #D1D5DB;
  --gp-input-radius: 8px;
  --gp-text-primary: #111827;
  --gp-text-secondary: #6B7280;
  --gp-text-muted: #9CA3AF;
  --gp-transition: 0.2s ease;
  --gp-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --gp-shadow-lg: 0 10px 25px rgba(0,0,0,0.1);
  font-family: inherit;
  color: var(--gp-text-primary);
  width: 100%;
  background: var(--gp-bg);
  padding: 20px;
  position: relative;
  box-sizing: border-box;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) *,
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) *::before,
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) *::after {
  box-sizing: inherit;
}

/* View */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-view {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Provider header intro card — hidden in classic */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-header-card {
  display: none !important;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-intro-card {
  display: none !important;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-dashboard {
  display: none !important;
}

/* Count spans hidden in classic */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-queue-count,
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-requests-count {
  display: none;
}

/* Subtitle hidden in classic */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-card-subtitle {
  display: none;
}

/* Card */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-card {
  background: var(--gp-card-bg);
  border: 1px solid var(--gp-card-border);
  border-radius: var(--gp-card-radius);
  padding: var(--gp-card-padding);
  box-shadow: var(--gp-shadow);
  transition: opacity var(--gp-transition);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-card[hidden] {
  display: none;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-locked {
  opacity: 0.45;
  pointer-events: none;
  user-select: none;
}

/* Typography */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-heading {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--gp-text-primary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-subheading {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  color: var(--gp-text-primary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-body {
  font-size: 0.95rem;
  color: var(--gp-text-secondary);
  line-height: 1.6;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-label {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--gp-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-welcome-body {
  margin-top: 8px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-welcome-body p {
  margin: 0;
}

/* Step cards */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-number {
  width: 26px;
  height: 26px;
  background: var(--gp-primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
  text-transform: none;
  letter-spacing: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Inputs */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-input {
  width: 100%;
  background: var(--gp-input-bg);
  border: 1px solid var(--gp-input-border);
  border-radius: var(--gp-input-radius);
  padding: 10px 14px;
  font-size: 0.95rem;
  color: var(--gp-text-primary);
  outline: none;
  transition: border-color var(--gp-transition), box-shadow var(--gp-transition);
  box-sizing: border-box;
  font-family: inherit;
  resize: vertical;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-input:focus {
  border-color: var(--gp-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-input::placeholder {
  color: var(--gp-text-muted);
}

/* Buttons */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-btn {
  cursor: pointer;
  border: none;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  font-family: inherit;
  transition: background var(--gp-transition), transform var(--gp-transition), opacity var(--gp-transition);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-btn:active {
  transform: scale(0.98);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .btn-primary {
  background: var(--gp-primary);
  color: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .btn-primary:hover {
  background: var(--gp-primary-hover);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .btn-secondary {
  background: #F3F4F6;
  color: var(--gp-text-primary);
  border: 1px solid var(--gp-card-border);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .btn-secondary:hover {
  background: #E5E7EB;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .btn-danger {
  background: var(--gp-danger);
  color: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .btn-danger:hover {
  background: #DC2626;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-btn-sm {
  padding: 6px 12px;
  font-size: 0.8rem;
}

/* Badges */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge-pending {
  background: var(--badge-pending);
  color: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge-approved {
  background: var(--badge-approved);
  color: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge-queued {
  background: var(--badge-queued);
  color: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge-fulfilling {
  background: var(--badge-fulfilling);
  color: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge-complete {
  background: var(--badge-complete);
  color: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge-denied {
  background: var(--badge-denied);
  color: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge-gift-pending {
  background: var(--gift-pending-bg);
  color: var(--gift-pending-text);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-badge-gifted {
  background: var(--gift-confirmed-bg);
  color: var(--gift-confirmed-text);
}

/* Provider search & dropdowns */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-search-wrap {
  position: relative;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: var(--gp-card-bg);
  border: 1px solid var(--gp-card-border);
  border-radius: var(--gp-input-radius);
  box-shadow: var(--gp-shadow-lg);
  z-index: 100;
  max-height: 220px;
  overflow-y: auto;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-option {
  padding: 10px 14px;
  cursor: pointer;
  font-size: 0.92rem;
  color: var(--gp-text-primary);
  transition: background var(--gp-transition);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-option:hover {
  background: #F3F4F6;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-banner {
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 0.88rem;
  color: #1E40AF;
  margin-top: 8px;
}

/* Request type buttons */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-types-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-type-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #F9FAFB;
  border: 1px solid var(--gp-card-border);
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--gp-text-primary);
  transition: background var(--gp-transition), border-color var(--gp-transition);
  text-align: left;
  width: 100%;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-type-btn:hover,
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-type-btn.selected {
  background: #EFF6FF;
  border-color: var(--gp-primary);
  color: var(--gp-primary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-gift-pill {
  background: #FEF3C7;
  color: #92400E;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
}

/* Song search */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-search-wrap {
  position: relative;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: var(--gp-card-bg);
  border: 1px solid var(--gp-card-border);
  border-radius: var(--gp-input-radius);
  box-shadow: var(--gp-shadow-lg);
  z-index: 200;
  max-height: 260px;
  overflow-y: auto;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  cursor: pointer;
  transition: background var(--gp-transition);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-result-item:hover {
  background: #F3F4F6;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-result-item img {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  object-fit: cover;
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-result-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-result-name {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--gp-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-result-artist {
  font-size: 0.78rem;
  color: var(--gp-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-selected {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 8px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-art {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-name {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--gp-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-song-artist {
  color: var(--gp-text-muted);
  font-size: 0.8rem;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-no-results {
  padding: 12px 16px;
  font-size: 0.88rem;
  color: var(--gp-text-muted);
  text-align: center;
}

/* Stepper — horizontal (classic) */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-stepper {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 16px 0;
  overflow-x: auto;
  padding-bottom: 4px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  min-width: 60px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--step-upcoming);
  border: 2px solid var(--step-upcoming);
  transition: background var(--gp-transition), border-color var(--gp-transition);
  position: relative;
  z-index: 1;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step.active .gp-step-dot {
  background: var(--step-active);
  border-color: var(--step-active);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step.complete .gp-step-dot {
  background: var(--step-complete);
  border-color: var(--step-complete);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step.denied .gp-step-dot {
  background: var(--badge-denied);
  border-color: var(--badge-denied);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-label {
  font-size: 0.68rem;
  text-align: center;
  line-height: 1.2;
  max-width: 56px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--gp-text-muted);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step.active .gp-step-label {
  color: var(--step-active);
  font-weight: 700;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step.complete .gp-step-label {
  color: var(--step-complete);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-line {
  flex: 1;
  height: 2px;
  background: var(--step-upcoming);
  min-width: 16px;
  margin-bottom: 24px;
  transition: background var(--gp-transition);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-line.complete {
  background: var(--step-complete);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-tracker-details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-tracker-status-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* History */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-card {
  display: none !important;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-list,
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-history-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-item {
  border: 1px solid var(--gp-card-border);
  border-radius: 8px;
  overflow: hidden;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  cursor: pointer;
  background: #F9FAFB;
  transition: background var(--gp-transition);
  gap: 10px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-item-header:hover {
  background: #F3F4F6;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-item-title {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--gp-text-primary);
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-item-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-chevron {
  font-size: 0.7rem;
  color: var(--gp-text-muted);
  transition: transform var(--gp-transition);
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-item.open .gp-history-chevron {
  transform: rotate(180deg);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-item-body {
  display: none;
  padding: 12px 14px;
  border-top: 1px solid var(--gp-card-border);
  background: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-history-item.open .gp-history-item-body {
  display: block;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-activity-log {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-activity-entry {
  display: flex;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--gp-text-secondary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-activity-time {
  color: var(--gp-text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Provider header / menu */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 4px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-title {
  margin: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-menu-wrap {
  position: relative;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--gp-card-bg);
  border: 1px solid var(--gp-card-border);
  border-radius: 10px;
  box-shadow: var(--gp-shadow-lg);
  z-index: 200;
  min-width: 160px;
  overflow: hidden;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-menu-item {
  display: block;
  width: 100%;
  padding: 11px 18px;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.9rem;
  color: var(--gp-text-primary);
  transition: background var(--gp-transition);
  text-transform: none;
  letter-spacing: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-menu-item:hover,
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-menu-item.active {
  background: #EFF6FF;
  color: var(--gp-primary);
  font-weight: 600;
}

/* Provider request items */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item {
  border: 1px solid var(--gp-card-border);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 10px;
  background: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item:last-child {
  margin-bottom: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item-name {
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--gp-text-primary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item-content {
  font-size: 0.88rem;
  color: var(--gp-text-secondary);
  margin-bottom: 12px;
  padding: 8px 12px;
  background: #F9FAFB;
  border-radius: 6px;
  border: 1px solid var(--gp-card-border);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

/* Settings */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-settings-section {
  margin-bottom: 20px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-settings-section .gp-label {
  display: block;
  margin-bottom: 6px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-type-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: #F9FAFB;
  border: 1px solid var(--gp-card-border);
  border-radius: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-info {
  flex: 1;
  min-width: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--gp-text-primary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-meta {
  font-size: 0.76rem;
  color: var(--gp-text-muted);
  margin-top: 2px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-settings-msg {
  margin-top: 10px;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 0.88rem;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-settings-msg.success {
  background: #D1FAE5;
  color: #065F46;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-settings-msg.error {
  background: #FEE2E2;
  color: #991B1B;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-add-type-form {
  background: #F9FAFB;
  border: 1px solid var(--gp-card-border);
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-add-type-form-actions {
  display: flex;
  gap: 8px;
}

/* Modal box */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-modal-box {
  background: var(--gp-card-bg);
  border: 1px solid var(--gp-card-border);
  border-radius: var(--gp-card-radius);
  padding: var(--gp-card-padding);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-modal-close {
  color: var(--gp-text-muted);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-modal-close:hover {
  color: var(--gp-text-primary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-modal-box .gp-subheading {
  margin-bottom: 8px;
  padding-right: 28px;
}

/* Request type dropdown (gifter step 3) */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-types-dropdown-wrap {
  width: 100%;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-types-select {
  width: 100%;
  cursor: pointer;
  padding-right: 14px;
}

/* Request form info card (gifter step 4) */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-form-card {
  background: #F9FAFB;
  border: 1px solid var(--gp-card-border);
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-form-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-form-card-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--gp-text-primary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-form-card-desc {
  font-size: 0.85rem;
  color: var(--gp-text-secondary);
  margin: 0;
  line-height: 1.5;
}

/* RT edit cards (provider request types editor) */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card {
  border: 1px solid var(--gp-card-border);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card:last-child {
  margin-bottom: 0;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: #F9FAFB;
  gap: 8px;
  cursor: default;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--gp-text-primary);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card-chevron {
  color: var(--gp-text-muted);
  flex-shrink: 0;
  transform: rotate(180deg);
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card-body {
  padding: 14px;
  border-top: 1px solid var(--gp-card-border);
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fff;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--gp-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* RT edit card body — hidden when collapsed */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card.gp-rt-collapsed .gp-rt-edit-card-body {
  display: none;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card-header {
  cursor: pointer;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card-header:hover {
  background: #F3F4F6;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-rt-edit-card.gp-rt-collapsed .gp-rt-edit-card-chevron {
  transform: rotate(0deg);
}

/* Submit button — full width */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-submit-btn {
  width: 100%;
  justify-content: center;
}

/* Continue button — full width */
.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-name-next-btn {
  width: 100%;
  justify-content: center;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-empty-state {
  text-align: center;
  padding: 20px 0;
  color: var(--gp-text-muted);
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.88rem;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-submit-error {
  padding: 8px 12px;
  background: #FEE2E2;
  color: #991B1B;
  border-radius: 6px;
  font-size: 0.85rem;
}

.widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-loading {
  border-radius: var(--gp-card-radius);
}

/* Classic — Responsive */
@media (min-width: 768px) and (max-width: 1024px) {
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-view {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-queue-card,
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-requests-card {
    grid-column: 1;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-stepper {
    gap: 0;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-label {
    font-size: 0.62rem;
  }
}
@media (min-width: 1025px) {
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-view {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-header {
    grid-column: 1/-1;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-queue-card {
    grid-column: 1;
    grid-row: 2;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-requests-card {
    grid-column: 2;
    grid-row: 2;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-provider-history-card,
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-settings-card {
    grid-column: 1/-1;
  }
}
@media (max-width: 767px) {
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) {
    padding: 12px;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-card {
    padding: 16px;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-stepper {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    overflow-x: visible;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step {
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-width: unset;
    width: 100%;
    padding: 4px 0;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-label {
    max-width: unset;
    font-size: 0.82rem;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-step-line {
    width: 2px;
    height: 20px;
    min-width: unset;
    margin-bottom: 0;
    margin-left: 8px;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-tracker-details {
    flex-direction: column;
    align-items: flex-start;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item-actions {
    flex-direction: column;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-request-item-actions .gp-btn {
    width: 100%;
    justify-content: center;
  }
  .widget-21ba8d .gp-widget:not([data-skin=shadcn]) .gp-heading {
    font-size: 1.25rem;
  }
}
/* ═══════════════════════════════════════════════════════════════
   SKIN: SHADCN  (data-skin="shadcn")
   HSL token system, Inter font, shadcn card anatomy,
   transparent-fill badges with coloured borders,
   vertical stepper with connector line, auto dark mode.
   ═══════════════════════════════════════════════════════════════ */
/* ── Light tokens ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] {
  --background: 0 0% 98%;
  --foreground: 240 5.9% 10%;
  --card: 0 0% 100%;
  --card-foreground: 240 10% 3.9%;
  --muted: 240 4.8% 95.9%;
  --muted-foreground: 240 3.8% 46.1%;
  --primary: 240 5.9% 10%;
  --primary-foreground:0 0% 98%;
  --accent: 240 4.8% 95.9%;
  --border: 240 5.9% 90%;
  --ring: 240 5.9% 10%;
  --destructive: 0 84.2% 60.2%;
  --success: 160 84.1% 39.4%;
  --warning: 38 92.1% 50.2%;
  --radius: 0.5rem;
  --radius-md: calc(0.5rem - 2px);
  --sd-shadow: 0 2px 4px rgba(55,55,55,.08), 0 1px 1px rgba(0,0,0,.12);
  --sd-shadow-lg: 0 10px 25px rgba(0,0,0,.12);
  --sd-transition: 0.15s;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: hsl(var(--foreground));
  background: hsl(var(--background));
  width: 100%;
  padding: 16px;
  box-sizing: border-box;
  line-height: 1.5;
  position: relative;
}

/* ── Dark tokens — prefers-color-scheme ── */
@media (prefers-color-scheme: dark) {
  .widget-21ba8d .gp-widget[data-skin=shadcn]:not([data-theme=light]) {
    --background: 240 5.9% 10%;
    --foreground: 0 0% 98%;
    --card: 240 3.7% 15.9%;
    --card-foreground: 0 0% 98%;
    --muted: 240 3.7% 15.9%;
    --muted-foreground: 240 5% 64.9%;
    --primary: 0 0% 98%;
    --primary-foreground:240 10% 3.9%;
    --accent: 240 3.7% 15.9%;
    --border: 240 5.3% 26.1%;
    --ring: 0 0% 98%;
    --sd-shadow: 0 2px 4px rgba(0,0,0,.4), 0 1px 1px rgba(0,0,0,.5);
    --sd-shadow-lg: 0 10px 25px rgba(0,0,0,.5);
  }
}
/* ── Dark tokens — explicit class ── */
.widget-21ba8d .gp-widget[data-skin=shadcn][data-theme=dark],
.dark .widget-21ba8d .gp-widget[data-skin=shadcn] {
  --background: 240 5.9% 10%;
  --foreground: 0 0% 98%;
  --card: 240 3.7% 15.9%;
  --card-foreground: 0 0% 98%;
  --muted: 240 3.7% 15.9%;
  --muted-foreground: 240 5% 64.9%;
  --primary: 0 0% 98%;
  --primary-foreground:240 10% 3.9%;
  --accent: 240 3.7% 15.9%;
  --border: 240 5.3% 26.1%;
  --ring: 0 0% 98%;
  --sd-shadow: 0 2px 4px rgba(0,0,0,.4), 0 1px 1px rgba(0,0,0,.5);
  --sd-shadow-lg: 0 10px 25px rgba(0,0,0,.5);
}

/* ── Overflow safety ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/* ── View ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-view {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ── Card ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-card {
  background: hsl(var(--card));
  color: hsl(var(--card-foreground));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  box-shadow: var(--sd-shadow);
  overflow: visible;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-card[hidden] {
  display: none;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-locked {
  opacity: 0.45;
  pointer-events: none;
  user-select: none;
}

/* ── Typography ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-heading {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  line-height: 1;
  letter-spacing: -0.025em;
  color: hsl(var(--card-foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-subheading {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  line-height: 1.2;
  color: hsl(var(--card-foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-body {
  font-size: 14px;
  color: hsl(var(--muted-foreground));
  line-height: 1.5;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-label {
  font-size: 14px;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  text-transform: none;
  letter-spacing: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-welcome-body {
  margin-top: 6px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-welcome-body p {
  margin: 0;
}

/* ── Step cards — shadcn card anatomy ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 24px 24px 0;
  margin-bottom: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-card > .gp-step-header {
  padding-bottom: 6px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-card > .gp-step-header + .gp-step-body {
  padding: 0 24px 24px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-number {
  width: 24px;
  height: 24px;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
  text-transform: none;
  letter-spacing: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Landing card header padding */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-landing-card {
  padding: 24px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-landing-card .gp-heading {
  margin-bottom: 6px;
}

/* Tracker card */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-tracker-card {
  padding: 24px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-tracker-card .gp-subheading {
  margin-bottom: 16px;
}

/* Queue / requests / history / settings cards */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-queue-card,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-requests-card,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-history-card,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-settings-card,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-login-card {
  padding: 24px;
}

/* Provider header card — hidden in shadcn skin (removed) */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-header-card {
  display: none !important;
}

/* Provider intro card — visible in shadcn */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-intro-card {
  padding: 24px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-intro-card .gp-heading {
  margin-bottom: 4px;
}

/* Shadcn: Queue & Requests card sub-title */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-card-subtitle {
  font-size: 14px;
  color: hsl(var(--muted-foreground));
  margin: 4px 0 16px;
  line-height: 1.4;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-queue-card .gp-subheading,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-requests-card .gp-subheading,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-history-card .gp-subheading,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-settings-card .gp-subheading,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-card .gp-subheading {
  margin-bottom: 4px;
}

/* ── Inputs ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-input {
  appearance: none;
  font: inherit;
  display: flex;
  align-items: center;
  color: hsl(var(--foreground));
  background: transparent;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  height: 36px;
  padding: 4px 12px;
  font-size: 14px;
  line-height: 20px;
  width: 100%;
  outline: none;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: border-color var(--sd-transition), box-shadow var(--sd-transition);
  resize: vertical;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-input::placeholder {
  color: hsl(var(--muted-foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-input:focus {
  outline: 1px solid hsl(var(--ring));
  outline-offset: 0;
  border-color: hsl(var(--ring));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] textarea.gp-input {
  height: auto;
  min-height: 72px;
  padding: 8px 12px;
  line-height: 1.4;
}

/* ── Buttons ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-btn {
  appearance: none;
  font: inherit;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--radius-md);
  height: 40px;
  padding: 8px 16px;
  font-size: 14px;
  line-height: 20px;
  border: 1px solid transparent;
  white-space: nowrap;
  align-self: flex-start;
  transition: background-color var(--sd-transition), color var(--sd-transition), border-color var(--sd-transition), opacity var(--sd-transition);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-btn:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .btn-primary {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-color: transparent;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .btn-primary:hover {
  background: hsl(var(--primary)/0.88);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .btn-secondary {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  border-color: hsl(var(--border));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .btn-secondary:hover {
  background: hsl(var(--accent));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .btn-danger {
  background: hsl(var(--destructive));
  color: #fff;
  border-color: transparent;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .btn-danger:hover {
  background: hsl(var(--destructive)/0.88);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-btn-sm {
  height: 36px;
  padding: 0 12px;
  font-size: 14px;
}

/* ── Badges — transparent fill + coloured border ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  border: 1px solid transparent;
}

/* Pending — muted */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge-pending {
  background: hsl(var(--muted));
  color: hsl(var(--muted-foreground));
  border-color: hsl(var(--border));
}

/* Approved — success tint */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge-approved {
  background: hsl(var(--success)/0.15);
  color: hsl(var(--success));
  border-color: hsl(var(--success)/0.3);
}

/* Queued — primary tint */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge-queued {
  background: hsl(var(--primary)/0.1);
  color: hsl(var(--primary));
  border-color: hsl(var(--primary)/0.25);
}

/* Fulfilling — dark purple solid + pulse */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge-fulfilling {
  background: hsl(270, 60%, 35%);
  color: #fff;
  border-color: hsl(270, 60%, 35%);
  animation: sd-pulse 2s ease-in-out infinite;
}

@keyframes sd-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.65;
  }
}
/* Complete — success tint */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge-complete {
  background: hsl(var(--success)/0.15);
  color: hsl(var(--success));
  border-color: hsl(var(--success)/0.3);
}

/* Denied — muted */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge-denied {
  background: hsl(var(--muted));
  color: hsl(var(--muted-foreground));
  border-color: hsl(var(--border));
}

/* Gift badges */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge-gift-pending {
  background: hsl(var(--warning)/0.15);
  color: hsl(var(--warning));
  border-color: hsl(var(--warning)/0.3);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-badge-gifted {
  background: hsl(var(--success)/0.15);
  color: hsl(var(--success));
  border-color: hsl(var(--success)/0.3);
}

/* ── Gift pill (suggested amount) ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-gift-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: hsl(var(--muted));
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border));
  padding: 8px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}

/* ── Provider search & dropdowns ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-search-wrap {
  position: relative;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  box-shadow: var(--sd-shadow-lg);
  z-index: 100;
  max-height: 220px;
  overflow-y: auto;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-option {
  padding: 10px 14px;
  cursor: pointer;
  font-size: 14px;
  color: hsl(var(--foreground));
  transition: background var(--sd-transition);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-option:hover {
  background: hsl(var(--accent));
}

/* Provider banner — primary/5 tint */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-banner {
  background: hsl(var(--primary)/0.05);
  border: 1px solid hsl(var(--primary)/0.3);
  border-radius: var(--radius-md);
  padding: 10px 14px;
  font-size: 14px;
  color: hsl(var(--foreground));
  margin-top: 8px;
}

/* ── Request type buttons ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-types-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-type-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: hsl(var(--muted));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  cursor: pointer;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  color: hsl(var(--foreground));
  transition: background var(--sd-transition), border-color var(--sd-transition);
  text-align: left;
  width: 100%;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-type-btn:hover {
  background: hsl(var(--accent));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-type-btn.selected {
  background: hsl(var(--accent));
  border-color: hsl(var(--ring));
}

/* ── Song search ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-search-wrap {
  position: relative;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  box-shadow: var(--sd-shadow-lg);
  z-index: 200;
  max-height: 260px;
  overflow-y: auto;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  cursor: pointer;
  transition: background var(--sd-transition);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-result-item:hover {
  background: hsl(var(--accent));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-result-item img {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  object-fit: cover;
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-result-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-result-name {
  font-size: 14px;
  font-weight: 600;
  color: hsl(var(--foreground));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-result-artist {
  font-size: 12px;
  color: hsl(var(--muted-foreground));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-selected {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: hsl(var(--success)/0.08);
  border: 1px solid hsl(var(--success)/0.3);
  border-radius: var(--radius-md);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-art {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-name {
  font-weight: 600;
  font-size: 14px;
  color: hsl(var(--foreground));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-song-artist {
  color: hsl(var(--muted-foreground));
  font-size: 12px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-no-results {
  padding: 12px 16px;
  font-size: 14px;
  color: hsl(var(--muted-foreground));
  text-align: center;
}

/* ── Stepper — vertical (shadcn) ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-stepper {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  overflow-x: visible;
  padding-bottom: 0;
  counter-reset: sd-step;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  padding-bottom: 12px;
  position: relative;
  flex-shrink: unset;
  min-width: unset;
  flex-direction: unset;
  align-items: unset;
  counter-increment: sd-step;
}

/* Vertical connector line */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-line {
  display: none; /* hidden — connector drawn via ::before */
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 28px;
  bottom: 0;
  width: 2px;
  background: hsl(var(--border));
}

/* Dot */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-dot {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: hsl(var(--muted));
  color: hsl(var(--muted-foreground));
  border: 1px solid hsl(var(--border));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  transition: background var(--sd-transition), border-color var(--sd-transition);
  position: relative;
}

/* Step number via ::after pseudo — shows counter by default */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-dot::after {
  content: counter(sd-step);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

/* Complete — green + checkmark */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step.complete .gp-step-dot {
  background: hsl(var(--success));
  color: #fff;
  border-color: hsl(var(--success));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step.complete .gp-step-dot::after {
  content: "✓";
}

/* Active — primary filled + number */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step.active .gp-step-dot {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-color: hsl(var(--primary));
}

/* Denied — destructive + ✕ */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step.denied .gp-step-dot {
  background: hsl(var(--destructive));
  color: #fff;
  border-color: hsl(var(--destructive));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step.denied .gp-step-dot::after {
  content: "✕";
}

/* Step label/desc */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-label {
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: hsl(var(--foreground));
  text-transform: none;
  letter-spacing: 0;
  max-width: unset;
  display: block;
  padding-top: 6px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step.active .gp-step-label {
  color: hsl(var(--foreground));
  font-weight: 600;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step.complete .gp-step-label {
  color: hsl(var(--foreground));
}

/* Label wrap — holds label + optional inline button */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-label-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 4px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-label-wrap .gp-step-label {
  padding-top: 2px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-step-label-wrap .gp-gift-btn {
  width: 100%;
  justify-content: center;
  align-self: stretch;
}

/* Tracker details */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-tracker-details {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid hsl(var(--border));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-tracker-status-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* ── History — shadcn expandable rows ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-card {
  display: none !important;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-list,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-history-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-item {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background: hsl(var(--muted)/0.4);
  overflow: hidden;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  cursor: pointer;
  background: transparent;
  transition: background var(--sd-transition);
  gap: 10px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-item-header:hover {
  background: hsl(var(--accent)/0.6);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-item-title {
  font-size: 14px;
  font-weight: 500;
  color: hsl(var(--foreground));
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-item-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-chevron {
  font-size: 11px;
  color: hsl(var(--muted-foreground));
  transition: transform var(--sd-transition);
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-item.open .gp-history-chevron {
  transform: rotate(180deg);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-item-body {
  display: none;
  padding: 12px 14px;
  border-top: 1px solid hsl(var(--border));
  background: hsl(var(--muted)/0.3);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-history-item.open .gp-history-item-body {
  display: block;
}

/* Activity log — toned pill entries */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-activity-log {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-activity-entry {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-md);
  border: 1px solid hsl(var(--border));
  padding: 8px 12px;
  background: hsl(var(--muted)/0.6);
  color: hsl(var(--foreground));
  font-size: 14px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-activity-time {
  font-size: 12px;
  color: hsl(var(--muted-foreground));
  margin-top: 2px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Provider header / menu (legacy — hidden in shadcn, kept for classic) ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-header {
  display: none;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-menu-wrap {
  position: relative;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  box-shadow: var(--sd-shadow-lg);
  z-index: 200;
  min-width: 160px;
  overflow: hidden;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-menu-item {
  display: block;
  width: 100%;
  padding: 10px 16px;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  color: hsl(var(--foreground));
  transition: background var(--sd-transition);
  text-transform: none;
  letter-spacing: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-menu-item:hover,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-menu-item.active {
  background: hsl(var(--accent));
  color: hsl(var(--foreground));
  font-weight: 600;
}

/* ── Provider request items — shadcn expandable card rows ── */
/* Each item is a bordered card; click header to expand actions */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background: hsl(var(--card));
  overflow: hidden;
  margin-bottom: 8px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item:last-child {
  margin-bottom: 0;
}

/* Request item header row — always visible, click to expand */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  gap: 12px;
  cursor: pointer;
  transition: background var(--sd-transition);
  flex-wrap: nowrap;
  margin-bottom: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-header:hover {
  background: hsl(var(--accent)/0.5);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-name {
  font-weight: 500;
  font-size: 14px;
  color: hsl(var(--foreground));
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-badges {
  display: flex;
  gap: 6px;
  flex-wrap: nowrap;
  align-items: center;
  flex-shrink: 0;
}

/* Chevron in the header */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-chevron {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: hsl(var(--muted-foreground));
  transition: transform var(--sd-transition);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item.gp-item-open .gp-request-item-chevron {
  transform: rotate(180deg);
}

/* Request item body — hidden until expanded */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-body {
  display: none;
  border-top: 1px solid hsl(var(--border));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item.gp-item-open .gp-request-item-body {
  display: block;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-content {
  padding: 12px 16px;
  font-size: 14px;
  color: hsl(var(--muted-foreground));
  border-bottom: 1px solid hsl(var(--border));
  background: hsl(var(--muted)/0.3);
  margin-bottom: 0;
}

/* Action buttons — always visible, below header */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid hsl(var(--border));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .gp-btn {
  width: 100%;
  height: 44px;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid hsl(var(--border));
  font-size: 14px;
  font-weight: 500;
  align-self: stretch;
  justify-content: center;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .gp-btn:last-child {
  border-bottom: none;
}

/* Primary action — dark filled */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .btn-primary {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .btn-primary:hover {
  background: hsl(var(--primary)/0.88);
}

/* Secondary action — light grey outlined */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .btn-secondary {
  background: hsl(var(--muted));
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .btn-secondary:hover {
  background: hsl(var(--accent));
}

/* Fulfill Request — dark purple, white text */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .gp-action-fulfill {
  background: hsl(270, 60%, 35%);
  color: #fff;
  border-color: transparent;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .gp-action-fulfill:hover {
  background: hsl(270, 60%, 28%);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .gp-action-unavailable {
  background: hsl(var(--card));
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .gp-action-unavailable:hover {
  background: hsl(var(--accent));
}

/* Mark Complete — dark green, white text */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .gp-action-complete {
  background: hsl(142, 60%, 28%);
  color: #fff;
  border-color: transparent;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions .gp-action-complete:hover {
  background: hsl(142, 60%, 22%);
}

/* ── Provider Dashboard — accordion-style settings panel ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-dashboard {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  overflow: hidden;
  background: hsl(var(--card));
  box-shadow: var(--sd-shadow);
  display: block;
  width: 100%;
  min-width: 0;
}

/* Dashboard header — dark bar */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-dashboard-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  cursor: pointer;
  user-select: none;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-dashboard-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-dashboard-icon {
  flex-shrink: 0;
  opacity: 0.9;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-dashboard-title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-dashboard-main-chevron {
  flex-shrink: 0;
  transition: transform var(--sd-transition);
}

/* Collapsed = chevron points down (▼); expanded = chevron points up (▲) */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-dashboard .gp-dashboard-main-chevron {
  transform: rotate(180deg);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-dashboard.gp-dashboard-collapsed .gp-dashboard-main-chevron {
  transform: rotate(0deg);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-dashboard.gp-dashboard-collapsed .gp-dashboard-body {
  display: none;
}

/* Dashboard body */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-dashboard-body {
  display: flex;
  flex-direction: column;
  background: hsl(var(--card));
}

/* Accordion item */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-item {
  border-top: 1px solid hsl(var(--border));
  display: block;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-item:first-child {
  border-top: none;
}

/* Accordion trigger row */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  cursor: pointer;
  background: hsl(var(--muted)/0.4);
  user-select: none;
  transition: background var(--sd-transition);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-row:hover {
  background: hsl(var(--accent));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-row-left {
  display: flex;
  align-items: center;
  gap: 10px;
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-label {
  font-size: 14px;
  font-weight: 500;
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-chevron {
  flex-shrink: 0;
  color: hsl(var(--muted-foreground));
  transition: transform var(--sd-transition);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-chevron-open {
  transform: rotate(0deg);
}

/* When NOT open, chevron points down (default) */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-item:not(.gp-accordion-open) .gp-accordion-chevron {
  transform: rotate(0deg);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-item.gp-accordion-open .gp-accordion-chevron {
  transform: rotate(180deg);
}

/* Accordion panel */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-panel {
  background: hsl(var(--card));
  border-top: 1px solid hsl(var(--border));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-panel.gp-hidden {
  display: none !important;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-panel-inner {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-panel-title {
  font-size: 20px;
  font-weight: 700;
  color: hsl(var(--card-foreground));
  margin: 0;
  line-height: 1.2;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-accordion-panel-desc {
  font-size: 13px;
  color: hsl(var(--muted-foreground));
  line-height: 1.5;
  margin: 0;
}

/* Request type rows inside the accordion (collapsible) */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-type-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: hsl(var(--muted)/0.4);
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background var(--sd-transition);
  gap: 8px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-type-row:hover {
  background: hsl(var(--accent));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-row-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-row-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-chevron {
  color: hsl(var(--muted-foreground));
  font-size: 11px;
  transition: transform var(--sd-transition);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-type-row.gp-rt-open .gp-rt-chevron {
  transform: rotate(180deg);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-expand-body {
  display: none;
  padding: 12px 14px;
  background: hsl(var(--muted)/0.25);
  border: 1px solid hsl(var(--border));
  border-top: none;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  margin-bottom: 8px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-open + .gp-rt-expand-body,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-expand-body.gp-rt-body-open {
  display: block;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-expand-inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ── Settings (legacy card — now handled by accordion) ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-settings-section {
  margin-bottom: 20px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-settings-section .gp-label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-info {
  flex: 1;
  min-width: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-name {
  font-size: 14px;
  font-weight: 600;
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-meta {
  font-size: 12px;
  color: hsl(var(--muted-foreground));
  margin-top: 2px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-settings-msg {
  padding: 8px 14px;
  border-radius: var(--radius-md);
  font-size: 14px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-settings-msg.success {
  background: hsl(var(--success)/0.15);
  color: hsl(var(--success));
  border: 1px solid hsl(var(--success)/0.3);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-settings-msg.error {
  background: hsl(var(--destructive)/0.15);
  color: hsl(var(--destructive));
  border: 1px solid hsl(var(--destructive)/0.3);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-save-banner-msg.success,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-save-gift-msg.success {
  background: hsl(var(--success)/0.15);
  color: hsl(var(--success));
  border: 1px solid hsl(var(--success)/0.3);
  padding: 8px 14px;
  border-radius: var(--radius-md);
  font-size: 14px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-save-banner-msg.error,
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-save-gift-msg.error {
  background: hsl(var(--destructive)/0.15);
  color: hsl(var(--destructive));
  border: 1px solid hsl(var(--destructive)/0.3);
  padding: 8px 14px;
  border-radius: var(--radius-md);
  font-size: 14px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-add-type-form {
  background: hsl(var(--muted)/0.4);
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  padding: 14px;
  margin-bottom: 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-add-type-form-actions {
  display: flex;
  gap: 8px;
}

/* ── Modal box ── */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-modal-box {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--sd-shadow-lg);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-modal-close {
  color: hsl(var(--muted-foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-modal-close:hover {
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-modal-box .gp-subheading {
  margin-bottom: 8px;
  padding-right: 28px;
}

/* Request type dropdown (gifter step 3) */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-types-dropdown-wrap {
  width: 100%;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-types-select {
  width: 100%;
  cursor: pointer;
  height: 36px;
  padding-right: 14px;
  background-color: hsl(var(--background));
}

/* Request form info card (gifter step 4) */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-form-card {
  background: hsl(var(--muted)/0.5);
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-form-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-form-card-name {
  font-size: 15px;
  font-weight: 700;
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-form-card-gift {
  background: hsl(var(--warning)/0.15);
  color: hsl(var(--warning));
  border: 1px solid hsl(var(--warning)/0.3);
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-form-card-desc {
  font-size: 13px;
  color: hsl(var(--muted-foreground));
  margin: 0;
  line-height: 1.5;
}

/* RT edit cards (provider request types editor) */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 10px;
  background: hsl(var(--card));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card:last-child {
  margin-bottom: 0;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: hsl(var(--muted)/0.4);
  gap: 8px;
  cursor: default;
  border-bottom: 1px solid hsl(var(--border));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card-title {
  font-size: 14px;
  font-weight: 600;
  color: hsl(var(--foreground));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card-chevron {
  color: hsl(var(--muted-foreground));
  flex-shrink: 0;
  transform: rotate(180deg);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-label {
  font-size: 13px;
  font-weight: 500;
  color: hsl(var(--foreground));
}

/* RT edit card body — hidden when collapsed */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card.gp-rt-collapsed .gp-rt-edit-card-body {
  display: none;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card-header {
  cursor: pointer;
  user-select: none;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card-header:hover {
  background: hsl(var(--accent));
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-rt-edit-card.gp-rt-collapsed .gp-rt-edit-card-chevron {
  transform: rotate(0deg);
}

/* Submit button - full width */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-submit-btn {
  width: 100%;
  justify-content: center;
}

/* Continue button - full width */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-name-next-btn {
  width: 100%;
  justify-content: center;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-empty-state {
  text-align: center;
  padding: 24px 0;
  color: hsl(var(--muted-foreground));
  text-transform: none;
  letter-spacing: 0;
  font-size: 14px;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-submit-error {
  padding: 8px 12px;
  font-size: 14px;
  border-radius: var(--radius-md);
  background: hsl(var(--destructive)/0.12);
  color: hsl(var(--destructive));
  border: 1px solid hsl(var(--destructive)/0.3);
}

/* ── Shadcn — Responsive ── */
/* Provider view: always single column — all cards full width */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-view {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Shadcn: login card hidden by default — shown via JS when needed */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-login-card {
  display: none !important;
}

/* Provider login dropdown inside the dashboard accordion */
.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-login-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  box-shadow: var(--sd-shadow-lg);
  z-index: 200;
  max-height: 220px;
  overflow-y: auto;
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-login-dropdown .gp-provider-option {
  padding: 10px 14px;
  cursor: pointer;
  font-size: 14px;
  color: hsl(var(--foreground));
  transition: background var(--sd-transition);
}

.widget-21ba8d .gp-widget[data-skin=shadcn] .gp-provider-login-dropdown .gp-provider-option:hover {
  background: hsl(var(--accent));
}

@media (max-width: 767px) {
  .widget-21ba8d .gp-widget[data-skin=shadcn] {
    padding: 12px;
  }
  .widget-21ba8d .gp-widget[data-skin=shadcn] .gp-view {
    gap: 16px;
  }
  .widget-21ba8d .gp-widget[data-skin=shadcn] .gp-tracker-details {
    flex-direction: column;
    align-items: flex-start;
  }
  .widget-21ba8d .gp-widget[data-skin=shadcn] .gp-request-item-actions {
    flex-direction: column;
  }
}

.widget-1f5975 .copyright {
    font-size: 13px;
    display: flex;
    text-align: left;
    justify-content: flex-start;
}
