/* The Farming Hub mascot is an optional guide, separate from application forms and business actions. */
.support-launcher{position:fixed;right:22px;bottom:20px;z-index:80;display:flex;align-items:center;gap:9px;padding:7px 16px 7px 6px;border:1px solid var(--line);border-radius:40px;background:#fff;color:var(--fh-green);font-family:inherit;font-size:13px;font-weight:600;box-shadow:0 4px 20px #20432118;cursor:pointer}
.support-launcher img{width:48px;height:48px;object-fit:contain}.support-launcher[hidden]{display:none}
.support-launcher:focus-visible,.support-tour button:focus-visible{outline:3px solid var(--fh-lime);outline-offset:3px}
.support-tour{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--text);overflow:hidden;pointer-events:none}
.support-tour::backdrop{background:#10281836}
.support-card{position:fixed;right:24px;bottom:24px;width:380px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 16px 60px #10281824;pointer-events:auto;padding:22px;z-index:2}
.support-card.support-left{left:24px;right:auto}.support-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.support-name{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--fh-green)}
.support-close{border:0;background:var(--bg);color:var(--muted);width:30px;height:30px;border-radius:50%;font-size:20px;cursor:pointer}
.support-intro{display:flex;align-items:center;gap:16px;margin:0 0 14px}.support-mascot{width:100px;height:112px;object-fit:contain;flex-shrink:0}.support-count{font-size:11px;color:var(--muted);margin:0 0 7px}.support-card h2{font-size:20px;line-height:1.25;letter-spacing:-.35px;margin:0;color:var(--fh-green);font-weight:650}
.support-card #support-copy{font-size:13px;line-height:1.65;margin:0 0 22px}.support-actions{display:flex;align-items:center;gap:8px}.support-actions .support-skip{margin-right:auto}.support-card .button{font-size:12px;min-height:36px}.support-card button:disabled{opacity:.4;cursor:default}
.support-ring{position:fixed;border:3px solid var(--fh-lime);border-radius:9px;box-shadow:0 0 0 2px #20432180;pointer-events:none;z-index:1}
@media(max-width:720px){.support-launcher{right:12px;bottom:12px;padding:4px 12px 4px 4px}.support-launcher img{width:40px;height:40px}.support-card,.support-card.support-left{left:10px;right:10px;bottom:10px;width:auto;max-height:calc(100dvh - 24px);padding:16px}.support-mascot{width:74px;height:84px}.support-card h2{font-size:18px}.support-intro{gap:12px;margin-bottom:8px}.support-card #support-copy{font-size:12px;margin-bottom:14px}.support-top{margin-bottom:2px}}
@media print{.support-launcher,.support-tour{display:none!important}}

.support-brand{display:flex;align-items:center;gap:10px}.support-brand img{width:106px;height:auto;object-fit:contain}.support-brand .support-name{font-size:9px;letter-spacing:.3px}
@media(max-width:360px){.support-brand{gap:7px}.support-brand img{width:92px}.support-brand .support-name{font-size:8px}}

/* Persistent brand/mascot dock remains above forms and inside the guide top layer. */
.support-dock{position:fixed;right:18px;bottom:max(14px,env(safe-area-inset-bottom));z-index:300;pointer-events:auto}
.support-dock[data-side=left]{left:max(18px,env(safe-area-inset-left));right:auto}
.support-dock .support-launcher{touch-action:none;user-select:none;-webkit-user-select:none}
.support-dock.support-dragging .support-launcher{cursor:grabbing}
.support-dock .support-launcher img{-webkit-user-drag:none}
.support-dock .support-launcher>*{pointer-events:none}
.support-dock .support-launcher{position:static;right:auto;bottom:auto;gap:8px;padding:6px 14px 6px 6px}.support-dock-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.support-dock-label img{width:94px;height:26px;object-fit:contain}.support-dock-label span{font-size:10px;color:var(--muted)}
.support-card,.support-card.support-left{bottom:94px;max-height:calc(100dvh - 120px)}.support-actions{flex-wrap:wrap;gap:6px}.support-actions [data-support=take]{flex:1 0 100%;order:-1;margin-bottom:5px}
body:has(.support-dock) .modal-backdrop{padding-bottom:90px;z-index:270}body:has(.support-dock) .modal{max-height:calc(100dvh - 116px)}
@media(max-width:720px){.support-dock{right:10px;bottom:12px}.support-card,.support-card.support-left{bottom:88px;max-height:calc(100dvh - 108px)}.support-dock-label img{width:84px;height:24px}}
@media(max-width:720px){.support-dock[data-side=left]{left:max(10px,env(safe-area-inset-left))}}
@media print{.support-dock{display:none!important}}

/* Forms sit above appearance controls; notifications leave room for the guide dock. */
body:has(.support-dock) .toast{bottom:94px}
body:not(:has(.support-dock)) .toast{bottom:calc(20px + env(safe-area-inset-bottom,0px))}
body[data-preview-theme=minimal]:not(:has(.support-dock)) .toast{bottom:calc(20px + env(safe-area-inset-bottom,0px))}
/* Keep final page controls scrollable above the persistent mascot. */
body:has(.support-dock) .content{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
@media print{body:has(.support-dock) .content{padding-bottom:0}}

/* UI-09: Minimal's compact dialog rules must not cover the persistent dock. */
@media screen {
 body[data-preview-theme=minimal]:has(.support-dock) .modal-backdrop{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
 body[data-preview-theme=minimal]:has(.support-dock) .modal{max-height:calc(100dvh - 116px - env(safe-area-inset-bottom,0px))}
 @media(max-width:720px){
  body[data-preview-theme=minimal]:has(.support-dock) .modal{max-height:calc(100dvh - 106px - env(safe-area-inset-bottom,0px))}
 }
}
