.elementor-1126 .elementor-element.elementor-element-5582f25{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--overflow:hidden;--padding-top:110px;--padding-bottom:110px;--padding-left:0px;--padding-right:0px;}.elementor-1126 .elementor-element.elementor-element-5582f25:not(.elementor-motion-effects-element-type-background), .elementor-1126 .elementor-element.elementor-element-5582f25 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://wingedsolar.com/wp-content/uploads/2026/08/Group-1261155844-scaled.avif");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-1126 .elementor-element.elementor-element-43f3407{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1126 .elementor-element.elementor-element-745fe7a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1126 .elementor-element.elementor-element-745fe7a .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:58px;font-weight:700;line-height:66px;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1126 .elementor-element.elementor-element-671024f{width:var( --container-widget-width, 88% );max-width:88%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:88%;--container-widget-flex-grow:0;font-family:"Montserrat", Sans-serif;font-size:18px;line-height:30px;color:#FFFFFF;}.elementor-1126 .elementor-element.elementor-element-cc4f01a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:56px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-1126 .elementor-element.elementor-element-cc4f01a:not(.elementor-motion-effects-element-type-background), .elementor-1126 .elementor-element.elementor-element-cc4f01a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1126 .elementor-element.elementor-element-b399e68{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1126 .elementor-element.elementor-element-faa8ce1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1126 .elementor-element.elementor-element-145ecb3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;text-align:center;}.elementor-1126 .elementor-element.elementor-element-145ecb3 img{width:118px;}.elementor-1126 .elementor-element.elementor-element-aee5a96{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 6px) 0px;text-align:center;}.elementor-1126 .elementor-element.elementor-element-aee5a96 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:700;line-height:36px;color:var( --e-global-color-f515c23 );}.elementor-1126 .elementor-element.elementor-element-18923a1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Montserrat", Sans-serif;font-size:15px;line-height:1.7em;color:#6B7C86;}.elementor-1126 .elementor-element.elementor-element-3a21af0{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:66px;--padding-bottom:72px;--padding-left:0px;--padding-right:0px;}.elementor-1126 .elementor-element.elementor-element-3a21af0:not(.elementor-motion-effects-element-type-background), .elementor-1126 .elementor-element.elementor-element-3a21af0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDF8EF;}.elementor-1126 .elementor-element.elementor-element-4fecb5a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-1126 .elementor-element.elementor-element-99630a9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 36px) 0px;text-align:center;}.elementor-1126 .elementor-element.elementor-element-99630a9 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:49px;font-weight:700;line-height:54px;color:var( --e-global-color-f515c23 );}.elementor-1126 .elementor-element.elementor-element-3118586{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:22px 22px;--row-gap:22px;--column-gap:22px;}.elementor-1126 .elementor-element.elementor-element-ff5a27b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E7DFD3;--border-color:#E7DFD3;--border-radius:14px 14px 14px 14px;--padding-top:30px;--padding-bottom:30px;--padding-left:28px;--padding-right:28px;}.elementor-1126 .elementor-element.elementor-element-ff5a27b:not(.elementor-motion-effects-element-type-background), .elementor-1126 .elementor-element.elementor-element-ff5a27b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1126 .elementor-element.elementor-element-43d0338{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1126 .elementor-element.elementor-element-43d0338 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:19px;font-weight:600;line-height:1.3em;color:var( --e-global-color-5d5dab2 );}.elementor-1126 .elementor-element.elementor-element-4eac3f8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Montserrat", Sans-serif;font-size:14.5px;line-height:1.75em;color:var( --e-global-color-f515c23 );}.elementor-1126 .elementor-element.elementor-element-f109d76{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E7DFD3;--border-color:#E7DFD3;--border-radius:14px 14px 14px 14px;--padding-top:30px;--padding-bottom:30px;--padding-left:28px;--padding-right:28px;}.elementor-1126 .elementor-element.elementor-element-f109d76:not(.elementor-motion-effects-element-type-background), .elementor-1126 .elementor-element.elementor-element-f109d76 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1126 .elementor-element.elementor-element-fed5461{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1126 .elementor-element.elementor-element-fed5461 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:19px;font-weight:600;line-height:1.3em;color:var( --e-global-color-5d5dab2 );}.elementor-1126 .elementor-element.elementor-element-3abba29{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Montserrat", Sans-serif;font-size:14.5px;line-height:1.75em;color:var( --e-global-color-f515c23 );}.elementor-1126 .elementor-element.elementor-element-0fcf3d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#E7DFD3;--border-color:#E7DFD3;--border-radius:14px 14px 14px 14px;--padding-top:30px;--padding-bottom:30px;--padding-left:28px;--padding-right:28px;}.elementor-1126 .elementor-element.elementor-element-0fcf3d5:not(.elementor-motion-effects-element-type-background), .elementor-1126 .elementor-element.elementor-element-0fcf3d5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1126 .elementor-element.elementor-element-71291e2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1126 .elementor-element.elementor-element-71291e2 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:19px;font-weight:600;line-height:1.3em;color:var( --e-global-color-5d5dab2 );}.elementor-1126 .elementor-element.elementor-element-b3c2a56{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Montserrat", Sans-serif;font-size:14.5px;line-height:1.75em;color:var( --e-global-color-f515c23 );}.elementor-1126 .elementor-element.elementor-element-8cc208c{margin:34px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;text-align:center;font-family:"Montserrat", Sans-serif;font-size:16px;line-height:1.7em;color:#6B7C86;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1126 .elementor-element.elementor-element-de17374 .elementor-button{background-color:var( --e-global-color-8abb282 );font-family:"Montserrat", Sans-serif;font-size:16px;text-transform:uppercase;border-radius:10px 10px 10px 10px;padding:20px 25px 20px 25px;}.elementor-1126 .elementor-element.elementor-element-de17374 .elementor-button:hover, .elementor-1126 .elementor-element.elementor-element-de17374 .elementor-button:focus{background-color:#D17B1D;}.elementor-1126 .elementor-element.elementor-element-de17374 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1126 .elementor-element.elementor-element-de17374 .elementor-button .elementor-button-content-wrapper{gap:10px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1126 .elementor-element.elementor-element-5582f25{--padding-top:80px;--padding-bottom:80px;--padding-left:10px;--padding-right:10px;}.elementor-1126 .elementor-element.elementor-element-43f3407{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1126 .elementor-element.elementor-element-745fe7a{text-align:center;}.elementor-1126 .elementor-element.elementor-element-745fe7a .elementor-heading-title{font-size:46px;}.elementor-1126 .elementor-element.elementor-element-671024f{text-align:center;}.elementor-1126 .elementor-element.elementor-element-cc4f01a{--padding-top:46px;--padding-bottom:64px;--padding-left:16px;--padding-right:16px;}.elementor-1126 .elementor-element.elementor-element-3a21af0{--padding-top:54px;--padding-bottom:58px;--padding-left:16px;--padding-right:16px;}}@media(max-width:767px){.elementor-1126 .elementor-element.elementor-element-5582f25{--padding-top:70px;--padding-bottom:70px;--padding-left:10px;--padding-right:10px;}.elementor-1126 .elementor-element.elementor-element-745fe7a{text-align:start;}.elementor-1126 .elementor-element.elementor-element-745fe7a .elementor-heading-title{font-size:38px;line-height:1.2em;}.elementor-1126 .elementor-element.elementor-element-671024f{text-align:start;font-size:16px;line-height:1.7em;}.elementor-1126 .elementor-element.elementor-element-cc4f01a{--padding-top:36px;--padding-bottom:52px;--padding-left:16px;--padding-right:16px;}.elementor-1126 .elementor-element.elementor-element-aee5a96 .elementor-heading-title{font-size:24px;line-height:1.25em;}.elementor-1126 .elementor-element.elementor-element-3a21af0{--padding-top:44px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-1126 .elementor-element.elementor-element-99630a9 .elementor-heading-title{font-size:29px;line-height:1.3em;}.elementor-1126 .elementor-element.elementor-element-3118586{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1126 .elementor-element.elementor-element-de17374 .elementor-button{padding:20px 15px 20px 15px;}}@media(min-width:768px){.elementor-1126 .elementor-element.elementor-element-5582f25{--content-width:1250px;}.elementor-1126 .elementor-element.elementor-element-43f3407{--width:66%;}.elementor-1126 .elementor-element.elementor-element-cc4f01a{--content-width:1250px;}.elementor-1126 .elementor-element.elementor-element-b399e68{--width:1140px;}.elementor-1126 .elementor-element.elementor-element-3a21af0{--content-width:1250px;}.elementor-1126 .elementor-element.elementor-element-4fecb5a{--width:1140px;}}@media(max-width:1024px) and (min-width:768px){.elementor-1126 .elementor-element.elementor-element-43f3407{--width:100%;}.elementor-1126 .elementor-element.elementor-element-b399e68{--width:100%;}.elementor-1126 .elementor-element.elementor-element-4fecb5a{--width:100%;}}/* Start custom CSS *//* Winged Solar brand skin for the SliceWP affiliate area.
   Self-scoped to #slicewp-affiliate-account / the login form, so nothing leaks site-wide.
   Tokens mirror the Elementor kit palette. */

#slicewp-affiliate-account, .slicewp-form {
  --ws-navy: #2E6583; --ws-blue: #3398BE; --ws-orange: #E88A24;
  --ws-cream: #FDF8EF; --ws-ink: #242424; --ws-muted: #6B7C86; --ws-line: #E7DFD3;
  font-family: 'Montserrat', sans-serif; color: var(--ws-ink);
}
#slicewp-affiliate-account input, #slicewp-affiliate-account select,
#slicewp-affiliate-account textarea, #slicewp-affiliate-account button,
.slicewp-form input, .slicewp-form button { font-family: 'Montserrat', sans-serif; }

/* ---- Tab bar ---- */
#slicewp-affiliate-account .slicewp-nav-tab-wrapper {
  background: var(--ws-cream); border: 1px solid var(--ws-line); border-radius: 10px;
  padding: 6px; gap: 2px; display: flex; flex-wrap: wrap; margin-bottom: 26px;
}
#slicewp-affiliate-account .slicewp-nav-tab {
  font-weight: 600; font-size: 13.5px; color: var(--ws-muted);
  border: 0; border-radius: 7px; background: transparent; padding: 9px 14px;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
#slicewp-affiliate-account .slicewp-nav-tab:hover { color: var(--ws-navy); background: rgba(255,255,255,.65); }
#slicewp-affiliate-account .slicewp-nav-tab.slicewp-active {
  color: var(--ws-navy); background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(39,85,111,.10), 0 0 0 1px var(--ws-line);
}
#slicewp-affiliate-account .slicewp-nav-tab svg { opacity: .8; }

/* ---- Date filter row ---- */
#slicewp-affiliate-account .slicewp-affiliate-dashboard-filters form { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
#slicewp-affiliate-account .slicewp-date-picker-wrapper { border: 1px solid var(--ws-line); border-radius: 8px; background: #FFFFFF; overflow: hidden; }
#slicewp-affiliate-account .slicewp-date-picker-input { border: 0; font-size: 13.5px; font-weight: 500; color: var(--ws-navy); }

/* ---- Cards ---- */
#slicewp-affiliate-account .slicewp-card {
  background: #FFFFFF; border: 1px solid var(--ws-line); border-radius: 12px;
  box-shadow: 0 1px 2px rgba(39,85,111,.05); overflow: hidden;
}
#slicewp-affiliate-account .slicewp-card-inner { padding: 22px 24px; }
#slicewp-affiliate-account .slicewp-card-header { border-bottom: 1px solid var(--ws-line); background: transparent; }
#slicewp-affiliate-account .slicewp-description,
#slicewp-affiliate-account .slicewp-field-description { color: var(--ws-muted); }

/* ---- KPI cards ---- */
#slicewp-affiliate-account .slicewp-grid-affiliate-dashboard { gap: 18px; }
#slicewp-affiliate-account .slicewp-card-affiliate-dashboard { position: relative; transition: transform .15s ease, box-shadow .15s ease; }
#slicewp-affiliate-account .slicewp-card-affiliate-dashboard::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--ws-navy);
}
#slicewp-affiliate-account .slicewp-card-affiliate-dashboard[data-kpi="visits"]::before { background: var(--ws-blue); }
#slicewp-affiliate-account .slicewp-card-affiliate-dashboard[data-kpi="commissions"]::before { background: var(--ws-orange); }
#slicewp-affiliate-account .slicewp-card-affiliate-dashboard[data-kpi="earnings"]::before { background: var(--ws-navy); }
#slicewp-affiliate-account .slicewp-card-affiliate-dashboard:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(39,85,111,.09); }
#slicewp-affiliate-account .slicewp-card-title {
  font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ws-muted); margin-bottom: 10px;
}
#slicewp-affiliate-account .slicewp-kpi-value {
  display: flex; align-items: baseline; gap: 10px;
  font-size: 38px; font-weight: 700; color: var(--ws-navy); letter-spacing: -.025em; line-height: 1.1;
}
#slicewp-affiliate-account .slicewp-kpi-direction {
  font-size: 12px; font-weight: 600; color: var(--ws-muted);
  background: var(--ws-cream); border: 1px solid var(--ws-line);
  border-radius: 999px; padding: 2px 9px; line-height: 1.6;
}
#slicewp-affiliate-account .slicewp-kpi-direction.slicewp-positive { color: #1F7A4D; background: #E8F5EE; border-color: #C6E6D4; }
#slicewp-affiliate-account .slicewp-kpi-direction.slicewp-negative { color: #B4452F; background: #FBECE9; border-color: #F1D2CB; }
#slicewp-affiliate-account .slicewp-card-footer { background: var(--ws-cream); border-top: 1px solid var(--ws-line); padding: 12px 24px; }
#slicewp-affiliate-account .slicewp-card-footer a { font-size: 13px; font-weight: 600; color: var(--ws-navy); text-decoration: none; }
#slicewp-affiliate-account .slicewp-card-footer a:hover { color: var(--ws-orange); }
#slicewp-affiliate-account .slicewp-card-footer a::after { content: " \2192"; opacity: 0; transition: opacity .15s ease; }
#slicewp-affiliate-account .slicewp-card-footer a:hover::after { opacity: 1; }

#slicewp-affiliate-account .slicewp-grid-affiliate-dashboard-all-time .slicewp-card { background: var(--ws-cream); }
#slicewp-affiliate-account .slicewp-grid-affiliate-dashboard-all-time .slicewp-card::before { display: none; }
#slicewp-affiliate-account .slicewp-grid-affiliate-dashboard-all-time .slicewp-kpi-value { font-size: 26px; }
#slicewp-affiliate-account .slicewp-grid-affiliate-dashboard-all-time .slicewp-card-inner { padding: 18px 20px; }

/* ---- Section headings ---- */
#slicewp-affiliate-account .slicewp-section-heading {
  font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ws-navy); margin: 34px 0 14px; display: flex; align-items: center; gap: 12px;
}
#slicewp-affiliate-account .slicewp-section-heading::after { content: ""; flex: 1; height: 1px; background: var(--ws-line); }

/* ---- Chart ---- */
#slicewp-affiliate-account .slicewp-chart-before { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
#slicewp-affiliate-account .slicewp-chart-legend { font-size: 13px; color: var(--ws-muted); font-weight: 500; }
#slicewp-affiliate-account .slicewp-chart-time-unit-body.elementor-page-1126 {
  border: 1px solid var(--ws-line); border-radius: 8px; padding: 7px 12px;
  font-size: 13px; font-weight: 600; color: var(--ws-navy); background: #FFFFFF;
}
#slicewp-affiliate-account .slicewp-color-box { border-radius: 3px; }

/* ---- Buttons ---- */
#slicewp-affiliate-account .slicewp-button-primary,
#slicewp-affiliate-account input[type="submit"],
#slicewp-affiliate-account button[type="submit"],
.slicewp-form .slicewp-button-primary, .slicewp-form button[type="submit"] {
  background: var(--ws-orange); border: 1px solid var(--ws-orange); color: #FFFFFF;
  font-weight: 600; font-size: 13.5px; border-radius: 8px; padding: 11px 22px; box-shadow: none;
  transition: background .15s ease, border-color .15s ease;
}
#slicewp-affiliate-account .slicewp-button-primary:hover,
#slicewp-affiliate-account input[type="submit"]:hover,
#slicewp-affiliate-account button[type="submit"]:hover,
.slicewp-form .slicewp-button-primary:hover, .slicewp-form button[type="submit"]:hover {
  background: var(--ws-navy); border-color: var(--ws-navy);
}
#slicewp-affiliate-account .slicewp-button-view-qr-code {
  background: #FFFFFF; border: 1px solid var(--ws-navy); color: var(--ws-navy); border-radius: 8px; font-weight: 600;
}
#slicewp-affiliate-account .slicewp-button-view-qr-code:hover { background: var(--ws-navy); color: #FFFFFF; }

/* ---- Links, inputs ---- */
#slicewp-affiliate-account a { color: var(--ws-navy); }
#slicewp-affiliate-account a:hover { color: var(--ws-orange); }
#slicewp-affiliate-account input[type="text"], #slicewp-affiliate-account input[type="email"],
#slicewp-affiliate-account input[type="url"], #slicewp-affiliate-account input[type="password"],
#slicewp-affiliate-account select, #slicewp-affiliate-account textarea,
#slicewp-affiliate-account .slicewp-input-copy,
.slicewp-form input[type="text"], .slicewp-form input[type="email"], .slicewp-form input[type="password"] {
  border: 1px solid var(--ws-line); border-radius: 8px; color: var(--ws-ink);
  background: #FFFFFF; padding: 11px 13px; font-size: 14px;
}
#slicewp-affiliate-account input:focus, #slicewp-affiliate-account select:focus,
#slicewp-affiliate-account textarea:focus, .slicewp-form input:focus {
  border-color: var(--ws-orange); outline: none; box-shadow: 0 0 0 3px rgba(232,138,36,.15);
}
#slicewp-affiliate-account .slicewp-input-copy { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }

/* ---- Tables ---- */
#slicewp-affiliate-account .slicewp-list-table-wrapper { border: 1px solid var(--ws-line); border-radius: 12px; overflow: hidden; background: #FFFFFF; }
#slicewp-affiliate-account .slicewp-list-table { border-color: var(--ws-line); }
#slicewp-affiliate-account .slicewp-list-table thead th {
  background: var(--ws-cream); color: var(--ws-navy); font-weight: 600;
  font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase;
  border-bottom: 1px solid var(--ws-line); padding: 12px 14px;
}
#slicewp-affiliate-account .slicewp-list-table td { border-bottom: 1px solid #F2ECE3; padding: 13px 14px; font-size: 14px; }
#slicewp-affiliate-account .slicewp-list-table tbody tr:last-child td { border-bottom: 0; }
#slicewp-affiliate-account .slicewp-list-table tbody tr:hover td { background: #FCFAF6; }
#slicewp-affiliate-account .slicewp-column-amount { font-weight: 700; color: var(--ws-navy); }

/* ---- Status pills ---- */
#slicewp-affiliate-account .slicewp-status-pill {
  border-radius: 999px; font-weight: 600; font-size: 11.5px; letter-spacing: .02em;
  padding: 4px 11px; border: 1px solid transparent; display: inline-block;
}
#slicewp-affiliate-account .slicewp-status-unpaid { background: #EAF2F7; color: var(--ws-navy); border-color: #CFE0EA; }
#slicewp-affiliate-account .slicewp-status-pending,
#slicewp-affiliate-account .slicewp-status-requested { background: #FDF1E2; color: #9A5A12; border-color: #F4DBB9; }
#slicewp-affiliate-account .slicewp-status-paid,
#slicewp-affiliate-account .slicewp-status-complete,
#slicewp-affiliate-account .slicewp-status-active { background: #E8F5EE; color: #1F7A4D; border-color: #C6E6D4; }
#slicewp-affiliate-account .slicewp-status-rejected,
#slicewp-affiliate-account .slicewp-status-failed { background: #FBECE9; color: #B4452F; border-color: #F1D2CB; }

/* ---- Pagination, notices ---- */
#slicewp-affiliate-account .slicewp-pagination-link { border: 1px solid var(--ws-line); border-radius: 8px; color: var(--ws-navy); }
#slicewp-affiliate-account .slicewp-pagination-link:hover,
#slicewp-affiliate-account .slicewp-pagination-link.slicewp-active { background: var(--ws-navy); border-color: var(--ws-navy); color: #FFFFFF; }
#slicewp-affiliate-account .slicewp-user-notice,
#slicewp-affiliate-account .slicewp-updated { border-left: 4px solid var(--ws-orange); background: var(--ws-cream); border-radius: 8px; }
#slicewp-affiliate-account .slicewp-error { border-left: 4px solid #B4452F; background: #FBECE9; border-radius: 8px; }

/* ---- Sign-in form: full width, fields side by side, button on the same row ---- */
#slicewp-affiliate-login-form {
  width: 100%; margin: 0 auto 10px; background: #FFFFFF;
  border: 1px solid var(--ws-line); border-radius: 14px; padding: 30px 32px 28px;
  box-shadow: 0 8px 26px rgba(39,85,111,.06);
  display: grid; grid-template-columns: 1fr 1fr auto; gap: 0 18px; align-items: end;
}
#slicewp-affiliate-login-form::before {
  content: "Partner sign in"; grid-column: 1 / -1;
  font-size: 21px; font-weight: 700; color: var(--ws-navy);
  letter-spacing: -.01em; margin-bottom: 18px;
}
#slicewp-affiliate-login-form::after {
  content: "Trouble signing in? Contact Winged Solar and we'll sort it out.";
  grid-column: 1 / -1; margin-top: 22px; padding-top: 16px;
  border-top: 1px solid var(--ws-line);
  font-size: 12.5px; line-height: 1.6; color: var(--ws-muted);
}
#slicewp-affiliate-login-form .slicewp-user-notice,
#slicewp-affiliate-login-form .slicewp-error { grid-column: 1 / -1; margin-bottom: 18px; padding: 12px 14px; font-size: 13.5px; }
#slicewp-affiliate-login-form .slicewp-field-wrapper { margin-bottom: 0; min-width: 0; }
#slicewp-affiliate-login-form .slicewp-field-label-wrapper label {
  font-size: 12.5px; font-weight: 600; color: var(--ws-navy);
  margin-bottom: 6px; display: block;
}
#slicewp-affiliate-login-form .slicewp-field-inner { display: block; }
#slicewp-affiliate-login-form input[type="text"],
#slicewp-affiliate-login-form input[type="password"] { width: 100%; display: block; }

/* Eye sits inside the field: the wrapper is the positioning context and the input
   reserves room on the right so the value never runs under the icon. */
#slicewp-affiliate-login-form .slicewp-field-input-password { position: relative; display: block; width: 100%; }
#slicewp-affiliate-login-form .slicewp-field-input-password input { padding-right: 44px; }
#slicewp-affiliate-login-form .slicewp-show-hide-password {
  position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; margin: 0; padding: 0; line-height: 1;
  color: var(--ws-muted); background: none; border: 0;
}
#slicewp-affiliate-login-form .slicewp-show-hide-password:hover { color: var(--ws-navy); }
#slicewp-affiliate-login-form .slicewp-show-hide-password svg { width: 18px; height: 18px; display: block; }

#slicewp-affiliate-login-form .slicewp-button-primary {
  width: auto; margin: 0; padding: 12px 32px; align-self: end; white-space: nowrap;
}
#slicewp-affiliate-login-form .slicewp-lost-password { grid-column: 1 / -1; margin-top: 14px; font-size: 13px; font-weight: 500; }
#slicewp-affiliate-login-form .slicewp-lost-password a { color: var(--ws-muted); }
#slicewp-affiliate-login-form .slicewp-lost-password a:hover { color: var(--ws-orange); }

/* ---- Small screens ---- */
@media (max-width: 880px) {
  #slicewp-affiliate-login-form { grid-template-columns: 1fr; gap: 16px 0; }
  #slicewp-affiliate-login-form::before { margin-bottom: 2px; }
  #slicewp-affiliate-login-form .slicewp-button-primary { width: 100%; }
}
@media (max-width: 767px) {
  #slicewp-affiliate-account .slicewp-grid-affiliate-dashboard { grid-template-columns: 1fr 1fr; }
  #slicewp-affiliate-account .slicewp-kpi-value { font-size: 30px; }
  #slicewp-affiliate-account .slicewp-card-inner { padding: 18px; }
  #slicewp-affiliate-account .slicewp-nav-tab { padding: 8px 11px; font-size: 12.5px; }
}
@media (max-width: 479px) {
  #slicewp-affiliate-account .slicewp-grid-affiliate-dashboard { grid-template-columns: 1fr; }
  #slicewp-affiliate-login-form { padding: 24px 20px 22px; border-radius: 12px; }
}

/* ---- Show the right block for the right visitor ----
   WordPress puts .logged-in on <body>, so each block can pick its audience.
   The referral strip gates itself in PHP (it renders nothing for non-affiliates). */
body.logged-in .ws-signin-head,
body.logged-in .ws-programme { display: none !important; }

/* The card's title now lives in real markup above it, so drop the CSS one. */
#slicewp-affiliate-login-form::before { content: none; display: none; }
#slicewp-affiliate-login-form { padding-top: 26px; }

/* ---- Signed-in referral strip ---- */
.ws-partner-strip {
  background: linear-gradient(180deg, #2E6583 0%, #27556F 100%);
  border-radius: 14px; padding: 24px 26px; margin: 0 0 24px;
  font-family: 'Montserrat', sans-serif;
}
.ws-partner-strip .ws-partner-hello {
  margin: 0 0 14px; font-size: 18px; font-weight: 700; color: #FFFFFF; letter-spacing: -.01em;
}
.ws-partner-strip .ws-partner-label {
  margin: 0 0 7px; font-size: 11px; font-weight: 600; letter-spacing: .09em;
  text-transform: uppercase; color: rgba(255,255,255,.62);
}
.ws-partner-strip .ws-partner-link { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; }
.ws-partner-strip .ws-partner-url {
  flex: 1 1 320px; min-width: 0; border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10); color: #FFFFFF; border-radius: 8px;
  padding: 11px 14px; font-size: 13.5px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.ws-partner-strip .ws-partner-url:focus { outline: none; border-color: #E88A24; box-shadow: 0 0 0 3px rgba(232,138,36,.25); }
.ws-partner-strip .ws-partner-copy {
  flex: 0 0 auto; background: #E88A24; border: 1px solid #E88A24; color: #FFFFFF;
  font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 13.5px;
  border-radius: 8px; padding: 11px 26px; cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.ws-partner-strip .ws-partner-copy:hover { background: #D97D18; border-color: #D97D18; }
.ws-partner-strip .ws-partner-copy.is-done { background: #1F7A4D; border-color: #1F7A4D; }
.ws-partner-strip .ws-partner-note {
  margin: 12px 0 0; font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,.62);
}
@media (max-width: 479px) {
  .ws-partner-strip { padding: 20px; }
  .ws-partner-strip .ws-partner-copy { width: 100%; }
}

/* ---- Password reset form, same card treatment ---- */
#slicewp-affiliate-reset-password-form, .slicewp-form[id*="reset"] {
  width: 100%; background: #FFFFFF; border: 1px solid #E7DFD3; border-radius: 14px;
  padding: 28px 30px 26px; box-shadow: 0 8px 26px rgba(39,85,111,.06);
}

/* Elementor caches rendered element markup, so the custom classes above may not appear on the
   containers straight away. Target the element-id classes too — those are always emitted. */
body.logged-in .elementor-element-faa8ce1,   /* sign-in header  */
body.logged-in .elementor-element-3a21af0 {  /* programme info  */
  display: none !important;
}

/* ---- Tab bar spacing: room between tabs, and between each icon and its label ---- */
#slicewp-affiliate-account .slicewp-nav-tab-wrapper { gap: 6px; margin-bottom: 30px; }
#slicewp-affiliate-account .slicewp-nav-tab {
  display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px;
}
#slicewp-affiliate-account .slicewp-nav-tab svg { flex: 0 0 auto; width: 16px; height: 16px; }
#slicewp-affiliate-account .slicewp-affiliate-dashboard-filters { margin-bottom: 24px; }

/* ---- Tab bar, corrected ----
   The markup is <ul.slicewp-nav-tab-wrapper><li.slicewp-nav-tab><a><svg><span>…
   so the flex container has to be the <a>, not the <li>: that is where the icon and
   the label actually sit. Padding moves onto the link so the whole chip is clickable. */
#slicewp-affiliate-account .slicewp-nav-tab-wrapper {
  list-style: none; margin: 0 0 30px; padding: 6px; gap: 6px;
}
#slicewp-affiliate-account .slicewp-nav-tab { padding: 0; overflow: hidden; }
#slicewp-affiliate-account .slicewp-nav-tab > a {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 10px 16px; border-radius: 7px;
  color: var(--ws-muted); text-decoration: none; line-height: 1.2;
}
#slicewp-affiliate-account .slicewp-nav-tab > a:hover { color: var(--ws-navy); }
#slicewp-affiliate-account .slicewp-nav-tab.slicewp-active > a { color: var(--ws-navy); }
#slicewp-affiliate-account .slicewp-nav-tab > a svg { flex: 0 0 auto; width: 16px; height: 16px; opacity: .8; }
#slicewp-affiliate-account .slicewp-nav-tab > a span { white-space: nowrap; }

@media (max-width: 767px) {
  #slicewp-affiliate-account .slicewp-nav-tab { padding: 0; }
  #slicewp-affiliate-account .slicewp-nav-tab > a { padding: 9px 12px; font-size: 12.5px; gap: 7px; }
}

/* ---- Programme step cards: numbered badge, even height, site-consistent lift ----
   Targeted by element id as well as class, because Elementor's element cache can hold
   the old markup for a while after a class is added. */
.ws-step,
.elementor-element-ff5a27b, .elementor-element-f109d76, .elementor-element-0fcf3d5 {
  counter-increment: ws-step;
  position: relative;
  box-shadow: 0 1px 2px rgba(39,85,111,.05);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ws-step:hover,
.elementor-element-ff5a27b:hover, .elementor-element-f109d76:hover, .elementor-element-0fcf3d5:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(39,85,111,.09);
}
.ws-step::before,
.elementor-element-ff5a27b::before, .elementor-element-f109d76::before, .elementor-element-0fcf3d5::before {
  content: counter(ws-step);
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; margin-bottom: 16px;
  border-radius: 999px; background: #FDF1E2; color: #B06A14;
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 15px;
  border: 1px solid #F4DBB9;
}
.ws-programme .e-con-inner, .elementor-element-3a21af0 .e-con-inner { counter-reset: ws-step; }

/* The steps row: counter needs a reset on the grid itself too. */
.elementor-element-3118586 { counter-reset: ws-step; }

/* Tighten the sign-in block so the card sits closer to its heading. */
.elementor-element-faa8ce1 > .e-con-inner,
.elementor-element-faa8ce1 { row-gap: 0; }

/* =======================================================================
   Refinements — step badges inline, sign-in lockup merged with the form
   ======================================================================= */

/* ---- Step cards: badge beside the title, not floating above the card ----
   The badge was a flex item on the container, which put it outside the padded
   content box. Moving it onto the heading keeps it in the text flow. */
.ws-step::before,
.elementor-element-ff5a27b::before,
.elementor-element-f109d76::before,
.elementor-element-0fcf3d5::before { content: none; display: none; }

.ws-step .elementor-widget-heading .elementor-heading-title,
.elementor-element-ff5a27b .elementor-heading-title,
.elementor-element-f109d76 .elementor-heading-title,
.elementor-element-0fcf3d5 .elementor-heading-title {
  display: flex; align-items: center; gap: 13px;
}
.ws-step .elementor-widget-heading .elementor-heading-title::before,
.elementor-element-ff5a27b .elementor-heading-title::before,
.elementor-element-f109d76 .elementor-heading-title::before,
.elementor-element-0fcf3d5 .elementor-heading-title::before {
  content: counter(ws-step);
  flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 999px;
  background: #E88A24; color: #FFFFFF;
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 14px;
  line-height: 1;
}

/* ---- Sign-in: the lockup and the form read as one card ---- */
.elementor-element-faa8ce1 {
  background: #FFFFFF;
  border: 1px solid var(--ws-line, #E7DFD3);
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  padding: 36px 32px 24px;
  width: 100%;
}
#slicewp-affiliate-login-form {
  border-radius: 0 0 14px 14px;
  border-top: 0;
  margin: 0 0 10px;
  padding-top: 4px;
  box-shadow: none;
}
/* The empty referral-strip widget sits between them when signed out — collapse it. */
body:not(.logged-in) .elementor-element-a6d82d8 { display: none; }

/* Divider between the lockup and the fields, inside the merged card. */
#slicewp-affiliate-login-form::before {
  content: "" !important; display: block !important;
  grid-column: 1 / -1; height: 1px; background: var(--ws-line, #E7DFD3);
  margin: 0 0 22px; font-size: 0;
}

@media (max-width: 479px) {
  .elementor-element-faa8ce1 { padding: 28px 20px 20px; }
}

/* ---- Tables must scroll sideways on narrow screens ----
   The rounded-corner wrapper above used `overflow: hidden`, which clipped the table and
   left no way to reach the columns off-screen. `auto` still clips to the radius but
   gives the wrapper a scrollbar, and a min-width stops the columns being crushed. */
#slicewp-affiliate-account .slicewp-list-table-wrapper {
  overflow: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
#slicewp-affiliate-account .slicewp-list-table { min-width: 620px; }
#slicewp-affiliate-account .slicewp-list-table td,
#slicewp-affiliate-account .slicewp-list-table th { white-space: nowrap; }
/* The landing-URL column is the one that genuinely needs to wrap. */
#slicewp-affiliate-account .slicewp-column-landing_url,
#slicewp-affiliate-account .slicewp-column-referrer_url { white-space: normal; max-width: 280px; word-break: break-word; }

/* Keep the whole account area inside the viewport so nothing else overflows. */
#slicewp-affiliate-account { max-width: 100%; }
#slicewp-affiliate-account .slicewp-card { max-width: 100%; }

@media (max-width: 767px) {
  /* A hint that there is more to the right. */
  #slicewp-affiliate-account .slicewp-list-table-wrapper { scrollbar-width: thin; }
  #slicewp-affiliate-account .slicewp-list-table-wrapper::-webkit-scrollbar { height: 8px; }
  #slicewp-affiliate-account .slicewp-list-table-wrapper::-webkit-scrollbar-thumb {
    background: #D9CFC0; border-radius: 999px;
  }
  #slicewp-affiliate-account .slicewp-list-table-wrapper::-webkit-scrollbar-track { background: #FBF7F0; }
}/* End custom CSS */