:root{
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --font-display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

html[data-prjct-theme="distilled"]{
  --bg:#F5FAF9;
  --paper:#FFFFFF;
  --paper-soft:rgba(255,255,255,.86);
  --ink:#11232A;
  --muted:#68787D;
  --soft:#EEF7F5;
  --line:rgba(21,43,48,.10);
  --teal:#138D87;
  --teal-2:#21B7AE;
  --mint:#CBEFEB;
  --blue:#3D7EA6;
  --amber:#B88716;
  --orange:#C56A2A;
  --red:#C74E45;
  --purple:#5B6FD0;
  --green:#2F8F6C;
  --shadow:0 22px 56px rgba(12,37,34,.10);
  --shadow-soft:0 12px 30px rgba(12,37,34,.06);
  --radius:26px;
}

html[data-prjct-theme="distilled"] body,
html[data-prjct-theme="distilled"] button,
html[data-prjct-theme="distilled"] input,
html[data-prjct-theme="distilled"] select,
html[data-prjct-theme="distilled"] textarea{
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

html[data-prjct-theme="distilled"] .app-shell{
  background:
    radial-gradient(circle at 100% 8%, rgba(203,239,235,.55) 0 15%, transparent 16%),
    radial-gradient(circle at 0% 92%, rgba(203,239,235,.4) 0 25%, transparent 28%),
    linear-gradient(180deg,#F9FCFB 0%, #F3FAF8 44%, #EEF7F5 100%);
}

html[data-prjct-theme="distilled"] h1,
html[data-prjct-theme="distilled"] h2,
html[data-prjct-theme="distilled"] h3,
html[data-prjct-theme="distilled"] h4,
html[data-prjct-theme="distilled"] .appbar-title h1,
html[data-prjct-theme="distilled"] .page-head h2,
html[data-prjct-theme="distilled"] .section-title h2,
html[data-prjct-theme="distilled"] .login-card h1,
html[data-prjct-theme="distilled"] .drawer-brand b,
html[data-prjct-theme="distilled"] .splash-title,
html[data-prjct-theme="distilled"] .admin-head h2,
html[data-prjct-theme="distilled"] .v251-group-main h2,
html[data-prjct-theme="distilled"] .home234-hero-copy h2,
html[data-prjct-theme="distilled"] .brand-wordmark{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.035em;
}

html[data-prjct-theme="distilled"] .eyebrow,
html[data-prjct-theme="distilled"] .section-subtitle,
html[data-prjct-theme="distilled"] .v251-group-main span,
html[data-prjct-theme="distilled"] .drawer-inner h4,
html[data-prjct-theme="distilled"] .splash-sub{
  letter-spacing:.18em;
}

html[data-prjct-theme="distilled"] .appbar,
html[data-prjct-theme="distilled"] .card,
html[data-prjct-theme="distilled"] .section-card,
html[data-prjct-theme="distilled"] .drawer-inner,
html[data-prjct-theme="distilled"] .login-card,
html[data-prjct-theme="distilled"] .modal-card,
html[data-prjct-theme="distilled"] .sheet,
html[data-prjct-theme="distilled"] .bottom-sheet,
html[data-prjct-theme="distilled"] .app-bottom-nav{
  background:rgba(255,255,255,.88);
  border-color:rgba(17,35,42,.08);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(18px);
}

html[data-prjct-theme="distilled"] .btn.primary,
html[data-prjct-theme="distilled"] .icon-btn.primary,
html[data-prjct-theme="distilled"] .home234-hero,
html[data-prjct-theme="distilled"] .v251-holding-hero,
html[data-prjct-theme="distilled"] .company-hero,
html[data-prjct-theme="distilled"] .control-hero{
  background:linear-gradient(135deg,#0B6A66 0%, #14948D 52%, #44C6BD 100%);
}

html[data-prjct-theme="distilled"] .btn.soft,
html[data-prjct-theme="distilled"] .chip.soft,
html[data-prjct-theme="distilled"] .soft-accent{
  background:#EDF9F7;
  color:#117B76;
  border-color:#D8ECE8;
}

html[data-prjct-theme="distilled"] .text-link,
html[data-prjct-theme="distilled"] .icon-btn,
html[data-prjct-theme="distilled"] .menu-btn,
html[data-prjct-theme="distilled"] .section-title h2 svg,
html[data-prjct-theme="distilled"] .page-head .eyebrow,
html[data-prjct-theme="distilled"] .brand-accent{
  color:#117B76;
}

html[data-prjct-theme="distilled"] .kpi i,
html[data-prjct-theme="distilled"] .metric-icon,
html[data-prjct-theme="distilled"] .drawer-item em,
html[data-prjct-theme="distilled"] .badge,
html[data-prjct-theme="distilled"] .count-pill,
html[data-prjct-theme="distilled"] .chip,
html[data-prjct-theme="distilled"] .status-pill{
  background:#EDF9F7;
}

html[data-prjct-theme="distilled"] .brand-icon{
  position:relative;
  width:64px;
  height:64px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#FFFFFF 0%, #F6FBFA 100%);
  border:1px solid #DDEBE8;
  box-shadow:0 18px 34px rgba(10,44,45,.08), inset 0 1px 0 rgba(255,255,255,.85);
  overflow:hidden;
}
html[data-prjct-theme="distilled"] .brand-icon.large{width:106px;height:106px;border-radius:30px}
html[data-prjct-theme="distilled"] .brand-icon:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 -14px 22px rgba(17,183,174,.04);
  pointer-events:none;
}
html[data-prjct-theme="distilled"] .brand-mark{
  width:72%;
  height:72%;
  display:block;
}
html[data-prjct-theme="distilled"] .brand-mark path{
  vector-effect:non-scaling-stroke;
}
html[data-prjct-theme="distilled"] .brand-wordmark{
  font-size:1rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}

html[data-prjct-theme="distilled"] .splash-title{font-size:36px;letter-spacing:.22em}
html[data-prjct-theme="distilled"] .login-card h1{font-size:34px;letter-spacing:.14em}
html[data-prjct-theme="distilled"] .appbar-title p,
html[data-prjct-theme="distilled"] .muted,
html[data-prjct-theme="distilled"] .page-head p,
html[data-prjct-theme="distilled"] .section-title small{color:#66777C}

html[data-prjct-theme="distilled"] .icon-btn,.menu-btn{border-color:#DFEBE8}
html[data-prjct-theme="distilled"] .icon-btn.active,.menu-btn.active{background:#EDF9F7;color:#117B76}

html[data-prjct-theme="distilled"] .company-logo,
html[data-prjct-theme="distilled"] .drawer-profile-avatar,
html[data-prjct-theme="distilled"] .project-mark,
html[data-prjct-theme="distilled"] .plan-code,
html[data-prjct-theme="distilled"] .drawer-context-open,
html[data-prjct-theme="distilled"] .home234-hero-mark,
html[data-prjct-theme="distilled"] .v251-group-logo{
  background:linear-gradient(135deg,#0B6A66 0%, #14948D 52%, #44C6BD 100%) !important;
  color:#fff !important;
}

html[data-prjct-theme="distilled"] .app-bottom-nav .active,
html[data-prjct-theme="distilled"] .bottom-nav .active,
html[data-prjct-theme="distilled"] nav .active{
  background:#E8F7F4;
  color:#117B76;
}


/* v264: reference PNG logo + previous typography feel */
html[data-prjct-theme="distilled"] .brand-icon{
  background:linear-gradient(180deg,#FFFFFF 0%,#F7FBFA 100%) !important;
  border:1px solid rgba(15,54,58,.10) !important;
  box-shadow:0 13px 28px rgba(12,37,34,.07), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
html[data-prjct-theme="distilled"] .brand-icon img.brand-mark-img{
  width:73%;
  height:73%;
  object-fit:contain;
  display:block;
  filter:none;
}
html[data-prjct-theme="distilled"] .drawer-brand .brand-icon img.brand-mark-img{width:78%;height:78%;}
html[data-prjct-theme="distilled"] .brand-icon svg{display:none!important;}
html[data-prjct-theme="distilled"] .brand-wordmark,
html[data-prjct-theme="distilled"] .splash-title,
html[data-prjct-theme="distilled"] .login-card h1{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}


/* v277 — Button contrast polish: readable actions, no dark buttons with dark text */
:root{
  --v277-primary-bg:linear-gradient(135deg,#0b6f67 0%,#129286 56%,#26b8aa 100%);
  --v277-primary-fg:#ffffff;
  --v277-primary-border:rgba(9,111,103,.42);
  --v277-primary-shadow:0 12px 26px rgba(9,111,103,.16);
  --v277-soft-bg:rgba(247,252,250,.78);
  --v277-soft-fg:#0e6f68;
  --v277-soft-border:rgba(18,77,73,.10);
}
.btn,
button.btn,
a.btn{
  font-weight:560!important;
  letter-spacing:-.01em!important;
  text-decoration:none!important;
}
.btn.primary,
button.btn.primary,
a.btn.primary,
button.primary.btn,
.v276-create-grid .btn.primary,
.migration238-actions .btn.primary,
.admin-card .btn.primary,
.admin-update-card .btn.primary{
  background:var(--v277-primary-bg)!important;
  color:var(--v277-primary-fg)!important;
  border-color:var(--v277-primary-border)!important;
  box-shadow:var(--v277-primary-shadow)!important;
  text-shadow:none!important;
}
.btn.primary *,
button.btn.primary *,
a.btn.primary *,
.btn.primary svg,
button.btn.primary svg,
a.btn.primary svg{
  color:var(--v277-primary-fg)!important;
  stroke:currentColor!important;
}
.btn.primary:disabled,
button.btn.primary:disabled,
.btn.primary[disabled],
button.btn.primary[disabled],
.btn.primary.disabled,
button.btn.primary.disabled{
  background:rgba(233,248,245,.72)!important;
  color:rgba(54,75,77,.52)!important;
  border-color:rgba(18,77,73,.07)!important;
  box-shadow:none!important;
  opacity:1!important;
}
.btn.primary:disabled *,
button.btn.primary:disabled *,
.btn.primary[disabled] *,
button.btn.primary[disabled] *{
  color:rgba(54,75,77,.52)!important;
}
.btn.soft,
button.btn.soft,
a.btn.soft,
.btn:not(.primary):not(.danger):not(.danger-soft),
button.btn:not(.primary):not(.danger):not(.danger-soft){
  background:var(--v277-soft-bg)!important;
  color:var(--v277-soft-fg)!important;
  border-color:var(--v277-soft-border)!important;
  box-shadow:0 8px 18px rgba(14,43,39,.035)!important;
}
.btn.danger,
button.btn.danger{color:#b44738!important;background:#fff5f2!important;border-color:rgba(180,71,56,.18)!important}
input[type="file"]{
  color:rgba(46,62,65,.82)!important;
  font-size:14px!important;
}
input[type="file"]::file-selector-button{
  min-height:38px;
  margin-right:10px;
  padding:0 14px;
  border:1px solid rgba(18,77,73,.10);
  border-radius:15px;
  background:rgba(247,252,250,.82);
  color:#0e6f68;
  font:inherit;
  font-weight:560;
  box-shadow:0 6px 14px rgba(14,43,39,.026);
}
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid rgba(18,146,134,.28)!important;
  outline-offset:2px!important;
}


/* v279 — hard guarantee: readable primary buttons */
.btn.primary,
button.btn.primary,
a.btn.primary,
input[type="button"].primary,
input[type="submit"].primary,
html[data-prjct-theme="distilled"] .btn.primary,
html[data-prjct-theme="distilled"] button.btn.primary,
html[data-prjct-theme="distilled"] a.btn.primary{
  background:linear-gradient(135deg,#075f59 0%,#108f86 52%,#19b5ab 100%)!important;
  color:#fff!important;
  border-color:rgba(6,94,88,.88)!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#fff!important;
}
.btn.primary *,
button.btn.primary *,
a.btn.primary *,
.btn.primary span,
.btn.primary b,
.btn.primary strong,
.btn.primary small,
.btn.primary svg,
button.btn.primary svg,
a.btn.primary svg,
html[data-prjct-theme="distilled"] .btn.primary *,
html[data-prjct-theme="distilled"] button.btn.primary *{
  color:#fff!important;
  fill:none!important;
  stroke:currentColor!important;
  -webkit-text-fill-color:#fff!important;
}
.btn.primary:disabled,
button.btn.primary:disabled,
.btn.primary[disabled],
button.btn.primary[disabled],
.btn.primary.disabled,
button.btn.primary.disabled{
  background:rgba(231,247,243,.86)!important;
  color:rgba(9,94,88,.54)!important;
  -webkit-text-fill-color:rgba(9,94,88,.54)!important;
  border-color:rgba(9,94,88,.09)!important;
  box-shadow:none!important;
  opacity:1!important;
}
.btn.primary:disabled *,
button.btn.primary:disabled *,
.btn.primary[disabled] *,
button.btn.primary[disabled] *{
  color:rgba(9,94,88,.54)!important;
  -webkit-text-fill-color:rgba(9,94,88,.54)!important;
}
.v278-init-loader{
  position:fixed;
  left:50%;
  bottom:calc(94px + env(safe-area-inset-bottom,0px));
  transform:translateX(-50%) translateY(18px);
  display:flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(10,77,72,.08);
  box-shadow:0 12px 28px rgba(10,33,31,.06);
  color:#0c6f68;
  font-size:13px;
  font-weight:650;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  z-index:90;
  backdrop-filter:blur(14px);
}
.v278-init-loader span{
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid rgba(12,111,104,.16);
  border-top-color:#0c6f68;
  animation:spin .9s linear infinite;
}
body.initiatives-loading .v278-init-loader{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
