/* Smart-GLP theme "Bloom" — layered on Studio (studio.css). Warm cream canvas, lavender / blush / sunshine cards,
   chunky Fredoka headlines, Figtree text, pill buttons and generous spacing. Accent = Theme token "primary". */
@font-face{font-family:Fredoka;font-weight:600;font-display:swap;src:url(../../vendor/fonts/fredoka-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Fredoka;font-weight:700;font-display:swap;src:url(../../vendor/fonts/fredoka-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-weight:400;font-display:swap;src:url(../../vendor/fonts/figtree-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-weight:500;font-display:swap;src:url(../../vendor/fonts/figtree-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-weight:600;font-display:swap;src:url(../../vendor/fonts/figtree-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-weight:700;font-display:swap;src:url(../../vendor/fonts/figtree-latin-700-normal.woff2) format("woff2")}

/* ---------- tokens ---------- */
html[data-skin=bloom]{--sg-bg:#FFFBF6;--sg-card:#FFFFFF;--sg-ink:#22062F;--sg-ink2:#46305C;--sg-mute:#6B5E7B;--sg-mute2:#9A8FA8;--sg-line:#F0E8F6;--sg-soft:#F6F0FC;--sg-hover:#F4ECFF;
  --sg-input:#F7F2FC;--sg-dark:#2B0B3F;--sg-glass:rgba(255,251,246,.86);
  --bl-lav:#ECE2FF;--bl-lav2:#E0D0FF;--bl-pink:#FFD3DF;--bl-sun:#FFE08A;--bl-sun2:#FFD15C;--bl-mint:#CDEFD6;--bl-sky:#DCEBFF;--bl-ink:#22062F;
  --sg-shadow:0 1px 2px rgba(43,11,63,.04),0 14px 36px -22px rgba(76,29,149,.28);--sg-pop:0 18px 40px -16px rgba(76,29,149,.35);
  --bl-display:Fredoka,var(--sg-font);--bl-gap:28px;--bs-border-radius:16px;color-scheme:light}
html[data-skin=bloom][data-mode=dark]{--sg-bg:#140A1F;--sg-card:#1F1230;--sg-ink:#F6EEFF;--sg-ink2:#E3D6F5;--sg-mute:#B2A3C6;--sg-mute2:#8C7CA3;--sg-line:#2E1F42;--sg-soft:#291A3B;--sg-hover:#2E1F45;
  --sg-input:#170D24;--sg-dark:#0D0614;--sg-glass:rgba(20,10,31,.86);
  --bl-lav:#2A1A44;--bl-lav2:#3A2560;--bl-pink:#3A1B2C;--bl-sun:#3A3016;--bl-sun2:#FFD84A;--bl-mint:#173326;--bl-sky:#172A44;
  --sg-shadow:0 1px 0 rgba(0,0,0,.25);--sg-pop:0 16px 40px -12px rgba(0,0,0,.7);color-scheme:dark}

/* ---------- type ---------- */
html[data-skin=bloom] body{font-size:15.5px;letter-spacing:0}
html[data-skin=bloom] h1,html[data-skin=bloom] h2,html[data-skin=bloom] .sg-title,html[data-skin=bloom] .sg-page-title,html[data-skin=bloom] .sg-sd-hello,html[data-skin=bloom] .modal-title{font-family:var(--bl-display);font-weight:700;letter-spacing:-.02em}
html[data-skin=bloom] h3,html[data-skin=bloom] h4,html[data-skin=bloom] .sg-card-h h2,html[data-skin=bloom] .sg-card h2{font-family:var(--bl-display);font-weight:700;letter-spacing:0}
html[data-skin=bloom] .sg-title,html[data-skin=bloom] .sg-page-title{font-size:2.3rem}
html[data-skin=bloom] .sg-sd-hello{font-size:2.9rem;line-height:1.02}
html[data-skin=bloom] .sg-sd-hello:after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:.12em;vertical-align:top;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M8 14 L4 4M18 11 L20 2M26 17 L35 11' stroke='%232B0B3F' stroke-width='3.4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") no-repeat center/contain}
html[data-skin=bloom][data-mode=dark] .sg-sd-hello:after{filter:invert(1)}
html[data-skin=bloom] .sg-label,html[data-skin=bloom] .form-label{font-weight:700;color:var(--sg-mute)}
html[data-skin=bloom] .sg-tag,html[data-skin=bloom] .sg-dbadge{border-radius:999px;background:var(--bl-lav);color:var(--sg-accent);padding:0 10px}

/* ---------- shell ---------- */
html[data-skin=bloom] .sg-side{background:transparent;box-shadow:none;padding:28px 22px}
html[data-skin=bloom] .sg-brand{font-family:var(--bl-display);font-weight:700;font-size:1.45rem;letter-spacing:-.02em}
html[data-skin=bloom] .sg-leaf{width:34px;height:34px}
html[data-skin=bloom] .sg-side nav a,html[data-skin=bloom] .sg-side-foot a,html[data-skin=bloom] .sg-nav-group summary{border-radius:999px;height:46px;color:var(--sg-ink2)}
html[data-skin=bloom] .sg-side nav a.on,html[data-skin=bloom] .sg-nav-group summary.in{background:var(--bl-lav2);color:var(--sg-accent);box-shadow:none}
html[data-skin=bloom] .sg-side nav a.on i,html[data-skin=bloom] .sg-nav-group summary.in i:first-child{color:var(--sg-accent)}
html[data-skin=bloom] .sg-side nav a:hover,html[data-skin=bloom] .sg-nav-group summary:hover{background:var(--bl-lav);color:var(--sg-accent)}
html[data-skin=bloom] .sg-nav-group>div{border-left-color:var(--bl-lav2)}
html[data-skin=bloom] .sg-mode{background:var(--bl-lav)}
html[data-skin=bloom] .sg-top{background:var(--sg-glass)}
html[data-skin=bloom] .sg-search{border-radius:999px;background:var(--sg-card);box-shadow:var(--sg-shadow)}
html[data-skin=bloom] .sg-icon-btn{border-radius:999px;background:var(--sg-card);box-shadow:var(--sg-shadow)}
html[data-skin=bloom] .sg-icon-btn.on,html[data-skin=bloom] .sg-icon-btn:hover{background:var(--bl-lav2);color:var(--sg-accent)}
@media (min-width:992px){html[data-skin=bloom] .sg-main{padding:8px 48px 96px;max-width:1400px}}
html[data-skin=bloom] .sg-tabs{border-top:0;box-shadow:0 -10px 30px -20px rgba(76,29,149,.35)}
html[data-skin=bloom] .sg-tabs a.on{color:var(--sg-accent)}
html[data-skin=bloom] .sg-fab{border-radius:999px;background:linear-gradient(135deg,#8B5CF6,var(--sg-accent))}

/* ---------- cards & breathing room ---------- */
html[data-skin=bloom] .sg-card{border-radius:28px;padding:30px;margin-bottom:var(--bl-gap);box-shadow:var(--sg-shadow)}
@media (max-width:575px){html[data-skin=bloom] .sg-card{padding:22px;border-radius:24px;margin-bottom:20px}}
html[data-skin=bloom] .sg-card-h{margin-bottom:18px}
html[data-skin=bloom] .sg-row{--bs-gutter-x:var(--bl-gap)}
html[data-skin=bloom] .sg-sd{gap:var(--bl-gap)!important}
html[data-skin=bloom] .sg-sd-main,html[data-skin=bloom] .sg-sd-side,html[data-skin=bloom] .sg-sd-row{gap:var(--bl-gap)!important}
html[data-skin=bloom] .sg-sp{gap:var(--bl-gap)!important}

/* ---------- buttons, chips, forms ---------- */
html[data-skin=bloom] .btn{border-radius:999px;padding:.7rem 1.4rem;font-weight:700}
html[data-skin=bloom] .btn-sm{border-radius:999px;padding:.45rem 1rem}
html[data-skin=bloom] .btn-primary,html[data-skin=bloom] .btn-grad{background:linear-gradient(135deg,#8B5CF6,var(--sg-accent));box-shadow:0 10px 22px -12px rgba(var(--sg-accent-rgb),.8)}
html[data-skin=bloom] .btn-primary:hover,html[data-skin=bloom] .btn-grad:hover{filter:brightness(1.06);transform:translateY(-1px)}
html[data-skin=bloom] .btn-outline-secondary{--bs-btn-border-color:transparent;--bs-btn-bg:var(--bl-lav);--bs-btn-color:var(--sg-accent);--bs-btn-hover-bg:var(--bl-lav2);--bs-btn-hover-color:var(--sg-accent);--bs-btn-hover-border-color:transparent;background:var(--bl-lav);color:var(--sg-accent);border-color:transparent}
html[data-skin=bloom] .btn-warning,html[data-skin=bloom] .bl-sun{background:var(--bl-sun2);border:0;color:#2B0B3F}
html[data-skin=bloom] .form-control,html[data-skin=bloom] .form-select{border-radius:16px;background-color:var(--sg-input);border:1.5px solid transparent;min-height:46px}
html[data-skin=bloom] .form-control:focus,html[data-skin=bloom] .form-select:focus{border-color:var(--bl-lav2);box-shadow:0 0 0 4px rgba(var(--sg-accent-rgb),.12);background-color:var(--sg-card)}
html[data-skin=bloom] .form-check-input:checked{background-color:var(--sg-accent);border-color:var(--sg-accent)}
html[data-skin=bloom] .sg-chip,html[data-skin=bloom] .sg-pill,html[data-skin=bloom] .sg-pep-chips button{border-radius:999px;border:1.5px solid var(--sg-line);background:var(--sg-card);font-weight:600}
html[data-skin=bloom] .sg-chip.done,html[data-skin=bloom] .sg-chip.on{background:var(--bl-lav2);border-color:var(--bl-lav2);color:var(--sg-accent)}
html[data-skin=bloom] .sg-seg{border-radius:999px;background:var(--sg-card);box-shadow:var(--sg-shadow);padding:5px;gap:2px}
html[data-skin=bloom] .sg-seg a{border-radius:999px}
html[data-skin=bloom] .sg-seg a.on{background:var(--bl-lav2);color:var(--sg-accent);box-shadow:none}
html[data-skin=bloom] .modal-content{border-radius:28px;border:0}
html[data-skin=bloom] .alert{border-radius:20px;border:0}
html[data-skin=bloom] .sg-alert{border-radius:22px;background:var(--bl-sun)}

/* ---------- Today (Studio dashboard) ---------- */
html[data-skin=bloom] .sg-sd-head{margin-bottom:20px}
html[data-skin=bloom] .sg-sd-quick{gap:10px;margin-bottom:34px}
html[data-skin=bloom] .sg-sd-quick a{border-radius:999px;height:48px;padding:0 18px 0 14px;box-shadow:var(--sg-shadow)}
html[data-skin=bloom] .sg-sd-quick a.hot{background:var(--bl-sun2);color:#2B0B3F!important}
html[data-skin=bloom] .sg-sd-quick a.hot i{color:#2B0B3F}
@media (max-width:991px){html[data-skin=bloom] .sg-sd-quick a{border-radius:22px;height:88px;width:80px;padding:0}}
html[data-skin=bloom] .sg-sd-tile{border-radius:22px}
html[data-skin=bloom] .sg-sd-tile:nth-child(1){background:var(--bl-lav)}
html[data-skin=bloom] .sg-sd-tile:nth-child(2){background:var(--bl-pink)}
html[data-skin=bloom] .sg-sd-tile:nth-child(3){background:var(--bl-sun)}
html[data-skin=bloom] .sg-sd-tile:nth-child(4){background:var(--bl-mint)}
html[data-skin=bloom] .sg-sd-tile .ic{border-radius:16px}
html[data-skin=bloom] .sg-sd-big,html[data-skin=bloom] .sg-stat b,html[data-skin=bloom] .sg-kpis b{font-family:var(--bl-display);font-weight:800}
html[data-skin=bloom] .sg-task{border-radius:20px}
html[data-skin=bloom] .sg-task.now{background:var(--bl-lav)}
html[data-skin=bloom] .sg-task-pic,html[data-skin=bloom] .sg-rthumb{border-radius:50%!important}
html[data-skin=bloom] .sg-ck{border-radius:50%}
html[data-skin=bloom] .sg-travel{background:linear-gradient(140deg,var(--bl-sky),var(--bl-lav))}

/* ---------- Meal plan (Studio) ---------- */
html[data-skin=bloom] .sg-sp-head{margin-bottom:30px}
html[data-skin=bloom] .sg-sp-days{border-radius:28px}
html[data-skin=bloom] .sg-sp-strip a{border-radius:18px}
html[data-skin=bloom] .sg-sp-strip a.on,html[data-skin=bloom] .sg-sp-strip a.sel{background:var(--bl-lav2)!important;color:var(--sg-accent)!important}
html[data-skin=bloom] .sg-sp-meals{gap:22px}
html[data-skin=bloom] .sg-sp-meal{border-radius:26px;box-shadow:var(--sg-shadow);background:var(--sg-card)}
html[data-skin=bloom] .sg-sp-ph img{transition:transform .4s}
html[data-skin=bloom] .sg-sp-meal:hover .sg-sp-ph img{transform:scale(1.04)}
html[data-skin=bloom] .sg-sp-slot{border-radius:999px}
html[data-skin=bloom] .sg-sp-name{font-family:var(--bl-display);font-weight:800;font-size:1.25rem;letter-spacing:-.01em}
html[data-skin=bloom] .sg-sp-actions .btn{background:var(--bl-lav);color:var(--sg-accent)}

/* ---------- Pep & messages ---------- */
html[data-skin=bloom] .sg-pep-head,html[data-skin=bloom] .sg-thread-head{border-radius:28px;background:linear-gradient(120deg,var(--bl-lav),var(--bl-pink))}
html[data-skin=bloom] .sg-pep-msg{border-radius:22px}
html[data-skin=bloom] .sg-pep-msg.pep{background:var(--sg-card)}
html[data-skin=bloom] .sg-pep-msg.me{background:linear-gradient(135deg,#8B5CF6,var(--sg-accent))}
html[data-skin=bloom] .sg-pep-form{border-radius:28px}
html[data-skin=bloom] .sg-pep-card{border-radius:999px;background:var(--bl-lav);border:0;color:var(--sg-accent)}

/* ---------- auth ---------- */
html[data-skin=bloom] .sg-auth{background:radial-gradient(80% 60% at 20% 10%,var(--bl-lav),transparent 60%),radial-gradient(60% 50% at 90% 90%,var(--bl-pink),transparent 60%),var(--sg-bg)}
html[data-skin=bloom] .sg-auth>.sg-card{border-radius:32px;padding:40px}
html[data-skin=bloom] .sg-sd .sg-card,html[data-skin=bloom] .sg-sp .sg-card{margin:0}
html[data-skin=bloom] .sg-sp-strip a.on *,html[data-skin=bloom] .sg-sp-strip a.sel *{color:var(--sg-accent)!important}

/* ---------- "Pop" punch: dark ink actions, chunkier titles, saturated tiles ---------- */
html[data-skin=bloom] .btn-primary,html[data-skin=bloom] .btn-grad{background:var(--bl-ink);box-shadow:0 12px 24px -14px rgba(34,6,47,.9);--bs-btn-bg:var(--bl-ink);--bs-btn-hover-bg:#3A0F58;--bs-btn-active-bg:#3A0F58}
html[data-skin=bloom][data-mode=dark] .btn-primary,html[data-skin=bloom][data-mode=dark] .btn-grad{background:var(--bl-sun2);color:#22062F;--bs-btn-color:#22062F}
html[data-skin=bloom] .sg-fab{background:var(--bl-ink)}
html[data-skin=bloom][data-mode=dark] .sg-fab{background:var(--bl-sun2);color:#22062F}
html[data-skin=bloom] .sg-title,html[data-skin=bloom] .sg-page-title{font-size:2.6rem;line-height:.95}
html[data-skin=bloom] .sg-sd-hello{font-size:3.4rem;line-height:.92}
@media (max-width:991px){html[data-skin=bloom] .sg-sd-hello{font-size:2.5rem}}
html[data-skin=bloom] .sg-card-h h2,html[data-skin=bloom] .sg-card h2{font-size:1.45rem}
html[data-skin=bloom] .sg-sd-big{font-size:3rem}
html[data-skin=bloom] .sg-sd-quick a.hot{background:var(--bl-ink);color:#fff!important}html[data-skin=bloom] .sg-sd-quick a.hot i{color:var(--bl-sun2)}
html[data-skin=bloom] .sg-pep-msg.me{background:var(--bl-ink)}
html[data-skin=bloom] .sg-pep-send{background:var(--bl-ink)}
html[data-skin=bloom] .sg-sp-actions .btn,html[data-skin=bloom] .btn-outline-secondary{font-weight:700}
html[data-skin=bloom] .sg-dot{background:#E11D48}
html[data-skin=bloom] .sg-hero .btn-primary{background:var(--bl-sun2);color:#22062F;--bs-btn-color:#22062F;--bs-btn-hover-color:#22062F;--bs-btn-hover-bg:#FFC93A}
html[data-skin=bloom] .sg-hero{background:var(--bl-ink)}
html[data-skin=bloom] .sg-article h1,html[data-skin=bloom] .sg-post b,html[data-skin=bloom] .sg-rich h2,html[data-skin=bloom] .sg-rich h3,html[data-skin=bloom] .sg-blog-h,html[data-skin=bloom] .sg-refs h2{font-family:var(--bl-display);font-weight:700;letter-spacing:0}
html[data-skin=bloom] .sg-article,html[data-skin=bloom] .sg-post{border-radius:30px}
html[data-skin=bloom] .sg-rich blockquote{background:var(--bl-lav);font-family:var(--bl-display);font-weight:600;font-size:1.3rem;line-height:1.35}
html[data-skin=bloom] .sg-rich blockquote cite{font-family:var(--sg-font)}
html[data-skin=bloom] .sg-cats a.on{background:var(--bl-ink)}
