/* CSU Registre — kiosque premium 15.6" / Android PWA */
:root{
  --k-bg:#06101b;--k-bg-2:#091725;--k-panel:rgba(10,25,41,.88);--k-panel-2:rgba(15,34,54,.94);
  --k-border:rgba(125,174,220,.24);--k-border-strong:rgba(92,164,235,.43);
  --k-text:#f8fbff;--k-muted:#91a7bf;--k-muted-2:#647d97;--k-blue:var(--csu-blue,#1478ff);
  --k-blue-2:var(--csu-blue-2,#0d5fd4);--k-red:var(--csu-accent,#ed2939);--k-green:#65dea8;
  --k-burgundy:#451d29;--k-radius:24px;--k-shadow:0 28px 80px rgba(0,0,0,.38);
}
html,body.kiosk-public{width:100%;min-width:100%;min-height:100%;margin:0;background:#06101b;color:var(--k-text);overflow-x:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}
body.kiosk-public{font-family:"Segoe UI Variable","Segoe UI",Inter,Arial,sans-serif;min-height:100dvh;touch-action:manipulation}
body.kiosk-public *{box-sizing:border-box}
body.kiosk-public button,body.kiosk-public input,body.kiosk-public select{font:inherit}
body.kiosk-public a{color:inherit;text-decoration:none}
body.kiosk-public svg{display:block}
.kiosk-stage{position:relative;min-height:100dvh;width:100%;overflow:hidden;background:linear-gradient(180deg,#071523 0,#07111c 40%,#050d16 100%)}
.kiosk-backdrop{position:absolute;inset:0;pointer-events:none;overflow:hidden;background:
  radial-gradient(1100px 460px at 82% 7%,rgba(45,105,160,.28),transparent 68%),
  radial-gradient(900px 520px at 15% 40%,rgba(4,92,170,.14),transparent 72%),
  linear-gradient(180deg,rgba(5,15,26,.04),rgba(5,15,26,.72));
}
.kiosk-backdrop:before{content:"";position:absolute;left:-4%;right:-3%;top:6.7rem;height:23rem;opacity:.72;background:
  linear-gradient(180deg,rgba(15,39,62,.2),rgba(4,14,24,.85)),
  url("/static/kiosk/coastline.svg") center 48%/cover no-repeat;mask-image:linear-gradient(180deg,#000 0,#000 76%,transparent 100%)}
.kiosk-backdrop:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px);background-size:42px 42px;opacity:.28}

/* Header */
.kiosk-global-header{position:relative;z-index:5;display:grid;grid-template-columns:minmax(370px,1.05fr) minmax(310px,.9fr) auto auto;align-items:center;gap:24px;min-height:132px;padding:18px clamp(24px,3vw,54px);border-bottom:1px solid rgba(125,175,220,.14);background:linear-gradient(180deg,rgba(7,20,33,.95),rgba(7,20,33,.76));backdrop-filter:blur(18px);box-shadow:0 10px 40px rgba(0,0,0,.12)}
.kiosk-global-header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,#2457c7 0 33.333%,#f7f8fa 33.333% 66.666%,#e32d3b 66.666%);opacity:.7}
.kiosk-identity{display:flex;align-items:center;min-width:0;gap:17px}.kiosk-logo{width:78px;height:78px;flex:0 0 78px;border-radius:50%;background-image:var(--kiosk-logo);background-size:cover;background-position:center;border:2px solid rgba(255,255,255,.93);box-shadow:0 0 0 4px rgba(24,86,140,.65),0 14px 32px rgba(0,0,0,.4)}
.kiosk-identity-copy{min-width:0}.kiosk-csu-row{display:flex;align-items:center;gap:18px}.kiosk-csu-row strong{font-size:35px;line-height:1;font-weight:800;letter-spacing:.02em}.mini-tricolore{width:64px;height:7px;display:grid;grid-template-columns:repeat(3,1fr);border-radius:99px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.12)}.mini-tricolore i:nth-child(1){background:#2463ce}.mini-tricolore i:nth-child(2){background:#f5f5f1}.mini-tricolore i:nth-child(3){background:#ec3342}
.kiosk-city{font-size:15px;font-weight:800;letter-spacing:.14em;margin-top:6px;white-space:nowrap}.kiosk-structure{font-size:9px;color:#9eb2c7;letter-spacing:.22em;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kiosk-motto{display:flex;flex-wrap:wrap;align-items:center;gap:11px;color:#a8bbce;font-size:10px;font-weight:700;letter-spacing:.3em;line-height:1.4;border-left:1px solid rgba(158,186,211,.38);padding-left:28px;min-width:0}.kiosk-motto i{font-style:normal;color:#617c97}.kiosk-motto small{width:100%;font-size:9px;color:#6f879f;letter-spacing:.25em;margin-top:6px}
.kiosk-timebox{display:flex;align-items:center;gap:22px;padding-left:25px;border-left:1px solid rgba(158,186,211,.32);white-space:nowrap}.kiosk-timebox>div{display:grid;gap:5px}.kiosk-timebox span{font-size:9px;letter-spacing:.22em;color:#8fa6bc;font-weight:800}.kiosk-timebox strong{font-size:13px;letter-spacing:.02em}.kiosk-timebox time{font-size:38px;font-weight:350;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.kiosk-status-pill{min-width:220px;height:64px;border-radius:22px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid rgba(101,222,168,.8);background:linear-gradient(135deg,rgba(16,79,57,.9),rgba(15,62,48,.65));box-shadow:0 0 0 1px rgba(101,222,168,.08),0 0 28px rgba(58,205,140,.17),inset 0 1px 0 rgba(255,255,255,.08);font-size:18px;font-weight:780;white-space:nowrap}.kiosk-status-pill i{width:16px;height:16px;border-radius:50%;background:var(--k-green);box-shadow:0 0 0 8px rgba(101,222,168,.08),0 0 18px rgba(101,222,168,.6)}
body[data-access-status="restricted"] .kiosk-status-pill{border-color:rgba(255,91,105,.8);background:linear-gradient(135deg,rgba(109,28,42,.9),rgba(75,24,34,.75));box-shadow:0 0 0 1px rgba(255,91,105,.08),0 0 30px rgba(255,68,85,.18),inset 0 1px 0 rgba(255,255,255,.08)}
body[data-access-status="restricted"] .kiosk-status-pill i{background:#ff5b69;box-shadow:0 0 0 8px rgba(255,91,105,.08),0 0 18px rgba(255,91,105,.55)}

/* Main / home */
.kiosk-main{position:relative;z-index:2;padding:clamp(18px,2vw,32px) clamp(24px,2.8vw,54px) max(20px,env(safe-area-inset-bottom));min-height:calc(100dvh - 132px)}
.kiosk-home{width:100%;max-width:none;margin:0 auto;display:grid;gap:20px}.kiosk-hero-title{min-height:145px;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:28px;padding:8px 0 4px}.hero-tricolore{height:112px;width:8px;border-radius:99px;overflow:hidden;display:grid;grid-template-rows:repeat(3,1fr);box-shadow:0 0 24px rgba(47,123,255,.15)}.hero-tricolore i:nth-child(1){background:#136eea}.hero-tricolore i:nth-child(2){background:#f5f5f2}.hero-tricolore i:nth-child(3){background:#ed3342}
.kiosk-kicker{font-size:10px;letter-spacing:.28em;color:#72aff0;font-weight:850}.kiosk-hero-title h1{font-size:clamp(46px,5vw,80px);line-height:.98;letter-spacing:-.052em;margin:7px 0 10px;font-weight:800;text-shadow:0 8px 30px rgba(0,0,0,.32)}.kiosk-hero-title p{font-size:clamp(19px,2vw,28px);color:#aebcce;margin:0;font-weight:520}.hero-signature{text-align:right;align-self:end;padding-bottom:14px}.hero-signature span,.hero-signature small{display:block;letter-spacing:.28em}.hero-signature span{font-size:11px;color:#d2dce7;font-weight:750}.hero-signature small{font-size:8px;color:#6f879f;margin-top:10px}
.kiosk-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.kiosk-action-card{position:relative;min-height:190px;display:grid;grid-template-columns:120px 1fr 70px;align-items:center;gap:26px;padding:24px 34px;border:1px solid rgba(99,176,245,.48);border-radius:27px;overflow:hidden;isolation:isolate;box-shadow:0 24px 50px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05);transition:transform .16s ease,border-color .16s ease,filter .16s ease}.kiosk-action-card:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(8,78,145,.93),rgba(7,37,66,.95))}.kiosk-action-card:after{content:"";position:absolute;z-index:-1;width:110%;height:150px;left:-5%;bottom:-88px;border-radius:50%;border-top:1px solid rgba(86,188,255,.35);background:linear-gradient(180deg,rgba(31,149,242,.16),transparent);transform:rotate(-3deg)}
.kiosk-action-card.arrival{border-color:#47b8ff;box-shadow:0 18px 45px rgba(0,82,157,.25),0 0 0 1px rgba(44,166,255,.06),inset 0 1px 0 rgba(255,255,255,.08)}.kiosk-action-card.departure{border-color:rgba(127,160,204,.5)}.kiosk-action-card.departure:before{background:linear-gradient(135deg,rgba(41,31,56,.97),rgba(9,31,51,.97))}.kiosk-action-card.departure:after{border-top-color:rgba(181,91,146,.22);background:linear-gradient(180deg,rgba(131,61,105,.11),transparent)}
.kiosk-action-card:active{transform:scale(.992)}.action-icon{width:108px;height:108px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(16,149,242,.92),rgba(17,82,186,.94));border:1px solid #37c2ff;box-shadow:0 16px 36px rgba(0,78,168,.35),inset 0 1px 0 rgba(255,255,255,.15)}.departure .action-icon{background:linear-gradient(145deg,rgba(120,42,91,.8),rgba(52,35,76,.9));border-color:rgba(255,87,113,.6)}.action-icon svg{width:62px;height:62px;fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.action-copy{display:grid;gap:8px}.action-copy small{font-size:9px;letter-spacing:.21em;color:#87c9ff;font-weight:900}.departure .action-copy small{color:#d2a7c7}.action-copy strong{font-size:clamp(33px,3.4vw,52px);line-height:1.06;letter-spacing:-.03em}.action-arrow{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(115,188,247,.58);background:rgba(22,87,136,.42);font-size:54px;font-weight:200;line-height:1;color:#eaf6ff;padding-bottom:7px}

.presence-panel{border:1px solid var(--k-border);border-radius:24px;background:linear-gradient(145deg,rgba(9,25,41,.92),rgba(6,19,32,.93));box-shadow:0 20px 45px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);overflow:hidden}.presence-panel>header{min-height:74px;display:flex;align-items:center;justify-content:space-between;padding:13px 26px;border-bottom:1px solid rgba(117,155,191,.16)}.presence-title{display:flex;align-items:center;gap:16px}.presence-icon{width:40px;height:40px;display:grid;place-items:center;color:#93bdf2}.presence-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.presence-title>div{display:grid;gap:4px}.presence-title strong{font-size:19px}.presence-title strong b{color:#9fb9d3;font-weight:600}.presence-title small{font-size:10px;color:#667f98;letter-spacing:.05em}.live-label{display:flex;align-items:center;gap:9px;color:#8ba2b8;font-size:11px}.live-label i{width:9px;height:9px;border-radius:50%;background:#68db9f;box-shadow:0 0 14px rgba(104,219,159,.65)}
.presence-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:14px 18px 18px}.presence-item{min-width:0;display:grid;grid-template-columns:56px 1fr;gap:13px;padding:10px 18px;border-right:1px solid rgba(111,150,186,.18);align-items:center}.presence-item:last-child{border-right:0}.presence-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#153c60,#10263b);border:1px solid #315779;color:#bfdcff;font-size:16px;font-weight:800}.presence-person{display:grid;gap:3px;min-width:0}.presence-person strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence-person span{font-size:11px;color:#8197ac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence-person small{font-size:10px;color:#9fb1c2;display:flex;align-items:center;gap:6px;margin-top:4px}.presence-person small svg{width:14px;height:14px;fill:none;stroke:#a8bdd2;stroke-width:2}.presence-empty{min-height:96px;display:flex;align-items:center;justify-content:center;gap:14px;color:#8da1b5}.presence-empty>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#113328;color:#6ce0ab;border:1px solid #2d6b55}.presence-empty>div{display:grid;gap:4px}.presence-empty strong{color:#dce6ef;font-size:14px}.presence-empty small{font-size:10px}
.kiosk-rules-strip{min-height:94px;display:grid;grid-template-columns:1fr 1px 1.35fr auto;align-items:center;gap:24px;padding:14px 26px;border:1px solid var(--k-border);border-radius:22px;background:linear-gradient(120deg,rgba(9,24,39,.9),rgba(12,31,49,.82));overflow:hidden;position:relative}.kiosk-rules-strip:after{content:"";position:absolute;right:-80px;bottom:-100px;width:330px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(66,125,181,.15),transparent 69%)}.rule-strip-item{display:flex;align-items:center;gap:17px;min-width:0}.strip-icon{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center}.strip-icon svg{width:45px;height:45px;fill:none;stroke:#92b7db;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.danger-rule-strip .strip-icon svg{stroke:#f35262}.danger-rule-strip .ban-circle,.danger-rule-strip .ban-line{stroke-width:4}.rule-strip-item>div{display:grid;gap:4px}.rule-strip-item strong{font-size:14px}.rule-strip-item small{font-size:10px;color:#72879c}.strip-divider{height:54px;background:rgba(129,164,196,.23)}.kiosk-lock-link{position:relative;z-index:2;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#496680;border:1px solid rgba(85,122,158,.2);font-size:18px}

/* Restricted mode */
.restricted-layer{position:fixed;z-index:999;inset:0;display:grid;place-items:center;padding:150px 24px 24px;background:rgba(32,7,12,0);backdrop-filter:blur(0);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .35s ease,background .35s ease,backdrop-filter .35s ease,visibility 0s linear .35s}
.restricted-layer.is-visible{opacity:1;visibility:visible;pointer-events:all;background:rgba(44,7,13,.38);backdrop-filter:blur(2.5px);transition:opacity .35s ease,background .35s ease,backdrop-filter .35s ease}
body[data-access-status="restricted"] .kiosk-backdrop{filter:saturate(.65) sepia(.1) hue-rotate(305deg)}
body[data-access-status="restricted"] .kiosk-main>*:not(.restricted-layer){filter:saturate(.62) brightness(.60);transition:filter .35s ease}
body[data-access-status="restricted"] .kiosk-action-card{pointer-events:none}
.restricted-card{width:min(650px,92vw);min-height:470px;padding:42px 46px 40px;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(160deg,rgba(101,31,44,.95),rgba(50,13,23,.97));border:1px solid rgba(255,99,113,.88);box-shadow:0 35px 90px rgba(0,0,0,.6),0 0 45px rgba(238,62,79,.16),inset 0 1px 0 rgba(255,255,255,.09);transform:translateY(14px) scale(.98);transition:transform .35s ease}
.restricted-layer.is-visible .restricted-card{transform:translateY(0) scale(1)}.restricted-lock{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#c73a4d,#781829 68%,#571321);border:1px solid #ff6575;box-shadow:0 0 0 18px rgba(255,77,96,.05),0 0 0 38px rgba(255,77,96,.025),0 0 42px rgba(255,61,84,.3),inset 0 1px 0 rgba(255,255,255,.13)}.restricted-lock svg{width:66px;height:66px;fill:none;stroke:#ffe8eb;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.restricted-card h1{font-size:48px;letter-spacing:-.035em;margin:24px 0 10px}.restricted-card p{font-size:22px;line-height:1.35;color:#f6e4e7;margin:0}.restricted-separator{width:66px;height:3px;border-radius:99px;background:#ff596a;margin:26px 0 20px;box-shadow:0 0 16px rgba(255,89,106,.35)}.restricted-card strong{font-size:19px;color:#ffeef0;font-weight:650}

/* Shared subpages */
.kiosk-subpage{max-width:1500px;margin:0 auto}.subpage-heading{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:18px;padding:12px 0 25px}.kiosk-back{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:rgba(18,41,63,.8);border:1px solid rgba(93,149,198,.35);font-size:27px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.subpage-heading h1{font-size:38px;letter-spacing:-.03em;margin:5px 0 3px}.subpage-heading p{font-size:13px;color:#849ab0;margin:0}.step-chip{min-width:120px;height:48px;padding:0 18px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px;background:#0e2a46;border:1px solid #245989;color:#a8d5ff;font-size:10px;font-weight:900;letter-spacing:.09em}.step-chip span{font-size:17px;color:#fff}.departure-chip{background:#291b29;border-color:#5a3451;color:#d4a9c7}

.registration-layout{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(560px,1.35fr);gap:24px;align-items:stretch}.registration-guide,.premium-registration-form{border:1px solid var(--k-border);border-radius:26px;background:linear-gradient(150deg,rgba(10,28,45,.96),rgba(7,20,33,.96));box-shadow:var(--k-shadow)}.registration-guide{padding:34px;position:relative;overflow:hidden}.registration-guide:after{content:"CSU";position:absolute;right:-25px;bottom:-35px;font-size:150px;font-weight:900;letter-spacing:-.09em;color:#fff;opacity:.018}.guide-badge{display:inline-flex;padding:8px 12px;border-radius:99px;background:#0f3151;border:1px solid #285a86;color:#89c7ff;font-size:9px;letter-spacing:.19em;font-weight:900}.registration-guide h2{font-size:31px;line-height:1.08;letter-spacing:-.035em;margin:20px 0 12px}.registration-guide>p{font-size:13px;line-height:1.65;color:#8096ab}.guide-points{display:grid;gap:14px;margin-top:26px}.guide-points>div{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(99,137,173,.14)}.guide-points>div>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#102b47;border:1px solid #25527b;color:#88c6ff;font-weight:900}.guide-points p{display:grid;gap:2px;margin:0}.guide-points strong{font-size:12px}.guide-points small{font-size:10px;color:#71879b}.guide-confidential{margin-top:24px;display:flex;align-items:center;gap:10px;color:#728ba2}.guide-confidential i{font-style:normal;color:#4d97d7}.guide-confidential span{display:grid;gap:2px}.guide-confidential strong{font-size:10px}.guide-confidential small{font-size:9px;color:#62798f}
.premium-registration-form{padding:30px 34px;display:flex;flex-direction:column;gap:18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.premium-registration-form label{display:grid;gap:8px}.premium-registration-form label>span,.signature-title>div>span{font-size:11px;color:#abc0d4;font-weight:800;letter-spacing:.03em}.premium-registration-form input,.premium-registration-form select{width:100%;height:58px;border-radius:14px;border:1px solid #2a465f;background:#081622;color:#f5f9fd;padding:0 16px;outline:none;font-size:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.premium-registration-form input:focus,.premium-registration-form select:focus{border-color:#318def;box-shadow:0 0 0 4px rgba(49,141,239,.1)}.premium-registration-form option{background:#0b1926;color:#fff}.signature-title{display:flex;align-items:end;justify-content:space-between;margin-top:2px}.signature-title>div{display:grid;gap:3px}.signature-title small{font-size:9px;color:#6f869b}.erase-signature{border:1px solid #3d5266;background:#101f2d;color:#aebdcb;border-radius:10px;padding:8px 12px;font-size:10px;font-weight:800}.premium-signature-box{position:relative;height:190px;border:1px solid rgba(150,184,214,.9);border-radius:18px;background:linear-gradient(180deg,#ffffff,#f4f8fc);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 10px 26px rgba(0,0,0,.18)}.premium-signature-box:before{content:"";position:absolute;left:20px;right:20px;bottom:45px;height:2px;background:rgba(29,64,96,.18)}.premium-signature-box canvas{position:relative;z-index:2;width:100%;height:100%;touch-action:none;background:transparent}.signature-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#7f93a8;font-size:18px;pointer-events:none;transition:opacity .18s ease}.premium-signature-box:focus-within .signature-hint,.premium-signature-box[data-has-ink="true"] .signature-hint{opacity:0}.kiosk-submit{height:62px;border:0;border-radius:16px;padding:0 18px 0 24px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1488f5,#0c5ec9);color:#fff;font-weight:850;font-size:16px;box-shadow:0 16px 32px rgba(9,92,192,.28);cursor:pointer}.kiosk-submit b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:19px}.kiosk-alert{padding:12px 15px;border-radius:12px;border:1px solid #7e3440;background:#351923;color:#ffb5bc;font-size:12px}.kiosk-alert.compact{margin:10px 0}

/* Departure */
.departure-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.departure-card{min-height:128px;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--k-border);border-radius:22px;background:linear-gradient(145deg,rgba(10,27,44,.96),rgba(7,20,33,.95));box-shadow:0 18px 42px rgba(0,0,0,.17)}.departure-avatar{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#3b2643,#1b2b41);border:1px solid #6d4568;color:#f3cde7;font-size:18px;font-weight:850}.departure-copy{display:grid;gap:4px;min-width:0}.departure-copy strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.departure-copy span{font-size:11px;color:#8398ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.departure-copy small{font-size:10px;color:#a4b7c9}.departure-button{height:48px;border-radius:13px;border:1px solid #3e607f;background:#10243a;color:#d9e9f7;padding:0 10px 0 16px;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:800;cursor:pointer}.departure-button b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#183b5c;font-size:16px}.premium-empty-state{min-height:430px;border:1px solid var(--k-border);border-radius:26px;background:linear-gradient(145deg,rgba(10,27,44,.96),rgba(7,20,33,.95));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.premium-empty-state>span{width:80px;height:80px;border-radius:24px;display:grid;place-items:center;background:#12352a;border:1px solid #2d7158;color:#6ee3ad;font-size:38px}.premium-empty-state h2{font-size:30px;margin:20px 0 5px}.premium-empty-state p{color:#8298ad;margin:0}.premium-empty-state a{margin-top:22px;padding:12px 18px;border-radius:12px;background:#112944;border:1px solid #275276;color:#a8d6ff;font-size:12px;font-weight:800}

/* Success */
.success-stage{min-height:calc(100dvh - 195px);display:grid;place-items:center}.success-card{width:min(680px,92vw);min-height:470px;border:1px solid rgba(68,159,117,.45);border-radius:30px;background:linear-gradient(150deg,rgba(11,40,36,.94),rgba(7,24,31,.97));box-shadow:0 35px 90px rgba(0,0,0,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.success-orbit{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2b9f6b,#146047);border:1px solid #52cf91;box-shadow:0 0 0 18px rgba(82,207,145,.05),0 0 0 38px rgba(82,207,145,.022),0 0 36px rgba(82,207,145,.16)}.success-orbit span{font-size:59px;color:#fff}.success-card h1{font-size:44px;letter-spacing:-.04em;margin:20px 0 6px}.success-card>p{font-size:20px;color:#b8c8d4;margin:0}.success-instruction{display:flex;align-items:center;gap:10px;margin:24px 0;color:#9fe1c1}.success-instruction i{width:9px;height:9px;border-radius:50%;background:#68dba1;box-shadow:0 0 12px #68dba1}.success-instruction span{font-size:13px}.success-card>small{font-size:9px;color:#6f8497;letter-spacing:.1em}

/* Unlock / PIN */
.unlock-layout{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,500px);gap:34px;align-items:center;min-height:calc(100dvh - 195px)}.unlock-welcome{padding:20px 0}.unlock-welcome h1{font-size:clamp(43px,4.2vw,64px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 16px}.unlock-welcome h1 em{font-style:normal;color:#7abcf8;font-weight:600}.unlock-welcome>p{max-width:720px;font-size:14px;line-height:1.7;color:#869cb1}.unlock-rules{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:30px;max-width:850px}.unlock-rules article{display:grid;grid-template-columns:58px 1fr;gap:16px;padding:20px;border:1px solid #263d52;border-radius:18px;background:linear-gradient(145deg,rgba(13,31,48,.88),rgba(8,22,35,.88))}.unlock-rule-icon{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;background:#102940;border:1px solid #2d506e}.unlock-rule-icon svg{width:34px;height:34px;fill:none;stroke:#77b9f5;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.unlock-rule-icon.danger{background:#2c1820;border-color:#60303a}.unlock-rule-icon.danger svg{stroke:#ff6c79}.unlock-rule-icon .ban-circle,.unlock-rule-icon .ban-line{stroke-width:4}.unlock-rules article>div{display:grid;align-content:start}.unlock-rules article small{font-size:8px;color:#5f7892;letter-spacing:.2em}.unlock-rules article strong{font-size:13px;margin:6px 0;color:#e9f1f8}.unlock-rules article p{font-size:10px;line-height:1.55;color:#758ca1;margin:0}.unlock-note{display:flex;align-items:center;gap:10px;margin-top:18px;color:#698198}.unlock-note i{font-style:normal;color:#4e92d0}.unlock-note>span{display:grid;gap:2px}.unlock-note strong{font-size:10px}.unlock-note small{font-size:9px;color:#5f758a}
.unlock-panel{border:1px solid #2b4964;border-radius:28px;background:linear-gradient(160deg,rgba(16,36,55,.97),rgba(7,19,30,.99));box-shadow:0 36px 90px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden}.unlock-panel-status{height:72px;display:flex;align-items:center;gap:13px;padding:0 24px;border-bottom:1px solid #263c50;background:#081622}.unlock-panel-status>i{width:11px;height:11px;border-radius:50%;background:#65dda8;box-shadow:0 0 14px rgba(101,221,168,.75)}.unlock-panel-status>span{display:grid;gap:3px}.unlock-panel-status small{font-size:8px;color:#637d95;letter-spacing:.17em}.unlock-panel-status strong{font-size:11px;color:#6fe3af;letter-spacing:.09em}.unlock-panel-body{text-align:center;padding:28px 36px 32px}.unlock-lock{width:58px;height:58px;border-radius:17px;margin:0 auto 15px;display:grid;place-items:center;background:linear-gradient(145deg,#12375e,#0d243b);border:1px solid #2b5d86}.unlock-lock svg{width:31px;height:31px;fill:none;stroke:#76baff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.unlock-panel-body h2{font-size:27px;margin:5px 0 6px}.unlock-panel-body>p{font-size:10px;line-height:1.5;color:#7289a0;max-width:310px;margin:0 auto}.unlock-panel-body #pin{position:absolute;opacity:0;pointer-events:none}.unlock-dots{display:flex;justify-content:center;gap:14px;margin:21px 0}.unlock-dots span{width:15px;height:15px;border:2px solid #42617f;border-radius:50%;background:#071522}.unlock-dots span.filled{background:#399bff;border-color:#75bdff;box-shadow:0 0 0 5px rgba(57,155,255,.09),0 0 14px rgba(57,155,255,.5)}.unlock-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.unlock-keypad button{height:56px;border-radius:13px;border:1px solid #29425b;background:linear-gradient(145deg,#15263a,#0f1d2b);color:#eff6fc;font-size:19px;font-weight:750;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.unlock-keypad button:active{transform:scale(.96)}.unlock-keypad .key-submit{background:linear-gradient(135deg,#1689f6,#0a63ce);border-color:#3b9ff9}.unlock-keypad .key-delete{color:#ff858f;background:#291923;border-color:#57303b}.unlock-secure{font-size:8px;letter-spacing:.12em;color:#526b83;margin-top:17px}
body[data-access-status="restricted"] .unlock-panel-status>i{background:#ff5c6b;box-shadow:0 0 14px rgba(255,92,107,.65)}body[data-access-status="restricted"] .unlock-panel-status strong{color:#ff8d97}

/* Responsive: 15.6" 1366x768 and lower */
@media(max-width:1500px){.kiosk-global-header{grid-template-columns:minmax(340px,1fr) minmax(270px,.8fr) auto auto;gap:16px;min-height:112px;padding:14px 28px}.kiosk-logo{width:66px;height:66px;flex-basis:66px}.kiosk-csu-row strong{font-size:30px}.kiosk-city{font-size:13px}.kiosk-status-pill{min-width:185px;height:58px;font-size:16px}.kiosk-timebox time{font-size:32px}.kiosk-main{min-height:calc(100dvh - 112px);padding:18px 28px 20px}.kiosk-hero-title{min-height:112px}.kiosk-hero-title h1{font-size:56px}.kiosk-hero-title p{font-size:21px}.hero-tricolore{height:88px}.kiosk-action-card{min-height:154px;grid-template-columns:92px 1fr 58px;padding:20px 26px;gap:20px}.action-icon{width:84px;height:84px;border-radius:22px}.action-icon svg{width:49px;height:49px}.action-copy strong{font-size:36px}.action-arrow{width:55px;height:55px;font-size:44px}.presence-panel>header{min-height:60px}.presence-grid{padding:9px 14px 13px}.presence-item{grid-template-columns:48px 1fr;padding:7px 14px}.presence-avatar{width:44px;height:44px}.kiosk-rules-strip{min-height:76px}.strip-icon{width:44px;height:44px;flex-basis:44px}.strip-icon svg{width:38px;height:38px}.restricted-layer{padding-top:120px}.restricted-card{min-height:410px;width:min(590px,92vw)}.restricted-lock{width:112px;height:112px}.restricted-card h1{font-size:43px}.restricted-card p{font-size:19px}.unlock-layout{min-height:calc(100dvh - 155px)}.success-stage{min-height:calc(100dvh - 165px)}}

@media(max-width:1180px){.kiosk-global-header{grid-template-columns:minmax(310px,1fr) auto auto}.kiosk-motto{display:none}.kiosk-status-pill{min-width:170px}.hero-signature{display:none}.kiosk-hero-title{grid-template-columns:7px 1fr}.presence-grid{grid-template-columns:repeat(2,1fr)}.presence-item:nth-child(2){border-right:0}.presence-item:nth-child(n+3){border-top:1px solid rgba(111,150,186,.15)}.registration-layout{grid-template-columns:330px 1fr}.departure-list{grid-template-columns:1fr}.unlock-layout{grid-template-columns:minmax(0,1fr) 390px;gap:22px}.unlock-rules{grid-template-columns:1fr}.unlock-welcome h1{font-size:42px}}

@media(max-width:860px){.kiosk-global-header{grid-template-columns:1fr auto;min-height:92px;padding:12px 18px}.kiosk-logo{width:54px;height:54px;flex-basis:54px}.kiosk-csu-row strong{font-size:25px}.kiosk-city{font-size:11px}.kiosk-structure,.kiosk-timebox{display:none}.kiosk-status-pill{min-width:156px;height:52px;font-size:14px;border-radius:17px}.kiosk-main{min-height:calc(100dvh - 92px);padding:14px 16px 18px}.kiosk-hero-title{min-height:96px}.kiosk-hero-title h1{font-size:42px}.kiosk-hero-title p{font-size:17px}.kiosk-action-grid{grid-template-columns:1fr}.kiosk-action-card{min-height:132px}.presence-grid{grid-template-columns:1fr}.presence-item{border-right:0!important;border-top:1px solid rgba(111,150,186,.15)}.presence-item:first-child{border-top:0}.kiosk-rules-strip{grid-template-columns:1fr;gap:12px}.strip-divider,.kiosk-lock-link{display:none}.restricted-layer{padding-top:90px}.registration-layout{grid-template-columns:1fr}.registration-guide{display:none}.field-grid{grid-template-columns:1fr}.departure-card{grid-template-columns:58px 1fr}.departure-card form{grid-column:1/-1}.departure-button{width:100%;justify-content:space-between}.unlock-layout{grid-template-columns:1fr;min-height:auto}.unlock-welcome{display:none}.unlock-panel{max-width:480px;width:100%;margin:18px auto}.subpage-heading{grid-template-columns:50px 1fr}.step-chip{display:none}}

@media(orientation:portrait) and (max-width:900px){body.kiosk-public{overflow-y:auto}.kiosk-stage{min-height:100dvh}.kiosk-action-grid{grid-template-columns:1fr}.wide-only{display:none}}

@media(display-mode:standalone),(display-mode:fullscreen){body.kiosk-public{padding-top:env(safe-area-inset-top)}.kiosk-stage{min-height:calc(100dvh - env(safe-area-inset-top))}}

/* ===== Kiosque Premium — polish v1.1.0 ===== */
.kiosk-subpage-wide{width:100%;max-width:none}.premium-subpage-heading{padding-top:8px;padding-bottom:20px}.premium-subpage-heading .kiosk-back{transition:transform .16s ease,border-color .16s ease,background .16s ease}.premium-subpage-heading .kiosk-back:active{transform:scale(.95)}

/* PIN */
.premium-unlock-layout{grid-template-columns:minmax(0,1fr) minmax(450px,520px);gap:42px}.unlock-heading-line{display:flex;align-items:center;gap:14px}.unlock-security-chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border:1px solid rgba(84,152,211,.24);border-radius:99px;background:rgba(10,32,52,.5);color:#718ba5;font-size:8px;font-weight:850;letter-spacing:.12em}.unlock-security-chip i{width:6px;height:6px;border-radius:50%;background:#58d9a1;box-shadow:0 0 10px rgba(88,217,161,.65)}.premium-unlock-panel{box-shadow:0 38px 90px rgba(0,0,0,.46),0 0 0 1px rgba(70,139,198,.04),inset 0 1px 0 rgba(255,255,255,.04)}.premium-unlock-panel .unlock-panel-status{position:relative}.pin-length-badge{margin-left:auto;padding:6px 9px;border-radius:8px;border:1px solid #23445e;background:#0d2436;color:#7197b7;font-size:7px;letter-spacing:.12em}.unlock-rule-card{transition:border-color .18s ease,transform .18s ease;background .18s ease}.unlock-rule-card:hover{border-color:#31516e;background:linear-gradient(145deg,rgba(17,39,60,.92),rgba(9,25,39,.92))}.unlock-rule-card.danger-rule-card:hover{border-color:#673441}.premium-unlock-panel .unlock-keypad button{font-size:20px;font-weight:800;transition:transform .08s ease,filter .12s ease,border-color .12s ease}.premium-unlock-panel .unlock-keypad button:active{transform:scale(.955);filter:brightness(1.12)}.unlock-panel-footer{margin-top:16px;padding-top:13px;border-top:1px solid rgba(91,128,164,.13);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;color:#49637d;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.unlock-panel-footer>span:last-child{text-align:right}.unlock-panel-footer .unlock-secure{margin:0;color:#607b93;font-size:7px;white-space:nowrap}

/* Arrivée */
.premium-registration-layout{grid-template-columns:minmax(310px,.62fr) minmax(620px,1.38fr);gap:26px}.premium-registration-guide{background:linear-gradient(155deg,rgba(11,30,48,.98),rgba(7,20,33,.97));border-color:rgba(98,156,208,.27)}.premium-registration-guide .guide-points>div{position:relative}.premium-registration-guide .guide-points>div.is-active{margin:0 -12px;padding:12px;border-radius:14px;border:1px solid rgba(60,139,214,.25);background:rgba(13,47,77,.38)}.premium-registration-guide .guide-points>div.is-active>span{background:linear-gradient(145deg,#176ab1,#114675);border-color:#3b8bca;color:#fff;box-shadow:0 8px 20px rgba(18,102,172,.22)}.polished-registration-form{gap:15px;padding:26px 30px 28px;background:linear-gradient(150deg,rgba(10,28,45,.98),rgba(7,20,33,.98))}.form-section-head{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid rgba(99,139,176,.14)}.form-section-number{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#0f3151;border:1px solid #2b628f;color:#8acaff;font-size:10px;font-weight:900}.form-section-head>div{display:grid;gap:1px}.form-section-head small{font-size:7px;color:#59738d;letter-spacing:.18em}.form-section-head strong{font-size:13px;color:#dfeaf3}.form-section-head>i{font-style:normal;margin-left:auto;color:#587087;font-size:8px}.polished-registration-form input,.polished-registration-form select{height:56px;font-size:16px;background:linear-gradient(180deg,#081622,#07131f);border-color:#29475f}.polished-registration-form input::placeholder{color:#526b82}.reason-field{margin-top:1px}.signature-title{padding-top:1px}.signature-title>div>span{font-size:12px}.erase-signature{height:34px;padding:0 12px;cursor:pointer}.signature-hint{display:flex;align-items:center;gap:8px;font-weight:700}.signature-hint b{font-size:23px;font-weight:400}.form-submit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:center;gap:18px}.privacy-hint{display:flex;align-items:center;gap:10px;color:#6e879d}.privacy-hint>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#0d2438;border:1px solid #27445e}.privacy-hint p{display:grid;gap:2px;margin:0}.privacy-hint strong{font-size:9px;color:#8ea4b7}.privacy-hint small{font-size:8px;color:#5d748a;text-transform:none;letter-spacing:0}.form-submit-row .kiosk-submit{width:100%;height:60px;transition:transform .14s ease,filter .14s ease}.form-submit-row .kiosk-submit:active{transform:scale(.985);filter:brightness(1.08)}

/* Départ */
.departure-toolbar{min-height:76px;margin-bottom:16px;padding:12px 16px 12px 18px;border:1px solid var(--k-border);border-radius:20px;background:linear-gradient(145deg,rgba(10,27,44,.93),rgba(7,20,33,.92));display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 14px 36px rgba(0,0,0,.13)}.departure-toolbar-copy{display:flex;align-items:center;gap:13px}.departure-toolbar-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#3a263e,#14283b);border:1px solid #65435f;color:#efc6e1;font-size:20px}.departure-toolbar-copy>div{display:grid;gap:3px}.departure-toolbar-copy strong{font-size:13px}.departure-toolbar-copy small{font-size:9px;color:#71869a}.departure-search{height:46px;min-width:320px;display:flex;align-items:center;gap:9px;padding:0 13px;border-radius:13px;border:1px solid #2a475f;background:#081722}.departure-search>span{font-size:22px;color:#6993b4;line-height:1}.departure-search input{width:100%;border:0;outline:0;background:transparent;color:#eff6fc;font-size:13px}.departure-search input::placeholder{color:#5d7388}.premium-departure-list{gap:16px}.premium-departure-card{min-height:138px;padding:19px 20px;border-color:rgba(111,158,202,.24);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.premium-departure-card:hover{transform:translateY(-1px);border-color:rgba(94,164,230,.38);box-shadow:0 20px 46px rgba(0,0,0,.22)}.premium-departure-card .departure-copy small{display:flex;align-items:center;gap:7px}.premium-departure-card .departure-copy small i{width:7px;height:7px;border-radius:50%;background:#68dda9;box-shadow:0 0 9px rgba(104,221,169,.5)}.premium-departure-card .departure-button{height:52px;min-width:185px;border-color:#315b7e;background:linear-gradient(145deg,#112d49,#0c2135);transition:transform .13s ease,background .13s ease}.premium-departure-card .departure-button:active{transform:scale(.975);background:#153957}.departure-no-result{min-height:260px;border:1px dashed #314a61;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#71879b}.departure-no-result>span{font-size:38px;color:#527a9b}.departure-no-result strong{font-size:18px;color:#dce7f0}.departure-no-result small{font-size:10px;color:#647b91}.departure-confirm-layer{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,8,14,.72);backdrop-filter:blur(13px);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.departure-confirm-layer.is-visible{opacity:1;visibility:visible}.departure-confirm-card{width:min(520px,94vw);padding:32px;border:1px solid rgba(137,87,128,.58);border-radius:26px;background:linear-gradient(155deg,#1a2431,#171722 58%,#211720);box-shadow:0 36px 95px rgba(0,0,0,.58);text-align:center}.departure-confirm-icon{width:82px;height:82px;margin:0 auto 16px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#46273f,#182b3c);border:1px solid #7b4d70;color:#f3cee6;font-size:35px;box-shadow:0 18px 40px rgba(0,0,0,.25)}.departure-confirm-card h2{font-size:29px;margin:8px 0 8px;letter-spacing:-.035em}.departure-confirm-card p{font-size:13px;line-height:1.55;color:#8ea1b2;margin:0}.departure-confirm-card p strong{color:#eef4f9}.departure-confirm-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:10px;margin-top:26px}.departure-confirm-actions button{height:54px;border-radius:14px;font-size:12px;font-weight:850;cursor:pointer}.confirm-cancel{border:1px solid #374a5c;background:#111e2a;color:#a9b9c7}.confirm-submit{border:1px solid #397db3;background:linear-gradient(135deg,#167fdc,#0b5da8);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 16px}.confirm-submit b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12)}.confirm-submit:disabled{opacity:.55;cursor:wait}

/* Confirmation */
.polished-success-card{position:relative;overflow:hidden;border-color:rgba(78,178,126,.48);background:radial-gradient(circle at 50% 0,rgba(44,129,89,.16),transparent 36%),linear-gradient(150deg,rgba(11,40,36,.97),rgba(7,24,31,.98))}.polished-success-card:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;top:-235px;left:50%;transform:translateX(-50%);border:1px solid rgba(105,221,165,.08);box-shadow:0 0 0 45px rgba(105,221,165,.018),0 0 0 90px rgba(105,221,165,.01)}.success-home-button{width:min(330px,100%);height:54px;margin:0 0 17px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 18px;border:1px solid #337557;background:linear-gradient(135deg,#176445,#124d39);color:#eafff5;font-size:12px;font-weight:850}.success-home-button b{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1)}.success-countdown{width:min(330px,100%);height:3px;border-radius:99px;background:#143026;overflow:hidden;margin-bottom:12px}.success-countdown i{display:block;width:100%;height:100%;background:#61d99e;transform-origin:left;animation:kioskCountdown 6s linear forwards}@keyframes kioskCountdown{to{transform:scaleX(0)}}

@media(max-width:1500px){.premium-unlock-layout{grid-template-columns:minmax(0,1fr) minmax(410px,470px);gap:28px}.unlock-rules{margin-top:22px}.premium-registration-layout{grid-template-columns:310px minmax(0,1fr);gap:20px}.premium-registration-guide{padding:26px}.polished-registration-form{padding:22px 26px;gap:13px}.premium-signature-box{height:165px}.form-submit-row{grid-template-columns:minmax(0,1fr) 280px}.premium-departure-card{min-height:126px;padding:16px 17px}.premium-departure-card .departure-button{min-width:170px}.departure-toolbar{min-height:68px}}
@media(max-width:1180px){.departure-toolbar{align-items:stretch;flex-direction:column}.departure-search{min-width:0;width:100%}.premium-departure-card .departure-button{min-width:0}.form-submit-row{grid-template-columns:1fr}.privacy-hint{display:none}}
@media(max-width:860px){.unlock-heading-line{justify-content:center}.unlock-security-chip{display:none}.unlock-panel-footer{grid-template-columns:1fr}.unlock-panel-footer>span:not(.unlock-secure){display:none}.premium-registration-layout{grid-template-columns:1fr}.polished-registration-form{padding:20px}.premium-signature-box{height:175px}.departure-toolbar-copy{display:none}.departure-toolbar{padding:10px}.departure-search{height:50px}.departure-confirm-actions{grid-template-columns:1fr}.premium-departure-card .departure-button{min-width:0}}

/* =========================================================
   V3.1 — Kiosque aéré / isolation des anciens styles Registre
   ========================================================= */
/* Les anciens styles de l'app appliquaient une carte à chaque <section>.
   On neutralise uniquement les grands conteneurs publics du kiosque. */
body.kiosk-public .kiosk-main > .kiosk-home,
body.kiosk-public .kiosk-main > .kiosk-subpage,
body.kiosk-public .kiosk-main > .unlock-layout,
body.kiosk-public .kiosk-main > .success-stage{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Échelle confortable par défaut pour une tablette 15,6". */
body.kiosk-public .kiosk-main{font-size:16px}
.kiosk-home{gap:24px}
.kiosk-action-grid{gap:24px}
.kiosk-action-card{min-height:178px;padding:26px 34px}
.presence-panel>header{padding:16px 28px}
.kiosk-rules-strip{padding:14px 24px}

/* PIN : on utilise vraiment toute la largeur au lieu d'une petite colonne tassée. */
.premium-unlock-layout{
  grid-template-columns:minmax(0,1.22fr) minmax(500px,.78fr);
  gap:clamp(40px,4vw,72px);
  align-items:center;
  padding:20px 0 26px;
}
.unlock-welcome{padding:12px 0 18px}
.unlock-welcome h1{font-size:clamp(54px,4.5vw,76px);margin:14px 0 20px}
.unlock-welcome>p{font-size:16px;max-width:780px;line-height:1.75}
.unlock-rules{max-width:980px;gap:20px;margin-top:34px}
.unlock-rules article{min-height:126px;padding:24px;grid-template-columns:64px 1fr;gap:19px}
.unlock-rule-icon{width:62px;height:62px}
.unlock-rule-icon svg{width:38px;height:38px}
.unlock-rules article small{font-size:9px}
.unlock-rules article strong{font-size:15px;margin:7px 0}
.unlock-rules article p{font-size:12px;line-height:1.62}
.unlock-note{margin-top:22px}
.unlock-note strong{font-size:12px}.unlock-note small{font-size:10px}
.premium-unlock-panel{width:100%;max-width:560px;justify-self:end}
.premium-unlock-panel .unlock-panel-status{height:78px;padding:0 28px}
.premium-unlock-panel .unlock-panel-body{padding:34px 38px 32px}
.premium-unlock-panel .unlock-lock{width:66px;height:66px;margin-bottom:18px}
.premium-unlock-panel .unlock-lock svg{width:35px;height:35px}
.premium-unlock-panel .unlock-panel-body h2{font-size:31px;margin:8px 0 8px}
.premium-unlock-panel .unlock-panel-body>p{font-size:11px;max-width:340px}
.premium-unlock-panel .unlock-dots{margin:25px 0 25px;gap:16px}
.premium-unlock-panel .unlock-dots span{width:16px;height:16px}
.premium-unlock-panel .unlock-keypad{gap:11px}
.premium-unlock-panel .unlock-keypad button{height:62px;border-radius:14px;font-size:21px}
.premium-unlock-panel .unlock-panel-footer{margin-top:18px;padding-top:15px}

/* Arrivée / départ : plus de respiration sur les grands écrans. */
.premium-registration-layout{gap:30px;grid-template-columns:minmax(330px,.62fr) minmax(660px,1.38fr)}
.premium-registration-guide{padding:32px}
.polished-registration-form{padding:30px 34px 32px;gap:18px}
.polished-registration-form input,.polished-registration-form select{height:60px}
.premium-signature-box{height:190px}
.departure-toolbar{min-height:82px;padding:15px 19px}
.premium-departure-list{gap:20px}
.premium-departure-card{min-height:146px;padding:21px 22px}

/* Écran FHD / grande tablette : on profite de l'espace vertical disponible. */
@media (min-width:1501px) and (min-height:820px){
  .kiosk-main{padding-top:30px;padding-bottom:28px}
  .kiosk-home{gap:26px}
  .kiosk-hero-title{min-height:150px}
  .kiosk-action-card{min-height:196px}
  .presence-panel>header{min-height:78px}
  .kiosk-rules-strip{min-height:90px}
  .premium-unlock-layout{min-height:calc(100dvh - 185px)}
  .premium-unlock-panel{max-width:585px}
  .premium-unlock-panel .unlock-keypad button{height:66px}
}

/* 1366×768 / petits viewports : compact, mais plus écrasé. */
@media (max-width:1500px){
  .kiosk-home{gap:19px}
  .kiosk-action-grid{gap:18px}
  .kiosk-action-card{min-height:164px;padding:21px 27px}
  .premium-unlock-layout{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);gap:30px;padding:10px 0 14px}
  .unlock-welcome h1{font-size:clamp(46px,4.2vw,62px);margin:10px 0 15px}
  .unlock-welcome>p{font-size:14px}
  .unlock-rules{gap:15px;margin-top:24px}
  .unlock-rules article{min-height:110px;padding:18px;grid-template-columns:56px 1fr;gap:15px}
  .unlock-rule-icon{width:54px;height:54px}
  .unlock-rules article strong{font-size:13px}.unlock-rules article p{font-size:10px}
  .premium-unlock-panel{max-width:500px}
  .premium-unlock-panel .unlock-panel-status{height:70px;padding:0 24px}
  .premium-unlock-panel .unlock-panel-body{padding:26px 32px 26px}
  .premium-unlock-panel .unlock-lock{width:56px;height:56px;margin-bottom:13px}
  .premium-unlock-panel .unlock-panel-body h2{font-size:27px}
  .premium-unlock-panel .unlock-dots{margin:19px 0 20px}
  .premium-unlock-panel .unlock-keypad{gap:9px}
  .premium-unlock-panel .unlock-keypad button{height:56px;font-size:19px}
  .premium-registration-layout{grid-template-columns:320px minmax(0,1fr);gap:22px}
  .premium-registration-guide{padding:27px}
  .polished-registration-form{padding:24px 28px;gap:15px}
  .premium-signature-box{height:172px}
}
