/* Mon Passeport Avenir Pro — V14 Premium */
:root{--v14-gold:#d9b75b;--v14-navy:#071b33;--v14-ink:#10243d}
.v14-version{position:fixed;right:16px;bottom:16px;z-index:70;padding:7px 11px;border:1px solid rgba(217,183,91,.5);border-radius:999px;background:rgba(7,27,51,.92);color:#fff;font:700 11px/1 system-ui;letter-spacing:.12em;box-shadow:0 10px 30px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.v14-opening{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#173b63 0,#071b33 58%,#03101e 100%);transition:opacity .55s ease,visibility .55s ease}
.v14-opening.hide{opacity:0;visibility:hidden;pointer-events:none}
.v14-opening-book{width:min(330px,74vw);aspect-ratio:.72;border-radius:12px 24px 24px 12px;background:linear-gradient(145deg,#12365c,#071b33);border:2px solid rgba(217,183,91,.72);box-shadow:0 35px 90px rgba(0,0,0,.5),inset 0 0 0 8px rgba(255,255,255,.025);display:grid;place-items:center;text-align:center;color:white;animation:v14Book 1.3s cubic-bezier(.2,.8,.2,1) both;transform-origin:left center}
.v14-opening-book span{display:block;color:var(--v14-gold);font-size:48px;animation:v14Pulse 1.4s ease-in-out infinite}.v14-opening-book strong{display:block;margin-top:18px;font-size:19px;letter-spacing:.16em}.v14-opening-book small{display:block;margin-top:9px;color:#dfe8f3;letter-spacing:.08em}
@keyframes v14Book{0%{opacity:0;transform:perspective(900px) rotateY(-35deg) scale(.84)}100%{opacity:1;transform:perspective(900px) rotateY(0) scale(1)}}
@keyframes v14Pulse{50%{filter:drop-shadow(0 0 15px rgba(217,183,91,.9));transform:scale(1.08)}}
.final-badges>* ,.digital-badges>*{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.final-badges>*:hover,.digital-badges>*:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 15px 28px rgba(7,27,51,.16)}
.final-badges>*::after,.digital-badges>*::after{content:"";position:absolute;inset:-60% auto -60% -45%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:rotate(18deg);animation:v14Shine 4.5s infinite}
@keyframes v14Shine{0%,65%{left:-45%}100%{left:125%}}
.v14-pilot-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 20px;padding:14px 16px;border:1px solid #dde6ef;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(9,31,55,.06)}
.v14-pilot-toolbar label{font-size:12px;font-weight:800;color:#52657a;letter-spacing:.04em}.v14-pilot-toolbar select,.v14-pilot-toolbar button{min-height:40px;border-radius:10px;border:1px solid #ccd8e4;background:#fff;color:#17304c;padding:0 12px;font-weight:700}.v14-pilot-toolbar button{background:#0b2948;color:#fff;border-color:#0b2948;cursor:pointer}.v14-pilot-toolbar .v14-count{margin-left:auto;color:#6a7c90;font-size:13px}
.v14-chart-panel{margin-top:20px}.v14-chart{display:grid;grid-template-columns:repeat(8,minmax(50px,1fr));align-items:end;gap:12px;height:230px;padding:24px 18px 38px;border-radius:18px;background:linear-gradient(180deg,#f8fbfe,#eef4f9);border:1px solid #dfe8f0}.v14-chart-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.v14-chart-bar{width:min(45px,78%);min-height:3px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#d9b75b,#b88c2e);box-shadow:0 7px 14px rgba(184,140,46,.22);transition:height .7s cubic-bezier(.2,.8,.2,1)}.v14-chart-col strong{font-size:12px;color:#17304c}.v14-chart-col small{font-size:10px;color:#66798d;text-align:center;line-height:1.15}
.v14-toast{position:fixed;left:50%;bottom:30px;z-index:100000;transform:translate(-50%,20px);opacity:0;background:#071b33;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,.25);transition:.25s ease}.v14-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.v14-version{display:none}.v14-chart{gap:6px;padding-inline:8px}.v14-chart-col small{font-size:8px}.v14-pilot-toolbar .v14-count{width:100%;margin-left:0}}
@media(prefers-reduced-motion:reduce){.v14-opening-book,.final-badges>*::after,.digital-badges>*::after{animation:none!important}}
