@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root,
html[data-accent],
html[data-theme="light"] {
  --df-primary:#128a58;
  --df-primary-rgb:18,138,88;
  --df-primary-2:#24b978;
  --df-primary-soft:rgba(18,138,88,.11);
  --accent:#128a58;
  --aio-code:#0d7b4c;
}

[data-bs-theme="dark"],
html[data-theme="dark"] {
  --df-primary:#35d08b;
  --df-primary-rgb:53,208,139;
  --df-primary-2:#71e6b0;
  --df-primary-soft:rgba(53,208,139,.14);
  --accent:#35d08b;
  --aio-code:#70e2ad;
}

html[data-accent="sapphire"] {
  --df-primary:#155eef;--df-primary-rgb:21,94,239;--df-primary-2:#22b8cf;--df-primary-soft:rgba(21,94,239,.11);--accent:#155eef;--aio-code:#155eef;
  --bs-primary:#155eef;--bs-primary-rgb:21,94,239;--bs-link-color:#155eef;--bs-link-color-rgb:21,94,239;--bs-link-hover-color:#1049bd;--bs-link-hover-color-rgb:16,73,189;--bs-focus-ring-color:rgba(21,94,239,.25);
}
html[data-accent="violet"] {
  --df-primary:#6938ef;--df-primary-rgb:105,56,239;--df-primary-2:#b46cff;--df-primary-soft:rgba(105,56,239,.11);--accent:#6938ef;--aio-code:#6938ef;
  --bs-primary:#6938ef;--bs-primary-rgb:105,56,239;--bs-link-color:#6938ef;--bs-link-color-rgb:105,56,239;--bs-link-hover-color:#5125c7;--bs-link-hover-color-rgb:81,37,199;--bs-focus-ring-color:rgba(105,56,239,.25);
}
html[data-accent="teal"] {
  --df-primary:#087e8b;--df-primary-rgb:8,126,139;--df-primary-2:#21c7a8;--df-primary-soft:rgba(8,126,139,.11);--accent:#087e8b;--aio-code:#087e8b;
  --bs-primary:#087e8b;--bs-primary-rgb:8,126,139;--bs-link-color:#087e8b;--bs-link-color-rgb:8,126,139;--bs-link-hover-color:#05616c;--bs-link-hover-color-rgb:5,97,108;--bs-focus-ring-color:rgba(8,126,139,.25);
}

html[data-accent="sapphire"] .af-page{--primary:#155eef;--primary-2:#22b8cf;--primary-soft:#eaf1ff;--success:#0e9f8a}
html[data-accent="violet"] .af-page{--primary:#6938ef;--primary-2:#b46cff;--primary-soft:#f1edff;--success:#12a67a}
html[data-accent="teal"] .af-page{--primary:#087e8b;--primary-2:#21c7a8;--primary-soft:#e5f7f6;--success:#139d78}
html[data-theme="dark"][data-accent="sapphire"] .af-page{--primary:#4f8cff;--primary-2:#45d1df;--primary-soft:#122b59}
html[data-theme="dark"][data-accent="violet"] .af-page{--primary:#9b7bff;--primary-2:#d29aff;--primary-soft:#2d1f54}
html[data-theme="dark"][data-accent="teal"] .af-page{--primary:#35c4cf;--primary-2:#55dfbd;--primary-soft:#123f43}

body,.af-page,button,input,select,textarea{font-family:"Manrope","Segoe UI",Arial,sans-serif}

/* Keep the product mark consistent with the green product palette. */
img[src*="aiflowarch-mark"],
img[src*="aiflowarch-lockup"],
img[src*="aiflowarch-wordmark"] {
  filter:drop-shadow(0 8px 16px rgba(18,138,88,.16));
}

/* One calm, recognisable logo motion across public, authentication and application surfaces. */
img[src*="aiflowarch-mark"] {
  transform-origin:center;
  animation:aio-logo-breathe 3.6s ease-in-out infinite;
}
.brand-mark,
.auth-brand>span,
.admin-brand>span,
.admin-login-brand>span,
.af-mini-brand>img,
.af-footer .af-brand>img {
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(18,138,88,.22),0 0 0 6px rgba(18,138,88,.06),0 0 22px rgba(18,138,88,.18);
}
@keyframes aio-logo-breathe {
  0%,100% {transform:scale(.97);filter:drop-shadow(0 5px 10px rgba(18,138,88,.2))}
  50% {transform:scale(1.035);filter:drop-shadow(0 0 12px rgba(53,208,139,.62))}
}

/* Shared application shell and authentication. */
.brand-mark,.user-chip .avatar,.loader-mark,.page-loader-mark {
  background:linear-gradient(135deg,#0f8452,#32c887)!important;
  box-shadow:0 12px 30px rgba(18,138,88,.25)!important;
}
.side-nav .nav-item.active i,.nav-badge,.btn-link,.eyebrow {color:var(--df-primary)!important}
.nav-badge{background:rgba(var(--df-primary-rgb),.16)!important}
.source-icon,.metric-icon.cyan{background:rgba(18,138,88,.11)!important;color:#128a58!important}
.showcase-content h1 span,.password-meter>span.active{
  background:linear-gradient(100deg,#58df9f,#b0f1d0)!important;
  -webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent;
}
.auth-showcase,.auth-brand-panel{
  background:radial-gradient(circle at 75% 25%,rgba(21,177,109,.22),transparent 34%),radial-gradient(circle at 8% 80%,rgba(69,211,151,.1),transparent 34%),linear-gradient(145deg,#071710,#0b2017 48%,#0d2b1e 100%)!important;
}
.ambient-two{background:radial-gradient(circle,rgba(45,207,139,.14),transparent 68%)!important}

/* Management console keeps its dark enterprise surface with green identity. */
.admin-body{background:#07110c}.admin-sidebar{background:linear-gradient(180deg,#0a1710,#07110c)}
.admin-topbar{background:rgba(7,17,12,.88)}.admin-panel{background:#0a1710}
.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:rgba(45,201,132,.13)!important}
.admin-side-foot i,.admin-metric>i,.admin-empty>i,.admin-security-grid i{color:#43d694!important}
.admin-login-body{background:#050d09}.admin-login-form-panel{background:linear-gradient(160deg,#091710,#050d09)!important}
.admin-login-brand-panel{background:radial-gradient(circle at 15% 15%,rgba(31,190,121,.24),transparent 31%),radial-gradient(circle at 85% 78%,rgba(73,219,158,.12),transparent 34%),linear-gradient(145deg,#07150e,#050d09 66%)!important}
.admin-login-card{background:rgba(9,23,16,.91)!important}.admin-login-icon{background:rgba(53,208,139,.13)!important;color:#56dca0!important}
.admin-login-card:before{background:linear-gradient(135deg,rgba(53,208,139,.48),transparent 38%,rgba(113,230,176,.24))!important}

/* Public landing page. */
.af-page{
  --primary:#128a58;
  --primary-2:#35d08b;
  --primary-soft:#e7f7ef;
  --dark:#061b12;
  --success:#19a66d;
}
html[data-theme=dark] .af-page,
html[data-theme=dark]{
  --primary:#35d08b;
  --primary-2:#79e7b6;
  --primary-soft:#0e3525;
  --dark:#020d08;
  --success:#57dca0;
}
.af-button-primary{background:linear-gradient(120deg,var(--primary),color-mix(in srgb,var(--primary) 68%,var(--primary-2)) 62%,var(--primary-2))!important;box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 25%,transparent)!important}
.af-button-primary:hover{box-shadow:0 16px 40px color-mix(in srgb,var(--primary) 34%,transparent)!important}
.af-tour-section{background:color-mix(in srgb,var(--primary) 12%,#04110b)!important}.af-tour-step:hover,.af-tour-step.active{background:color-mix(in srgb,var(--primary) 27%,#071d14)!important;border-color:var(--primary-2)!important}
.af-tour-window,.af-showcase-shell{border-color:#245b43!important;background:#071d14!important}
.af-tour-window-bar,.af-studio-steps{background:#0a2a1d!important;border-color:#1e543d!important}
.af-dashboard-mock aside,.af-showcase-sidebar{background:#04130d!important;border-color:#174832!important}
.af-dashboard-content,.af-showcase-main{background:radial-gradient(circle at 90% 0,#145638 0,transparent 35%),#082219!important}
.af-dashboard-mock aside>span.selected,.af-showcase-sidebar>span.active{background:linear-gradient(90deg,#14663f,#0c3524)!important}
.af-dash-stats>span,.af-dash-panel,.af-config-card,.af-insight-column>article{background:#0a2b1e!important;border-color:#1d5b40!important}
.af-data-icon.blue,.af-status-pill{background:#155e3d!important;color:#75e0ad!important}
.af-chart>span{background:linear-gradient(#35d08b,#16764c)!important}.af-chart>span:nth-child(8){background:linear-gradient(#8ceac0,#24a96d)!important}
.af-showcase-tabs button.active,.af-showcase-tabs button:hover{border-color:var(--primary)!important}
.af-check-grid>span.checked{border-color:#2d9a68!important;background:#0c402b!important;color:#68dda7!important}
.af-config-card>button{background:linear-gradient(90deg,var(--primary),var(--primary-2))!important}
.af-leadership-statements article.featured{background:linear-gradient(135deg,#061b12,#0c462f)!important;border-color:#24714e!important}
.af-contact{background:#061b12!important}.af-contact-glow{background:#19a66d!important}.af-contact-card{background:linear-gradient(145deg,#0d3f2a,#071d14)!important;border-color:#276a4c!important}
.af-float-icon.purple,.af-architecture-card.build .af-arch-number{color:#15945d!important;background:#e8f8f0!important}

/* Bootstrap semantic primary follows the product brand without changing warning/error semantics. */
:root{
  --bs-primary:#128a58;
  --bs-primary-rgb:18,138,88;
  --bs-link-color:#128a58;
  --bs-link-color-rgb:18,138,88;
  --bs-link-hover-color:#0b6840;
  --bs-link-hover-color-rgb:11,104,64;
  --bs-focus-ring-color:rgba(18,138,88,.25);
}

@media(prefers-reduced-motion:reduce){img[src*="aiflowarch"]{transition:none!important;animation:none!important}}
