:root{--ink:#16201e;--paper:#f4f1e9;--white:#fff;--muted:#6c746f;--line:#d9dbd2;--forest:#173f3f;--lime:#c9ff4a;--coral:#ff7355;--violet:#6456dc;--shadow:0 24px 70px rgba(17,31,28,.13);font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{transition:.2s ease}a{color:inherit;text-decoration:none}.topbar{height:78px;padding:0 clamp(20px,5vw,78px);display:flex;align-items:center;gap:38px;border-bottom:1px solid rgba(20,31,29,.12);background:rgba(244,241,233,.94);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:20px}.brand b{font-weight:800}.brand-mark{width:31px;height:31px;position:relative;display:inline-block}.brand-mark i{position:absolute;width:20px;height:27px;border:3px solid var(--ink);border-radius:50% 50% 10% 50%;transform:rotate(45deg);left:1px;top:1px}.brand-mark i+ i{left:11px;transform:rotate(225deg)}nav{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:600}nav a:hover{color:#2e756d}.btn{border:0;border-radius:99px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-weight:700;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-small{padding:11px 17px;font-size:13px}.btn-dark{background:var(--ink);color:white}.btn-accent{background:var(--lime);color:#172018}.btn-ghost{border:1px solid var(--line);background:transparent}.menu-toggle{display:none;margin-left:auto;border:0;background:none;font-size:24px}.hero{min-height:690px;padding:70px clamp(24px,7vw,110px) 90px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:50px;position:relative}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:.16em}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--coral)}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-.05em;margin:0}h1{font-size:clamp(54px,6.2vw,92px);line-height:.95;margin:25px 0}h1 em,h2 em{font-style:normal;color:#34786f}.hero-copy>p{max-width:610px;color:var(--muted);font-size:18px;line-height:1.6}.hero-actions{display:flex;gap:12px;margin-top:32px}.trust-row{display:flex;gap:34px;margin-top:48px}.trust-row div{display:flex;flex-direction:column}.trust-row strong{font:800 19px Manrope}.trust-row span{font-size:11px;color:var(--muted)}.hero-visual{height:520px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid rgba(23,63,63,.14);border-radius:50%}.orbit-one{width:470px;height:470px}.orbit-two{width:350px;height:350px}.sample-card{position:absolute;width:430px;aspect-ratio:1.586;border-radius:22px;padding:28px;box-shadow:var(--shadow);overflow:hidden}.card-front{background:#fbfaf5;transform:rotate(-4deg) translate(-12px,-8px);z-index:2}.card-front:after{content:"";position:absolute;width:180px;height:180px;border:45px solid var(--lime);border-radius:50%;right:-100px;top:-85px}.card-back{background:#274e4b;color:white;transform:rotate(8deg) translate(42px,40px);z-index:1}.mini-logo{font:800 16px Manrope}.pill{font-size:8px;letter-spacing:.1em;background:var(--lime);padding:5px 8px;border-radius:20px}.sample-top,.sample-person,.sample-foot{display:flex;justify-content:space-between;align-items:center}.sample-person{justify-content:flex-start;gap:20px;margin-top:35px}.avatar{display:grid;place-items:center;background:linear-gradient(145deg,#ffc7b7,#8ed8cf);font:800 24px Manrope}.avatar-hero{width:95px;height:115px;border-radius:47px 47px 16px 16px}.sample-person small,.sample-foot{font-size:8px;letter-spacing:.1em}.sample-person h3{margin:5px 0;font:800 22px Manrope}.sample-person p{font-size:12px;color:var(--muted);margin:0 0 13px}.sample-person b{font-size:10px}.sample-foot{margin-top:26px}.fake-qr,.qr-grid{width:36px;height:36px;background:repeating-conic-gradient(#17201e 0 25%,transparent 0 50%) 0/9px 9px;border:4px solid white;box-shadow:0 0 0 1px #17201e}.magnetic{height:42px;background:#111;margin:35px -28px 25px}.barcode{height:38px;width:165px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 6px,transparent 6px 10px)}.card-back p{font-size:10px;max-width:180px}.floating-note{position:absolute;z-index:5;right:0;bottom:55px;background:white;border-radius:14px;padding:12px 16px;display:flex;gap:10px;box-shadow:var(--shadow)}.floating-note>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--lime)}.floating-note div{display:flex;flex-direction:column}.floating-note b{font-size:12px}.floating-note small{font-size:10px;color:var(--muted)}.client-strip{background:var(--ink);color:white;min-height:76px;display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,60px);font:700 11px Manrope;letter-spacing:.18em;overflow:hidden}.client-strip i{width:4px;height:4px;border-radius:50%;background:var(--lime)}.section{padding:110px clamp(24px,7vw,110px)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:80px;margin-bottom:48px}.section-head h2,.config-heading h2,.tracking-section h2{font-size:clamp(38px,4.5vw,68px);line-height:1.03;margin-top:15px}.section-head>p{max-width:430px;color:var(--muted);line-height:1.6}.kicker{color:#3c786f}.filter-row{display:flex;gap:8px;overflow:auto;margin-bottom:28px}.filter{border:1px solid var(--line);background:transparent;border-radius:99px;padding:10px 16px;white-space:nowrap;cursor:pointer;font-size:13px;font-weight:600}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.template-item{background:#ebe9e1;border-radius:20px;padding:16px;cursor:pointer}.template-item:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(20,32,30,.1)}.template-preview{aspect-ratio:1.586;border-radius:14px;padding:18px;overflow:hidden;position:relative}.template-preview h4{font:800 18px Manrope;margin:10px 0}.template-preview .avatar{position:absolute;width:75px;height:92px;right:17px;bottom:17px;border-radius:38px 38px 12px 12px;font-size:16px}.template-preview p{font-size:9px;margin:0}.template-meta{display:flex;justify-content:space-between;align-items:center;padding:14px 4px 2px}.template-meta h3{font:700 15px Manrope;margin:0}.template-meta span{font-size:11px;color:var(--muted)}.config-section{padding:100px clamp(18px,4vw,65px);background:var(--forest);color:white}.config-heading{text-align:center;margin-bottom:48px}.config-heading h2 em{color:var(--lime)}.kicker.light{color:#8ab8b1}.studio{display:grid;grid-template-columns:360px minmax(0,1fr);max-width:1320px;margin:auto;background:#f7f5ef;color:var(--ink);border-radius:28px;overflow:hidden;box-shadow:0 25px 100px rgba(0,0,0,.2)}.controls{padding:26px;border-right:1px solid var(--line)}.control-tabs{display:flex;padding:4px;background:#e8e8e2;border-radius:11px;margin-bottom:24px}.control-tabs button,.side-toggle button{flex:1;border:0;background:transparent;border-radius:8px;padding:9px;font-size:12px;font-weight:700;cursor:pointer}.control-tabs button.active,.side-toggle button.active{background:white;box-shadow:0 2px 10px rgba(0,0,0,.08)}.control-panel{display:none}.control-panel.active{display:block}.controls label{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:15px}.controls input,.controls select,.controls textarea,.tracking-input input,.admin-login input{width:100%;border:1px solid var(--line);background:white;border-radius:10px;padding:11px 12px;margin-top:7px;outline:none}.controls input:focus,.controls textarea:focus{border-color:#3c786f;box-shadow:0 0 0 3px rgba(60,120,111,.1)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload{border:1px dashed #b9bdb4!important;border-radius:12px;padding:13px;text-align:center;cursor:pointer}.upload input{display:none}.upload span,.upload b,.upload small{display:block}.upload span{font-size:22px}.upload small{color:var(--muted);font-weight:400;margin-top:3px}.color-control{display:flex;gap:8px}.color-control input[type=color]{width:48px;padding:3px;height:42px}.check-row{display:flex!important;align-items:center;gap:9px;letter-spacing:0!important}.check-row input{width:auto!important;margin:0!important}.csv-upload{margin-top:20px!important}.csv-result{font-size:11px;color:#3c786f}.preview-workspace{padding:28px;min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between}.side-toggle{display:flex;background:#e5e5df;padding:4px;border-radius:10px;width:160px}.zoom-label{font-size:11px;color:var(--muted)}.card-stage{min-height:450px;display:grid;place-items:center;perspective:1200px}.live-card{width:min(650px,90%);aspect-ratio:1.586;position:relative;transform-style:preserve-3d;transition:transform .6s;border-radius:26px;box-shadow:0 35px 80px rgba(20,35,30,.19)}.live-card.show-back{transform:rotateY(180deg)}.card-side{position:absolute;inset:0;border-radius:26px;backface-visibility:hidden;overflow:hidden;padding:38px;background:white}.back-side{transform:rotateY(180deg);background:var(--primary,#173f3f);color:white;display:flex;flex-direction:column}.shape-a,.shape-b{position:absolute;border-radius:50%;background:var(--accent,#c9ff4a)}.shape-a{width:240px;height:240px;right:-120px;top:-140px}.shape-b{width:85px;height:85px;left:-42px;bottom:-42px}.live-header{display:flex;align-items:center;gap:12px;position:relative}.live-header>b{margin-left:auto;font-size:10px;background:var(--accent,#c9ff4a);padding:7px 11px;border-radius:20px}.live-logo,.back-logo{width:40px;height:40px;border-radius:11px;background:var(--primary,#173f3f);color:white;display:grid;place-items:center;font:800 13px Manrope;overflow:hidden}.live-logo img,.back-logo img{width:100%;height:100%;object-fit:contain}.live-header>span{font:800 14px Manrope}.live-content{display:flex;align-items:center;gap:30px;margin-top:43px;position:relative}.live-photo{width:145px;height:170px;flex:0 0 auto;border-radius:70px 70px 18px 18px;background:linear-gradient(145deg,#ffc7b7,#8ed8cf);display:grid;place-items:center;font:800 35px Manrope;background-size:cover;background-position:center}.live-info small{font-size:9px;letter-spacing:.14em;color:var(--muted)}.live-info h3{font:800 clamp(24px,3vw,38px) Manrope;margin:6px 0}.live-info p{margin:0;color:var(--muted)}.id-row{display:flex;gap:24px;margin-top:27px;font-size:9px;letter-spacing:.08em}.live-footer{position:absolute;left:38px;right:38px;bottom:28px;display:flex;align-items:end;justify-content:space-between;font-size:9px}.back-logo{background:white;color:var(--primary);width:55px;height:55px}.back-side>p{max-width:320px;line-height:1.5;margin-top:28px}.back-side .magnetic{margin:20px -38px}.barcode.large{background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 6px,transparent 6px 10px);width:230px}.back-side small{margin-top:auto}.order-bar{border-top:1px solid var(--line);display:flex;align-items:center;gap:25px;padding-top:20px}.quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px}.quantity button{border:0;background:none;padding:12px;cursor:pointer}.quantity div{text-align:center;min-width:70px}.quantity small,.price small{display:block;font-size:8px;color:var(--muted);letter-spacing:.1em}.quantity strong{font:800 18px Manrope}.price strong{font:800 22px Manrope;display:block}.price span{font-size:10px;color:var(--muted)}.order-bar>.btn{margin-left:auto}.process{background:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps article{padding:28px;min-height:240px;border-right:1px solid var(--line);position:relative}.steps article:last-child{border:0}.steps article>span{font-size:10px;color:var(--muted)}.step-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e4f6cc;margin:25px 0}.steps h3{font:700 18px Manrope}.steps p{font-size:13px;color:var(--muted);line-height:1.6}.tracking-section{background:var(--coral);padding:90px clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.tracking-section>div>p{max-width:550px;line-height:1.6}.tracking-card{background:white;border-radius:20px;padding:28px;box-shadow:var(--shadow)}.tracking-card label{font-size:11px;font-weight:700}.tracking-input{display:flex;gap:8px}.tracking-input button{border:0;border-radius:10px;background:var(--ink);color:white;padding:0 18px;font-weight:700;margin-top:7px}.timeline{margin-top:25px}.timeline-item{padding:10px 0 10px 22px;border-left:2px solid var(--line);font-size:12px;position:relative}.timeline-item:before{content:"";position:absolute;left:-6px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--lime);border:2px solid white}.admin-section{background:#ebe9e1}.admin-login{display:flex;gap:10px;max-width:520px}.admin-login input{margin:0}.admin-board{margin-top:25px;overflow:auto}.admin-table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:14px;border-bottom:1px solid var(--line);font-size:12px}.admin-table select{padding:7px;border:1px solid var(--line);border-radius:8px}footer{background:var(--ink);color:white;padding:60px clamp(24px,7vw,110px) 30px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start}footer p{color:#9da7a3;margin:0}footer>div{display:flex;gap:16px}footer small{grid-column:1/-1;border-top:1px solid #33403d;padding-top:25px;color:#74807c}dialog{width:min(760px,92vw);border:0;border-radius:24px;padding:32px;box-shadow:0 40px 120px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(15,22,20,.7);backdrop-filter:blur(5px)}dialog h2{font-size:34px;margin:12px 0}.dialog-close{position:absolute;right:20px;top:18px;border:0;background:none;font-size:26px}.bat-preview{margin:25px 0;padding:20px;background:#e9e8e2;border-radius:16px;overflow:auto}.bat-preview .live-card{width:500px;max-width:100%;margin:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#toast{position:fixed;right:18px;bottom:18px;max-width:min(360px,calc(100vw - 28px));background:var(--ink);color:white;padding:14px 16px;border-radius:14px;opacity:0;transform:translateY(16px);pointer-events:none;z-index:120;box-shadow:var(--shadow);font:700 13px Manrope;transition:.25s ease;border-left:4px solid #c8ff3d}#toast.show{opacity:1;transform:none}#toast.ok{border-left-color:#c8ff3d}#toast.error{background:#5a1d1d;border-left-color:#ff8e7a}
@media(max-width:1000px){nav,.topbar>.btn{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:55px}.hero-visual{height:480px}.section-head{align-items:flex-start;flex-direction:column;gap:20px}.template-grid{grid-template-columns:repeat(2,1fr)}.studio{grid-template-columns:310px 1fr}.live-card{width:95%}.tracking-section{grid-template-columns:1fr;gap:30px}.steps{grid-template-columns:repeat(2,1fr)}.steps article:nth-child(2){border-right:0}.steps article:nth-child(-n+2){border-bottom:1px solid var(--line)}footer{grid-template-columns:1fr 1fr}footer p{grid-column:1/-1}}
@media(max-width:720px){.topbar{height:66px}.hero{padding:50px 20px}.hero-actions,.trust-row{flex-direction:column;align-items:stretch}.hero-visual{height:360px}.sample-card{width:310px;border-radius:17px;padding:20px}.card-front{transform:rotate(-4deg) translate(-6px)}.avatar-hero{width:70px;height:85px}.sample-person{margin-top:22px}.sample-person h3{font-size:16px}.card-back{transform:rotate(7deg) translate(26px,28px)}.floating-note{right:5px;bottom:5px}.client-strip{justify-content:flex-start;padding:0 20px}.section,.config-section{padding:70px 18px}.template-grid{grid-template-columns:1fr}.studio{display:block}.controls{border:0;border-bottom:1px solid var(--line)}.preview-workspace{padding:18px 10px}.zoom-label{display:none}.card-stage{min-height:310px}.card-side{padding:22px}.live-content{gap:15px;margin-top:25px}.live-photo{width:90px;height:110px}.live-info h3{font-size:20px}.id-row{gap:8px;flex-direction:column;margin-top:14px}.live-footer{left:22px;right:22px;bottom:18px}.back-side .magnetic{margin:15px -22px}.order-bar{flex-wrap:wrap}.order-bar>.btn{width:100%;margin:0}.steps{grid-template-columns:1fr}.steps article{border-right:0;border-bottom:1px solid var(--line)!important}.tracking-section{padding:65px 20px}.admin-login{flex-direction:column}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}}
.qr-grid{background:#fff!important;border:3px solid #fff!important;box-shadow:0 0 0 1px #17201e!important}
.qr-grid img,.barcode img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.barcode.large{
  background:#fff!important;padding:6px 8px 4px;height:auto;min-height:58px;
  display:flex;flex-direction:column;gap:3px;align-items:stretch;box-sizing:border-box;
}
.barcode.large>img{height:36px;width:100%;object-fit:fill!important;flex:0 0 auto}
.barcode-caption{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.1}
.barcode-caption small{font:800 7px/1 Manrope,sans-serif;letter-spacing:.08em;color:#5a6160;text-transform:uppercase}
.barcode-caption b{font:800 11px/1.1 ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#111;font-variant-numeric:tabular-nums}

.hero{overflow:hidden}
.studio-designs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.studio-design{border:2px solid transparent;border-radius:11px;padding:7px;background:#fff;cursor:pointer;text-align:left}
.studio-design.active{border-color:var(--forest);box-shadow:0 0 0 2px rgba(23,63,63,.12)}
.studio-design i{display:block;height:42px;border-radius:7px;margin-bottom:5px;position:relative;overflow:hidden}
.studio-design i:after{content:"";position:absolute;width:38px;height:38px;border-radius:50%;right:-10px;top:-10px;background:var(--swatch)}
.studio-design span{font-size:9px;font-weight:800}
.customer-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.customer-form label{font-size:11px;font-weight:700}
.customer-form input,.customer-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;margin-top:6px}
.customer-form .wide{grid-column:1/-1}.pickup-note{background:#eff5e7;border-radius:10px;padding:12px;font-size:12px}
html[data-page="home"] .config-section,html[data-page="home"] .admin-section{display:none}
html[data-page="studio"] .hero,html[data-page="studio"] .client-strip,html[data-page="studio"] #catalogue,html[data-page="studio"] .process,html[data-page="studio"] .tracking-section,html[data-page="studio"] .admin-section,html[data-page="studio"] .seo-offer,html[data-page="studio"] .easy-order,html[data-page="studio"] .value-section{display:none!important}
html[data-page="studio"] .config-section{min-height:calc(100vh - 78px)}
html[data-page="admin"] .hero,html[data-page="admin"] .client-strip,html[data-page="admin"] #catalogue,html[data-page="admin"] .config-section,html[data-page="admin"] .process,html[data-page="admin"] .tracking-section,html[data-page="admin"] .student-focus,html[data-page="admin"] .student-faq,html[data-page="admin"] .pool-section,html[data-page="admin"] .easy-order,html[data-page="admin"] #commande-facile,html[data-page="admin"] .value-section,html[data-page="admin"] > body > footer,html[data-page="admin"] body > footer{display:none!important}
html[data-page="admin"],html[data-page="admin"] body{height:100%;overflow:hidden;background:#dfe2d8}
html[data-page="admin"] main{padding:0!important;margin:0!important;max-width:none!important;min-height:100vh;min-height:100dvh}
html[data-page="admin"] .admin-section{padding:0!important;margin:0!important;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;background:#dfe2d8}
html[data-page="admin"] .admin-collection-head{display:none!important}
html[data-page="admin"]:not(.admin-authenticated) .admin-section{display:grid;place-items:center;padding:24px!important}
html[data-page="admin"] #adminWorkspace{height:100%}
html[data-page="admin"].admin-authenticated .admin-shell{max-width:none!important;margin:0!important;height:100vh;height:100dvh;grid-template-columns:248px minmax(0,1fr)!important;gap:0!important;align-items:stretch!important}
html[data-page="admin"].admin-authenticated .admin-sidebar{position:relative!important;top:0!important;min-height:100%!important;height:100%!important;border-radius:0!important;box-shadow:none!important;padding:16px 12px!important}
html[data-page="admin"].admin-authenticated .admin-main{border-radius:0!important;border:0!important;border-left:1px solid #d0d4cb!important;min-height:100%!important;height:100%!important;overflow:auto!important;padding:18px 22px 28px!important;box-shadow:none!important;background:#f4f5f0!important}
html[data-page="admin"] .admin-action-bar{display:none!important}
html[data-page="admin"] .admin-main .admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
html[data-page="admin"] .admin-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
html[data-page="admin"] .admin-head-actions button{border:0;border-radius:10px;background:#edf0e9;color:var(--ink);padding:10px 12px;font-size:11px;font-weight:800;cursor:pointer}
html[data-page="admin"] .admin-head-actions button:hover{background:#e2e7dd}
@media(max-width:1050px){html[data-page="admin"].admin-authenticated .admin-shell{grid-template-columns:82px minmax(0,1fr)!important}}
@media(max-width:720px){html[data-page="admin"],html[data-page="admin"] body{overflow:auto;height:auto}html[data-page="admin"] .admin-section{height:auto;min-height:100dvh}html[data-page="admin"].admin-authenticated .admin-shell{display:block!important;height:auto!important}html[data-page="admin"].admin-authenticated .admin-sidebar{position:sticky!important;top:0!important;z-index:40;min-height:0!important;height:auto!important;border-radius:0!important;padding:8px!important}html[data-page="admin"].admin-authenticated .admin-main{height:auto!important;overflow:visible!important;border-left:0!important;padding:14px 12px 28px!important}}
@media(max-width:720px){.customer-form{grid-template-columns:1fr}.customer-form .wide{grid-column:auto}.studio-designs{grid-template-columns:repeat(2,1fr)}}
.remove-bg{width:100%;border:1px solid #b9bdb4;background:#fff;border-radius:10px;padding:11px;font-weight:750;cursor:pointer;margin-top:10px}
.remove-bg:disabled{opacity:.45;cursor:not-allowed}.privacy-note{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:7px}
.student-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:16px;font-size:8px;letter-spacing:.08em;color:var(--muted)}
.student-meta b{display:block;color:var(--ink);font-size:10px;margin-top:3px}
.institutional-signature{display:flex;align-items:center;gap:calc(7px * var(--content-scale,1));line-height:1.05;font-size:calc(7px * var(--content-scale,1));--content-scale:1}
.institutional-signature i{display:block;width:calc(25px * var(--content-scale,1));height:calc(15px * var(--content-scale,1));border-radius:2px;background:linear-gradient(90deg,#223ea6 0 33%,#fff 33% 66%,#ed2939 66%);box-shadow:0 0 0 1px #ddd}
.institutional-signature .institution-mark{display:block;width:calc(54px * var(--content-scale,1));height:calc(42px * var(--content-scale,1));object-fit:contain;object-position:center;flex:0 0 auto;image-rendering:auto;-webkit-font-smoothing:antialiased}
.institutional-signature .country-flag{display:block;width:calc(28px * var(--content-scale,1));height:calc(18px * var(--content-scale,1));object-fit:cover;object-position:center;border:1px solid rgba(18,31,29,.18);border-radius:2px;background:#fff;flex:0 0 auto}
.institutional-signature small{font-size:calc(6px * var(--content-scale,1));letter-spacing:.08em;color:#777}
.institutional-signature[data-country="fr-official"]{gap:calc(7px * var(--content-scale,1));align-items:center;min-width:calc(190px * var(--content-scale,1));margin-top:calc(6px * var(--content-scale,1));transform:translateY(4px);text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.institutional-signature[data-country="fr-official"] .institution-mark{width:calc(48px * var(--content-scale,1));height:calc(38px * var(--content-scale,1))}
.institutional-signature[data-country="fr-official"]>b{gap:calc(1px * var(--content-scale,1))}
.institutional-signature[data-country="fr-official"]>b>span:first-child{font:800 calc(5.8px * var(--content-scale,1))/1 Manrope,sans-serif;letter-spacing:.04em;color:#555}
.institutional-signature[data-country="fr-official"]>b>span:first-child{display:block!important}
.institutional-signature[data-country="fr-official"]>b>span:nth-child(2){font:800 calc(7.8px * var(--content-scale,1))/1.05 Manrope,sans-serif;letter-spacing:.02em;color:#17201e}
.institutional-signature[data-country="fr-official"] small{font:700 calc(5.8px * var(--content-scale,1))/1.1 Manrope,sans-serif;letter-spacing:.07em;color:#6a736f}
.asset-link{display:inline-flex;padding:5px 8px;border-radius:7px;background:#eef4e4;font-size:10px;font-weight:700;margin:2px}
.live-card[data-template="waves"] .front-side{background:linear-gradient(145deg,#fff 0 72%,#edf7f5 72%)}
.live-card[data-template="waves"] .front-side:before{content:"";position:absolute;width:310px;height:520px;border:18px solid var(--primary);border-radius:50%;left:-245px;top:-75px;transform:rotate(-10deg)}
.live-card[data-template="waves"] .live-photo{border-radius:50%;box-shadow:0 0 0 6px white}
.live-card[data-template="prestige"] .front-side{background:linear-gradient(104deg,var(--primary) 0 32%,var(--accent) 32% 35%,white 35%)}
.live-card[data-template="prestige"] .live-photo{border-radius:50%;box-shadow:0 0 0 8px var(--accent),0 0 0 11px white}
.live-card[data-template="prestige"] .live-logo{background:var(--accent);color:var(--primary)}
.live-card[data-template="prestige"] .live-header>span{color:#fff;max-width:112px;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.live-card[data-template="prestige"] .live-header>b{color:var(--primary);background:var(--accent)}
.live-card[data-template="signal"] .front-side{background:linear-gradient(160deg,#fff 0 72%,#f4f0ee 72%)}
.live-card[data-template="signal"] .live-info h3,.live-card[data-template="signal"] .live-header>b{color:var(--primary)}
.live-card[data-template="signal"] .live-photo{border-radius:16px 52px 16px 16px;box-shadow:8px 8px 0 var(--accent)}
.live-card[data-template="club"] .front-side{background:linear-gradient(112deg,#eef4ef,#fff 48%)}
.live-card[data-template="club"] .live-photo{border-radius:50%;border:5px solid var(--accent)}
.live-card[data-template="club"] .live-header>b{background:var(--primary);color:#fff}
.live-card[data-template="night"] .front-side{background:linear-gradient(145deg,#171b24,#242938);color:#fff}
.live-card[data-template="night"] .live-header>span,.live-card[data-template="night"] .live-info h3,.live-card[data-template="night"] .student-meta b,.live-card[data-template="night"] .id-row b{color:#fff}
.live-card[data-template="night"] .live-info>small,.live-card[data-template="night"] .live-info p,.live-card[data-template="night"] .student-meta,.live-card[data-template="night"] .id-row{color:#b9c1ca}
.live-card[data-template="night"] .live-photo{border:2px solid var(--accent);box-shadow:0 0 30px rgba(100,86,220,.26)}
.live-card[data-template="night"] .live-footer{color:#fff}.live-card[data-template="night"] .institutional-signature small,.live-card[data-template="night"] .institutional-signature>b>span:first-child{color:#b9c1ca}
.live-card[data-template="campus"] .front-side{background:linear-gradient(180deg,#edf6f3 0 18%,#fff 18%)}
.live-card[data-template="campus"] .live-header>b{background:var(--primary);color:#fff}.live-card[data-template="campus"] .live-content{margin-top:40px}
.live-card[data-template="atelier"] .front-side:before{content:"";position:absolute;right:-105px;top:-125px;width:315px;height:315px;background:linear-gradient(135deg,var(--accent),var(--primary));transform:rotate(22deg);border-radius:42px}
.live-card[data-template="atelier"] .live-header>b{color:#fff;z-index:2}.live-card[data-template="atelier"] .live-photo{border-radius:12px;box-shadow:-8px 8px 0 var(--accent)}
.live-card[data-variant="student-france"] .front-side{background:linear-gradient(145deg,#fff 0 76%,#eef8fb 76%)}.live-card[data-variant="student-france"] .front-side:before{content:"";position:absolute;right:-82px;bottom:-202px;width:360px;height:360px;background:linear-gradient(135deg,transparent 0 49.75%,var(--accent) 50.25%,var(--primary) 100%)}.live-card[data-variant="student-france"] .live-content{flex-direction:row-reverse;justify-content:space-between}.live-card[data-variant="student-france"] .live-photo{border-radius:18px;box-shadow:0 0 0 5px #fff}.live-card[data-variant="student-france"] .live-info{max-width:58%}.live-card[data-variant="student-france"] .live-footer{z-index:4;align-items:center}.live-card[data-variant="student-france"] .institutional-signature{max-width:250px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 5px 16px rgba(18,31,29,.1)}.live-card[data-variant="student-france"] .qr-grid{margin-right:3px}
.live-card[data-variant="student-london"] .front-side{background:linear-gradient(180deg,var(--primary) 0 18%,#fff 18% 92%,var(--accent) 92%)}.live-card[data-variant="student-london"] .live-header>span{color:#fff}.live-card[data-variant="student-london"] .live-header>b{background:var(--accent);color:#fff}.live-card[data-variant="student-london"] .live-content{margin-top:40px}.live-card[data-variant="student-london"] .live-photo{border-radius:15px;border:4px solid var(--primary)}
.live-card[data-variant="student-italy"] .front-side{background:linear-gradient(90deg,#edf5f0 0 11%,#fff 11% 89%,#f8eeee 89%)}.live-card[data-variant="student-italy"] .live-header>b{color:var(--primary);border-bottom:3px solid var(--accent)}.live-card[data-variant="student-italy"] .live-photo{border-radius:50%;box-shadow:0 0 0 5px #fff,0 0 0 8px var(--primary)}
.live-card[data-template="geometry"] .front-side:before{content:"";position:absolute;right:-80px;bottom:-170px;width:390px;height:390px;background:linear-gradient(135deg,transparent 0 49.75%,var(--accent) 50.25%,var(--primary) 100%)}
.live-card[data-template="geometry"] .live-content{flex-direction:row-reverse;justify-content:space-between}
.live-card[data-template="geometry"] .live-photo{border-radius:16px;box-shadow:0 0 0 7px white}
.live-card[data-template="geometry"] .live-info{max-width:58%}
.live-card[data-template="ribbon"] .front-side{background:linear-gradient(180deg,var(--primary) 0 22%,white 22%)}
.live-card[data-template="ribbon"] .live-header>span{color:white}.live-card[data-template="ribbon"] .live-header>b{background:var(--accent)}
.live-card[data-template="ribbon"] .live-content{margin-top:62px}.live-card[data-template="ribbon"] .live-photo{border:4px solid var(--primary);border-radius:22px}
.live-card[data-template="editorial"] .front-side{background:linear-gradient(90deg,#fbf0eb 0 15%,white 15%)}
.live-card[data-template="editorial"] .live-photo{border-radius:0;box-shadow:-9px 0 0 var(--accent)}
.live-card[data-template="editorial"] .live-info h3{color:var(--accent)}
.template-item[data-template="waves"] .template-preview{background:radial-gradient(ellipse at -10% 50%,transparent 0 30%,#4b9f9d 31% 37%,transparent 38%),#f9fbfa!important}
.template-item[data-template="prestige"] .template-preview{background:linear-gradient(105deg,#172943 0 24%,#e8c76a 24% 28%,#fff 28%)!important}
.template-item[data-template="geometry"] .template-preview:after{content:"";position:absolute;right:-45px;bottom:-75px;width:180px;height:180px;background:linear-gradient(135deg,#20a9dc,#29338f);clip-path:polygon(100% 0,100% 100%,0 100%)}
.template-item[data-template="ribbon"] .template-preview{background:linear-gradient(180deg,#245e5c 0 25%,#fff 25%)!important}
.template-item[data-template="editorial"] .template-preview{background:linear-gradient(90deg,#e8edcb 0 16%,#fff 16%)!important}
@media(max-width:720px){.student-meta{display:none}.live-card[data-template="ribbon"] .live-content{margin-top:35px}.live-card[data-template="geometry"] .live-info{max-width:62%}}
.wizard-progress{height:5px;background:#e4e5de;border-radius:99px;overflow:hidden;margin-bottom:12px}.wizard-progress span{display:block;height:100%;width:33.333%;background:var(--forest);border-radius:inherit;transition:width .25s}
.control-tabs button{display:flex;align-items:center;justify-content:center;gap:6px}.control-tabs button i{font-style:normal;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#d9ddd4;font-size:9px}.control-tabs button.active i{background:var(--lime)}
.wizard-nav{display:flex;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.wizard-nav button{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;font-weight:750;cursor:pointer}.wizard-nav button:last-child{background:var(--ink);color:#fff}.wizard-nav button:disabled{opacity:.35}
.draft-status{display:block;text-align:center;color:var(--muted);font-size:9px;margin-top:10px}
.export-actions{display:flex;gap:6px;margin-left:auto}.export-actions button{border:1px solid var(--line);background:white;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer}.export-actions button:disabled{opacity:.5}
.export-card{position:fixed!important;left:-10000px!important;top:0!important;width:650px!important;height:410px!important;max-width:none!important;aspect-ratio:auto!important;zoom:1!important;transform:none!important;transition:none!important;box-shadow:none!important;z-index:-1!important;overflow:hidden!important;border-radius:0!important;clip-path:none!important;-webkit-clip-path:none!important;mask:none!important;-webkit-mask:none!important;background:#fff!important}
.export-card>.card-side{position:absolute!important;inset:0!important;width:650px!important;height:410px!important;transform:none!important;backface-visibility:visible!important;-webkit-backface-visibility:visible!important;overflow:hidden!important;border-radius:0!important;clip-path:none!important;-webkit-clip-path:none!important;mask:none!important;-webkit-mask:none!important}
.export-card .selected-layer,.export-card.layout-editing .editable-layer{outline:none!important;box-shadow:none!important}
.export-card .live-photo{overflow:hidden!important}
.export-card .live-photo .portrait-image{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important}
.export-card .qr-grid svg,.export-card .qr-grid img{width:100%!important;height:100%!important;display:block!important}
.export-card *{animation:none!important;transition:none!important}
@media(max-width:720px){
  .config-heading{margin-bottom:24px}.config-heading h2{font-size:34px}
  .controls{padding:18px}.control-tabs{position:sticky;top:66px;z-index:20}.control-tabs button{min-height:44px;font-size:11px}
  .controls input,.controls select,.controls textarea{min-height:46px;font-size:16px}
  .upload{min-height:92px;display:grid;place-content:center}.remove-bg{min-height:46px}
  .wizard-nav{position:sticky;bottom:0;z-index:25;background:#f7f5ef;padding:12px 0 4px;margin-left:-2px;margin-right:-2px}
  .wizard-nav button{min-height:48px}.preview-toolbar{flex-wrap:wrap;gap:10px}.export-actions{order:3;width:100%;margin:0}.export-actions button{flex:1;min-height:42px}
  .side-toggle{width:100%;max-width:190px}.card-stage{min-height:285px}.live-card{width:100%}
  .order-bar{position:sticky;bottom:0;background:#f7f5ef;z-index:20;padding:14px 6px 6px;margin:0 -6px}.quantity button{min-width:46px;min-height:46px}
}

/* Connexion et retours instantanés */
.admin-login-submit{position:relative;isolation:isolate;overflow:hidden;transition:transform .2s ease,box-shadow .25s ease,filter .2s ease!important}
.admin-login-submit:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(201,255,74,.22) 46%,transparent 72%);transform:translateX(-120%);transition:transform .55s ease;z-index:-1}
.admin-login-submit:hover:before{transform:translateX(120%)}
.admin-login-submit.is-loading{cursor:wait;transform:none!important;box-shadow:0 0 0 4px rgba(201,255,74,.13)!important}
.admin-login-submit.is-loading:after{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.32);border-top-color:#c9ff4a;border-radius:50%;animation:adminSpin .7s linear infinite}
.admin-login-loading-label{animation:adminLoadingPulse 1s ease-in-out infinite}
.admin-login-alert[data-tone="ok"]{display:flex;align-items:center;gap:9px;animation:adminAlertIn .24s ease both}
.admin-login-alert[data-tone="ok"]:before{content:"";width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#4d9a60;box-shadow:0 0 0 0 rgba(77,154,96,.28);animation:adminStatusPulse 1.4s ease-out infinite}
#toast{display:flex!important;align-items:center;gap:10px;min-height:48px;padding:12px 16px 12px 12px!important;border:1px solid rgba(255,255,255,.09);transform:translate3d(0,18px,0) scale(.98)!important;transition:opacity .24s ease,transform .34s cubic-bezier(.22,1,.36,1)!important}
#toast:before{content:"✓";display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border-radius:9px;background:rgba(201,255,74,.14);color:#c9ff4a;font-weight:950}
#toast.error:before{content:"!";background:rgba(255,142,122,.16);color:#ffb2a4}
#toast.show{transform:translate3d(0,0,0) scale(1)!important}
.admin-main.admin-view-pulse .admin-board{animation:adminContentEnter .34s cubic-bezier(.22,1,.36,1) both}
.admin-sidebar-nav button svg,.admin-sidebar-nav a svg{transition:transform .22s ease,color .22s ease}
.admin-sidebar-nav button:hover svg,.admin-sidebar-nav a:hover svg,.admin-sidebar-nav button.active svg{transform:translateX(2px) scale(1.06)}
.admin-identity-dialog[open]{animation:adminModalIn .34s cubic-bezier(.22,1,.36,1) both}
.admin-identity-dialog[open]::backdrop{animation:adminBackdropIn .25s ease both}
@keyframes adminSpin{to{transform:rotate(360deg)}}
@keyframes adminLoadingPulse{50%{opacity:.62}}
@keyframes adminAlertIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes adminStatusPulse{70%{box-shadow:0 0 0 7px rgba(77,154,96,0)}}
@keyframes adminContentEnter{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes adminModalIn{from{opacity:0;transform:translateY(15px) scale(.975)}to{opacity:1;transform:none}}
@keyframes adminBackdropIn{from{background:rgba(9,20,17,0);backdrop-filter:blur(0)}to{background:rgba(9,20,17,.68);backdrop-filter:blur(8px)}}
@media(prefers-reduced-motion:reduce){.admin-login-submit:before,.admin-login-submit.is-loading:after,.admin-login-loading-label,.admin-login-alert[data-tone="ok"]:before,.admin-main.admin-view-pulse .admin-board,.admin-identity-dialog[open]{animation:none!important}}
[hidden]{display:none!important}.privacy-disclosure{font-size:10px!important;color:var(--muted);line-height:1.5;margin:10px 0}
.admin-login-card{width:min(420px,100%);margin:auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;display:grid;gap:14px;box-shadow:0 20px 60px rgba(20,32,30,.08)}
.admin-login-brand{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:4px}
.admin-login-brand .mark{width:42px;height:42px;border-radius:12px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:900 12px Manrope}
.admin-login-brand b,.admin-login-brand small{display:block}.admin-login-brand b{font:800 14px Manrope}.admin-login-brand small{font-size:10px;color:var(--muted);margin-top:2px;letter-spacing:.04em}
.admin-login-card h3{margin:0;font:800 22px Manrope}.admin-login-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.admin-lock{width:42px;height:42px;border-radius:12px;background:var(--lime);display:grid;place-items:center;font-size:24px}
.admin-login{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}.admin-login input:not([type=checkbox]){min-height:48px;width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fafaf7}.admin-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--ink);color:#fff;border-radius:16px;margin-bottom:18px}.admin-head div{display:flex;flex-direction:column}.admin-head small{font-size:8px;letter-spacing:.15em;color:#9ca9a5}
.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px}.admin-stat small{font-size:8px;letter-spacing:.1em;color:var(--muted)}.admin-stat strong{display:block;font:800 24px Manrope;margin-top:8px}.admin-stat span{font-size:9px;color:var(--muted)}
.admin-tools{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:18px 0}.admin-view-tabs{display:flex;background:#dddcd5;padding:4px;border-radius:11px}.admin-view-tabs button{border:0;background:transparent;padding:9px 16px;border-radius:8px;font-weight:750;cursor:pointer}.admin-view-tabs button.active{background:#fff}.admin-tools input{width:min(420px,50%);border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}
.admin-table button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-weight:700;cursor:pointer}.admin-table .contact-cell a{display:inline-flex;margin:2px 0;color:#256b64;font-weight:650}
.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.client-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.client-card h3{margin:0 0 5px;font:800 17px Manrope}.client-card p{font-size:11px;color:var(--muted);margin:4px 0}.client-card .client-totals{display:flex;gap:20px;margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.client-card .client-totals b{display:block}.client-card .client-totals small{font-size:8px;color:var(--muted)}
.admin-detail-dialog{width:min(1100px,94vw);max-height:92vh;overflow:auto}.admin-detail-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:27px}.detail-head{display:flex;justify-content:space-between;gap:20px;padding-right:35px}.detail-head h2{margin:5px 0}.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;margin-top:20px}.detail-panel{background:#f2f1eb;border-radius:16px;padding:18px}.detail-panel h3{font:800 15px Manrope;margin:0 0 14px}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-meta div{background:#fff;border-radius:10px;padding:10px}.detail-meta small{display:block;color:var(--muted);font-size:8px;margin-bottom:4px}.contact-actions{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.contact-actions a{border-radius:9px;background:var(--ink);color:#fff;padding:9px 12px;font-size:10px;font-weight:700}.contact-actions a.whatsapp{background:#228b5a}
.admin-production-card{width:min(570px,100%);margin:12px auto 20px}.detail-downloads{display:flex;gap:8px;flex-wrap:wrap}.detail-downloads button,.detail-downloads a{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;font-size:10px;font-weight:750;cursor:pointer}.technical-meta{font-family:ui-monospace,Consolas,monospace;font-size:9px;word-break:break-all;color:#59635f}
@media(max-width:1000px){.admin-stats{grid-template-columns:repeat(3,1fr)}.client-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}
@media(max-width:720px){.admin-login-card{padding:22px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-tools{align-items:stretch;flex-direction:column}.admin-tools input{width:100%;min-height:46px}.client-grid{grid-template-columns:1fr}.admin-head{position:sticky;top:66px;z-index:30}.detail-meta{grid-template-columns:1fr}.admin-detail-dialog{padding:20px}.admin-table{min-width:900px}}

/* Studio guid? : design d?abord, personnalisation compl?te */
.panel-intro{padding:0 2px 14px}.panel-intro b,.panel-intro small{display:block}.panel-intro b{font:800 16px Manrope}.panel-intro small{color:var(--muted);font-size:10px;line-height:1.45;margin-top:4px}
.selected-design-preview{display:grid;grid-template-columns:1fr;gap:9px;align-items:stretch;margin-bottom:13px;padding:9px;border:1px solid var(--line);border-radius:15px;background:#fff}
.selected-design-card{position:relative;overflow:hidden;width:100%;aspect-ratio:1.586;border-radius:11px;padding:14px;background:var(--preview-bg);color:var(--preview-primary);box-shadow:0 9px 20px rgba(24,34,31,.1)}
.selected-design-card:after{content:"";position:absolute;right:-35px;bottom:-55px;width:135px;height:135px;border:24px solid var(--preview-accent);border-radius:50%}
.preview-brand{display:flex;align-items:center;gap:7px;position:relative;z-index:2}.preview-brand span{width:23px;height:23px;border-radius:7px;background:var(--preview-primary);color:#fff;display:grid;place-items:center;font:800 6px Manrope}.preview-brand b{font:800 6px/1.05 Manrope;max-width:64px;overflow-wrap:anywhere}
.selected-design-card>strong{position:absolute;left:14px;top:51px;font:800 13px/1 Manrope;max-width:105px;z-index:2}.preview-person{position:absolute;right:13px;bottom:12px;display:flex;align-items:end;gap:7px;z-index:2}.preview-person>i{width:35px;height:43px;border-radius:18px 18px 6px 6px;background:linear-gradient(145deg,var(--preview-accent),var(--preview-primary));color:#fff;display:grid;place-items:center;font:800 7px Manrope}.preview-person div{display:flex;flex-direction:column}.preview-person small{font-size:4px}.preview-person b{font:800 6px Manrope}.preview-person em{font-size:5px;font-style:normal}
.selected-design-info{padding:3px 3px 2px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px}.selected-design-info>small{font-size:7px;letter-spacing:.12em;color:#38786f;font-weight:800}.selected-design-info h3{font:800 14px Manrope;margin:0}.selected-design-info p{grid-column:1/-1;font-size:8px;line-height:1.45;color:var(--muted);margin:5px 0 7px}.selected-design-info>div{grid-column:1/-1;display:flex;align-items:center;gap:5px}.selected-design-info i{width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.selected-design-info span{font-size:7px;color:var(--muted)}
.selected-design-card[data-preview-template="prestige"]{background:linear-gradient(105deg,var(--preview-primary) 0 45%,var(--preview-accent) 45% 49%,#fff 49%)}.selected-design-card[data-preview-template="prestige"] .preview-brand b{color:#fff}.selected-design-card[data-preview-template="prestige"]>strong{left:52%;color:var(--preview-primary);max-width:120px}.selected-design-card[data-preview-template="prestige"]:after{display:none}
.selected-design-card[data-preview-template="signal"]{background:linear-gradient(155deg,#fff 0 70%,color-mix(in srgb,var(--preview-accent) 35%,white) 70%)}.selected-design-card[data-preview-template="signal"] .preview-person>i{border-radius:7px 20px 7px 7px}
.selected-design-card[data-preview-template="club"]{background:linear-gradient(112deg,color-mix(in srgb,var(--preview-accent) 20%,white),#fff 48%)}.selected-design-card[data-preview-template="club"] .preview-person>i{border-radius:50%}
.selected-design-card[data-preview-template="night"]{background:linear-gradient(145deg,#171b24,#242938);color:#fff}.selected-design-card[data-preview-template="night"] .preview-brand b,.selected-design-card[data-preview-template="night"] .preview-person small{color:#d9dce3}
.selected-design-card[data-preview-template="campus"]{background:linear-gradient(180deg,color-mix(in srgb,var(--preview-accent) 30%,white) 0 24%,#fff 24%)}
.selected-design-card[data-preview-template="atelier"]:after{border:0;border-radius:24px;background:linear-gradient(145deg,var(--preview-accent),var(--preview-primary));transform:rotate(25deg);right:-52px;top:-55px}
.selected-design-card[data-preview-template="waves"]{background:radial-gradient(ellipse at -10% 50%,transparent 0 30%,var(--preview-primary) 31% 37%,transparent 38%),#fff}
.selected-design-card[data-preview-template="geometry"]:after{border:0;border-radius:0;background:linear-gradient(145deg,var(--preview-accent),var(--preview-primary));clip-path:polygon(100% 0,100% 100%,0 100%)}
.selected-design-card[data-preview-template="ribbon"]{background:linear-gradient(180deg,var(--preview-primary) 0 25%,#fff 25%)}.selected-design-card[data-preview-template="ribbon"] .preview-brand b{color:#fff}
.selected-design-card[data-preview-template="editorial"]{background:linear-gradient(90deg,color-mix(in srgb,var(--preview-accent) 18%,white) 0 16%,#fff 16%)}
.selected-design-card[data-preview-template="student-france"]{background:linear-gradient(145deg,#fff 0 73%,var(--preview-accent) 73% 82%,var(--preview-primary) 82%)}.selected-design-card[data-preview-template="student-london"]{background:linear-gradient(180deg,var(--preview-primary) 0 22%,#fff 22% 90%,var(--preview-accent) 90%)}.selected-design-card[data-preview-template="student-london"] .preview-brand b{color:#fff}.selected-design-card[data-preview-template="student-italy"]{background:linear-gradient(90deg,color-mix(in srgb,var(--preview-primary) 22%,white) 0 13%,#fff 13% 87%,color-mix(in srgb,var(--preview-accent) 22%,white) 87%)}
.design-filter-row{display:flex;gap:6px;overflow:auto;padding:1px 0 9px;scrollbar-width:none}.design-filter-row button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:7px 10px;font-size:8px;font-weight:800;white-space:nowrap;cursor:pointer}.design-filter-row button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.student-country-presets{margin:0 0 10px;padding:10px;border-radius:13px;background:#eef2ec;border:1px solid #dce3d8}.student-country-presets>small{font-size:7px;font-weight:900;letter-spacing:.11em;color:#4d7068}.student-country-presets>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.student-country-presets button{min-width:0;display:flex;align-items:center;gap:5px;border:1px solid #d6ddd2;background:#fff;border-radius:9px;padding:7px 5px;text-align:left;cursor:pointer}.student-country-presets button:hover,.student-country-presets button.active{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}.student-country-presets button>i{font-style:normal;font-size:15px}.student-country-presets button span{min-width:0}.student-country-presets button b,.student-country-presets button small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-country-presets button b{font-size:8px}.student-country-presets button small{font-size:6px;color:var(--muted);margin-top:2px}
.studio-designs{grid-template-columns:1fr;max-height:350px;overflow:auto;padding:2px 5px 2px 2px;scrollbar-width:thin}
.studio-design{display:grid;grid-template-columns:112px 1fr 20px;align-items:center;gap:10px;min-height:80px;padding:7px;border-color:var(--line);position:relative}
.studio-design:hover{border-color:#8da29d;transform:translateY(-1px)}
.studio-design.active{border-color:var(--forest);background:#eef4ef}
.studio-design .studio-design-preview{display:block;height:66px;aspect-ratio:1.586;border-radius:8px;position:relative;overflow:hidden;padding:8px;color:var(--swatch-primary)}
.studio-design .studio-design-preview:after{content:"";position:absolute;width:58px;height:58px;border-radius:50%;right:-24px;top:-23px;background:var(--swatch)}
.studio-design .studio-design-preview>i{display:grid;width:28px;height:34px;border-radius:14px 14px 5px 5px;background:linear-gradient(145deg,var(--swatch),var(--swatch-primary));color:#fff;place-items:center;font:800 7px Manrope;position:absolute;right:8px;bottom:7px;margin:0}
.studio-design .studio-design-preview>i:after{content:none}
.studio-design .studio-design-preview>b{display:block;font:800 8px/1.05 Manrope;letter-spacing:-.03em;max-width:55px}.studio-design .studio-design-preview>small{position:absolute;left:8px;bottom:8px;font-size:6px}
.studio-design[data-studio-template="organic"] .studio-design-preview{background:radial-gradient(circle at -5% 110%,transparent 0 34%,var(--swatch) 35% 46%,transparent 47%),#f9f8f2!important}
.studio-design[data-studio-template="signal"] .studio-design-preview{background:linear-gradient(155deg,#fff 0 68%,color-mix(in srgb,var(--swatch) 38%,white) 68%)!important}
.studio-design[data-studio-template="club"] .studio-design-preview{background:linear-gradient(112deg,color-mix(in srgb,var(--swatch) 25%,white),#fff 50%)!important}
.studio-design[data-studio-template="night"] .studio-design-preview{background:linear-gradient(145deg,#171b24,#292e3f)!important;color:#fff!important}
.studio-design[data-studio-template="campus"] .studio-design-preview{background:linear-gradient(180deg,color-mix(in srgb,var(--swatch) 35%,white) 0 25%,#fff 25%)!important}
.studio-design[data-studio-template="atelier"] .studio-design-preview{background:linear-gradient(145deg,#f2eee6 0 72%,var(--swatch) 72%)!important}
.studio-design[data-studio-template="waves"] .studio-design-preview{background:radial-gradient(ellipse at -10% 50%,transparent 0 30%,var(--swatch-primary) 31% 37%,transparent 38%),#fff!important}
.studio-design[data-studio-template="prestige"] .studio-design-preview{background:linear-gradient(105deg,var(--swatch-primary) 0 38%,var(--swatch) 38% 43%,#fff 43%)!important}.studio-design[data-studio-template="prestige"] .studio-design-preview>b{margin-left:43%;color:var(--swatch-primary)}.studio-design[data-studio-template="prestige"] .studio-design-preview>small{left:47%;color:var(--swatch-primary)}
.studio-design[data-studio-template="geometry"] .studio-design-preview{background:linear-gradient(145deg,#fff 0 72%,var(--swatch) 72%)!important}
.studio-design[data-studio-template="ribbon"] .studio-design-preview{background:linear-gradient(180deg,var(--swatch-primary) 0 27%,#fff 27%)!important}.studio-design[data-studio-template="ribbon"] .studio-design-preview>b{margin-top:18px}
.studio-design[data-studio-template="editorial"] .studio-design-preview{background:linear-gradient(90deg,color-mix(in srgb,var(--swatch) 22%,white) 0 18%,#fff 18%)!important}.studio-design[data-studio-template="editorial"] .studio-design-preview>b,.studio-design[data-studio-template="editorial"] .studio-design-preview>small{margin-left:18%}
.studio-design[data-studio-template="student-france"] .studio-design-preview{background:linear-gradient(145deg,#fff 0 72%,var(--swatch) 72% 82%,var(--swatch-primary) 82%)!important}.studio-design[data-studio-template="student-london"] .studio-design-preview{background:linear-gradient(180deg,var(--swatch-primary) 0 25%,#fff 25% 90%,var(--swatch) 90%)!important}.studio-design[data-studio-template="student-london"] .studio-design-preview>b{margin-top:18px}.studio-design[data-studio-template="student-italy"] .studio-design-preview{background:linear-gradient(90deg,color-mix(in srgb,var(--swatch-primary) 25%,white) 0 14%,#fff 14% 86%,color-mix(in srgb,var(--swatch) 25%,white) 86%)!important}
.studio-design-copy{min-width:0}.studio-design-copy b,.studio-design-copy small{display:block;text-align:left}.studio-design-copy b{font:800 11px Manrope}.studio-design-copy small{font-size:8px;color:var(--muted);margin-top:3px}
.studio-design>em{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font:700 9px sans-serif;opacity:0;font-style:normal}.studio-design.active>em{opacity:1}
.select-model{margin-top:15px}
.quick-fill{padding:13px;border-radius:14px;background:#eef3e9;border:1px solid #d8e1cf;margin-bottom:15px}.quick-fill>small{font-size:7px;letter-spacing:.13em;color:#457168;font-weight:900}.quick-fill>div{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0}.quick-fill button{border:1px solid #cbd8c4;border-radius:8px;background:#fff;padding:8px 6px;font-size:9px;font-weight:800;cursor:pointer}.quick-fill button:hover,.quick-fill button.active{background:var(--forest);border-color:var(--forest);color:#fff}.quick-fill p{font-size:8px;line-height:1.45;color:var(--muted);margin:0}
.advanced-card-settings{border:1px solid var(--line);border-radius:13px;background:#fff;margin-top:16px}.advanced-card-settings summary{cursor:pointer;list-style:none;padding:13px;font-size:11px;font-weight:800;display:flex;justify-content:space-between;gap:10px}.advanced-card-settings summary::-webkit-details-marker{display:none}.advanced-card-settings summary span{font-size:8px;color:#3c786f}.advanced-fields{padding:2px 13px 1px;border-top:1px solid var(--line)}.advanced-fields label:first-child{margin-top:12px}
.sample-portraits{margin:15px 0}.sample-portraits>small{font-size:8px;color:var(--muted);font-weight:800;letter-spacing:.1em}.sample-portraits>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.sample-portraits button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 5px;cursor:pointer}.sample-portraits button:hover{border-color:var(--forest)}.sample-portraits button span{display:block;font-size:8px;font-weight:700;margin-top:5px}.sample-face{width:40px;height:44px;border-radius:19px 19px 8px 8px;display:grid;place-items:center;margin:auto;position:relative;overflow:hidden;font:800 10px Manrope}.sample-face:before{content:"";width:19px;height:23px;border-radius:50%;background:#d8a07c;position:absolute;top:5px}.sample-face:after{content:"";width:34px;height:22px;border-radius:50% 50% 0 0;background:#29338f;position:absolute;bottom:-8px}.face-a{background:#f2ddc8}.face-a:before{box-shadow:0 -5px 0 #39251e}.face-b{background:#d7f0e9}.face-b:before{background:#c68c69;box-shadow:0 -5px 0 #182129}.face-b:after{background:#2f7776}.face-initials:before,.face-initials:after{display:none}.face-initials{background:linear-gradient(145deg,#ffc7b7,#8ed8cf);color:#173f3f}
.institutional-signature>b{display:flex;flex-direction:column;gap:calc(1px * var(--content-scale,1))}.institutional-signature>b>span:first-child{font-size:calc(6px * var(--content-scale,1));color:#555;letter-spacing:.03em}.institutional-signature>b>span:nth-child(2){font-size:calc(8px * var(--content-scale,1))}.institutional-signature i.flag-tn{background:radial-gradient(circle at 58% 50%,#e70013 0 15%,#fff 16% 28%,transparent 29%),#e70013}.institutional-signature i.flag-none{display:none}
.institutional-signature i.flag-it{background:linear-gradient(90deg,#009246 0 33.33%,#fff 33.33% 66.66%,#ce2b37 66.66%)}.institutional-signature i.flag-uk{background:linear-gradient(90deg,transparent 42%,#fff 42% 58%,transparent 58%),linear-gradient(transparent 37%,#fff 37% 63%,transparent 63%),linear-gradient(90deg,transparent 46%,#cf142b 46% 54%,transparent 54%),linear-gradient(transparent 43%,#cf142b 43% 57%,transparent 57%),#012169}
.background-tools{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;margin-top:9px}.background-tools label{margin:0;font-size:8px}.background-tools input{margin:5px 0 0!important;padding:0!important;min-height:18px!important}.background-tools button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font-size:8px;font-weight:800;cursor:pointer}.background-tools button:disabled{opacity:.45}
.portrait-tools{margin:13px 0 4px;padding:13px;border:1px solid #d5ded7;border-radius:14px;background:linear-gradient(145deg,#f4f7f2,#fff)}.portrait-tools[hidden]{display:none!important}.portrait-tools header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.portrait-tools header span small,.portrait-tools header span b{display:block}.portrait-tools header small{font-size:7px;letter-spacing:.12em;color:#3c786f}.portrait-tools header b{font:800 11px Manrope;margin-top:2px}.portrait-tools header button,.portrait-preview-button{border:1px solid #ccd7cf;background:#fff;border-radius:8px;padding:8px 9px;font-size:8px;font-weight:800;cursor:pointer}.portrait-tools>label,.portrait-position-grid label{margin:0 0 9px;font-size:8px}.portrait-tools output{float:right;color:#3c786f;font-weight:900}.portrait-tools input[type="range"]{margin:5px 0 0!important;padding:0!important;min-height:18px!important}.portrait-position-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.portrait-preview-button{width:100%;margin-top:1px}.portrait-preview-button.active{background:var(--forest);border-color:var(--forest);color:#fff}.portrait-tools>small{display:block;margin-top:8px;color:var(--muted);font-size:7px;line-height:1.45}.live-photo{overflow:hidden}.live-photo .portrait-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;pointer-events:none;user-select:none;transform-origin:center;will-change:transform}.live-card.portrait-crop-active .live-photo{cursor:grab;outline:3px dashed var(--accent);outline-offset:4px}.live-card.portrait-crop-active .live-photo:active{cursor:grabbing}

@media(max-width:720px){
  .control-tabs{position:sticky;top:66px;z-index:20}
  .selected-design-preview{grid-template-columns:1fr}.selected-design-info{padding:2px 3px 4px}.selected-design-info p{font-size:9px}.selected-design-card{width:100%}
  .studio-designs{grid-template-columns:repeat(2,minmax(150px,1fr));display:grid;max-height:335px}
  .studio-design{grid-template-columns:1fr 18px;min-height:128px}
  .studio-design .studio-design-preview{grid-column:1/-1;width:100%;height:auto;aspect-ratio:1.586}
  .studio-design .studio-design-preview>b{font-size:9px}.studio-design .studio-design-preview>i{width:32px;height:39px}
  .studio-design-copy b{font-size:10px}
}

/* ?diteur libre et studio administrateur */
.layout-toolbar{display:flex;align-items:center;gap:8px;margin-top:14px;padding:9px;background:#ebece6;border-radius:12px;min-height:48px}.layout-toolbar button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.layout-toolbar button.active{background:var(--ink);color:#fff}.layout-toolbar>button:last-child{margin-left:auto}.layout-toolbar #layerControls{display:flex;align-items:center;gap:8px;min-width:0}.layout-toolbar #layerControls>span{font-size:9px;font-weight:800;white-space:nowrap}.layout-toolbar #layerControls label{display:flex;align-items:center;gap:5px;margin:0;font-size:8px}.layout-toolbar input[type=range]{width:90px;margin:0;padding:0}
.layout-editing .editable-layer{cursor:grab;outline:1px dashed rgba(23,63,63,.42);outline-offset:4px;touch-action:none;user-select:none}.layout-editing .editable-layer:hover{outline:2px solid var(--accent)}.layout-editing .editable-layer.selected-layer{outline:2px solid #ff7355;box-shadow:0 0 0 4px rgba(255,115,85,.15);z-index:20}.brand-logo{border-radius:5px!important;background:transparent!important}.brand-logo img{object-fit:contain}
.admin-studio-tools{background:#17201e;color:#fff;border-radius:14px;padding:14px;margin-bottom:16px;display:grid;gap:10px}
.admin-studio-tools-head{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid #34403d;margin-bottom:2px}
.admin-studio-tools-head span{font-size:8px;letter-spacing:.12em;color:var(--lime)}
.admin-studio-tools-head b{font-size:12px}
.admin-studio-back{font-size:10px;font-weight:800;color:#c7d0cd;text-decoration:none;margin-top:4px}
.admin-studio-back:hover{color:#fff}
.admin-studio-tools label{color:#dbe0dd;display:grid;gap:5px;font-size:10px;font-weight:700}
.admin-studio-tools select{background:#29322f;color:#fff;border:1px solid #44504c;border-radius:9px;padding:9px 10px}
.admin-studio-actions{display:grid;gap:7px}
.admin-studio-tools button{width:100%;border:0;border-radius:9px;background:var(--lime);color:var(--ink);font-weight:800;padding:10px;cursor:pointer}
.admin-studio-tools .admin-secondary-button{background:#fff;color:var(--ink);border:1px solid #4d5a56}
.design-link-result{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:2px}
.design-link-result input{min-width:0;margin:0!important;padding:8px!important;background:#29322f!important;color:#fff;border:1px solid #44504c;border-radius:8px}
.design-link-result button{width:auto;background:var(--lime)}
.admin-orders-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:4px;border-radius:14px;background:#ebece6;border:1px solid #d9dcd4}
.admin-orders-tabs button{flex:1;min-width:120px;border:0;border-radius:10px;background:transparent;color:var(--ink);padding:10px 12px;font-size:11px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.admin-orders-tabs button b{min-width:22px;border-radius:99px;background:#fff;padding:2px 7px;font-size:9px}
.admin-orders-tabs button.active{background:var(--ink);color:#fff}
.admin-orders-tabs button.active b{background:var(--lime);color:var(--ink)}
@media(max-width:720px){.admin-orders-tabs{gap:4px;padding:3px}.admin-orders-tabs button{min-width:0;padding:9px 8px;font-size:10px}}
.admin-action-bar{display:flex;align-items:center;gap:16px;background:#dff5c4;border:1px solid #c3df9e;border-radius:16px;padding:14px 16px;margin-bottom:18px}.admin-action-bar span{font-size:11px;color:#52634c}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.preset-card{display:grid;grid-template-columns:92px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.preset-swatch{min-height:90px;border-radius:12px;background:linear-gradient(145deg,var(--preset-primary),var(--preset-accent));display:grid;place-items:center}.preset-swatch span{width:40px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center;font-weight:900}.preset-card small{font-size:7px;letter-spacing:.12em;color:var(--muted)}.preset-card h3{font:800 16px Manrope;margin:4px 0}.preset-card p{font-size:9px;color:var(--muted)}.preset-card div>div{display:flex;gap:6px;align-items:center}.preset-card a,.preset-card button{border:0;border-radius:8px;padding:8px;background:var(--ink);color:#fff;font-size:8px;font-weight:800;cursor:pointer}.preset-card button{background:#f2e0dd;color:#8c3024}

@media(max-width:900px){.preset-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.layout-toolbar{flex-wrap:wrap}.layout-toolbar #layerControls{order:3;width:100%;justify-content:space-between}.layout-toolbar>button:last-child{margin-left:0}.admin-action-bar{align-items:flex-start;flex-direction:column}.preset-grid{grid-template-columns:1fr}}

/* Liens priv?s de validation Design */
.design-review-banner{max-width:1320px;margin:0 auto 20px;background:#fff;color:var(--ink);border-radius:22px;padding:20px 24px;display:grid;grid-template-columns:.8fr 1.5fr auto;align-items:center;gap:24px;box-shadow:0 16px 55px rgba(0,0,0,.16);border:1px solid rgba(201,255,74,.7)}.review-author{display:flex;align-items:center;gap:12px}.review-author>span{width:48px;height:48px;border-radius:15px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:800 14px Manrope}.review-author small,.design-review-banner>div>small{font-size:7px;letter-spacing:.13em;color:var(--muted)}.review-author b,.review-author em{display:block}.review-author b{font:800 12px Manrope}.review-author em{font-size:8px;color:var(--muted);font-style:normal}.design-review-banner h3{font:800 19px Manrope;margin:4px 0}.design-review-banner p{font-size:10px;color:var(--muted);margin:0;line-height:1.45}.review-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px}.review-actions button{border:0;border-radius:10px;background:var(--lime);padding:11px 14px;font-size:9px;font-weight:800;cursor:pointer}.review-actions span{font-size:8px;color:var(--muted);text-align:center}
.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.review-card>div:first-child>small{display:inline-flex;padding:5px 8px;border-radius:99px;background:#e7f5d7;font-size:7px;font-weight:800;letter-spacing:.08em}.review-card h3{font:800 16px Manrope;margin:9px 0 4px}.review-card p{font-size:10px;color:var(--muted)}.review-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.review-card dl div{background:#f3f2ed;border-radius:9px;padding:8px}.review-card dt{font-size:7px;color:var(--muted)}.review-card dd{font-size:9px;font-weight:800;margin:3px 0 0;overflow-wrap:anywhere}.review-card-actions{display:flex;gap:7px}.review-card-actions button,.review-card-actions a{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:8px 11px;font-size:8px;font-weight:800;cursor:pointer}.review-card-actions .danger{background:#f3dfdc;color:#8c3024}
@media(max-width:900px){.design-review-banner{grid-template-columns:1fr 1fr}.review-actions{grid-column:1/-1;flex-direction:row;align-items:center}.review-grid{grid-template-columns:1fr}}
@media(max-width:720px){.design-review-banner{grid-template-columns:1fr;padding:17px}.review-actions{grid-column:auto;align-items:stretch;flex-direction:column}.review-card dl{grid-template-columns:1fr 1fr}}

/* Aper?us ? l??chelle : le canvas 85,6 ? 54 mm ne devient jamais responsive */
.scaled-card-frame{position:relative;width:650px;height:410px;max-width:100%;margin:auto;flex:0 0 auto}
.scaled-card-frame>.live-card{position:absolute;left:0;top:0;width:650px;height:410px;max-width:none;margin:0;zoom:var(--card-fit,1);transform:none!important;transform-origin:center}
/* zoom + rotateY se cassent : bascule recto/verso par visibilit? */
.scaled-card-frame>.live-card .front-side{opacity:1;visibility:visible;z-index:2;pointer-events:auto}
.scaled-card-frame>.live-card .back-side{transform:none!important;opacity:0;visibility:hidden;z-index:1;pointer-events:none}
.scaled-card-frame>.live-card.show-back .front-side{opacity:0;visibility:hidden;z-index:1;pointer-events:none}
.scaled-card-frame>.live-card.show-back .back-side{opacity:1;visibility:visible;z-index:2;pointer-events:auto}
.bat-preview>.scaled-card-frame{margin:auto}.admin-production-frame{margin:12px auto 20px}.admin-production-frame>.admin-production-card{width:650px;height:410px;margin:0}
.profile-memory{margin:0 0 16px;padding:13px;border:1px solid #d6ded3;border-radius:14px;background:#f1f5ee}.profile-memory>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.profile-memory span small,.profile-memory span b{display:block}.profile-memory span small{font-size:7px;letter-spacing:.12em;color:#4b756c}.profile-memory span b{font:800 12px Manrope;margin-top:2px}.profile-memory>div:first-child>button{border:0;border-radius:8px;background:var(--forest);color:#fff;padding:8px 10px;font-size:8px;font-weight:800;cursor:pointer}.profile-memory select{margin:9px 0 7px!important}.profile-memory>small{display:block;color:var(--muted);font-size:7px;line-height:1.4;margin-top:7px}.memory-suggestions{display:flex;gap:5px;overflow:auto}.memory-suggestions button{border:1px solid #d3dbcf;background:#fff;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:750;white-space:nowrap;cursor:pointer}.memory-suggestions button:hover{border-color:var(--forest)}.memory-delete{width:100%;margin-top:7px;border:0;background:transparent;color:#9a3e32;font-size:8px;font-weight:750;cursor:pointer}.memory-delete:disabled{display:none}
.admin-client-memory{border:1px solid #4b5b55;border-radius:10px;background:#26312e;padding:10px;margin:2px 0 10px!important;display:block!important}.admin-client-memory[hidden]{display:none!important}.admin-client-memory>span{display:block;color:#dce4e0;font-size:8px;line-height:1.45}.admin-client-memory>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 0!important}.admin-client-memory button{margin:0!important;padding:8px!important;background:#fff!important;color:var(--ink)!important;font-size:8px!important}.admin-client-memory button:first-child{background:var(--lime)!important}
@media(max-width:720px){
  .scaled-card-frame .card-side{padding:38px}
  .scaled-card-frame .live-content{gap:30px;margin-top:43px}
  .scaled-card-frame .live-photo{width:145px;height:170px}
  .scaled-card-frame .live-info h3{font-size:38px}
  .scaled-card-frame .id-row{gap:24px;flex-direction:row;margin-top:27px}
  .scaled-card-frame .student-meta{display:grid}
  .scaled-card-frame .live-footer{left:38px;right:38px;bottom:28px}
  .scaled-card-frame .back-side .magnetic{margin:20px -38px}
  .scaled-card-frame .live-card[data-template="ribbon"] .live-content{margin-top:62px}
  .scaled-card-frame .live-card[data-template="geometry"] .live-info{max-width:58%}
  .card-stage{min-height:250px;padding:8px 0}
  .admin-detail-dialog .detail-panel{overflow:hidden}.detail-downloads{position:relative}
  .admin-detail-dialog .detail-head{display:block;padding-right:34px}
  .admin-detail-dialog .detail-head h2{font-size:27px;overflow-wrap:anywhere}
  .admin-detail-dialog .detail-head>b{display:inline-block;max-width:100%;margin-top:8px}
}

/* Studio visuel Pro : galerie compacte et ?dition pr?cise par calques */
.selected-design-preview{grid-template-columns:128px minmax(0,1fr);align-items:center;padding:8px}
.selected-design-card{width:128px}.selected-design-info p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.studio-designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:none;overflow:visible;padding:2px;margin-bottom:14px}
.studio-design{display:block;min-width:0;min-height:0;padding:5px;border:1px solid var(--line);border-radius:10px}
.studio-design .studio-design-preview{width:100%;height:auto;aspect-ratio:1.586;border-radius:7px;padding:6px}
.studio-design .studio-design-preview>b{font-size:6px;max-width:44px}.studio-design .studio-design-preview>small{font-size:5px;left:6px;bottom:6px}
.studio-design .studio-design-preview>i{width:23px;height:28px;right:6px;bottom:5px;font-size:6px}
.studio-design-copy{display:flex;align-items:center;justify-content:space-between;gap:3px;padding:6px 1px 1px}
.studio-design-copy b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-design-copy small{font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio-design>em{position:absolute;right:7px;top:7px;z-index:5;box-shadow:0 2px 7px rgba(0,0,0,.18)}
.layout-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;margin-top:14px}
.layout-toolbar-head{display:flex;align-items:center;gap:9px}.layout-toolbar-head>button{min-width:118px}.layout-toolbar-head>span{font-size:8px;color:var(--muted);line-height:1.3}
.history-actions{display:flex;gap:4px;margin-left:auto}.history-actions button{font-size:15px!important;line-height:1;padding:6px 9px!important}.history-actions button:disabled{opacity:.35;cursor:not-allowed}
.layer-inspector{display:block!important;border-top:1px solid #d7d9d2;padding-top:9px}.layer-inspector[hidden]{display:none!important}
.layer-inspector-top{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:8px;align-items:end}
.layer-inspector-top label{margin:0;font-size:7px;font-weight:800}.layer-inspector-top select{width:100%;margin-top:4px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px;font-size:9px}
.layer-inspector-top>b{font:800 10px Manrope;padding-bottom:8px}.layer-inspector-top>button{margin-bottom:1px}
.layer-quick-list{display:flex;gap:5px;overflow:auto;padding:8px 0 5px;scrollbar-width:thin}
.layer-quick-list button{white-space:nowrap;padding:6px 8px!important;font-size:7px!important}.layer-quick-list button.active{background:var(--forest)!important;color:#fff!important;border-color:var(--forest)!important}
.layer-property-grid{display:grid;grid-template-columns:1fr 1fr 110px;gap:8px;margin-top:5px}.layer-property-grid label{font-size:7px;font-weight:800;margin:0;padding:8px;border:1px solid var(--line);background:#fff;border-radius:9px}.layer-property-grid label>span{float:right;color:var(--muted)}
.layer-property-grid input[type=range]{display:block;width:100%;margin:7px 0 0;padding:0}.layer-property-grid input[type=color]{display:block;width:100%;height:25px;margin:5px 0 0;padding:2px;border:0}
.layer-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:7px}.layer-action-grid button{min-width:0;padding:7px 5px!important;font-size:7px!important}
.layer-action-grid button:nth-last-child(-n+2){grid-column:span 2}.layer-shortcuts{display:block;margin-top:7px;font-size:7px;color:var(--muted);line-height:1.45}
.reset-layout-all{align-self:flex-end}
.layout-editing .layer-hidden{pointer-events:auto!important}
.layer-colored{color:var(--layer-color)!important}
.layer-colored > :not([data-layer]):not(img),
.layer-colored > :not([data-layer]) *:not([data-layer]):not(img){color:var(--layer-color)!important}
.layer-fill{background:var(--layer-fill,var(--layer-color))!important;border-color:var(--layer-fill,var(--layer-color))!important}
.layer-fill:not(.layer-colored){color:#fff!important}
.layer-fill:not(.layer-colored) > :not([data-layer]):not(img),
.layer-fill:not(.layer-colored) > :not([data-layer]) *:not([data-layer]):not(img){color:#fff!important}
.layer-fill.layer-colored{background:var(--layer-fill,var(--layer-color))!important;border-color:var(--layer-fill,var(--layer-color))!important}
.editable-layer{will-change:transform}.editable-layer.layer-hidden{pointer-events:none}
html.admin-studio-mode .layout-toolbar{box-shadow:0 0 0 2px rgba(201,255,74,.55);background:#f4f7ed}
html.admin-studio-mode .layout-toolbar-head:before{content:"PRO";display:grid;place-items:center;width:28px;height:22px;border-radius:7px;background:var(--ink);color:var(--lime);font:800 7px Manrope}

@media(max-width:720px){
  .selected-design-preview{grid-template-columns:112px minmax(0,1fr)}.selected-design-card{width:112px}
  .studio-designs{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.studio-design{display:block;min-height:0}
  .studio-design .studio-design-preview{grid-column:auto;width:100%;height:auto}.studio-design-copy b{font-size:7px}.studio-design-copy small{display:none}
  .layout-toolbar-head{flex-wrap:wrap}.layout-toolbar-head>span{order:3;width:100%}.history-actions{margin-left:auto}
  .layer-inspector-top{grid-template-columns:1fr auto}.layer-inspector-top>b{display:none}
  .layer-property-grid{grid-template-columns:1fr 1fr}.layer-property-grid label:last-child{grid-column:1/-1}
  .layer-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-action-grid button:nth-last-child(-n+2){grid-column:auto}
  .reset-layout-all{align-self:stretch}
}

/* Centre d?administration et validation collaborative */
.admin-section{padding:70px clamp(18px,3vw,48px);background:#e9ebe5}.admin-section>.section-head{max-width:1480px;margin-left:auto;margin-right:auto}
.admin-shell{max-width:1480px;margin:auto;display:grid;grid-template-columns:235px minmax(0,1fr);gap:18px;align-items:start}
.admin-sidebar{position:sticky;top:92px;min-height:680px;border-radius:22px;background:#16201e;color:#fff;padding:18px 13px;display:flex;flex-direction:column;box-shadow:0 18px 55px rgba(22,32,30,.15)}
.admin-sidebar-brand{display:flex;align-items:center;gap:10px;padding:7px 8px 20px;border-bottom:1px solid #34403d}.admin-sidebar-brand>span{width:38px;height:38px;border-radius:11px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font:900 11px Manrope}.admin-sidebar-brand b,.admin-sidebar-brand small{display:block}.admin-sidebar-brand b{font:800 12px Manrope}.admin-sidebar-brand small{font-size:7px;color:#9ca9a5;margin-top:2px}
.admin-sidebar-nav{display:flex!important;flex-direction:column;gap:6px;margin:18px 0!important}
.admin-sidebar-nav button,.admin-sidebar-nav a{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;border:0;border-radius:12px;background:transparent;color:#c7d0cd;padding:11px 10px;text-align:left;font-size:12px;font-weight:750;cursor:pointer}
.admin-sidebar-nav button:hover,.admin-sidebar-nav a:hover,.admin-sidebar-nav button.active{background:#2a3632;color:#fff}
.admin-sidebar-nav button.active{box-shadow:inset 3px 0 var(--lime)}
.admin-sidebar-nav svg{width:18px;height:18px;fill:currentColor;opacity:.9;justify-self:center}
.admin-sidebar-nav i{font-style:normal;font-size:14px;text-align:center}
.admin-sidebar-nav b{min-width:22px;border-radius:99px;background:#3d4a46;padding:3px 6px;text-align:center;font-size:9px}
.admin-sidebar-nav button.active b{background:var(--lime);color:var(--ink)}
.admin-sidebar-nav span{font-size:12px;font-weight:780}
.admin-sidebar-user{margin-top:auto;border-top:1px solid #34403d;padding:15px 7px 3px;display:grid;grid-template-columns:34px 1fr 26px;align-items:center;gap:8px}.admin-sidebar-user>span{width:34px;height:34px;border-radius:50%;background:#35443f;display:grid;place-items:center;font:800 9px Manrope}.admin-sidebar-user small,.admin-sidebar-user b{display:block}.admin-sidebar-user small{font-size:6px;color:#8f9c98}.admin-sidebar-user b{font-size:9px;margin-top:2px}.admin-sidebar-user button{border:0;background:transparent;color:#fff;font-size:16px;cursor:pointer}
.admin-main{min-width:0;background:#f6f5f0;border:1px solid #d9dcd4;border-radius:22px;padding:20px;box-shadow:0 18px 55px rgba(22,32,30,.08)}.admin-main .admin-head{position:static;margin:0 0 17px;padding:4px 2px 15px;border-radius:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}.admin-main .admin-head small{color:#4a776f}.admin-main .admin-head b{font:800 25px Manrope;margin-top:3px}.admin-main .admin-head>a{margin-left:auto}
.admin-main .admin-action-bar{margin:16px 0;background:#e6f6cf}.admin-main .admin-tools{padding:12px 0;margin:0;border-bottom:1px solid var(--line)}.admin-main .admin-tools>div{font-size:10px;color:var(--muted);line-height:1.4}.admin-main .admin-board{margin-top:16px}
.overview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.overview-panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;min-width:0}.overview-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.overview-panel-head small{display:block;font-size:7px;letter-spacing:.12em;color:#3c786f;font-weight:850}.overview-panel-head h3{font:800 16px Manrope;margin:4px 0 0}.overview-panel-head button{border:0;background:#edf0e9;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:800;cursor:pointer}
.overview-review-row,.overview-order-row{width:100%;display:grid;align-items:center;gap:9px;border:0;border-top:1px solid #eceee8;background:transparent;padding:11px 2px;text-align:left;cursor:pointer}.overview-review-row{grid-template-columns:9px 1fr auto}.overview-order-row{grid-template-columns:50px 1fr auto}.overview-review-row div,.overview-order-row div{min-width:0}.overview-review-row b,.overview-review-row small,.overview-order-row b,.overview-order-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-review-row b,.overview-order-row b{font-size:9px}.overview-review-row small,.overview-order-row small{font-size:7px;color:var(--muted);margin-top:3px}.overview-review-row em{font-size:7px;font-style:normal;color:#426f67;white-space:nowrap}.overview-order-row>span{font:800 9px ui-monospace,monospace}.status-dot{width:8px;height:8px;border-radius:50%;background:#f0a746}.status-approuv-par-le-client{background:#53a764}.status-corrections-demand-es,.status-modifi-par-le-client{background:#ef735b}
.overview-workflow>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.overview-workflow button{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#f7f7f3;padding:11px;text-align:left;cursor:pointer}.overview-workflow button span,.overview-workflow button b{display:block}.overview-workflow button span{font-size:7px;color:var(--muted)}.overview-workflow button b{font:800 17px Manrope;margin-top:5px}.overview-workflow button i{position:absolute;left:0;bottom:0;height:3px;width:var(--progress);background:var(--lime)}
.overview-quick>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.overview-quick a,.overview-quick button{border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px;text-align:left;cursor:pointer}.overview-quick i,.overview-quick b,.overview-quick small{display:block}.overview-quick i{font-style:normal;font-size:18px}.overview-quick b{font:800 10px Manrope;margin:8px 0 3px}.overview-quick small{font-size:7px;color:var(--muted)}
.empty-state{font-size:9px;color:var(--muted);padding:18px 2px}
.review-card-status{display:flex;align-items:center;justify-content:space-between}.review-card-status>b{font-size:7px;color:var(--muted)}.review-card blockquote{margin:10px 0;padding:9px;border-left:3px solid var(--lime);background:#f3f5ee;border-radius:0 8px 8px 0;font-size:8px;color:#4d5854}.review-card-actions{flex-wrap:wrap}.review-card-actions .primary{background:var(--lime);color:var(--ink)}
.review-actions{min-width:270px}.review-actions textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px;font-size:8px;resize:vertical}.review-actions>div{display:flex;gap:5px;flex-wrap:wrap}.review-actions>div button{flex:1;min-width:100px}.review-actions .review-secondary{background:#edf0e9;color:var(--ink)}
.comparison-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;padding:12px;border-radius:13px;background:#edf0e9}.comparison-summary div small,.comparison-summary div b{display:block}.comparison-summary div small{font-size:7px;color:var(--muted)}.comparison-summary div b{font:800 12px Manrope;margin-top:3px}.comparison-summary>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--lime);font-weight:900}
.design-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.design-comparison>section{min-width:0;background:#f0f0ea;border-radius:16px;padding:13px;overflow:hidden}.comparison-label{display:flex;align-items:center;gap:8px}.comparison-label>span{width:28px;height:28px;border-radius:9px;background:#fff;display:grid;place-items:center;font:800 8px Manrope}.comparison-label small,.comparison-label b{display:block}.comparison-label small{font-size:6px;color:var(--muted)}.comparison-label b{font-size:9px;margin-top:2px}.comparison-label.current>span{background:var(--lime)}
.review-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.review-management-grid blockquote{margin:0 0 13px;padding:11px;border-left:3px solid var(--lime);background:#fff;font-size:9px}.review-management-grid textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;resize:vertical}.admin-review-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.admin-review-actions button,.admin-review-actions a{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:8px 10px;font-size:8px;font-weight:800;cursor:pointer}.admin-review-actions button:first-child{background:#4d9c5d}.admin-review-actions button:nth-child(2){background:#e16c56}
.revision-panel{margin-top:14px}.revision-timeline{display:grid;gap:7px}.revision-timeline article{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:start;border-top:1px solid var(--line);padding-top:9px}.revision-timeline article>span{width:29px;height:29px;border-radius:9px;background:#fff;display:grid;place-items:center;font:800 8px Manrope}.revision-timeline b,.revision-timeline small{display:block}.revision-timeline b{font-size:9px}.revision-timeline small{font-size:7px;color:var(--muted);margin-top:3px}.revision-timeline p{font-size:8px;margin:5px 0 0}

@media(max-width:1050px){.admin-shell{grid-template-columns:82px minmax(0,1fr)}.admin-sidebar-brand div,.admin-sidebar-nav span,.admin-sidebar-user div{display:none}.admin-sidebar-brand{justify-content:center}.admin-sidebar-nav button,.admin-sidebar-nav a{grid-template-columns:1fr;justify-items:center}.admin-sidebar-nav b{position:absolute;margin-left:28px;margin-top:-22px}.admin-sidebar-user{grid-template-columns:1fr;justify-items:center}.overview-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.admin-section{padding:45px 10px}.admin-shell{display:block}.admin-sidebar{position:sticky;top:66px;z-index:35;min-height:0;border-radius:14px;padding:8px;margin-bottom:10px}.admin-sidebar-brand,.admin-sidebar-user{display:none}.admin-sidebar-nav{flex-direction:row!important;overflow:auto;margin:0!important}.admin-sidebar-nav button,.admin-sidebar-nav a{flex:0 0 auto;width:auto;grid-template-columns:20px 1fr;padding:9px}.admin-sidebar-nav span{display:block}.admin-sidebar-nav b{position:static;margin:0}.admin-main{padding:13px;border-radius:16px}.admin-main .admin-head b{font-size:20px}.admin-stats{grid-template-columns:repeat(2,1fr)}.overview-workflow>div:last-child,.overview-quick>div:last-child{grid-template-columns:1fr 1fr}.design-comparison,.review-management-grid{grid-template-columns:1fr}.comparison-summary{grid-template-columns:1fr}.comparison-summary>span{transform:rotate(90deg);margin:auto}.review-actions{min-width:0;width:100%}}

/* QR code harmonis? pour tous les mod?les ? taille lisible PVC */
.qr-grid{
  --qr-size:71px;
  width:var(--qr-size)!important;
  height:var(--qr-size)!important;
  padding:var(--qr-inner-padding,6px)!important;
  border:0!important;
  border-radius:11px!important;
  background:#fff!important;
  overflow:hidden;
  box-shadow:0 5px 14px rgba(18,31,29,.16),0 0 0 1px rgba(18,31,29,.12)!important;
}
.qr-grid img{
  width:100%!important;
  height:100%!important;
  border-radius:3px;
  object-fit:contain!important;
  image-rendering:pixelated;
  background:#fff!important;
  opacity:1!important;
  transform:none;
  transform-origin:center;
}

/* Admin workflow polish ? Studio orders, quick-form orders and compact public form */
.admin-origin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.admin-origin-card{display:grid;gap:14px;padding:18px;border:1px solid #dce4de;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(16,45,42,.06)}
.admin-origin-card.studio{border-top:4px solid #184f4b}
.admin-origin-card.form{border-top:4px solid #b9ff31}
.admin-origin-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-origin-card header div{display:grid;gap:4px}
.admin-origin-card header small{font-size:10px;letter-spacing:.12em;color:#66807b}
.admin-origin-card header h3{margin:0;font-size:20px}
.admin-origin-card header>span{padding:6px 9px;border-radius:999px;background:#eef4ef;color:#315752;font-size:10px;font-weight:800}
.admin-origin-card p{margin:0;color:#63716e;font-size:12px;line-height:1.55}
.admin-origin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.admin-origin-metrics div{display:grid;gap:2px;padding:11px;border-radius:12px;background:#f6f8f5}
.admin-origin-metrics b{font-size:18px}
.admin-origin-metrics small{color:#78837f;font-size:10px}
.admin-origin-card button{justify-self:start;border:0;border-radius:11px;padding:10px 13px;background:#173f3f;color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.admin-origin-card.form button{background:#b9ff31;color:#10201d}
.orders-workflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 16px}
.orders-workflow-step{display:grid;gap:5px;min-height:72px;padding:12px;border:1px solid #dce4de;border-radius:13px;background:#fff}
.orders-workflow-step small{color:#2f6a65;font-size:10px;font-weight:900;letter-spacing:.12em}
.orders-workflow-step b{font-size:11px;line-height:1.35}
.settings-workflow-card{grid-column:1/-1}
.settings-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.settings-workflow article{display:grid;gap:6px;padding:13px;border:1px solid #e0e7e2;border-radius:13px;background:#f8faf7}
.settings-workflow article b{font-size:12px}
.settings-workflow article span{color:#6e7b77;font-size:11px;line-height:1.5}
.quick-order-product{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #dfe7df;border-radius:15px;background:#f8faf6}
.quick-order-product-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:#173f3f;color:#baff36;font-size:13px;font-weight:900}
.quick-order-product>div:nth-child(2){display:grid;gap:4px}
.quick-order-product b{font-size:13px}
.quick-order-product span{color:#6d7976;font-size:11px;line-height:1.45}
.quick-order-product em{padding:7px 9px;border-radius:999px;background:#eaffc6;color:#284a19;font-size:9px;font-style:normal;font-weight:900}
@media(max-width:900px){
  .admin-origin-grid{grid-template-columns:1fr}
  .orders-workflow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .settings-workflow{grid-template-columns:1fr}
}
@media(max-width:620px){
  .orders-workflow{display:flex;overflow-x:auto;padding-bottom:5px}
  .orders-workflow-step{min-width:150px}
  .quick-order-product{grid-template-columns:auto 1fr}
  .quick-order-product em{grid-column:1/-1;justify-self:start}
  .admin-origin-metrics{grid-template-columns:1fr}
}
.qr-grid,.qr-grid img,.qr-export-flat{
  background-color:#fff!important;
  background-image:none!important;
}

/* Pr?flight typographique PVC : donn?es utiles renforc?es dans l?aper?u
   comme dans l?export, sans modifier la g?om?trie des collections. */
.live-card .live-header>b,
.export-card .live-header>b{
  font-size:11px!important;
  line-height:1.15!important;
}
.live-card .live-info>small,
.export-card .live-info>small{
  font-size:10px!important;
  line-height:1.2!important;
}
.live-card .live-info>p,
.export-card .live-info>p{
  font-size:16px!important;
  line-height:1.25!important;
}
.live-card .student-meta,
.export-card .student-meta{
  font-size:10px!important;
  line-height:1.2!important;
}
.live-card .student-meta b,
.export-card .student-meta b{
  font-size:12px!important;
  line-height:1.15!important;
}
.live-card .id-row,
.export-card .id-row{
  font-size:10.5px!important;
  line-height:1.2!important;
}
.live-card .id-row b,
.export-card .id-row b{
  font-size:11.5px;
}
.live-card .institutional-signature>b>span:first-child,
.export-card .institutional-signature>b>span:first-child{
  font-size:max(7px,calc(7px * var(--content-scale,1)))!important;
  line-height:1.05!important;
}
.live-card .institutional-signature>b>span:nth-child(2),
.export-card .institutional-signature>b>span:nth-child(2){
  font-size:max(8.5px,calc(8.5px * var(--content-scale,1)))!important;
  line-height:1.08!important;
}
.live-card .institutional-signature small,
.export-card .institutional-signature small{
  font-size:max(7px,calc(7px * var(--content-scale,1)))!important;
  line-height:1.1!important;
}

/* Surfaces personnalisables de l'?diteur libre. Les classes restaurent
   instantan?ment le style du mod?le d?s qu'elles sont retir?es. */
.live-card [data-layer].layer-surface-white,
.export-card [data-layer].layer-surface-white{
  background:#fff!important;background-image:none!important;
  padding:var(--layer-surface-padding,6px)!important;
  border-radius:var(--layer-surface-radius,11px)!important;
  box-sizing:border-box!important;
}
.live-card [data-layer].layer-surface-custom,
.export-card [data-layer].layer-surface-custom{
  background:var(--layer-surface-color,#fff)!important;background-image:none!important;
  padding:var(--layer-surface-padding,6px)!important;
  border-radius:var(--layer-surface-radius,11px)!important;
  box-sizing:border-box!important;
}
.live-card [data-layer].layer-surface-transparent,
.export-card [data-layer].layer-surface-transparent{
  background:transparent!important;background-image:none!important;
  padding:0!important;box-shadow:none!important;
}
.live-card [data-layer].layer-border-none,
.export-card [data-layer].layer-border-none{border:0!important;box-shadow:none!important}
.live-card [data-layer].layer-border-custom,
.export-card [data-layer].layer-border-custom{
  border:var(--layer-surface-border-width,1px) solid var(--layer-surface-border-color,#aeb9b5)!important;
  border-radius:var(--layer-surface-radius,11px)!important;
  box-sizing:border-box!important;
}
.layer-surface-editor{margin:7px 0;border:1px solid var(--line);border-radius:10px;background:#f7f9f4;overflow:hidden}
.layer-surface-editor[hidden]{display:none!important}
.layer-surface-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;cursor:pointer;list-style:none}
.layer-surface-editor>summary::-webkit-details-marker{display:none}
.layer-surface-editor>summary span b,.layer-surface-editor>summary span small{display:block}
.layer-surface-editor>summary span b{font-size:8px}.layer-surface-editor>summary span small{margin-top:2px;font-size:6px;color:var(--muted)}
.layer-surface-editor>summary i{font-style:normal;color:var(--muted);transition:transform .18s}.layer-surface-editor[open]>summary i{transform:rotate(180deg)}
.layer-surface-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0 7px 7px}
.layer-surface-grid label{display:grid;gap:4px;min-width:0;margin:0!important;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:6px!important}
.layer-surface-grid label[hidden]{display:none!important}
.layer-surface-grid select,.layer-surface-grid input{width:100%;min-width:0}.layer-surface-grid select{border:0;background:#f3f5ef;padding:5px;font-size:7px}
.layer-surface-grid input[type=color]{height:24px;padding:2px;border:0}.layer-surface-grid input[type=range]{margin:2px 0 0;padding:0}
.layer-surface-grid output{float:right;color:var(--muted)}
.layer-surface-editor>button{width:calc(100% - 14px);margin:0 7px 7px;border:0;border-radius:8px;background:#e9ede5;color:var(--ink);padding:7px;font-size:7px;font-weight:800;cursor:pointer}

/* Workflow de validation client */
.design-link-dialog{width:min(520px,calc(100% - 24px));border:0;border-radius:24px;padding:28px;color:var(--ink);box-shadow:0 30px 90px rgba(10,24,21,.3)}
.design-link-dialog::backdrop{background:rgba(12,27,24,.68);backdrop-filter:blur(5px)}
.design-link-dialog h2{font:800 29px Manrope;margin:8px 0}.design-link-dialog>p{font-size:11px;line-height:1.55;color:var(--muted)}
.design-link-dialog>label{display:grid;gap:7px;margin-top:20px;font-size:9px;font-weight:800}.design-link-dialog>label input{border:1px solid var(--line);border-radius:12px;padding:13px 14px;font:750 13px Manrope;outline:0}.design-link-dialog>label input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,63,63,.1)}
.design-link-dialog-close{position:absolute;right:16px;top:14px;border:0;background:#eef0ea;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}.design-link-dialog-summary{display:flex;justify-content:space-between;gap:12px;margin:14px 0 3px;padding:11px 13px;border-radius:11px;background:#eff4e9}.design-link-dialog-summary span{font-size:8px;color:var(--muted)}.design-link-dialog-summary b{font-size:8px;text-align:right}
.review-filter-bar{display:flex;gap:7px;overflow:auto;margin-bottom:14px;padding-bottom:2px}.review-filter-bar button{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--line);border-radius:99px;background:#fff;padding:8px 11px;font-size:8px;font-weight:800;cursor:pointer}.review-filter-bar button b{display:grid;place-items:center;min-width:18px;height:18px;border-radius:99px;background:#edf0e9;font-size:7px}.review-filter-bar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.review-filter-bar button.active b{background:var(--lime);color:var(--ink)}
.review-card.review-unread{border-color:#9bcf33;box-shadow:0 0 0 2px rgba(201,255,74,.35)}.review-card.review-unread .review-card-status small{background:var(--lime);color:var(--ink)}.overview-review-row.has-unread{background:#f4f9e9}.overview-review-row.has-unread em{color:#315f16;font-weight:850}
.changed-fields,.comparison-changes>div{display:flex;flex-wrap:wrap;gap:5px}.changed-fields{margin:9px 0}.changed-fields span,.comparison-changes span{padding:5px 7px;border-radius:99px;background:#edf1e8;color:#3e625a;font-size:7px;font-weight:800}.comparison-changes{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.comparison-changes>b{display:block;font:800 10px Manrope;margin-bottom:8px}
@media(max-width:720px){.design-link-dialog{padding:22px 17px}.design-link-dialog-summary{display:grid}.design-link-dialog-summary b{text-align:left}.review-filter-bar{margin-inline:-3px}.changed-fields span,.comparison-changes span{font-size:6px}}

/* V?ritables aper?us recto dans l??tape Design */
.studio-global-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:9px 11px;border:1px solid #dfe2da;border-radius:11px;background:#fff}.studio-global-actions span{font-size:8px;color:var(--muted);font-weight:750}.studio-global-actions button{border:1px solid #e1c8c2;border-radius:8px;background:#fff5f2;color:#963d31;padding:7px 9px;font-size:8px;font-weight:850;cursor:pointer}.studio-global-actions button:hover{background:#963d31;color:#fff}
.selected-design-preview{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;align-items:stretch!important}.selected-design-preview>div:first-child{min-width:0}.real-front-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 1px 7px}.real-front-label span{padding:5px 7px;border-radius:99px;background:var(--lime);font-size:6px;font-weight:900;letter-spacing:.1em}.real-front-label b{font-size:7px;color:var(--muted)}
.design-card-viewport{position:relative;display:block;width:100%;overflow:hidden;background:#eceee8;border-radius:9px;isolation:isolate}.design-card-viewport>.design-preview-card{position:absolute!important;left:0!important;top:0!important;width:650px!important;height:410px!important;max-width:none!important;margin:0!important;transform-origin:top left!important;pointer-events:none!important;border-radius:26px!important;box-shadow:none!important;aspect-ratio:auto!important}.design-card-viewport>.design-preview-card .front-side{backface-visibility:visible!important}.design-card-viewport>.design-preview-card .back-side{display:none!important}
/* Aper?us mod?les = vraies m?triques PVC (ignore le CSS mobile qui d?forme la carte) */
.design-preview-card .card-side{padding:38px!important}
.design-preview-card .live-content{gap:30px!important;margin-top:43px!important;flex-direction:row!important}
.design-preview-card .live-photo{width:145px!important;height:170px!important}
.design-preview-card .live-info h3{font-size:var(--holder-name-size,38px)!important}
.design-preview-card .id-row{gap:24px!important;flex-direction:row!important;margin-top:27px!important}
.design-preview-card .student-meta{display:grid!important}
.design-preview-card .live-footer{left:38px!important;right:38px!important;bottom:28px!important}
.design-preview-card[data-template="ribbon"] .live-content{margin-top:62px!important}
.design-preview-card[data-template="geometry"] .live-content,.design-preview-card[data-variant="student-france"] .live-content{flex-direction:row-reverse!important;justify-content:space-between!important}
.design-preview-card[data-template="geometry"] .live-info,.design-preview-card[data-variant="student-france"] .live-info{max-width:58%!important}
.live-card .live-header,
.live-card .live-content{position:relative;z-index:5}
.live-card .live-header:has(.live-logo.brand-logo),
.design-preview-card .live-header:has(.live-logo.brand-logo),
.export-card .live-header:has(.live-logo.brand-logo){
  /* Les logos universitaires sont souvent plus hauts que l?ic?ne standard.
     Le header conserve n?anmoins l?emprise exacte du mod?le choisi : les
     informations, la photo, la signature et le QR restent immobiles. */
  height:40px;
  min-height:40px;
}
.live-card .live-footer{
  position:absolute;
  left:38px;
  right:38px;
  bottom:28px;
  z-index:5;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  column-gap:24px;
  min-width:0;
}
/* Cartouche signature : il ?pouse son texte et ne d?passe jamais 266 px,
   la largeur de r?f?rence valid?e sur la carte Bordeaux. */
.live-card .live-footer .institutional-signature{
  min-width:0;
  width:fit-content;
  max-width:min(100%,266px);
  justify-self:start;
}
.live-card .live-footer .institutional-signature>b{min-width:0}
.live-card .live-footer .qr-grid{
  width:var(--qr-size,71px)!important;
  height:var(--qr-size,71px)!important;
  margin:0!important;
  align-self:end;
  justify-self:end;
  flex:0 0 auto;
}
.live-card .live-info{min-width:0;flex:1}

/* Outil Stylo ? trac?s vectoriels conserv?s dans l'aper?u et les exports HD. */
.draw-toolbar{position:sticky;top:78px;z-index:48;display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #d6ddd5;background:rgba(249,249,245,.97);backdrop-filter:blur(14px);box-shadow:0 8px 22px rgba(20,32,30,.08)}
.draw-toolbar[hidden]{display:none!important}.draw-toolbar button{border:1px solid #ccd5ce;background:#fff;color:var(--ink);border-radius:9px;padding:8px 11px;font-size:9px;font-weight:850;cursor:pointer}.draw-toolbar button.active,.draw-toolbar .draw-done{background:var(--forest);border-color:var(--forest);color:#fff}.draw-toolbar .draw-danger{color:#8d2d29;background:#fff4f1}.draw-toolbar label{display:flex;align-items:center;gap:7px;margin:0;font-size:8px;font-weight:800}.draw-toolbar input[type=color]{width:34px;height:30px;padding:2px;border:1px solid #ccd5ce;border-radius:8px;background:#fff}.draw-toolbar input[type=range]{width:110px;margin:0;padding:0}.draw-toolbar output{min-width:34px;color:var(--forest)}.draw-toolbar>small{margin-left:auto;color:var(--muted);font-size:7px}.draw-mode-button.active{background:var(--forest)!important;color:#fff!important;border-color:var(--forest)!important}
.card-drawing-layer{position:absolute;inset:0;width:100%;height:100%;z-index:90;overflow:hidden;pointer-events:none;border-radius:inherit}.card-drawing-layer path{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.live-card.draw-mode .card-side{user-select:none}.live-card.draw-mode .card-drawing-layer{pointer-events:auto;cursor:crosshair;touch-action:none}.live-card.draw-mode.draw-eraser .card-drawing-layer{cursor:not-allowed}.live-card.draw-mode .card-drawing-layer path{pointer-events:stroke}.export-card .card-drawing-layer{pointer-events:none!important}
@media(max-width:900px){.draw-toolbar{top:66px;overflow-x:auto;white-space:nowrap}.draw-toolbar>small{display:none}.draw-toolbar input[type=range]{width:82px}}
.live-card .live-info h3{
  max-width:100%;
  overflow-wrap:anywhere;
  font-size:var(--holder-name-size,38px)!important;
  line-height:1.05!important;
}
.live-card .live-header>span{
  min-width:0;
  max-width:52%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:var(--org-name-size,14px)!important;
}
.live-card .live-header>b{font-size:var(--card-title-size,10px)!important;white-space:nowrap}
.live-card .live-header>b{z-index:8!important}
.bat-face-toggle{display:flex;gap:4px;justify-content:center;margin:0 auto 12px;padding:3px;background:#e5e5df;border-radius:999px;width:fit-content}
.bat-face-toggle[hidden]{display:none!important}
.bat-face-toggle button{border:0;background:transparent;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;color:var(--ink)}
.bat-face-toggle button.active{background:var(--forest);color:#fff}
.bat-face-toggle button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:900px){
  #batDialog{width:min(100vw - 16px,520px);max-height:min(92dvh,920px);padding:18px 14px 16px;overflow:auto}
  #batDialog h2{font-size:22px}
  #batDialog .bat-preview{margin:0 auto 12px;max-width:100%}
  #batDialog .customer-form{grid-template-columns:1fr}
  #batDialog .dialog-actions{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,#f7f5ef 28%);padding-top:12px}
}
.selected-front-viewport{border-radius:12px;box-shadow:0 10px 28px rgba(20,33,30,.13)}.selected-design-info{display:grid!important;grid-template-columns:auto 1fr!important;padding:3px 2px 1px!important}
.studio-design .design-choice-viewport{width:100%;border-radius:7px;box-shadow:0 2px 8px rgba(21,34,31,.11)}.studio-design .design-choice-viewport .qr-grid{box-shadow:none!important}.studio-design.active .design-choice-viewport{box-shadow:0 0 0 2px var(--forest),0 5px 12px rgba(21,34,31,.14)}
.studio-designs{align-items:start}.studio-design{position:relative}.studio-design>em{position:absolute!important;right:7px!important;top:7px!important;z-index:8!important}
.reset-list{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0}.reset-list span{padding:7px 9px;border-radius:99px;background:#eef1e9;color:#4c605a;font-size:8px;font-weight:800}.reset-danger{background:#963d31!important;color:#fff!important}.reset-danger:hover{background:#722a22!important}
@media(max-width:720px){.studio-global-actions{position:relative}.studio-designs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.real-front-label b{display:none}}

/* Studio express partag? et vrais rectos du catalogue */
.studio-express{margin:0 0 13px;padding:11px;border-radius:14px;background:linear-gradient(145deg,#edf4e7,#f7f8f3);border:1px solid #d8e2d2}.studio-express-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.studio-express-head small,.studio-express-head b{display:block}.studio-express-head small{font-size:6px;letter-spacing:.12em;color:#4c796e;font-weight:900}.studio-express-head b{font:800 11px Manrope;margin-top:2px}.studio-express-head>span{padding:5px 7px;border-radius:99px;background:var(--lime);font-size:6px;font-weight:900}
.studio-express-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}.studio-express-grid button{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:7px;min-width:0;border:1px solid #d7ded2;border-radius:9px;background:#fff;padding:7px;text-align:left;cursor:pointer}.studio-express-grid button:last-child{grid-column:1/-1}.studio-express-grid button:hover,.studio-express-grid button.active{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}.studio-express-grid button>i{width:27px;height:27px;border-radius:8px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:800 7px Manrope;font-style:normal}.studio-express-grid button span{min-width:0}.studio-express-grid b,.studio-express-grid small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-express-grid b{font-size:8px}.studio-express-grid small{font-size:6px;color:var(--muted);margin-top:2px}
.saved-configurations{margin-top:9px;border-top:1px solid #d7ded2;padding-top:8px}.saved-configurations summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-size:8px;font-weight:850}.saved-configurations summary span{color:#4c796e;font-size:7px}.saved-configuration-form,.saved-configuration-select{display:grid;gap:5px;margin-top:8px}.saved-configuration-form{grid-template-columns:1fr auto}.saved-configuration-select{grid-template-columns:1fr auto auto}.saved-configurations input,.saved-configurations select{min-width:0;border:1px solid #d6dcd2!important;border-radius:8px!important;background:#fff!important;padding:8px!important;font-size:8px!important;margin:0!important}.saved-configurations button{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:8px;font-size:7px;font-weight:800;cursor:pointer}.saved-configurations button:disabled{opacity:.4;cursor:not-allowed}.saved-configurations>small{display:block;font-size:6px;line-height:1.4;color:var(--muted);margin-top:7px}
.model-profiles{margin:0 0 12px;padding:12px;border:1px solid #d5e0d6;border-radius:14px;background:linear-gradient(155deg,#f4f8f1,#eef4ea)}
.model-profiles>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.model-profiles>header small{display:block;font-size:6px;letter-spacing:.12em;font-weight:900;color:#3f6f66}
.model-profiles>header b{display:block;margin-top:2px;font:800 11px Manrope,sans-serif}
.model-profiles>header>span{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--forest);color:#fff;display:grid;place-items:center;font:800 10px Manrope,sans-serif}
.model-profiles-help{margin:0 0 10px;font-size:7px;line-height:1.45;color:var(--muted)}
.model-profile-list{display:grid;gap:7px;max-height:220px;overflow:auto}
.model-profile-empty{margin:0;padding:10px;border-radius:10px;background:#fff;border:1px dashed #c9d6c8;font-size:8px;line-height:1.45;color:#4d655f;text-align:center}
.model-profile-card{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:7px;border:1px solid #d5ddd2;border-radius:11px;background:#fff}
.model-profile-thumb{width:36px;height:36px;border-radius:9px;background:#edf2ea;overflow:hidden;display:grid;place-items:center}
.model-profile-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.model-profile-fallback{font:800 12px Manrope,sans-serif;color:#3f6f66}
.model-profile-meta{min-width:0}
.model-profile-meta b,.model-profile-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.model-profile-meta b{font-size:9px}
.model-profile-meta small{margin-top:2px;font-size:7px;color:var(--muted)}
.model-profile-actions{display:flex;align-items:center;gap:4px}
.model-profile-actions button{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:7px 9px;font-size:7px;font-weight:800;cursor:pointer}
.model-profile-actions .model-profile-delete{width:28px;padding:7px 0;background:#f1e4e1;color:#8b3025}
.model-profile-save{display:grid;grid-template-columns:1fr;gap:6px;margin-top:10px}
.model-profile-save input{width:100%;border:1px solid #d0d9cc;border-radius:10px;background:#fff;padding:10px 11px;font:700 10px Manrope,sans-serif;outline:0}
.model-profile-save input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,63,63,.08)}
.model-profile-save button{border:0;border-radius:10px;background:var(--forest);color:#fff;padding:10px;font:800 9px Manrope,sans-serif;cursor:pointer}
.model-profile-save button:hover{filter:brightness(1.05)}
.model-profiles-slim{padding:6px 7px!important;margin:0 0 6px!important;border-radius:10px!important}
.profiles-entry{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid #d5e0d6;
  border-radius:14px;
  background:linear-gradient(155deg,#f6f9f3,#eef4ea);
  cursor:pointer;
  text-align:left;
}
.profiles-entry:hover{border-color:#9bb5a8;transform:translateY(-1px)}
.profiles-entry-copy{min-width:0;flex:1}
.profiles-entry-copy small{display:block;font-size:7px;letter-spacing:.12em;font-weight:900;color:#3f6f66}
.profiles-entry-copy b{display:block;margin-top:2px;font:800 12px/1.2 Manrope,sans-serif;color:var(--ink)}
.profiles-entry>em{
  min-width:28px;height:28px;padding:0 8px;border-radius:999px;
  background:var(--forest);color:#fff;display:grid;place-items:center;
  font:800 11px Manrope,sans-serif;font-style:normal;
}
.profile-manager{width:min(460px,calc(100vw - 28px))!important;padding:0!important;border-radius:20px!important;overflow:hidden}
.profile-manager>header{padding:18px 18px 0!important}
.profile-manager-lead{margin:8px 18px 0!important;font-size:13px!important;line-height:1.45;color:var(--muted)}
.profile-manager-save{margin:14px 18px 0;padding:12px;border:1px solid #dde5d8;border-radius:14px;background:#fff}
.profile-manager-save>label{display:block;margin:0 0 7px;font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--muted)}
.profile-manager-save-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.profile-manager-save-row input{
  width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;
  font:700 14px Manrope,sans-serif;background:#fbfaf6;outline:0
}
.profile-manager-save-row input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,63,63,.08);background:#fff}
.profile-manager-save-row button{
  border:0!important;border-radius:11px!important;background:var(--forest)!important;color:#fff!important;padding:0 16px!important;
  font:800 13px Manrope,sans-serif!important;cursor:pointer!important;white-space:nowrap;min-height:44px
}
.profile-manager-section{margin:14px 18px 18px}
.profile-manager-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px
}
.profile-manager-section-head small{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.profile-manager-section-head span{
  min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#e7eee4;
  display:grid;place-items:center;font:800 10px Manrope,sans-serif;color:#3f6f66
}
.model-profile-dialog-list{display:grid!important;gap:8px!important;margin:0!important;max-height:300px!important;overflow:auto!important}
.profile-item{
  display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;
  padding:9px;border:1px solid #dde3d8;border-radius:14px;background:#fff
}
.profile-item-thumb{
  width:44px;height:44px;border-radius:12px;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--p,#173f3f) 0 58%,var(--a,#c9ff4a) 58%);color:#fff;
  font:800 14px Manrope,sans-serif
}
.profile-item-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.profile-item-meta{min-width:0}
.profile-item-meta b,.profile-item-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-item-meta b{font:800 13px/1.2 Manrope,sans-serif}
.profile-item-meta small{margin-top:2px;font-size:11px;color:var(--muted)}
.profile-item-swatches{display:flex;align-items:center;gap:5px;margin-top:5px}
.profile-item-swatches i{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.profile-item-swatches em{font-style:normal;font-size:10px;color:#6d7a74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-item-actions{display:flex;align-items:center;gap:5px}
.profile-item-actions button{
  border:0!important;border-radius:9px!important;background:var(--ink)!important;color:#fff!important;padding:9px 11px!important;
  font-size:11px!important;font-weight:800!important;cursor:pointer!important
}
.profile-item-actions .danger{width:34px!important;padding:9px 0!important;background:#f3e6e3!important;color:#8b3025!important}
.profile-empty{
  margin:0;padding:16px 12px;border:1px dashed #cfd8cb;border-radius:12px;
  background:#f7f8f4;text-align:center;font-size:12px;line-height:1.45;color:#5d6d67
}
.mobile-profile-sheet>header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px
}
.mobile-profile-sheet>header small{display:block;font-size:8px;letter-spacing:.1em;font-weight:900;color:#3f6f66}
.mobile-profile-sheet>header b{display:block;margin-top:2px;font:800 15px Manrope,sans-serif}
.mobile-profile-sheet>header>button,#mobileProfileClose{
  border:0!important;border-radius:999px!important;background:#e8ebe3!important;color:var(--ink)!important;
  padding:8px 14px!important;font:800 12px Manrope,sans-serif!important;cursor:pointer!important
}
.mobile-profile-sheet .mobile-profile-help{margin:8px 0 0;font-size:12px;line-height:1.4;color:var(--muted)}
.mobile-profile-sheet .profile-manager-save{margin:12px 0 0;padding:10px}
.mobile-profile-sheet .profile-manager-section{margin:12px 0 0}
.mobile-profile-quick-list{display:grid;gap:7px;max-height:42vh;overflow:auto}
.profile-item-compact{grid-template-columns:38px 1fr auto;padding:8px;border-radius:12px}
.profile-item-compact .profile-item-thumb{width:38px;height:38px;border-radius:10px;font-size:12px}
.profile-item-compact .profile-item-meta b{font-size:12px}
.profile-item-compact .profile-item-actions button{padding:8px 10px;font-size:10px}
.profile-item-compact .profile-item-actions .danger{width:30px;padding:8px 0}
.model-profiles-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}
.model-profiles-bar b{font:800 10px Manrope,sans-serif}
.model-profiles-bar em{font-style:normal;margin-left:4px;opacity:.7}
.model-profiles-bar .linkish{border:0;background:transparent;color:var(--forest);font:800 9px Manrope,sans-serif;cursor:pointer;padding:0}
.model-profile-chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}
.profile-chip{display:inline-flex;align-items:center;max-width:100%;border:1px solid #d0d9cc;border-radius:999px;background:#fff;overflow:hidden}
.profile-chip>button{border:0;background:transparent;padding:3px 7px;font-size:8px;font-weight:800;cursor:pointer;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-chip-del{padding:3px 6px!important;color:#8b3025!important;border-left:1px solid #e8ece4!important;font-size:11px!important}
.profile-chip-del:hover{background:#f8ebe8}
.model-profiles-save-mini{width:100%;margin-top:5px;border:0;border-radius:7px;background:var(--ink);color:#fff;padding:5px;font:800 8px Manrope,sans-serif;cursor:pointer}
.design-browser-lite{margin:0 0 6px!important;padding:6px!important;border-radius:10px!important}
.design-browser-lite .design-filter-row{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:0!important}
.design-browser-lite .design-filter-row button{padding:4px 7px!important;font-size:8px!important;border-radius:999px!important;min-height:0!important}
.design-browser-lite .filter-count{margin-left:auto;font-size:7px;font-weight:800;color:var(--muted)}
.country-chips-lite{margin:6px 0 0!important;padding:0!important;border-radius:0!important;background:transparent!important}
.country-chips-lite .country-filter-label{display:none}
.country-chips-lite>div{display:flex!important;flex-wrap:wrap;gap:5px!important;grid-template-columns:none!important}
.country-chips-lite button{
  display:inline-flex!important;align-items:center;gap:0;padding:5px 9px!important;min-height:28px!important;
  border:1px solid #d0d9cc!important;border-radius:999px!important;background:#fff!important;
  font-size:11px!important;font-weight:800!important;cursor:pointer;color:var(--ink)
}
.country-chips-lite button span{display:inline!important;font-size:11px!important;font-weight:800}
.country-chips-lite button i{display:none!important}
.country-chips-lite button.active{background:var(--forest)!important;color:#fff!important;border-color:var(--forest)!important}
.country-chips-lite button.country-all{font-size:11px!important}
.design-filter-status{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#e7f0e4;border:1px solid #cfe0c8
}
.design-filter-status[hidden]{display:none!important}
.design-filter-status span{font-size:11px;font-weight:800;color:#2f5f56}
.clear-filters-btn{
  border:0;border-radius:999px;background:#fff;color:var(--forest);padding:6px 10px;
  font:800 11px Manrope,sans-serif;cursor:pointer;border:1px solid #cfe0c8
}
.design-browser-lite .filter-count{display:none}
.studio-designs-compact,.studio-designs{display:grid;grid-template-columns:1fr 1fr;gap:8px!important;max-height:none!important;align-items:start}
.studio-design-card,.studio-designs .studio-design{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;
  padding:6px!important;border-radius:12px!important;min-height:0!important;position:relative;
  border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left;
}
.studio-design-card .design-thumb,.studio-designs .design-thumb{display:none!important}
.studio-design-card .design-choice-viewport,.studio-designs .design-choice-viewport{
  display:block!important;width:100%!important;min-height:72px;aspect-ratio:1.586;border-radius:8px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--p,#173f3f) 88%,#fff),color-mix(in srgb,var(--a,#c9ff4a) 55%,#fff));
  overflow:hidden;box-shadow:0 2px 8px rgba(21,34,31,.1);
}
.studio-design-card.active .design-choice-viewport,.studio-designs .studio-design.active .design-choice-viewport{
  box-shadow:0 0 0 2px var(--forest),0 5px 12px rgba(21,34,31,.14);
}
.studio-design-card .studio-design-copy,.studio-designs .studio-design-copy{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;padding:0 2px 1px!important;min-width:0;
}
.studio-design-card .studio-design-copy b,.studio-designs .studio-design-copy b{font:800 10px/1.2 Manrope,sans-serif!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.studio-design-card .studio-design-copy small,.studio-designs .studio-design-copy small{font-size:8px!important;color:var(--muted)}
.studio-design-card>em,.studio-designs .studio-design>em{
  position:absolute!important;right:8px!important;top:8px!important;z-index:8!important;
  width:18px;height:18px;border-radius:50%;display:grid;place-items:center;
  background:var(--forest);color:#fff;font:700 9px sans-serif;opacity:0;font-style:normal;box-shadow:0 2px 7px rgba(0,0,0,.18);
}
.studio-design-card.active>em,.studio-designs .studio-design.active>em{opacity:1}
.studio-design-lite .design-choice-viewport,.studio-designs .design-choice-viewport{display:block!important}
.model-extras{margin-top:8px;border:1px solid #dde3d8;border-radius:9px;padding:0 8px;background:#f7f8f4}
.model-extras>summary{cursor:pointer;list-style:none;padding:8px 0;font:800 9px Manrope,sans-serif}
.model-extras>summary::-webkit-details-marker{display:none}
.export-model-pack-btn{width:100%;margin:8px 0 4px;padding:10px 12px;border:1px dashed #6b7c74;border-radius:8px;background:#eef3ec;color:var(--ink);font:800 11px Manrope,sans-serif;cursor:pointer}
.export-model-pack-btn:hover{background:#e2ebe0;border-color:#4d5a56}
.import-model-pack-btn{width:100%;margin:0 0 4px;padding:10px 12px;border:1px dashed #6b7c74;border-radius:8px;background:#fff;color:var(--ink);font:800 11px Manrope,sans-serif;cursor:pointer}
.import-model-pack-btn:hover{background:#f4f7f2;border-color:#4d5a56}
.export-model-pack-help{margin:0 0 10px;font:500 10px/1.35 Manrope,sans-serif;color:#5a6762}
.import-model-pack-dialog textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.35;resize:vertical;min-height:180px}
.identity-tools-fold{margin:0 0 10px;border:1px solid #dde3d8;border-radius:9px;padding:0 8px;background:#f7f8f4}
.identity-tools-fold>summary{cursor:pointer;list-style:none;padding:8px 0;font:800 9px Manrope,sans-serif;display:flex;justify-content:space-between}
.identity-tools-fold>summary::-webkit-details-marker{display:none}
.studio-random-tools{display:none!important}
.age-badge{border-radius:999px;background:#e4f6cc;color:#315c27;padding:5px 10px;font-size:11px;font-weight:900}
.age-badge.warn{background:#f4dfdb;color:#8b3025}
.studio-random-lite{display:none!important}
.mobile-profile-row{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center}
.mobile-profile-row>button:first-child{text-align:left;border:1px solid #d5ddd2;border-radius:8px;background:#fff;padding:7px 9px}
.mobile-profile-row .danger{width:30px;border:0;border-radius:8px;background:#f1e4e1;color:#8b3025;font-size:14px;font-weight:800;cursor:pointer}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.desktop-profile-chips-empty{margin:0;font-size:8px;color:var(--muted)}
.desktop-profile-rail{margin:0 0 12px;padding:10px;border:1px solid #d5e0d6;border-radius:12px;background:linear-gradient(155deg,#f4f8f1,#eef4ea)}
.desktop-profile-rail>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.desktop-profile-rail>header small{display:block;font-size:6px;letter-spacing:.12em;font-weight:900;color:#3f6f66}
.desktop-profile-rail>header b{display:block;margin-top:2px;font:800 10px Manrope,sans-serif}
.desktop-profile-rail>header>button{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:6px 9px;font-size:7px;font-weight:800;cursor:pointer}
.desktop-profile-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px}
.desktop-profile-chips>button{border:1px solid #d0d9cc;border-radius:999px;background:#fff;padding:5px 8px;font-size:7px;font-weight:800;cursor:pointer;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desktop-profile-chips>button:hover{border-color:var(--forest);color:var(--forest)}
.desktop-profile-chips-empty{margin:0;font-size:7px;line-height:1.4;color:var(--muted)}
.desktop-profile-save-quick{width:100%;border:0;border-radius:9px;background:var(--forest);color:#fff;padding:8px;font:800 8px Manrope,sans-serif;cursor:pointer}
.model-profile-dialog{width:min(440px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;background:#fbfaf6;color:var(--ink);box-shadow:0 28px 80px rgba(16,28,24,.28)}
.model-profile-dialog::backdrop{background:rgba(16,28,24,.45)}
.model-profile-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 0}
.model-profile-dialog>header small{display:block;font-size:7px;letter-spacing:.12em;font-weight:900;color:#3f6f66}
.model-profile-dialog>header b{display:block;margin-top:3px;font:800 16px Manrope,sans-serif}
.model-profile-dialog-close{width:32px;height:32px;border:0;border-radius:999px;background:#e8ebe3;font-size:18px;cursor:pointer}
.model-profile-dialog>p{margin:8px 16px 0;font-size:12px;line-height:1.45;color:var(--muted)}
.model-profile-dialog>label{display:grid;gap:6px;margin:14px 16px 0;font-size:11px;font-weight:800;color:var(--muted)}
.model-profile-dialog>label input{border:1px solid var(--line);border-radius:11px;padding:11px 12px;font:700 14px Manrope,sans-serif;background:#fff;outline:0}
.model-profile-dialog>label input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,63,63,.08)}
.model-profile-dialog-save{display:block;width:calc(100% - 32px);margin:10px 16px 0;border:0;border-radius:11px;background:var(--forest);color:#fff;padding:12px;font:800 13px Manrope,sans-serif;cursor:pointer}
.model-profile-dialog-list{display:grid;gap:7px;margin:12px 16px 16px;max-height:280px;overflow:auto}
.model-profile-dialog-card{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #d5ddd2;border-radius:12px;background:#fff}
.model-profile-dialog-thumb{width:40px;height:40px;border-radius:10px;background:#edf2ea;overflow:hidden;display:grid;place-items:center}
.model-profile-dialog-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.model-profile-dialog-thumb span{font:800 13px Manrope,sans-serif;color:#3f6f66}
.model-profile-dialog-card b,.model-profile-dialog-card small{display:block}
.model-profile-dialog-card b{font-size:12px}
.model-profile-dialog-card small{margin-top:2px;font-size:10px;color:var(--muted)}
.model-profile-dialog-actions{display:flex;gap:4px}
.model-profile-dialog-actions button{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}
.model-profile-dialog-actions .danger{background:#f1e4e1;color:#8b3025;width:30px;padding:8px 0}
.studio-random-tools{display:none!important}
.age-badge{border-radius:999px;background:#e4f6cc;color:#315c27;padding:5px 10px;font-size:11px;font-weight:900}
.age-badge.warn{background:#f4dfdb;color:#8b3025}
.studio-random-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.studio-random-row label{display:grid!important;gap:5px;font-size:11px!important;font-weight:800!important;color:#4d655f;margin:0!important;letter-spacing:0!important}
.studio-random-row input{width:100%!important;min-height:42px!important;border:1px solid #d0d9cc!important;border-radius:10px!important;padding:10px 12px!important;font:700 16px Manrope,sans-serif!important;background:#fff!important;color:var(--ink)!important;margin-top:0!important}
.studio-random-row button{border:0!important;border-radius:10px!important;background:var(--forest)!important;color:#fff!important;padding:0 14px!important;min-height:42px!important;font:800 13px Manrope,sans-serif!important;cursor:pointer;white-space:nowrap}
.studio-random-tools>small,.hint{display:block;margin-top:9px;font-size:11px!important;line-height:1.45;color:var(--muted)}
.hint.ok{color:#315c27}.hint.bad{color:#8b3025}
.birth-bad{border-color:#c45a4a!important;box-shadow:0 0 0 2px rgba(196,90,74,.15)}
.studio-ctx-menu{position:fixed;z-index:200;min-width:210px;padding:6px;border:1px solid #d5ddd2;border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(16,28,24,.22)}
.studio-ctx-menu .ctx-label{padding:6px 10px 4px;font-size:7px;letter-spacing:.1em;font-weight:900;color:#3f6f66}
.studio-ctx-menu button{width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;color:var(--ink)}
.studio-ctx-menu button:hover{background:#eef3ea}
.studio-ctx-menu button.danger{color:#8b3025}
.studio-ctx-menu hr{border:0;border-top:1px solid #e4e8e1;margin:4px 0}
.preview-zoom-tools .zoom-label{min-width:52px}
.catalog-card-viewport{border-radius:13px 13px 0 0;background:#eaeee8}.template-item .catalog-card-viewport{box-shadow:none}.template-item:hover .catalog-card-viewport{filter:saturate(1.06)}.template-item .design-preview-card .qr-grid{box-shadow:none!important}
@media(max-width:720px){.studio-express-grid{grid-template-columns:1fr}.studio-express-grid button:last-child{grid-column:auto}.saved-configuration-select{grid-template-columns:1fr 1fr}.saved-configuration-select select{grid-column:1/-1}.model-profiles{margin-bottom:10px;padding:11px}.model-profile-list{max-height:180px}.desktop-profile-rail{display:none}.studio-random-tools{margin-bottom:10px}}

/* CRM administrateur et pr?paration du dossier client */
.admin-head-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.admin-head-actions>button{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:9px 11px;font-size:8px;font-weight:850;cursor:pointer}.admin-head-actions>button:hover{border-color:var(--forest)}
.client-editor-dialog{width:min(690px,calc(100% - 24px))}.client-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.client-editor-grid label,.client-existing-row label{display:grid;gap:6px;font-size:8px;font-weight:850}.client-editor-grid .wide{grid-column:1/-1}.client-editor-grid input,.client-editor-grid select,.client-editor-grid textarea,.client-existing-row select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;font:700 10px Manrope;outline:0;background:#fff}.client-editor-grid input:focus,.client-editor-grid textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,63,63,.08)}.client-existing-row{margin:14px 0;padding:11px;border-radius:12px;background:#edf5df}.client-intake-note{display:grid;gap:3px;margin:13px 0;padding:11px;border-left:3px solid var(--lime);background:#f4f6ef}.client-intake-note b{font-size:9px}.client-intake-note span{font-size:8px;color:var(--muted)}
.client-view-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.client-view-head b,.client-view-head span{display:block}.client-view-head b{font:800 15px Manrope}.client-view-head span{font-size:8px;color:var(--muted);margin-top:3px}.client-view-head>button{border:0;border-radius:9px;background:var(--lime);padding:9px 12px;font-size:8px;font-weight:850;cursor:pointer}
.crm-client-card{display:flex;flex-direction:column}.client-card-head{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;margin-bottom:10px}.client-card-head>span{width:42px;height:42px;border-radius:13px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:800 9px Manrope}.client-card-head small{display:inline-block;padding:3px 6px;border-radius:99px;background:#eaf3dc;color:#42652d;font-size:6px;font-weight:850}.client-card-head h3{margin:4px 0 1px}.client-card-head em{display:block;font-size:7px;color:var(--muted);font-style:normal}.crm-client-card p a{color:inherit}.client-card-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:11px}.client-card-actions button,.client-card-actions a,.client-folder-actions button,.client-folder-actions a{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:8px 9px;font-size:7px;font-weight:800;cursor:pointer}.client-card-actions a,.client-folder-actions a{background:var(--lime);color:var(--ink)}.client-card-actions .danger{background:#f4dfdb;color:#8b3025}
.client-folder-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.client-history-list{display:grid;gap:7px}.client-history-list button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;text-align:left;cursor:pointer}.client-history-list b,.client-history-list small{display:block}.client-history-list b{font-size:9px}.client-history-list small{font-size:7px;color:var(--muted);margin-top:3px}.client-history-list em{font-size:7px;font-style:normal;color:#427267}.detail-downloads .edit-project-link{background:var(--lime);color:var(--ink)}
@media(max-width:720px){.admin-head{align-items:flex-start!important}.admin-head-actions{width:100%;margin:9px 0 0}.admin-head-actions>*{flex:1;text-align:center}.client-editor-grid{grid-template-columns:1fr}.client-editor-grid .wide{grid-column:auto}.client-view-head{align-items:flex-start}.client-view-head>button{white-space:nowrap}}
.student-country-presets>.show-all-education{width:100%;justify-content:center;margin-top:7px;padding:8px;color:#285d55;font-size:8px;font-weight:850}
.batch-studio{margin:0 0 16px;padding:13px;border:1px solid #d7e0da;border-radius:15px;background:linear-gradient(145deg,#f7faf6,#edf4ef)}
.batch-studio-head{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.batch-studio-head>div{display:flex;flex-direction:column;gap:2px}.batch-studio-head small{font-size:7px;letter-spacing:.13em;font-weight:900;color:#397169}.batch-studio-head b{font:800 11px Manrope}.batch-studio-head span{font-size:7px;line-height:1.45;color:var(--muted)}.batch-studio-head>strong{width:31px;height:31px;border-radius:10px;background:var(--forest);color:#fff;display:grid;place-items:center;font:800 12px Manrope}
.batch-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.batch-actions button{border:1px solid #cbd9d0;background:#fff;border-radius:9px;padding:8px;font-size:8px;font-weight:850;cursor:pointer}.batch-actions button:first-child{background:var(--ink);border-color:var(--ink);color:#fff}
.batch-holder-list{display:grid;gap:6px;max-height:220px;overflow:auto}.batch-holder-list>p{font-size:8px;color:var(--muted);text-align:center;padding:9px;margin:0}.batch-holder-list article{border:1px solid #dce4df;background:#fff;border-radius:10px;padding:5px}.batch-holder-list article.active{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}.batch-holder-main{width:100%;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;border:0;background:transparent;text-align:left;padding:2px;cursor:pointer}.batch-holder-main>span{width:22px;height:22px;border-radius:7px;background:#edf3ef;display:grid;place-items:center;font-size:7px;font-weight:900}.batch-holder-main div{min-width:0}.batch-holder-main b,.batch-holder-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-holder-main b{font-size:9px}.batch-holder-main small{font-size:7px;color:var(--muted);margin-top:2px}.batch-holder-main em{font-style:normal;font-size:6px;color:#397169;background:#ecf4ef;border-radius:99px;padding:4px 6px}.batch-holder-list article>div{display:flex;justify-content:flex-end;gap:5px;border-top:1px solid #eef1ef;margin-top:4px;padding-top:4px}.batch-holder-list article>div button{border:0;background:transparent;font-size:7px;font-weight:800;color:#4b655f;cursor:pointer}.batch-holder-list article>div button:last-child{color:#a74242}
.holder-table-head{display:flex;align-items:end;justify-content:space-between;gap:15px}.holder-table-head small{font-size:8px;letter-spacing:.12em;color:#397169;font-weight:900}.holder-table-head h3{margin:3px 0 0}.holder-table-head>span{font-size:9px;color:var(--muted)}.holder-admin-table{display:grid;gap:5px;margin-top:13px;max-height:320px;overflow:auto}.holder-admin-table>div{display:grid;grid-template-columns:28px minmax(110px,1.2fr) minmax(110px,1fr) minmax(90px,.7fr) auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:8px 10px}.holder-admin-table span{font-size:8px;font-weight:900;color:#397169}.holder-admin-table b{font-size:10px}.holder-admin-table small,.holder-admin-table em,.holder-admin-table i{font-size:8px;font-style:normal;color:var(--muted)}.holder-admin-table i{color:#397169;font-weight:800}
@media(max-width:700px){.holder-table-head{align-items:flex-start;flex-direction:column}.holder-admin-table>div{grid-template-columns:24px 1fr auto}.holder-admin-table small{grid-column:2}.holder-admin-table em{grid-column:2}.holder-admin-table i{grid-column:3;grid-row:1/4}}

/* Publication 2026 ? parcours ?tudiant prioritaire */
html[data-page="studio"] .student-focus,html[data-page="studio"] .student-faq,html[data-page="studio"] .pool-section,html[data-page="admin"] .student-focus,html[data-page="admin"] .student-faq,html[data-page="admin"] .pool-section{display:none}
.student-focus{background:#f9faf5}.student-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.student-route-grid>a{min-height:250px;border:1px solid var(--line);border-radius:22px;background:#fff;padding:23px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}.student-route-grid>a:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-85px;top:-75px;background:#e8f8ca;transition:.25s}.student-route-grid>a:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(21,34,31,.09)}.student-route-grid>a:hover:after{transform:scale(1.15)}.student-route-grid>a>span{font-size:28px;position:relative;z-index:1}.student-route-grid small{display:block;margin:25px 0 8px;color:#397169;font-size:8px;font-weight:900;letter-spacing:.12em}.student-route-grid h3{margin:0;font:800 19px Manrope}.student-route-grid p{min-height:46px;color:var(--muted);font-size:11px;line-height:1.55}.student-route-grid>a>b{margin-top:auto;font-size:10px}.student-price-strip{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:20px;margin-top:18px;padding:20px 24px;border-radius:18px;background:var(--ink);color:#fff}.student-price-strip>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px}.student-price-strip small{grid-column:1/-1;color:#98aaa5;font-size:7px;font-weight:900;letter-spacing:.12em}.student-price-strip strong{font:800 19px Manrope}.student-price-strip span{align-self:end;color:#9caaa6;font-size:8px;margin-bottom:2px}.student-price-strip>a{border-radius:99px;background:var(--lime);color:var(--ink);padding:13px 17px;font-size:10px;font-weight:850;white-space:nowrap}
.student-faq{background:#f0eee7}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq-grid details{border:1px solid #dadbd3;border-radius:14px;background:#fff;padding:17px 19px}.faq-grid summary{cursor:pointer;font:800 12px Manrope;display:flex;align-items:center;justify-content:space-between;gap:10px}.faq-grid summary:after{content:"?";font-size:17px;color:#397169}.faq-grid details[open] summary:after{content:"?"}.faq-grid p{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.csv-template-button{width:100%;border:1px solid #c9d6ce;border-radius:10px;background:#eef4ef;color:#285d55;padding:10px;font-size:8px;font-weight:850;cursor:pointer;margin:-8px 0 10px}.csv-template-button:hover{background:#e3eee7}
.bat-series-summary{margin:-10px 0 20px;padding:13px;border:1px solid #d9e2da;border-radius:13px;background:#f2f7f3;display:grid;gap:8px}.bat-series-summary:empty{display:none}.bat-series-summary>div{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px}.bat-series-summary>div>span{width:34px;height:34px;border-radius:10px;background:var(--forest);color:#fff;display:grid;place-items:center;font:800 11px Manrope}.bat-series-summary p{margin:0}.bat-series-summary b,.bat-series-summary small{display:block}.bat-series-summary b{font-size:10px}.bat-series-summary small{font-size:8px;line-height:1.45;color:var(--muted)}.bat-series-summary em{justify-self:start;border-radius:99px;background:#f6e9d3;color:#8c5d18;padding:5px 8px;font-size:7px;font-style:normal;font-weight:850}.bat-series-summary em.ready{background:#e4f3d7;color:#3b6d29}
@media(max-width:900px){.student-route-grid{grid-template-columns:1fr}.student-route-grid>a{min-height:190px}.student-price-strip{grid-template-columns:repeat(3,1fr)}.student-price-strip>a{grid-column:1/-1;text-align:center}.faq-grid{grid-template-columns:1fr}}
@media(max-width:600px){.student-price-strip{grid-template-columns:1fr 1fr;padding:17px}.student-price-strip>div:last-of-type{grid-column:1/-1}.student-route-grid>a{padding:18px}.student-route-grid small{margin-top:16px}.faq-grid details{padding:15px}.hero-copy .trust-row{display:grid;grid-template-columns:1fr 1fr}.hero-copy .trust-row div:last-child{grid-column:1/-1}}

/* Vitrine responsive ? parcours ?tudiant */
.student-route-hint{margin:10px 0 0;font-size:13px;font-weight:650;color:var(--muted)}
.student-route-hint strong{color:var(--forest);font-weight:800}
.studio-path-steps{
  list-style:none;margin:0 0 22px;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px
}
.studio-path-steps li{
  display:flex;align-items:center;gap:12px;padding:16px 18px;
  border:1px solid var(--line);border-radius:18px;background:#fff
}
.studio-path-steps em{
  width:36px;height:36px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:var(--forest);color:var(--lime);
  font:800 14px/1 Manrope,sans-serif;font-style:normal
}
.studio-path-steps b{display:block;font:800 15px/1.2 Manrope,sans-serif}
.studio-path-steps span{display:block;margin-top:3px;font-size:12px;color:var(--muted);line-height:1.35}
.studio-path-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.tracking-hint{margin:10px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}
.tracking-last{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:12px;padding:10px 12px;border-radius:12px;background:#f2f1eb;border:1px solid var(--line)
}
.tracking-last span{font-size:11px;color:var(--muted)}
.tracking-last button{
  border:0;border-radius:999px;background:var(--ink);color:#fff;
  padding:8px 12px;font:800 11px Manrope;cursor:pointer
}
.tracking-result{margin-top:14px}
.tracking-loading,.tracking-error,.tracking-empty-steps{margin:0;font-size:13px;line-height:1.45;color:var(--ink)}
.tracking-error{color:#b42318}
.tracking-panel{background:#f7f6f1;border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--ink)}
.tracking-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tracking-panel-head small{display:block;font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:800}
.tracking-panel-head b{display:block;margin-top:4px;font:800 20px/1.1 Manrope,sans-serif;letter-spacing:.04em;color:var(--forest)}
.tracking-copy{
  border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);
  padding:8px 12px;font:800 11px Manrope;cursor:pointer;white-space:nowrap
}
.tracking-panel-meta{margin:10px 0 12px;font-size:13px;color:var(--muted)}
.tracking-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tracking-badges .badge-prod,.tracking-badges .badge-pay{
  display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;
  font-size:11px;font-weight:800;background:#e8ebe5;color:var(--ink)
}
.tracking-badges .badge-pay{background:#eef8cf;color:var(--forest)}
.tracking-panel .timeline{margin-top:8px}
.tracking-panel .timeline-item{color:var(--ink)}
.tracking-panel .tracking-pool{background:#edf5ef;color:var(--ink)}
@media(max-width:900px){
  .studio-path-steps{grid-template-columns:1fr}
}
.student-route-grid{gap:12px}
.student-route-grid>a.student-route{
  min-height:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:14px;
  row-gap:8px;
  align-items:center;
  padding:16px 18px;
}
.student-route-grid>a.student-route .route-flag{
  grid-row:1 / span 2;
  font-size:34px;
  line-height:1;
  position:relative;
  z-index:1;
}
.student-route-grid>a.student-route>div{min-width:0;position:relative;z-index:1}
.student-route-grid>a.student-route small{margin:0 0 4px;font-size:10px}
.student-route-grid>a.student-route h3{font-size:17px;line-height:1.2}
.student-route-grid>a.student-route p{min-height:0;margin:4px 0 0;font-size:12px;line-height:1.45}
.student-route-grid>a.student-route>em{
  justify-self:end;
  align-self:start;
  position:relative;
  z-index:1;
  border-radius:999px;
  background:#e8f8ca;
  color:#24584f;
  padding:5px 9px;
  font-size:10px;
  font-style:normal;
  font-weight:800;
}
.student-route-grid>a.student-route:not(.is-featured)>em{display:none}
.student-route-grid>a.student-route>b{
  grid-column:2 / -1;
  margin-top:0;
  justify-self:start;
  position:relative;
  z-index:1;
  font-size:12px;
  font-weight:800;
  color:var(--forest);
}
.student-route-grid>a.student-route.is-featured{
  border-color:#9fc98f;
  background:linear-gradient(180deg,#f7fff0,#fff);
  box-shadow:0 10px 28px rgba(23,63,63,.08);
}
.student-route-grid>a.student-route.is-featured:after{background:#d9f5a8}
@media(min-width:901px){
  .student-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1100px){
  .student-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .student-focus.section{padding:56px 18px}
  .student-route-grid{grid-template-columns:1fr!important;gap:10px}
  .student-route-grid>a.student-route{
    grid-template-columns:44px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    padding:14px;
    border-radius:16px;
  }
  .student-route-grid>a.student-route .route-flag{grid-row:1;font-size:28px}
  .student-route-grid>a.student-route>div{grid-column:2;grid-row:1 / span 2}
  .student-route-grid>a.student-route>em{grid-column:1 / -1;grid-row:3;justify-self:start;margin-top:2px}
  .student-route-grid>a.student-route>b{grid-column:1 / -1;grid-row:4;margin-top:2px}
  .student-route-grid>a.student-route h3{font-size:16px}
  .student-route-grid>a.student-route p{font-size:12px}
  .student-price-strip{
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    padding:16px!important;
    border-radius:16px;
  }
  .student-price-strip>div{grid-template-columns:1fr}
  .student-price-strip strong{font-size:18px}
  .student-price-strip>a{
    grid-column:1 / -1!important;
    text-align:center;
    padding:14px 16px!important;
    font-size:13px!important;
  }
  .pool-section{grid-template-columns:1fr!important;gap:18px;padding:56px 18px}
  .pool-actions{flex-direction:column;align-items:stretch}
  .pool-actions .btn,.pool-actions button{width:100%;justify-content:center}
  .hero{padding:48px 18px 40px!important;gap:28px}
  .hero-copy h1{font-size:clamp(32px,9vw,48px)!important;line-height:1.05}
  .hero-actions{width:100%}
  .hero-actions .btn{width:100%;justify-content:center}
  .client-strip{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:14px;padding:14px 18px}
  .section-head{gap:12px}
  .section-head h2{font-size:clamp(26px,7vw,36px)}
  .filter-row{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px}
  .filter-row .filter{flex:0 0 auto}
}

/* File de production group?e */
.pool-section{padding:85px clamp(24px,8vw,130px);background:linear-gradient(120deg,#173f3f,#245b55);color:#fff;display:grid;grid-template-columns:1fr minmax(340px,.72fr);align-items:center;gap:70px}.pool-copy .kicker{color:#9ac1ba}.pool-copy h2{font-size:clamp(40px,5vw,70px);line-height:1;margin:14px 0}.pool-copy p{max-width:610px;color:#c3d1cd;line-height:1.65}.pool-actions{display:flex;gap:9px;margin-top:25px}.pool-actions button{border:1px solid #78918b;border-radius:99px;background:transparent;color:#fff;padding:13px 17px;font-size:10px;font-weight:850;cursor:pointer}.pool-meter-head .pool-meter-badge{font:800 13px Manrope,sans-serif;color:#173f3f;background:#c9ff4a;border-radius:999px;padding:8px 12px;white-space:nowrap}.pool-meter-simple .pool-meter-head{margin-bottom:12px}.pool-explain-hero{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#edf7dc;color:#173f3f;font:700 14px/1.35 Manrope,sans-serif}.pool-meter-card{border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.08);backdrop-filter:blur(16px);padding:25px;box-shadow:0 24px 70px rgba(0,0,0,.18)}.pool-meter-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.pool-meter-head small,.pool-meter-head b{display:block}.pool-meter-head small{font-size:7px;letter-spacing:.13em;color:#9cb2ad}.pool-meter-head b{font:800 14px Manrope;margin-top:4px}.pool-meter-head>strong{font:800 30px Manrope;color:var(--lime)}.pool-progress{height:12px;border-radius:99px;background:#0f2f2b;overflow:hidden;margin:20px 0 16px}.pool-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lime),#76e1c0);transition:width .5s}.pool-people{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.pool-people i{aspect-ratio:1;border:1px solid #657c76;border-radius:8px;display:grid;place-items:center;color:#80948f;font:800 7px Manrope;font-style:normal}.pool-people i.filled{border-color:var(--lime);background:var(--lime);color:var(--ink)}.pool-meter-card>p{font:800 11px Manrope;margin:17px 0 4px}.pool-meter-card>small{font-size:7px;color:#8fa49f}
.studio-pool-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px 13px;border:1px solid #d6e0d9;border-radius:12px;background:#edf5ef}.studio-pool-notice>div{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:9px}.studio-pool-notice>div>span{width:42px;height:42px;border-radius:11px;background:var(--forest);color:#fff;display:grid;place-items:center;font:800 10px Manrope}.studio-pool-notice p{margin:0}.studio-pool-notice b,.studio-pool-notice small{display:block}.studio-pool-notice b{font-size:9px}.studio-pool-notice small{font-size:7px;color:var(--muted);margin-top:2px}.studio-pool-notice>button{border:0;border-radius:9px;background:var(--lime);padding:9px 11px;font-size:7px;font-weight:850;cursor:pointer;white-space:nowrap}.tracking-pool{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:13px 0;padding:11px;border-radius:11px;background:#edf5ef}.tracking-pool strong{font:800 16px Manrope;color:#397169}.tracking-pool span{font-size:8px}.tracking-pool button{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:8px;font-size:7px;font-weight:800;cursor:pointer}
@media(max-width:850px){.pool-section{grid-template-columns:1fr;gap:35px}.pool-actions{flex-wrap:wrap}}
@media(max-width:600px){.pool-section{padding:60px 18px}.pool-actions>*{width:100%}.pool-people{gap:3px}.pool-meter-card{padding:18px}.studio-pool-notice{align-items:stretch;flex-direction:column}.studio-pool-notice>button{width:100%}.tracking-pool{grid-template-columns:auto 1fr}.tracking-pool button{grid-column:1/-1}}

/* Gestion administrateur des groupes de production */
.pool-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr)) 2fr;gap:10px;margin-bottom:14px}.pool-admin-summary>div,.pool-admin-summary>p{margin:0;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px}.pool-admin-summary small,.pool-admin-summary b{display:block}.pool-admin-summary small{font-size:7px;letter-spacing:.1em;color:var(--muted)}.pool-admin-summary b{font:850 22px Manrope;margin-top:4px}.pool-admin-summary p{font-size:8px;line-height:1.5;color:var(--muted);display:flex;align-items:center}
.pool-admin-list{display:grid;gap:13px}.pool-admin-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:16px;overflow:hidden}.pool-admin-card.is-ready{border-color:#86af45;box-shadow:inset 4px 0 #a8db55}.pool-admin-card>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.pool-admin-card header h3{font:800 14px ui-monospace,monospace;margin:5px 0 3px}.pool-admin-card header small{font-size:7px;color:var(--muted)}.pool-admin-card header strong{font:900 28px Manrope;white-space:nowrap}.pool-admin-card header strong i{font-size:12px;color:var(--muted);font-style:normal}.pool-admin-state{display:inline-flex;border-radius:99px;background:#fff0cf;color:#805b0b;padding:5px 8px;font-size:6px;font-weight:900;letter-spacing:.1em}.pool-admin-card.is-ready .pool-admin-state{background:#e4f6cc;color:#315c27}.pool-admin-progress{height:9px;border-radius:99px;background:#e9ece5;margin-top:14px;overflow:hidden}.pool-admin-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3d7d72,var(--lime))}.pool-admin-labels{display:flex;justify-content:space-between;gap:10px;margin:7px 0 13px;font-size:7px;color:var(--muted)}.pool-admin-labels b{color:var(--ink)}
.pool-admin-orders{display:grid;gap:5px}.pool-admin-orders button{width:100%;display:grid;grid-template-columns:1fr auto 145px;align-items:center;gap:10px;border:1px solid #eceee8;border-radius:10px;background:#fafaf7;padding:10px;text-align:left;cursor:pointer}.pool-admin-orders button:hover{border-color:#9bbeb7;background:#fff}.pool-admin-orders span b,.pool-admin-orders span small{display:block}.pool-admin-orders span b{font-size:9px}.pool-admin-orders span small{font-size:7px;color:var(--muted);margin-top:2px}.pool-admin-orders em{font-size:8px;font-style:normal;font-weight:800}.pool-admin-orders i{font:700 7px ui-monospace,monospace;color:var(--muted);text-align:right}.pool-admin-card>footer{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;padding:0;background:transparent;color:inherit}.pool-admin-card>footer button,.pool-admin-card>footer a{border:0;border-radius:8px;background:var(--ink);color:#fff;padding:8px 10px;font-size:7px;font-weight:800;cursor:pointer}.pool-admin-card>footer a{background:#e6f6cf;color:var(--ink)}.pool-admin-empty{border:1px dashed var(--line);border-radius:14px;background:#fff;padding:24px}
@media(max-width:900px){.pool-admin-summary{grid-template-columns:repeat(3,1fr)}.pool-admin-summary>p{grid-column:1/-1}.pool-admin-orders button{grid-template-columns:1fr auto}.pool-admin-orders i{grid-column:1/-1;text-align:left}}
@media(max-width:600px){.pool-admin-summary{grid-template-columns:1fr 1fr}.pool-admin-summary>div:nth-child(3),.pool-admin-summary>p{grid-column:1/-1}.pool-admin-card{padding:13px}.pool-admin-card>header{align-items:center}.pool-admin-card header h3{font-size:10px;word-break:break-all}.pool-admin-orders button{grid-template-columns:1fr auto;padding:9px}.pool-admin-card>footer>*{flex:1;text-align:center;white-space:nowrap}}

/* S?lecteur de designs 2026 : type, pays, puis recto */
.studio-express-compact{margin-bottom:10px;padding:0;background:#f3f6ef}.studio-express-compact>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;cursor:pointer;list-style:none}.studio-express-compact>summary::-webkit-details-marker{display:none}.studio-express-compact>summary span{font:800 9px Manrope}.studio-express-compact>summary small{font-size:7px;color:#397169}.studio-express-compact[open]>summary{border-bottom:1px solid #d8e2d2}.studio-express-compact>.studio-express-grid,.studio-express-compact>.saved-configurations{margin-left:10px;margin-right:10px}.studio-express-compact>.saved-configurations{margin-bottom:10px}
.design-browser{border:1px solid #dce1d9;border-radius:14px;background:#f8f9f5;padding:10px;margin-bottom:10px}.design-browser-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.design-browser-head small,.design-browser-head b{display:block}.design-browser-head small,.design-results-head small{font-size:6px;letter-spacing:.12em;color:#397169;font-weight:900}.design-browser-head b{font:800 11px Manrope;margin-top:2px}.design-browser-head>span{border-radius:99px;background:#e5f5cd;padding:5px 8px;font-size:7px;font-weight:850;white-space:nowrap}.design-browser .design-filter-row{padding-bottom:8px}.design-browser .student-country-presets{margin:0;padding:9px;background:#eef3eb}.design-browser .student-country-presets[hidden]{display:none}.design-browser .student-country-presets>div{grid-template-columns:repeat(3,minmax(0,1fr))}.design-results-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:11px 1px 7px}.design-results-head span{font-size:7px;color:var(--muted)}
.studio-designs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;max-height:410px!important;overflow:auto!important;padding:2px 4px 4px 2px!important}.studio-design[hidden]{display:none!important}.studio-design-copy b{font-size:7px!important}.studio-design-copy small{font-size:6px!important}
.institutional-signature i.flag-de{background:linear-gradient(#111 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66%)}.institutional-signature i.flag-es{background:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}
.live-card[data-template="geometry"] .live-header,.live-card[data-template="geometry"] .live-content,.live-card[data-template="geometry"] .live-footer{z-index:2}.live-card[data-template="geometry"] .live-footer{align-items:center}.live-card[data-template="geometry"] .institutional-signature{max-width:250px;border-radius:10px;background:rgba(255,255,255,.94);padding:6px 8px;box-shadow:0 4px 14px rgba(20,32,30,.08)}.live-card[data-template="geometry"] .qr-grid{position:relative;z-index:4;margin-right:3px;background:#fff!important;box-shadow:0 7px 18px rgba(17,32,30,.22),0 0 0 1px rgba(17,32,30,.12)!important}
.student-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1100px){.student-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.student-route-grid{grid-template-columns:1fr!important}}
@media(max-width:720px){.design-browser .student-country-presets>div{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-designs{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:390px!important}.design-results-head{align-items:flex-start;flex-direction:column;gap:3px}.studio-express-compact>.studio-express-grid{grid-template-columns:1fr 1fr}.studio-express-compact>.studio-express-grid button:last-child{grid-column:1/-1}}
@media(max-width:430px){.design-browser-head{align-items:flex-start}.design-browser-head>span{font-size:6px}.student-country-presets button{padding:7px 4px}.studio-express-compact>.studio-express-grid{grid-template-columns:1fr}.studio-express-compact>.studio-express-grid button:last-child{grid-column:auto}}

/* Union Jack officiel et ?diteur libre compact */
.institutional-signature i.flag-uk{background:#012169 url("/flag-united-kingdom.svg") center/cover no-repeat!important}
.layout-toolbar{gap:6px!important;padding:8px!important}.layout-toolbar-head{min-height:34px}.layout-toolbar-head>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-inspector{padding-top:7px!important}.layer-inspector-top{grid-template-columns:minmax(135px,.8fr) 1fr auto!important;align-items:center!important}.layer-inspector-top label{display:flex!important;align-items:center;gap:7px}.layer-inspector-top label select{margin:0!important}.layer-inspector-top>b{padding:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-inspector-top>button{margin:0!important}
.editor-tool-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px;padding:3px;border-radius:9px;background:#dde2da}.editor-tool-tabs button{border:0!important;background:transparent!important;padding:7px!important;font-size:8px!important}.editor-tool-tabs button.active{background:#fff!important;color:var(--ink)!important;box-shadow:0 2px 7px rgba(20,33,30,.1)}
.editor-tool-panel{padding-top:7px}.editor-tool-panel[hidden]{display:none!important}.layer-content-editor{min-height:48px}.layer-content-summary{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff}.layer-content-summary>span{width:42px;height:34px;border-radius:8px;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:6px;font-weight:900}.layer-content-summary b,.layer-content-summary small{display:block}.layer-content-summary b{font-size:9px}.layer-content-summary small{font-size:7px;color:var(--muted);margin-top:2px;line-height:1.35}.layer-content-actions,.style-shortcuts{display:flex;gap:5px;margin-top:6px}.layer-content-actions button,.style-shortcuts button{flex:1;border:0!important;border-radius:8px!important;background:var(--ink)!important;color:#fff!important;padding:8px!important;font-size:7px!important;font-weight:850!important}.layer-content-actions .danger{background:#f4dfdb!important;color:#8b3025!important}
.layer-content-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.layer-content-form label{display:grid;gap:4px;margin:0!important;padding:7px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:7px!important}.layer-content-form label:only-child{grid-column:1/-1}.layer-content-form input,.layer-content-form textarea{width:100%;min-width:0;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;padding:2px 0!important;font-size:9px!important;font-weight:750;resize:none;outline:0}.layer-content-help{display:block;margin-top:5px;font-size:6px;color:var(--muted)}.style-shortcuts button{background:#edf0e9!important;color:var(--ink)!important}.layer-property-grid{grid-template-columns:repeat(3,1fr)!important}.editor-tool-panel .layer-quick-list{max-height:56px;overflow:auto}.editor-tool-panel .layer-action-grid{margin-top:5px}.editor-tool-panel .layer-shortcuts{margin-top:5px}
@media(max-width:720px){.layout-toolbar-head>span{order:initial!important;width:auto!important;max-width:130px}.layer-inspector-top{grid-template-columns:1fr auto!important}.layer-inspector-top>b{display:none!important}.layer-content-form{grid-template-columns:1fr}.layer-content-form label:only-child{grid-column:auto}.layer-property-grid{grid-template-columns:1fr 1fr!important}.layer-property-grid label:last-child{grid-column:1/-1}.editor-tool-tabs{position:sticky;top:0;z-index:2}.layer-content-summary{grid-template-columns:36px 1fr}.layer-content-summary>span{width:36px}}

/* Lisibilit? et impression : r?gles communes ? tous les mod?les */
.live-card .live-header>b{
  position:relative;
  z-index:8!important;
  max-width:44%;
  overflow:hidden;
  color:#17201e!important;
  background:#fff!important;
  border:1px solid #d7dfdc!important;
  box-shadow:0 4px 12px rgba(18,31,29,.12);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.live-card .qr-grid{
  border:1px solid #aeb9b5!important;
  background:#fff!important;
  background-clip:padding-box!important;
}
.export-card .qr-grid{
  border:1px solid #87938f!important;
  box-shadow:none!important;
}
.live-card[data-variant="student-france"] .front-side:before{
  clip-path:none!important;
}

/* Signature Royaume-Uni : vraie taille lisible et rendu vectoriel net. */
.institutional-signature[data-country="uk"]{
  min-width:205px;
  gap:10px;
  align-items:center;
  line-height:1;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
.institutional-signature[data-country="uk"] .country-flag{
  width:46px;
  height:27px;
  object-fit:contain;
  border:1px solid rgba(1,33,105,.3);
  border-radius:3px;
  image-rendering:auto;
  box-shadow:0 1px 2px rgba(18,31,29,.12);
}
.institutional-signature[data-country="uk"]>b{
  gap:2px;
  white-space:nowrap;
}
.institutional-signature[data-country="uk"]>b>span:first-child{
  color:#172b54;
  font:800 8px/1 Manrope,sans-serif;
  letter-spacing:.065em;
}
.institutional-signature[data-country="uk"]>b>span:nth-child(2){
  color:#17201e;
  font:800 9px/1.05 Manrope,sans-serif;
  letter-spacing:.015em;
}
.institutional-signature[data-country="uk"] small{
  color:#59635f;
  font:700 6.5px/1.1 Manrope,sans-serif;
  letter-spacing:.06em;
}

/* Signature Canada : drapeau officiel lisible et hi?rarchie nette. */
.institutional-signature[data-country="ca"]{
  min-width:215px;
  gap:10px;
  align-items:center;
  line-height:1;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
.institutional-signature[data-country="ca"] .country-flag{
  width:48px;
  height:24px;
  object-fit:contain;
  border:1px solid rgba(213,43,30,.22);
  border-radius:4px;
  background:#fff;
  image-rendering:auto;
  box-shadow:0 1px 3px rgba(18,31,29,.13);
}
.institutional-signature[data-country="ca"]>b{
  gap:2px;
  min-width:0;
  white-space:nowrap;
}
.institutional-signature[data-country="ca"]>b>span:first-child{
  color:#a9201a;
  font:800 8px/1 Manrope,sans-serif;
  letter-spacing:.075em;
}
.institutional-signature[data-country="ca"]>b>span:nth-child(2){
  color:#17201e;
  font:800 9px/1.05 Manrope,sans-serif;
  letter-spacing:.015em;
}
.institutional-signature[data-country="ca"] small{
  color:#59635f;
  font:700 6.5px/1.1 Manrope,sans-serif;
  letter-spacing:.055em;
}

/* Outils avanc?s du portrait et d?tourage. */
.portrait-advanced-grid{margin-top:2px}
.portrait-flip-control{display:flex!important;flex-direction:column;gap:5px}
.portrait-flip-control>span{font-size:8px}
.portrait-flip-control button,.restore-photo-auto{border:1px solid #ccd7cf;background:#fff;border-radius:8px;padding:8px;font-size:7px;font-weight:800;cursor:pointer}
.portrait-flip-control button.active{background:var(--forest);border-color:var(--forest);color:#fff}
.background-mode{margin-top:9px}
.background-mode label{margin:0!important;font-size:8px!important}
.background-mode select{margin-top:5px!important;padding:9px!important;font-size:8px!important}
.background-tools[hidden]{display:none!important}
.restore-photo-auto{width:100%;margin-top:8px}
.restore-photo-auto:disabled{opacity:.45;cursor:not-allowed}

/* Export = aper?u PVC 650?410 (ignore le responsive / zoom) */
.export-host.scaled-card-frame{
  position:fixed!important;
  left:0!important;
  top:0!important;
  width:650px!important;
  height:410px!important;
  max-width:none!important;
  margin:0!important;
  zoom:1!important;
  overflow:hidden!important;
  z-index:2147483000!important;
  pointer-events:none!important;
  perspective:none!important;
  opacity:0.01!important;
}
.export-host.scaled-card-frame > .live-card.export-card .front-side,
.export-host.scaled-card-frame > .live-card.export-card .back-side,
.export-host.scaled-card-frame > .live-card.show-back .back-side,
html[data-page="studio"] .export-host.scaled-card-frame > .live-card .back-side,
html[data-page="studio"] .export-host.scaled-card-frame > .live-card.show-back .back-side,
html[data-page="studio"] .export-host.scaled-card-frame > .live-card .front-side{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
}
.export-host>.live-card.export-card,
.live-card.export-card{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:650px!important;
  height:410px!important;
  max-width:none!important;
  margin:0!important;
  zoom:1!important;
  transform:none!important;
  transition:none!important;
  box-shadow:none!important;
  overflow:hidden!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  background:#fff!important;
  aspect-ratio:auto!important;
}
.export-card>.card-side{
  position:absolute!important;
  inset:0!important;
  width:650px!important;
  height:410px!important;
  transform:none!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
  overflow:hidden!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}
.export-card .live-photo{overflow:hidden!important}
.export-card .live-photo .portrait-image{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important}
.export-card .institution-mark,.export-card .institutional-signature img.institution-mark{background:transparent!important;box-shadow:none!important;mix-blend-mode:normal}
.export-card .back-side .magnetic{
  width:calc(100% + 76px)!important;
  margin:20px -38px 25px!important;
  border-radius:0!important;
}
/* Verso classique export = primaire (comme l'aper?u), jamais blanc */
.export-card .back-side:not(.is-real-back){
  background: var(--primary, #173f3f) !important;
  color: #fff !important;
}
.export-card .back-side:not(.is-real-back) .back-logo{
  background: #fff !important;
  color: var(--primary, #173f3f) !important;
}
.export-card .back-side:not(.is-real-back) .magnetic{
  width:calc(100% + 76px)!important;
  margin:20px -38px 25px!important;
  border-radius:0!important;
}
.export-card .barcode.large > img{
  height: 36px !important;
  width: 100% !important;
  object-fit: fill !important;
  flex: 0 0 auto !important;
}

/* Verso r?el : m?me padding que l'aper?u (pas le 38px du recto classique) */
.export-card .back-side.is-real-back{
  padding:16px 18px 14px !important;
  gap:7px !important;
  display:flex !important;
  flex-direction:column !important;
}
.export-card .back-side.is-real-back[data-back-layout="style-match"],
.export-card .back-side.is-real-back.is-brand-style-back{
  padding:24px 18px 14px !important;
}
.export-card .back-side.is-real-back .magnetic{
  width:calc(100% + 36px)!important;
  margin:auto -18px 0!important;
  border-radius:0!important;
}
.export-card.logo-cartouche-on .real-back-logo,
.export-card.logo-cartouche-on .live-logo.brand-logo,
.export-card .real-back-logo.has-cartouche{
  background:#fff !important;
  padding:5px 7px !important;
  border-radius:8px !important;
  border:1px solid rgba(20,31,29,.12) !important;
  box-shadow:0 2px 6px rgba(0,0,0,.10) !important;
  box-sizing:border-box !important;
}
.export-card .portrait-export-flat{
  background:transparent !important;
  box-shadow:none !important;
}

.export-card[data-template="ribbon"] .live-content{margin-top:62px!important}
.export-card[data-template="geometry"] .live-info{max-width:58%!important}
.export-card[data-template="campus"] .live-content{margin-top:40px!important}
.export-card .selected-layer,
.export-card.layout-editing .editable-layer{outline:none!important;box-shadow:none!important}
.export-card *{animation:none!important;transition:none!important}
.export-dialog{width:min(420px,calc(100vw - 32px));padding:28px 26px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(17,31,28,.18)}
.export-dialog .kicker{font-size:9px;letter-spacing:.14em;color:#3c786f;font-weight:800}
.export-dialog h2{margin:8px 0 6px;font:800 24px Manrope,sans-serif}
.export-dialog>p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.45}
.export-dialog label{display:grid;gap:6px;margin:0 0 12px;font-size:11px;font-weight:700}
.export-dialog select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.export-dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.export-preview-button{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;margin-top:12px;padding:12px 13px;border:1px solid #cfdad3;border-radius:12px;background:linear-gradient(135deg,#f7faf6,#edf6e5);color:var(--ink);text-align:left;cursor:pointer}
.export-preview-button:hover{border-color:#95b59e;box-shadow:0 8px 24px rgba(24,63,63,.10);transform:translateY(-1px)}
.export-preview-button:disabled{opacity:.62;cursor:wait;transform:none}
.export-preview-button>span:nth-child(2){display:grid;gap:2px}.export-preview-button strong{font:800 12px Manrope,sans-serif}.export-preview-button small{font-size:9px;color:#60706a;line-height:1.35}.export-preview-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--forest);color:var(--lime);font-size:16px}
.export-progress{position:relative;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:13px;padding:12px 12px 15px;border:1px solid #cfe0d4;border-radius:12px;background:#f2f8ef;overflow:hidden}
.export-progress:not([hidden]){display:grid}.export-progress-spinner{width:24px;height:24px;border:3px solid #cfdbd3;border-top-color:var(--forest);border-radius:50%;animation:export-progress-spin .75s linear infinite}.export-progress-copy{display:grid;gap:2px;min-width:0}.export-progress-copy strong{font:800 10px Manrope,sans-serif}.export-progress-copy small{font-size:8px;color:#60706a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-progress-value{font:900 10px Manrope,sans-serif;color:var(--forest)}.export-progress-track{position:absolute;left:0;right:0;bottom:0;height:4px;background:#dce8df}.export-progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--forest),var(--lime));transition:width .25s ease}
@keyframes export-progress-spin{to{transform:rotate(360deg)}}

/* === Cartes universitaires r?elles (France) ? charte 2026 === */
.live-logo.editable-layer,
.live-logo[data-layer="logo"]{
  --content-scale:1;
}
.live-logo img{
  image-rendering:auto;
}
.brand-logo{background:transparent!important;padding:0;box-shadow:none}
.brand-logo img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block}
.real-card-notice{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#f3e8ee;color:#63003C;font-size:11px;line-height:1.35;font-weight:700}
html.real-card-locked .is-locked-field{opacity:.55;pointer-events:none}
html.real-card-locked .model-extras .design-color-row,
html.real-card-locked .advanced-card-settings{opacity:.55;pointer-events:none}
.studio-design.is-real .studio-design-copy small{color:#63003C;font-weight:800}
.template-item[data-kind="real"] .template-meta span{color:#63003C}
.design-kind-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.design-kind-row button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800;cursor:pointer}
.design-kind-row button.active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Logos r?els : tailles/cartouches g?r?s dans real-univ.css
   (ne pas forcer overflow:visible ? ?a fait d?border le logo hors du fond blanc) */
.live-card[data-variant^="real-"] .live-logo img,
.live-card[data-variant^="real-"] .brand-logo img{
  object-fit:contain!important;
  object-position:left center!important;
  width:100%!important;
  height:100%!important;
  display:block;
  background:transparent!important;
}
/* Option : fond blanc (cartouche) autour du logo marque */
.live-card.logo-cartouche-on .live-logo.brand-logo{
  background:#fff!important;
  box-shadow:0 1px 4px rgba(0,0,0,.08)!important;
  border:1px solid rgba(20,31,29,.08)!important;
  padding:5px 7px!important;
  border-radius:8px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.live-card.logo-cartouche-off .live-logo,
.live-card.logo-cartouche-off .live-logo.brand-logo,
.live-card.logo-cartouche-off[data-variant^="real-"] .live-logo,
.live-card.logo-cartouche-off[data-variant^="real-"] .live-logo.brand-logo{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
}

/* Un logo horizontal d'universit? appliqu? ? un style libre doit conserver
   son mot-symbole complet. Les dimensions pos?es par l'?diteur libre restent
   prioritaires gr?ce aux styles inline !important de applyLayoutToCard. */
.live-card .live-logo.full-brand-logo{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  height:auto!important;
  max-width:46%!important;
  min-width:0!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}
.live-card .live-logo.full-brand-logo img{
  display:block!important;
  width:auto!important;
  height:var(--real-logo-h,44px)!important;
  max-width:100%!important;
  max-height:var(--real-logo-h,44px)!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
}
.live-card.logo-cartouche-off .live-logo.full-brand-logo{
  overflow:visible!important;
}
.live-card.logo-cartouche-on .live-logo.full-brand-logo{
  overflow:hidden!important;
}
.live-card.logo-cartouche-on .back-side.is-real-back .real-back-logo{
  background:#fff!important;
  padding:4px 6px!important;
  border-radius:6px!important;
  border:1px solid rgba(20,31,29,.08)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.06)!important;
}
.live-card.logo-cartouche-off .back-side.is-real-back .real-back-logo{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
.live-card[data-variant^="real-"] .qr-grid{
  background:#fff!important;padding:var(--qr-inner-padding,6px)!important;border-radius:11px!important;
  box-shadow:0 4px 14px rgba(17,32,30,.12)!important;border:1px solid rgba(17,32,30,.08);
}
.live-card[data-variant^="real-"] .qr-grid img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.live-card[data-variant^="real-"] .live-info h3{color:var(--real-text, var(--primary))}
.live-card[data-variant^="real-"] .live-info p{color:var(--primary)}
.live-card[data-variant^="real-"] .student-meta,
.live-card[data-variant^="real-"] .id-row{color:#5a6160}

/* Designs uniques universit?s r?elles : voir real-univ.css */

/* ?? Admin cockpit A?J ?? */
.admin-cockpit{grid-template-columns:1.2fr .8fr}
.overview-ca{grid-column:1/-1}
.ca-bars{display:flex;align-items:flex-end;gap:10px;height:120px;padding:8px 4px 0;margin-bottom:14px}
.ca-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.ca-bar i{display:block;width:100%;max-width:42px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#c9ff4a,#6d9a3a);min-height:8px}
.ca-bar span{font-size:8px;font-weight:800;color:var(--muted);text-transform:capitalize}
.ca-bar em{font-size:9px;font-style:normal;font-weight:800}
.overview-quick-row{display:flex;flex-wrap:wrap;gap:8px}
.overview-quick-row button{border:1px solid var(--line);background:#f7f8f4;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:800;cursor:pointer}
.overview-quick-row button:hover{background:var(--ink);color:#fff}
.admin-order-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.admin-order-toolbar button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.admin-order-toolbar button b{background:#eef1ea;border-radius:99px;padding:2px 7px;font-size:9px}
.admin-order-toolbar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.admin-order-toolbar button.active b{background:rgba(255,255,255,.18);color:#fff}
.orders-mgmt-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:0 0 12px}
.orders-mgmt-head b{display:block;font:800 16px Manrope}
.orders-mgmt-head span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.orders-bulk-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;padding:10px 12px;border:1px dashed #d0d4cb;border-radius:14px;background:#f7f8f3}
.orders-bulk-bar.is-open{border-style:solid;border-color:#b7c59a;background:#f2f7e8}
.orders-select-all{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;margin-right:auto}
.orders-bulk-bar select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;font-size:11px;font-weight:700}
.orders-bulk-bar .bulk-apply{border:0;border-radius:10px;background:var(--ink);color:#fff;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer}
.orders-bulk-bar .bulk-danger,.order-danger-actions .danger,.admin-order-actions .danger-link{border:0;border-radius:10px;background:#f3dfdc;color:#8c3024;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer}
.orders-bulk-bar button:disabled{opacity:.45;cursor:not-allowed}
.form-group-invoice-bar{
  display:grid;gap:12px;margin:0 0 14px;padding:12px 14px;
  border:1px dashed #d0d4cb;border-radius:16px;background:#f7f8f3
}
.form-group-invoice-bar.is-open{border-style:solid;border-color:#b7c59a;background:#f2f7e8;box-shadow:0 10px 28px rgba(23,63,63,.06)}
.form-group-invoice-copy{display:grid;gap:2px}
.form-group-invoice-copy b{font:800 13px Manrope,sans-serif;color:var(--forest)}
.form-group-invoice-copy span{font:600 11px/1.4 "DM Sans",sans-serif;color:var(--muted)}
.form-group-invoice-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.form-group-invoice-fields label{display:grid;gap:4px;font:800 10px Manrope,sans-serif;color:#3f524c}
.form-group-invoice-fields label.wide{grid-column:1/-1}
.form-group-invoice-fields em{font-style:normal;font-weight:600;color:var(--muted)}
.form-group-invoice-fields input[type="text"],
.form-group-invoice-fields input[type="tel"]{
  border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;
  font:700 12px "DM Sans",sans-serif;color:var(--ink)
}
.form-group-invoice-fields input:disabled{opacity:.55;background:#f3f4ef}
.form-group-check{
  display:flex!important;align-items:flex-start;gap:8px;grid-template-columns:none!important;
  padding:10px 12px;border-radius:12px;background:#edf7dc;cursor:pointer;font:700 11px/1.35 Manrope,sans-serif!important
}
.form-group-check input{width:16px;height:16px;margin-top:1px;accent-color:var(--forest);flex:0 0 auto}
.invoice-share-capture{
  position:fixed;left:-12000px;top:0;width:794px;z-index:-1;pointer-events:none;opacity:1
}
.invoice-share-card{
  width:794px;box-sizing:border-box;padding:28px 30px 24px;background:#f4f1e9;color:#16201e;
  font-family:"DM Sans",sans-serif
}
.invoice-share-card header{
  display:flex;justify-content:space-between;gap:16px;align-items:flex-start;
  background:#173f3f;color:#fff;border-radius:18px;padding:18px 20px;margin-bottom:16px;
  border-bottom:4px solid #c9ff4a
}
.invoice-share-card header>div:first-child{display:flex;gap:12px;align-items:center}
.invoice-share-card .mark{
  width:42px;height:42px;border-radius:12px;background:#16201e;color:#c9ff4a;
  display:grid;place-items:center;font:800 16px Manrope,sans-serif
}
.invoice-share-card header b{display:block;font:800 18px Manrope,sans-serif}
.invoice-share-card header small{color:#c9ff4a;font-weight:700}
.invoice-share-card .right{text-align:right}
.invoice-share-card .right em{display:block;font:800 22px Manrope,sans-serif;font-style:normal}
.invoice-share-card .parties,.invoice-share-card .delivery{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px
}
.invoice-share-card .parties>div,.invoice-share-card .delivery{
  background:#fff;border:1px solid #d9dbd2;border-radius:14px;padding:12px 14px
}
.invoice-share-card .delivery{grid-column:1/-1}
.invoice-share-card .delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.invoice-share-card .delivery-grid .wide{grid-column:1/-1}
.invoice-share-card small{display:block;font:800 9px Manrope,sans-serif;letter-spacing:.08em;color:#2f756c;margin-bottom:4px}
.invoice-share-card span{display:block;font-size:12px;color:#6c746f;margin-top:3px}
.invoice-share-card table{width:100%;border-collapse:collapse;margin:8px 0 14px;background:#fff;border-radius:14px;overflow:hidden}
.invoice-share-card th,.invoice-share-card td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7e1;font-size:12px;vertical-align:top}
.invoice-share-card th{background:#173f3f;color:#c9ff4a;font:800 10px Manrope,sans-serif}
.invoice-share-card td small{display:block;margin-top:3px;font-weight:600;letter-spacing:0;color:#6c746f;font-size:11px;font-family:"DM Sans",sans-serif}
.invoice-share-card footer{display:grid;gap:8px}
.invoice-share-card .total{
  margin-left:auto;min-width:180px;background:#173f3f;color:#c9ff4a;border-radius:14px;padding:12px 14px;text-align:right
}
.invoice-share-card .total b{display:block;font:800 22px Manrope,sans-serif}
.invoice-share-card .notes{margin:0;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #d9dbd2;font-size:12px;line-height:1.45}
.invoice-share-card .thanks{margin:0;font-size:12px;color:#6c746f}
.form-group-invoice-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.form-group-invoice-actions .ghost{
  border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);
  padding:9px 12px;font:800 11px Manrope,sans-serif;cursor:pointer
}
.form-group-invoice-actions .accent{
  border:0;border-radius:10px;background:var(--ink);color:#fff;
  padding:9px 14px;font:800 11px Manrope,sans-serif;cursor:pointer;margin-left:auto
}
.form-group-invoice-bar button:disabled{opacity:.45;cursor:not-allowed}
.orders-source-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.orders-source-banner .orders-source-actions{display:flex}
.form-invoice-toggle{
  display:inline-flex;align-items:center;gap:8px;border:1px solid #d0d4cb;border-radius:999px;
  background:#fff;color:var(--ink);padding:8px 12px 8px 10px;cursor:pointer;
  font:800 11px Manrope,sans-serif
}
.form-invoice-toggle span{
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  background:#173f3f;color:#c9ff4a;font-size:14px;line-height:1
}
.form-invoice-toggle em{
  min-width:18px;height:18px;padding:0 5px;border-radius:99px;display:inline-grid;place-items:center;
  background:#c9ff4a;color:#173f3f;font:800 10px Manrope,sans-serif;font-style:normal
}
.form-invoice-toggle.is-active{
  border-color:#9db86a;background:#f2f7e8;box-shadow:0 0 0 2px rgba(201,255,74,.35)
}
.form-invoice-toggle:hover{border-color:#9db86a}
.form-invoice-toggle.is-studio span{background:#173f3f;color:#c9ff4a}
.form-invoice-toggle.is-studio:hover{border-color:#173f3f}
.group-studio-dialog .group-invoice-actions .accent{
  background:#173f3f;color:#c9ff4a;border-color:#173f3f
}
.group-studio-row-photo{
  width:36px;height:36px;border-radius:10px;object-fit:cover;background:#e8ebe3;flex:0 0 auto
}
.group-studio-row-photo.is-empty{display:grid;place-items:center;font:800 10px Manrope,sans-serif;color:#8a9186}
.group-invoice-dialog{
  width:min(760px,calc(100vw - 24px));max-height:min(92vh,900px);padding:22px 22px 18px;
  border:0;border-radius:22px;background:#f7f8f3;color:var(--ink);
  box-shadow:0 30px 80px rgba(16,31,27,.28)
}
.group-invoice-dialog::backdrop{background:rgba(16,28,24,.55);backdrop-filter:blur(4px)}
.group-invoice-dialog>.kicker{display:block;font:800 10px Manrope,sans-serif;letter-spacing:.14em;color:#2f756c}
.group-invoice-dialog>h2{margin:8px 0 6px;font:800 28px/1 Manrope,sans-serif;letter-spacing:-.03em}
.group-invoice-dialog>p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.45}
.group-invoice-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.group-invoice-summary>div{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.group-invoice-summary small{display:block;font:800 9px Manrope,sans-serif;letter-spacing:.1em;color:#2f756c}
.group-invoice-summary b{font:800 18px Manrope,sans-serif}
.group-invoice-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.group-invoice-toolbar .ghost,.group-invoice-actions .ghost,.group-invoice-actions .accent{
  border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 12px;
  font:800 11px Manrope,sans-serif;cursor:pointer
}
.group-invoice-actions .accent{border:0;background:var(--ink);color:#fff}
.group-invoice-mode{display:grid;gap:4px;margin-left:auto;font:800 10px Manrope,sans-serif;color:#3f524c}
.group-invoice-mode select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;font:700 12px "DM Sans",sans-serif}
.group-invoice-list{
  display:grid;gap:8px;max-height:240px;overflow:auto;padding:4px;margin-bottom:12px;
  border:1px solid #e3e7dd;border-radius:16px;background:#fff
}
.group-invoice-row{
  display:grid;grid-template-columns:22px minmax(0,1fr) 110px;gap:10px;align-items:center;
  padding:10px 12px;border-radius:12px;cursor:pointer
}
.group-invoice-row.is-on{background:#f2f7e8}
.group-invoice-row input[type="checkbox"]{width:16px;height:16px;accent-color:var(--forest)}
.group-invoice-who{display:grid;gap:2px;min-width:0}
.group-invoice-who b{font:800 13px Manrope,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-invoice-who small{color:var(--muted);font-size:11px}
.group-invoice-price{display:flex;align-items:center;gap:4px}
.group-invoice-price input{
  width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 8px;background:#fbfcf8;
  font:800 13px Manrope,sans-serif;text-align:right
}
.group-invoice-price i{font-style:normal;font-size:10px;font-weight:800;color:var(--muted)}
.group-invoice-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.group-invoice-meta label{display:grid;gap:4px;font:800 10px Manrope,sans-serif;color:#3f524c}
.group-invoice-meta label.wide{grid-column:1/-1}
.group-invoice-meta em{font-style:normal;font-weight:600;color:var(--muted)}
.group-invoice-meta input[type="text"],
.group-invoice-meta input[type="tel"]{
  border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;
  font:700 12px "DM Sans",sans-serif
}
.group-invoice-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.group-invoice-hint{margin:10px 0 0;font-size:11px;line-height:1.45;color:var(--muted)}
@media (max-width:640px){
  .group-invoice-meta,.group-invoice-summary{grid-template-columns:1fr}
  .group-invoice-mode{margin-left:0;width:100%}
  .group-invoice-row{grid-template-columns:22px 1fr;grid-template-rows:auto auto}
  .group-invoice-price{grid-column:2}
}
.admin-form-order-card{position:relative}
.admin-form-order-select{
  position:absolute;top:10px;left:10px;z-index:2;width:28px;height:28px;
  display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.94);
  border:1px solid #d5ddd0;box-shadow:0 4px 12px rgba(20,32,30,.08);cursor:pointer
}
.admin-form-order-select input{width:16px;height:16px;margin:0;accent-color:var(--forest);cursor:pointer}
.admin-form-order-card.is-selected{
  border-color:#9db86a;box-shadow:0 0 0 2px rgba(201,255,74,.55),0 12px 28px rgba(23,63,63,.08);
  background:linear-gradient(180deg,#fcfff5,#fff)
}
@media (max-width:720px){
  .form-group-invoice-fields{grid-template-columns:1fr}
  .form-group-invoice-actions .accent{margin-left:0;width:100%}
}
.admin-order-list{display:grid;gap:10px}
.admin-order-card{display:grid;grid-template-columns:28px minmax(0,1.2fr) minmax(210px,.9fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.admin-order-card.is-selected{border-color:#9bbe7a;box-shadow:inset 3px 0 var(--lime)}
.admin-order-card.is-closed{opacity:.78;background:#faf7f6}
.order-check{display:grid;place-items:center}
.admin-order-main small{display:block;font-size:8px;color:var(--muted)}
.admin-order-main b{display:block;font:800 14px Manrope;margin:2px 0}
.admin-order-main span{font-size:11px;color:#445}
.admin-order-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:8px}
.admin-order-meta em{font-style:normal;font-size:10px;color:var(--muted)}
.admin-order-meta strong{font:800 14px Manrope}
.admin-order-controls{display:grid;gap:8px}
.admin-order-controls label{display:grid;gap:4px}
.admin-order-controls small{font-size:8px;letter-spacing:.08em;color:var(--muted);font-weight:800}
.admin-order-controls select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fafaf7;font-size:11px;font-weight:700}
.admin-order-badges,.detail-head-badges{display:flex;flex-wrap:wrap;gap:6px}
.badge-prod,.badge-pay{display:inline-flex;align-items:center;border-radius:99px;padding:5px 9px;font-size:8px;font-weight:850}
.badge-prod{background:#eef3ff;color:#2a3f8f}
.badge-prod.status-annul-e,.badge-prod.status-r-voqu-e{background:#f3dfdc;color:#8c3024}
.badge-pay{background:#fff3d6;color:#7a5608}
.badge-pay.pay-pay-e,.badge-pay.pay-pay?e{background:#e4f6cc;color:#315c27}
.admin-order-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.admin-order-actions .primary,.detail-downloads .primary,.pipeline-next{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}
.admin-order-actions .ghost-link,.admin-order-actions .danger-link{font-size:10px;font-weight:800;color:#256b64;align-self:center;background:transparent;padding:0}
.admin-order-actions .danger-link{color:#8c3024}
.pipeline-steps,.payment-steps{display:flex;flex-wrap:wrap;gap:7px}
.pipeline-step,.payment-step,.client-status-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}
.pipeline-step.active,.payment-step.active,.client-status-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.pipeline-step.is-close{border-color:#e2b4ad;color:#8c3024}
.pipeline-step.is-close.active{background:#8c3024;border-color:#8c3024;color:#fff}
.pipeline-next{margin-top:12px}
.order-danger-zone{border:1px solid #e7c4be;background:#fff7f5}
.order-danger-zone p{font-size:11px;color:#7a4a43;margin:0 0 12px}
.order-danger-actions{display:flex;flex-wrap:wrap;gap:8px}
.order-danger-actions button{border:1px solid #e2b4ad;background:#fff;color:#8c3024;border-radius:10px;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer}
.order-timeline{display:grid;gap:8px;max-height:220px;overflow:auto}
.order-timeline>div{display:flex;justify-content:space-between;gap:10px;background:#fff;border-radius:10px;padding:9px 11px}
.order-timeline b{font-size:11px}.order-timeline small{font-size:9px;color:var(--muted)}
.order-downloads{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.client-status-buttons{display:flex;gap:8px;margin-top:6px}
.review-card.is-revoked{opacity:.8;border-color:#e2b4ad}
.admin-sidebar-nav{gap:6px}
.admin-sidebar-nav button,.admin-sidebar-nav a{padding:11px 10px;font-size:11px}
.admin-order-card.simple{grid-template-columns:minmax(0,1.2fr) auto auto;gap:14px;border:1px solid #d9ddd4;box-shadow:0 1px 0 rgba(22,32,30,.03)}
.order-flow{display:inline-flex;gap:3px;padding:3px;border-radius:12px;background:#e8eae3;border:1px solid #d5d8cf;align-self:center}
.order-flow .flow-step{border:0;border-radius:9px;background:transparent;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer;color:#556;letter-spacing:.01em}
.order-flow .flow-step:hover{background:rgba(255,255,255,.7)}
.order-flow .flow-step.active{background:var(--ink);color:#fff}
.order-flow.in-modal{display:flex;width:100%;margin-bottom:12px}
.order-flow.in-modal .flow-step{flex:1}
.order-timeline.compact{margin-top:12px;max-height:140px}
.cf-shell{background:linear-gradient(180deg,#fbfaf6 0%,#f3f2ed 100%)}
.cf-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-right:36px;margin-bottom:14px}
.cf-hero-main{display:flex;gap:14px;align-items:center;min-width:0}
.cf-avatar{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--ink);color:#c9ff4a;font:800 15px Manrope;flex:0 0 auto;border:1px solid rgba(255,255,255,.08)}
.cf-hero small{display:block;font-size:8px;letter-spacing:.14em;color:#3c786f;font-weight:850}
.cf-hero h2{margin:4px 0 2px;font:800 24px Manrope}
.cf-hero p{margin:0;font-size:12px;color:var(--muted)}
.cf-hero-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.cf-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.cf-kpi>span{background:#fff;border:1px solid #d9ddd4;border-radius:14px;padding:12px 10px;text-align:center}
.cf-kpi b{display:block;font:800 18px Manrope}
.cf-kpi small{display:block;font-size:8px;color:var(--muted);margin-top:4px;letter-spacing:.08em;font-weight:800}
.cf-list{display:grid;gap:0;border:1px solid #e4e6df;border-radius:12px;overflow:hidden;background:#fafaf7}
.cf-list button{width:100%;border:0;border-top:1px solid #eceee8;background:#fff;padding:12px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;cursor:pointer}
.cf-list button:first-child{border-top:0}
.cf-list button:hover{background:#f4f6f0}
.cf-list b{display:block;font-size:12px}
.cf-list small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.cf-list em{font-style:normal;font-size:10px;font-weight:800;color:#426f67;white-space:nowrap;background:#eef4ef;border-radius:99px;padding:5px 9px}
.cf-list em.st-annul-e{background:#f3dfdc;color:#8c3024}
.cf-list em.st-livr-e{background:#e4f6cc;color:#315c27}
.cf-list em.st-exp-di-e{background:#eef3ff;color:#2a3f8f}
.cf-reviews{margin-top:12px}
.client-card-actions .primary{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}
.dash-panel,.admin-stat,.admin-order-card,.client-card{box-shadow:0 8px 24px rgba(22,32,30,.04)}
.admin-stat{border-radius:16px;border:1px solid #d9ddd4}
.client-card{border:1px solid #d9ddd4}
@media(max-width:900px){
  .admin-order-card.simple{grid-template-columns:1fr}
  .order-flow{width:100%;justify-content:stretch}
  .order-flow .flow-step{flex:1}
  .cf-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cf-hero{flex-direction:column}
  .cf-hero-actions{width:100%}
}

/* ?? Admin dashboard clean layout ?? */
.dash-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.dash-panel{background:#fff;border:1px solid #d9ddd4;border-radius:18px;padding:16px 16px 14px;min-width:0;box-shadow:0 10px 28px rgba(22,32,30,.045)}
.dash-revenue{grid-column:1/-1}
.dash-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #eceee8}
.dash-panel>header small{display:block;font-size:8px;letter-spacing:.12em;color:#3c786f;font-weight:850}
.dash-panel>header h3{font:800 18px Manrope;margin:4px 0 0}
.dash-panel>header em{font-style:normal;font-size:11px;font-weight:800;color:#315c27;background:#eaf6d4;border:1px solid #d5e8b0;border-radius:99px;padding:6px 10px}
.dash-link{border:0;background:#edf0e9;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}
.dash-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.dash-chips button{border:1px solid #d9ddd4;background:#f7f8f4;border-radius:12px;padding:10px 12px;display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.dash-chips button span{font-size:10px;font-weight:800;color:var(--muted)}
.dash-chips button b{font:800 14px Manrope}
.dash-chips button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.dash-chips button:hover span{color:#c9ff4a}
.dash-list{display:grid;gap:2px}
.dash-list button{width:100%;border:0;border-top:1px solid #eceee8;background:transparent;padding:11px 2px;display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;cursor:pointer}
.dash-list button:first-child{border-top:0}
.dash-list b{display:block;font-size:12px}
.dash-list small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.dash-list em{font-style:normal;font-size:10px;font-weight:800;color:#426f67;white-space:nowrap}
.clients-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
.clients-head b{display:block;font:800 16px Manrope}
.clients-head span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.clients-head button{border:0;border-radius:10px;background:var(--ink);color:#fff;padding:10px 12px;font-size:11px;font-weight:800;cursor:pointer}
.ca-bar b{font-size:10px;font-weight:800}

/* ?? Order detail modal (tabbed) ?? */
.admin-detail-dialog{width:min(980px,96vw);max-height:92vh;overflow:auto;border:0;border-radius:20px;padding:0;background:#f6f5f0}
.od-shell{padding:18px 18px 22px}
.od-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-right:36px;margin-bottom:14px}
.od-head small{display:block;font-size:8px;letter-spacing:.14em;color:#3c786f;font-weight:850}
.od-head h2{margin:4px 0 2px;font:800 24px Manrope}
.od-head p{margin:0;font-size:12px;color:var(--muted)}
.od-badges{display:flex;flex-wrap:wrap;gap:6px}
.od-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:14px;background:#ebece6;border:1px solid #d9dcd4;margin-bottom:14px}
.od-tabs button{border:0;border-radius:10px;background:transparent;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer;color:var(--ink)}
.od-tabs button.active{background:var(--ink);color:#fff}
.od-body{min-width:0}
.od-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.od-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.od-card h3{margin:0 0 12px;font:800 14px Manrope}
.od-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #eceee8;font-size:12px}
.od-row:first-of-type{border-top:0}
.od-row span{color:var(--muted)}
.od-card label{display:grid;gap:5px;margin-bottom:10px;font-size:11px;font-weight:800;color:var(--muted)}
.od-card select{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fafaf7;color:var(--ink);font-size:12px;font-weight:700}
.od-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.od-primary,.od-file-list button,.od-print-actions button{border:0;border-radius:10px;background:var(--ink);color:#fff;padding:10px 12px;font-size:11px;font-weight:800;cursor:pointer}
a.od-primary{display:inline-flex;align-items:center;text-decoration:none}
.od-link,.od-file-list a{display:inline-flex;align-items:center;border-radius:10px;background:#edf0e9;color:var(--ink);padding:10px 12px;font-size:11px;font-weight:800;text-decoration:none}
.od-note{margin:12px 0 0;font-size:11px;color:var(--muted);line-height:1.45}
.od-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.od-meta>div{background:#f3f2ed;border-radius:10px;padding:10px}
.od-meta small{display:block;font-size:8px;color:var(--muted);margin-bottom:4px}
.od-meta b{font-size:12px}
.od-file-list{display:grid;gap:8px}
.od-file-list button,.od-file-list a{justify-content:flex-start}
.od-print-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}
.od-face-toggle{display:inline-flex;gap:4px;padding:3px;border-radius:12px;background:#ebece6}
.od-face-toggle button{border:0;border-radius:9px;background:transparent;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer}
.od-face-toggle button.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.od-print-actions{display:flex;flex-wrap:wrap;gap:7px}
.od-print-actions button:not(.od-primary){background:#edf0e9;color:var(--ink)}
.od-print-stage{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;overflow:auto}
.od-holders{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.od-holders small{width:100%;font-size:10px;font-weight:800;color:var(--muted)}
.od-holders span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 10px;font-size:10px;font-weight:700}
.od-export-host{position:absolute;left:-9999px;top:0;width:650px;height:410px;overflow:hidden;pointer-events:none}
.od-danger{border-color:#e7c4be;background:#fff7f5}
.od-danger p{margin:0 0 12px;font-size:12px;color:#7a4a43}
.od-danger .danger{background:#8c3024;color:#fff;border:0;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:800;cursor:pointer}
@media(max-width:900px){
  .dash-layout,.od-grid,.od-meta{grid-template-columns:1fr}
  .dash-revenue{grid-column:auto}
  .od-print-toolbar{flex-direction:column;align-items:stretch}
}
@media(max-width:900px){
  .admin-order-card{grid-template-columns:28px 1fr}
  .admin-order-controls,.admin-order-actions{grid-column:1/-1}
  .admin-order-meta,.admin-order-actions{align-items:flex-start;justify-content:flex-start}
  .orders-mgmt-head{flex-direction:column;align-items:stretch}
  .ca-bars{height:100px}
}

/* ?? Vitrine : nav capsule + commande message ?? */
html[data-page="home"] body{padding-top:88px}
html[data-page="home"] .topbar.site-capsule-nav{
  position:fixed;inset:16px 0 auto;height:auto;padding:0 16px;border:0;background:transparent;backdrop-filter:none;
  display:flex;justify-content:center;z-index:80;pointer-events:none
}
html[data-page="home"] .nav-capsule{
  pointer-events:auto;width:min(920px,100%);display:flex;align-items:center;gap:14px;
  padding:10px 12px 10px 18px;border-radius:999px;background:rgba(251,250,246,.88);
  border:1px solid rgba(22,32,30,.1);box-shadow:0 18px 50px rgba(17,31,28,.14);backdrop-filter:blur(18px)
}
html[data-page="home"] .nav-capsule .brand{font-size:17px;gap:8px;flex:0 0 auto}
html[data-page="home"] .nav-capsule .brand-mark{width:26px;height:26px}
html[data-page="home"] .nav-capsule .brand-mark i{width:16px;height:22px;border-width:2.5px}
html[data-page="home"] .capsule-links{display:flex;align-items:center;gap:4px;margin:0 auto;font-size:13px;font-weight:700}
html[data-page="home"] .capsule-links a{padding:8px 12px;border-radius:999px;color:var(--ink)}
html[data-page="home"] .capsule-links a:hover{background:rgba(22,32,30,.06);color:#2e756d}
html[data-page="home"] .capsule-cta{margin-left:0;flex:0 0 auto}
html[data-page="home"] .menu-toggle{display:none;margin:0;width:42px;height:42px;border-radius:50%;background:rgba(22,32,30,.06);font-size:18px}
html[data-page="studio"] .topbar,html[data-page="admin"] .topbar{display:none!important}
html[data-page="studio"] .config-section{min-height:100vh}
html[data-page="studio"] .easy-order,html[data-page="admin"] .easy-order,
html[data-page="studio"] #commande-facile,html[data-page="admin"] #commande-facile{display:none!important}

.easy-order{
  padding-top:82px;padding-bottom:82px;
  width:100%;max-width:100%;overflow-x:clip;
  background:
    radial-gradient(ellipse 70% 40% at 10% 0%, rgba(201,255,74,.18), transparent 55%),
    linear-gradient(180deg,#f8f7f2 0%,#eceee8 100%)
}
.easy-head{margin-bottom:18px;align-items:flex-end}
.easy-flyer-actions{
  display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;justify-content:flex-start
}
.easy-flyer-actions .btn{
  min-width:148px;justify-content:center;min-height:48px;font-weight:800
}
.btn-ico{
  width:18px;height:18px;flex:0 0 auto;display:block
}
.btn-instagram,
.btn-email{
  gap:10px;border:0;color:#fff;font-weight:800
}
.btn-instagram{
  background:linear-gradient(45deg,#f58529 0%,#dd2a7b 45%,#8134af 75%,#515bd4 100%);
  box-shadow:0 10px 24px rgba(221,42,123,.28)
}
.btn-instagram:hover{
  filter:brightness(1.05);transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(221,42,123,.34)
}
.btn-email{
  background:linear-gradient(135deg,#173f3f 0%,#2a6b63 100%);
  box-shadow:0 10px 22px rgba(23,63,63,.2)
}
.btn-email:hover{
  filter:brightness(1.06);transform:translateY(-1px)
}
footer .footer-ig,
footer .footer-email{
  display:inline-flex;align-items:center;gap:6px;font:inherit
}
footer .footer-ig .btn-ico,
footer .footer-email .btn-ico{width:14px;height:14px}
footer .footer-ig{
  color:#dd2a7b;font-weight:800
}
.ig-order-actions .btn-instagram{min-width:180px}
.quick-order-dialog{width:min(760px,94vw);max-height:92vh;overflow:auto;padding:30px}
.quick-order-dialog>p{color:var(--muted);max-width:650px;line-height:1.55}
.quick-order-form{margin-top:16px;display:grid;gap:10px}
.quick-order-example-note{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;align-items:start;padding:11px 13px;border:1px solid #dce6d5;border-radius:13px;background:#f5faec}
.quick-order-example-note strong{color:#214a42;font:900 10px/1.35 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.quick-order-example-note span{color:#61706b;font-size:11px;line-height:1.45}
.quick-order-section{padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fff}
.quick-order-section>header{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.quick-order-section>header>span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;border-radius:50%;background:var(--forest);color:#fff;font:900 10px/1 Manrope,sans-serif}
.quick-order-section h3{margin:0;color:var(--ink);font:900 13px/1.2 Manrope,sans-serif}
.quick-order-section header p{margin:2px 0 0;color:var(--muted);font-size:10px;line-height:1.3}
.quick-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px}
.quick-order-grid label{font:800 11px/1.3 Manrope,sans-serif;color:var(--forest)}
.quick-order-grid label>span{font-weight:600;color:var(--muted)}
.quick-order-grid input,.quick-order-grid select,.quick-order-grid textarea{width:100%;margin-top:5px;border:1px solid var(--line);border-radius:10px;background:#fbfbf8;padding:9px 11px;color:var(--ink);outline:none}
.quick-order-grid input:focus,.quick-order-grid select:focus,.quick-order-grid textarea:focus{border-color:#43847b;box-shadow:0 0 0 3px rgba(67,132,123,.13)}
.quick-order-grid textarea{min-height:54px;resize:vertical}
.quick-order-wide{grid-column:1/-1}
.quick-order-file input{padding:8px;background:#f7f9f5}
.quick-order-photo-example{
  grid-column:1/-1;display:flex;gap:12px;align-items:center;
  padding:10px 12px;border-radius:14px;background:#f3f6ef;border:1px solid #dce3d7
}
.quick-order-photo-example figure{margin:0;flex:0 0 72px;height:90px;border-radius:10px;overflow:hidden;border:1px solid #d5ddd0;background:#fff}
.quick-order-photo-example img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.quick-order-photo-example b{display:block;font:800 12px Manrope,sans-serif;color:var(--forest);margin-bottom:3px}
.quick-order-photo-example span{font:600 11px/1.4 "DM Sans",sans-serif;color:var(--muted)}
.quick-order-confirm{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid #dce6d5;border-radius:13px;background:#f8fbf4;color:#5e6d68;font-size:11px;line-height:1.45;cursor:pointer}
.quick-order-confirm input{margin:2px 0 0;accent-color:var(--forest)}
.quick-order-confirm b{display:block;color:var(--ink);font-size:11px}
.quick-order-dialog .dialog-actions{margin-top:1px}
.quick-order-result{margin-top:10px;padding:10px;border-radius:9px;background:#eef8cf;font-size:12px;min-height:0}
.quick-order-result:empty{display:none}
.easy-layout{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);
  gap:clamp(14px,2.4vw,24px);align-items:stretch;width:100%;margin:0 0 16px
}
.easy-steps{
  list-style:none;margin:0;padding:8px;display:grid;gap:6px;
  background:#fff;border:1px solid var(--line);border-radius:22px;
  box-shadow:0 10px 30px rgba(17,31,28,.04);min-width:0
}
.easy-steps li{
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;
  padding:11px 12px;border-radius:14px;background:#fbfbf8;min-width:0
}
.easy-steps li.easy-step-optional{background:#f5f6f1}
.easy-step-mark{position:relative;width:48px;height:48px;flex:0 0 auto}
.easy-step-ico{
  width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--forest);color:#fff
}
.easy-step-optional .easy-step-ico{background:#3d5c57}
.easy-step-ico svg{width:20px;height:20px;display:block;flex:0 0 auto}
.easy-step-num{
  position:absolute;z-index:1;right:-2px;bottom:-2px;
  width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--lime);color:var(--ink);
  border:2px solid #fff;
  font:800 10px/1 Manrope,sans-serif;
  letter-spacing:0;box-sizing:border-box
}
.easy-step-copy{min-width:0}
.easy-step-copy b{display:block;font:800 14.5px/1.25 Manrope,sans-serif;color:var(--ink)}
.easy-step-copy b i{font-style:normal;font-weight:700;color:var(--muted);font-size:.9em}
.easy-step-copy span{display:block;margin-top:2px;font-size:12px;line-height:1.35;color:var(--muted)}
.easy-photo-panel{
  display:flex;flex-direction:column;gap:0;min-width:0;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:22px;
  box-shadow:0 10px 30px rgba(17,31,28,.04)
}
.easy-photo-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding:14px 16px 0
}
.easy-photo-head b{font:800 14px/1.2 Manrope,sans-serif;color:var(--forest)}
.easy-photo-head span{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}
.easy-photo-body{display:flex;flex-direction:column;flex:1;min-width:0}
.easy-photo-frame{
  margin:12px 16px 0;border-radius:14px;overflow:hidden;
  background:#f0f1ec;display:grid;place-items:center;min-height:0
}
.easy-photo-frame img{
  display:block;width:100%;height:auto;max-height:260px;
  object-fit:contain;object-position:center center;background:#fff
}
.easy-photo-tips{padding:14px 16px 16px;margin-top:auto}
.easy-photo-tips>b{
  display:block;margin-bottom:8px;font:800 13px/1.2 Manrope,sans-serif;color:var(--forest)
}
.easy-photo-tips ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.easy-photo-tips li{
  position:relative;padding-left:16px;font-size:12.5px;line-height:1.35;color:#33403c
}
.easy-photo-tips li:before{
  content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:50%;
  background:var(--lime)
}
.easy-important{
  display:flex;align-items:flex-start;gap:12px;width:100%;margin:0 0 16px;padding:13px 14px;
  border-radius:16px;background:linear-gradient(90deg,#eef8cf,#f5fbe0);
  border:1px solid color-mix(in srgb,var(--lime) 45%,#c5d6a8);box-sizing:border-box
}
.easy-important-ico{
  width:34px;height:34px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:var(--forest);color:var(--lime)
}
.easy-important-ico svg{width:17px;height:17px;display:block}
.easy-important p{margin:0;font-size:13.5px;line-height:1.4;font-weight:600;color:var(--ink);min-width:0}
.easy-perks{
  list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%
}
.easy-perks li{
  display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:14px;
  background:#fff;border:1px solid var(--line);min-width:0
}
.easy-perk-ico{
  width:28px;height:28px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:#eef6df;color:var(--forest)
}
.easy-perk-ico svg{width:14px;height:14px;display:block}
.easy-perks span:last-child{font-size:12px;font-weight:700;line-height:1.25;color:#2f3a36;min-width:0}
footer .footer-link-btn{
  appearance:none;border:0;background:transparent;padding:0;margin:0;
  font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px
}
.ig-order-dialog{
  width:min(520px,92vw);border:0;border-radius:22px;padding:28px 24px 22px;
  background:#fbfaf6;color:var(--ink);box-shadow:0 30px 80px rgba(17,31,28,.22);
  z-index:6000;
}
.ig-order-dialog::backdrop{background:rgba(17,31,28,.45);backdrop-filter:blur(4px)}
.ig-order-dialog .kicker{display:inline-block;margin-bottom:8px}
.ig-order-dialog h2{margin:0 0 10px;font:800 clamp(24px,4vw,32px) Manrope;line-height:1.05}
.ig-order-dialog>p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.5}
.ig-order-fallback{margin:10px 0 0;font:600 13px Manrope,sans-serif;color:#5d6a62}
.ig-order-fallback a{color:#dd2a7b;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.ig-order-checklist{
  list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px
}
.ig-order-checklist li{
  position:relative;padding:10px 12px 10px 36px;border-radius:12px;
  background:#fff;border:1px solid var(--line);font-size:13px;font-weight:700
}
.ig-order-checklist li:before{
  content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:12px;height:12px;border-radius:50%;background:var(--accent,#c9ff4a);box-shadow:inset 0 0 0 3px #173f3f
}
.ig-order-checklist em{font-style:normal;font-weight:600;color:var(--muted)}
.ig-order-label{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;color:#3c786f}
.ig-order-message{
  width:100%;box-sizing:border-box;min-height:180px;resize:vertical;
  border:1px solid var(--line);border-radius:14px;padding:12px 14px;
  background:#fff;font:600 13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink)
}
.ig-order-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
@media(max-width:720px){
  .quick-order-dialog{padding:20px 15px;border-radius:18px}
  .quick-order-dialog h2{font-size:27px}
  .quick-order-grid{grid-template-columns:1fr}
  .quick-order-wide{grid-column:auto}
  .quick-order-example-note{grid-template-columns:1fr}
  .quick-order-section{padding:12px}
  .quick-order-dialog .dialog-actions{flex-direction:column-reverse}
  .quick-order-dialog .dialog-actions .btn{width:100%;justify-content:center}
  .ig-order-actions{flex-direction:column}
  .ig-order-actions .btn{width:100%;justify-content:center}
}
.catalogue-more{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.template-grid-lite{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){
  .easy-perks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .easy-order{
    padding:64px clamp(18px,4vw,36px) 72px;
    display:flex;flex-direction:column;align-items:center;
  }
  .easy-order>.section-head,
  .easy-order>.easy-flyer-actions,
  .easy-order>.easy-layout,
  .easy-order>.easy-important,
  .easy-order>.easy-perks{
    width:100%;max-width:680px;margin-left:auto;margin-right:auto;box-sizing:border-box
  }
  .easy-head{
    display:flex;flex-direction:column;align-items:center;text-align:center;
    gap:12px;margin-bottom:16px
  }
  .easy-head>div{width:100%}
  .easy-head h2{margin:0 auto;text-wrap:balance}
  .easy-head p{
    margin:0 auto;max-width:36em;text-align:center;font-size:15px;line-height:1.5
  }
  .easy-flyer-actions{
    display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 18px
  }
  .easy-flyer-actions .btn{min-width:160px;flex:0 1 auto}
  .easy-layout{grid-template-columns:1fr;gap:14px;margin:0 0 14px}
  .easy-photo-body{
    display:flex;flex-direction:column;align-items:center;
    gap:12px;padding:0 16px 16px;text-align:center
  }
  .easy-photo-head{justify-content:center;text-align:center;flex-wrap:wrap}
  .easy-photo-frame{
    margin:12px auto 0;width:min(100%,280px)
  }
  .easy-photo-frame img{max-height:220px;margin:0 auto}
  .easy-photo-tips{
    width:100%;padding:4px 0 0;margin:0;text-align:left
  }
  .easy-important{justify-content:center}
}
@media(max-width:1000px){
  html[data-page="home"] .nav-capsule{
    position:relative;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand toggle";
    align-items:center;
    gap:10px 12px;
    border-radius:999px;
    transition:border-radius .28s ease, box-shadow .28s ease, padding .28s ease;
  }
  html[data-page="home"] .nav-capsule .brand{grid-area:brand;min-width:0}
  html[data-page="home"] .menu-toggle{
    grid-area:toggle;
    display:grid!important;
    place-items:center;
    margin:0!important;
    z-index:2;
  }
  html[data-page="home"] .capsule-links,
  html[data-page="home"] .capsule-cta{
    display:none;
    opacity:0;
    transform:translateY(-6px);
    pointer-events:none;
  }
  html[data-page="home"] .site-capsule-nav.is-open .nav-capsule{
    border-radius:22px!important;
    padding:12px 12px 14px 16px;
    grid-template-areas:
      "brand toggle"
      "links links"
      "cta cta";
  }
  html[data-page="home"] .site-capsule-nav.is-open .capsule-links{
    grid-area:links;
    display:flex!important;
    flex-direction:column;
    gap:4px;
    width:100%;
    margin:4px 0 0;
    padding:8px;
    border-radius:16px;
    background:rgba(255,255,255,.55);
    border:1px solid rgba(22,32,30,.08);
    opacity:1;
    transform:none;
    pointer-events:auto;
    animation:homeNavDrop .28s cubic-bezier(.2,.8,.2,1);
  }
  html[data-page="home"] .site-capsule-nav.is-open .capsule-links a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:10px 14px;
    border-radius:12px;
    font-size:15px;
  }
  html[data-page="home"] .site-capsule-nav.is-open .capsule-cta{
    grid-area:cta;
    display:inline-flex!important;
    width:100%;
    justify-content:center;
    margin:4px 0 0;
    min-height:46px;
    opacity:1;
    transform:none;
    pointer-events:auto;
    animation:homeNavDrop .32s cubic-bezier(.2,.8,.2,1);
  }
  html[data-page="home"] .site-capsule-nav.is-open .menu-toggle{
    background:rgba(23,63,63,.12);
    color:transparent;
    position:relative;
  }
  html[data-page="home"] .site-capsule-nav.is-open .menu-toggle:before,
  html[data-page="home"] .site-capsule-nav.is-open .menu-toggle:after{
    content:"";position:absolute;width:16px;height:2px;border-radius:2px;background:#173f3f;
  }
  html[data-page="home"] .site-capsule-nav.is-open .menu-toggle:before{transform:rotate(45deg)}
  html[data-page="home"] .site-capsule-nav.is-open .menu-toggle:after{transform:rotate(-45deg)}
  @keyframes homeNavDrop{
    from{opacity:0;transform:translateY(-8px)}
    to{opacity:1;transform:none}
  }
  @media (prefers-reduced-motion: reduce){
    html[data-page="home"] .site-capsule-nav.is-open .capsule-links,
    html[data-page="home"] .site-capsule-nav.is-open .capsule-cta{animation:none}
  }
  .template-grid-lite{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  html[data-page="home"] body{padding-top:76px}
  .easy-order{
    padding:48px 16px 56px;
    background:
      radial-gradient(ellipse 90% 35% at 50% 0%, rgba(201,255,74,.2), transparent 60%),
      linear-gradient(180deg,#f8f7f2 0%,#eceee8 100%)
  }
  .easy-order>.section-head,
  .easy-order>.easy-flyer-actions,
  .easy-order>.easy-layout,
  .easy-order>.easy-important,
  .easy-order>.easy-perks{max-width:none}
  .easy-head{margin-bottom:14px;gap:10px}
  .easy-head h2{font-size:clamp(26px,8vw,34px);line-height:1.05}
  .easy-head h2 br{display:none}
  .easy-head p{font-size:14px;line-height:1.5;max-width:none}
  .easy-flyer-actions{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;
    position:sticky;top:70px;z-index:12;
    padding:8px;border-radius:16px;
    background:rgba(248,247,242,.92);backdrop-filter:blur(10px);
    border:1px solid rgba(22,32,30,.08);box-shadow:0 8px 24px rgba(17,31,28,.08)
  }
  .easy-flyer-actions .btn{
    width:100%;min-width:0;min-height:46px;padding:12px 10px;font-size:13px;justify-content:center
  }
  .easy-flyer-actions .btn[hidden]{display:none!important}
  .easy-layout{gap:12px;margin-bottom:12px}
  .easy-steps{
    padding:6px;border-radius:18px;gap:5px
  }
  .easy-steps li{
    grid-template-columns:40px minmax(0,1fr);gap:10px;padding:10px;
    border-radius:12px;align-items:center
  }
  .easy-step-mark,.easy-step-ico{width:40px;height:40px}
  .easy-step-ico svg{width:17px;height:17px}
  .easy-step-num{width:17px;height:17px;font-size:9px;right:-1px;bottom:-1px}
  .easy-step-copy b{font-size:13.5px}
  .easy-step-copy span{font-size:11.5px;margin-top:2px}
  .easy-photo-panel{border-radius:18px}
  .easy-photo-head{padding:12px 12px 0;flex-wrap:wrap}
  .easy-photo-body{
    display:grid;grid-template-columns:100px minmax(0,1fr);
    gap:10px;padding:0 12px 12px;align-items:start;text-align:left
  }
  .easy-photo-frame{margin:10px 0 0;width:auto;max-width:none;border-radius:12px}
  .easy-photo-frame img{max-height:132px}
  .easy-photo-tips{padding-top:10px;text-align:left}
  .easy-photo-tips>b{font-size:12px;margin-bottom:6px}
  .easy-photo-tips li{font-size:11.5px;padding-left:14px}
  .easy-important{
    align-items:flex-start;padding:12px;border-radius:14px;margin-bottom:12px;gap:10px
  }
  .easy-important-ico{width:30px;height:30px}
  .easy-important p{font-size:13px}
  .easy-perks{grid-template-columns:1fr 1fr;gap:7px}
  .easy-perks li{padding:10px 9px;border-radius:12px;gap:8px}
  .easy-perks span:last-child{font-size:11.5px}
  .template-grid-lite{grid-template-columns:1fr}
}
@media(max-width:400px){
  .easy-flyer-actions{grid-template-columns:1fr;top:64px}
  .easy-photo-body{grid-template-columns:1fr}
  .easy-photo-frame img{max-height:168px;margin:0 auto}
}

/* Style-first models panel ? compact */
.design-flow-steps{display:none}
.brand-pack-bar{margin:8px 0 6px;padding:0;border:0;background:transparent;color:inherit}
.brand-pack-open{
  width:100%;max-width:100%;box-sizing:border-box;border:1px solid #c9d4cc;border-radius:8px;
  padding:8px 10px;background:#173f3f;color:#f4f1e9;font-weight:800;font-size:12px;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.brand-pack-help,.country-unavailable-note{display:none}
.brand-pack-status-row{display:flex;align-items:center;gap:8px;margin-top:6px;min-height:0}
.brand-pack-status{font-size:11px;font-weight:800;color:#173f3f}
.brand-pack-clear{border:1px solid #c9d4cc;background:#fff;color:#173f3f;border-radius:8px;padding:4px 8px;font-size:10px;font-weight:800;cursor:pointer}
.design-az-hint{display:none}

/* (landing /carte-etudiante-tunisie retir?e ? redirection vers #commande-facile) */

/* Parcours vitrine rapide */
.process .steps-fast{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.process .steps-fast article{border-right:1px solid var(--line)}
.process .steps-fast article:last-child{border-right:0}
.process-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
@media(max-width:720px){
  .process .steps-fast{grid-template-columns:1fr!important}
  .process .steps-fast article{border-right:0!important;border-bottom:1px solid var(--line)}
  .process .steps-fast article:last-child{border-bottom:0}
}

/* Admin BAT ? prix par carte */
.bat-admin-pricing{margin:14px 0;padding:14px;border:1px solid #d7ddd6;border-radius:16px;background:#f7f9f5;display:grid;gap:10px}
.bat-admin-pricing[hidden]{display:none!important}
.bat-admin-pricing header{display:flex;flex-direction:column;gap:2px}
.bat-admin-pricing header small{font:800 9px/1 Manrope,sans-serif;letter-spacing:.12em;color:#5b6b64}
.bat-admin-pricing header strong{font:800 15px/1.2 Manrope,sans-serif;color:#173f3f}
.bat-admin-pricing>p{margin:0;font-size:12px;color:#5b6b64;line-height:1.4}
.bat-price-rows{display:grid;gap:8px;max-height:220px;overflow:auto}
.bat-price-row{display:grid;grid-template-columns:minmax(0,1fr) 88px 36px;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #e2e7e0}
.bat-price-row span{font-size:12px;font-weight:700;color:#1c2a26;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bat-price-row span b{color:#7a8a82;margin-right:6px}
.bat-price-row input{width:100%;border:1px solid #cfd8d2;border-radius:10px;padding:8px;font:800 14px/1 Manrope,sans-serif;text-align:right}
.bat-price-row em{font-style:normal;font-size:11px;font-weight:800;color:#5b6b64}
.bat-price-total{display:flex;justify-content:space-between;align-items:center;padding-top:4px;border-top:1px dashed #d0d8d1}
.bat-price-total span{font-size:12px;font-weight:700;color:#5b6b64}
.bat-price-total b{font:800 18px/1 Manrope,sans-serif;color:#173f3f}


/* ?diteur libre ? scale stepper + fills */
.layer-scale-row,.layer-width-row,.mobile-scale-row,.mobile-width-row{
  display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;
  margin:0 0 10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;
}
.layer-scale-row>span,.layer-width-row>span,.mobile-scale-row>span,.mobile-width-row>span{font:800 8px Manrope;grid-column:1/-1}
.scale-stepper{display:inline-flex;align-items:center;gap:6px}
.scale-stepper button{
  width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#f4f6f2;
  font:800 18px/1 Manrope;cursor:pointer;color:var(--ink);
}
.scale-stepper button:hover{background:var(--ink);color:#fff}
.scale-stepper b,.scale-stepper output{min-width:52px;text-align:center;font:800 13px Manrope}
.layer-scale-row input[type=range],.layer-width-row input[type=range],.mobile-scale-row input[type=range],.mobile-width-row input[type=range]{grid-column:1/-1;width:100%;margin:0}
.layer-color-mode-row{display:grid;gap:5px;margin:0 0 10px;font:800 8px Manrope}
.layer-color-mode-row select{min-height:40px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.color-reset-mini{
  border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;
  font:800 8px Manrope;cursor:pointer;white-space:nowrap;
}
.layer-fill{background:var(--layer-fill,var(--layer-color))!important;border-color:var(--layer-fill,var(--layer-color))!important}
.layer-colored{color:var(--layer-color)!important}
/* Ne pas ?craser les sous-calques enfants qui ont leur propre couleur */
.layer-colored *:not(img):not([data-layer]){color:inherit!important}
.layer-colored > :not([data-layer]):not(img){color:var(--layer-color)!important}
.layer-fill:not(.layer-colored){color:#fff!important}
.layer-fill:not(.layer-colored) > :not([data-layer]):not(img),
.layer-fill:not(.layer-colored) > :not([data-layer]) *:not([data-layer]):not(img){color:#fff!important}
.layer-fill [data-layer].layer-colored{color:var(--layer-color)!important}
.live-card .shape-a.layer-fill,.live-card .shape-b.layer-fill{
  background:var(--layer-fill,var(--layer-color))!important;opacity:.95;
}
.live-card.layout-editing .front-side.selected-layer,
.live-card.layout-editing .back-side.selected-layer{
  outline:2px solid #ff7355;outline-offset:-4px;
}
.live-card.layout-editing .editable-layer.selected-group{
  outline:1px dashed rgba(255,115,85,.55);outline-offset:3px;
}
.live-card .shape-a.editable-layer,.live-card .shape-b.editable-layer{pointer-events:auto;z-index:3}
.face-custom-bg,
.live-card .front-side.face-custom-bg,
.live-card .back-side.face-custom-bg,
.export-card .front-side.face-custom-bg,
.export-card .back-side.face-custom-bg{
  background:var(--face-custom-bg)!important;
  background-image:none!important;
}
.layer-font-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}
.layer-font-row label{display:grid;gap:5px;margin:0!important;min-width:0}
.layer-font-row select,.layer-font-row input[type=range]{width:100%;min-width:0}
.layer-font-row select{min-height:40px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;font:600 12px Manrope,sans-serif}
.layer-font-row output{float:right;color:#557069;font-weight:800}
.layer-font-row #resetLayerTypography{align-self:end;min-height:40px;border:1px solid var(--line);border-radius:10px;background:#f4f6f2;color:var(--ink);font:800 10px Manrope;cursor:pointer}
.back-side>p{font-size:12px;line-height:1.5}

/* D?cors DOM (remplacent ::before / bande gradient) */
.live-card.has-dom-decor[data-template="geometry"] .front-side:before,
.live-card.has-dom-decor[data-variant="student-france"] .front-side:before,
.export-card.has-dom-decor[data-template="geometry"] .front-side:before,
.export-card.has-dom-decor[data-variant="student-france"] .front-side:before{
  content:none!important;display:none!important;
}
.live-card.has-dom-decor[data-template="ribbon"] .front-side,
.export-card.has-dom-decor[data-template="ribbon"] .front-side{
  background:#fff!important;
}
.decor-corner{
  position:absolute;right:-80px;bottom:-170px;width:390px;height:390px;z-index:1;
  background:linear-gradient(135deg,transparent 0 49.75%,var(--accent) 50.25%,var(--primary) 100%);
  pointer-events:none;
}
.decor-ribbon{
  position:absolute;left:0;top:0;right:0;height:22%;z-index:0;
  background:var(--primary);pointer-events:none;
}
.live-card:not([data-template="geometry"]):not([data-variant="student-france"]) .decor-corner:not(.decor-active){display:none!important}
.live-card:not([data-template="ribbon"]) .decor-ribbon:not(.decor-active){display:none!important}
.live-card.layout-editing .decor-corner,
.live-card.layout-editing .decor-ribbon{pointer-events:auto}
.live-card .real-back-brand [data-layer],
.live-card .real-back-nfc [data-layer],
.live-card .real-back-notice [data-layer],
.live-card .institutional-signature [data-layer]{
  position:relative;
}
.live-card.layout-editing .real-back-chips .editable-layer{
  cursor:grab;outline:1px dashed rgba(23,63,63,.35);outline-offset:2px;
}

.export-card .live-photo[data-export-frame-pad]{
  overflow:visible!important;
}
.export-card .live-photo .portrait-export-flat{
  max-width:none!important;
}


/* Fond blanc optionnel autour de la signature institutionnelle */
.live-card.signature-cartouche-on .institutional-signature,
.export-card.signature-cartouche-on .institutional-signature{
  background:rgba(255,255,255,.96)!important;
  padding:6px 8px!important;
  border-radius:10px!important;
  box-shadow:0 4px 14px rgba(20,32,30,.08)!important;
  border:1px solid rgba(20,32,30,.08)!important;
  max-width:250px;
}
.export-card .institutional-signature.signature-export-flattened{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  max-width:none!important;
}
.live-card.signature-cartouche-off .institutional-signature,
.export-card.signature-cartouche-off .institutional-signature,
.live-card.signature-cartouche-off[data-template="geometry"] .institutional-signature,
.export-card.signature-cartouche-off[data-template="geometry"] .institutional-signature,
.live-card.signature-cartouche-off[data-variant="student-france"] .institutional-signature,
.export-card.signature-cartouche-off[data-variant="student-france"] .institutional-signature{
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.check-row.signature-cartouche-option{display:flex!important;align-items:center;gap:8px;margin:8px 0;font-size:11px;font-weight:700}

/* Cadre de portrait personnalisable. Le mode "template" garde le design d'origine. */
.live-card .live-photo.photo-frame-custom,
.export-card .live-photo.photo-frame-custom{
  border:var(--photo-frame-width,4px) solid var(--photo-frame-color,var(--primary,#173f3f))!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.live-card .live-photo.photo-frame-none,
.export-card .live-photo.photo-frame-none{border:0!important;box-shadow:none!important}
.live-card .live-photo.photo-radius-square,
.export-card .live-photo.photo-radius-square{border-radius:0!important}
.live-card .live-photo.photo-radius-rounded,
.export-card .live-photo.photo-radius-rounded{border-radius:18px!important}
.live-card .live-photo.photo-radius-circle,
.export-card .live-photo.photo-radius-circle{border-radius:50%!important}
.live-card .live-photo.photo-radius-square .portrait-image,
.live-card .live-photo.photo-radius-rounded .portrait-image,
.live-card .live-photo.photo-radius-circle .portrait-image,
.export-card .live-photo.photo-radius-square .portrait-image,
.export-card .live-photo.photo-radius-rounded .portrait-image,
.export-card .live-photo.photo-radius-circle .portrait-image{border-radius:inherit!important}

.photo-frame-editor{
  display:grid;
  grid-template-columns:1.15fr .75fr .9fr;
  gap:8px;
  margin:8px 0;
  padding:9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f6f8f3;
}
.photo-frame-editor[hidden]{display:none!important}
.photo-frame-editor>strong{grid-column:1/-1;font:850 9px Manrope,sans-serif}
.photo-frame-editor label{display:grid;gap:5px;margin:0!important;font-size:7px!important;font-weight:800}
.photo-frame-editor select,.photo-frame-editor input[type="color"]{
  width:100%;min-height:34px;margin:0!important;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px
}
.photo-frame-editor input[type="range"]{width:100%;margin:4px 0 0!important;padding:0!important}
.photo-frame-editor output{float:right;color:var(--forest);font-weight:900}
.photo-frame-help{grid-column:1/-1;color:var(--muted);font-size:6px;line-height:1.4}
@media(max-width:720px){.photo-frame-editor{grid-template-columns:1fr 1fr}.photo-frame-editor>label:first-of-type{grid-column:1/-1}}

/* Nettet? de l'?diteur et diagnostic de qualit? d'impression. */
.editable-layer{
  transform-style:flat;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.institution-mark,.country-flag,.live-logo img,.back-logo img{image-rendering:auto}
.layer-quality-hint{
  margin:8px 0 0;
  padding:8px 10px;
  border-radius:9px;
  background:#eef7ed;
  color:#315d3b;
  font-size:7px;
  font-weight:750;
  line-height:1.45;
}
.layer-quality-hint[data-tone="warn"]{background:#fff4dc;color:#86530a}

/* Priorit? finale : les choix explicites du panneau Fond & contour gagnent
   sur les styles historiques propres aux mod?les. */
.live-card [data-layer].layer-surface-white,
.export-card [data-layer].layer-surface-white{
  background:#fff!important;background-image:none!important;
  padding:var(--layer-surface-padding,6px)!important;
  border-radius:var(--layer-surface-radius,11px)!important;
  box-sizing:border-box!important;
}
.live-card [data-layer].layer-surface-custom,
.export-card [data-layer].layer-surface-custom{
  background:var(--layer-surface-color,#fff)!important;background-image:none!important;
  padding:var(--layer-surface-padding,6px)!important;
  border-radius:var(--layer-surface-radius,11px)!important;
  box-sizing:border-box!important;
}
.live-card [data-layer].layer-surface-transparent,
.export-card [data-layer].layer-surface-transparent{
  background:transparent!important;background-image:none!important;
  padding:0!important;box-shadow:none!important;
}
.live-card [data-layer].layer-border-none,
.export-card [data-layer].layer-border-none{border:0!important;box-shadow:none!important}
.live-card [data-layer].layer-border-custom,
.export-card [data-layer].layer-border-custom{
  border:var(--layer-surface-border-width,1px) solid var(--layer-surface-border-color,#aeb9b5)!important;
  border-radius:var(--layer-surface-radius,11px)!important;
  box-sizing:border-box!important;
}
.export-card .institutional-signature.signature-export-flattened{
  background:transparent!important;padding:0!important;border:0!important;
  box-shadow:none!important;max-width:none!important;
}

/* Derni?re priorit? de pr?production : ces seuils doivent gagner sur les
   variantes historiques plac?es plus haut dans la feuille. */
.live-card .live-header>b,
.export-card .live-header>b{font-size:11px!important;line-height:1.15!important}
.live-card .live-info>small,
.export-card .live-info>small{font-size:10px!important;line-height:1.2!important}
.live-card .live-info>p,
.export-card .live-info>p{font-size:16px!important;line-height:1.25!important}
.live-card .student-meta,
.export-card .student-meta{font-size:10px!important;line-height:1.2!important}
.live-card .student-meta b,
.export-card .student-meta b{font-size:12px!important;line-height:1.15!important}
.live-card .id-row,
.design-preview-card .id-row,
.export-card .id-row{
  gap:14px!important;
  font-size:10.5px!important;
  line-height:1.2!important;
}
.live-card .id-row b,
.export-card .id-row b{font-size:11.5px}
.live-card .institutional-signature>b>span,
.export-card .institutional-signature>b>span{line-height:1.15!important}
.live-card .institutional-signature>b>span:first-child,
.export-card .institutional-signature>b>span:first-child{font-size:9px!important}
.live-card .institutional-signature>b>span:nth-child(2),
.export-card .institutional-signature>b>span:nth-child(2){font-size:9px!important}
.live-card .institutional-signature small,
.export-card .institutional-signature small{font-size:8px!important;line-height:1.15!important}
.live-card[data-template="prestige"] .live-header>span,
.export-card[data-template="prestige"] .live-header>span{
  max-width:180px!important;
  font-size:13px!important;
}

/* R?serve une ligne nette entre les donn?es d'identit? et la zone
   institutionnelle/QR sur toutes les familles de mod?les. */
.live-card .live-content,
.design-preview-card .live-content,
.export-card .live-content{
  margin-top:33px!important;
}

/* Le ruban laisse la derni?re ligne d'identit? au-dessus du bloc
   institutionnel/QR. La m?me m?trique est utilis?e dans la vignette,
   l'aper?u principal et les exports. */
.live-card[data-template="ribbon"] .live-content,
.design-preview-card[data-template="ribbon"] .live-content,
.export-card[data-template="ribbon"] .live-content{
  margin-top:48px!important;
}

/* Grille d'impression commune ? recto et verso.
   Les d?cors conservent leur identit?, les informations fonctionnelles
   restent dans la zone de s?curit? et partagent la g?om?trie de l'export. */
.live-card.print-grid-safe .live-content,
.export-card.print-grid-safe .live-content{
  min-width:0;
  max-width:100%;
}
.live-card.print-grid-safe .live-photo,
.export-card.print-grid-safe .live-photo{
  flex:0 0 auto;
  box-sizing:border-box;
}
.live-card.print-grid-safe .live-info,
.export-card.print-grid-safe .live-info{min-width:0}
.live-card.print-grid-safe .live-info .id-row,
.export-card.print-grid-safe .live-info .id-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:calc(100% - 105px);
  max-width:100%;
  gap:4px!important;
  font-size:9.5px!important;
  margin-top:8px!important;
}
.live-card.print-grid-safe .live-info h3,
.export-card.print-grid-safe .live-info h3{
  max-width:100%;
  overflow-wrap:anywhere;
  line-height:1.02!important;
}
.live-card.print-grid-safe .live-footer,
.export-card.print-grid-safe .live-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end!important;
  gap:18px!important;
  left:38px!important;
  right:38px!important;
  bottom:12px!important;
}
.live-card.print-grid-safe .institutional-signature,
.export-card.print-grid-safe .institutional-signature{
  min-width:0;
  max-width:100%!important;
  align-self:end;
}
.live-card.print-grid-safe .qr-grid,
.export-card.print-grid-safe .qr-grid{
  --qr-size:96px;
  flex:0 0 auto;
  justify-self:end;
  align-self:end;
  padding:var(--qr-inner-padding,4px)!important;
  min-width:84px!important;
  min-height:84px!important;
}
.live-card.print-grid-safe .back-side .magnetic,
.export-card.print-grid-safe .back-side .magnetic{
  margin:20px -38px 25px!important;
  width:calc(100% + 76px)!important;
  min-height:42px;
  flex:0 0 42px;
  border-radius:0!important;
}
.live-card.print-grid-safe .back-side .barcode,
.export-card.print-grid-safe .back-side .barcode{
  align-self:flex-start;
  max-width:46%;
  box-sizing:border-box;
}

/* Les grands calques d?coratifs d?bordent volontairement de la carte.
   Le panneau Calques ne doit jamais imprimer leur bo?te de s?lection. */
.export-card .decor-corner,
.export-card .decor-ribbon,
.export-card .shape-a,
.export-card .shape-b{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.export-card .decor-corner{
  /* html2canvas r?v?lait les limites du grand rectangle transparent sous
     forme d'un trait rose. Un vrai triangle d?coup? conserve exactement le
     coin color? sans aucune surface transparente rectangulaire ? rasteriser. */
  -webkit-clip-path:polygon(100% 0,100% 100%,0 100%)!important;
  clip-path:polygon(100% 0,100% 100%,0 100%)!important;
  background:var(--layer-fill,linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%))!important;
  background-clip:padding-box!important;
}

/* Le coin est aplati en PNG 4? avant html2canvas : la g?om?trie reste un
   triangle net, sans le grand rectangle rouge ni trait de s?lection. */
.export-card .decor-corner:has(>.decor-corner-export-raster){
  -webkit-clip-path:none!important;
  clip-path:none!important;
  background:transparent!important;
}
.export-card .decor-corner>.decor-corner-export-raster{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
}

.export-quality-note{
  margin:8px 0 0;
  padding:10px 12px;
  border:1px solid #d6ded8;
  border-radius:10px;
  background:#f4f7f3;
  color:#51605b;
  font-size:11px;
  line-height:1.45;
}

/* Aper?u Studio : les textes restent vectoriels et les QR conservent des
   modules nets m?me lorsque la carte est ajust?e ? la fen?tre. */
html[data-page="studio"] .live-card,
html[data-page="studio"] .live-card *{
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html[data-page="studio"] .live-card img{image-rendering:auto}
html[data-page="studio"] .live-card .qr-grid img,
html[data-page="studio"] .live-card .barcode img{image-rendering:pixelated}

/* BAT projet complet : toutes les frames et leurs deux faces. */
#batDialog{
  width:min(1180px,96vw);
  max-height:92vh;
  overflow:auto;
}
.bat-project-preview-grid{display:grid;gap:16px}
.bat-project-preview-item{
  min-width:0;
  padding:14px;
  border:1px solid #d4d9cf;
  border-radius:16px;
  background:#f7f8f4;
}
.bat-project-preview-item>header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  color:#173f3f;
}
.bat-project-preview-item>header span{
  display:inline-grid;
  place-items:center;
  min-width:64px;
  padding:6px 9px;
  border-radius:999px;
  background:#173f3f;
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.bat-project-preview-item>header b{
  overflow:hidden;
  font-size:14px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bat-project-preview-faces{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.bat-project-preview-faces>section{
  min-width:0;
  padding:10px;
  border-radius:12px;
  background:#e7eae3;
}
.bat-project-preview-faces>section>small{
  display:block;
  margin:0 0 7px;
  color:#5d6863;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.bat-project-preview-faces .admin-production-frame{margin:0 auto}
.bat-project-preview-faces .scaled-card-frame{max-width:100%}
@media(max-width:760px){
  .bat-project-preview-faces{grid-template-columns:1fr}
  .bat-project-preview-item{padding:10px}
  .bat-preview{padding:10px}
}

/* Fiche technique du style : action volontairement compacte dans la barre d?outils. */
.studio-toolbar .style-spec-tool{
  border-color:#b7d84b;
  background:#f4ffd7;
  color:#173f3f;
  font-weight:800;
}
.studio-toolbar .style-spec-tool:hover{
  border-color:#9bc72a;
  background:#c9ff4a;
}

/* Lisibilit? PVC ? libell?s recto.
   Les s?lecteurs data-layer survivent ? la s?rialisation des frames et sont
   donc identiques dans le Studio, les commandes, le PNG et le PDF. */
:where(.live-card,.export-card,.design-preview-card) [data-layer="holderLabel"],
:where(.live-card,.export-card,.design-preview-card) [data-layer="birth"] > span:first-child,
:where(.live-card,.export-card,.design-preview-card) [data-layer="nationality"] > span:first-child,
:where(.live-card,.export-card,.design-preview-card) [data-layer="studentId"] > span:first-child,
:where(.live-card,.export-card,.design-preview-card) [data-layer="validity"] > span:first-child{
  color:#5b6461!important;
  font-weight:700!important;
  opacity:1!important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
/* Les variantes sombres conservent leur contraste clair. */
:where(.live-card,.export-card,.design-preview-card)[data-template="night"] [data-layer="holderLabel"],
:where(.live-card,.export-card,.design-preview-card)[data-template="night"] [data-layer="birth"] > span:first-child,
:where(.live-card,.export-card,.design-preview-card)[data-template="night"] [data-layer="nationality"] > span:first-child,
:where(.live-card,.export-card,.design-preview-card)[data-template="night"] [data-layer="studentId"] > span:first-child,
:where(.live-card,.export-card,.design-preview-card)[data-template="night"] [data-layer="validity"] > span:first-child{
  color:#c9d0d6!important;
}

/* Cadrage portrait : commandes rapides, compactes et utilisables sur mobile. */
.portrait-zoom-control{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:8px}
.portrait-zoom-control label{margin:0!important;font-size:8px}.portrait-zoom-control output{float:right}
.portrait-zoom-control>button,.portrait-nudge-row button{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid #c8d4cc;border-radius:9px;background:#fff;color:#123f3b;font:900 16px/1 Manrope;cursor:pointer}
.portrait-zoom-control>button:hover,.portrait-nudge-row button:hover{border-color:var(--forest);background:#edf6f0}
.portrait-nudge-row{display:grid;grid-template-columns:repeat(4,34px);justify-content:center;gap:6px;margin:0 0 9px}
.logo-view-tools{display:grid;gap:8px;margin:8px 0 12px;padding:10px 12px;border:1px solid #d7dfd8;border-radius:12px;background:#f7faf6}
.logo-view-tools label{margin:0}
.logo-nudge-row{display:flex;flex-wrap:wrap;gap:6px}
.logo-nudge-row button{min-width:34px;height:34px;border:1px solid #c8d4cc;border-radius:9px;background:#fff;color:#123f3b;font:900 14px/1 Manrope;cursor:pointer}
.brand-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px}
.brand-admin-card{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:14px;border:1px solid #e2e8e3;border-radius:16px;background:#fff}
.brand-admin-thumb{width:72px;height:72px;border-radius:14px;background:#f3f6f2;display:grid;place-items:center;overflow:hidden}
.brand-admin-thumb img{max-width:90%;max-height:90%;object-fit:contain}
.brand-admin-actions{display:flex;gap:8px;margin-top:8px}
.brand-admin-actions button{border:1px solid #d7dfd8;border-radius:10px;padding:7px 10px;background:#f7faf6;font:700 11px Manrope;cursor:pointer}
.brand-admin-actions button.danger{color:#8a1f1f;border-color:#efc4c4;background:#fff5f5}
.admin-brand-fields label{display:grid;gap:6px;min-width:0;font-size:12px}
.admin-brand-fields label>span{color:#4f5f58;font:800 10px Manrope,sans-serif}
.admin-brand-fields input,.admin-brand-fields select,.admin-brand-fields textarea{width:100%;min-width:0;max-width:100%;min-height:40px;padding:9px 10px;border:1px solid #d7dfd8;border-radius:10px;background:#fff;font:inherit;font-size:12px}
.admin-brand-fields textarea{min-height:76px;resize:vertical}
.brand-admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.brand-admin-kpis span{display:grid;gap:2px;padding:10px 12px;border:1px solid #e1e8e2;border-radius:12px;background:#f7faf6}
.brand-admin-kpis b{font:850 18px/1 Manrope,sans-serif;color:#173f3f}
.brand-admin-kpis small{font-size:9px;color:#65716b}
.brand-admin-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) 180px auto auto;align-items:end;gap:10px}
.brand-admin-toolbar label{display:grid;gap:5px;font-size:9px;font-weight:800;color:#50615a}
.brand-admin-toolbar input,.brand-admin-toolbar select{min-height:38px;padding:0 10px;border:1px solid #d7dfd8;border-radius:10px;background:#fff}
.brand-admin-filter{display:flex;gap:4px;padding:3px;border:1px solid #d7dfd8;border-radius:11px;background:#f7faf6}
.brand-admin-filter button{min-height:31px;border:0;border-radius:8px;padding:0 10px;background:transparent;color:#56655f;font-size:9px;font-weight:800;cursor:pointer}
.brand-admin-filter button.active{background:#173f3f;color:#fff}
.brand-admin-card[data-status="archived"]{opacity:.72;background:#f6f6f4}
.brand-admin-colors{display:flex;align-items:center;gap:5px;margin-top:5px;color:#6c746f;font-size:9px}
.brand-admin-colors i{width:14px;height:14px;border:1px solid rgba(0,0,0,.12);border-radius:50%;background:var(--c)}
.brand-admin-actions{flex-wrap:wrap}
.brand-admin-actions a{display:inline-flex;align-items:center;border:1px solid #d7dfd8;border-radius:10px;padding:7px 10px;background:#f7faf6;font:700 11px Manrope;color:#173f3f}
.brand-admin-actions button.success{color:#17443f;border-color:#a8d9b3;background:#effbf1}
.brand-admin-table-wrap{margin-top:14px;overflow:auto;border:1px solid #dfe7e1;border-radius:16px;background:#fff}
.brand-admin-table{width:100%;min-width:940px;border-collapse:collapse}
.brand-admin-table th{position:sticky;top:0;z-index:1;padding:11px 12px;background:#eef3ee;color:#52615a;text-align:left;font:850 9px Manrope,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.brand-admin-table td{padding:11px 12px;border-top:1px solid #e7ece8;vertical-align:middle;color:#26342f;font-size:11px}
.brand-admin-table tr[data-status="archived"]{background:#f8f8f6;color:#6d7671}
.brand-admin-table td>b,.brand-admin-table td>small{display:block}
.brand-admin-table td>small,.brand-table-identity small{margin-top:3px;color:#77817c;font-size:9px;line-height:1.35}
.brand-table-identity{display:grid;grid-template-columns:48px minmax(130px,1fr);align-items:center;gap:10px}
.brand-table-identity .brand-admin-thumb{width:48px;height:48px;border-radius:10px}
.brand-table-identity b{display:block;font:850 12px Manrope,sans-serif}
.brand-table-status{display:inline-flex;padding:5px 8px;border-radius:999px;font:850 9px Manrope,sans-serif}
.brand-table-status.active{background:#e9f8ec;color:#23613a}
.brand-table-status.archived{background:#eceeec;color:#66706b}
.brand-admin-table .brand-admin-actions{min-width:235px;margin:0}
/* ?diteur de marque universitaire : dimensions verrouill?es pour ignorer les
   r?gles globales `dialog` (bottom-sheet mobile, largeurs 520/760px). */
dialog.admin-brand-pack-dialog{
  position:fixed!important;box-sizing:border-box!important;
  inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;margin:0!important;
  width:min(1140px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important;
  height:min(880px,calc(100dvh - 28px))!important;max-height:calc(100dvh - 28px)!important;
  padding:0!important;overflow:hidden!important;border:0;border-radius:22px;background:#fff;
  box-shadow:0 30px 90px rgba(16,31,27,.32)
}
dialog.admin-brand-pack-dialog::backdrop{background:rgba(14,26,23,.55)}
.admin-brand-form{
  display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:0;
  width:100%;height:100%;min-height:0;min-width:0;padding:0;overflow:hidden
}
.admin-brand-form>*{min-width:0}
.admin-brand-form>.brand-form-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:15px 18px;border-bottom:1px solid #e6ebe6;background:#fff
}
.admin-brand-form>.brand-form-head small{display:block;color:#66756e;font:850 9px Manrope,sans-serif;letter-spacing:.11em}
.admin-brand-form>.brand-form-head h2{margin:3px 0 0;overflow-wrap:anywhere;color:#173f3f;font:850 19px/1.15 Manrope,sans-serif}
.brand-form-close{
  flex:0 0 auto;width:36px;height:36px;border:1px solid #dde4de;border-radius:999px;
  background:#f4f7f3;color:#3d4f48;font:800 15px/1 Manrope,sans-serif;cursor:pointer
}
.brand-form-close:hover{background:#173f3f;color:#fff;border-color:#173f3f}
.brand-form-tabs{display:flex!important;gap:6px;justify-content:flex-start;min-width:0;max-width:100%;margin:0!important;padding:10px 14px;overflow-x:auto;border-bottom:1px solid #e9eee9;background:#fbfcfa;scrollbar-width:none}
.brand-form-tabs::-webkit-scrollbar{display:none}
.brand-form-tabs button{
  flex:0 0 auto;min-height:36px;padding:0 13px;border:1px solid #dde4de;border-radius:999px;
  background:#fff;color:#48584f;font:800 11px Manrope,sans-serif;white-space:nowrap;cursor:pointer
}
.brand-form-tabs button.active{background:#173f3f;color:#fff;border-color:#173f3f}
.admin-brand-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;min-width:0;min-height:0;overflow:hidden}
.admin-brand-fields{
  display:block;min-width:0;min-height:0;padding:16px 20px 26px;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable
}
.brand-form-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:13px 14px;min-width:0}
.brand-form-panel[hidden]{display:none}
.brand-form-panel>p.brand-panel-hint{grid-column:1/-1;margin:0 0 2px;color:#6d7a74;font-size:11px;line-height:1.5}
.admin-brand-fields label.wide{grid-column:1/-1}
.admin-brand-fields .check-row{grid-column:1/-1;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #e2e8e3;border-radius:11px;background:#f8faf7}
.admin-brand-fields .check-row input{width:20px;min-height:20px;padding:0}
/* Recapitulatif lecture seule des libelles recto deduits du pays et de la langue. */
.brand-auto-labels{
  grid-column:1/-1;padding:11px 13px;border:1px dashed #cfdcd4;border-radius:12px;background:#f7faf7
}
.brand-auto-labels>b{display:block;color:#173f3f;font:850 10px Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.brand-auto-labels>p{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:7px 12px;margin:8px 0 0
}
.brand-auto-labels>p span{display:grid;gap:1px;min-width:0}
.brand-auto-labels>p small{color:#78857f;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.brand-auto-labels>p b{color:#22322c;font-size:11.5px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.brand-range-row{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:9px}
.brand-range-row input{min-height:26px;padding:0}
.brand-range-row output{text-align:center;font:850 11px Manrope,sans-serif;color:#173f3f}
.admin-brand-fields input[type="color"]{min-height:42px;padding:4px}
.admin-brand-fields input[type="file"]{padding:8px;background:#f8faf7;font-size:11px}
.brand-editor-preview{
  display:grid;align-content:start;gap:12px;min-width:0;min-height:0;padding:18px;
  overflow-x:hidden;overflow-y:auto;border-left:1px solid #e2e8e3;background:#f7faf6
}
.brand-editor-preview>small{font:850 9px Manrope;color:#62716b;letter-spacing:.1em}
.brand-editor-preview>p{margin:0;color:#68746f;font-size:10px;line-height:1.45}
.brand-preview-card{display:grid;gap:8px;min-width:0;min-height:190px;padding:18px;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(23,63,63,.12)}
.brand-preview-card>[data-brand-preview-logo]{display:flex;align-items:center;min-height:54px}
.brand-preview-card img{max-width:100%;max-height:60px;object-fit:contain;object-position:left center}
.brand-preview-card h3{margin:auto 0 0;overflow-wrap:anywhere;font:850 19px/1.1 Manrope,sans-serif}
.brand-preview-card p{margin:0;overflow-wrap:anywhere;color:#69736f;font-size:11px}
.brand-preview-card>[data-brand-preview-colors]{display:flex;gap:6px}
.brand-preview-card>[data-brand-preview-colors] i{width:28px;height:7px;border-radius:999px;background:#173f3f}
.admin-brand-form>.brand-form-actions{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px;
  padding:12px 18px;border-top:1px solid #dfe6e1;background:#fff;box-shadow:0 -8px 25px rgba(23,63,63,.05)
}
.admin-brand-form>.brand-form-actions .btn{min-height:44px}
.admin-brand-form>.brand-form-actions .brand-form-status{margin-right:auto;color:#6d7a74;font-size:10px}
@media(max-width:900px){
  .brand-admin-kpis{grid-template-columns:1fr 1fr}
  .brand-admin-toolbar{grid-template-columns:1fr}
  dialog.admin-brand-pack-dialog{
    inset:auto 0 0 auto!important;transform:none!important;
    width:100vw!important;max-width:100vw!important;
    height:94dvh!important;max-height:94dvh!important;border-radius:18px 18px 0 0
  }
  .admin-brand-editor-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .brand-editor-preview{
    grid-row:1;align-content:stretch;grid-template-columns:minmax(0,1fr);
    padding:12px 14px;border-left:0;border-bottom:1px solid #e2e8e3;overflow:visible
  }
  .brand-editor-preview>small,.brand-editor-preview>p{display:none}
  .brand-preview-card{min-height:0;padding:12px 14px;gap:5px;box-shadow:none;border:1px solid #e4eae5}
  .brand-preview-card>[data-brand-preview-logo]{min-height:34px}
  .brand-preview-card img{max-height:34px}
  .brand-preview-card h3{font-size:15px}
  .admin-brand-fields{padding:14px 14px 22px}
  .admin-brand-form>.brand-form-head{padding:12px 14px}
  .admin-brand-form>.brand-form-head h2{font-size:16px}
  .brand-form-tabs{padding:9px 12px}
  .admin-brand-form>.brand-form-actions{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .admin-brand-form>.brand-form-actions .btn{flex:1 1 130px;justify-content:center}
}
@media(max-width:420px){
  .brand-form-panel{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
  .brand-admin-table-wrap{overflow:visible;border:0;background:transparent}
  .brand-admin-table,.brand-admin-table tbody,.brand-admin-table tr,.brand-admin-table td{display:block;width:100%;min-width:0}
  .brand-admin-table thead{display:none}
  .brand-admin-table tbody{display:grid;gap:10px}
  .brand-admin-table tr{padding:12px;border:1px solid #dfe7e1;border-radius:14px;background:#fff}
  .brand-admin-table td{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:8px;padding:7px 0;border:0}
  .brand-admin-table td::before{content:attr(data-label);color:#77817c;font:850 8px Manrope,sans-serif;text-transform:uppercase}
  .brand-admin-table td:first-child{display:block;padding-bottom:10px;border-bottom:1px solid #e8ece8}
  .brand-admin-table td:first-child::before{display:none}
  .brand-admin-table .brand-admin-actions{min-width:0}
}
.portrait-nudge-row button{font-size:14px}.portrait-tools .portrait-preview-button{min-height:36px;font-size:9px}
@media(max-width:900px){
  html[data-page="studio"] .portrait-tools:not([hidden]){display:block!important;margin:9px 0!important;padding:10px!important;border-radius:11px!important}
  html[data-page="studio"] .portrait-tools[hidden]{display:none!important}
  .portrait-position-grid{grid-template-columns:1fr!important;gap:0!important}
  .portrait-advanced-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
}
/* Cadrage portrait avanc? : d?placement libre, d?zoom et fond personnalisable. */
.portrait-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:3px 0 9px}
.portrait-quick-actions button{border:1px solid #ccd7cf;background:#fff;border-radius:8px;padding:7px 4px;font-size:7px;font-weight:800;cursor:pointer}
.portrait-background-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin:5px 0 9px;padding:8px;border:1px solid #dbe3dd;border-radius:9px;background:#fff}
.portrait-background-control>label:first-child{display:flex;align-items:center;gap:7px;margin:0;font-size:8px}
.portrait-background-control input[type="color"]{width:34px!important;height:28px!important;padding:2px!important;margin:0!important;border-radius:7px}
.portrait-background-control .check-row{margin:0!important;font-size:7px}
.live-photo{background:var(--portrait-background,linear-gradient(145deg,#ffc7b7,#8ed8cf))}

/* Administration : origine des commandes, formulaires et projets Studio visiteurs. */
.order-channel{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 9px;border:1px solid #cad8d0;border-radius:999px;background:#edf5f0;color:#17443f;font-size:10px;font-style:normal;font-weight:800;line-height:1.2}
.order-channel.channel-website-form{border-color:#a8d13b;background:#effbd5;color:#315800}
.order-channel.channel-admin{background:#eef1ff;color:#313a72}.order-channel.channel-message{background:#fff2e8;color:#81400f}
.od-badges .order-channel{margin-right:4px}.order-status-help{margin:10px 0 12px;padding:10px 12px;border-left:3px solid var(--lime);border-radius:0 9px 9px 0;background:#f3f8ef;color:#41514b;font-size:12px;line-height:1.45}.order-status-help b{color:#173f3f}
.order-form-facts{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid #dfe6e1}.order-form-facts>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.order-form-facts>header small{display:block;color:#66736d;font-size:9px;font-weight:900;letter-spacing:.12em}.order-form-facts>header h3{margin:3px 0 0}.order-form-facts>header>span{padding:5px 8px;border-radius:999px;background:#effbd5;color:#315800;font-size:10px;font-weight:900}
.form-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-fact-grid>div{min-width:0;padding:10px 11px;border:1px solid #e0e7e2;border-radius:10px;background:#fbfcfa}.form-fact-grid small{display:block;margin-bottom:3px;color:#6b7771;font-size:9px;font-weight:800;text-transform:uppercase}.form-fact-grid b{display:block;overflow-wrap:anywhere;color:#17231f;font-size:12px}
.studio-projects-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;padding:20px;border:1px solid #d9e4dc;border-radius:16px;background:linear-gradient(120deg,#f8fbf7,#eef7e7)}.studio-projects-intro small{color:#63716a;font-size:9px;font-weight:900;letter-spacing:.12em}.studio-projects-intro h3{margin:4px 0 5px;font-size:22px}.studio-projects-intro p{max-width:760px;margin:0;color:#5c6863;font-size:12px;line-height:1.5}.studio-projects-intro>span{display:grid;min-width:110px;text-align:center}.studio-projects-intro>span b{font-size:28px}.studio-projects-intro>span small{letter-spacing:.04em}
.admin-studio-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.admin-studio-project{display:grid;gap:14px;padding:16px;border:1px solid #dce5df;border-radius:15px;background:#fff;box-shadow:0 8px 25px rgba(21,55,48,.05)}.admin-studio-project.without-order{border-color:#caddac}.admin-studio-project>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-studio-project>header small{color:#66736d;font-size:9px;font-weight:900;letter-spacing:.11em}.admin-studio-project>header h3{margin:3px 0 0;font-size:16px}.admin-studio-project>header>span{padding:5px 8px;border-radius:999px;background:#eaf1ed;color:#3f534a;font-size:9px;font-weight:900;white-space:nowrap}.admin-studio-project.without-order>header>span{background:#f1fbdc;color:#4c680f}.studio-project-person{display:grid;gap:3px;padding:10px;border-radius:10px;background:#f7f9f7}.studio-project-person b{font-size:13px}.studio-project-person span{color:#67736e;font-size:11px}.admin-studio-project dl{display:grid;grid-template-columns:.55fr 1fr 1.35fr;gap:6px;margin:0}.admin-studio-project dl div{min-width:0}.admin-studio-project dt{color:#77817d;font-size:8px;font-weight:900;text-transform:uppercase}.admin-studio-project dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:10px;font-weight:800}.admin-studio-project footer{display:grid;gap:7px}.admin-studio-project footer button{min-height:38px;border:0;border-radius:10px;background:#173f3f;color:#fff;font-weight:900;cursor:pointer}.admin-studio-project footer button:disabled{opacity:.6}.admin-studio-project footer small{color:#74807a;font-size:9px}
@media(max-width:700px){.form-fact-grid{grid-template-columns:1fr}.studio-projects-intro{align-items:flex-start;flex-direction:column}.admin-studio-projects{grid-template-columns:1fr}.admin-studio-project dl{grid-template-columns:1fr 1fr}.od-badges{align-items:flex-end}.od-badges .order-channel{white-space:normal;text-align:center}}
.export-scope-hint{margin:-2px 0 10px;color:#5e6965;font-size:12px;line-height:1.45}
.orders-source-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:0 0 14px;border:1px solid #dfe5dc;border-radius:18px;background:linear-gradient(135deg,#f7f9f5,#edf5e9)}
.orders-source-banner div{display:grid;gap:4px}.orders-source-banner b{font-size:16px}.orders-source-banner span{font-size:12px;color:#66736c}
.admin-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-settings-shell{display:grid;gap:16px}
.admin-settings-tabs{
  display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid #dfe5dc;border-radius:16px;
  background:linear-gradient(180deg,#f7f9f5,#eef3ea);position:sticky;top:8px;z-index:5
}
.admin-settings-tabs button{
  appearance:none;border:1px solid transparent;border-radius:12px;min-height:40px;padding:0 14px;
  background:transparent;color:#3f534a;font:800 12px Manrope,sans-serif;cursor:pointer
}
.admin-settings-tabs button:hover{background:#fff;border-color:#d5e0d0}
.admin-settings-tabs button.active{
  background:#173f3f;color:#f4ffe8;border-color:#173f3f;box-shadow:0 8px 18px rgba(23,63,63,.18)
}
.admin-settings-panes{display:grid;gap:16px}
.admin-settings-pane{display:grid;gap:16px}
.admin-settings-pane[hidden]{display:none!important}
.admin-settings-card{display:grid;gap:16px;padding:22px;border:1px solid #dfe3da;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(24,43,39,.06)}
.settings-field textarea{
  width:100%;min-height:96px;padding:12px 13px;border:1px solid #d8ddd5;border-radius:12px;
  background:#fbfcfa;resize:vertical;font:600 13px/1.45 Manrope,sans-serif;color:#173f3f
}
.settings-discord-flags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:720px){
  .admin-settings-tabs{top:0;border-radius:14px;gap:6px;padding:6px}
  .admin-settings-tabs button{flex:1 1 calc(50% - 6px);justify-content:center;min-height:38px;font-size:11px}
  .settings-discord-flags{grid-template-columns:1fr}
}
.admin-settings-card header small{font-size:10px;letter-spacing:.14em;color:#2e766f}.admin-settings-card header h3{margin:4px 0 0;font-size:20px}
.settings-field{display:grid;gap:7px}.settings-field span,.settings-toggle span{font-size:12px;font-weight:800;color:#33423e}
.settings-field input{width:100%;min-height:44px;padding:0 13px;border:1px solid #d8ddd5;border-radius:12px;background:#fbfcfa}
.settings-toggle{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e0e5dd;border-radius:12px;background:#f8faf6}
.settings-toggle input{width:18px;height:18px;accent-color:#184f4b}
.settings-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}
@media(max-width:900px){.admin-settings-grid{grid-template-columns:1fr}.orders-source-banner{align-items:flex-start}}

/* ADMIN COMPLETE REDESIGN V2 ? navigation, tables, customer sheets and mobile drawer. */
html[data-page="admin"]{background:#eef2ed}
html[data-page="admin"] body{background:#eef2ed;color:#17231f}
html[data-page="admin"].admin-authenticated .admin-shell{
  display:grid!important;grid-template-columns:268px minmax(0,1fr)!important;min-height:100dvh!important;
  background:#eef2ed!important
}
html[data-page="admin"].admin-authenticated .admin-sidebar{
  position:sticky!important;inset:0 auto auto 0!important;top:0!important;display:flex!important;flex-direction:column!important;
  width:268px!important;height:100dvh!important;padding:18px 14px!important;overflow-y:auto!important;
  border:0!important;border-right:1px solid rgba(255,255,255,.08)!important;background:#102521!important;
  box-shadow:18px 0 48px rgba(15,42,36,.12)!important;z-index:40!important
}
.admin-sidebar-brand{display:flex!important;align-items:center!important;gap:11px!important;padding:6px 8px 19px!important;color:#fff!important;text-decoration:none!important}
.admin-sidebar-brand>span{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:13px!important;background:var(--lime)!important;color:#102521!important;font-size:14px!important;font-weight:950!important;box-shadow:0 10px 25px rgba(180,255,50,.18)!important}
.admin-sidebar-brand b{display:block!important;font-size:14px!important;line-height:1.15!important}.admin-sidebar-brand small{display:block!important;margin-top:4px!important;color:#8ea49d!important;font-size:9px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.admin-sidebar-nav{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important;overflow:visible!important;padding:2px 0!important}
.admin-nav-label{display:block!important;margin:16px 11px 5px!important;color:#718b83!important;font-size:8px!important;font-weight:950!important;letter-spacing:.18em!important;text-transform:uppercase!important}
.admin-sidebar-nav button,.admin-sidebar-nav a{display:grid!important;grid-template-columns:22px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:45px!important;padding:0 12px!important;border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;color:#b8c8c2!important;font:800 12px/1.2 inherit!important;text-align:left!important;text-decoration:none!important;cursor:pointer!important;transition:background .2s,border-color .2s,color .2s,transform .2s!important}
.admin-sidebar-nav button:hover,.admin-sidebar-nav a:hover{border-color:rgba(255,255,255,.08)!important;background:rgba(255,255,255,.055)!important;color:#fff!important;transform:translateX(2px)!important}
.admin-sidebar-nav button.active{border-color:rgba(187,255,48,.2)!important;background:linear-gradient(110deg,rgba(185,255,48,.17),rgba(185,255,48,.065))!important;color:#d8ff84!important;box-shadow:inset 3px 0 0 var(--lime)!important}
.admin-sidebar-nav svg{width:18px!important;height:18px!important;fill:currentColor!important}.admin-sidebar-nav b{display:grid!important;place-items:center!important;min-width:24px!important;height:22px!important;padding:0 6px!important;border-radius:999px!important;background:rgba(255,255,255,.09)!important;color:#fff!important;font-size:9px!important}
.admin-sidebar-user{display:grid!important;grid-template-columns:38px minmax(0,1fr) 34px!important;align-items:center!important;gap:9px!important;margin-top:auto!important;padding:13px 9px 3px!important;border-top:1px solid rgba(255,255,255,.08)!important;color:#fff!important}.admin-sidebar-user>span{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border-radius:50%!important;background:#24443e!important;color:#d9ff8d!important;font-weight:900!important}.admin-sidebar-user small{display:block!important;color:#718b83!important;font-size:7px!important;font-weight:900!important;letter-spacing:.12em!important}.admin-sidebar-user b{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important}.admin-sidebar-user button{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border:0!important;border-radius:9px!important;background:rgba(255,255,255,.06)!important;color:#fff!important;cursor:pointer!important}
.admin-sidebar-close,.admin-sidebar-backdrop,.admin-mobile-menu{display:none!important}
html[data-page="admin"].admin-authenticated .admin-main{min-width:0!important;width:auto!important;padding:25px 28px 38px!important;background:#eef2ed!important}
.admin-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:0 0 22px!important;padding:0!important;background:transparent!important}.admin-head>div:first-of-type{display:grid!important;gap:4px!important}.admin-head small{color:#658078!important;font-size:9px!important;font-weight:950!important;letter-spacing:.16em!important}.admin-head b{color:#14221e!important;font-size:27px!important;line-height:1.1!important;letter-spacing:-.035em!important}.admin-head-actions{display:flex!important;align-items:center!important;gap:9px!important}.admin-head-actions>*{min-height:42px!important;padding:0 15px!important;border:1px solid #d7e0da!important;border-radius:12px!important;background:#fff!important;color:#1a332d!important;font-size:11px!important;font-weight:900!important;box-shadow:0 7px 19px rgba(23,52,44,.06)!important}.admin-head-actions .btn-accent{border-color:var(--lime)!important;background:var(--lime)!important;color:#14221e!important}
.admin-stats{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:11px!important;margin:0 0 16px!important}.admin-stat{position:relative!important;display:grid!important;gap:6px!important;min-width:0!important;min-height:126px!important;padding:17px!important;overflow:hidden!important;border:1px solid #dce4de!important;border-radius:17px!important;background:#fff!important;box-shadow:0 11px 30px rgba(25,55,47,.055)!important}.admin-stat:after{content:""!important;position:absolute!important;right:-18px!important;bottom:-24px!important;width:72px!important;height:72px!important;border-radius:50%!important;background:rgba(184,255,48,.12)!important}.admin-stat small{color:#64746e!important;font-size:9px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}.admin-stat strong{color:#13221e!important;font-size:25px!important;line-height:1!important;letter-spacing:-.04em!important}.admin-stat span{align-self:end!important;color:#708078!important;font-size:10px!important;line-height:1.35!important}
.admin-tools{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin:0 0 14px!important;padding:12px 14px!important;border:1px solid #dce4de!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 22px rgba(25,55,47,.04)!important}.admin-tools>div{color:#61716a!important;font-size:11px!important}.admin-tools input{width:min(100%,360px)!important;min-height:42px!important;margin:0!important;padding:0 14px 0 40px!important;border:1px solid #d9e1dc!important;border-radius:11px!important;background:#f7f9f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23687a73' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") no-repeat 13px center!important;color:#17231f!important}
.admin-board{min-width:0!important}.admin-board>section,.admin-panel,.admin-overview-card,.admin-table-wrap,.admin-orders-panel{border:1px solid #dce4de!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 32px rgba(24,51,44,.05)!important}
.admin-table-wrap{overflow:auto!important;overscroll-behavior:contain!important}.admin-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important}.admin-table th{position:sticky!important;top:0!important;z-index:1!important;padding:12px 14px!important;border-bottom:1px solid #dce4de!important;background:#f3f6f3!important;color:#66766f!important;font-size:9px!important;font-weight:950!important;letter-spacing:.08em!important;text-align:left!important;text-transform:uppercase!important;white-space:nowrap!important}.admin-table td{padding:14px!important;border-bottom:1px solid #edf1ee!important;color:#26352f!important;font-size:11px!important;vertical-align:middle!important}.admin-table tr:last-child td{border-bottom:0!important}.admin-table tbody tr:hover td{background:#fbfdf8!important}
.admin-orders-grid,.orders-grid,.client-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))!important;gap:12px!important}.order-card,.client-card,.admin-studio-project{border:1px solid #dce4de!important;border-radius:17px!important;background:#fff!important;box-shadow:0 10px 28px rgba(24,51,44,.05)!important;transition:transform .2s,box-shadow .2s,border-color .2s!important}.order-card:hover,.client-card:hover,.admin-studio-project:hover{border-color:#c5d5ca!important;transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(24,51,44,.09)!important}.order-card button,.client-card button,.admin-board button{min-height:38px!important;border-radius:10px!important;font-weight:850!important;cursor:pointer!important}
.admin-detail-dialog{width:min(1040px,calc(100vw - 34px))!important;max-width:1040px!important;max-height:min(90dvh,900px)!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:22px!important;background:#f3f6f2!important;box-shadow:0 34px 100px rgba(7,25,20,.3)!important}.admin-detail-dialog::backdrop{background:rgba(7,22,18,.58)!important;backdrop-filter:blur(7px)!important}.admin-detail-dialog>div,.admin-detail-dialog .dialog-inner{max-height:90dvh!important;overflow:auto!important}.admin-detail-dialog header,.admin-detail-head{position:sticky!important;top:0!important;z-index:3!important;padding:18px 20px!important;border-bottom:1px solid #dde5df!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(12px)!important}.admin-detail-body{padding:18px!important}.admin-detail-grid,.order-detail-grid,.client-detail-grid{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;gap:14px!important}.admin-detail-card,.order-detail-card,.client-detail-card{padding:16px!important;border:1px solid #dce4de!important;border-radius:15px!important;background:#fff!important}.admin-detail-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:14px 18px!important;border-top:1px solid #dde5df!important;background:#fff!important}.admin-detail-actions>*{min-height:42px!important;border-radius:11px!important}
.orders-source-banner{border-radius:17px!important;background:linear-gradient(125deg,#fff,#f2f8ea)!important}.admin-settings-card{border-radius:17px!important;box-shadow:0 11px 28px rgba(24,51,44,.05)!important}

@media(max-width:1180px){
  html[data-page="admin"].admin-authenticated .admin-shell{grid-template-columns:236px minmax(0,1fr)!important}
  html[data-page="admin"].admin-authenticated .admin-sidebar{width:236px!important}
  html[data-page="admin"].admin-authenticated .admin-main{padding:22px 20px 34px!important}
  .admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:860px){
  html[data-page="admin"].admin-authenticated .admin-shell{display:block!important;min-height:100dvh!important}
  html[data-page="admin"].admin-authenticated .admin-sidebar{position:fixed!important;inset:0 auto 0 0!important;top:0!important;width:min(88vw,330px)!important;height:100dvh!important;padding:18px 15px!important;transform:translateX(-106%)!important;transition:transform .28s cubic-bezier(.22,1,.36,1)!important;box-shadow:28px 0 70px rgba(7,24,19,.32)!important;z-index:1002!important}
  html.admin-menu-open[data-page="admin"] .admin-sidebar{transform:translateX(0)!important}
  .admin-sidebar-close{position:absolute!important;top:17px!important;right:14px!important;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:11px!important;background:rgba(255,255,255,.07)!important;color:#fff!important;font-size:23px!important;cursor:pointer!important}
  .admin-sidebar-backdrop{position:fixed!important;inset:0!important;display:block!important;border:0!important;background:rgba(7,23,18,.58)!important;opacity:0!important;pointer-events:none!important;transition:opacity .22s!important;backdrop-filter:blur(4px)!important;z-index:1001!important}
  html.admin-menu-open[data-page="admin"] .admin-sidebar-backdrop{opacity:1!important;pointer-events:auto!important}
  html.admin-menu-open[data-page="admin"] body{overflow:hidden!important}
  html[data-page="admin"].admin-authenticated .admin-main{width:100%!important;padding:14px 14px 28px!important}
  .admin-mobile-menu{display:inline-grid!important;place-content:center!important;gap:4px!important;flex:0 0 42px!important;width:42px!important;height:42px!important;padding:0!important;border:1px solid #d4ded7!important;border-radius:12px!important;background:#fff!important;box-shadow:0 6px 18px rgba(20,49,41,.07)!important;cursor:pointer!important}.admin-mobile-menu span{display:block!important;width:18px!important;height:2px!important;border-radius:99px!important;background:#153a34!important}
  .admin-head{position:sticky!important;top:0!important;z-index:25!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:10px!important;margin:-14px -14px 15px!important;padding:12px 14px!important;border-bottom:1px solid #dce4de!important;background:rgba(238,242,237,.94)!important;backdrop-filter:blur(13px)!important}.admin-head b{font-size:20px!important}.admin-head-actions{gap:6px!important}.admin-head-actions>*{min-height:40px!important;padding:0 10px!important}.admin-head-actions #adminAddClient{display:none!important}
  .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.admin-stat{min-height:105px!important;padding:14px!important}.admin-stat strong{font-size:21px!important}
  .admin-tools{align-items:stretch!important;flex-direction:column!important;gap:9px!important}.admin-tools input{width:100%!important}
  .admin-orders-grid,.orders-grid,.client-grid,.admin-studio-projects{grid-template-columns:1fr!important}
  .admin-detail-dialog{width:100vw!important;max-width:none!important;max-height:94dvh!important;margin:auto 0 0!important;border-radius:20px 20px 0 0!important}.admin-detail-dialog>div,.admin-detail-dialog .dialog-inner{max-height:94dvh!important}.admin-detail-grid,.order-detail-grid,.client-detail-grid{grid-template-columns:1fr!important}.admin-detail-body{padding:13px!important}.admin-detail-actions{position:sticky!important;bottom:0!important;padding:11px 13px max(11px,env(safe-area-inset-bottom))!important}
  .admin-table{min-width:700px!important}.admin-table-wrap{border-radius:14px!important}
}
@media(max-width:520px){
  html[data-page="admin"].admin-authenticated .admin-main{padding:12px 10px 24px!important}.admin-head{margin:-12px -10px 13px!important;padding:10px!important}.admin-head small{font-size:7px!important}.admin-head b{font-size:18px!important}.admin-head-actions a{font-size:0!important;width:42px!important;padding:0!important}.admin-head-actions a:after{content:"+"!important;font-size:21px!important}
  .admin-stats{grid-template-columns:1fr 1fr!important}.admin-stat{min-height:96px!important;padding:12px!important}.admin-stat small{font-size:8px!important}.admin-stat strong{font-size:19px!important}.admin-stat span{font-size:9px!important}
  .orders-source-banner{align-items:flex-start!important;flex-direction:column!important;padding:14px!important}.admin-settings-card{padding:15px!important}.admin-settings-grid{gap:11px!important}
  .admin-detail-actions>*{flex:1 1 140px!important}
}



/* === Admin UX v1 === */
.admin-login-card-v2{width:min(440px,100%);gap:16px;padding:30px 28px;border-radius:24px;background:linear-gradient(180deg,#fff 0 70%,#f7f8f4 100%);box-shadow:0 24px 70px rgba(16,30,28,.12)}
.admin-login-hero h3{margin:0;font:800 24px Manrope,sans-serif}
.admin-login-hero p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.admin-login-alert{padding:10px 12px;border-radius:12px;font:700 12px Manrope;background:#fdeceb;color:#8a1f1a;border:1px solid #f3c4c0}
.admin-login-alert[data-tone="ok"]{background:#eef8e8;color:#215c2a;border-color:#cfe8c4}
.admin-login-field{display:grid;gap:6px;font:800 11px Manrope;letter-spacing:.04em;text-transform:uppercase;color:#5f6d68}
.admin-login-field input{min-height:48px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fafaf7;font:600 14px Manrope;text-transform:none;letter-spacing:0}
.admin-login-pass{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.admin-toggle-pin{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;font:800 11px Manrope;cursor:pointer}
.admin-login-remember{display:flex;align-items:center;gap:8px;font:600 12px Manrope;color:var(--muted);text-transform:none;letter-spacing:0}
.admin-login-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:8px;border-top:1px solid var(--line)}
.admin-login-meta small{color:var(--muted);font-size:10px}
.admin-login-meta a{font:800 11px Manrope;color:#256b64}
.admin-logout-btn{border:0;background:#2a3632;color:#fff;border-radius:9px;padding:7px 9px;font:800 10px Manrope;cursor:pointer}
.admin-head-ghost{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:10px;padding:9px 12px;font:800 11px Manrope;cursor:pointer}
.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(20,32,30,.04)}
.admin-data-table{width:100%;border-collapse:collapse;min-width:980px}
.admin-data-table th{position:sticky;top:0;background:#f4f6f2;text-align:left;padding:12px 14px;font:800 10px Manrope;letter-spacing:.08em;text-transform:uppercase;color:#5f6d68;border-bottom:1px solid var(--line);white-space:nowrap}
.admin-data-table td{padding:12px 14px;border-bottom:1px solid #eceee8;vertical-align:middle;font:600 12px Manrope}
.admin-data-table tr:hover td{background:#fafbf8}
.admin-data-table tr.is-closed td{opacity:.62}
.admin-data-table td b{display:block;font:800 12px Manrope}
.admin-data-table td small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.admin-ref-link{border:0;background:transparent;padding:0;font:800 12px Manrope;color:#173f3f;cursor:pointer;text-align:left}
.admin-ref-link:hover{color:#2e756d;text-decoration:underline}
.admin-td-actions{width:1%;white-space:nowrap}
.admin-manage{position:relative;display:inline-flex}
.admin-manage-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font:800 11px Manrope;cursor:pointer}
.admin-manage-btn i{font-style:normal;opacity:.7}
.admin-manage.is-open .admin-manage-btn{border-color:#173f3f;box-shadow:0 0 0 3px rgba(23,63,63,.1)}
.admin-manage-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:220px;display:grid;gap:2px;padding:8px;border-radius:14px;background:#16201e;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.admin-manage-menu[hidden]{display:none!important}
.admin-manage-menu button,.admin-manage-menu a{display:block;width:100%;border:0;background:transparent;color:#e8eeeb;text-align:left;padding:10px 12px;border-radius:10px;font:700 12px Manrope;cursor:pointer;text-decoration:none}
.admin-manage-menu button:hover,.admin-manage-menu a:hover{background:#2a3632}
.admin-manage-menu .danger,.admin-manage-menu button.danger{color:#ffb4ae}
.admin-manage-sep{border:0;border-top:1px solid #34403d;margin:4px 6px}
.admin-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:99px;background:#eef1ec;font:800 10px Manrope;color:#39534d}
.admin-pill.ok{background:#e7f6df;color:#24612f}
.admin-pill.warn{background:#fff4d8;color:#7a5a10}
.admin-project-thumb{width:44px;height:56px;border-radius:8px;overflow:hidden;background:linear-gradient(145deg,var(--p,#173f3f),var(--a,#c9ff4a));display:grid;place-items:center;color:#fff;font:900 11px Manrope;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.admin-project-thumb img{width:100%;height:100%;object-fit:cover}
.orders-source-banner.compact,.studio-projects-intro.compact{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:12px}
.studio-projects-kpis{display:flex;gap:10px}
.studio-projects-kpis span{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:#f4f6f2;min-width:88px}
.studio-projects-kpis b{font:900 16px Manrope}
.studio-projects-kpis small{font:800 9px Manrope;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.table-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}
.settings-lead{margin:0 0 12px;color:var(--muted);font:600 12px Manrope;line-height:1.45}
.admin-settings-v2 .admin-settings-card header{display:flex;justify-content:space-between;align-items:start;gap:10px}
@media(max-width:720px){
  .admin-login-meta{flex-direction:column;align-items:flex-start}
  .orders-source-banner.compact,.studio-projects-intro.compact,.table-head{flex-direction:column;align-items:stretch}
  .admin-data-table{min-width:860px}
}



/* === Admin UX v2 ? login, menus, mini-card, brand === */
html[data-page="admin"]:not(.admin-authenticated){
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(201,255,74,.28), transparent 55%),
    radial-gradient(900px 420px at 100% 0%, rgba(23,63,63,.18), transparent 50%),
    #e7ebe3 !important;
}
html[data-page="admin"]:not(.admin-authenticated) body{background:transparent!important}
html[data-page="admin"]:not(.admin-authenticated) .admin-section{
  display:grid!important;place-items:center!important;padding:28px 16px!important;
  min-height:100dvh!important;height:auto!important;background:transparent!important;
}
.admin-brand-icon{
  width:42px;height:42px;border-radius:12px;display:block;object-fit:cover;
  box-shadow:0 8px 22px rgba(23,32,30,.12);background:#f4f1e9;flex:0 0 auto;
}
.admin-brand-icon.sm{width:34px;height:34px;border-radius:10px}
.admin-sidebar-brand .admin-brand-icon{box-shadow:none}
.admin-login-card-v2{
  width:min(420px,100%)!important;margin:0 auto!important;
  display:grid!important;gap:16px!important;
  padding:28px 26px!important;border-radius:24px!important;
  border:1px solid rgba(23,63,63,.1)!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(16,30,28,.14)!important;
}
/* display:grid!important above must not defeat [hidden] after login */
#adminLoginCard[hidden],
.admin-login-card[hidden],
.admin-login-card-v2[hidden],
#adminWorkspace[hidden]{
  display:none!important;
}
html[data-page="admin"].admin-authenticated #adminLoginCard{
  display:none!important;
}
html[data-page="admin"]:not(.admin-authenticated) #adminWorkspace{
  display:none!important;
}
.admin-login-brand{display:flex!important;align-items:center!important;gap:12px!important;padding-bottom:14px!important;border-bottom:1px solid #e6e9e2!important;margin:0!important}
.admin-login-brand b{font:800 16px Manrope,sans-serif!important}
.admin-login-brand b span{font-weight:800;color:#2e756d}
.admin-login-brand small{display:block;margin-top:3px;font:800 10px Manrope;letter-spacing:.12em;text-transform:uppercase;color:#7b8782}
.admin-login-hero h3{margin:0!important;font:800 26px/1.15 Manrope,sans-serif!important;color:#16201e!important}
.admin-login-hero p{margin:8px 0 0!important;color:#6a736f!important;font:600 13px/1.45 Manrope,sans-serif!important}
.admin-login-v2{display:grid!important;gap:12px!important;margin:0!important}
.admin-login-v2 .admin-login-field{display:grid!important;gap:7px!important;margin:0!important}
.admin-login-v2 .admin-login-field>span{font:800 11px Manrope!important;letter-spacing:.06em;text-transform:uppercase;color:#5f6d68}
.admin-login-v2 input:not([type=checkbox]){
  min-height:50px!important;width:100%!important;box-sizing:border-box!important;
  border:1px solid #d7dbd2!important;border-radius:14px!important;
  padding:12px 14px!important;background:#f7f8f4!important;
  font:600 15px Manrope,sans-serif!important;color:#16201e!important;
  text-transform:none!important;letter-spacing:0!important;
}
.admin-login-v2 input:not([type=checkbox]):focus{
  outline:none!important;border-color:#173f3f!important;box-shadow:0 0 0 4px rgba(23,63,63,.12)!important;background:#fff!important;
}
.admin-login-pass{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:stretch!important}
.admin-toggle-pin{
  border:1px solid #d7dbd2!important;background:#fff!important;border-radius:12px!important;
  padding:0 14px!important;font:800 12px Manrope!important;color:#173f3f!important;cursor:pointer!important;
}
.admin-login-remember{
  display:flex!important;align-items:center!important;gap:10px!important;
  margin:2px 0 4px!important;cursor:pointer!important;
  font:600 13px Manrope,sans-serif!important;color:#4d5a55!important;
  text-transform:none!important;letter-spacing:0!important;
}
.admin-login-remember input[type=checkbox]{
  position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;
  min-height:0!important;padding:0!important;margin:0!important;
}
.admin-login-remember .admin-check{
  width:22px;height:22px;border-radius:7px;border:1.5px solid #b7c0b8;
  background:#fff;display:inline-grid;place-items:center;flex:0 0 auto;
  transition:.15s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.admin-login-remember .admin-check:after{
  content:"";width:11px;height:7px;border-left:2.5px solid transparent;border-bottom:2.5px solid transparent;
  transform:rotate(-45deg) translate(1px,-1px);
}
.admin-login-remember input:checked + .admin-check{
  background:#173f3f;border-color:#173f3f;
}
.admin-login-remember input:checked + .admin-check:after{border-color:#c9ff4a}
.admin-login-remember input:focus-visible + .admin-check{box-shadow:0 0 0 4px rgba(23,63,63,.15)}
.admin-login-submit{
  width:100%!important;min-height:52px!important;border-radius:14px!important;
  font:800 15px Manrope!important;justify-content:center!important;
  background:#16201e!important;color:#fff!important;
  box-shadow:0 12px 28px rgba(22,32,30,.22)!important;
}
.admin-login-submit:hover{filter:brightness(1.06)}
.admin-login-meta{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:center!important;flex-wrap:wrap!important;padding-top:10px!important;border-top:1px solid #e6e9e2!important}
.admin-login-meta small{color:#7b8782!important;font:600 11px Manrope!important}
.admin-login-meta a{font:800 12px Manrope!important;color:#256b64!important}

/* Manage portal (never clipped by table overflow) */
.admin-manage-portal{position:fixed;inset:0;z-index:5000;pointer-events:none}
.admin-manage-portal.is-open{pointer-events:none}
.admin-manage-menu.is-portal{
  position:fixed!important;
  z-index:5001!important;min-width:230px;max-width:min(92vw,280px);
  max-height:min(70vh,420px);overflow:auto;
  display:grid!important;gap:2px;padding:8px;border-radius:14px;
  background:#16201e;box-shadow:0 22px 60px rgba(0,0,0,.35);
  pointer-events:auto!important;
  margin:0!important;transform:none!important;
  /* left/top set by JS ? do NOT force top/right:auto!important (breaks position) */
}
.admin-manage-menu.is-portal button,
.admin-manage-menu.is-portal a{
  display:block;width:100%;border:0;background:transparent;color:#e8eeeb;
  text-align:left;padding:11px 12px;border-radius:10px;
  font:700 13px Manrope;cursor:pointer;text-decoration:none;white-space:normal;
}
.admin-manage-menu.is-portal button:hover,
.admin-manage-menu.is-portal a:hover{background:#2a3632}
.admin-manage-menu.is-portal .danger{color:#ffb4ae!important}
.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.admin-data-table{min-width:720px}
.admin-td-actions{position:static}
.admin-manage-btn{
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  border:1px solid #cfd6cc!important;background:#fff!important;border-radius:999px!important;
  padding:8px 12px!important;font:800 11px Manrope!important;color:#173f3f!important;cursor:pointer!important;
  white-space:nowrap!important;
}

/* Mini card preview in projects table */
.admin-mini-card{
  width:86px;height:54px;border-radius:8px;overflow:hidden;position:relative;
  background:linear-gradient(180deg,#fff 0 70%, #f3f6f2 100%);
  box-shadow:0 0 0 1px rgba(20,32,30,.12), 0 8px 16px rgba(20,32,30,.1);
}
.admin-mini-card-band{height:12px;background:linear-gradient(90deg,var(--p,#173f3f),var(--a,#c9ff4a))}
.admin-mini-card-body{display:grid;grid-template-columns:22px 1fr;gap:5px;padding:5px 6px 4px;align-items:center}
.admin-mini-photo{
  width:22px;height:28px;border-radius:4px;overflow:hidden;background:var(--p,#173f3f);
  display:grid;place-items:center;color:#fff;font:900 8px Manrope;
}
.admin-mini-photo img{width:100%;height:100%;object-fit:cover}
.admin-mini-meta b{display:block;font:800 8px/1.1 Manrope;color:#16201e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48px}
.admin-mini-meta small{display:block;font:700 7px Manrope;color:#6a736f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48px}

/* Universal modal close X ? drawn in CSS (no broken ? encoding) */
.dialog-close-x,
button.dialog-close-x,
.admin-detail-close.dialog-close-x,
.design-link-dialog-close.dialog-close-x,
.client-editor-dialog-close.dialog-close-x,
.brand-pack-dialog-close.dialog-close-x,
.model-profile-dialog-close.dialog-close-x,
.reset-studio-dialog-close.dialog-close-x{
  position:absolute!important;right:12px!important;top:12px!important;z-index:20!important;
  width:40px!important;height:40px!important;border:0!important;border-radius:12px!important;
  background:rgba(22,32,30,.07)!important;color:transparent!important;font-size:0!important;line-height:0!important;
  cursor:pointer!important;display:grid!important;place-items:center!important;
  box-shadow:inset 0 0 0 1px rgba(22,32,30,.06)!important;padding:0!important
}
.dialog-close-x::before,
button.dialog-close-x::before{
  content:""!important;position:absolute!important;width:16px!important;height:2px!important;
  background:#16201e!important;border-radius:2px!important;transform:rotate(45deg)!important
}
.dialog-close-x::after,
button.dialog-close-x::after{
  content:""!important;position:absolute!important;width:16px!important;height:2px!important;
  background:#16201e!important;border-radius:2px!important;transform:rotate(-45deg)!important
}
.dialog-close-x:hover{background:rgba(22,32,30,.14)!important}
.dialog-close-x:focus-visible{outline:2px solid #c9ff4a!important;outline-offset:2px!important}
dialog{position:relative}
.admin-detail-dialog{position:relative}
.admin-detail-close.dialog-close-x{right:14px!important;top:14px!important}

@media(max-width:720px){
  .admin-login-card-v2{padding:22px 18px!important;border-radius:20px!important}
  .admin-data-table{min-width:640px}
  .admin-manage-menu.is-portal{min-width:min(92vw,260px);max-height:60vh}
}


/* brand favicon */
.brand .brand-icon,.brand-icon{
  width:31px;height:31px;border-radius:8px;display:block;object-fit:cover;flex:0 0 auto;
  background:#f4f1e9;
}
html[data-page="home"] .nav-capsule .brand-icon{width:26px;height:26px;border-radius:7px}

/* Real PVC thumb in admin projects table */
.admin-pvc-thumb{
  position:relative;width:118px;height:74px;border-radius:10px;overflow:hidden;
  background:linear-gradient(145deg,var(--p,#173f3f),var(--a,#c9ff4a));
  box-shadow:0 0 0 1px rgba(20,32,30,.12), 0 8px 18px rgba(20,32,30,.1);
}
.admin-pvc-thumb .scaled-card-frame{
  position:absolute!important;left:50%!important;top:50%!important;
  margin:0!important;transform:translate(-50%,-50%)!important;
  max-width:none!important;
}
.admin-pvc-thumb .live-card{pointer-events:none}
.admin-pvc-thumb.sm{width:96px;height:60px;border-radius:8px;flex:0 0 auto}
.admin-preview-badge{
  position:absolute;right:6px;bottom:6px;z-index:3;
  padding:3px 7px;border-radius:999px;background:rgba(19,34,30,.88);color:#fff;
  font:800 10px Manrope;letter-spacing:.02em;pointer-events:none;
}
.admin-preview-hint{
  display:block;margin-top:6px;font:800 10px Manrope;color:#5f6d68;letter-spacing:.02em;
}
.admin-project-card-preview.admin-preview-cycle{position:relative}
button.admin-pvc-thumb{
  border:0;padding:0;cursor:pointer;display:block;
}
.admin-project-frame-item{
  display:flex;gap:10px;align-items:center;width:100%;text-align:left;
  border:1px solid #e2e8e0;background:#f4f6f2;border-radius:12px;padding:8px;
  cursor:pointer;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.admin-project-frame-item:hover{border-color:#c9d9b8;transform:translateY(-1px)}
.admin-project-frame-item.is-active{border-color:#173f3f;box-shadow:0 0 0 2px rgba(23,63,63,.12);background:#fff}
.admin-project-frame-meta{display:grid;gap:2px;min-width:0}
.admin-project-frame-meta b{font:800 12px Manrope}
.admin-project-frame-meta small,.admin-project-frame-meta em{font:600 11px Manrope;color:var(--muted)}
.admin-projects-table td:first-child{width:132px;vertical-align:middle}


/* Admin projects management v3 */
.admin-projects-hero{align-items:stretch}
.admin-projects-filters{margin:0 0 14px}
.admin-projects-grid{display:grid;gap:14px}
.admin-project-card{
  display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:stretch;
  padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;
  box-shadow:0 10px 28px rgba(20,32,30,.05);
}
.admin-project-card.without-order{border-color:#e2c56a}
.admin-project-card-preview{border:0;background:transparent;padding:0;cursor:pointer;text-align:left}
.admin-project-card .admin-pvc-thumb{width:140px;height:88px;border-radius:12px}
.admin-pvc-thumb.lg{width:160px;height:100px;border-radius:14px;flex:0 0 auto}
.admin-project-card-body{display:grid;gap:12px;min-width:0}
.admin-project-card-top{display:flex;justify-content:space-between;gap:12px;align-items:start}
.admin-project-card-top small{display:block;font:800 10px Manrope;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.admin-project-card-top h3{margin:0;font:800 18px/1.2 Manrope;color:#16201e}
.admin-project-card-top p{margin:6px 0 0;color:#4d5a55;font:600 13px/1.4 Manrope}
.admin-project-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.admin-project-meta-grid span{display:grid;gap:2px;padding:8px 10px;border-radius:12px;background:#f4f6f2;min-width:0}
.admin-project-meta-grid small{font:800 9px Manrope;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.admin-project-meta-grid b{font:700 12px/1.3 Manrope;color:#16201e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-project-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.admin-project-detail{display:grid;gap:18px;padding:8px 4px 4px;max-width:920px}
.admin-project-detail-head{display:flex;gap:16px;align-items:start}
.admin-project-detail-head h2{margin:6px 0;font:800 24px/1.15 Manrope}
.admin-project-detail-head p{margin:0;color:var(--muted)}
.admin-project-detail-head small{font:800 10px Manrope;letter-spacing:.1em;color:var(--muted)}
.admin-project-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.admin-project-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-project-detail-grid section{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fafaf7}
.admin-project-detail-grid h3{margin:0 0 10px;font:800 14px Manrope}
.admin-kv{display:grid;gap:8px;margin:0}
.admin-kv div{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start}
.admin-kv dt{margin:0;font:800 10px Manrope;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.admin-kv dd{margin:0;font:600 13px/1.35 Manrope;word-break:break-word}
.admin-kv code{font:700 11px ui-monospace,Consolas,monospace;background:#eef1ea;padding:2px 6px;border-radius:6px}
.admin-swatch{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-1px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.admin-order-ref-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.admin-project-frames h3{margin:0 0 10px;font:800 14px Manrope}
.admin-project-frame-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.admin-project-frame-list article{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:#f4f6f2}
.admin-project-frame-list b{font:800 12px Manrope}
.admin-project-frame-list small,.admin-project-frame-list em{font:600 11px Manrope;color:var(--muted)}
.admin-project-detail-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:900px){
  .admin-project-card{grid-template-columns:1fr}
  .admin-project-card .admin-pvc-thumb{width:100%;height:110px}
  .admin-project-meta-grid{grid-template-columns:1fr 1fr}
  .admin-project-detail-grid{grid-template-columns:1fr}
  .admin-project-detail-head{flex-direction:column}
  .admin-kv div{grid-template-columns:1fr}
}


/* Admin polish v4 ? synth?se, demandes, clients */
.admin-stats{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.admin-stat.is-alert{border-color:#e2c56a!important;background:linear-gradient(180deg,#fff,#fff8e8)!important}
.admin-stat.is-warn{border-color:#c9d9a8!important}
.admin-stat.is-up span{color:#2f7a3a!important}
.admin-stat.is-down span{color:#a33b32!important}
.admin-priority-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.admin-priority-strip button{display:grid;gap:4px;text-align:left;border:1px solid #dce4de;border-radius:16px;padding:14px;background:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(20,32,30,.04)}
.admin-priority-strip button.hot{border-color:#c9ff4a;background:linear-gradient(180deg,#fff,#f4ffd8)}
.admin-priority-strip small{font:800 9px Manrope;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.admin-priority-strip b{font:900 26px/1 Manrope;color:#13221e}
.admin-priority-strip span{font:600 12px Manrope;color:#5f6d68}
.dash-layout-v4{grid-template-columns:1.15fr .85fr;grid-template-areas:"rev queue" "prod val"}
.dash-layout-v4 .dash-revenue{grid-area:rev}
.dash-layout-v4 .dash-form-queue{grid-area:queue}
.dash-layout-v4 .dash-panel:nth-of-type(3){grid-area:prod}
.dash-layout-v4 .dash-panel:nth-of-type(4){grid-area:val}
.dash-queue-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px;border-radius:12px;background:#f6f8f5}
.dash-queue-main{border:0;background:transparent;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:10px;width:100%;padding:4px}
.dash-queue-main b{display:block;font:800 13px Manrope}
.dash-queue-main small{color:var(--muted);font:600 11px Manrope}
.dash-queue-main em{font:800 11px Manrope;color:#315752}
.admin-form-orders-grid,.admin-clients-grid{display:grid;gap:12px}
.admin-form-order-card,.admin-client-card{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(20,32,30,.05)}
.admin-form-order-card.is-closed{opacity:.72}
.admin-form-order-media{width:88px;height:110px;border-radius:14px;overflow:hidden;background:linear-gradient(145deg,#173f3f,#c9ff4a);display:grid;place-items:center;color:#fff;font:900 18px Manrope}
.admin-form-order-media img{width:100%;height:100%;object-fit:cover}
.admin-form-order-body,.admin-client-body{display:grid;gap:10px;min-width:0}
.admin-form-order-top,.admin-client-top{display:flex;justify-content:space-between;gap:10px;align-items:start}
.admin-form-order-top small,.admin-client-card small{display:block;font:800 10px Manrope;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.admin-form-order-top h3,.admin-client-card h3{margin:4px 0 0;font:800 18px/1.2 Manrope}
.admin-form-order-top p,.admin-client-card p{margin:4px 0 0;color:#5f6d68;font:600 13px Manrope}
.admin-form-order-badges{display:grid;gap:6px;justify-items:end}
.admin-form-order-meta,.admin-client-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.admin-form-order-meta span,.admin-client-meta span{display:grid;gap:2px;padding:8px 10px;border-radius:12px;background:#f4f6f2;min-width:0}
.admin-form-order-meta b,.admin-client-meta b{font:700 12px Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-form-order-actions,.admin-client-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.admin-client-avatar{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;background:#173f3f;color:#c9ff4a;font:900 20px Manrope}
.orders-source-banner.is-form{background:linear-gradient(125deg,#fff,#f7ffe8)!important;border-color:#d7e8a8}
@media(max-width:1100px){
  .admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .admin-priority-strip{grid-template-columns:1fr 1fr}
  .dash-layout-v4{grid-template-columns:1fr;grid-template-areas:"rev" "queue" "prod" "val"}
  .admin-form-order-meta,.admin-client-meta{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .admin-form-order-card,.admin-client-card{grid-template-columns:1fr}
  .admin-form-order-media{width:100%;height:140px}
}


.admin-form-info{display:grid;gap:16px;padding:6px 2px;max-width:860px}
.admin-form-info-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.admin-form-info-head small{font:800 10px Manrope;letter-spacing:.1em;color:var(--muted)}
.admin-form-info-head h2{margin:6px 0;font:800 22px Manrope}
.admin-form-info-head p{margin:0;color:var(--muted)}
.admin-form-info-grid{display:grid;grid-template-columns:220px 1fr;gap:14px}
.admin-form-info-photo,.admin-form-info-grid>section{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fafaf7}
.admin-form-info-photo h3,.admin-form-info-grid h3{margin:0 0 10px;font:800 14px Manrope}
.admin-form-info-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;background:#dfe2d8}
.admin-form-info-empty{display:grid;place-items:center;min-height:180px;border-radius:12px;background:#eef1ea;color:var(--muted);font:700 12px Manrope;text-align:center;padding:16px}
.admin-form-info-actions{display:flex;flex-wrap:wrap;gap:8px}
.order-form-photo{margin:0 0 12px}
.order-form-photo img{width:96px;height:120px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
@media(max-width:720px){.admin-form-info-grid{grid-template-columns:1fr}}

.admin-form-fiche{display:grid;gap:16px;padding:4px 2px;max-width:920px}
.admin-form-fiche-head{display:flex;justify-content:space-between;gap:14px;align-items:start}
.admin-form-fiche-head small{font:800 10px Manrope;letter-spacing:.1em;color:#5f7a2e}
.admin-form-fiche-head h2{margin:6px 0 4px;font:900 24px Manrope;color:#13221e}
.admin-form-fiche-head p{margin:0;color:var(--muted);font:600 13px Manrope}
.admin-form-fiche-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.admin-form-fiche-lead{margin:0;padding:12px 14px;border-radius:14px;background:#f3ffd8;border:1px solid #d7e8a8;font:600 13px Manrope;color:#315c27}
.admin-form-fiche-todo{padding:12px 14px;border-radius:14px;background:#f4f6f2;border:1px solid #e2e8e0}
.admin-form-fiche-todo b{display:block;font:800 12px Manrope;margin-bottom:6px;color:#173f3f}
.admin-form-fiche-todo ul{margin:0;padding-left:18px;display:grid;gap:4px}
.admin-form-fiche-todo li{font:600 12px Manrope;color:#4d5a55}
.admin-form-fiche-grid{display:grid;grid-template-columns:200px 1fr 1fr;gap:12px}
.admin-form-fiche-photo,.admin-form-fiche-block{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fafaf7;min-width:0}
.admin-form-fiche-photo{grid-row:span 2}
.admin-form-fiche-photo h3,.admin-form-fiche-block h3{margin:0 0 10px;font:800 14px Manrope}
.admin-form-fiche-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;background:#dfe2d8}
.admin-form-fiche-contact,.admin-form-fiche-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.admin-form-fiche-pay{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.admin-form-fiche .form-flow{margin-bottom:8px}
.admin-form-fiche .danger-text{color:#8b3025}
@media(max-width:900px){
  .admin-form-fiche-grid{grid-template-columns:1fr 1fr}
  .admin-form-fiche-photo{grid-row:auto;grid-column:1/-1}
  .admin-form-fiche-photo img{max-width:220px}
}
@media(max-width:640px){.admin-form-fiche-grid{grid-template-columns:1fr}}


.admin-projects-smart-note{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.admin-projects-smart-note span{padding:6px 10px;border-radius:999px;background:#eef2ea;font:800 11px Manrope;color:#3f534a}
.admin-projects-section{margin:0 0 18px}
.admin-projects-section>header{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 0 10px}
.admin-projects-section>header h3{margin:0;font:800 16px Manrope}
.admin-projects-section>header p{margin:4px 0 0;color:var(--muted);font:600 12px Manrope}
.admin-projects-section>header b{font:900 22px Manrope;color:#173f3f}
.admin-project-card-flags{display:grid;gap:6px;justify-items:end}


.hub-visitor-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.hub-visitor-chip{display:inline-flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:14px;background:#eef3ea;border:1px solid #d5e0d0;min-width:min(100%,220px)}
.hub-visitor-chip b{font:800 14px Manrope;color:#173f3f}
.hub-visitor-chip small{font:600 12px Manrope;color:#4d6358}
.hub-prepare-banner{
  display:flex;flex-direction:column;gap:4px;margin:12px 0 4px;padding:12px 14px;
  border-radius:14px;border:1px solid #cfe0c8;background:linear-gradient(135deg,#f3f8ef,#e8f1e4);
  max-width:42rem;
}
.hub-prepare-banner[data-ready="0"]{border-color:#e2d3a8;background:linear-gradient(135deg,#fff8e8,#f7efd8)}
.hub-prepare-banner span{font:700 13px Manrope,sans-serif;color:#1d3f34;line-height:1.35}
.hub-prepare-banner small{font:600 12px Manrope,sans-serif;color:#5a6b62}
.hub-visitor-row .ghost{border:0;background:transparent;color:#2e5c52;font:800 12px Manrope;cursor:pointer;text-decoration:underline}
.studio-visitor-dialog{width:min(520px,94vw);border:0;border-radius:22px;padding:22px;background:#f7f5ef;box-shadow:0 24px 80px rgba(20,31,29,.25)}
.studio-visitor-dialog::backdrop{background:rgba(16,28,24,.45)}
.studio-visitor-dialog .kicker{font:800 11px Manrope;letter-spacing:.08em;color:#5f7a6d}
.studio-visitor-dialog h2{margin:6px 0 8px;font:800 24px Manrope;color:#14201d}
.studio-visitor-dialog p{margin:0 0 12px;color:#4d6358;font:600 14px Manrope;line-height:1.45}
.studio-visitor-note{margin-top:4px!important;padding:10px 12px;border-radius:12px;background:#eef3ea;font-size:12px!important}
.studio-visitor-form{margin-top:8px}
.admin-project-client-line{margin:6px 0 0;font:600 12px Manrope;color:#3f534a}
.admin-project-client-line.warn{color:#8b3025}
.admin-project-client-line b{font-weight:800;color:#173f3f}


/* Synth?se admin v9 ? charts & pilotage */
.admin-stat{position:relative}
.admin-stat-spark{position:absolute;right:14px;bottom:14px;width:72px;height:28px;opacity:.85;pointer-events:none}
.synth-hero{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:0 0 14px;padding:18px 20px;border-radius:20px;border:1px solid #dce4de;background:linear-gradient(135deg,#f7faf4 0%,#eef6e4 48%,#f4f7f2 100%);box-shadow:0 12px 30px rgba(20,32,30,.05)}
.synth-hero small{font:800 10px Manrope;letter-spacing:.1em;text-transform:uppercase;color:#4d6358}
.synth-hero h2{margin:6px 0 4px;font:900 26px/1.1 Manrope;color:#13221e;letter-spacing:-.03em}
.synth-hero p{margin:0;color:#5f6d68;font:600 13px Manrope}
.synth-hero-actions{display:flex;flex-wrap:wrap;gap:8px}
.synth-hero-actions button{border:1px solid #d5e0d0;background:#fff;border-radius:999px;padding:10px 14px;font:800 12px Manrope;cursor:pointer}
.synth-hero-actions button.hot{background:#f3ffd0;border-color:#c9ff4a}
.synth-priority button b{font-size:20px!important}
.synth-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:14px}
.synth-panel{min-width:0}
.synth-ca{grid-column:1/-1}
.synth-ca-badge{display:grid;gap:4px;justify-items:end}
.synth-ca-badge span{font:700 11px Manrope;color:#5f6d68}
.synth-ca-chart{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:end}
.synth-area-svg{width:100%;height:auto;display:block;background:linear-gradient(180deg,#fbfcf9,#f3f6f1);border-radius:14px;border:1px solid #e7ece4}
.synth-bars{display:flex;align-items:end;gap:6px;min-height:140px;padding:8px 2px 0}
.synth-bar{flex:1;min-width:0;display:grid;justify-items:center;gap:4px}
.synth-bar-track{width:100%;height:110px;display:flex;align-items:end;border-radius:10px 10px 4px 4px;background:#eef2ea;overflow:hidden}
.synth-bar-track i{display:block;width:100%;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#c9ff4a,#173f3f)}
.synth-bar span{font:800 9px Manrope;color:#6a7872;text-transform:capitalize}
.synth-bar b{font:800 10px Manrope;color:#173f3f}
.synth-ca-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.synth-ca-metrics div,.synth-channel-money div{padding:12px;border-radius:14px;background:#f4f6f2}
.synth-ca-metrics small,.synth-channel-money small,.synth-subhead{display:block;font:800 10px Manrope;letter-spacing:.06em;text-transform:uppercase;color:#6a7872;margin-bottom:4px}
.synth-ca-metrics b,.synth-channel-money b{font:900 16px Manrope;color:#13221e}
.synth-channel-money{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.synth-channel-money span{display:block;margin-top:2px;font:600 11px Manrope;color:#5f6d68}
.synth-donut-wrap{display:grid;grid-template-columns:132px 1fr;gap:12px;align-items:center}
.synth-donut{width:132px;height:132px}
.synth-donut-total{font:900 16px Manrope;fill:#13221e}
.synth-donut-sub{font:700 8px Manrope;fill:#6a7872}
.synth-donut-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.synth-donut-legend li{display:grid;grid-template-columns:10px 1fr auto auto;gap:8px;align-items:center;font:700 12px Manrope}
.synth-donut-legend i{width:10px;height:10px;border-radius:50%}
.synth-donut-legend em{font-style:normal;color:#6a7872}
.synth-mini-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.synth-mini-actions button{border:1px solid #dce4de;background:#fff;border-radius:10px;padding:8px 10px;font:800 11px Manrope;cursor:pointer}
.synth-funnel{display:grid;gap:7px}
.synth-funnel-row{display:grid;grid-template-columns:92px 1fr 28px;gap:8px;align-items:center;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}
.synth-funnel-row span{font:800 11px Manrope;color:#3f534a}
.synth-funnel-track{height:10px;border-radius:999px;background:#eef2ea;overflow:hidden}
.synth-funnel-track i{display:block;height:100%;border-radius:999px}
.synth-funnel-row b{font:900 12px Manrope;color:#13221e;text-align:right}
.synth-activity-14{margin-top:14px}
.synth-activity-14 .synth-bars{min-height:84px}
.synth-activity-14 .synth-bar-track{height:56px}
.synth-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.synth-top-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;border-bottom:1px solid #eef1ea}
.synth-top-row b{font:800 12px Manrope}
.synth-top-row span{grid-column:1;font:600 11px Manrope;color:#6a7872}
.synth-top-row em{grid-row:1/span 2;align-self:center;font:800 12px Manrope;font-style:normal;color:#173f3f}
.synth-reviews{margin-top:12px;padding-top:12px;border-top:1px solid #eef1ea}
@media(max-width:1100px){
  .synth-grid{grid-template-columns:1fr}
  .synth-ca{grid-column:auto}
  .synth-ca-chart,.synth-donut-wrap,.synth-split,.synth-ca-metrics{grid-template-columns:1fr}
  .synth-hero{flex-direction:column;align-items:start}
}
@media(max-width:720px){
  .synth-hero h2{font-size:22px}
  .synth-channel-money{grid-template-columns:1fr}
}


.admin-project-card.is-demo-ish{opacity:.92;border-style:dashed}
.admin-pill.warn{background:#f7ebe7;color:#8b3025}


.settings-revenue-card{grid-column:1/-1}
.settings-revenue-form{display:grid;grid-template-columns:140px 1fr 150px;gap:10px;margin:12px 0}
.settings-revenue-form .wide{grid-column:1/-1}
.settings-revenue-list{display:grid;gap:8px;margin-top:14px}
.settings-revenue-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#f4f6f2;border:1px solid #e2e8e0}
.settings-revenue-row b{display:block;font:900 16px Manrope;color:#173f3f}
.settings-revenue-row span{display:block;font:700 13px Manrope;margin-top:2px}
.settings-revenue-row small{display:block;color:var(--muted);font:600 11px Manrope;margin-top:2px}
.synth-manual-note{margin:10px 0 0;font:600 12px Manrope;color:#5f6d68}
.synth-channel-money{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){
  .settings-revenue-form{grid-template-columns:1fr 1fr}
  .synth-channel-money{grid-template-columns:1fr!important}
}

/* Admin dashboard motion & polish v13 */
html[data-page="admin"].admin-authenticated .admin-main{
  background:
    radial-gradient(900px 420px at 12% -10%, rgba(201,255,74,.16), transparent 55%),
    radial-gradient(700px 360px at 100% 0%, rgba(23,63,63,.07), transparent 50%),
    #f3f5f0 !important;
}
.admin-main.admin-view-pulse .admin-head{
  animation: adminHeadIn .45s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes adminHeadIn{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:none}
}
.admin-anim-in > *,
.admin-anim-in .admin-stat,
.admin-anim-in .synth-hero,
.admin-anim-in .admin-priority-strip > *,
.admin-anim-in .synth-panel,
.admin-anim-in .admin-form-order-card,
.admin-anim-in .admin-client-card,
.admin-anim-in .admin-project-card,
.admin-anim-in .admin-settings-card,
.admin-anim-in .orders-source-banner,
.admin-anim-in .admin-table-wrap,
.admin-anim-in .admin-projects-hero{
  animation: adminRise .55s cubic-bezier(.2,.8,.2,1) both;
}
.admin-anim-in .admin-stat:nth-child(1),
.admin-anim-in .admin-priority-strip > *:nth-child(1),
.admin-anim-in .synth-panel:nth-child(1){animation-delay:.04s}
.admin-anim-in .admin-stat:nth-child(2),
.admin-anim-in .admin-priority-strip > *:nth-child(2),
.admin-anim-in .synth-panel:nth-child(2){animation-delay:.08s}
.admin-anim-in .admin-stat:nth-child(3),
.admin-anim-in .admin-priority-strip > *:nth-child(3),
.admin-anim-in .synth-panel:nth-child(3){animation-delay:.12s}
.admin-anim-in .admin-stat:nth-child(4),
.admin-anim-in .admin-priority-strip > *:nth-child(4),
.admin-anim-in .synth-panel:nth-child(4){animation-delay:.16s}
.admin-anim-in .admin-stat:nth-child(5),
.admin-anim-in .synth-panel:nth-child(5){animation-delay:.2s}
.admin-anim-in .admin-stat:nth-child(6),
.admin-anim-in .synth-panel:nth-child(6){animation-delay:.24s}
@keyframes adminRise{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:none}
}
.admin-stat,
.dash-panel,
.synth-panel,
.admin-form-order-card,
.admin-client-card,
.admin-project-card,
.admin-settings-card,
.admin-priority-strip button{
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.admin-stat:hover,
.synth-panel:hover,
.dash-panel:hover,
.admin-form-order-card:hover,
.admin-client-card:hover,
.admin-project-card:hover,
.admin-settings-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(20,32,30,.1) !important;
  border-color: #c9d9b8 !important;
}
.admin-priority-strip button:hover{
  transform: translateY(-2px);
  border-color: #c9ff4a;
  box-shadow: 0 14px 30px rgba(20,32,30,.08);
}
.admin-priority-strip button.hot{
  position:relative;
  overflow:hidden;
}
.admin-priority-strip button.hot:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);
  transform:translateX(-120%);
  animation: adminShine 2.8s ease-in-out infinite;
}
@keyframes adminShine{
  0%,60%{transform:translateX(-120%)}
  100%{transform:translateX(120%)}
}
.synth-hero{
  position:relative;
  overflow:hidden;
}
.synth-hero:after{
  content:"";
  position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,255,74,.35),transparent 70%);
  pointer-events:none;
  animation: adminOrb 6s ease-in-out infinite alternate;
}
@keyframes adminOrb{
  from{transform:translate(0,0) scale(1)}
  to{transform:translate(-18px,12px) scale(1.08)}
}
.synth-hero-actions button,
.synth-mini-actions button,
.dash-link,
.admin-head-ghost,
.admin-order-toolbar button{
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.synth-hero-actions button:hover,
.synth-mini-actions button:hover,
.admin-order-toolbar button:hover{
  transform: translateY(-1px);
}
.admin-order-toolbar button.active{
  background:#173f3f !important;
  color:#fff !important;
  box-shadow: 0 8px 20px rgba(23,63,63,.2);
}
.synth-area-svg{
  overflow:visible;
}
.synth-area-fill{
  opacity:0;
}
.synth-dot{
  opacity:0;
  animation: adminDotIn .35s ease forwards;
  animation-delay: calc(.55s + var(--d,0) * .05s);
  transition: r .15s ease;
}
.synth-dot:hover{r:5}
@keyframes adminDotIn{to{opacity:1}}
.synth-bar-track i{
  height:0;
  background:linear-gradient(180deg,#d8ff7a 0%,#173f3f 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.synth-bar:hover .synth-bar-track i{
  filter:brightness(1.08);
}
.synth-funnel-track i{
  width:0;
  box-shadow: 0 0 0 1px rgba(255,255,255,.2) inset;
}
.synth-funnel-row:hover .synth-funnel-track{
  background:#e4ebe0;
}
.synth-donut-seg{
  opacity:0;
  transition: stroke-width .2s ease, opacity .3s ease;
}
.synth-donut:hover .synth-donut-seg{stroke-width:16}
.admin-stat strong{
  letter-spacing:-.03em;
  background:linear-gradient(180deg,#173f3f,#13221e);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.admin-stat.is-alert strong,
.admin-stat.is-up strong,
.admin-stat.is-down strong{
  color:#13221e;
  background:none;
  -webkit-background-clip:unset;
  background-clip:unset;
}
.admin-sidebar-nav button,
.admin-sidebar-nav a{
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.admin-sidebar-nav button:hover,
.admin-sidebar-nav a:hover{
  transform: translateX(2px);
}
.admin-sidebar-nav button.active{
  background:linear-gradient(90deg,#2f3f3a,#253430) !important;
  box-shadow: inset 3px 0 var(--lime), 0 8px 18px rgba(0,0,0,.12);
}
.admin-detail-dialog[open]{
  animation: adminDialogIn .28s cubic-bezier(.2,.8,.2,1);
}
@keyframes adminDialogIn{
  from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:none}
}
.admin-form-fiche,
.od-shell,
.admin-project-detail{
  animation: adminRise .4s ease both;
}
@media (prefers-reduced-motion: reduce){
  .admin-anim-in > *,
  .admin-anim-in .admin-stat,
  .admin-anim-in .synth-hero,
  .admin-anim-in .admin-priority-strip > *,
  .admin-anim-in .synth-panel,
  .admin-priority-strip button.hot:before,
  .synth-hero:after,
  .synth-dot,
  .admin-main.admin-view-pulse .admin-head,
  .admin-detail-dialog[open],
  .admin-form-fiche,
  .od-shell,
  .admin-project-detail{
    animation:none !important;
  }
  .synth-area-fill,
  .synth-donut-seg,
  .synth-dot{
    opacity:1 !important;
  }
  .synth-bar-track i{
    height:var(--h,0%) !important;
  }
  .synth-funnel-track i{
    width:var(--w,0%) !important;
  }
  .admin-stat:hover,
  .synth-panel:hover,
  .dash-panel:hover,
  .admin-form-order-card:hover,
  .admin-client-card:hover,
  .admin-project-card:hover{
    transform:none;
  }
}

/* Admin UX polish v18 ? login, clients, modals, shell */
/* Admin auth v19 ? trusted device checkbox spacing */
/* Studio hub prepare v20 ? client-first create flow */
/* Studio hub intelligence v21 ? admin/client cockpit */
.admin-login-v2 .admin-login-remember + .admin-login-remember{margin-top:-2px!important}
html[data-page="admin"]:not(.admin-authenticated) .admin-section{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px 16px;
  background:
    radial-gradient(820px 420px at 12% -8%, rgba(201,255,74,.22), transparent 55%),
    radial-gradient(700px 380px at 100% 0%, rgba(23,63,63,.12), transparent 50%),
    linear-gradient(165deg,#e8ece4 0%,#f4f1e9 48%,#eef2ed 100%) !important;
}
.admin-login-card-v2{
  animation: adminLoginIn .45s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes adminLoginIn{
  from{opacity:0;transform:translateY(14px) scale(.98)}
  to{opacity:1;transform:none}
}
.admin-login-brand b span{color:#c9ff4a!important;background:#173f3f;padding:0 5px;border-radius:6px}
.admin-login-trust{
  list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;
}
.admin-login-trust li{
  padding:6px 10px;border-radius:999px;background:#eef3ea;border:1px solid #d5e0d0;
  font:800 10px Manrope;color:#3f534a;letter-spacing:.02em;
}
.admin-login-submit span{opacity:.7;margin-left:4px}
.admin-login-submit:hover{
  background:#173f3f!important;
  box-shadow:0 14px 32px rgba(23,63,63,.28)!important;
  transform:translateY(-1px);
}
.admin-login-alert{
  padding:12px 14px!important;border-radius:14px!important;
  background:#fee8e4!important;border:1px solid #f0c2ba!important;
  color:#8b3025!important;font:700 13px Manrope!important;
}
.admin-login-alert[data-tone="ok"]{
  background:#eafbcb!important;border-color:#b7dc70!important;color:#315c27!important;
}

/* Shell / head */
html[data-page="admin"].admin-authenticated .admin-head-ghost,
.admin-head-ghost{
  border:1px solid #d7e0da!important;
  background:#fff!important;
  color:#173f3f!important;
  border-radius:12px!important;
  padding:10px 14px!important;
  font:800 12px Manrope!important;
  box-shadow:0 4px 14px rgba(20,32,30,.04);
}
.admin-head-ghost:hover{
  border-color:#c9ff4a!important;
  background:#f7ffe8!important;
}
.admin-sidebar-nav button.active span{
  color:#fff;
}

/* Clients page */
.admin-clients-hero{
  display:grid;
  grid-template-columns:1.2fr auto auto;
  gap:16px;
  align-items:end;
  margin:0 0 16px;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid #dce4de;
  background:linear-gradient(135deg,#f7faf4 0%,#eef6e4 50%,#f4f7f2 100%);
  box-shadow:0 12px 30px rgba(20,32,30,.05);
}
.admin-clients-hero small{font:800 10px Manrope;letter-spacing:.1em;text-transform:uppercase;color:#4d6358}
.admin-clients-hero h3{margin:6px 0 4px;font:900 24px Manrope;color:#13221e;letter-spacing:-.03em}
.admin-clients-hero p{margin:0;color:#5f6d68;font:600 13px Manrope;max-width:420px}
.admin-clients-kpis{display:flex;flex-wrap:wrap;gap:8px}
.admin-clients-kpis span{
  min-width:78px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.78);
  border:1px solid #e2e8e0;display:grid;gap:2px;text-align:center;
}
.admin-clients-kpis b{font:900 16px Manrope;color:#173f3f}
.admin-clients-kpis small{font:800 9px Manrope;letter-spacing:.06em;text-transform:uppercase;color:#6a7872}
.admin-clients-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:14px!important;
}
.admin-client-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.admin-client-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(20,32,30,.1)!important;
  border-color:#c9d9b8!important;
}
.admin-client-avatar{
  background:linear-gradient(145deg,#173f3f,#2a5550)!important;
  color:#c9ff4a!important;
  box-shadow:0 0 0 1px rgba(201,255,74,.22), 0 10px 22px rgba(23,63,63,.18);
}
.admin-pill.muted{background:#eceee8;color:#5f6d68}
.admin-empty-rich{
  display:grid!important;gap:10px;justify-items:start;
  padding:28px 22px!important;border-radius:18px;background:#fff;
  border:1px dashed #c9d9b8;font:600 14px Manrope!important;color:#4d5a55!important;
}
.admin-empty-rich b{font:900 18px Manrope;color:#13221e}
.admin-empty-rich span{color:#6a7872}

/* Client dossier modal */
.cf-hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cf-avatar{
  box-shadow:0 0 0 1px rgba(201,255,74,.25), 0 12px 24px rgba(23,63,63,.18)!important;
}
.cf-kpi>span{
  transition:transform .18s ease, border-color .18s ease;
}
.cf-kpi>span:hover{transform:translateY(-1px);border-color:#c9d9b8}
.cf-shell .od-card{
  border-radius:16px!important;
  box-shadow:0 10px 28px rgba(20,32,30,.05);
}
.cf-list button{transition:background .15s ease, transform .15s ease}
.cf-list button:hover{transform:translateX(2px)}

/* Shared modal polish */
.admin-detail-dialog[open]{
  border:0;
  border-radius:22px;
  padding:0;
  width:min(980px,94vw);
  max-height:min(92vh,920px);
  background:#f6f5f0;
  box-shadow:0 30px 90px rgba(16,28,24,.28);
}
.admin-detail-dialog::backdrop{
  background:rgba(16,28,24,.48);
  backdrop-filter:blur(4px);
}
.od-shell,.admin-form-fiche,.admin-project-detail{
  padding:20px 22px 22px;
}
.od-head,.admin-form-fiche-head,.admin-project-detail-head{
  position:sticky;top:0;z-index:2;
  background:linear-gradient(180deg,#f6f5f0 70%,rgba(246,245,240,0));
  padding-bottom:12px;
}
.od-tabs{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:4px;border-radius:14px;background:#eef1ea;margin:0 0 14px;
}
.od-tabs button{
  border:0;background:transparent;border-radius:10px;
  padding:10px 12px;font:800 12px Manrope;color:#5f6d68;cursor:pointer;
}
.od-tabs button.active{
  background:#173f3f!important;color:#fff!important;
  box-shadow:inset 0 -2px 0 #c9ff4a, 0 8px 18px rgba(23,63,63,.18);
}
.od-primary,.admin-form-fiche-actions .btn-accent,.admin-project-detail-actions .btn-accent{
  box-shadow:0 10px 22px rgba(23,63,63,.14);
}
.admin-form-fiche-actions,.admin-project-detail-actions,.od-actions{
  position:sticky;bottom:0;
  padding-top:12px;
  background:linear-gradient(0deg,#f6f5f0 60%,rgba(246,245,240,0));
}

/* Client editor */
.client-editor-dialog{
  width:min(720px,94vw)!important;
  border-radius:22px!important;
  padding:22px!important;
  background:#f7f5ef!important;
  box-shadow:0 28px 80px rgba(20,31,29,.28)!important;
}
.client-editor-dialog::backdrop{background:rgba(16,28,24,.45);backdrop-filter:blur(3px)}
.client-editor-grid label,.client-existing-row label{
  font:800 11px Manrope!important;letter-spacing:.04em;color:#3f534a!important;
}
.client-editor-grid input,.client-editor-grid select,.client-editor-grid textarea,.client-existing-row select{
  font:600 14px Manrope!important;padding:12px 14px!important;border-radius:12px!important;
  min-height:46px;background:#fbfcf8!important;
}
.client-editor-grid textarea{min-height:88px}
.client-intake-note{
  border-radius:14px!important;padding:14px!important;
  background:#eef6e4!important;border-left:4px solid #c9ff4a!important;
}
.client-intake-note b{font:800 13px Manrope!important}
.client-inplace-note span{font:600 12px Manrope!important;color:#4d6358!important}
.client-status-btn{
  border:1px solid #d7e0da;background:#fff;border-radius:999px;
  padding:8px 12px;font:800 11px Manrope;cursor:pointer;color:#3f534a;
}
.client-status-btn.active{background:#173f3f;color:#fff;border-color:#173f3f;box-shadow:inset 0 -2px 0 #c9ff4a}
.client-status-btn:hover{border-color:#c9ff4a}

/* Orders / form cards hover parity */
.admin-form-order-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.admin-form-order-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(20,32,30,.1)!important;
  border-color:#c9d9b8!important;
}
.orders-source-banner{
  border-radius:16px!important;
  box-shadow:0 10px 26px rgba(20,32,30,.04);
}

@media(max-width:900px){
  .admin-clients-hero{grid-template-columns:1fr;align-items:start}
  .admin-clients-hero .btn{justify-self:start}
}
@media(max-width:720px){
  .admin-clients-grid{grid-template-columns:1fr!important}
  .admin-login-trust{gap:5px}
  .od-shell,.admin-form-fiche,.admin-project-detail{padding:16px}
}
@media(prefers-reduced-motion:reduce){
  .admin-login-card-v2{animation:none!important}
  .admin-client-card:hover,.admin-form-order-card:hover,.cf-list button:hover{transform:none}
}

/* ========== FULL RESPONSIVE SYSTEM v23 ========== */
html,body{max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button,.btn{max-width:100%}
.section,.config-section,.admin-section,.studio-hub,.admin-board,.admin-main{min-width:0}

/* Admin containment */
html[data-page="admin"].admin-authenticated .admin-main,
html[data-page="admin"].admin-authenticated .admin-board,
.admin-board>section,
.admin-panel,
.admin-orders-panel,
.admin-overview-card{
  max-width:100%!important;
  min-width:0!important;
}
.admin-table-wrap,
.admin-board .admin-table-wrap{
  max-width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}
.admin-data-table{min-width:640px!important}
.admin-table{min-width:560px!important}
.admin-view-tabs,
.admin-orders-tabs,
.review-filter-bar,
.admin-priority-strip{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  flex-wrap:nowrap;
}
.admin-view-tabs button,
.admin-orders-tabs button,
.review-filter-bar button{flex:0 0 auto}

@media(max-width:1100px){
  .synth-channel-money,
  .synth-ca-metrics,
  .admin-settings-grid{grid-template-columns:1fr 1fr!important}
  .overview-grid,
  .design-comparison,
  .review-management-grid{grid-template-columns:1fr!important}
}

@media(max-width:900px){
  .admin-orders-grid,
  .orders-grid,
  .client-grid,
  .admin-studio-projects,
  .admin-clients-grid,
  .admin-form-orders-grid,
  .admin-projects-grid,
  .preset-grid,
  .review-grid{
    grid-template-columns:1fr!important;
  }
  .synth-hero,
  .admin-form-order-top,
  .admin-client-top,
  .admin-form-fiche-head,
  .admin-form-info-head,
  .studio-projects-intro,
  .orders-source-banner{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .synth-hero-actions{width:100%}
  .synth-hero-actions button{flex:1 1 auto;justify-content:center}
  .admin-form-order-meta,
  .admin-client-meta,
  .form-fact-grid{grid-template-columns:1fr 1fr!important}
  .admin-detail-dialog,
  .client-editor-dialog,
  .ig-order-dialog,
  .quick-order-dialog,
  .design-link-dialog{
    width:min(100vw - 16px,1040px)!important;
    max-width:calc(100vw - 16px)!important;
  }
}

@media(max-width:720px){
  /* Home / vitrine ? ne pas casser la grille du menu (toggle reste en haut ? droite) */
  .sample-card{width:min(310px,calc(100vw - 48px))!important}
  .easy-flyer-actions{grid-template-columns:1fr!important;display:grid!important}
  .easy-flyer-actions .btn{width:100%!important;min-width:0!important;justify-content:center}
  .easy-layout,.easy-photo-body,.pool-section,.steps,.template-grid{grid-template-columns:1fr!important}
  .section-head{flex-direction:column;align-items:flex-start;gap:12px}
  footer{grid-template-columns:1fr!important;gap:18px}
  .footer-links,.footer-contact{flex-wrap:wrap}

  /* Admin mobile polish */
  html[data-page="admin"].admin-authenticated .admin-main{padding:12px 10px 24px!important}
  .admin-stats{grid-template-columns:1fr 1fr!important}
  .admin-form-order-meta,
  .admin-client-meta,
  .form-fact-grid,
  .synth-ca-metrics,
  .synth-channel-money,
  .admin-priority-strip,
  .settings-revenue-form{grid-template-columns:1fr!important}
  .admin-form-order-actions,
  .admin-client-actions,
  .admin-detail-actions{display:flex!important;flex-wrap:wrap!important}
  .admin-form-order-actions>* ,
  .admin-client-actions>*{flex:1 1 140px!important;justify-content:center}
  .admin-data-table{min-width:560px!important}
  .synth-donut-legend li{grid-template-columns:10px minmax(0,1fr) auto!important}
  .synth-donut-legend em{display:none}
  .studio-projects-kpis{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .admin-manage-menu{right:auto;left:0;max-width:min(220px,calc(100vw - 32px))}
  .admin-login-card-v2,.admin-login-card{width:min(100%,440px);margin-inline:auto;padding:22px 18px!important}
  .admin-login-v2 .admin-login-field input,
  .admin-login-submit{width:100%!important}
  .od-shell,.admin-form-fiche,.admin-project-detail{padding:14px!important}
  .od-pricing-row{grid-template-columns:1fr!important;gap:8px}

  /* Studio hub */
  .studio-hub{padding:0 14px 36px!important}
  .studio-hub-bar{flex-wrap:wrap;gap:10px}
  .studio-hub-bar-actions{width:100%;flex-wrap:wrap}
  .studio-hub-bar-actions .ghost,
  .studio-hub-bar-actions .accent,
  .studio-hub-bar-actions a{flex:1 1 auto;justify-content:center;text-align:center}
  .studio-hub-hero{flex-direction:column;align-items:stretch}
  .hub-hero-cta-col{width:100%}
  .studio-hub-cta,.hub-secondary-cta{width:100%}
  .studio-hub-grid{grid-template-columns:1fr!important}
  .hub-kpi-row,.hub-admin-grid,.hub-client-tips,.hub-client-chips{grid-template-columns:1fr!important}
  .hub-toolbar{min-width:0;width:100%}
  .hub-toolbar input[type=search]{width:100%}
  .hub-filters{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
  .hub-filters button{flex:0 0 auto}
  .hub-project-menu{right:0;left:auto;max-width:calc(100vw - 40px)}

  /* Studio editor */
  .canvas-deck-bar{flex-wrap:wrap;gap:8px}
  .canvas-deck-actions{width:100%;flex-wrap:wrap}
  .studio-menubar{gap:6px}
  .customer-form{grid-template-columns:1fr!important}
  .customer-form .wide{grid-column:auto!important}
  .bat-dialog,.order-dialog{width:min(100vw - 12px,640px)!important;max-height:92dvh;overflow:auto}
}

@media(max-width:480px){
  .admin-stats{grid-template-columns:1fr!important}
  .admin-stat{min-height:0!important}
  .admin-head-actions{width:100%;flex-wrap:wrap}
  .admin-head-actions>*{flex:1 1 auto}
  .admin-detail-actions>*{flex:1 1 100%!important}
  .synth-ca-metrics{grid-template-columns:1fr!important}
  .synth-funnel-row{grid-template-columns:64px minmax(0,1fr) 22px!important}
  .admin-form-order-media{width:100%!important;height:180px!important}
  .admin-form-order-card{grid-template-columns:1fr!important}
  .hero-actions .btn,.trust-row>*{width:100%}
  .btn{justify-content:center}
  .ig-order-actions,.quick-order-dialog .dialog-actions{flex-direction:column}
  .ig-order-actions .btn,.quick-order-dialog .dialog-actions .btn{width:100%;justify-content:center}
  .board-frame{min-width:128px!important}
  html[data-page="studio"] .studio-hub{padding-inline:12px!important}
  #hubHeroTitle{font-size:clamp(26px,8vw,34px)}
}

/* Safe areas (iOS) */
@supports(padding:max(0px,env(safe-area-inset-bottom))){
  html[data-page="admin"].admin-authenticated .admin-main{
    padding-bottom:max(24px,env(safe-area-inset-bottom))!important;
  }
  .studio-hub{padding-bottom:max(36px,env(safe-area-inset-bottom))!important}
  .order-submit-bar{bottom:max(8px,env(safe-area-inset-bottom))}
  .admin-detail-actions{padding-bottom:max(11px,env(safe-area-inset-bottom))!important}
  .studio-hub-bar{padding-top:max(10px,env(safe-area-inset-top))}
}

/* ========== HOME + STUDIO INTEL v26 ========== */
.hero-v26{min-height:min(690px,100dvh)}
.hero-v26 .hero-copy>p{max-width:38ch}
.trust-row-v26{gap:18px;flex-wrap:wrap}
.trust-row-v26 div{
  min-width:92px;padding:12px 14px;border-radius:16px;
  background:rgba(23,63,63,.05);border:1px solid rgba(23,63,63,.08);
}
.trust-row-v26 strong{font-size:17px}
.home-smart-banner{
  margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:14px 16px;border-radius:18px;background:linear-gradient(120deg,#173f3f,#2a5c55);color:#f4ffe8;
  box-shadow:0 16px 40px rgba(23,63,63,.18);
}
.home-smart-banner b{display:block;font:800 12px Manrope,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#c9ff4a}
.home-smart-banner span{font:600 13px Manrope,sans-serif;color:rgba(255,255,255,.86)}
.home-smart-banner .btn{background:#c9ff4a;color:#132420}
.site-live-status{
  display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;
  font:800 11px Manrope,sans-serif;letter-spacing:.02em;white-space:nowrap;
  background:rgba(23,63,63,.08);color:#173f3f;border:1px solid rgba(23,63,63,.12);
}
.site-live-status[data-tone="ok"]{background:rgba(201,255,74,.18);border-color:rgba(173,220,60,.45);color:#173f3f}
.site-live-status[data-tone="busy"]{background:rgba(90,150,255,.14);border-color:rgba(90,150,255,.3);color:#1d4a8a}
.site-live-status[data-tone="warn"]{background:rgba(255,180,70,.18);border-color:rgba(220,150,40,.35);color:#7a4a00}
.site-live-status.compact{min-width:28px;justify-content:center;padding:6px 8px}
html[data-page="studio"] .studio-menubar-actions .site-live-status{margin-right:4px}
.hub-next-step{
  margin:14px 0 0;padding:14px 16px;border-radius:16px;
  background:linear-gradient(135deg,rgba(201,255,74,.22),rgba(255,255,255,.72));
  border:1px solid rgba(23,63,63,.12);display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;
}
.hub-next-step b{font:800 12px Manrope,sans-serif;color:#173f3f;letter-spacing:.04em;text-transform:uppercase}
.hub-next-step span{flex:1 1 180px;font:600 13px/1.4 Manrope,sans-serif;color:#405248}
.hub-next-step button{
  border:0;border-radius:12px;padding:10px 14px;background:#173f3f;color:#eaffb8;
  font:800 12px Manrope,sans-serif;cursor:pointer;
}
.hub-card-next{
  display:block;margin-top:6px;font:700 11px/1.35 Manrope,sans-serif;font-style:normal;color:#2e756d;
}
html[data-conn="offline"] .site-live-status{animation:pulseOffline 1.4s ease infinite}
@keyframes pulseOffline{50%{opacity:.55}}

@media(max-width:900px){
  .hero-v26{min-height:auto;padding-bottom:48px;gap:28px}
  .hero-v26 .hero-visual{height:min(360px,52vw);order:-1}
  .hero-v26 .sample-card.card-back{opacity:.55;transform:rotate(6deg) translate(18px,22px) scale(.92)}
  .hero-v26 .floating-note{transform:scale(.92);transform-origin:right bottom}
  .trust-row-v26{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .trust-row-v26 div{min-width:0}
  .home-smart-banner{align-items:flex-start}
  .home-smart-banner .btn{width:100%;justify-content:center}
  .hub-next-step{padding:12px}
  .hub-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hub-client-tips{grid-template-columns:1fr!important}
  html[data-page="studio"] .studio-menubar-mobile .site-live-status{display:inline-flex!important}
  /* Keep sync status visible on phone */
  html[data-page="studio"] .draft-status{
    display:block!important;position:sticky;bottom:0;z-index:5;
    margin:8px 0 0!important;padding:8px 10px!important;border-radius:10px!important;
    background:rgba(255,255,255,.92)!important;border:1px solid #d7ddd0;font-size:10px!important;text-align:left!important;
  }
}
@media(max-width:560px){
  .hero-v26 h1{font-size:clamp(34px,10vw,44px)!important;margin:16px 0!important}
  .hero-v26 .hero-copy>p{font-size:15px}
  .hero-v26 .hero-visual{height:280px}
  .hero-v26 .sample-card{width:min(280px,86vw)}
  .studio-hub-bar-actions .site-live-status{order:-1;width:100%;justify-content:center}
  .hub-project-card .hub-project-actions button[data-project-open]{flex:1}
}

/* ========== ADMIN LOGIN SPLIT + PANEL v25 ========== */
html[data-page="admin"]:not(.admin-authenticated){
  background:#0f1c19;
}
html[data-page="admin"]:not(.admin-authenticated) body{
  background:#0f1c19;
  min-height:100dvh;
  margin:0;
}
html[data-page="admin"]:not(.admin-authenticated) #siteNav,
html[data-page="admin"]:not(.admin-authenticated) footer{
  display:none!important;
}
html[data-page="admin"]:not(.admin-authenticated) main,
html[data-page="admin"]:not(.admin-authenticated) .admin-section{
  min-height:100dvh!important;
  min-height:100vh!important;
  height:100dvh!important;
  width:100%!important;
  max-width:none!important;
  display:block!important;
  place-items:unset!important;
  padding:0!important;
  margin:0!important;
  background:#0f1c19!important;
}
#adminLoginCard.admin-login-split,
.admin-login-split{
  width:100%!important;
  max-width:none!important;
  min-width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(360px,42vw) minmax(0,1fr)!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  animation:none!important;
}
.admin-login-pane{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  padding:clamp(28px,5vw,48px) clamp(22px,4vw,56px);
  height:100%;
  min-height:100%;
  background:
    radial-gradient(520px 280px at 0% 0%, rgba(201,255,74,.08), transparent 60%),
    linear-gradient(180deg,#132420 0%,#0f1c19 100%);
  color:#e8efea;
  border-right:1px solid rgba(255,255,255,.06);
}
.admin-login-pane .admin-login-brand{
  border-bottom-color:rgba(255,255,255,.08)!important;
  padding-bottom:16px!important;
}
.admin-login-pane .admin-login-brand b{color:#fff!important;font-size:18px!important}
.admin-login-pane .admin-login-brand b span{
  color:#0f1c19!important;background:#c9ff4a!important;padding:1px 7px;border-radius:7px;
}
.admin-login-pane .admin-login-brand small{color:#8ea49d!important}
.admin-login-pane .admin-login-hero h3{
  color:#fff!important;font:800 clamp(28px,4vw,36px)/1.12 Manrope,sans-serif!important;margin:0!important;
}
.admin-login-pane .admin-login-hero p{
  color:#9aaca5!important;font:600 14px/1.5 Manrope,sans-serif!important;margin:8px 0 0!important;max-width:34ch;
}
.admin-login-pane .admin-login-field>span{color:#8ea49d!important}
.admin-login-pane .admin-login-v2 input:not([type=checkbox]){
  background:#0a1412!important;
  border:1px solid rgba(255,255,255,.1)!important;
  color:#f2f7f4!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.admin-login-pane .admin-login-v2 input:not([type=checkbox])::placeholder{color:#667872}
.admin-login-pane .admin-login-v2 input:not([type=checkbox]):focus{
  border-color:#c9ff4a!important;
  box-shadow:0 0 0 3px rgba(201,255,74,.18)!important;
}
.admin-login-pane .admin-toggle-pin{
  background:#1a2e2a!important;color:#c9ff4a!important;border:1px solid rgba(201,255,74,.25)!important;
}
.admin-login-pane .admin-login-remember{color:#9aaca5!important}
.admin-login-pane .admin-login-remember .admin-check{
  background:#0a1412;border-color:rgba(255,255,255,.18);
}
.admin-login-pane .admin-login-remember input:checked + .admin-check{
  background:#c9ff4a!important;border-color:#c9ff4a!important;
}
.admin-login-pane .admin-login-remember input:checked + .admin-check:after{border-color:#0f1c19}
.admin-login-pane .admin-login-submit{
  background:#c9ff4a!important;color:#0f1c19!important;
  box-shadow:0 14px 34px rgba(201,255,74,.22)!important;
  min-height:54px!important;font-size:15px!important;
}
.admin-login-pane .admin-login-submit:hover{
  background:#d8ff70!important;transform:translateY(-1px);
  box-shadow:0 18px 40px rgba(201,255,74,.3)!important;
}
.admin-login-pane .admin-login-submit span{opacity:.55;color:#0f1c19}
.admin-login-pane .admin-login-meta{
  border-top-color:rgba(255,255,255,.08)!important;
}
.admin-login-pane .admin-login-meta small{color:#718b83!important}
.admin-login-pane .admin-login-meta a{color:#c9ff4a!important}
.admin-login-pane .admin-login-alert{
  background:rgba(201,255,74,.12)!important;border-color:rgba(201,255,74,.28)!important;color:#eaffb8!important;
}
.admin-login-pane .admin-login-alert:not([data-tone="ok"]){
  background:rgba(255,100,90,.12)!important;border-color:rgba(255,140,130,.3)!important;color:#ffc4be!important;
}
.admin-login-showcase{
  position:relative;
  display:grid;
  place-items:center;
  padding:clamp(32px,6vw,64px);
  background:
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.16), transparent 42%),
    linear-gradient(145deg,#1a4540 0%,#173f3f 42%,#c9ff4a 160%);
  overflow:hidden;
}
.admin-login-showcase:before{
  content:"";
  position:absolute;inset:-20%;
  background:
    repeating-linear-gradient(-18deg, transparent 0 48px, rgba(255,255,255,.05) 48px 49px),
    repeating-linear-gradient(72deg, transparent 0 72px, rgba(15,28,25,.08) 72px 73px);
  opacity:.7;
  pointer-events:none;
}
.admin-login-showcase-inner{
  position:relative;z-index:1;max-width:420px;color:#fff;text-align:center;
}
.admin-login-mark{
  width:72px;height:72px;margin:0 auto 18px;position:relative;display:grid;place-items:center;
  border-radius:22px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);
  box-shadow:0 18px 40px rgba(15,28,25,.2);
}
.admin-login-mark i{
  position:absolute;width:22px;height:34px;border:3px solid #fff;border-radius:999px;transform:rotate(45deg);
}
.admin-login-mark i:last-child{transform:translate(8px,3px) rotate(45deg);border-color:#c9ff4a}
.admin-login-showcase-inner h4{
  margin:0;font:900 clamp(28px,4vw,40px)/1.05 Manrope,sans-serif;letter-spacing:-.03em;
}
.admin-login-showcase-inner>p{
  margin:12px auto 0;max-width:34ch;font:600 15px/1.5 Manrope,sans-serif;color:rgba(255,255,255,.86);
}
.admin-login-showcase-grid{
  list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:10px;text-align:left;
}
.admin-login-showcase-grid li{
  display:grid;gap:2px;padding:14px 16px;border-radius:16px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);
}
.admin-login-showcase-grid b{font:800 13px Manrope;color:#fff}
.admin-login-showcase-grid span{font:600 12px Manrope;color:rgba(255,255,255,.78)}

/* Authenticated admin polish */
html[data-page="admin"].admin-authenticated .admin-main{
  background:
    radial-gradient(900px 420px at 100% -10%, rgba(201,255,74,.08), transparent 55%),
    #eef2ed !important;
}
html[data-page="admin"].admin-authenticated .admin-head b{
  letter-spacing:-.04em!important;
}
.admin-board .empty-state{
  padding:28px 20px!important;border-radius:18px!important;border:1px dashed #c9d5cc!important;
  background:#f7faf6!important;color:#5f6d68!important;text-align:center!important;font:600 13px Manrope!important;
}
.admin-sidebar-nav button.active span{font-weight:900!important}
.settings-discord-flags{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
}
.settings-discord-flags .settings-toggle{margin:0;min-height:52px;align-items:flex-start}
.settings-discord-card .settings-lead{max-width:52ch}
html[data-page="admin"].admin-authenticated .admin-board{
  animation:adminBoardIn .28s ease both;
}
@keyframes adminBoardIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
html[data-page="admin"].admin-authenticated .admin-order-card,
html[data-page="admin"].admin-authenticated .client-card,
html[data-page="admin"].admin-authenticated .review-card,
html[data-page="admin"].admin-authenticated .admin-settings-card{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
html[data-page="admin"].admin-authenticated .admin-order-card:hover,
html[data-page="admin"].admin-authenticated .client-card:hover,
html[data-page="admin"].admin-authenticated .review-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(23,63,63,.1);
  border-color:#c7d7c8;
}
html[data-page="admin"].admin-authenticated .admin-pill.ok{
  background:rgba(201,255,74,.22)!important;color:#173f3f!important;
}
html[data-page="admin"].admin-authenticated .admin-pill.warn{
  background:rgba(255,196,90,.2)!important;color:#7a4d00!important;
}

@media(max-width:900px){
  html[data-page="admin"]:not(.admin-authenticated) .admin-section,
  html[data-page="admin"]:not(.admin-authenticated) main{
    height:auto!important;min-height:100dvh!important;
  }
  #adminLoginCard.admin-login-split,
  .admin-login-split{
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:100dvh!important;
    width:100%!important;
    overflow:auto!important;
  }
  .admin-login-showcase{display:none!important}
  .admin-login-pane{min-height:100dvh;padding:28px 20px 40px;display:grid;align-content:center}
  .settings-discord-flags{grid-template-columns:1fr}
}
@media(max-width:560px){
  .admin-login-pane{padding:22px 16px 32px}
  .admin-login-pane .admin-login-hero h3{font-size:28px!important}
}

/* ========== ADMIN SUIVI + DIALOG FULL v30 ========== */
.admin-detail-dialog,
.admin-detail-dialog[open]{
  width:min(1120px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:min(90dvh,860px)!important;
}
.od-shell{padding:20px 22px 24px!important}
.od-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px
}
.od-card-head h3{margin:0;font:800 16px Manrope,sans-serif;color:#173f3f}
.od-card-head span{font:700 12px Manrope,sans-serif;color:#5f6d68;white-space:nowrap}
.od-grid-overview{
  display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;gap:16px!important;align-items:start
}
.od-suivi-card,.od-actions-card{
  padding:18px!important;border-radius:18px!important;background:#fff!important;border:1px solid #dde4dc!important
}
.suivi-smart{
  display:grid;gap:16px;margin:0;
}
.suivi-smart-now{
  padding:18px;border-radius:16px;
  background:linear-gradient(145deg,#173f3f 0%,#1f4d4a 55%,#245550 100%);
  color:#f4ffe8;
}
.suivi-smart-now-top{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px
}
.suivi-smart-now small{
  display:block;font:800 10px Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c9ff4a;
}
.suivi-smart-now em{
  font:800 11px Manrope,sans-serif;font-style:normal;color:#173f3f;background:#c9ff4a;
  border-radius:999px;padding:4px 9px
}
.suivi-smart-now b{
  display:block;margin:0 0 8px;font:900 clamp(22px,2.4vw,28px)/1.1 Manrope,sans-serif;letter-spacing:-.03em;
}
.suivi-smart-now p{
  margin:0;font:600 13px/1.45 Manrope,sans-serif;color:rgba(255,255,255,.84);max-width:42ch;
}
.suivi-smart-meter{
  margin-top:14px;height:8px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;
}
.suivi-smart-meter i{
  display:block;height:100%;border-radius:inherit;background:#c9ff4a;
}
.suivi-smart-rail{
  list-style:none;margin:0;padding:12px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;
  border:1px solid #e2e8df;border-radius:14px;background:#f7f9f5
}
.suivi-smart-rail li{
  display:grid;gap:8px;justify-items:center;text-align:center;
  font:700 11px/1.25 Manrope,sans-serif;color:#7a8781;min-width:0
}
.suivi-step-dot{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:#e4eae2;color:#5f6d68;font:800 11px Manrope,sans-serif;border:2px solid transparent
}
.suivi-step-label{
  display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:700 10px/1.2 Manrope,sans-serif;color:#6a766f
}
.suivi-smart-rail .is-done .suivi-step-dot{background:#173f3f;color:#c9ff4a}
.suivi-smart-rail .is-done .suivi-step-label{color:#405248}
.suivi-smart-rail .is-current .suivi-step-dot{
  background:#c9ff4a;color:#173f3f;border-color:#173f3f;box-shadow:0 0 0 3px rgba(201,255,74,.28)
}
.suivi-smart-rail .is-current .suivi-step-label{color:#173f3f;font-weight:900}
.suivi-smart-rail .is-muted .suivi-step-dot{opacity:.55}
.suivi-smart-controls{
  display:grid;grid-template-columns:1fr 1fr;gap:10px
}
.suivi-smart-field{display:grid;gap:7px}
.suivi-smart-field>span{
  font:800 11px Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5f6d68;
}
.suivi-smart-field select{
  width:100%;min-height:46px;border:1px solid #d2d8ce;border-radius:12px;
  padding:10px 12px;background:#fff;font:700 14px Manrope,sans-serif;color:#16201e;
}
.suivi-smart-actions{display:flex;flex-wrap:wrap;gap:8px}
.suivi-smart-next{
  flex:1 1 100%;min-height:48px;border:0;border-radius:12px;padding:12px 16px;
  background:#c9ff4a;color:#132420;font:800 14px Manrope,sans-serif;cursor:pointer;
}
.suivi-smart-next:hover{background:#d8ff70}
.suivi-smart-quiet{
  flex:1 1 120px;min-height:44px;border:1px solid #d2d8ce;border-radius:12px;padding:10px 14px;
  background:#fff;color:#173f3f;font:800 12px Manrope,sans-serif;cursor:pointer;
}
.suivi-smart-quiet.danger{border-color:#efc4bc;color:#8c3024}
.od-actions-stack{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.od-actions-stack>*{width:100%!important;justify-content:center}
.od-summary-block{margin-top:16px;padding-top:14px;border-top:1px solid #e6ebe3}
.od-summary-block>small{
  display:block;margin-bottom:8px;font:800 10px Manrope,sans-serif;letter-spacing:.1em;color:#5f6d68
}
.od-holder-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:160px;overflow:auto}
.od-holder-list li{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:8px 10px;border-radius:10px;background:#f6f8f4;font:700 12px Manrope,sans-serif;color:#24332e
}
.od-holder-list b{white-space:nowrap;color:#173f3f}
.od-holder-list .od-more{justify-content:center;color:#6a766f;background:transparent}
.order-timeline.compact{margin-top:0;max-height:120px;overflow:auto}
@media(max-width:900px){
  .od-grid-overview{grid-template-columns:1fr!important}
  .suivi-smart-controls{grid-template-columns:1fr}
}
@media(max-width:720px){
  .suivi-smart-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .suivi-step-label{white-space:normal;font-size:9px}
  .admin-detail-dialog,.admin-detail-dialog[open]{
    width:100vw!important;max-width:100vw!important;max-height:96dvh!important;
    margin:auto 0 0!important;border-radius:18px 18px 0 0!important;
  }
}
@media(max-width:1100px){
  .suivi-smart-rail li .suivi-step-label{font-size:9px}
}

/* ========== SETTINGS TABS + FIXED MODALS v29 ========== */
.site-maintenance-banner{
  position:sticky;top:0;z-index:1200;padding:10px 16px;text-align:center;
  background:#173f3f;color:#f4ffe8;font:700 13px/1.4 Manrope,sans-serif;
  border-bottom:2px solid #c9ff4a
}
.site-maintenance-banner[hidden]{display:none!important}

html.dialog-open,html.dialog-open body{
  overflow:hidden!important;
  overscroll-behavior:none
}
html.dialog-open body{touch-action:none}
html.dialog-open dialog,
html.dialog-open dialog *{touch-action:manipulation}

dialog{
  position:fixed!important;
  inset:auto!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  max-width:calc(100vw - 24px)!important;
  max-height:min(92dvh,920px)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
  z-index:7000!important;
  box-sizing:border-box
}
dialog::backdrop{
  position:fixed!important;
  inset:0!important;
  background:rgba(10,24,20,.58)!important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px)
}
dialog[open]{
  display:block!important
}

.ig-order-dialog,
.quick-order-dialog,
.pool-explain-dialog,
.design-link-dialog,
.client-editor-dialog,
.export-dialog,
.invoice-dialog,
.brand-pack-dialog,
.studio-guide-dialog,
.studio-visitor-dialog,
.project-name-dialog,
.admin-tools-dialog,
.reset-studio-dialog,
.admin-detail-dialog,
.model-profile-dialog,
#importModelPackDialog,
#batDialog,
#resetStudioDialog{
  position:fixed!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  max-height:min(90dvh,900px)!important;
  overflow:auto!important;
  z-index:7200!important
}

.admin-detail-dialog,
.admin-detail-dialog[open]{
  position:fixed!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important
}

@media(max-width:720px){
  dialog,
  .ig-order-dialog,
  .quick-order-dialog,
  .pool-explain-dialog,
  .design-link-dialog,
  .client-editor-dialog,
  .export-dialog,
  .invoice-dialog,
  .brand-pack-dialog,
  .studio-guide-dialog,
  .studio-visitor-dialog,
  .project-name-dialog,
  .admin-tools-dialog,
  .reset-studio-dialog,
  .admin-detail-dialog,
  .admin-detail-dialog[open],
  .model-profile-dialog,
  #importModelPackDialog,
  #batDialog{
    top:auto!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    max-width:100vw!important;
    max-height:min(92dvh,100%)!important;
    transform:none!important;
    margin:0!important;
    border-radius:20px 20px 0 0!important;
    padding-bottom:max(16px,env(safe-area-inset-bottom))!important
  }
}

/* Demandes rapides ? fiche stale + sync */
.board-frame.is-stale{border-color:#d96b5c}
.board-frame-client{
  appearance:none;border:1px solid #d7dbd1;background:#f4f6ef;color:#173f3f;
  border-radius:8px;padding:4px 8px;font:inherit;font-size:11px;font-weight:700;cursor:pointer
}
.board-frame-client.is-stale,
.board-frame-client.is-stale:hover{
  border-color:#c0392b;background:#fdecea;color:#8b1e12
}
.frame-ctx-menu button.warn{color:#8b1e12;font-weight:700}
.frame-client-dialog{
  width:min(520px,94vw);border:0;border-radius:18px;padding:0;background:#fff;
  box-shadow:0 24px 60px rgba(23,63,63,.28)
}
.frame-client-dialog::backdrop{background:rgba(16,28,26,.45)}
.frame-client-dialog form{display:grid;gap:0}
.frame-client-dialog header,
.frame-client-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px}
.frame-client-dialog header{border-bottom:1px solid #e6e9e0}
.frame-client-dialog footer{border-top:1px solid #e6e9e0}
.frame-client-dialog header small{display:block;color:#6c746f;font-weight:800;letter-spacing:.04em}
.frame-client-dialog header h2{margin:2px 0 0;font-size:1.15rem;color:#173f3f}
.frame-client-dialog section{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px}
.frame-client-dialog section .wide{grid-column:1/-1}
.frame-client-dialog section small{display:block;color:#6c746f;font-size:11px;font-weight:700}
.frame-client-dialog section b{display:block;margin-top:2px;color:#16201e;font-weight:700;word-break:break-word}
.frame-client-dialog form.is-stale header small{color:#8b1e12}
.frame-client-dialog .stale-explanation,
.frame-client-dialog .status-explanation{padding:12px 14px;border-radius:12px}
.frame-client-dialog .stale-explanation{background:#fff4f1;border:1px solid #efb3a9;color:#63251d}
.frame-client-dialog .status-explanation{background:#eff8f3;border:1px solid #b9dac9;color:#214d3d}
.frame-client-dialog .stale-explanation strong,
.frame-client-dialog .status-explanation strong{display:block;font-size:13px}
.frame-client-dialog .stale-explanation p,
.frame-client-dialog .status-explanation p{margin:5px 0 0;font-size:11px;line-height:1.5}
.frame-client-dialog .stale-explanation p b{display:inline;color:inherit}
.frame-client-dialog .stale-box{padding:10px 12px;border-radius:12px;background:#fdecea;border:1px solid #f0b3aa}
.frame-client-dialog footer .sync{
  appearance:none;border:0;border-radius:10px;padding:10px 14px;background:#c0392b;color:#fff;font:inherit;font-weight:800;cursor:pointer
}
/* Fiche client d'une demande rapide : photo telechargeable a gauche,
   titulaire / carte / commande a droite. */
dialog.client-record-dialog{
  width:min(940px,96vw);max-height:min(92dvh,900px);overflow:hidden
}
.client-record-dialog form{grid-template-rows:auto minmax(0,1fr) auto;max-height:min(92dvh,900px)}
.client-record-dialog .fc-body{
  display:grid;grid-template-columns:236px minmax(0,1fr);gap:16px;
  padding:14px 16px;min-height:0;overflow:auto;overscroll-behavior:contain
}
.client-record-dialog .fc-photo{display:grid;align-content:start;gap:8px;min-width:0}
.client-record-dialog .fc-photo>small{color:#6c746f;font-size:10px;font-weight:800;letter-spacing:.1em}
.client-record-dialog .fc-photo-frame{
  position:relative;display:grid;place-items:center;overflow:hidden;
  aspect-ratio:3/4;border:1px solid #e0e5dc;border-radius:12px;background:#fff
}
.client-record-dialog .fc-photo-frame.is-rounded{border-radius:16px}
.client-record-dialog .fc-photo-frame img{width:100%;height:100%;object-fit:cover}
.client-record-dialog .fc-photo-empty{padding:12px;color:#8a938d;font-size:11px;text-align:center}
.client-record-dialog .fc-photo-meta{margin:0;color:#5d6a63;font-size:10.5px;font-weight:700}
.client-record-dialog .fc-photo-actions{display:grid;gap:6px}
.client-record-dialog .fc-photo-actions a,
.client-record-dialog .fc-photo-actions button{
  appearance:none;display:block;padding:8px 10px;border:1px solid #d7dbd1;border-radius:10px;
  background:#fff;color:#173f3f;font:inherit;font-size:11px;font-weight:800;
  text-align:center;text-decoration:none;cursor:pointer
}
.client-record-dialog .fc-photo-actions a.primary{background:#173f3f;border-color:#173f3f;color:#c9ff4a}
.client-record-dialog .fc-photo-actions a:hover,
.client-record-dialog .fc-photo-actions button:hover{border-color:#173f3f}
.client-record-dialog .fc-photo-hint{margin:0;color:#7b857f;font-size:10px;line-height:1.45}
.client-record-dialog .fc-main{display:grid;align-content:start;gap:12px;min-width:0}
.client-record-dialog .fc-block{
  display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:0
}
.client-record-dialog .fc-block h3{
  margin:0;color:#173f3f;font:800 11px Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase
}
.client-record-dialog .fc-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:9px 14px
}
.client-record-dialog .fc-grid .wide{grid-column:1/-1}
.client-record-dialog .fc-grid small{display:block;color:#6c746f;font-size:10px;font-weight:700}
.client-record-dialog .fc-grid b{display:block;margin-top:1px;color:#16201e;font-size:12.5px;font-weight:700;word-break:break-word}
.client-record-dialog .fc-colors{display:flex!important;align-items:center;gap:6px}
.client-record-dialog .fc-colors i{width:14px;height:14px;border-radius:4px;border:1px solid rgba(23,63,63,.18);flex:0 0 auto}
.client-record-dialog .fc-colors span{font-size:10.5px;font-weight:700;color:#6c746f}
.client-record-dialog .fc-message{
  margin:0;padding:10px 12px;border:1px solid #e6e9e0;border-radius:12px;background:#f8faf6;
  color:#2a352f;font-size:12px;line-height:1.5;white-space:pre-line
}
.client-record-dialog .fc-answers{border:1px solid #e6e9e0;border-radius:12px;padding:10px 12px}
.client-record-dialog .fc-answers summary{color:#173f3f;font-size:11px;font-weight:800;cursor:pointer}
.client-record-dialog .fc-answers .fc-grid{margin-top:9px}
.client-record-dialog footer .ghost{
  appearance:none;border:1px solid #d7dbd1;border-radius:10px;padding:9px 12px;
  background:#fff;color:#173f3f;font:inherit;font-weight:800;cursor:pointer
}
.client-record-dialog footer{justify-content:flex-end}
.client-record-dialog footer .sync{margin-right:auto}
@media(max-width:760px){
  .client-record-dialog .fc-body{grid-template-columns:minmax(0,1fr);gap:14px}
  .client-record-dialog .fc-photo-frame{max-width:220px;margin:0 auto;width:100%}
  .client-record-dialog .fc-photo-actions{grid-template-columns:1fr}
}
.frame-client-dialog .archive-list{display:grid;gap:8px}
.frame-client-dialog .archive-row{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 12px;border:1px solid #e6e9e0;border-radius:12px;background:#f7f8f3
}
.frame-client-dialog .archive-row small{display:block;color:#6c746f;margin-top:2px}
.frame-client-dialog .archive-row button{
  appearance:none;border:0;border-radius:10px;padding:8px 12px;background:#173f3f;color:#c9ff4a;font:inherit;font-weight:800;cursor:pointer
}

/* Bloc identit? : ? N?(E) LE / NATIONALIT? ? et ? N? ?TUDIANT / ANN?E ? partagent
   la m?me grille deux colonnes, donc l'ann?e reste align?e sous la nationalit?. */
.live-card .live-content .live-info .student-meta,
.live-card .live-content .live-info .id-row,
.export-card .live-content .live-info .student-meta,
.export-card .live-content .live-info .id-row,
.design-preview-card .live-content .live-info .student-meta,
.design-preview-card .live-content .live-info .id-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:16px!important;
  row-gap:2px!important;
  align-items:start!important;
}
.live-card .live-content .live-info .id-row,
.export-card .live-content .live-info .id-row,
.design-preview-card .live-content .live-info .id-row{
  margin-top:8px!important;
}
.live-card.print-grid-safe .live-content .live-info .student-meta,
.export-card.print-grid-safe .live-content .live-info .student-meta{
  width:calc(100% - 105px);
  max-width:100%;
}

/* Grille identite automatique : ligne 1 ? naissance | nationalite ?,
   ligne 2 ? n? etudiant | annee ?. Les quatre champs ont la meme structure
   que la carte uOttawa : le libelle occupe sa propre ligne, la valeur est
   juste en dessous. Les deux cellules d'une meme rangee partagent les pistes
   de la grille (subgrid), donc libelles et valeurs restent alignes meme quand
   un libelle bilingue passe sur deux lignes. */
:is(.live-card,.export-card,.design-preview-card) .live-info :is(.student-meta,.id-row){
  align-content:start!important;
  justify-items:stretch!important;
  margin-top:10px!important;
  font-size:9.5px!important;
  line-height:1.15!important;
  letter-spacing:.07em;
}
:is(.live-card,.export-card,.design-preview-card) .live-info :is(.student-meta,.id-row)>span{
  display:grid!important;
  grid-row:span 2!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:subgrid;
  align-content:start!important;
  min-width:0;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
  hyphens:none!important;
}
/* Libelle : toujours seul sur sa ligne, sur deux lignes au maximum pour que
   les deux rangees gardent une hauteur previsible. */
:is(.live-card,.export-card,.design-preview-card) .live-info :is(.student-meta,.id-row)>span>span{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  grid-row:1!important;
  margin:0!important;
}
/* Valeur : toujours sous son libelle et jamais coupee en deux morceaux. */
:is(.live-card,.export-card,.design-preview-card) .live-info :is(.student-meta,.id-row)>span>b{
  display:block!important;
  grid-row:2!important;
  align-self:start!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.1!important;
  letter-spacing:.02em;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
/* Seule la nationalite peut passer a la ligne : elle est faite de mots. Une
   date, un numero etudiant ou une annee restent toujours d'un seul bloc. */
:is(.live-card,.export-card,.design-preview-card) .live-info .student-meta>span[data-layer="nationality"]>b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
/* Sans subgrid, la zone du libelle reserve deux lignes pour que les valeurs
   des deux colonnes restent alignees. */
@supports not (grid-template-rows:subgrid){
  :is(.live-card,.export-card,.design-preview-card) .live-info :is(.student-meta,.id-row)>span>span{
    min-height:2.4em;
  }
}
/* Meme geometrie sous la grille d'impression, qui est plus specifique. La zone
   reserve la place du QR quand le bloc identite est large, mais garde au moins
   300 px quand il est etroit : un libelle bilingue tient alors sur une ou deux
   lignes au lieu de trois. */
:is(.live-card,.export-card).print-grid-safe .live-content .live-info :is(.student-meta,.id-row){
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:2px!important;
  width:min(100%,max(100% - 105px,300px))!important;
  max-width:100%!important;
  font-size:9.5px!important;
  line-height:1.15!important;
}
:is(.live-card,.export-card).print-grid-safe .live-content .live-info .id-row{
  margin-top:8px!important;
}
/* Paliers automatiques quand le contenu est exceptionnellement long : la grille
   se resserre (compact) puis reduit ses libelles (dense) au lieu de mordre sur
   la signature ou le QR. Pilote par fitIdentityBlock(). */
:is(.live-card,.export-card,.design-preview-card)[data-identity-fit] .live-content .live-info :is(.student-meta,.id-row){
  margin-top:6px!important;
  row-gap:1px!important;
  line-height:1.05!important;
}
:is(.live-card,.export-card,.design-preview-card)[data-identity-fit] .live-content .live-info .id-row{
  margin-top:5px!important;
}
:is(.live-card,.export-card,.design-preview-card)[data-identity-fit] .live-content .live-info :is(.student-meta,.id-row)>span>b{
  line-height:1!important;
}
:is(.live-card,.export-card,.design-preview-card)[data-identity-fit="dense"] .live-content .live-info :is(.student-meta,.id-row){
  font-size:8.6px!important;
}
:is(.live-card,.export-card,.design-preview-card)[data-identity-fit="dense"] .live-content .live-info :is(.student-meta,.id-row)>span>b{
  font-size:11px!important;
}
/* La nationalite garde ses deux lignes : c'est la taille qui cede, pas le texte. */
:is(.live-card,.export-card,.design-preview-card)[data-identity-fit="dense"] .live-content .live-info .student-meta>span[data-layer="nationality"]>b{
  font-size:10.6px!important;
}
/* Un reglage manuel herite ne doit plus decaler une cellule de la grille. */
:is(.live-card,.export-card,.design-preview-card) .live-info :is(.student-meta,.id-row)>span[data-layer]{
  position:static!important;
  margin:0!important;
}

/* ===========================================================================
   Galerie des modeles - grande modale de choix de style (apercus reels).
   =========================================================================== */
.design-gallery-open{
  display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;
  width:100%;margin:0 0 9px;padding:9px 11px;border:1px solid #cbd8cd;border-radius:12px;
  background:linear-gradient(150deg,#f2f8ec,#ffffff);text-align:left;cursor:pointer
}
.design-gallery-open:hover{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}
.design-gallery-open>i{
  display:grid;place-items:center;width:34px;height:34px;border-radius:10px;
  background:var(--ink);color:var(--lime);font-style:normal;font-size:15px;font-weight:800
}
.design-gallery-open-copy{min-width:0}
.design-gallery-open-copy b,.design-gallery-open-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.design-gallery-open-copy b{font-size:11px}
.design-gallery-open-copy small{margin-top:2px;font-size:9px;color:var(--muted)}
.design-gallery-dialog{
  width:min(1320px,calc(100vw - 20px));max-height:min(94dvh,1010px);
  padding:0;border:0;border-radius:20px;background:#fff;color:var(--ink);
  box-shadow:0 30px 90px rgba(10,24,21,.34);overflow:hidden;
  --dg-card:300px
}
dialog.design-gallery-dialog[open]{display:grid!important;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto}
.design-gallery-dialog::backdrop{background:rgba(12,24,21,.62);backdrop-filter:blur(4px)}
.design-gallery-dialog .dg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 62px 10px 20px}
.design-gallery-dialog .dg-head small{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;color:#4c796e}
.design-gallery-dialog .dg-head b{display:block;margin-top:3px;font:800 20px Manrope,sans-serif}
.dg-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end;padding:0 20px 10px}
.dg-search{display:flex;gap:8px;min-width:0}
.dg-search input{
  flex:1;min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff;
  padding:11px 13px;font:750 13px Manrope,sans-serif;outline:0
}
.dg-search input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,63,63,.12)}
.dg-search button{
  flex:0 0 auto;border:0;border-radius:11px;background:var(--ink);color:#fff;
  padding:11px 16px;font:800 12px Manrope,sans-serif;cursor:pointer
}
.dg-search button:hover{background:var(--forest)}
.dg-select{display:grid;gap:5px;font-size:9px;font-weight:800;color:var(--muted)}
.dg-select select{
  border:1px solid var(--line);border-radius:11px;background:#fff;
  padding:10px 11px;font:750 12px Manrope,sans-serif;cursor:pointer
}
.dg-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 8px}
.dg-chips button{
  display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;
  background:#fff;padding:7px 11px;font:800 11px Manrope,sans-serif;color:var(--ink);cursor:pointer
}
.dg-chips button i{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(20,32,30,.18)}
.dg-chips button em{font-style:normal;font-size:9px;font-weight:800;color:var(--muted)}
.dg-chips button:hover{border-color:var(--forest)}
.dg-chips button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.dg-chips button.active em{color:var(--lime)}
.dg-chips-design{max-height:88px;overflow:auto;padding-bottom:10px}
.dg-chips-design button{font-size:10px;padding:6px 10px}
.dg-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 20px 10px}
.dg-status span{font-size:11px;font-weight:800;color:#40615a}
.dg-status button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 11px;font:800 10px Manrope,sans-serif;cursor:pointer}
.dg-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--dg-card),1fr));
  gap:14px;padding:2px 20px 16px;overflow:auto;align-content:start
}
.dg-group{
  grid-column:1/-1;display:flex;align-items:center;gap:9px;
  margin:6px 0 0;padding:8px 11px;border-radius:11px;background:#f2f5f0;
  font:800 12px Manrope,sans-serif
}
.dg-group i{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(20,32,30,.16)}
.dg-group em{margin-left:auto;font-style:normal;font-size:10px;font-weight:800;color:var(--muted)}
.dg-card{
  display:grid;gap:9px;padding:10px;border:1px solid var(--line);border-radius:15px;
  background:#fff;text-align:left;cursor:pointer;transition:.16s ease
}
.dg-card:hover{border-color:var(--forest);box-shadow:0 12px 26px rgba(20,32,30,.13);transform:translateY(-2px)}
.dg-card.active{border-color:var(--forest);box-shadow:0 0 0 2px var(--forest)}
.dg-card .dg-viewport{width:100%;border-radius:11px;box-shadow:0 4px 14px rgba(21,34,31,.14)}
.dg-card-copy{display:grid;gap:3px;min-width:0}
.dg-card-copy b{font-size:13px;line-height:1.2}
.dg-card-copy small{font-size:10px;color:var(--muted)}
.dg-card-foot{display:flex;align-items:center;gap:7px}
.dg-card-foot i{width:15px;height:15px;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(20,32,30,.16)}
.dg-card-foot span{margin-left:auto;padding:4px 8px;border-radius:99px;background:#eef2ea;font-size:9px;font-weight:800;color:#42655c}
.dg-card.active .dg-card-foot span,.dg-card-foot span.dg-card-new{background:var(--lime)!important;color:var(--ink)!important}
.dg-empty{margin:0;padding:22px 20px 26px;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
.dg-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 20px 16px;border-top:1px solid var(--line);background:#fbfbf8}
.dg-foot small{font-size:10px;line-height:1.45;color:var(--muted)}
.dg-foot button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 14px;font:800 11px Manrope,sans-serif;cursor:pointer}
@media(max-width:900px){
  .design-gallery-dialog{width:calc(100vw - 12px);max-height:96dvh;border-radius:16px;--dg-card:240px}
  .design-gallery-dialog .dg-head{padding:14px 56px 8px 14px}
  .design-gallery-dialog .dg-head b{font-size:17px}
  .dg-toolbar{grid-template-columns:minmax(0,1fr);padding:0 14px 8px}
  .dg-chips,.dg-status,.dg-grid{padding-inline:14px}
  .dg-grid{gap:11px}
  .dg-foot{flex-direction:column;align-items:stretch;gap:9px;padding:10px 14px 14px}
  .dg-foot button{width:100%}
}
@media(max-width:560px){
  .design-gallery-dialog{--dg-card:100%}
}

/* ===========================================================================
   Peaux de cartes 2026 - meme grammaire visuelle que les modeles d'origine :
   fond clair, decor confine aux angles et aux marges, aucun motif ni filet
   derriere le bloc identite. Geometrie du recto (repere 650 x 410) :
     logo      38,38  -> 78,78        titre     490,44 -> 612,73
     photo     38,126 -> 183,296      identite  213,130 -> 612,292
     signature 38,330 -> 258,382      QR        541,311 -> 612,382
   Le decor n'entre jamais dans 38,96 -> 612,300, sauf derriere une pastille ou
   un cartouche opaque. Aucun clip-path : html2canvas ne le rasterise pas, le
   decor doit donc etre construit avec des degrades et des rayons.
   =========================================================================== */

:is(.live-card,.export-card,.design-preview-card):is([data-template="arch"],[data-template="diagonal"],[data-template="passport"],[data-template="stub"],[data-template="mono"],[data-template="grid"],[data-template="halo"],[data-template="stack"],[data-template="frame"],[data-template="corner"],[data-template="spotlight"],[data-template="serif"],[data-template="slate"],[data-template="stripe"],[data-template="metro"],[data-template="badge"],[data-template="dots"],[data-template="sunrise"],[data-template="club"],[data-template="night"],[data-template="atelier"]) .front-side{overflow:hidden}
:is(.live-card,.export-card,.design-preview-card):is([data-template="arch"],[data-template="diagonal"],[data-template="passport"],[data-template="stub"],[data-template="mono"],[data-template="grid"],[data-template="halo"],[data-template="stack"],[data-template="frame"],[data-template="corner"],[data-template="spotlight"],[data-template="serif"],[data-template="slate"],[data-template="stripe"],[data-template="metro"],[data-template="badge"],[data-template="dots"],[data-template="sunrise"],[data-template="club"],[data-template="night"],[data-template="atelier"]) .shape-a,
:is(.live-card,.export-card,.design-preview-card):is([data-template="arch"],[data-template="diagonal"],[data-template="passport"],[data-template="stub"],[data-template="mono"],[data-template="grid"],[data-template="halo"],[data-template="stack"],[data-template="frame"],[data-template="corner"],[data-template="spotlight"],[data-template="serif"],[data-template="slate"],[data-template="stripe"],[data-template="metro"],[data-template="badge"],[data-template="dots"],[data-template="sunrise"],[data-template="club"],[data-template="night"],[data-template="atelier"]) .shape-b{display:none}
/* Les deux formes generiques restent editables dans le mode calques. */
.live-card.layout-editing :is(.shape-a,.shape-b),
.live-card :is(.shape-a,.shape-b).layer-fill{display:block}
:is(.live-card,.export-card,.design-preview-card):is([data-template="arch"],[data-template="diagonal"],[data-template="passport"],[data-template="stub"],[data-template="mono"],[data-template="grid"],[data-template="halo"],[data-template="stack"],[data-template="frame"],[data-template="corner"],[data-template="spotlight"],[data-template="serif"],[data-template="slate"],[data-template="stripe"],[data-template="metro"],[data-template="badge"],[data-template="dots"],[data-template="sunrise"],[data-template="club"],[data-template="night"],[data-template="atelier"]) .live-header,
:is(.live-card,.export-card,.design-preview-card):is([data-template="arch"],[data-template="diagonal"],[data-template="passport"],[data-template="stub"],[data-template="mono"],[data-template="grid"],[data-template="halo"],[data-template="stack"],[data-template="frame"],[data-template="corner"],[data-template="spotlight"],[data-template="serif"],[data-template="slate"],[data-template="stripe"],[data-template="metro"],[data-template="badge"],[data-template="dots"],[data-template="sunrise"],[data-template="club"],[data-template="night"],[data-template="atelier"]) .live-content{position:relative;z-index:2}
:is(.live-card,.export-card,.design-preview-card):is([data-template="arch"],[data-template="diagonal"],[data-template="passport"],[data-template="stub"],[data-template="mono"],[data-template="grid"],[data-template="halo"],[data-template="stack"],[data-template="frame"],[data-template="corner"],[data-template="spotlight"],[data-template="serif"],[data-template="slate"],[data-template="stripe"],[data-template="metro"],[data-template="badge"],[data-template="dots"],[data-template="sunrise"],[data-template="club"],[data-template="night"],[data-template="atelier"]) .live-footer{z-index:2}

:is(.live-card,.export-card,.design-preview-card)[data-template="arch"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="arch"] .front-side:before{content:"";position:absolute;left:24px;top:110px;width:173px;height:202px;border-radius:98px 98px 26px 26px;background:var(--accent);opacity:.3}
:is(.live-card,.export-card,.design-preview-card)[data-template="arch"] .front-side:after{content:"";position:absolute;right:-64px;top:-104px;width:230px;height:230px;border-radius:50%;background:var(--accent);opacity:.26}
:is(.live-card,.export-card,.design-preview-card)[data-template="arch"] .live-photo{box-shadow:0 0 0 5px #fff,0 10px 24px rgba(20,32,30,.14)}
:is(.live-card,.export-card,.design-preview-card)[data-template="arch"] .live-info h3{color:var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="arch"] .live-header>b{background:var(--primary);color:#fff}

:is(.live-card,.export-card,.design-preview-card)[data-template="diagonal"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="diagonal"] .front-side:before{content:"";position:absolute;left:-70px;top:-64px;width:820px;height:172px;background:linear-gradient(96deg,var(--primary) 0 58%,var(--accent) 58%);transform:rotate(3.2deg)}
:is(.live-card,.export-card,.design-preview-card)[data-template="diagonal"] .live-header>span{color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="diagonal"] .live-header>b{background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(12,20,18,.2)}
:is(.live-card,.export-card,.design-preview-card)[data-template="diagonal"] .live-logo{background:#fff;color:var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="diagonal"] .live-photo{box-shadow:0 0 0 5px #fff,0 12px 26px rgba(18,31,29,.18)}
:is(.live-card,.export-card,.design-preview-card)[data-template="diagonal"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="passport"] .front-side{background:#fbfaf6}
:is(.live-card,.export-card,.design-preview-card)[data-template="passport"] .front-side:before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background:linear-gradient(90deg,var(--primary) 0 64%,var(--accent) 64%)}
:is(.live-card,.export-card,.design-preview-card)[data-template="passport"] .front-side:after{content:"";position:absolute;left:38px;right:38px;top:95px;height:5px;background:linear-gradient(180deg,var(--primary) 0 2px,transparent 2px 4px,var(--accent) 4px 5px)}
:is(.live-card,.export-card,.design-preview-card)[data-template="passport"] .live-photo{box-shadow:0 0 0 1px rgba(23,32,30,.24),0 0 0 6px #fff,0 0 0 7px rgba(23,32,30,.12)}
:is(.live-card,.export-card,.design-preview-card)[data-template="passport"] .live-header>b{background:var(--primary);color:#fff;letter-spacing:.16em}
:is(.live-card,.export-card,.design-preview-card)[data-template="passport"] .live-info h3{color:#18211f}

:is(.live-card,.export-card,.design-preview-card)[data-template="stub"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="stub"] .front-side:before{content:"";position:absolute;left:0;top:0;bottom:0;width:26px;background:linear-gradient(180deg,var(--primary),var(--accent))}
:is(.live-card,.export-card,.design-preview-card)[data-template="stub"] .front-side:after{content:"";position:absolute;left:17px;top:26px;bottom:26px;width:0;border-left:2px dashed rgba(255,255,255,.72)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stub"] .live-photo{box-shadow:0 0 0 5px #fff,0 8px 20px rgba(20,32,30,.12)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stub"] .live-header>b{background:var(--primary);color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="stub"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="mono"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="mono"] .front-side:before{content:"";position:absolute;left:38px;top:95px;width:96px;height:4px;background:var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="mono"] .front-side:after{content:"";position:absolute;left:38px;right:38px;bottom:14px;height:1px;background:rgba(23,32,30,.14)}
:is(.live-card,.export-card,.design-preview-card)[data-template="mono"] .live-photo{box-shadow:0 0 0 1px rgba(23,32,30,.16)}
:is(.live-card,.export-card,.design-preview-card)[data-template="mono"] .live-header>b{background:transparent;color:var(--primary);letter-spacing:.2em;padding-right:0}
:is(.live-card,.export-card,.design-preview-card)[data-template="mono"] .live-info h3{color:#141f1d}

:is(.live-card,.export-card,.design-preview-card)[data-template="grid"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="grid"] .front-side:before{content:"";position:absolute;left:0;right:0;top:0;height:104px;background:url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><path d='M23.5 0v24M0 23.5h24' fill='none' stroke='%2317201e' stroke-opacity='.13' stroke-width='1'/></svg>") repeat;border-bottom:2px solid var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="grid"] .front-side:after{content:"";position:absolute;right:-32px;top:-40px;width:124px;height:124px;border-radius:16px;background:var(--primary);transform:rotate(18deg)}
:is(.live-card,.export-card,.design-preview-card)[data-template="grid"] .live-photo{box-shadow:7px 7px 0 var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="grid"] .live-header>b{background:#fff;color:var(--primary);border-radius:6px;box-shadow:0 0 0 1px rgba(23,32,30,.14)}
:is(.live-card,.export-card,.design-preview-card)[data-template="grid"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="halo"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="halo"] .front-side:before{content:"";position:absolute;left:-22px;top:88px;width:246px;height:246px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0 44%,transparent 72%);opacity:.5}
:is(.live-card,.export-card,.design-preview-card)[data-template="halo"] .front-side:after{content:"";position:absolute;left:38px;right:38px;bottom:12px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--primary),var(--accent))}
:is(.live-card,.export-card,.design-preview-card)[data-template="halo"] .live-photo{box-shadow:0 0 0 6px #fff,0 0 0 8px var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="halo"] .live-header>b{background:var(--primary);color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="halo"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="stack"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="stack"] .front-side:before{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;background:linear-gradient(180deg,var(--accent) 0 6px,var(--primary) 6px)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stack"] .front-side:after{content:"";position:absolute;left:0;top:0;width:228px;height:10px;background:var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stack"] .live-photo{box-shadow:0 0 0 5px #fff,0 10px 22px rgba(20,32,30,.14)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stack"] .live-header>b{background:var(--accent);color:#16201e}
:is(.live-card,.export-card,.design-preview-card)[data-template="stack"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="frame"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="frame"] .front-side:before{content:"";position:absolute;left:14px;top:14px;right:14px;bottom:14px;border:2px solid var(--primary);border-radius:16px}
:is(.live-card,.export-card,.design-preview-card)[data-template="frame"] .front-side:after{content:"";position:absolute;left:14px;top:14px;width:104px;height:10px;background:var(--accent);border-radius:16px 0 0 0}
:is(.live-card,.export-card,.design-preview-card)[data-template="frame"] .live-photo{box-shadow:0 0 0 2px var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="frame"] .live-header>b{background:#fff;color:var(--primary);box-shadow:0 0 0 1.5px var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="frame"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="corner"] .front-side{background:linear-gradient(180deg,#fdfdfc,#f7f8f6)}
:is(.live-card,.export-card,.design-preview-card)[data-template="corner"] .front-side:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="corner"] .front-side:after{content:"";position:absolute;right:0;top:0;width:156px;height:156px;background:linear-gradient(225deg,var(--accent) 0 52%,transparent 52%)}
:is(.live-card,.export-card,.design-preview-card)[data-template="corner"] .live-photo{box-shadow:0 0 0 5px #fff,0 0 0 7px var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="corner"] .live-header>b{background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(20,32,30,.16)}
:is(.live-card,.export-card,.design-preview-card)[data-template="corner"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="spotlight"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="spotlight"] .front-side:before{content:"";position:absolute;right:-104px;top:-130px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0 42%,transparent 70%);opacity:.5}
:is(.live-card,.export-card,.design-preview-card)[data-template="spotlight"] .front-side:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--primary),var(--accent))}
:is(.live-card,.export-card,.design-preview-card)[data-template="spotlight"] .live-photo{box-shadow:0 0 0 6px #fff,0 10px 24px rgba(20,32,30,.16)}
:is(.live-card,.export-card,.design-preview-card)[data-template="spotlight"] .live-header>b{background:var(--primary);color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="spotlight"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="serif"] .front-side{background:#fbf8f1}
:is(.live-card,.export-card,.design-preview-card)[data-template="serif"] .front-side:before{content:"";position:absolute;left:38px;right:38px;top:93px;height:6px;background:linear-gradient(180deg,var(--primary) 0 2px,transparent 2px 5px,var(--accent) 5px 6px)}
:is(.live-card,.export-card,.design-preview-card)[data-template="serif"] .front-side:after{content:"";position:absolute;left:38px;right:38px;bottom:14px;height:1px;background:var(--primary);opacity:.32}
:is(.live-card,.export-card,.design-preview-card)[data-template="serif"] .live-photo{box-shadow:0 0 0 1px rgba(23,32,30,.2),0 0 0 7px #fbf8f1,0 0 0 8px rgba(23,32,30,.14)}
:is(.live-card,.export-card,.design-preview-card)[data-template="serif"] .live-header>b{background:transparent;color:var(--primary);letter-spacing:.22em;padding-right:0}
:is(.live-card,.export-card,.design-preview-card)[data-template="serif"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="slate"] .front-side{background:#f6f8f9}
:is(.live-card,.export-card,.design-preview-card)[data-template="slate"] .front-side:before{content:"";position:absolute;left:0;right:0;top:0;height:116px;background:linear-gradient(118deg,#1d262d,var(--primary))}
:is(.live-card,.export-card,.design-preview-card)[data-template="slate"] .front-side:after{content:"";position:absolute;left:0;right:0;top:116px;height:4px;background:var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="slate"] .live-header>span{color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="slate"] .live-header>b{background:#fff;color:#1d262d;box-shadow:0 3px 10px rgba(8,14,18,.3)}
:is(.live-card,.export-card,.design-preview-card)[data-template="slate"] .live-logo{background:#fff;color:var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="slate"] .live-photo{box-shadow:0 0 0 5px #fff,0 12px 26px rgba(20,32,40,.16)}
:is(.live-card,.export-card,.design-preview-card)[data-template="slate"] .live-info h3{color:#16202a}

:is(.live-card,.export-card,.design-preview-card)[data-template="stripe"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="stripe"] .front-side:before{content:"";position:absolute;left:376px;top:38px;width:360px;height:46px;transform:rotate(40deg);background:linear-gradient(90deg,var(--accent) 0px 12px,#fff 12px 20px,var(--accent) 20px 32px,#fff 32px 40px,var(--accent) 40px 52px,#fff 52px 60px,var(--accent) 60px 72px,#fff 72px 80px,var(--accent) 80px 92px,#fff 92px 100px,var(--accent) 100px 112px,#fff 112px 120px,var(--accent) 120px 132px,#fff 132px 140px,var(--accent) 140px 152px,#fff 152px 160px,var(--accent) 160px 172px,#fff 172px 180px,var(--accent) 180px 192px,#fff 192px 200px,var(--accent) 200px 212px,#fff 212px 220px,var(--accent) 220px 232px,#fff 232px 240px,var(--accent) 240px 252px,#fff 252px 260px,var(--accent) 260px 272px,#fff 272px 280px,var(--accent) 280px 292px,#fff 292px 300px,var(--accent) 300px 312px,#fff 312px 320px,var(--accent) 320px 332px,#fff 332px 340px,var(--accent) 340px 352px,#fff 352px 360px,var(--accent) 360px 372px,#fff 372px 380px,var(--accent) 380px)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stripe"] .front-side:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,var(--primary) 0 68%,var(--accent) 68%)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stripe"] .live-photo{box-shadow:0 0 0 5px #fff,0 0 0 6px rgba(23,32,30,.1)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stripe"] .live-header>b{background:#fff;color:var(--primary);box-shadow:0 0 0 1px rgba(23,32,30,.14)}
:is(.live-card,.export-card,.design-preview-card)[data-template="stripe"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="metro"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="metro"] .front-side:before{content:"";position:absolute;right:0;top:0;bottom:0;width:30px;background:linear-gradient(180deg,var(--primary),var(--accent))}
:is(.live-card,.export-card,.design-preview-card)[data-template="metro"] .front-side:after{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="metro"] .live-info{max-width:none}
:is(.live-card,.export-card,.design-preview-card)[data-template="metro"] .live-photo{box-shadow:0 0 0 1px rgba(23,32,30,.16),0 0 0 5px #fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="metro"] .live-header>b{background:var(--primary);color:#fff;border-radius:4px}
:is(.live-card,.export-card,.design-preview-card)[data-template="metro"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="badge"] .front-side{background:linear-gradient(180deg,#fff,#f8faf9)}
:is(.live-card,.export-card,.design-preview-card)[data-template="badge"] .front-side:before{content:"";position:absolute;right:-84px;top:-96px;width:232px;height:232px;border-radius:50%;border:16px solid var(--accent);opacity:.36}
:is(.live-card,.export-card,.design-preview-card)[data-template="badge"] .front-side:after{content:"";position:absolute;left:-52px;bottom:-56px;width:126px;height:126px;border-radius:50%;background:var(--accent);opacity:.24}
:is(.live-card,.export-card,.design-preview-card)[data-template="badge"] .live-photo{box-shadow:0 0 0 5px #fff,0 0 0 8px var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="badge"] .live-header>b{background:var(--primary);color:#fff;border-radius:99px}
:is(.live-card,.export-card,.design-preview-card)[data-template="badge"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="dots"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="dots"] .front-side:before{content:"";position:absolute;left:0;right:0;top:0;height:106px;background:url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='17' height='17'><circle cx='8.5' cy='8.5' r='1.7' fill='%2317201e' fill-opacity='.2'/></svg>") repeat;border-bottom:2px solid var(--primary)}
:is(.live-card,.export-card,.design-preview-card)[data-template="dots"] .front-side:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:linear-gradient(90deg,var(--primary) 0 62%,var(--accent) 62%)}
:is(.live-card,.export-card,.design-preview-card)[data-template="dots"] .live-photo{box-shadow:0 0 0 5px #fff,0 0 0 7px var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="dots"] .live-header>b{background:var(--primary);color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="dots"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="sunrise"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="sunrise"] .front-side:before{content:"";position:absolute;right:-56px;top:-74px;width:196px;height:196px;border-radius:50%;background:var(--accent);opacity:.3}
:is(.live-card,.export-card,.design-preview-card)[data-template="sunrise"] .front-side:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:linear-gradient(90deg,var(--primary),var(--accent))}
:is(.live-card,.export-card,.design-preview-card)[data-template="sunrise"] .live-photo{box-shadow:0 0 0 5px #fff,0 10px 22px rgba(20,32,30,.14)}
:is(.live-card,.export-card,.design-preview-card)[data-template="sunrise"] .live-header>b{background:var(--primary);color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="sunrise"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="club"] .front-side{background:linear-gradient(112deg,#f2f6f3,#fff 46%)}
:is(.live-card,.export-card,.design-preview-card)[data-template="club"] .front-side:before{content:"";position:absolute;right:-78px;top:-104px;width:210px;height:210px;border-radius:34px;background:var(--primary);transform:rotate(24deg)}
:is(.live-card,.export-card,.design-preview-card)[data-template="club"] .front-side:after{content:"";position:absolute;left:38px;right:38px;bottom:12px;height:4px;border-radius:4px;background:var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="club"] .live-photo{box-shadow:0 0 0 5px var(--accent),0 0 0 9px #fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="club"] .live-header>b{background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(20,32,30,.18)}
:is(.live-card,.export-card,.design-preview-card)[data-template="club"] .live-info h3{color:var(--primary)}

:is(.live-card,.export-card,.design-preview-card)[data-template="night"] .front-side{background:linear-gradient(148deg,#141a23,#222c3a)}
:is(.live-card,.export-card,.design-preview-card)[data-template="night"] .front-side:before{content:"";position:absolute;right:-96px;top:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0 40%,transparent 72%);opacity:.34}
:is(.live-card,.export-card,.design-preview-card)[data-template="night"] .front-side:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--primary),var(--accent))}
:is(.live-card,.export-card,.design-preview-card)[data-template="night"] .live-header>span{color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="night"] .live-header>b{background:var(--accent);color:#101720}
:is(.live-card,.export-card,.design-preview-card)[data-template="night"] .live-logo{background:rgba(255,255,255,.12);color:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="night"] .live-photo{box-shadow:0 0 0 2px var(--accent),0 14px 34px rgba(0,0,0,.42)}
:is(.live-card,.export-card,.design-preview-card)[data-template="night"] .live-info h3{color:#fff}

:is(.live-card,.export-card,.design-preview-card)[data-template="atelier"] .front-side{background:#fff}
:is(.live-card,.export-card,.design-preview-card)[data-template="atelier"] .front-side:before{content:"";position:absolute;right:-96px;top:-136px;width:250px;height:250px;border-radius:42px;background:linear-gradient(135deg,var(--accent),var(--primary));transform:rotate(22deg)}
:is(.live-card,.export-card,.design-preview-card)[data-template="atelier"] .front-side:after{content:"";position:absolute;left:0;bottom:0;width:118px;height:12px;background:var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="atelier"] .live-photo{box-shadow:9px 9px 0 var(--accent)}
:is(.live-card,.export-card,.design-preview-card)[data-template="atelier"] .live-header>b{background:#fff;color:var(--primary);box-shadow:0 3px 10px rgba(20,32,30,.2)}
:is(.live-card,.export-card,.design-preview-card)[data-template="atelier"] .live-info h3{color:var(--primary)}
.quick-order-selected-photo{display:flex;align-items:center;gap:12px;margin:0;padding:10px;border:1px solid #dce6d5;border-radius:14px;background:#f7faf4}.quick-order-selected-photo[hidden]{display:none}.quick-order-selected-photo img{width:82px;height:102px;object-fit:cover;border-radius:12px;border:2px solid #173f3f}.quick-order-selected-photo figcaption{font-weight:800;color:#173f3f}
.quick-order-uottawa-preview{overflow:hidden;border-radius:18px;border:1px solid #d7ddda;background:#fff;box-shadow:0 16px 36px #173f3f18}.quick-order-uottawa-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;background:#a80f2c;color:#fff}.quick-order-uottawa-top img{width:92px;height:46px;object-fit:contain;background:#fff;border-radius:9px;padding:5px}.quick-order-uottawa-top span{padding:7px 10px;border-radius:999px;background:#fff;color:#17211f;font-size:9px;font-weight:900}.quick-order-uottawa-body{display:flex;align-items:center;gap:18px;padding:22px 26px}.quick-order-uottawa-photo{display:grid;place-items:center;width:82px;height:104px;border:3px solid #a80f2c;border-radius:40px 40px 14px 14px;background:#eef2ef;color:#a80f2c;font-weight:900}.quick-order-uottawa-body small,.quick-order-uottawa-body strong,.quick-order-uottawa-body p{display:block;margin:0}.quick-order-uottawa-body strong{font-size:21px}.quick-order-uottawa-body p{color:#68736f}.quick-order-uottawa-footer{display:flex;align-items:center;gap:8px;margin:0 22px 18px;padding:9px 12px;border:1px solid #d7ddda;border-radius:11px;width:max-content}.quick-order-uottawa-footer small{margin-left:12px;color:#78827e}
.hero-material-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 0;padding:0}.hero-material-badges li{font:700 11px Manrope,sans-serif;background:#eef6dc;color:#173f3f;border-radius:999px;padding:8px 14px;white-space:nowrap}

/* Identité des administrateurs */
.admin-profile-trigger{min-width:0;flex:1;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.admin-profile-trigger:hover #adminAvatar{transform:translateY(-1px);box-shadow:0 0 0 3px rgba(201,255,74,.13)}.admin-profile-trigger #adminAvatar{flex:0 0 auto;transition:.2s}.admin-profile-trigger>div{min-width:0}.admin-profile-trigger small,.admin-profile-trigger b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-profile-trigger small{max-width:145px}
.admin-identity-dialog{width:min(560px,calc(100vw - 28px));border:0;border-radius:24px;padding:34px;background:#f7f8f4;color:#18221f;box-shadow:0 34px 100px rgba(10,24,20,.34);overflow:visible}.admin-identity-dialog::backdrop{background:rgba(9,20,17,.68);backdrop-filter:blur(8px)}.admin-identity-dialog>.dialog-close-x{position:absolute;right:16px;top:16px}.admin-identity-brand{display:flex;align-items:center;gap:11px;margin-bottom:27px}.admin-identity-brand img{border-radius:12px}.admin-identity-brand span{font-size:11px;font-weight:800;color:#53635e}.admin-identity-avatar{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#173f3f,#245b50);color:#c9ff4a;font:850 24px Manrope,sans-serif;box-shadow:0 14px 32px rgba(23,63,63,.2);margin-bottom:22px}.admin-identity-dialog>small{display:block;font-size:9px;letter-spacing:.15em;font-weight:900;color:#628078}.admin-identity-dialog h2{margin:9px 0 9px;font:850 clamp(25px,4vw,34px)/1.08 Manrope,sans-serif;letter-spacing:-.035em}.admin-identity-dialog>p{margin:0;color:#62706b;font-size:13px;line-height:1.6}.admin-identity-hierarchy{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:8px;margin:27px 0}.admin-identity-hierarchy article{display:flex;align-items:center;gap:10px;border:1px solid #dce4d8;border-radius:15px;padding:12px;background:#fff}.admin-identity-hierarchy article>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#173f3f;color:#c9ff4a;font:850 11px Manrope}.admin-identity-hierarchy article small,.admin-identity-hierarchy article b{display:block}.admin-identity-hierarchy article small{font-size:6px;letter-spacing:.09em;color:#718079}.admin-identity-hierarchy article b{margin-top:3px;font-size:10px}.admin-identity-hierarchy>i{height:1px;background:#bac7bb}.admin-identity-continue{width:100%;border:0;border-radius:13px;background:#173f3f;color:#fff;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;font:850 12px Manrope;cursor:pointer}.admin-identity-continue:hover{background:#205148}.admin-profile-dialog{width:min(460px,calc(100vw - 28px))}.admin-profile-facts{display:grid;gap:8px;margin:24px 0 0}.admin-profile-facts>div{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #dde4da;padding:12px 0}.admin-profile-facts dt{font-size:10px;color:#75817d}.admin-profile-facts dd{margin:0;font-size:11px;font-weight:850}.admin-profile-active{color:#2f725c;background:#deeee7;border-radius:999px;padding:5px 9px}
@media(max-width:620px){.admin-identity-dialog{padding:28px 20px 20px;border-radius:20px}.admin-identity-hierarchy{grid-template-columns:1fr;gap:7px}.admin-identity-hierarchy>i{width:1px;height:13px;margin:auto}.admin-identity-avatar{width:62px;height:62px;border-radius:18px;font-size:20px}}

/* Admin unifié : aucun élément ne doit élargir la page sur mobile. */
html[data-page="admin"],html[data-page="admin"] body{width:100%;max-width:100%;overflow-x:hidden!important}
html[data-page="admin"] .admin-shell,html[data-page="admin"] .admin-main,html[data-page="admin"] .admin-board{width:100%;max-width:100%;min-width:0}
.admin-form-order-card,.admin-form-order-body,.admin-form-order-top>div,.orders-source-banner>div{min-width:0}
.admin-form-order-top h3,.admin-form-order-top p,.admin-form-order-meta b,.orders-source-banner span{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:720px){
  html[data-page="admin"].admin-authenticated .admin-main{overflow-x:hidden!important}
  .orders-source-banner,.orders-source-actions,.admin-order-toolbar{width:100%;max-width:100%}
  .orders-source-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .orders-source-actions>*{width:100%!important;min-width:0!important;justify-content:center!important}
  .admin-order-toolbar{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:4px;scrollbar-width:none}
  .admin-order-toolbar::-webkit-scrollbar{display:none}
  .admin-order-toolbar>button{flex:0 0 auto!important;white-space:nowrap}
  .admin-form-order-card{width:100%!important;max-width:100%!important;overflow:hidden}
  .admin-form-order-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .admin-form-order-actions>*{width:100%!important;min-width:0!important}
  .admin-manage{position:static!important}
  #adminManagePortal{position:fixed!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important}
  dialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:92dvh!important;padding:20px 16px!important;overflow:auto!important}
}

/* Navigation admin : profil et déconnexion toujours visibles. */
html[data-page="admin"] .admin-sidebar{overflow:hidden!important}
html[data-page="admin"] .admin-sidebar-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;padding-right:2px!important}
html[data-page="admin"] .admin-sidebar-user{flex:0 0 auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;width:100%!important;margin-top:12px!important;padding:13px 4px 3px!important;border-top:1px solid rgba(255,255,255,.1)!important}
html[data-page="admin"] .admin-profile-trigger{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%!important;min-width:0!important;height:auto!important;padding:7px!important;border-radius:12px!important;background:rgba(255,255,255,.045)!important;color:#fff!important}
html[data-page="admin"] .admin-profile-trigger:hover{background:rgba(255,255,255,.085)!important}
html[data-page="admin"] .admin-profile-trigger #adminAvatar{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:12px!important;background:#24443e!important;color:#d9ff8d!important;font-size:11px!important;font-weight:900!important}
html[data-page="admin"] .admin-profile-trigger>div{display:block!important;min-width:0!important}
html[data-page="admin"] .admin-profile-trigger small{max-width:100%!important;color:#8ba198!important;font-size:7px!important}
html[data-page="admin"] .admin-profile-trigger b{color:#fff!important;font-size:11px!important}
html[data-page="admin"] .admin-logout-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:64px!important;height:52px!important;padding:0 11px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:12px!important;background:rgba(255,255,255,.055)!important;color:#d9e4df!important;font-size:9px!important;font-weight:900!important}
html[data-page="admin"] .admin-logout-btn:hover{border-color:rgba(255,142,122,.28)!important;background:rgba(255,142,122,.1)!important;color:#ffc2b7!important}
@media(max-width:860px){
  html[data-page="admin"] .admin-sidebar-nav{padding-bottom:6px!important}
  html[data-page="admin"] .admin-sidebar-user{margin-top:auto!important;padding-bottom:max(3px,env(safe-area-inset-bottom))!important}
  html[data-page="admin"] .admin-profile-trigger{min-height:54px!important}
}
@media(max-width:520px){
  html[data-page="admin"] .admin-head{grid-template-columns:42px minmax(0,1fr)!important}
  html[data-page="admin"] .admin-head-actions{grid-column:1/-1!important;width:100%!important;justify-content:flex-end!important}
  html[data-page="admin"] .admin-head-actions>*{flex:0 1 auto!important}
  html[data-page="admin"] .admin-tools,html[data-page="admin"] .admin-settings-card,html[data-page="admin"] .orders-source-banner{max-width:100%!important;overflow:hidden!important}
}
