/* Sonnywebs Personalized Client Portal — v1.5.0 */
:root{
  --swp-navy:#04101f;
  --swp-navy-2:#071a2b;
  --swp-ink:#071525;
  --swp-muted:#5b7184;
  --swp-line:#dce7f0;
  --swp-soft:#f4f8fc;
  --swp-blue:#2563eb;
  --swp-cyan:#00bee6;
  --swp-magenta:#e000bd;
  --swp-orange:#f57300;
  --swp-yellow:#f6d600;
  --swp-green:#079768;
  --swp-spectrum:linear-gradient(90deg,var(--brand-yellow,var(--swp-yellow)),var(--brand-orange,var(--swp-orange)),var(--brand-magenta,var(--swp-magenta)),var(--brand-blue,var(--swp-blue)),var(--brand-cyan,var(--swp-cyan)));
  --swp-cool:linear-gradient(135deg,var(--brand-cyan,var(--swp-cyan)),var(--brand-blue,var(--swp-blue)) 56%,var(--brand-magenta,var(--swp-magenta)));
  --swp-shadow:0 20px 55px rgba(4,16,31,.10);
}

/* Account shell and navigation */
.is-sonnywebs-account.logged-in .account-hero{padding-bottom:54px}
.is-sonnywebs-account.logged-in .account-section{background:radial-gradient(circle at 5% 5%,rgba(0,190,230,.045),transparent 28%),linear-gradient(180deg,#f5f9fd,#fff 220px);padding-top:48px}
.is-sonnywebs-account .woocommerce.sw-account-grid{grid-template-columns:235px minmax(0,1fr)!important;gap:28px!important;align-items:start!important;max-width:1440px!important;margin-inline:auto!important}
.is-sonnywebs-account .sw-account-grid>.woocommerce-MyAccount-navigation{top:96px!important;border-radius:24px!important;padding:13px!important;background:linear-gradient(160deg,#03101f,#071b2d 62%,#102443)!important;box-shadow:0 22px 60px rgba(3,16,31,.16)!important}
.is-sonnywebs-account .sw-account-grid>.woocommerce-MyAccount-navigation:before{height:4px!important;border-radius:999px!important;margin:-13px -13px 12px!important;background-size:220% 100%!important;animation:swpSpectrum 7s ease-in-out infinite alternate!important}
.is-sonnywebs-account .woocommerce-MyAccount-navigation li a{min-height:45px!important;padding:11px 13px!important;font-size:12.5px!important;letter-spacing:.005em!important}
.is-sonnywebs-account .woocommerce-MyAccount-navigation li.is-active a{box-shadow:inset 3px 0 0 var(--swp-cyan)}
.is-sonnywebs-account .sw-account-grid>.woocommerce-MyAccount-content{min-height:620px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
@keyframes swpSpectrum{0%{background-position:0 50%}100%{background-position:100% 50%}}

/* Universal portal UI */
.sw-portal-dashboard,.sw-project-workspace,.sw-ticket-workspace,.sw-booking-request-shell{color:var(--swp-ink)}
.sw-portal-dashboard *,.sw-project-workspace *,.sw-ticket-workspace *,.sw-booking-request-shell *{box-sizing:border-box}
.sw-portal-kicker{display:block;color:var(--swp-blue);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.sw-portal-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:46px;padding:12px 18px!important;border:1px solid #cedbe6!important;border-radius:13px!important;background:#fff!important;color:var(--swp-ink)!important;font-size:12px!important;font-weight:850!important;line-height:1.2!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.sw-portal-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 18px}
.sw-portal-button:hover{transform:translateY(-2px);border-color:#aac8dd!important;box-shadow:0 12px 26px rgba(4,16,31,.10)!important}
.sw-portal-button.is-primary{border-color:transparent!important;background:var(--swp-cool)!important;color:#fff!important;box-shadow:0 13px 28px rgba(37,99,235,.22)!important}
.sw-portal-button.is-small{min-height:40px;padding:9px 14px!important;font-size:11px!important}
.sw-portal-panel{min-width:0;border:1px solid var(--swp-line);border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(4,16,31,.055);padding:26px}
.sw-portal-panel>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.sw-portal-panel>header h3{margin:5px 0 0;color:var(--swp-ink);font-size:24px;line-height:1.15;letter-spacing:-.035em}
.sw-portal-panel>header>a{display:inline-flex;align-items:center;gap:6px;color:var(--swp-blue);font-size:11px;font-weight:850;text-decoration:none}
.sw-portal-panel>header>a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.sw-portal-heading{align-items:center!important;margin-bottom:28px!important;padding:3px 0 4px!important}
.sw-portal-heading h2{font-size:clamp(34px,4vw,52px)!important;margin:6px 0 9px!important}
.sw-portal-heading p{max-width:700px!important;margin:0!important;color:var(--swp-muted)!important}
.sw-portal-back{display:inline-flex;margin:0 0 20px;color:var(--swp-blue);font-size:12px;font-weight:800;text-decoration:none}
.sw-portal-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;min-height:220px;padding:32px;border:1px dashed #cbdbe7;border-radius:20px;background:#fbfdff;color:var(--swp-muted)}
.sw-portal-empty>span{display:grid;place-items:center;width:55px;height:55px;margin-bottom:12px;border-radius:17px;background:#eaf3ff;color:var(--swp-blue)}
.sw-portal-empty>span svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7}
.sw-portal-empty h3,.sw-portal-empty h4{margin:4px 0 8px;color:var(--swp-ink)}
.sw-portal-empty p{max-width:460px;margin:0 0 17px!important}
.sw-portal-empty.is-compact{min-height:160px;padding:22px}
.sw-portal-empty--large{min-height:420px}
.sw-status{display:inline-flex!important;align-items:center!important;width:max-content;padding:6px 10px!important;border-radius:999px!important;background:#edf3f8!important;color:#52697b!important;font-size:8px!important;font-weight:900!important;letter-spacing:.09em!important;line-height:1!important;text-transform:uppercase!important}
.sw-status--active,.sw-status--in_progress,.sw-status--reviewing,.sw-status--scheduled{background:#e9f2ff!important;color:#1e5cc8!important}
.sw-status--onboarding,.sw-status--planned,.sw-status--new{background:#e8fbff!important;color:#087b98!important}
.sw-status--review,.sw-status--waiting,.sw-status--waiting_for_client,.sw-status--paused{background:#fff6d9!important;color:#986400!important}
.sw-status--completed{background:#e7f8f0!important;color:#08734c!important}
.sw-status--cancelled,.sw-status--declined{background:#fff0f0!important;color:#b42335!important}

/* Personalized dashboard */
.sw-portal-welcome-card{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr);gap:24px;overflow:hidden;margin-bottom:22px;padding:34px;border:1px solid rgba(255,255,255,.1);border-radius:28px;background:radial-gradient(circle at 8% 8%,rgba(0,190,230,.20),transparent 32%),radial-gradient(circle at 88% 18%,rgba(224,0,189,.18),transparent 34%),linear-gradient(135deg,#03101f,#071a2b 60%,#121733);box-shadow:0 24px 70px rgba(4,16,31,.20);color:#fff}
.sw-portal-welcome-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--swp-spectrum);background-size:240% 100%;animation:swpSpectrum 7s ease-in-out infinite alternate}
.sw-portal-welcome-card__copy{position:relative;z-index:1;align-self:center;padding:5px 0}
.sw-portal-welcome-card .sw-portal-kicker{color:#85dff3}
.sw-portal-welcome-card h2{max-width:800px;margin:8px 0 12px;color:#fff;font-size:clamp(35px,4vw,54px);line-height:1.02;letter-spacing:-.055em}
.sw-portal-welcome-card p{max-width:680px;margin:0;color:#b2c6d6;font-size:14px;line-height:1.75}
.sw-portal-welcome-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
.sw-portal-welcome-card__actions .sw-portal-button:not(.is-primary){border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.07)!important;color:#fff!important}
.sw-manager-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:21px;background:rgba(255,255,255,.075);backdrop-filter:blur(14px)}
.sw-manager-card__avatar img{display:block;width:58px;height:58px;border:3px solid rgba(255,255,255,.18);border-radius:50%}
.sw-manager-card div>span{display:block;margin-bottom:3px;color:#89a6bb;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.sw-manager-card div>strong{display:block;color:#fff;font-size:16px}
.sw-manager-card div>a{display:block;margin-top:3px;color:#9fdff0;font-size:10px;text-decoration:none;overflow-wrap:anywhere}
.sw-manager-card__message{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(0,190,230,.12);color:#72d9f1}
.sw-manager-card__message svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.sw-manager-card__tier{position:absolute;right:17px;bottom:-10px;padding:5px 9px;border-radius:999px;background:#fff;color:var(--swp-blue);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.sw-portal-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.sw-portal-metric-grid>a{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:13px;align-items:center;padding:18px;border:1px solid var(--swp-line);border-radius:19px;background:#fff;color:var(--swp-ink);text-decoration:none;box-shadow:0 10px 28px rgba(4,16,31,.045);transition:transform .2s ease,box-shadow .2s ease}
.sw-portal-metric-grid>a:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(4,16,31,.09)}
.sw-portal-metric__icon{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#e9f5ff,#edf1ff);color:var(--swp-blue)}
.sw-portal-metric__icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}
.sw-portal-metric-grid strong{font-size:23px;line-height:1;color:var(--swp-ink)}
.sw-portal-metric-grid small{margin-top:5px;color:var(--swp-muted);font-size:10px;font-weight:750}
.sw-portal-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);gap:22px}
.sw-project-mini-list{display:grid;gap:12px}
.sw-project-mini{display:block;padding:17px;border:1px solid #e0eaf2;border-radius:16px;background:#fbfdff;color:inherit;text-decoration:none}
.sw-project-mini__top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.sw-project-mini h4{margin:8px 0 0;color:var(--swp-ink);font-size:16px}
.sw-project-mini__top>strong{color:var(--swp-blue);font-size:14px}
.sw-project-mini small{display:block;margin-top:7px;color:var(--swp-muted);font-size:10px}
.sw-progress{height:7px;overflow:hidden;margin-top:14px;border-radius:999px;background:#e7eef5}
.sw-progress>span{display:block;height:100%;border-radius:inherit;background:var(--swp-cool);transition:width .4s ease}
.sw-mark-notifications{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #d6e4ee;border-radius:999px;background:#fff;color:var(--swp-blue);font-size:9px;font-weight:850;cursor:pointer}
.sw-mark-notifications svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
.sw-notification-list{display:grid;gap:3px}
.sw-notification{position:relative;display:grid;grid-template-columns:8px 1fr;gap:11px;padding:13px 8px;border-radius:12px;color:inherit;text-decoration:none}
.sw-notification:hover{background:#f5f9fd}
.sw-notification__dot{width:7px;height:7px;margin-top:7px;border-radius:50%;background:#ccd9e3}
.sw-notification.is-unread .sw-notification__dot{background:var(--swp-cyan);box-shadow:0 0 0 5px rgba(0,190,230,.12)}
.sw-notification strong{display:block;color:var(--swp-ink);font-size:11px}
.sw-notification p{margin:2px 0!important;color:var(--swp-muted)!important;font-size:10.5px!important;line-height:1.5!important}
.sw-notification time{color:#91a3b2;font-size:8px}

/* Projects */
.sw-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sw-project-card{position:relative;overflow:hidden;padding:24px;border:1px solid var(--swp-line);border-radius:23px;background:#fff;box-shadow:0 16px 42px rgba(4,16,31,.06)}
.sw-project-card__spectrum{position:absolute;inset:0 0 auto;height:4px;background:var(--swp-spectrum)}
.sw-project-card>header{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.sw-project-card>header>strong{color:var(--swp-blue);font-size:18px}
.sw-project-card h3{margin:18px 0 9px;color:var(--swp-ink);font-size:25px;line-height:1.12;letter-spacing:-.035em}
.sw-project-card>p{min-height:45px;margin:0 0 19px!important;color:var(--swp-muted)!important;font-size:12.5px!important;line-height:1.65!important}
.sw-project-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sw-project-card__meta>span{display:grid;grid-template-columns:20px 1fr;column-gap:8px;padding:12px;border-radius:13px;background:#f6f9fc;color:var(--swp-muted);font-size:9.5px}
.sw-project-card__meta svg{grid-row:1/3;width:18px;height:18px;fill:none;stroke:var(--swp-blue);stroke-width:1.7}
.sw-project-card__meta b{display:block;color:#8296a6;font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.sw-project-card__link{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid #e4ebf1;color:var(--swp-blue);font-size:11px;font-weight:850;text-decoration:none}
.sw-project-card__link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.sw-project-workspace{overflow:hidden;border:1px solid var(--swp-line);border-radius:27px;background:#fff;box-shadow:var(--swp-shadow)}
.sw-project-workspace__hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:32px;background:radial-gradient(circle at 0 0,rgba(0,190,230,.15),transparent 34%),linear-gradient(135deg,#04101f,#071a2b 64%,#121632);color:#fff}
.sw-project-workspace__hero h2{margin:13px 0 9px;color:#fff;font-size:clamp(32px,4vw,49px);line-height:1.04;letter-spacing:-.05em}
.sw-project-workspace__hero p{max-width:720px;margin:0!important;color:#aec1d0!important;font-size:13px!important;line-height:1.65!important}
.sw-project-progress-ring{--progress:0;display:grid;place-items:center;width:122px;height:122px;border-radius:50%;background:conic-gradient(var(--swp-cyan) calc(var(--progress)*1%),rgba(255,255,255,.12) 0);box-shadow:inset 0 0 0 10px rgba(255,255,255,.04);position:relative}
.sw-project-progress-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#071a2b}
.sw-project-progress-ring strong,.sw-project-progress-ring span{position:relative;z-index:1}
.sw-project-progress-ring strong{font-size:25px;color:#fff;line-height:1}
.sw-project-progress-ring span{margin-top:-30px;color:#8fa8ba;font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.sw-project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--swp-line);background:#fbfdff}
.sw-project-facts>article,.sw-project-facts>a{display:grid;grid-template-columns:35px 1fr;column-gap:10px;align-items:center;padding:20px;border-right:1px solid var(--swp-line);color:inherit;text-decoration:none}
.sw-project-facts>article:last-child,.sw-project-facts>a:last-child{border-right:0}
.sw-project-facts svg{grid-row:1/3;width:21px;height:21px;fill:none;stroke:var(--swp-blue);stroke-width:1.7}
.sw-project-facts span{color:#8396a6;font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.sw-project-facts strong{color:var(--swp-ink);font-size:11px}
.sw-project-workspace__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px}
.sw-milestone-list{position:relative;display:grid;gap:17px;margin:0;padding:2px 0;list-style:none}
.sw-milestone-list:before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:2px;background:#e1eaf1}
.sw-milestone-list li{position:relative;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center;z-index:1}
.sw-milestone-list li>span{display:grid;place-items:center;width:32px;height:32px;border:3px solid #fff;border-radius:50%;background:#dfe8ef;box-shadow:0 0 0 1px #d5e0e9;color:#fff}
.sw-milestone-list li.is-done>span{background:var(--swp-green)}
.sw-milestone-list li.is-current>span{background:var(--swp-blue);box-shadow:0 0 0 5px rgba(37,99,235,.12)}
.sw-milestone-list svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2}
.sw-milestone-list strong{display:block;color:var(--swp-ink);font-size:12px}
.sw-milestone-list small{color:var(--swp-muted);font-size:9px}
.sw-project-update-list{display:grid;gap:13px;margin-bottom:18px}
.sw-project-update-list article{display:grid;grid-template-columns:35px 1fr;gap:11px;padding:13px;border-radius:14px;background:#f7fafc}
.sw-project-update-list article>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#e7f5fb;color:#0785a7}
.sw-project-update-list svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.sw-project-update-list p{margin:0 0 4px!important;color:var(--swp-ink)!important;font-size:11px!important;line-height:1.6!important}
.sw-project-update-list small{color:#8395a3;font-size:8.5px}

/* Service booking */
.sw-book-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}
.sw-book-service-card{overflow:hidden;border:1px solid var(--swp-line);border-radius:22px;background:#fff;box-shadow:0 13px 36px rgba(4,16,31,.055)}
.sw-book-service-card__image{display:grid;place-items:center;overflow:hidden;height:170px;background:#edf4f9}
.sw-book-service-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.sw-book-service-card__image>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff;color:var(--swp-blue)}
.sw-book-service-card__image svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7}
.sw-book-service-card>div{padding:20px}
.sw-book-service-card__type{color:var(--swp-blue);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.sw-book-service-card h3{margin:8px 0 8px;font-size:20px;line-height:1.15;letter-spacing:-.03em}
.sw-book-service-card h3 a{color:var(--swp-ink);text-decoration:none}
.sw-book-service-card p{min-height:58px;margin:0!important;color:var(--swp-muted)!important;font-size:11px!important;line-height:1.65!important}
.sw-book-service-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid #e4ebf1}
.sw-book-service-card__footer>strong{color:var(--swp-orange);font-size:15px}
.sw-booking-request-shell{display:grid;grid-template-columns:minmax(270px,.65fr) minmax(0,1.35fr);gap:0;overflow:hidden;border:1px solid var(--swp-line);border-radius:26px;background:#fff;box-shadow:var(--swp-shadow)}
.sw-booking-request-shell__intro{padding:31px;background:radial-gradient(circle at 0 0,rgba(0,190,230,.16),transparent 33%),linear-gradient(150deg,#04101f,#071a2b);color:#fff}
.sw-booking-request-shell__intro .sw-portal-kicker{color:#7bdff3}
.sw-booking-request-shell__intro h3{margin:10px 0 12px;color:#fff;font-size:30px;line-height:1.08;letter-spacing:-.045em}
.sw-booking-request-shell__intro p{color:#b2c6d6;font-size:12px;line-height:1.7}
.sw-booking-request-shell__intro ul{display:grid;gap:10px;margin:21px 0 0;padding:0;list-style:none}
.sw-booking-request-shell__intro li{display:flex;align-items:center;gap:8px;color:#d5e5ef;font-size:10px}
.sw-booking-request-shell__intro li svg{width:16px;height:16px;fill:none;stroke:var(--swp-cyan);stroke-width:2.2}
.sw-booking-request-shell .sw-account-form-shell{margin:0!important;padding:31px!important;border:0!important;border-radius:0!important;box-shadow:none!important}

/* Forms */
.sw-account-form-shell{border:1px solid var(--swp-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 14px 40px rgba(4,16,31,.05)!important;padding:27px!important}
.sw-account-form-shell>h3{margin:0 0 19px!important;color:var(--swp-ink)!important;font-size:24px!important}
.sw-form{display:grid;gap:16px}
.sw-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.sw-form label{display:grid;gap:7px;margin:0!important}
.sw-form label>span{color:#2b3e50;font-size:10px;font-weight:850;letter-spacing:.025em}
.sw-form input,.sw-form select,.sw-form textarea{width:100%!important;min-height:46px!important;margin:0!important;padding:11px 13px!important;border:1px solid #cfdee9!important;border-radius:12px!important;background:#fbfdff!important;color:var(--swp-ink)!important;font:inherit!important;font-size:12px!important;box-shadow:none!important;transition:border-color .2s ease,box-shadow .2s ease}
.sw-form textarea{min-height:120px!important;resize:vertical}
.sw-form input:focus,.sw-form select:focus,.sw-form textarea:focus{outline:0!important;border-color:var(--swp-blue)!important;box-shadow:0 0 0 4px rgba(37,99,235,.10)!important}

/* Tickets */
.sw-ticket-list{display:grid;gap:12px;margin-bottom:26px}
.sw-ticket-card{display:grid;grid-template-columns:48px minmax(0,1fr) 22px;gap:15px;align-items:center;padding:18px;border:1px solid var(--swp-line);border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 10px 28px rgba(4,16,31,.04);transition:transform .2s ease,box-shadow .2s ease}
.sw-ticket-card:hover{transform:translateY(-2px);box-shadow:0 17px 35px rgba(4,16,31,.08)}
.sw-ticket-card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#e8f8fc,#eaf0ff);color:var(--swp-blue)}
.sw-ticket-card__icon svg,.sw-ticket-card>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.sw-ticket-card>svg{color:#91a5b5}
.sw-ticket-card h3{margin:7px 0 4px;color:var(--swp-ink);font-size:17px}
.sw-ticket-card p{margin:0!important;color:var(--swp-muted)!important;font-size:10.5px!important;line-height:1.5!important}
.sw-ticket-card small{display:block;margin-top:7px;color:#8ca0af;font-size:8.5px}
.sw-ticket-workspace{display:grid;gap:20px}
.sw-ticket-workspace>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:27px;border:1px solid var(--swp-line);border-radius:22px;background:#fff;box-shadow:0 13px 37px rgba(4,16,31,.05)}
.sw-ticket-workspace>header h2{margin:11px 0 7px;color:var(--swp-ink);font-size:31px;line-height:1.1;letter-spacing:-.04em}
.sw-ticket-workspace>header p{max-width:800px;margin:0!important;color:var(--swp-muted)!important;font-size:12px!important;line-height:1.65!important}
.sw-ticket-workspace dl{display:grid;grid-template-columns:repeat(3,auto);gap:9px;margin:0}
.sw-ticket-workspace dl>div{min-width:92px;padding:12px;border-radius:13px;background:#f5f8fb}
.sw-ticket-workspace dt{color:#8296a6;font-size:7px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.sw-ticket-workspace dd{margin:4px 0 0;color:var(--swp-ink);font-size:10.5px;font-weight:800}

/* Chat */
.sw-chat-shell{overflow:hidden;border:1px solid var(--swp-line);border-radius:23px;background:#fff;box-shadow:0 16px 45px rgba(4,16,31,.06)}
.sw-chat-shell--primary{box-shadow:var(--swp-shadow)}
.sw-chat-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 21px;border-bottom:1px solid #e0e9f0;background:linear-gradient(145deg,#fff,#f5f9fd)}
.sw-chat-header h3{margin:4px 0 0;color:var(--swp-ink);font-size:19px}
.sw-chat-header__person{display:flex;align-items:center;gap:12px}
.sw-chat-header__person img{width:47px;height:47px;border-radius:50%}
.sw-chat-presence{display:inline-flex;align-items:center;gap:6px;color:#708596;font-size:8.5px;font-weight:750}
.sw-chat-presence i{width:7px;height:7px;border-radius:50%;background:#11a572;box-shadow:0 0 0 4px rgba(17,165,114,.12)}
.sw-chat-presence.is-away i{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}
.sw-chat-refresh-note{color:#8ca0af;font-size:8.5px}
.sw-chat-thread{display:flex;flex-direction:column;gap:14px;min-height:330px;max-height:500px;overflow-y:auto;padding:22px;background:radial-gradient(circle at 100% 0,rgba(0,190,230,.04),transparent 30%),#f8fbfd;scrollbar-width:thin}
.sw-chat-message{display:flex;gap:11px;align-items:flex-end;max-width:82%}
.sw-chat-message.is-client{align-self:flex-end;flex-direction:row-reverse}
.sw-chat-message__avatar img{display:block;width:33px;height:33px;border-radius:50%;border:2px solid #fff;box-shadow:0 8px 18px rgba(4,16,31,.08)}
.sw-chat-message__bubble{padding:13px 15px;border:1px solid #dce6ee;border-radius:16px 16px 16px 5px;background:#fff;box-shadow:0 7px 18px rgba(4,16,31,.04);color:var(--swp-ink)}
.sw-chat-message.is-staff .sw-chat-message__bubble{border-color:#cfe2f0;background:linear-gradient(180deg,#ffffff 0%,#f4f9ff 100%);box-shadow:0 12px 28px rgba(4,16,31,.08)}
.sw-chat-message.is-staff .sw-chat-message__avatar img{border-color:#d9ebff}
.sw-chat-message.is-client .sw-chat-message__bubble{border-color:transparent;border-radius:16px 16px 5px 16px;background:linear-gradient(135deg,#0c77d8,#315bd7);color:#fff;box-shadow:0 14px 30px rgba(37,99,235,.28)}
.sw-chat-message__bubble header{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:7px}
.sw-chat-message__bubble header strong{font-size:9.5px;color:var(--swp-ink)}
.sw-chat-message.is-staff .sw-chat-message__bubble header strong{color:#10283c}
.sw-chat-message__bubble header span{color:#6b8294;font-size:7.5px;white-space:nowrap;font-weight:700}
.sw-chat-message.is-client .sw-chat-message__bubble header strong{color:#fff}
.sw-chat-message.is-client .sw-chat-message__bubble header span{color:#d3e7ff}
.sw-chat-message__bubble div,.sw-chat-message__bubble div p{color:inherit!important}
.sw-chat-message__bubble p{margin:0!important;color:inherit!important;font-size:11.5px!important;line-height:1.6!important}
.sw-chat-message.is-staff .sw-chat-message__bubble p{color:#264155!important}
.sw-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:17px;border-top:1px solid #e0e9f0;background:#fff}
.sw-chat-composer textarea{grid-row:1/3;width:100%;min-height:74px;padding:12px 14px;border:1px solid #cfdde7;border-radius:13px;background:#fbfdff;color:var(--swp-ink);font:inherit;font-size:11.5px;resize:vertical}
.sw-chat-composer textarea:focus{outline:0;border-color:var(--swp-blue);box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.sw-chat-composer button{align-self:end}
.sw-chat-composer small{align-self:start;max-width:190px;color:#8ba0af;font-size:7.5px;line-height:1.4}

/* Admin pages */
.sw-portal-admin{max-width:1500px;margin:22px 22px 30px 0;color:var(--swp-ink)}
.sw-portal-admin__header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px;padding:26px;border-radius:20px;background:radial-gradient(circle at 0 0,rgba(0,190,230,.18),transparent 33%),linear-gradient(135deg,#04101f,#071a2b 64%,#121632);color:#fff;box-shadow:0 18px 48px rgba(4,16,31,.18)}
.sw-portal-admin__header>div>span{color:#7fdcf1;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.sw-portal-admin__header h1{margin:6px 0 5px;color:#fff;font-size:34px}
.sw-portal-admin__header p{max-width:760px;margin:0;color:#b5c7d5}
.sw-support-inbox{display:grid;grid-template-columns:315px minmax(0,1fr);min-height:700px;overflow:hidden;border:1px solid #d8e3ec;border-radius:20px;background:#fff;box-shadow:var(--swp-shadow)}
.sw-support-inbox__clients{overflow-y:auto;border-right:1px solid #dce6ee;background:#f8fbfd}
.sw-support-inbox__search{position:sticky;top:0;z-index:2;padding:14px;border-bottom:1px solid #dce6ee;background:#f8fbfd}
.sw-support-inbox__search input{width:100%;padding:10px 12px;border:1px solid #cbd9e4;border-radius:10px}
.sw-support-inbox__clients>a{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid #e6edf2;color:inherit;text-decoration:none}
.sw-support-inbox__clients>a:hover,.sw-support-inbox__clients>a.is-active{background:#e9f5ff}
.sw-support-inbox__clients img{width:42px;height:42px;border-radius:50%}
.sw-support-inbox__clients span{min-width:0}
.sw-support-inbox__clients strong,.sw-support-inbox__clients small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sw-support-inbox__clients strong{font-size:12px}
.sw-support-inbox__clients small{margin-top:2px;color:#718697;font-size:9px}
.sw-support-inbox__conversation{min-width:0;padding:18px}
.sw-support-inbox__conversation>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.sw-support-inbox__conversation>header>div{display:flex;align-items:center;gap:10px}
.sw-support-inbox__conversation>header img{border-radius:50%}
.sw-support-inbox__conversation>header h2{margin:0;font-size:20px}
.sw-support-inbox__conversation>header a:not(.button){display:block;margin-top:2px;color:#5f7485;text-decoration:none}
.sw-chat-shell.is-admin .sw-chat-thread{max-height:520px}
.sw-chat-shell.is-admin .sw-chat-composer button{min-width:120px}
.sw-portal-settings-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sw-portal-settings-card{display:grid;gap:16px;padding:24px;border:1px solid #d8e3ec;border-radius:18px;background:#fff}
.sw-portal-settings-card h2{margin:0 0 4px;font-size:21px}
.sw-portal-settings-card label{display:grid;gap:7px}
.sw-portal-settings-card label>span{font-weight:700}
.sw-portal-settings-card input,.sw-portal-settings-card select,.sw-portal-settings-card textarea{width:100%;max-width:none;padding:9px 11px;border:1px solid #cbd8e2;border-radius:9px}
.sw-portal-settings-card .sw-checkbox{grid-template-columns:auto 1fr;align-items:start}
.sw-portal-settings-card .sw-checkbox input{width:auto;margin-top:3px}
.sw-portal-settings-form .submit{grid-column:1/-1;margin:0}
.sw-portal-admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.sw-portal-admin-fields label{display:grid;gap:6px}
.sw-portal-admin-fields label>span{font-weight:700}
.sw-portal-admin-fields input,.sw-portal-admin-fields select,.sw-portal-admin-fields textarea{width:100%;max-width:none}
.sw-portal-admin-fields .is-full{grid-column:1/-1}
.sw-portal-admin-fields small{color:#657786}

/* Responsive */
@media(max-width:1180px){
  .is-sonnywebs-account .woocommerce.sw-account-grid{grid-template-columns:210px minmax(0,1fr)!important;gap:20px!important}
  .sw-portal-welcome-card{grid-template-columns:1fr}
  .sw-manager-card{max-width:520px}
  .sw-portal-dashboard-grid{grid-template-columns:1fr}
  .sw-book-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-project-facts>*{border-bottom:1px solid var(--swp-line)}
  .sw-project-facts>*:nth-child(2n){border-right:0}
}
@media(max-width:980px){
  .is-sonnywebs-account .woocommerce.sw-account-grid{grid-template-columns:1fr!important}
  .is-sonnywebs-account .sw-account-grid>.woocommerce-MyAccount-navigation{position:relative!important;top:auto!important}
  .is-sonnywebs-account .woocommerce-MyAccount-navigation ul{display:flex!important;overflow-x:auto!important;padding-bottom:4px!important}
  .is-sonnywebs-account .woocommerce-MyAccount-navigation li{flex:0 0 auto!important}
  .is-sonnywebs-account .woocommerce-MyAccount-navigation li a{white-space:nowrap!important}
  .sw-portal-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-project-grid{grid-template-columns:1fr}
  .sw-project-workspace__grid{grid-template-columns:1fr}
  .sw-booking-request-shell{grid-template-columns:1fr}
  .sw-support-inbox{grid-template-columns:260px minmax(0,1fr)}
}
@media(max-width:760px){
  .is-sonnywebs-account.logged-in .account-hero{padding-bottom:40px}
  .is-sonnywebs-account.logged-in .account-section{padding-top:30px}
  .sw-portal-welcome-card{padding:25px 21px;border-radius:22px}
  .sw-portal-welcome-card h2{font-size:38px}
  .sw-portal-welcome-card__actions{display:grid}
  .sw-portal-welcome-card__actions .sw-portal-button{width:100%}
  .sw-manager-card{grid-template-columns:auto 1fr}
  .sw-manager-card__message{display:none}
  .sw-portal-metric-grid{grid-template-columns:1fr 1fr;gap:10px}
  .sw-portal-metric-grid>a{grid-template-columns:40px 1fr;padding:14px}
  .sw-portal-metric__icon{width:40px;height:40px;border-radius:12px}
  .sw-portal-panel{padding:20px;border-radius:19px}
  .sw-portal-panel>header{align-items:flex-start}
  .sw-portal-heading{display:grid!important;gap:17px!important}
  .sw-portal-heading .sw-portal-button{width:100%}
  .sw-project-card__meta{grid-template-columns:1fr}
  .sw-project-workspace__hero{grid-template-columns:1fr;padding:24px}
  .sw-project-progress-ring{width:105px;height:105px}
  .sw-project-facts{grid-template-columns:1fr}
  .sw-project-facts>*{border-right:0!important}
  .sw-project-facts>*:last-child{border-bottom:0}
  .sw-project-workspace__grid{padding:17px}
  .sw-book-service-grid{grid-template-columns:1fr}
  .sw-form__grid{grid-template-columns:1fr}
  .sw-ticket-workspace>header{grid-template-columns:1fr}
  .sw-ticket-workspace dl{grid-template-columns:1fr 1fr 1fr}
  .sw-chat-header{align-items:flex-start;flex-direction:column}
  .sw-chat-refresh-note{display:none}
  .sw-chat-thread{min-height:300px;padding:15px}
  .sw-chat-message{max-width:94%}
  .sw-chat-composer{grid-template-columns:1fr}
  .sw-chat-composer textarea{grid-row:auto}
  .sw-chat-composer .sw-portal-button{width:100%}
  .sw-chat-composer small{max-width:none}
  .sw-portal-admin{margin-right:10px}
  .sw-portal-admin__header{align-items:flex-start;flex-direction:column}
  .sw-support-inbox{grid-template-columns:1fr}
  .sw-support-inbox__clients{max-height:270px;border-right:0;border-bottom:1px solid #dce6ee}
  .sw-portal-settings-form{grid-template-columns:1fr}
  .sw-portal-settings-form .submit{grid-column:auto}
  .sw-portal-admin-fields{grid-template-columns:1fr}
  .sw-portal-admin-fields .is-full{grid-column:auto}
}
@media(max-width:480px){
  .sw-portal-metric-grid{grid-template-columns:1fr}
  .sw-ticket-card{grid-template-columns:42px minmax(0,1fr)}
  .sw-ticket-card>svg{display:none}
  .sw-ticket-workspace dl{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .sw-portal-welcome-card:before,.is-sonnywebs-account .sw-account-grid>.woocommerce-MyAccount-navigation:before{animation:none!important}
}

/* Personalized member hero supplied by Sonnywebs Global v1.5.0 */
.account-hero--member{padding-top:132px!important;padding-bottom:52px!important}
.account-hero__member-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);gap:28px;align-items:center;max-width:none!important}
.account-hero__member-copy{max-width:820px}
.account-hero__member-copy h1{font-size:clamp(48px,5.6vw,76px)!important}
.account-hero__member-status{position:relative;display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.07);backdrop-filter:blur(12px)}
.account-hero__avatar img{display:block;width:62px;height:62px;border:3px solid rgba(255,255,255,.16);border-radius:50%}
.account-hero__member-status span{display:block;color:#88a6ba;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.account-hero__member-status strong{display:block;margin-top:3px;color:#fff;font-size:16px}
.account-hero__member-status small{display:block;margin-top:3px;color:#9fc1d3;font-size:9px}
.account-hero__member-status>b{position:absolute;right:-8px;top:-8px;display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border:3px solid #071a2b;border-radius:999px;background:var(--swp-magenta);color:#fff;font-size:10px}
@media(max-width:900px){.account-hero__member-grid{grid-template-columns:1fr!important}.account-hero__member-status{max-width:470px}}
@media(max-width:600px){.account-hero--member{padding-top:116px!important;padding-bottom:40px!important}.account-hero__member-copy h1{font-size:44px!important}.account-hero__member-status{padding:16px}.account-hero__avatar img{width:52px;height:52px}}

/* Booking request status */
.sw-booking-status-panel{margin-bottom:24px}
.sw-booking-status-list{display:grid;gap:10px}
.sw-booking-status-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #e0e9f0;border-radius:14px;background:#f9fbfd}
.sw-booking-status-list strong{display:block;color:var(--swp-ink);font-size:12px}
.sw-booking-status-list small{display:block;margin-top:3px;color:var(--swp-muted);font-size:9px}
.sw-booking-status-list a{display:inline-flex;align-items:center;gap:6px;color:var(--swp-blue);font-size:10px;font-weight:850;text-decoration:none}
.sw-booking-status-list a svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9}
@media(max-width:600px){.sw-booking-status-list article{grid-template-columns:1fr}.sw-booking-status-list .sw-status{margin-bottom:2px}}

/* Client portal service register — v1.5.1 */
.sw-my-services{display:grid;gap:22px}
.sw-my-services .sw-portal-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px;border:1px solid #dce7ef;border-radius:20px;background:linear-gradient(135deg,#fff,#f6fbff)}
.sw-my-services .sw-portal-section-heading h2{margin:5px 0 7px;color:var(--swp-navy);font-size:30px}
.sw-my-services .sw-portal-section-heading p{margin:0;color:#687c8f}
.sw-my-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sw-my-service-card{position:relative;overflow:hidden;padding:22px;border:1px solid #dbe6ee;border-radius:19px;background:#fff;box-shadow:0 14px 42px rgba(4,16,31,.06)}
.sw-my-service-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#f6d600,#f57300,#e000bd,#2563eb,#00bee6)}
.sw-my-service-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.sw-my-service-card__top>small{color:#728598;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-align:right}
.sw-my-service-card h3{margin:18px 0;color:var(--swp-navy);font-size:22px}
.sw-my-service-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.sw-my-service-card dl>div{padding:12px;border-radius:12px;background:#f7fafc}.sw-my-service-card dt{color:#7b8c9c;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.sw-my-service-card dd{margin:4px 0 0;color:#24384c;font-weight:750}
.sw-my-service-card__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #e2e9ef}.sw-my-service-card__actions a{font-weight:750;text-decoration:none}
.sw-my-services .sw-service-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.sw-my-services .sw-service-status.is-active{background:#e2f8ed;color:#08734c}.sw-my-services .sw-service-status.is-onboarding{background:#e7f5ff;color:#0369a1}.sw-my-services .sw-service-status.is-pending{background:#fff4d7;color:#9a6700}.sw-my-services .sw-service-status.is-expiring{background:#fff0dc;color:#b45309}.sw-my-services .sw-service-status.is-paused{background:#eef1f5;color:#526273}.sw-my-services .sw-service-status.is-expired{background:#ffe8e9;color:#b42318}.sw-my-services .sw-service-status.is-completed{background:#e8efff;color:#1d4ed8}.sw-my-services .sw-service-status.is-cancelled{background:#f2edf3;color:#75566f}
@media(max-width:900px){.sw-my-services-grid{grid-template-columns:1fr}.sw-my-services .sw-portal-section-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.sw-my-service-card dl{grid-template-columns:1fr}.sw-my-services .sw-portal-section-heading{padding:20px}.sw-my-services .sw-portal-section-heading .sw-portal-button{width:100%}}

/* ================================================================
   Sonnywebs premium client dashboard — v1.5.2
   ================================================================ */
body.is-sonnywebs-account.logged-in{background:#03101f}
body.is-sonnywebs-account.logged-in .account-page--portal{min-height:100vh;background:#03101f;overflow:visible}
body.is-sonnywebs-account.logged-in .account-section--portal{padding:24px 0 72px;background:radial-gradient(circle at 76% 5%,rgba(42,82,210,.14),transparent 30%),radial-gradient(circle at 9% 92%,rgba(0,190,230,.08),transparent 28%),linear-gradient(180deg,#03101f,#061426 55%,#07182b)}
body.is-sonnywebs-account.logged-in .account-section--portal>.container{width:min(100% - 34px,1700px);max-width:1700px!important;padding-inline:0!important}
body.is-sonnywebs-account.logged-in .woocommerce.sw-account-grid{display:grid!important;grid-template-columns:270px minmax(0,1fr)!important;gap:20px!important;max-width:none!important;margin:0!important;align-items:start!important}
body.is-sonnywebs-account.logged-in .sw-account-grid>.woocommerce-MyAccount-content{min-height:760px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#e7f2fa!important;overflow:visible!important}

/* Navigation rail */
body.is-sonnywebs-account.logged-in .sw-account-grid>.woocommerce-MyAccount-navigation{position:sticky!important;top:92px!important;width:100%!important;max-width:none!important;padding:17px 14px 16px!important;border:1px solid rgba(124,169,204,.16)!important;border-radius:23px!important;background:linear-gradient(180deg,rgba(6,24,44,.98),rgba(5,17,33,.98))!important;box-shadow:0 24px 70px rgba(0,0,0,.28)!important;overflow:hidden!important}
body.is-sonnywebs-account.logged-in .sw-account-grid>.woocommerce-MyAccount-navigation:before{content:""!important;position:absolute!important;inset:0 0 auto!important;width:100%!important;height:3px!important;margin:0!important;border-radius:0!important;background:var(--swp-spectrum)!important;background-size:260% 100%!important;animation:swpSpectrum 6s ease-in-out infinite alternate!important}
.swp-nav-brand{display:flex;align-items:center;gap:11px;margin:4px 4px 15px;padding:9px 9px 14px;border-bottom:1px solid rgba(151,190,219,.12)}
.swp-nav-brand__mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(0,190,230,.25);border-radius:12px;background:linear-gradient(145deg,rgba(0,190,230,.13),rgba(37,99,235,.18));color:#70dcf3}
.swp-nav-brand__mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.swp-nav-brand strong,.swp-nav-brand small{display:block}
.swp-nav-brand strong{color:#fff;font-size:12.5px;line-height:1.25}
.swp-nav-brand small{margin-top:2px;color:#718da2;font-size:8.5px;letter-spacing:.02em}
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-navigation ul{display:grid!important;gap:4px!important;overflow:visible!important;padding:0!important}
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-navigation li a{position:relative;display:grid!important;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:47px!important;padding:10px 12px!important;border:1px solid transparent;border-radius:12px!important;color:#b8cddd!important;font-size:12.5px!important;font-weight:720!important;line-height:1.2!important;text-decoration:none!important;white-space:normal!important;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-navigation li a:hover{transform:translateX(2px);border-color:rgba(75,150,255,.20);background:rgba(22,64,115,.30)!important;color:#fff!important}
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-navigation li.is-active a{border-color:rgba(64,147,255,.58)!important;background:linear-gradient(135deg,rgba(9,84,151,.56),rgba(51,60,167,.55))!important;color:#fff!important;box-shadow:inset 3px 0 0 #21c8f3,0 8px 22px rgba(4,79,163,.16)!important}
.swp-nav-icon{display:grid;place-items:center;width:25px;height:25px;color:#8eb0c8}
li.is-active .swp-nav-icon{color:#50d8f5}
.swp-nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.swp-nav-badge{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#2869ce;color:#fff;font-size:8px}
.swp-nav-project{margin:19px 4px 2px;padding:18px;border:1px solid rgba(0,190,230,.45);border-radius:17px;background:radial-gradient(circle at 100% 0,rgba(224,0,189,.14),transparent 43%),linear-gradient(145deg,rgba(21,54,102,.48),rgba(7,25,48,.76))}
.swp-nav-project>span{display:block;color:#fff;font-size:11px;font-weight:850}
.swp-nav-project p{margin:7px 0 14px!important;color:#90aabd!important;font-size:9px!important;line-height:1.55!important}
.swp-nav-project a{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 12px;border-radius:10px;background:linear-gradient(135deg,rgba(37,99,235,.34),rgba(41,75,147,.38));color:#fff;font-size:10.5px;font-weight:800;text-decoration:none}

/* Main dashboard */
.sw-portal-dashboard--v2{display:grid;gap:16px;color:#eef6fc}
.swp-dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 5px 4px}
.swp-dashboard-company{display:block;margin-bottom:6px;color:#55d8f6;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.swp-dashboard-heading h1{margin:0;color:#fff;font-size:clamp(27px,3vw,42px);line-height:1.05;letter-spacing:-.045em}
.swp-dashboard-heading h1 span{background:linear-gradient(90deg,#2fc9f0,#4776ff,#df16c3);-webkit-background-clip:text;background-clip:text;color:transparent}
.swp-dashboard-heading p{margin:7px 0 0!important;color:#8fa8ba!important;font-size:12px!important;line-height:1.55!important}
.swp-dashboard-heading__actions{display:flex;align-items:center;gap:16px;padding-bottom:2px}
.swp-dashboard-report{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid rgba(144,185,216,.18);border-radius:11px;background:rgba(10,33,60,.62);color:#dcebf6;font-size:10px;font-weight:800;text-decoration:none}
.swp-dashboard-report svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.swp-dashboard-heading__actions small{display:flex;align-items:center;gap:7px;color:#7991a4;font-size:8.5px;white-space:nowrap}
.swp-dashboard-heading__actions small i{width:7px;height:7px;border-radius:50%;background:#15d49b;box-shadow:0 0 0 4px rgba(21,212,155,.09)}
.swp-dashboard-grid{display:grid;gap:14px}
.swp-dashboard-grid--top{grid-template-columns:minmax(250px,.9fr) minmax(340px,1.15fr) minmax(330px,1.05fr)}
.swp-dashboard-grid--bottom{grid-template-columns:minmax(280px,.95fr) minmax(300px,1fr) minmax(300px,.95fr)}
.swp-dashboard-card{min-width:0;overflow:hidden;padding:20px;border:1px solid rgba(128,171,203,.18);border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(29,86,160,.10),transparent 40%),linear-gradient(160deg,rgba(7,27,50,.98),rgba(7,22,42,.98));box-shadow:0 18px 48px rgba(0,0,0,.20)}
.swp-dashboard-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.swp-dashboard-card>header h2{display:flex;align-items:center;gap:9px;margin:0;color:#f4f8fb;font-size:14px;line-height:1.2}
.swp-dashboard-card>header h2>svg{width:19px;height:19px;fill:none;stroke:#5bcff1;stroke-width:1.7}
.swp-dashboard-card>header h2>b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#2268cc;color:#fff;font-size:8px}
.swp-dashboard-card>header>a{color:#67c9ef;font-size:8.5px;font-weight:800;text-decoration:none;white-space:nowrap}
.swp-dashboard-empty{display:grid;place-items:center;min-height:160px;padding:20px;border:1px dashed rgba(130,176,210,.20);border-radius:14px;text-align:center;background:rgba(8,28,52,.42)}
.swp-dashboard-empty p{margin:0 0 12px!important;color:#8fa7b9!important;font-size:10px!important}
.swp-dashboard-empty a{color:#61d2ef;font-size:9.5px;font-weight:800;text-decoration:none}

/* Services summary */
.swp-services-summary__body{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:5px 3px 17px}
.swp-services-summary__body>div:first-child strong{display:block;color:#fff;font-size:35px;line-height:1}
.swp-services-summary__body>div:first-child>span{display:block;margin-top:5px;color:#a8bfd0;font-size:10px}
.swp-services-summary__body>div:first-child em{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:999px;background:rgba(7,151,104,.18);color:#5be0b3;font-size:7.5px;font-style:normal;font-weight:800}
.swp-service-ring{--swp-ring:0%;display:grid;place-items:center;width:100px;height:100px;border-radius:50%;background:conic-gradient(#1c86ff 0,var(--swp-ring),#e000bd var(--swp-ring),calc(var(--swp-ring) + 9%),#f57300 calc(var(--swp-ring) + 9%),calc(var(--swp-ring) + 14%),rgba(117,153,183,.15) 0);position:relative}
.swp-service-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#071a2e}
.swp-service-ring span{position:relative;z-index:1;text-align:center}
.swp-service-ring strong,.swp-service-ring small{display:block}
.swp-service-ring strong{color:#fff;font-size:23px;line-height:1}
.swp-service-ring small{margin-top:3px;color:#7890a4;font-size:7px}
.swp-service-statuses{display:grid;grid-template-columns:repeat(4,1fr);padding-top:15px;border-top:1px solid rgba(130,171,203,.13)}
.swp-service-statuses span{display:grid;gap:4px;text-align:center;border-right:1px solid rgba(130,171,203,.12);color:#8097aa;font-size:7.5px}
.swp-service-statuses span:last-child{border-right:0}
.swp-service-statuses b{color:#4dbff1;font-size:15px}.swp-service-statuses span:nth-child(2) b{color:#ff9b26}.swp-service-statuses span:nth-child(3) b{color:#ffd23e}.swp-service-statuses span:nth-child(4) b{color:#a1adba}

/* Project progress */
.swp-project-status__list{display:grid;gap:14px}
.swp-project-status__list>a{display:grid;gap:8px;color:inherit;text-decoration:none}
.swp-project-status__list>a>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}
.swp-project-status__list strong{overflow:hidden;color:#dce9f3;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}
.swp-project-status .sw-status{padding:5px 8px!important;font-size:6.5px!important}
.swp-project-progress{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:9px;align-items:center}
.swp-project-progress i{display:block;height:5px;overflow:hidden;border-radius:99px;background:rgba(116,151,177,.18)}
.swp-project-progress i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#278aff,#3c6eff,#bd20d7)}
.swp-project-progress small{color:#90a8ba;font-size:7.5px;text-align:right}

/* Orders */
.swp-order-list{display:grid}
.swp-order-list>a{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(130,171,203,.12);color:inherit;text-decoration:none}
.swp-order-list>a:last-child{border-bottom:0}
.swp-order-list>a>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(42,102,177,.16);color:#a8c8df}
.swp-order-list svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7}
.swp-order-list strong,.swp-order-list small{display:block}
.swp-order-list strong{overflow:hidden;color:#d8e6f0;font-size:8.8px;text-overflow:ellipsis;white-space:nowrap}
.swp-order-list small{margin-top:3px;color:#6f879b;font-size:6.8px}
.swp-order-status{padding:5px 7px;border-radius:7px;background:rgba(14,149,99,.17);color:#5de0b1;font-size:6.8px;font-style:normal;font-weight:800;text-transform:capitalize}.swp-order-status.is-processing,.swp-order-status.is-pending{background:rgba(37,99,235,.18);color:#6eb2ff}.swp-order-status.is-cancelled,.swp-order-status.is-failed{background:rgba(190,49,70,.18);color:#ff8495}

/* Support */
.swp-help-card>p,.swp-account-manager-card>p{margin:-7px 0 15px!important;color:#8fa8ba!important;font-size:9px!important;line-height:1.5!important}
.swp-ticket-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:14px;padding:10px 0;border-top:1px solid rgba(130,171,203,.12);border-bottom:1px solid rgba(130,171,203,.12)}
.swp-ticket-metrics span{display:grid;gap:4px;text-align:center;border-right:1px solid rgba(130,171,203,.12);color:#7c92a5;font-size:7px}.swp-ticket-metrics span:last-child{border:0}
.swp-ticket-metrics b{color:#54c9f0;font-size:17px}.swp-ticket-metrics span:nth-child(2) b{color:#ff9c27}.swp-ticket-metrics span:nth-child(3) b{color:#43dba5}
.swp-latest-ticket{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(130,171,203,.14);border-radius:12px;background:rgba(8,29,53,.58);color:inherit;text-decoration:none}
.swp-latest-ticket small,.swp-latest-ticket strong{display:block}.swp-latest-ticket small{color:#658099;font-size:6.7px}.swp-latest-ticket strong{margin-top:3px;color:#d9e7f1;font-size:8.8px}

/* Messages */
.swp-message-preview-list{display:grid}
.swp-message-preview-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(130,171,203,.12)}
.swp-message-preview-list article:last-child{border:0}
.swp-message-preview-list img{width:34px;height:34px;border-radius:50%}
.swp-message-preview-list strong{display:block;color:#d9e7f1;font-size:8.8px}.swp-message-preview-list p{overflow:hidden;margin:3px 0 0!important;color:#7f97aa!important;font-size:7.5px!important;text-overflow:ellipsis;white-space:nowrap!important}.swp-message-preview-list time{color:#748b9e;font-size:6.6px;white-space:nowrap}

/* Account manager */
.swp-account-manager-card{background:radial-gradient(circle at 100% 0,rgba(224,0,189,.15),transparent 42%),linear-gradient(160deg,rgba(9,28,52,.98),rgba(8,23,43,.98))}
.swp-account-manager-card__person{position:relative;display:flex;align-items:center;gap:13px;margin:7px 0 14px}
.swp-account-manager-card__person img{width:74px;height:74px;border:3px solid rgba(255,255,255,.14);border-radius:50%;object-fit:cover}
.swp-account-manager-card__person>i{position:absolute;left:57px;bottom:3px;width:13px;height:13px;border:3px solid #07172a;border-radius:50%;background:#19cf93}
.swp-account-manager-card__person strong,.swp-account-manager-card__person span{display:block}.swp-account-manager-card__person strong{color:#fff;font-size:14px}.swp-account-manager-card__person span{margin-top:4px;color:#91a8ba;font-size:8.5px}
.swp-account-manager-card__contacts{display:flex;gap:8px;margin-bottom:14px}
.swp-account-manager-card__contacts a{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(136,177,209,.19);border-radius:50%;background:rgba(12,40,71,.45);color:#b8d1e3}
.swp-account-manager-card__contacts svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.swp-manager-message-button{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:10px;background:linear-gradient(90deg,#2287ff,#5c5cf1,#e000bd);color:#fff;font-size:10px;font-weight:850;text-decoration:none;box-shadow:0 12px 25px rgba(73,77,224,.20)}

/* Bottom CTA */
.swp-dashboard-next-step{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 18px;border:1px solid rgba(130,171,203,.17);border-radius:17px;background:linear-gradient(135deg,rgba(8,29,53,.98),rgba(10,29,55,.98));box-shadow:0 18px 48px rgba(0,0,0,.16)}
.swp-dashboard-next-step>span{display:grid;place-items:center;width:48px;height:48px;border:2px solid rgba(165,58,241,.55);border-radius:50%;background:radial-gradient(circle,rgba(73,116,255,.30),rgba(115,35,214,.22));color:#9fdaf0}
.swp-dashboard-next-step svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.swp-dashboard-next-step strong{display:block;color:#fff;font-size:10px}.swp-dashboard-next-step p{margin:3px 0 0!important;color:#8198aa!important;font-size:8px!important}
.swp-dashboard-next-step>a{display:flex;align-items:center;gap:20px;min-height:42px;padding:0 17px;border:1px solid rgba(133,174,205,.18);border-radius:11px;background:rgba(19,49,82,.50);color:#fff;font-size:9.5px;font-weight:800;text-decoration:none}.swp-dashboard-next-step>a b{font-size:16px}

/* Keep non-dashboard endpoints clean inside the dark workspace */
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-content>.sw-my-services,
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-content>.sw-account-heading,
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-content>.woocommerce-Addresses,
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-content>form:not(.sw-chat-composer),
body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-content>.woocommerce-notices-wrapper+form{
  color:var(--swp-ink)
}

@media(max-width:1320px){
  body.is-sonnywebs-account.logged-in .woocommerce.sw-account-grid{grid-template-columns:235px minmax(0,1fr)!important}
  .swp-dashboard-grid--top{grid-template-columns:1fr 1fr}.swp-recent-orders{grid-column:1/-1}.swp-order-list{grid-template-columns:1fr 1fr;column-gap:20px}.swp-order-list>a:nth-last-child(-n+2){border-bottom:0}
  .swp-dashboard-grid--bottom{grid-template-columns:1fr 1fr}.swp-account-manager-card{grid-column:1/-1}.swp-account-manager-card{display:grid;grid-template-columns:1fr auto;column-gap:25px}.swp-account-manager-card>header,.swp-account-manager-card__person,.swp-account-manager-card>p{grid-column:1}.swp-account-manager-card__contacts,.swp-manager-message-button{grid-column:2}.swp-account-manager-card__contacts{grid-row:2;align-self:end}.swp-manager-message-button{grid-row:3;min-width:220px;align-self:start}
}
@media(max-width:980px){
  body.is-sonnywebs-account.logged-in .woocommerce.sw-account-grid{grid-template-columns:1fr!important}
  body.is-sonnywebs-account.logged-in .sw-account-grid>.woocommerce-MyAccount-navigation{position:relative!important;top:auto!important}
  .swp-nav-brand,.swp-nav-project{display:none}
  body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-navigation ul{display:flex!important;overflow-x:auto!important;gap:5px!important;padding:2px 0!important}
  body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-navigation li{flex:0 0 auto}
  body.is-sonnywebs-account.logged-in .woocommerce-MyAccount-navigation li a{grid-template-columns:23px auto auto;min-height:42px!important;white-space:nowrap!important}
  .swp-dashboard-heading{align-items:flex-start}.swp-dashboard-grid--top,.swp-dashboard-grid--bottom{grid-template-columns:1fr}.swp-recent-orders,.swp-account-manager-card{grid-column:auto}.swp-order-list{grid-template-columns:1fr}.swp-order-list>a{border-bottom:1px solid rgba(130,171,203,.12)!important}.swp-order-list>a:last-child{border-bottom:0!important}
  .swp-account-manager-card{display:block}.swp-manager-message-button{min-width:0}
}
@media(max-width:680px){
  body.is-sonnywebs-account.logged-in .account-section--portal>.container{width:min(100% - 20px,1700px)}
  .swp-dashboard-heading{display:block}.swp-dashboard-heading__actions{margin-top:14px;justify-content:space-between}.swp-dashboard-heading__actions small{display:none}
  .swp-dashboard-card{padding:16px;border-radius:15px}.swp-dashboard-card>header{align-items:flex-start}.swp-dashboard-card>header h2{font-size:13px}
  .swp-services-summary__body{padding-top:0}.swp-service-ring{width:88px;height:88px}.swp-service-statuses{grid-template-columns:repeat(2,1fr);row-gap:13px}.swp-service-statuses span:nth-child(2){border-right:0}.swp-service-statuses span:nth-child(-n+2){padding-bottom:11px;border-bottom:1px solid rgba(130,171,203,.12)}
  .swp-dashboard-next-step{grid-template-columns:42px 1fr}.swp-dashboard-next-step>span{width:42px;height:42px}.swp-dashboard-next-step>a{grid-column:1/-1;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){body.is-sonnywebs-account.logged-in .sw-account-grid>.woocommerce-MyAccount-navigation:before{animation:none!important}}

/* Inline chat recovery notice (v1.6.2) */
.sw-chat-inline-error{margin:12px 16px 0;padding:12px 14px;border:1px solid rgba(239,68,68,.28);border-radius:12px;background:rgba(254,226,226,.96);color:#991b1b;font-size:12px;line-height:1.5;font-weight:600}
.sw-chat-shell--primary .sw-chat-inline-error,.sw-chat-shell.is-admin .sw-chat-inline-error{background:rgba(127,29,29,.28);border-color:rgba(248,113,113,.35);color:#fecaca}
