/* VOLENG UI KIT V1 | cross-site shared design contract | WEB V25.57
   shadcn/Watermelon-inspired patterns; original code, not copied components.
   Explicitly excludes kiosks, reception displays and device flows. */
:root{
 --vu-primary:#3568f5;--vu-primary-hover:#2456d7;--vu-ink:#122644;--vu-muted:#61728b;
 --vu-surface:#fff;--vu-soft:#f5f8fc;--vu-border:#dfe7f2;--vu-radius:14px;
 --vu-ease:cubic-bezier(.2,.75,.25,1);--vu-shadow:0 16px 42px rgba(17,42,83,.085);
 --vu-field:#087f87;--vu-business:#7951c8;--vu-agenda:#2568c6;--vu-resto:#d97628;
 --vu-focus:0 0 0 3px rgba(53,104,245,.19);
}
:root[data-voleng-theme="dark"],html.dark,[data-theme="dark"]{
 --vu-ink:#eaf1ff;--vu-muted:#9aabc4;--vu-surface:#172137;--vu-soft:#101a2a;--vu-border:#32445f;--vu-shadow:0 18px 48px rgba(0,0,0,.25);
}
/* Shared primitives are opt-in; existing semantic flows and actions remain untouched. */
.vu-card{border:1px solid var(--vu-border);background:var(--vu-surface);border-radius:var(--vu-radius);box-shadow:var(--vu-shadow)}
.vu-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:11px;min-height:42px;padding:10px 18px;font-weight:720;cursor:pointer;transition:background .17s var(--vu-ease),box-shadow .17s var(--vu-ease),transform .17s var(--vu-ease)}
.vu-btn:where(:not(:disabled)):hover{transform:translateY(-1px)}
.vu-btn-primary{background:var(--vu-primary);color:#fff}.vu-btn-primary:hover{background:var(--vu-primary-hover)}
.vu-btn-outline{background:var(--vu-surface);border-color:var(--vu-border);color:var(--vu-ink)}
.vu-btn:disabled{opacity:.54;cursor:not-allowed}
.vu-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(53,104,245,.08);color:var(--vu-primary);font-size:.75rem;font-weight:750}
.vu-action-menu{position:relative;display:inline-flex;vertical-align:middle}
.vu-action-trigger{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--vu-border);background:var(--vu-surface);border-radius:10px;color:var(--vu-ink);font-size:.82rem;font-weight:700;cursor:pointer}
.vu-action-panel{position:absolute;z-index:1500;min-width:184px;right:0;top:calc(100% + 8px);padding:6px;border:1px solid var(--vu-border);border-radius:13px;background:var(--vu-surface);color:var(--vu-ink);box-shadow:var(--vu-shadow);animation:vu-pop .17s var(--vu-ease)}
.vu-action-panel button{display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;text-align:left;border:0;background:none;color:inherit;border-radius:8px;font-weight:600;cursor:pointer}
.vu-action-panel button:hover{background:var(--vu-soft)}
.vu-floating-field{position:relative;display:block;margin:6px 0 13px}
.vu-floating-field>label{position:absolute;z-index:1;top:-9px;left:11px;padding:0 6px;background:var(--vu-surface);color:var(--vu-muted);font-size:11px!important;font-weight:760;line-height:19px;pointer-events:none}
.vu-floating-field>input{display:block;width:100%;min-height:45px;border:1px solid var(--vu-border);border-radius:11px;padding:11px 13px;background:var(--vu-surface);color:var(--vu-ink)}
.vu-floating-field:focus-within>label{color:var(--vu-primary)}
.vu-floating-field>input:focus-visible{outline:0;box-shadow:var(--vu-focus);border-color:var(--vu-primary)}
.vu-floating-field>input:read-only{opacity:.75;background:var(--vu-soft)}
.vu-filter-group{display:flex;flex-wrap:wrap;gap:8px}.vu-filter-chip{border:1px solid var(--vu-border);background:var(--vu-surface);border-radius:999px;padding:8px 12px;cursor:pointer;color:var(--vu-ink);font-size:12px;font-weight:700}.vu-filter-chip[aria-pressed="true"]{background:#edf3ff;border-color:#89aafc;color:#194dc3}
.vu-loading-dots{display:inline-flex;gap:4px}.vu-loading-dots>i{height:5px;width:5px;border-radius:50%;background:currentColor;animation:vu-pulse .75s infinite alternate}.vu-loading-dots>i:nth-child(2){animation-delay:.12s}.vu-loading-dots>i:nth-child(3){animation-delay:.24s}
@keyframes vu-pulse{to{opacity:.3;transform:translateY(-2px)}}@keyframes vu-pop{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes vu-reveal-in{from{opacity:.25;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* Marketing page: quiet premium motion, accessible focus, coherent product accents. */
body:where(.marketing-v2533,.v49-home,.v52-home) :where(.suite-card,.v40-product-card,.v53-journey,.vs-need-proposal){transition:transform .22s var(--vu-ease),box-shadow .22s var(--vu-ease),border-color .22s var(--vu-ease)}
body:where(.marketing-v2533,.v49-home,.v52-home) :where(.suite-card,.v40-product-card,.v53-journey):hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(21,50,101,.1)}
body:where(.marketing-v2533,.v49-home,.v52-home) .suite-field{--vu-accent:var(--vu-field)}
body:where(.marketing-v2533,.v49-home,.v52-home) .suite-business{--vu-accent:var(--vu-business)}
body:where(.marketing-v2533,.v49-home,.v52-home) .suite-agenda{--vu-accent:var(--vu-agenda)}
body:where(.marketing-v2533,.v49-home,.v52-home) .suite-resto{--vu-accent:var(--vu-resto)}
body:where(.marketing-v2533,.v49-home,.v52-home) .suite-card:hover{border-color:var(--vu-accent,#3568f5)}
body:where(.marketing-v2533,.v49-home,.v52-home) .vs-need:has(input:checked){border-color:#7fa2f3;box-shadow:0 0 0 3px rgba(53,104,245,.08)}
body:where(.marketing-v2533,.v49-home,.v52-home) .v53-journey{border-radius:18px}
body:where(.marketing-v2533,.v49-home,.v52-home) .v53-step{transition:background .16s,border-color .16s,transform .16s}
body:where(.marketing-v2533,.v49-home,.v52-home) .v53-step:hover{transform:translateY(-2px)}
body :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--vu-primary);outline-offset:3px}
body :where(button,a.btn,.nav-book,.vs-btn,.v49-primary-link,.v52-product-tab){transition-property:background-color,color,border-color,box-shadow,transform;transition-duration:.17s;transition-timing-function:var(--vu-ease)}
/* Across signup, marketing, pricing, legal, account: do not alter width, positioning or validation. */
body:not(.simpleApp):not([data-vu-surface="touch"]) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea):not(.v48-otp-real){transition:border-color .17s,box-shadow .17s;border-radius:10px}
body:not(.simpleApp):not([data-vu-surface="touch"]) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea):not(.v48-otp-real):focus-visible{outline:0;box-shadow:var(--vu-focus)}
body :where(.faq-stack details,.faq-section details){transition:border-color .17s,box-shadow .17s}body :where(.faq-stack details,.faq-section details):focus-within{border-color:#93b2fd}
body .vu-reveal-in{animation:vu-reveal-in .34s both var(--vu-ease)}
@media(prefers-reduced-motion:reduce){.vu-btn,.vu-action-panel,.vu-loading-dots>i,body .vu-reveal-in,body :where(button,.suite-card,.v40-product-card,.v53-journey){animation:none!important;transition:none!important;transform:none!important}}

/* Product-local accents. Shared language across marketing, subscriptions and tools. */
body[data-vu-product="field"]{--vu-accent:var(--vu-field)}
body[data-vu-product="business"]{--vu-accent:var(--vu-business)}
body[data-vu-product="agenda"]{--vu-accent:var(--vu-agenda)}
body[data-vu-product="reception"]{--vu-accent:var(--vu-agenda)}
body[data-vu-product="resto"]{--vu-accent:var(--vu-resto)}
body[data-vu-product="pricing"],body[data-vu-product="signup"]{--vu-accent:var(--vu-primary)}
body[data-vu-product="apps"]{--vu-accent:var(--vu-primary)}
body[data-vu-product] :where(.agenda260-feature,.agenda260-plan,.included-card,.panel,.app-card,.pricing-card){transition:border-color .18s var(--vu-ease),box-shadow .18s var(--vu-ease),transform .18s var(--vu-ease)}
body[data-vu-product] :where(.agenda260-feature,.agenda260-plan,.included-card):hover{transform:translateY(-2px);border-color:var(--vu-accent,#3568f5);box-shadow:var(--vu-shadow)}
body[data-vu-product="agenda"] :where(.agenda260-feature,.agenda260-plan):focus-within{border-color:var(--vu-agenda)}
body[data-vu-product="pricing"] :where(.compare-grid>article,.cart,.compare-grid>div){border-radius:16px;transition:box-shadow .18s,border-color .18s}
body[data-vu-product="pricing"] :where(.compare-grid>article,.compare-grid>div):hover{box-shadow:var(--vu-shadow)}
body[data-vu-product="pricing"] :where(.tabbar button,.toggle button){transition:background .16s,color .16s,border-color .16s}
body[data-vu-product="signup"] :where(#signupFlow,#signupFlow section,#signupFlow form){scroll-margin-top:100px}
body[data-vu-product="agenda"] :where(.panel,.list,.tablewrap),body[data-vu-product="reception"] :where(.panel){border-radius:var(--vu-radius)}
body[data-vu-product="apps"] :where(.tiles>*):hover{box-shadow:var(--vu-shadow)}
@media(prefers-reduced-motion:reduce){body[data-vu-product] :where(.agenda260-feature,.agenda260-plan,.included-card,.panel,.app-card,.pricing-card){transform:none!important;transition:none!important}}
