/* Filantropy AI v0.5.46 — reference-inspired design system.
   Scoped to the installed Joomla module and its body-mounted chat portal.
   No changes to Joomla routing, payment fields, backend contract or site menu. */
.fil-ai {
  --fai-ink:#072a29;
  --fai-green:#003c35;
  --fai-deep:#003c35;
  --fai-muted:#6c7a7b;
  --fai-line:#e0e9e7;
  --fai-mint:#e0f4eb;
  --fai-soft:#f7faf8;
  --fai-glass:rgba(255,255,255,.95);
  --fai-radius:20px;
  color:var(--fai-ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px;
}
.fil-ai button,.fil-ai input,.fil-ai textarea,.fil-ai select {font-family:inherit}
.fil-ai :where(button,input,select,textarea,a):focus-visible {outline:3px solid #4ab696;outline-offset:3px}

/* Standalone donation landing page: same warm, botanical, glassy theme. */
.fil-ai .fil-ai__site {max-width:1340px;padding:65px clamp(18px,4vw,60px) 75px;margin-inline:auto}
.fil-ai .fil-ai__hero {gap:clamp(28px,4vw,70px)}
.fil-ai .fil-ai__eyebrow {background:#e0f4eb;color:#164d44;border:1px solid #d1e9df;font-size:12px;border-radius:100px;padding:9px 15px}
.fil-ai .fil-ai__headline h1 {color:#072a29;font-weight:700;letter-spacing:-.06em}
.fil-ai .fil-ai__headline h1 em {color:#277b64}
.fil-ai .fil-ai__headline p {color:var(--fai-muted);font-size:16px}
.fil-ai .fil-ai__primary,.fil-ai .fil-ai__outline {border-radius:14px;min-height:47px;font-size:14px;transition:transform .16s,box-shadow .16s,background .16s}
.fil-ai .fil-ai__primary {background:#003c35;color:white;border-color:#003c35}
.fil-ai .fil-ai__primary:hover {background:#145e53;box-shadow:0 8px 22px #003c352c;transform:translateY(-1px)}
.fil-ai .fil-ai__outline {background:#fff;color:#003c35;border-color:#d9e6e1}
.fil-ai .fil-ai__outline:hover {background:#edf8f2;transform:translateY(-1px)}
.fil-ai .fil-ai__visual {background:radial-gradient(ellipse at 90% 18%,#dcebd7 0,transparent 35%),linear-gradient(135deg,#bfe1cd,#8db8a5 55%,#548978);border-radius:28px;box-shadow:0 22px 50px #194c3620}
.fil-ai .fil-ai__floating {border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 14px 38px #184c3622}
.fil-ai .fil-ai__floating strong {font-size:14px;color:#072a29}
.fil-ai .fil-ai__floating small {font-size:13px;color:#687977}
.fil-ai .fil-ai__methods {gap:16px;margin-top:40px}
.fil-ai .fil-ai__method {border:1px solid #e0e9e7;border-radius:23px;padding:21px;min-height:165px;background:linear-gradient(140deg,#ffffffee,#f9fcfa);box-shadow:0 4px 26px #345e4a0b;transition:transform .18s,box-shadow .18s,border-color .18s}
.fil-ai .fil-ai__method:hover {transform:translateY(-3px);border-color:#bfd7cf;box-shadow:0 14px 34px #244d4020}
.fil-ai .fil-ai__method--active {background:linear-gradient(135deg,#f2f9f5,#e9f6ee);border-color:#c2e2d4}
.fil-ai .fil-ai__method>i {display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e0f4eb;color:#124e40;font-size:22px}
.fil-ai .fil-ai__method:nth-child(2)>i {background:#faebea;color:#bf393e}
.fil-ai .fil-ai__method:nth-child(3)>i {background:#e2f2f9;color:#174869}
.fil-ai .fil-ai__method:nth-child(4)>i {background:#eee9fb;color:#2e4d76}
.fil-ai .fil-ai__method h3 {font-size:16px;margin:14px 0 5px;color:#072a29}
.fil-ai .fil-ai__method p {font-size:14px;line-height:1.55;color:#6c7a7b}

/* Floating launcher */
.fil-ai__portal > .fil-ai__launcher {border-radius:40px;padding:13px 17px;background:linear-gradient(145deg,#145e53,#003c35);box-shadow:0 16px 36px #003c3545;color:#fff}
.fil-ai__portal > .fil-ai__launcher:hover {background:#145e53}
.fil-ai__portal > .fil-ai__launcher span {font-size:14px}
.fil-ai__portal > .fil-ai__launcher small {font-size:12px}

/* Reference: softly translucent rounded AI window rather than a dark toolbar. */
.fil-ai.fil-ai__portal > .fil-ai__widget {width:min(780px,calc(100vw - 40px));height:min(790px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);right:20px;bottom:16px;border:1px solid rgba(255,255,255,.9);border-radius:27px;background:rgba(255,255,255,.97);box-shadow:0 24px 65px #1e343029;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#072a29;isolation:isolate}
.fil-ai.fil-ai__portal .fil-ai__whead {background:linear-gradient(112deg,#e0ebe6 0%,#f2e6df 44%,#eaf4f0 100%);border-bottom:1px solid #fff;color:#072a29;min-height:83px;padding:15px 23px;gap:14px}
.fil-ai.fil-ai__portal .fil-ai__botidentity {gap:13px;flex:1;min-width:0}
.fil-ai.fil-ai__portal .fil-ai__boticon {background:linear-gradient(140deg,#54867a,#004b43 90%);color:#fff;border:1px solid #ffffff7d;width:53px;height:53px;border-radius:15px;box-shadow:0 6px 15px #003d361f;font-size:21px}
.fil-ai.fil-ai__portal .fil-ai__botidentity strong {font-size:22px;font-weight:700;letter-spacing:-.035em;color:#072a29;line-height:1.3}
.fil-ai.fil-ai__portal .fil-ai__wtools {gap:5px}
.fil-ai.fil-ai__portal .fil-ai__icon-btn {width:42px;height:42px;min-height:42px;border-radius:13px;background:transparent;color:#072a29;font-size:17px}
.fil-ai.fil-ai__portal .fil-ai__icon-btn:hover {background:#d6e8e3;color:#003c35}
.fil-ai.fil-ai__portal .fil-ai__panels {background:#fff}
.fil-ai.fil-ai__portal .fil-ai__thread {padding:18px 24px 22px;scrollbar-color:#bbcbc6 transparent;display:flex;flex-direction:column;gap:12px}
.fil-ai.fil-ai__portal .fil-ai__scroll {padding:21px 25px 28px;scrollbar-color:#bbcbc6 transparent}
.fil-ai.fil-ai__portal .fil-ai__scroll h2 {font-size:23px;letter-spacing:-.04em;color:#072a29;font-weight:700}
.fil-ai.fil-ai__portal .fil-ai__sub {font-size:14px;color:#6c7a7b}

/* First conversation panel: exact 4-card information hierarchy from the supplied reference. */
.fil-ai.fil-ai__portal .fil-ai__welcome {position:relative;flex:0 0 auto;overflow:hidden;isolation:isolate;min-height:244px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 20px;border:1px solid #eff6ec;border-radius:28px;background:radial-gradient(ellipse at 94% 23%,#d5e1bc9e,transparent 35%),radial-gradient(ellipse at 4% 88%,#c5d8b6a3,transparent 38%),radial-gradient(circle at 47% 49%,#f7f9ed,#edf5ec 52%,#f2f7ef 82%)}
.fil-ai.fil-ai__portal .fil-ai__welcome:before,.fil-ai.fil-ai__portal .fil-ai__welcome:after {content:"";position:absolute;width:490px;height:310px;border:1px solid #ffffffa8;border-radius:50%;z-index:-1;pointer-events:none;transform:rotate(15deg)}
.fil-ai.fil-ai__portal .fil-ai__welcome:before {left:-290px;top:30px}
.fil-ai.fil-ai__portal .fil-ai__welcome:after {right:-285px;top:-210px;transform:rotate(-24deg)}
.fil-ai.fil-ai__portal .fil-ai__welcome-art {position:relative;margin-bottom:10px}
.fil-ai.fil-ai__portal .fil-ai__welcome-icon {width:98px;height:98px;display:grid;place-items:center;border:1px solid #fff;border-radius:50%;background:radial-gradient(circle at 40% 40%,#f4fff6,#ecf6ea 70%,#fcfff8);box-shadow:0 0 44px #ffffffe0,inset 0 0 19px #ffffffa8;color:#005347;font-size:38px}
.fil-ai.fil-ai__portal .fil-ai__welcome-art:before,.fil-ai.fil-ai__portal .fil-ai__welcome-art:after {content:"✦";position:absolute;color:#347e65;right:-25px;top:4px;font-size:21px}
.fil-ai.fil-ai__portal .fil-ai__welcome-art:after {right:-39px;top:39px;font-size:14px}
.fil-ai.fil-ai__portal .fil-ai__hero-leaf {position:absolute;right:-184px;top:-5px;width:70px;height:130px;transform:rotate(34deg);filter:blur(5px);opacity:.3;background:linear-gradient(115deg,#6e9e74,#cfdb9f);border-radius:5% 95% 10% 90%}
.fil-ai.fil-ai__portal .fil-ai__welcome h2 {margin:5px 0 6px;color:#072a29;font-size:clamp(23px,3vw,30px);font-weight:700;letter-spacing:-.045em;line-height:1.17}
.fil-ai.fil-ai__portal .fil-ai__welcome p {max-width:530px;margin:0;color:#6c7a7b;font-size:15px;line-height:1.5}
.fil-ai.fil-ai__portal .fil-ai__suggestions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:0 0 auto;margin:0 0 4px}
.fil-ai.fil-ai__portal .fil-ai__suggestions button {display:flex;align-items:center;gap:15px;min-height:99px;text-align:left;padding:13px 17px;border:1px solid #dfe9e4;border-radius:23px;background:linear-gradient(140deg,#ffffffed,#fafdfbad 90%);box-shadow:0 4px 25px #d7e4dd26;color:#072a29;transition:transform .18s,box-shadow .18s,border-color .18s}
.fil-ai.fil-ai__portal .fil-ai__suggestions button:hover {transform:translateY(-2px);border-color:#b8d3c7;box-shadow:0 8px 25px #6e8b7f22;background:#fff}
.fil-ai.fil-ai__portal .fil-ai__suggestion-icon {width:61px;height:61px;flex:0 0 61px;display:grid;place-items:center;border-radius:50%;font-size:24px}
.fil-ai.fil-ai__portal .fil-ai__suggestion-icon--mint {background:#e0f4eb;color:#124e40}
.fil-ai.fil-ai__portal .fil-ai__suggestion-icon--pink {background:#faebea;color:#d03138}
.fil-ai.fil-ai__portal .fil-ai__suggestion-icon--blue {background:#e2f2f9;color:#174869}
.fil-ai.fil-ai__portal .fil-ai__suggestion-icon--lilac {background:#eee9fb;color:#2e4d76}
.fil-ai.fil-ai__portal .fil-ai__suggestion-label {font-size:18px;font-weight:700;line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere}
.fil-ai.fil-ai__portal .fil-ai__suggestion-arrow {margin-left:auto;font-size:15px;color:#496363}

/* The reference keeps the first view focused on four actions and the composer.
   Advanced shortcuts return once the first chat message is sent. */
.fil-ai.fil-ai__portal .fil-ai__pane:has(.fil-ai__welcome) > .fil-ai__quickbar {display:none}

/* Composer and post-welcome short actions. */
.fil-ai.fil-ai__portal .fil-ai__quickbar {background:#fff;border-top:1px solid #ecf1ee;border-bottom:0;padding:11px 22px 5px;gap:9px}
.fil-ai.fil-ai__portal .fil-ai__quickbar button {border:1px solid #dbe9df;border-radius:13px;background:#f7faf8;color:#0d4c40;min-height:43px;font-weight:650;font-size:14px}
.fil-ai.fil-ai__portal .fil-ai__quickbar button:hover {background:#e7f5ef;border-color:#b6d8ca}
.fil-ai.fil-ai__portal .fil-ai__composer {background:#fff;border-top:1px solid #e1e8e5;padding:13px 22px 17px}
.fil-ai.fil-ai__portal .fil-ai__composebox {display:flex;align-items:center;min-height:67px;border:1.5px solid #ccd8d8;border-radius:20px;padding:8px 9px 8px 17px;background:#fff;box-shadow:inset 0 0 0 1px #eef1f0;gap:10px}
.fil-ai.fil-ai__portal .fil-ai__composebox:focus-within {border-color:#5e9f91}
.fil-ai.fil-ai__portal .fil-ai__composebox textarea {color:#072a29;background:transparent;min-height:42px;line-height:1.55;font-size:16px;max-height:125px}
.fil-ai.fil-ai__portal .fil-ai__composebox textarea::placeholder {color:#a4a7ae}
.fil-ai.fil-ai__portal .fil-ai__send {flex:0 0 51px;width:51px;min-height:51px;height:51px;background:linear-gradient(150deg,#145e53,#003c37);border-radius:14px;color:#fff;box-shadow:0 4px 10px #00392f20;font-size:21px}
.fil-ai.fil-ai__portal .fil-ai__send:hover:not(:disabled){background:#145e53}
.fil-ai.fil-ai__portal .fil-ai__compose-note {display:none}

/* Conversation, rankings, source-backed cards, and workspace tools. */
.fil-ai.fil-ai__portal .fil-ai__message {max-width:88%;margin-block:3px;gap:10px}
.fil-ai.fil-ai__portal .fil-ai__bubble {border-radius:19px;padding:13px 16px;color:#072a29;line-height:1.6;background:#f7faf8;border:1px solid #e5eeea;box-shadow:none}
.fil-ai.fil-ai__portal .fil-ai__message--user .fil-ai__bubble {background:#e8f4ee;border-color:#e8f4ee;border-bottom-right-radius:7px}
.fil-ai.fil-ai__portal .fil-ai__message--bot .fil-ai__bubble {border-bottom-left-radius:7px}
.fil-ai.fil-ai__portal .fil-ai__message-avatar {width:33px;height:33px;flex:0 0 33px;border-radius:11px;background:#e0f4eb;color:#124e40}
.fil-ai.fil-ai__portal .fil-ai__card,.fil-ai.fil-ai__portal .fil-ai__ranking-card,.fil-ai.fil-ai__portal .fil-ai__activity-row,.fil-ai.fil-ai__portal .fil-ai__plan-row {background:#fff;border:1px solid #e0e9e7;border-radius:15px;box-shadow:0 4px 20px #d7e4dd1c}
.fil-ai.fil-ai__portal .fil-ai__ranking-card {padding:12px 14px}
.fil-ai.fil-ai__portal .fil-ai__rank-compare-track {background:#e8f2ed}
.fil-ai.fil-ai__portal .fil-ai__rank-compare-bar {background:linear-gradient(90deg,#54867a,#003c35)}
.fil-ai.fil-ai__portal .fil-ai__ranking-more,.fil-ai.fil-ai__portal .fil-ai__causes-more {border-radius:12px;background:#e8f4ee;color:#0d4c40;border-color:#c4e1d2}
.fil-ai.fil-ai__portal .fil-ai__small,.fil-ai.fil-ai__portal .fil-ai__filter,.fil-ai.fil-ai__portal .fil-ai__shortcuts button,.fil-ai.fil-ai__portal .fil-ai__checkout {border-radius:12px;transition:background .18s,border-color .18s,transform .18s}
.fil-ai.fil-ai__portal .fil-ai__small:hover,.fil-ai.fil-ai__portal .fil-ai__filter:hover {transform:translateY(-1px)}
.fil-ai.fil-ai__portal :where(input:not([type="checkbox"]),select,textarea) {accent-color:#145e53}
.fil-ai.fil-ai__portal .fil-ai__field-label {font-size:14px;color:#244b40}
.fil-ai.fil-ai__portal .fil-ai__budget,.fil-ai.fil-ai__portal .fil-ai__search,.fil-ai.fil-ai__portal .fil-ai__scroll select,.fil-ai.fil-ai__portal .fil-ai__checkout-input {border-radius:13px;border-color:#d7e6df}
.fil-ai.fil-ai__portal .fil-ai__workspace-closebar .fil-ai__panel-close,.fil-ai.fil-ai__portal .fil-ai__panel-bottom-close {border-radius:12px;background:#f6faf8;color:#234d42;border:1px solid #dce9e2}
.fil-ai.fil-ai__portal .fil-ai__workspace-closebar .fil-ai__panel-close:hover,.fil-ai.fil-ai__portal .fil-ai__panel-bottom-close:hover {background:#e5f4ec}
.fil-ai.fil-ai__portal .fil-ai__key-panel,.fil-ai.fil-ai__portal .fil-ai__review {border-radius:24px;box-shadow:0 24px 65px #1e34303d}
.fil-ai.fil-ai__portal .fil-ai__key-panel input {border-radius:13px;min-height:46px}
.fil-ai.fil-ai__portal .fil-ai__toast {border-radius:13px}

/* Preserve one-screen experience on small devices without undersized labels. */
@media(max-width:850px){
  .fil-ai .fil-ai__site {padding:48px 23px}
  .fil-ai .fil-ai__methods {grid-template-columns:repeat(2,minmax(0,1fr))}
  .fil-ai.fil-ai__portal > .fil-ai__widget {width:min(620px,calc(100vw - 28px))}
}
@media(max-width:768px){
  .fil-ai.fil-ai__portal > .fil-ai__widget {inset:0;width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  .fil-ai.fil-ai__portal .fil-ai__whead {min-height:71px;padding:10px 15px}
  .fil-ai.fil-ai__portal .fil-ai__boticon {width:43px;height:43px;border-radius:12px;font-size:18px}
  .fil-ai.fil-ai__portal .fil-ai__botidentity strong {font-size:17px;letter-spacing:-.025em}
  .fil-ai.fil-ai__portal .fil-ai__icon-btn {width:37px;height:37px;min-height:37px;font-size:15px}
  .fil-ai.fil-ai__portal .fil-ai__thread {padding:14px;gap:9px}
  .fil-ai.fil-ai__portal .fil-ai__welcome {min-height:200px;border-radius:21px;padding:14px}
  .fil-ai.fil-ai__portal .fil-ai__welcome-icon {width:74px;height:74px;font-size:28px}
  .fil-ai.fil-ai__portal .fil-ai__welcome h2 {font-size:21px}
  .fil-ai.fil-ai__portal .fil-ai__welcome p {font-size:14px}
  .fil-ai.fil-ai__portal .fil-ai__suggestions {gap:9px}
  .fil-ai.fil-ai__portal .fil-ai__suggestions button {min-height:88px;gap:10px;padding:10px;border-radius:16px}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-icon {width:42px;height:42px;flex-basis:42px;font-size:18px}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-label {font-size:14px;letter-spacing:-.015em}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-arrow {font-size:11px}
  .fil-ai.fil-ai__portal .fil-ai__quickbar {padding:8px 9px 3px;gap:5px}
  .fil-ai.fil-ai__portal .fil-ai__quickbar button {font-size:14px;white-space:normal;min-height:42px}
  .fil-ai.fil-ai__portal .fil-ai__composer {padding:9px 12px 13px}
  .fil-ai.fil-ai__portal .fil-ai__composebox {min-height:59px;border-radius:15px;padding:5px 7px 5px 13px}
  .fil-ai.fil-ai__portal .fil-ai__composebox textarea {min-height:38px;font-size:15px}
  .fil-ai.fil-ai__portal .fil-ai__send {flex-basis:46px;width:46px;height:46px;min-height:46px;border-radius:12px}
}
@media(max-width:520px){
  .fil-ai .fil-ai__hero {grid-template-columns:1fr}
  .fil-ai .fil-ai__visual {min-height:255px}
  .fil-ai .fil-ai__methods {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fil-ai .fil-ai__method {padding:13px;border-radius:16px;min-height:155px}
  .fil-ai .fil-ai__method>i {width:42px;height:42px;font-size:17px}
  .fil-ai .fil-ai__method h3 {font-size:14px}
  .fil-ai .fil-ai__method p {font-size:14px}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-icon {width:35px;height:35px;flex-basis:35px;font-size:16px}
  .fil-ai.fil-ai__portal .fil-ai__suggestions button {gap:7px;padding:9px 8px}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-arrow {display:none}
  .fil-ai.fil-ai__portal .fil-ai__message {max-width:96%}
}
@media(max-height:650px){
  .fil-ai.fil-ai__portal .fil-ai__welcome {min-height:164px}
  .fil-ai.fil-ai__portal .fil-ai__welcome-icon {width:54px;height:54px;font-size:23px}
  .fil-ai.fil-ai__portal .fil-ai__welcome h2 {font-size:19px}
  .fil-ai.fil-ai__portal .fil-ai__suggestions button {min-height:68px}
}
@media(prefers-reduced-motion:reduce){
  .fil-ai.fil-ai__portal .fil-ai__suggestions button,.fil-ai .fil-ai__method,.fil-ai .fil-ai__primary {transition:none}
}
/* Consistent legible body text across saved plans, discovery, booking and receipts. */
.fil-ai.fil-ai__portal :where(
 .fil-ai__filter,.fil-ai__card-meta,.fil-ai__card-description,.fil-ai__card-stats,
 .fil-ai__empty,.fil-ai__small,.fil-ai__shortcuts button,.fil-ai__scroll select,
 .fil-ai__plan-head,.fil-ai__plan-head strong,.fil-ai__plan-name,.fil-ai__plan-controls input,
 .fil-ai__summary>div,.fil-ai__checkout,.fil-ai__hint,.fil-ai__activity-title,
 .fil-ai__activity-row,.fil-ai__activity-row span,.fil-ai__activity-row small,
 .fil-ai__review-line,.fil-ai__checkout-link,.fil-ai__key-head small,
 .fil-ai__key-panel p,.fil-ai__key-panel label,.fil-ai__key-hint,
 .fil-ai__booking-field,.fil-ai__booking-error,.fil-ai__booking-status,
 .fil-ai__booking-label,.fil-ai__booking-slot,.fil-ai__booking-review-line,
 .fil-ai__booking-offer,.fil-ai__booking-coupon-status,.fil-ai__booking-payment-limit,
 .fil-ai__service-facts span,.fil-ai__service-actions > *,
 .fil-ai__payment-outcome-note,.fil-ai__payment-outcome-ref,
 .fil-ai__ranking-initials,.fil-ai__toast
) {font-size:14px}
.fil-ai.fil-ai__portal .fil-ai__widget .fil-ai__search input {font-size:14px}
.fil-ai.fil-ai__portal .fil-ai__widget .fil-ai__checkout-input {min-height:44px}


/* v0.5.47 — Compact Chat + Complete Filantropy Four-Card Design System.
   All application styles are restricted to this module's portal and its dialogs.
   The standalone landing-page hero remains untouched. */
.fil-ai.fil-ai__portal {
  --fai-ink:#072a29;--fai-muted:#6c7a7b;--fai-line:#e0e9e7;
  --fai-green:#003c35;--fai-deep:#003c35;--fai-mint:#e0f4eb;
  --fai-soft:#f8fbf9;--fai-border:#dce9e3;
}

/* Restore the v0.5.45 compact floating window, not the 780px desktop modal. */
.fil-ai.fil-ai__portal > .fil-ai__widget {
  width:min(485px,calc(100vw - 28px));
  height:min(760px,calc(100dvh - 105px));
  max-height:calc(100dvh - 105px);
  right:24px;bottom:88px;
  border:1px solid #dce9e3;
  border-radius:20px;
  box-shadow:0 22px 65px rgba(15,49,41,.22);
  background:#fff;
}
.fil-ai.fil-ai__portal .fil-ai__whead {
  min-height:66px;padding:10px 14px;gap:9px;
  background:linear-gradient(112deg,#e0ebe6 0%,#f2e6df 47%,#eaf4f0 100%);
  border-bottom:1px solid #e8efeb;
}
.fil-ai.fil-ai__portal .fil-ai__botidentity {gap:10px}
.fil-ai.fil-ai__portal .fil-ai__boticon {
  width:40px;height:40px;flex:0 0 40px;border-radius:12px;font-size:18px;
  box-shadow:0 3px 9px rgba(0,60,53,.14);
}
.fil-ai.fil-ai__portal .fil-ai__botidentity strong {
  font-size:15px;font-weight:700;letter-spacing:-.025em;line-height:1.3;
}
.fil-ai.fil-ai__portal .fil-ai__wtools {gap:2px}
.fil-ai.fil-ai__portal .fil-ai__icon-btn {
  width:34px;height:34px;min-height:34px;flex:0 0 34px;
  font-size:15px;border-radius:10px;
}
.fil-ai.fil-ai__portal .fil-ai__panels {min-height:0;background:#fff}
.fil-ai.fil-ai__portal .fil-ai__pane {min-height:0}
.fil-ai.fil-ai__portal .fil-ai__thread {
  padding:13px 14px 17px;gap:10px;overflow-x:hidden;
}
.fil-ai.fil-ai__portal .fil-ai__scroll {
  padding:15px 14px 18px;overflow-x:hidden;
}
.fil-ai.fil-ai__portal .fil-ai__scroll h2 {font-size:18px;font-weight:700;margin:0 0 5px}
.fil-ai.fil-ai__portal .fil-ai__sub {font-size:14px;line-height:1.5;margin-bottom:13px}

/* Welcome is decorative but compact enough for the 2 x 2 real actions below it. */
.fil-ai.fil-ai__portal .fil-ai__welcome {
  min-height:165px;padding:17px 12px 15px;border-radius:21px;
  background:radial-gradient(ellipse at 94% 23%,#d5e1bc9e,transparent 35%),
             radial-gradient(ellipse at 4% 88%,#c5d8b6a3,transparent 38%),
             radial-gradient(circle at 47% 49%,#f7f9ed,#edf5ec 52%,#f2f7ef 82%);
}
.fil-ai.fil-ai__portal .fil-ai__welcome-art {margin-bottom:6px}
.fil-ai.fil-ai__portal .fil-ai__welcome-icon {
  width:66px;height:66px;border-radius:50%;font-size:26px;
}
.fil-ai.fil-ai__portal .fil-ai__welcome h2 {
  margin:8px 0 0;font-size:19px;line-height:1.25;letter-spacing:-.035em;
  white-space:normal;
}
/* The approved four-card reference has no welcome subtitle. */
.fil-ai.fil-ai__portal .fil-ai__welcome > p {display:none}
.fil-ai.fil-ai__portal .fil-ai__suggestions {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;margin-bottom:4px;
}
.fil-ai.fil-ai__portal .fil-ai__suggestions button {
  min-height:85px;padding:10px;gap:9px;
  border:1px solid #e0e9e7;border-radius:17px;
  background:linear-gradient(140deg,#fff,#fbfdfb);
  box-shadow:0 3px 14px rgba(28,67,51,.045);
}
.fil-ai.fil-ai__portal .fil-ai__suggestion-icon {
  width:42px;height:42px;flex:0 0 42px;font-size:18px;
}
.fil-ai.fil-ai__portal .fil-ai__suggestion-label {
  font-size:14px;line-height:1.28;font-weight:700;letter-spacing:-.02em;
  padding:0;overflow-wrap:anywhere;
}
.fil-ai.fil-ai__portal .fil-ai__suggestion-arrow {font-size:11px;flex:0 0 auto}

/* Chat input, continuing shortcuts, user and assistant message surfaces. */
.fil-ai.fil-ai__portal .fil-ai__quickbar {
  padding:8px 11px 6px;gap:6px;border-top:1px solid #e8efeb;
}
.fil-ai.fil-ai__portal .fil-ai__quickbar button {
  min-width:0;min-height:39px;padding:6px 4px;
  border:1px solid #dce9e3;border-radius:11px;
  font-size:14px;line-height:1.15;color:#12483e;background:#f8fbf9;
}
.fil-ai.fil-ai__portal .fil-ai__quickbar button:hover {background:#e8f5ee}
.fil-ai.fil-ai__portal .fil-ai__composer {padding:9px 12px 11px}
.fil-ai.fil-ai__portal .fil-ai__composebox {
  min-height:52px;padding:5px 6px 5px 13px;gap:7px;
  border:1px solid #cbded5;border-radius:15px;
}
.fil-ai.fil-ai__portal .fil-ai__composebox textarea {
  min-height:37px;max-height:98px;font-size:14px;line-height:1.45;
  color:#072a29;
}
.fil-ai.fil-ai__portal .fil-ai__send {
  width:41px;height:41px;flex:0 0 41px;min-height:41px;
  border-radius:11px;font-size:18px;
}
.fil-ai.fil-ai__portal .fil-ai__message {max-width:100%;gap:8px;margin:0 0 7px;align-items:flex-start}
.fil-ai.fil-ai__portal .fil-ai__message--user {justify-content:flex-end}
.fil-ai.fil-ai__portal .fil-ai__message-avatar {
  width:27px;height:27px;flex:0 0 27px;border-radius:9px;font-size:12px;
}
.fil-ai.fil-ai__portal .fil-ai__bubble {
  min-width:0;max-width:calc(100% - 35px);padding:10px 12px;
  border:1px solid #e2ebe7;border-radius:15px;
  background:#f8fbf9;color:#072a29;line-height:1.55;font-size:14px;
  overflow-wrap:anywhere;
}
.fil-ai.fil-ai__portal .fil-ai__message--user .fil-ai__bubble {
  max-width:87%;background:#e8f4ee;border-color:#e8f4ee;
  border-radius:15px 15px 5px 15px;
}
.fil-ai.fil-ai__portal .fil-ai__message--bot .fil-ai__bubble {border-radius:15px 15px 15px 5px}
.fil-ai.fil-ai__portal .fil-ai__message-text {color:#072a29;overflow-wrap:anywhere}

/* Shared card language for all populated inner views. */
.fil-ai.fil-ai__portal :where(
  .fil-ai__card,.fil-ai__service-card,.fil-ai__platform-result,
  .fil-ai__ranking-card,.fil-ai__activity-row,.fil-ai__plan-row,
  .fil-ai__review-item
) {
  background:#fff;border:1px solid #e0e9e7;border-radius:15px;
  box-shadow:0 3px 15px rgba(23,67,49,.045);color:#072a29;
}
.fil-ai.fil-ai__portal :where(.fil-ai__service-card,.fil-ai__platform-result,.fil-ai__card) {
  padding:11px;margin:9px 0;
}
.fil-ai.fil-ai__portal .fil-ai__card--minimal {padding:10px 11px;margin:8px 0;border-radius:14px}
.fil-ai.fil-ai__portal :where(.fil-ai__thumb,.fil-ai__service-photo) {
  border-radius:12px;background:#e0f4eb;color:#124e40;
}
.fil-ai.fil-ai__portal .fil-ai__service-photo {
  width:64px;height:64px;flex:0 0 64px;font-size:19px;
}
.fil-ai.fil-ai__portal :where(.fil-ai__service-card-info strong,.fil-ai__card-title,.fil-ai__plan-name,.fil-ai__activity-title) {
  color:#072a29;font-weight:700;line-height:1.4;
}
.fil-ai.fil-ai__portal :where(.fil-ai__service-meta,.fil-ai__service-copy,.fil-ai__card-meta,.fil-ai__card-description) {
  font-size:14px;line-height:1.5;color:#6c7a7b;
}
.fil-ai.fil-ai__portal .fil-ai__service-facts {gap:6px;margin:9px 0}
.fil-ai.fil-ai__portal .fil-ai__service-facts span {
  background:#edf7f0;border:1px solid #e0ebe4;
  border-radius:9px;color:#155d4c;padding:4px 8px;font-size:14px;
}
.fil-ai.fil-ai__portal .fil-ai__service-actions {gap:7px}
.fil-ai.fil-ai__portal .fil-ai__service-actions > * {
  min-width:0;min-height:38px;border-radius:10px;font-size:14px;
}
.fil-ai.fil-ai__portal .fil-ai__service-book,
.fil-ai.fil-ai__portal .fil-ai__checkout {
  background:linear-gradient(145deg,#145e53,#003c35);color:#fff;
  border:1px solid #145e53;border-radius:11px;
}
.fil-ai.fil-ai__portal .fil-ai__service-actions .fil-ai__small:not(.fil-ai__service-book) {
  background:#f7fbf8;border:1px solid #cfe5d7;color:#0d4c40;
}
.fil-ai.fil-ai__portal :where(.fil-ai__small,.fil-ai__filter,.fil-ai__shortcuts button,
  .fil-ai__ranking-more,.fil-ai__causes-more,.fil-ai__remove) {
  border:1px solid #d4e8dc;border-radius:10px;
  background:#f7fbf8;color:#0d4c40;
  min-height:34px;padding:7px 10px;font-size:14px;line-height:1.3;
}
.fil-ai.fil-ai__portal :where(.fil-ai__small,.fil-ai__filter,.fil-ai__shortcuts button,
  .fil-ai__ranking-more,.fil-ai__causes-more):hover {
  background:#eaf7ef;border-color:#b5d9c9;
}
.fil-ai.fil-ai__portal .fil-ai__filter.is-active {
  background:#e0f4eb;border-color:#8ac7ae;color:#0b5647;
}
.fil-ai.fil-ai__portal .fil-ai__card-actions {gap:7px}
.fil-ai.fil-ai__portal .fil-ai__progress {background:#e8f2ed;border-radius:30px;overflow:hidden}

/* Verified rankings, progress comparison, campaign and activity metrics. */
.fil-ai.fil-ai__portal .fil-ai__rankings {gap:8px;margin:12px 0 6px}
.fil-ai.fil-ai__portal .fil-ai__rankings-title {font-size:15px;color:#073f37;font-weight:700}
.fil-ai.fil-ai__portal .fil-ai__ranking-card {
  min-height:60px;gap:9px;padding:9px 10px;border-radius:13px;
}
.fil-ai.fil-ai__portal .fil-ai__ranking-avatar {
  width:36px;height:36px;flex:0 0 36px;
  background:#e0f4eb;color:#124e40;
}
.fil-ai.fil-ai__portal .fil-ai__ranking-label {
  min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:650;
}
.fil-ai.fil-ai__portal .fil-ai__ranking-value {font-size:14px;color:#075448;font-weight:700}
.fil-ai.fil-ai__portal .fil-ai__ranking-summary {
  background:#f5faf7;border:1px solid #dceae2;border-radius:15px;
}
.fil-ai.fil-ai__portal .fil-ai__rank-compare-track {background:#e5f1ea;border-radius:12px}
.fil-ai.fil-ai__portal .fil-ai__rank-compare-bar {
  background:linear-gradient(90deg,#568979,#003c35);border-radius:12px;
}

/* Giving-plan panels, numbers, filters and inline workspaces. */
.fil-ai.fil-ai__portal .fil-ai__workspace {min-width:0;max-width:100%}
.fil-ai.fil-ai__portal .fil-ai__workspace .fil-ai__pane {
  padding:12px 10px 10px;margin:12px 0 0;
  border:1px solid #dce9e3;border-radius:15px;
  background:linear-gradient(145deg,#fbfdfc,#f5faf7);
}
.fil-ai.fil-ai__portal .fil-ai__workspace .fil-ai__scroll {padding:4px 2px}
.fil-ai.fil-ai__portal .fil-ai__field-label {
  display:block;font-size:14px;color:#244b40;font-weight:650;margin:11px 0 6px;
}
.fil-ai.fil-ai__portal :where(.fil-ai__budget,.fil-ai__search,.fil-ai__scroll select,
 .fil-ai__checkout-input,.fil-ai__booking-field input,.fil-ai__booking-field select,
 .fil-ai__booking-field textarea) {
  border:1px solid #d8e6de;border-radius:11px;
  background:#fff;color:#072a29;
}
.fil-ai.fil-ai__portal .fil-ai__budget {min-height:43px}
.fil-ai.fil-ai__portal .fil-ai__plan-head {gap:8px;flex-wrap:wrap}
.fil-ai.fil-ai__portal .fil-ai__plan-row {
  display:flex;min-width:0;gap:9px;padding:10px;
  background:#fff;border-radius:13px;margin-bottom:8px;
}
.fil-ai.fil-ai__portal .fil-ai__plan-name {overflow-wrap:anywhere;font-size:14px}
.fil-ai.fil-ai__portal .fil-ai__summary {
  background:#f0f8f2;border:1px solid #dbece1;
  border-radius:13px;padding:10px;margin-top:12px;
}
.fil-ai.fil-ai__portal .fil-ai__summary > div {font-size:14px;gap:8px;overflow-wrap:anywhere}
.fil-ai.fil-ai__portal .fil-ai__summary strong {color:#0d4c40}
.fil-ai.fil-ai__portal .fil-ai__checkout {min-height:42px;font-size:14px}
.fil-ai.fil-ai__portal .fil-ai__gateway-option {
  border:1px solid #d9e7df;background:#fff;border-radius:12px;
}
.fil-ai.fil-ai__portal .fil-ai__gateway-option:has(input:checked) {
  background:#eaf6ee;border-color:#86c3a9;
}

/* Booking, coupons, appointment selection and confirmation all share the theme. */
.fil-ai.fil-ai__portal .fil-ai__booking {
  background:linear-gradient(145deg,#fff,#f8fcf9);
  border:1px solid #dbe9e3;border-radius:15px;padding:12px;
  box-shadow:0 3px 17px rgba(23,67,49,.045);
}
.fil-ai.fil-ai__portal .fil-ai__booking-head strong {font-size:15px;color:#072a29}
.fil-ai.fil-ai__portal .fil-ai__booking-close {
  background:#f7fbf8;border:1px solid #d6e6dc;border-radius:10px;
  color:#285a4a;min-height:34px;font-size:14px;
}
.fil-ai.fil-ai__portal .fil-ai__booking-field {font-size:14px;color:#26483e}
.fil-ai.fil-ai__portal .fil-ai__booking-field input,
.fil-ai.fil-ai__portal .fil-ai__booking-field select {min-height:42px;padding:9px 11px;font-size:14px}
.fil-ai.fil-ai__portal .fil-ai__booking-label {font-size:14px;color:#194d40;font-weight:700}
.fil-ai.fil-ai__portal .fil-ai__booking-grid {gap:7px}
.fil-ai.fil-ai__portal .fil-ai__booking-slot,
.fil-ai.fil-ai__portal .fil-ai__booking-offer {
  background:#fff;border:1px solid #d7e7de;
  border-radius:10px;color:#165a4a;font-size:14px;
}
.fil-ai.fil-ai__portal .fil-ai__booking-slot:hover,
.fil-ai.fil-ai__portal .fil-ai__booking-offer:hover {background:#eaf7ef}
.fil-ai.fil-ai__portal .fil-ai__booking-review {
  background:#f5faf7;border:1px solid #deede5;border-radius:12px;
}
.fil-ai.fil-ai__portal .fil-ai__booking-review-line {font-size:14px;color:#234d42}
.fil-ai.fil-ai__portal .fil-ai__booking-confirmed {color:#0d5945;font-weight:700}
.fil-ai.fil-ai__portal .fil-ai__booking-no-payment {color:#146747;background:#e8f5ed;border-radius:11px}

/* Review, payment, outcome, receipts, API key and notice surfaces. */
.fil-ai.fil-ai__portal .fil-ai__overlay,
.fil-ai.fil-ai__portal .fil-ai__key-shade {background:rgba(5,40,35,.58)}
.fil-ai.fil-ai__portal .fil-ai__review,
.fil-ai.fil-ai__portal .fil-ai__key-panel {
  border:1px solid #e0e9e7;border-radius:20px;
  background:#fff;color:#072a29;
  box-shadow:0 24px 65px rgba(15,49,41,.28);
}
.fil-ai.fil-ai__portal .fil-ai__review-head,
.fil-ai.fil-ai__portal .fil-ai__key-head {background:linear-gradient(112deg,#e8f2ed,#f5ece6,#eff7f2)}
.fil-ai.fil-ai__portal .fil-ai__review-head strong,
.fil-ai.fil-ai__portal .fil-ai__key-head strong {font-size:17px;color:#072a29;font-weight:700}
.fil-ai.fil-ai__portal .fil-ai__review-lead,
.fil-ai.fil-ai__portal .fil-ai__review-explanation,
.fil-ai.fil-ai__portal .fil-ai__review-explanation[data-checkout-quote] {
  background:#f3faf6;border:1px solid #dcebe2;border-radius:12px;
}
.fil-ai.fil-ai__portal .fil-ai__review-item {border-radius:13px}
.fil-ai.fil-ai__portal .fil-ai__review-number {background:#e0f4eb;color:#145e53;border-radius:9px}
.fil-ai.fil-ai__portal .fil-ai__review-actions,
.fil-ai.fil-ai__portal .fil-ai__review-save {background:#fff}
.fil-ai.fil-ai__portal .fil-ai__review-actions :where(.fil-ai__primary,.fil-ai__outline) {
  min-height:41px;border-radius:11px;font-size:14px;
}
.fil-ai.fil-ai__portal .fil-ai__review-actions .fil-ai__primary {background:#003c35;color:#fff}
.fil-ai.fil-ai__portal .fil-ai__review-actions .fil-ai__outline {background:#f8fbf9;color:#0d4c40;border-color:#d8e9e0}
.fil-ai.fil-ai__portal .fil-ai__payment-outcome-icon {
  background:#e0f4eb;color:#145e53;
}
.fil-ai.fil-ai__portal .fil-ai__payment-outcome-amount {background:#f0f8f2;border-color:#d8eadf;border-radius:14px}
.fil-ai.fil-ai__portal .fil-ai__card-field {border:1px solid #d6e7df;border-radius:12px;background:#fff}
.fil-ai.fil-ai__portal .fil-ai__key-panel input {border-radius:11px;font-size:14px}
.fil-ai.fil-ai__portal .fil-ai__toast {
  background:#003c35;color:white;border:1px solid #2b685d;
  border-radius:13px;box-shadow:0 10px 30px rgba(6,45,36,.22);
}

/* Compact red destructive actions are reserved for true destructive actions;
   ordinary Close and Back buttons use neutral green surfaces. */
.fil-ai.fil-ai__portal .fil-ai__workspace-closebar .fil-ai__panel-close,
.fil-ai.fil-ai__portal .fil-ai__workspace-bottombar .fil-ai__panel-bottom-close {
  background:#f7fbf8;border:1px solid #d9e8e1;
  color:#22574a;border-radius:10px;
  min-height:36px;font-size:14px;
}
.fil-ai.fil-ai__portal .fil-ai__workspace-closebar .fil-ai__panel-close:hover,
.fil-ai.fil-ai__portal .fil-ai__workspace-bottombar .fil-ai__panel-bottom-close:hover {
  background:#e7f4ec;border-color:#add5c2;
}

/* Adapt inner content without restoring the huge desktop modal. */
@media (max-width:768px) {
  .fil-ai.fil-ai__portal > .fil-ai__widget {
    inset:0;width:100vw;height:100dvh;max-height:100dvh;
    border:0;border-radius:0;
  }
  .fil-ai.fil-ai__portal .fil-ai__whead {min-height:62px;padding:9px 12px}
  .fil-ai.fil-ai__portal .fil-ai__boticon {width:39px;height:39px;flex-basis:39px;font-size:17px}
  .fil-ai.fil-ai__portal .fil-ai__botidentity strong {font-size:15px}
  .fil-ai.fil-ai__portal .fil-ai__welcome {min-height:165px;padding:14px 10px}
  .fil-ai.fil-ai__portal .fil-ai__welcome-icon {width:61px;height:61px;font-size:24px}
  .fil-ai.fil-ai__portal .fil-ai__welcome h2 {font-size:19px}
  .fil-ai.fil-ai__portal .fil-ai__suggestions button {min-height:78px;border-radius:16px;padding:9px;gap:9px}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-icon {width:38px;height:38px;flex-basis:38px;font-size:16px}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-label {font-size:14px}
  .fil-ai.fil-ai__portal .fil-ai__quickbar button {font-size:14px}
  .fil-ai.fil-ai__portal .fil-ai__composer {padding:8px 10px 10px}
}
@media (max-width:390px) {
  .fil-ai.fil-ai__portal .fil-ai__suggestions {gap:7px}
  .fil-ai.fil-ai__portal .fil-ai__suggestions button {padding:8px 7px;gap:7px}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-icon {width:34px;height:34px;flex-basis:34px;font-size:15px}
  .fil-ai.fil-ai__portal .fil-ai__suggestion-arrow {display:none}
}
@media (max-height:660px) and (min-width:769px) {
  .fil-ai.fil-ai__portal .fil-ai__welcome {min-height:137px}
  .fil-ai.fil-ai__portal .fil-ai__welcome-icon {width:50px;height:50px;font-size:21px}
  .fil-ai.fil-ai__portal .fil-ai__welcome h2 {font-size:17px}
  .fil-ai.fil-ai__portal .fil-ai__suggestions button {min-height:72px}
}

/* v0.5.49: lightweight branding underneath the compact chat composer.
   The optional logo comes from the Joomla module's Footer Logo media field. */
.fil-ai.fil-ai__portal .fil-ai__trustline {
  display:flex;align-items:center;justify-content:center;gap:7px;
  width:100%;min-height:20px;margin:7px 0 0;padding:0 5px;
  color:#748980;font:500 12px/1.3 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.01em;text-align:center;white-space:nowrap;
}
.fil-ai.fil-ai__portal .fil-ai__trust-mark {
  flex:0 0 20px;width:20px;height:20px;display:inline-flex;
  align-items:center;justify-content:center;border-radius:6px;
  color:#2d725d;background:#eff6f1;overflow:hidden;
}
.fil-ai.fil-ai__portal .fil-ai__trust-mark i {font-size:11px;line-height:1}
.fil-ai.fil-ai__portal .fil-ai__trust-logo {
  display:block;width:100%;height:100%;object-fit:contain;
}
@media(max-width:390px) {
  .fil-ai.fil-ai__portal .fil-ai__trustline {gap:6px;margin-top:5px;font-size:12px}
  .fil-ai.fil-ai__portal .fil-ai__trust-mark {width:18px;height:18px;flex-basis:18px}
}
