/* Swiss TrottiPass — one mobile design system. */
.m-home,.m-bottom,.m-account,.m-back,.m-page-title{display:none}
.m-network{position:fixed;top:0;left:0;right:0;margin:0;padding:11px 18px;background:#fff2d9;color:#76510f;font:13px/1.4 system-ui;z-index:180;text-align:center}
.m-network[hidden]{display:none}.m-install-dialog{width:calc(100% - 32px);max-width:440px;border:0;border-radius:24px;padding:28px;color:#14243c}.m-install-dialog h2{font-size:27px}.m-install-dialog p{font-size:14px;line-height:1.7}.m-install-dialog .m-install-done{width:100%;min-height:48px;margin-top:16px}.m-install-dialog::backdrop{background:#13243999}
@media(max-width:1024px){
 html:has(body.mobile-app){scroll-behavior:auto;scroll-padding-top:82px}
 body.mobile-app{--m-ink:#14263f;--m-muted:#748195;--m-line:#e5e9ef;--m-red:#eb2841;--m-page:#f6f7f9;--m-card:#fff;margin:0;background:var(--m-page);color:var(--m-ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.5;width:100%;max-width:100%;padding-bottom:calc(85px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
 body.mobile-app *,body.mobile-admin *{box-sizing:border-box}
 body.mobile-app :where(div,main,section,article,aside,fieldset,form,nav,details){min-width:0;min-inline-size:0}
 body.mobile-app :where(h1,h2,h3,h4,p,a,label,summary,span,strong,small,dt,dd){overflow-wrap:anywhere}
 body.mobile-app :where(img,video,canvas,iframe,object,embed){max-width:100%}
 body.mobile-app :where(button,.button){font-family:inherit;font-weight:600;font-size:14px;line-height:1.35;min-height:48px;max-width:100%;white-space:normal;overflow-wrap:anywhere;border-radius:13px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:none}
 body.mobile-app button:hover,body.mobile-app .button:hover{box-shadow:none}
 body.mobile-app button:active,body.mobile-app .button:active{filter:brightness(.96)}
 body.mobile-app button:disabled{opacity:.5}
 body.mobile-app button:focus-visible,body.mobile-app a:focus-visible{outline:3px solid #94b5e2;outline-offset:3px}
 body.mobile-app .site-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;max-width:640px;height:68px;margin:auto;padding:10px 20px;border:0;background:var(--m-page)!important}
 body.mobile-app .site-header>nav,body.mobile-app .site-footer{display:none!important}
 body.mobile-app .site-header .brand{margin-right:auto;min-width:0}
 body.mobile-app .site-header .site-logo{width:187px;height:auto}
 body.mobile-app.m-inner .site-header .brand{display:none}
 body.mobile-app .m-back{display:grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;flex:0 0 42px;border:1px solid var(--m-line);background:white;border-radius:14px;color:var(--m-ink)}
 body.mobile-app .m-back svg{width:22px;height:22px}
 body.mobile-app .m-page-title{display:block;font-size:18px;font-weight:700;letter-spacing:-.4px;line-height:1.25}
 body.mobile-app main.wrap{width:100%;max-width:640px;margin:auto;padding:0 20px}
 body.mobile-app #home-page> :not(.m-home){display:none}
 body.mobile-app #home-page>.m-home{display:block}
 body.mobile-app .m-welcome{padding:23px 0 24px}
 .m-eyebrow{color:#8995a5;font-size:10px;letter-spacing:2px;font-weight:750}
 body.mobile-app .m-welcome h1{font-size:34px;letter-spacing:-1.5px;font-weight:750;line-height:1.14;margin:12px 0 13px;white-space:pre-line}
 body.mobile-app .m-welcome p{color:#748195;font-size:14px;line-height:1.6;margin:0;max-width:290px}
 body.mobile-app .m-passport{width:100%;display:flex;position:relative;overflow:hidden;flex-direction:column;align-items:flex-start;text-align:left;background:linear-gradient(125deg,#1b3655,#112239);color:white;border:0;border-radius:25px;padding:24px;min-height:218px;box-shadow:0 10px 24px #152a4514}
 .m-pass-top{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:650;letter-spacing:1.5px;color:#c5d3e3}
 .m-pass-mark{font-size:23px;line-height:1;color:#fff}
 .m-passport>strong{font-size:29px;font-weight:750;letter-spacing:-.8px;margin:26px 0 8px;position:relative;z-index:1}
 .m-passport>#m-pass-model{font-size:12px;color:#b6c7dc;max-width:90%;position:relative;z-index:1}
 .m-pass-bottom{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:24px;padding-top:16px;border-top:1px solid #ffffff20;font-size:13px;position:relative;z-index:1}
 .m-pass-bottom svg{width:19px;height:19px}
 .m-pass-art{position:absolute;right:-24px;top:34px;color:#ffffff05;font-size:170px;line-height:1;pointer-events:none;transform:rotate(-12deg)}
 body.mobile-app .m-add{display:flex;align-items:center;gap:12px;width:100%;min-height:59px;margin-top:13px;padding:16px 18px;background:#fff;border:1px solid var(--m-line);color:var(--m-ink);border-radius:17px;text-align:left;font-size:13px}
 .m-add svg{width:21px;height:21px;flex-shrink:0}.m-add svg:first-child{color:var(--m-red)}.m-add svg:last-child{width:17px;margin-left:auto;color:#94a2b2}
 body.mobile-app .m-section-title{font-size:16px;font-weight:700;letter-spacing:-.3px;margin:28px 0 13px}
 .m-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.mobile-app .m-shortcuts button{display:flex;align-items:flex-start;flex-direction:column;text-align:left;min-height:144px;padding:19px 16px;border:1px solid var(--m-line);background:white;border-radius:20px;color:var(--m-ink)}
 .m-shortcut-icon{display:grid;place-items:center;width:38px;height:38px;background:#f1f4f8;border-radius:12px;margin-bottom:14px;color:#36577c}.m-shortcut-icon svg{width:22px;height:22px}.m-shortcuts strong{font-size:13px}.m-shortcuts button>span:last-child{font-size:11px;color:var(--m-muted);margin-top:5px;font-weight:400}
 body.mobile-app .m-help-row{width:100%;display:flex;align-items:center;gap:11px;padding:17px 2px;background:transparent;border:0;color:#6b7d92;font-size:12px;margin:13px 0 0;text-align:left}.m-help-row svg{width:18px;height:18px;flex-shrink:0}.m-help-row svg:last-child{margin-left:auto;width:15px}.m-free{text-align:center;font-size:10px;color:#98a3b2;margin:12px 0 20px}
 body.mobile-app .m-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:640px;border-top:1px solid #e9edf2;background:#fff;padding:8px 10px calc(8px + env(safe-area-inset-bottom));z-index:70}
 body.mobile-app .m-bottom button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:54px;padding:7px 2px;background:transparent;border:0;border-radius:13px;color:#8994a4;transition:background-color .1s}
 .m-bottom svg{width:22px;height:22px}.m-bottom span{font-size:10px;font-weight:650}.m-bottom button[aria-current=page]{color:#dc263e!important;background:#fff2f4!important}
 body.mobile-app .workspace{display:block;width:100%;margin:0;background:transparent;border:0}
 body.mobile-app .workspace>nav,body.mobile-app .workspace-sidebar,body.mobile-app .workspace-nav,body.mobile-app .workspace-heading,body.mobile-app .workspace-screen .screen-heading,body.mobile-app .workspace-content>.session,body.mobile-app .account-page-heading{display:none!important}
 body.mobile-app .workspace-content{width:100%;padding:0!important;background:transparent;border:0;border-radius:0;min-height:0}
 body.mobile-app .workspace-screen{animation:none!important}
 body.mobile-app #account{margin:14px 0 28px;padding:0;width:100%;max-width:100%;background:transparent;border:0}
 body.mobile-app .m-account{display:block}
 .m-identity{display:flex;align-items:center;gap:14px;margin:4px 0 22px;padding:20px;background:#fff;border:1px solid var(--m-line);border-radius:22px}.m-avatar{display:grid;place-items:center;flex-shrink:0;width:49px;height:49px;border-radius:17px;background:#edf2f8;color:#3d5d80}.m-avatar svg{width:25px;height:25px}.m-identity>div{min-width:0}.m-identity strong{display:block;font-size:17px;letter-spacing:-.35px}.m-identity #m-account-email{display:block;font-size:11px;color:#7c8a9c;margin-top:5px;overflow-wrap:anywhere}
 .m-menu{background:white;border:1px solid var(--m-line);border-radius:22px;overflow:hidden}
 body.mobile-app .m-menu button{display:flex;align-items:center;gap:13px;width:100%;padding:18px 17px;background:white;border:0;border-bottom:1px solid #edf0f4;border-radius:0;text-align:left;color:var(--m-ink);min-height:76px}
 .m-menu button:last-child{border-bottom:0}.m-menu-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#f3f5f8;color:#5d7795;flex-shrink:0}.m-menu-icon svg{width:19px;height:19px}.m-menu-label{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.m-menu-label strong{font-size:13px;font-weight:650}.m-menu-label small{font-size:10px;color:#8a97a8;font-weight:400}.m-menu button>svg{width:16px;height:16px;flex-shrink:0;color:#a1adbb}
 body.mobile-app .m-logout{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:transparent;border:0;color:#bd3145;font-size:12px;min-height:54px;margin:14px 0}.m-logout svg{width:18px;height:18px}
 body.mobile-app[data-mobile-account=menu] #owner-profile-panel{display:none!important}
 body.mobile-app[data-mobile-account=profile] .m-account{display:none!important}
 body.mobile-app #owner-profile-panel{display:block;background:white;border:1px solid var(--m-line)!important;border-radius:22px;padding:21px!important;margin:0}
 body.mobile-app #owner-profile-panel>summary{display:none!important}
 body.mobile-app #owner-profile-panel #profile-form{padding:0}
 body.mobile-app :where(input:not([type=checkbox]):not([type=radio]),textarea,select){display:block;width:100%;max-width:100%;min-width:0;min-inline-size:0;background:#f8fafc;color:var(--m-ink);border:1px solid #dde4ed;border-radius:12px;padding:14px 12px;min-height:50px;font-family:inherit;font-size:16px;line-height:1.35;-webkit-appearance:none;appearance:none}
 body.mobile-app select{appearance:auto;padding-right:28px}
 body.mobile-app input[type=file]{font-size:12px;padding:10px 6px;overflow:hidden}
 body.mobile-app input::file-selector-button{max-width:100%;font-size:11px;background:#edf2f7;border:1px solid #dbe3ed;border-radius:8px;padding:8px}
 body.mobile-app input:focus,body.mobile-app select:focus,body.mobile-app textarea:focus{outline:3px solid #e8eff9;border-color:#8aa9d2}
 body.mobile-app :where(input[type=checkbox],input[type=radio]){width:18px;height:18px;min-height:18px;min-width:18px;flex:0 0 18px;margin:3px 0;padding:0;accent-color:var(--m-red)}
 body.mobile-app label{display:block;font-size:12px;color:#60738a;font-weight:600;margin:16px 0 7px;white-space:normal}
 body.mobile-app .ownership-declaration{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:11px;line-height:1.6}
 body.mobile-app .columns{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0}
 body.mobile-app fieldset{width:100%;min-inline-size:0;border:0;padding:0;margin:0}
 body.mobile-app form{max-width:100%;width:100%;min-width:0}
 body.mobile-app .form-card,body.mobile-app .email-wait-card,body.mobile-app .security-card{width:100%;max-width:100%;margin:15px 0;background:white;border:1px solid var(--m-line);border-radius:21px;padding:21px!important;box-shadow:none}
 body.mobile-app .form-card>h3{font-size:21px;letter-spacing:-.5px;margin:4px 0 14px}
 body.mobile-app .small{font-size:11px;line-height:1.65;color:#8190a2}
 body.mobile-app .notice{font-size:12px;line-height:1.7;white-space:normal;border-radius:13px}
 body.mobile-app .actions,body.mobile-app .wizard-controls{display:flex;flex-direction:column;gap:10px;align-items:stretch;width:100%}
 body.mobile-app .actions>*,body.mobile-app .wizard-controls>*{width:100%;max-width:100%;flex:auto;margin:0}
 body.mobile-app form>button{width:100%;margin-top:22px;border-radius:13px;min-height:50px}
 body.mobile-app button.outline{background:#fff;color:#536d8b;border:1px solid #dfe6ef}
 body.mobile-app .text-button{display:block;font-size:12px;width:100%;padding:9px 2px;min-height:40px;color:#4b729e}
 body.mobile-app #auth{width:100%;max-width:100%;padding:24px 21px!important;background:white;border:1px solid var(--m-line);border-radius:24px;box-shadow:none;margin:0}
 body.mobile-app .auth-shell{display:block;width:100%;margin:0;border:0;border-radius:0}.mobile-app .auth-welcome{display:none!important}.mobile-app .auth-main{padding:0}
 body.mobile-app .auth-tabs,body.mobile-app .auth-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#edf1f6;border:0;padding:5px;border-radius:13px;margin:0 0 24px}
 body.mobile-app .auth-tabs button,body.mobile-app .auth-switch button{font-size:12px;padding:12px 6px;border:0;background:transparent;color:#8190a3;border-radius:10px;min-height:43px}
 body.mobile-app .auth-tabs button.active,body.mobile-app .auth-switch button.active{background:white;color:var(--m-ink);box-shadow:0 2px 8px #182b4210}
 body.mobile-app #auth-title,body.mobile-app #recovery-title{font-size:25px;letter-spacing:-.6px;line-height:1.2;margin:10px 0 13px}
 body.mobile-app #auth-description{font-size:12px;line-height:1.7;margin-bottom:20px;color:#8190a2}
 body.mobile-app .wizard-label{font-size:10px;color:#dd2a42;letter-spacing:1px;margin-bottom:17px}
 body.mobile-app .password-options{display:flex;flex-direction:column;gap:5px;align-items:stretch}
 body.mobile-app .signup-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%;margin:0 0 17px;padding:0}
 body.mobile-app .signup-progress li{display:flex;flex-direction:row;align-items:center;gap:5px;padding:6px 0;border:0;font-size:9px;min-width:0;flex-wrap:wrap}
 body.mobile-app .signup-progress li strong{font-size:9px}.mobile-app .signup-progress li span{width:20px;height:20px;font-size:9px;flex-shrink:0}
 body.mobile-app .account-state{padding:12px 15px;border-radius:13px;font-size:11px;margin:0 0 18px;line-height:1.65;background:#fff7e9;border-left:3px solid #e7b66b}
 body.mobile-app .email-wait-card{padding:24px 20px!important;text-align:center}.mobile-app .email-wait-card h3{font-size:24px}.mobile-app .email-wait-card p{font-size:12px;line-height:1.7}.mobile-app .email-wait-card>button{width:100%}
 body.mobile-app #passport-area>h3{font-size:16px;font-weight:700;letter-spacing:-.3px;margin:22px 0 13px}.mobile-app #passport-area>.actions{margin:0 0 20px}
 body.mobile-app #show-add{background:var(--m-ink);color:#fff;border:0}
 body.mobile-app .scooter-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:17px}
 body.mobile-app .scooter-card{width:100%;padding:19px!important;border:1px solid var(--m-line);border-radius:23px!important;background:white;box-shadow:none!important;overflow:hidden}
 body.mobile-app .scooter-card img{width:100%;height:190px;object-fit:contain;border-radius:15px;background:#f6f8fb;float:none;margin-bottom:18px;mix-blend-mode:normal}
 body.mobile-app .scooter-card h3{font-size:22px;letter-spacing:-.6px;margin:0 0 10px}.mobile-app .scooter-card>p{font-size:12px;line-height:1.65}.mobile-app .scooter-card>button{width:100%;min-height:49px;margin-top:17px;border-radius:13px;background:var(--m-ink);color:white}
 body.mobile-app .status{display:inline-block;white-space:normal;max-width:100%;font-size:10px;line-height:1.5;padding:6px 9px;border-radius:8px;margin:3px 4px 3px 0}
 body.mobile-app .empty-state{margin:14px 0;padding:30px 21px;background:white;border:1px solid var(--m-line);border-radius:22px}.mobile-app .empty-state h3{font-size:22px;letter-spacing:-.5px;line-height:1.3}.mobile-app .empty-state p{font-size:12px;line-height:1.7}.mobile-app .empty-state button{width:100%;margin-top:17px}
 body.mobile-app #verify{width:100%;max-width:100%;margin:12px 0 25px;padding:0;background:transparent;border:0;box-shadow:none;color:var(--m-ink)}
 body.mobile-app #verify .page-intro h1{font-size:29px;letter-spacing:-1px;margin:16px 0 12px}.mobile-app #verify .page-intro p{font-size:13px;color:#8190a2;line-height:1.7}
 body.mobile-app #verify .actions{margin:22px 0}.mobile-app #scan-qr{background:var(--m-ink);border-radius:15px;min-height:53px}.mobile-app .scan-file-label{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;border-radius:13px}
 body.mobile-app #verify-form{display:flex;flex-direction:column;gap:9px;padding:21px;background:white;border:1px solid var(--m-line);border-radius:22px;margin:22px 0}.mobile-app #verify-form button{width:100%;margin-top:3px}
 body.mobile-app .result{background:white;border:1px solid var(--m-line);border-radius:22px;padding:21px;color:var(--m-ink);font-size:13px}.mobile-app .result h3{font-size:23px;letter-spacing:-.5px}
 body.mobile-app #help-page,body.mobile-app #legal{width:100%;max-width:100%;margin:12px 0 25px;padding:0}.mobile-app #help-page h2{font-size:25px;letter-spacing:-.7px}.mobile-app #help-page p,.mobile-app #legal p{font-size:12px;line-height:1.8}
 body.mobile-app #legal>h2{font-size:26px}.mobile-app #legal details{padding:18px;background:white;border:1px solid var(--m-line);border-radius:17px;margin:12px 0}
 body.mobile-app summary{font-size:14px;line-height:1.5;min-height:30px;cursor:pointer}.mobile-app details[open]>summary{margin-bottom:17px}
 body.mobile-app .postal-service-card{padding:21px;background:white;border:1px solid var(--m-line);border-radius:22px}.mobile-app .postal-service-card h3{font-size:23px;letter-spacing:-.6px;line-height:1.2}.mobile-app .postal-service-card p{font-size:12px;line-height:1.7}
 body.mobile-app .postal-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.mobile-app .postal-quote{grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:10px 12px;padding:15px;font-size:12px;border-radius:14px}.mobile-app .postal-quote dd{text-align:right;overflow-wrap:anywhere}
 body.mobile-app .m-session-info h2{font-size:20px}.mobile-app .m-session-info p{font-size:12px;line-height:1.75}
 body.mobile-app dialog:not(.m-install-dialog){position:fixed;inset:0;transform:none;width:100%;max-width:640px;height:100dvh;max-height:100dvh;margin:0 auto;border:0;border-radius:0;overflow:auto;overscroll-behavior:contain;padding:calc(20px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));background:var(--m-page);color:var(--m-ink)}
 body.mobile-app dialog::backdrop{background:#15294088}
 body.mobile-app dialog .close{position:sticky;top:0;float:right;z-index:5;width:42px;height:42px;min-height:42px;display:grid;place-items:center;padding:0;border:1px solid var(--m-line);background:white;border-radius:14px;color:var(--m-ink);font-size:17px}
 body.mobile-app #detail-content{clear:both;width:100%;padding-top:20px}.mobile-app #detail-content>h2{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:12px 0}.mobile-app #detail-content>p{font-size:12px;line-height:1.7}
 body.mobile-app .passport-tabs{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:5px;background:#eaf0f6;border-radius:14px;margin:18px 0 22px;width:100%}.mobile-app .passport-tabs button{font-size:10px;padding:10px 3px;border-radius:10px;min-height:43px;background:transparent;color:#70839a;border:0}.mobile-app .passport-tabs button[aria-pressed=true]{background:white;color:var(--m-ink);box-shadow:0 2px 6px #14263f0b}
 body.mobile-app #detail-content .maintenance{font-size:12px;background:white;padding:17px;border:1px solid var(--m-line);border-radius:17px;margin:12px 0}.mobile-app #detail-content a{white-space:normal;overflow-wrap:anywhere}.mobile-app #detail-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-width:100%}
 body.mobile-app #scanner-dialog>h2{font-size:28px;letter-spacing:-.6px;clear:both;margin-top:24px}.mobile-app #scanner-dialog>p{font-size:13px;color:#8291a4;line-height:1.7}.mobile-app .camera-frame{width:100%;max-width:440px;aspect-ratio:1;margin:24px auto;overflow:hidden;border-radius:23px;background:#13253d}.mobile-app .camera-frame video{width:100%;height:100%;object-fit:cover}.mobile-app #scanner-photo{width:100%}
 body.mobile-app.m-dialog-open{overflow:hidden}.mobile-app.m-keyboard .m-bottom{display:none}.mobile-app.m-keyboard{padding-bottom:18px}
 body.mobile-app [hidden]{display:none!important}
 body.mobile-admin{background:#f6f7f9;max-width:100%;width:100%;margin:0}
 body.mobile-admin .wrap{width:100%;max-width:640px;padding:0 16px;margin:auto}.mobile-admin .site-header{padding:12px 16px;height:68px;background:#f6f7f9!important}.mobile-admin .site-header nav,.mobile-admin .site-footer{display:none}
 body.mobile-admin .admin-root{width:100%;min-width:0;padding:15px 0 25px}.mobile-admin .admin-login-card{width:100%;max-width:100%;padding:23px;border-radius:23px;margin:14px 0}.mobile-admin .admin-login-card h1{font-size:31px}
 body.mobile-admin :where(input,textarea,select){min-width:0;max-width:100%;font-size:16px}.mobile-admin :where(p,a,h2,h3,h4,strong,dt,dd){overflow-wrap:anywhere}.mobile-admin .admin-workspace{max-width:100%;min-width:0;border-radius:22px}
 body.mobile-admin .admin-layout,body.mobile-admin .admin-pro .admin-layout{display:block}.mobile-admin .admin-heading{padding:21px;flex-wrap:wrap;gap:9px}.mobile-admin .admin-heading h2{font-size:24px}.mobile-admin .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.mobile-admin .admin-stats>div{min-width:0}
 body.mobile-admin .admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:6px;overflow:visible}.mobile-admin .admin-tabs button{width:100%;min-width:0;white-space:normal;min-height:49px;font-size:11px;padding:11px 7px}
 body.mobile-admin .admin-main{width:100%;min-width:0;padding:16px}.mobile-admin .admin-toolbar{flex-wrap:wrap}.mobile-admin .admin-toolbar input{width:100%;max-width:100%}.mobile-admin .admin-panel-heading{flex-direction:column;gap:10px}.mobile-admin .admin-panel-heading button{width:100%;min-height:44px}
 body.mobile-admin .member-statistics{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-admin .member-record dl{grid-template-columns:minmax(0,1fr)}.mobile-admin .member-record dd{text-align:left;margin:0 0 7px}.mobile-admin .monthly-members{min-width:0;max-width:100%}.mobile-admin .monthly-heading{flex-wrap:wrap;gap:8px;padding:13px}.mobile-admin .monthly-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
 body.mobile-admin .admin-postal-panel #paid-postal-admin>form{display:block}.mobile-admin .admin-records>.form-card{padding:17px;min-width:0}.mobile-admin .member-pagination{flex-wrap:wrap;gap:8px}.mobile-admin .member-pagination button{flex:1;min-width:0;white-space:normal;min-height:44px}.mobile-admin .member-pagination span{width:100%;text-align:center;order:3}
 body.mobile-admin [hidden]{display:none!important}
}
@media(max-width:360px){body.mobile-app main.wrap{padding:0 15px}.mobile-app .site-header{padding:10px 15px}.mobile-app .m-welcome h1{font-size:30px}.mobile-app .m-passport{padding:21px}.mobile-app .m-shortcuts{gap:9px}.mobile-app .m-shortcuts button{padding:16px 12px}.mobile-app .m-menu button{padding:16px 13px;gap:10px}.mobile-app .m-menu-label strong{font-size:12px}}
@media(max-width:1024px){
 body.mobile-app #dashboard{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;grid-template-columns:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
 body.mobile-app #dashboard>div{width:100%!important;min-width:0!important;max-width:100%!important;grid-template-columns:none!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
 body.mobile-app #account .m-desktop-navigation,body.mobile-app #account .m-desktop-session,body.mobile-app #account .m-desktop-heading,body.mobile-app #account .session{display:none!important}
 body.mobile-app #account [data-mobile-profile="menu"]>:not(.m-account){display:none!important}
 body.mobile-app #account [data-mobile-profile="profile"]>.m-account{display:none!important}
 body.mobile-app #account [data-mobile-profile]{width:100%!important;min-width:0!important;max-width:100%!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
 body.mobile-app #account [data-mobile-profile="menu"]>.m-account{display:block!important}
 body.mobile-app #account .m-identity{width:100%;margin-top:0}
 body.mobile-app #account .m-menu{width:100%;max-width:100%}
}
@media(prefers-reduced-motion:reduce){body.mobile-app *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:1024px){
 body.mobile-app #home-page>:not(.m-home){display:revert}
 body.mobile-app #home-page>.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:27px;min-height:0;padding:28px 0}
 body.mobile-app .hero h1{font-size:36px;line-height:1.12;letter-spacing:-1.6px;margin:20px 0}
 body.mobile-app .hero h1 em{font-size:20px;line-height:1.4;letter-spacing:-.5px;margin-top:15px}
 body.mobile-app .hero .lead{font-size:15px;line-height:1.7;max-width:100%}
 body.mobile-app .hero .visual{display:block;width:100%;max-width:480px;padding:22px 14px;border-radius:23px;margin:auto}
 body.mobile-app .hero .visual img{display:block;width:100%;max-width:400px;height:auto;max-height:290px;object-fit:contain;margin:auto}
 body.mobile-app .hero .visual-note{font-size:9px;letter-spacing:1.2px}
 body.mobile-app .mini-pass{padding:13px;gap:9px;border-radius:14px;margin:8px 0 0}
 body.mobile-app .mini-pass strong{font-size:12px}.mobile-app .mini-pass small{font-size:10px}
 body.mobile-app .m-home{display:block;width:100%;padding:3px 0 27px;margin-bottom:16px}
 body.mobile-app .m-home .m-section-title{font-size:18px;margin:12px 0 16px;letter-spacing:-.4px}
 body.mobile-app .m-home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 body.mobile-app .m-home-actions button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:138px;padding:18px 16px;background:white;border:1px solid #e1e7ef;border-radius:19px;color:#14263f}
 body.mobile-app .m-home-actions button:first-child{background:#14263f;color:white;border-color:#14263f}
 body.mobile-app .m-home-actions button:first-child .m-shortcut-icon{background:#ffffff14;color:#fff}
 body.mobile-app .m-home-actions strong{font-size:13px;line-height:1.4}
 body.mobile-app .m-home-actions small{font-size:10px;color:#8493a5;margin-top:5px;line-height:1.4;font-weight:400}
 body.mobile-app .m-home-actions button:first-child small{color:#bfd0e3}
 body.mobile-app #home-page>.features{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;margin:12px 0 26px}
 body.mobile-app .features article{padding:21px;border-radius:19px}.mobile-app .features h3{font-size:19px}.mobile-app .features p{font-size:13px;line-height:1.7}
 body.mobile-app #home-page>.postal-promo{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 20px;margin:27px 0;border-radius:23px}
 body.mobile-app .postal-promo h2{font-size:26px;line-height:1.2}.mobile-app .postal-promo p{font-size:13px}.mobile-app .postal-price{max-width:100%;font-size:12px}.mobile-app .letter-illustration{width:240px;max-width:100%;margin:0 auto 24px}
 body.mobile-app #home-page>.promo-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:25px 0}
 body.mobile-app .promo-support,body.mobile-app .promo-partner{padding:24px 20px;border-radius:23px}
 body.mobile-app .promo-grid h2{font-size:29px;line-height:1.1;letter-spacing:-1px}.mobile-app .promo-grid p{font-size:13px;line-height:1.7}
 body.mobile-app .promo-partner-body{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.mobile-app .sticker-stack{max-width:100%}.mobile-app .promo-card{max-width:100%}
 body.mobile-app #home-page>.faq{display:block;width:100%;margin:30px 0}.mobile-app .faq h2{font-size:27px;letter-spacing:-.7px}.mobile-app .faq p{font-size:13px;line-height:1.7}
 body.mobile-app:not(.m-inner) .site-footer{display:block!important;padding:25px 0;margin:20px 0 0;font-size:12px}
 body.mobile-app:not(.m-inner) .site-footer nav{display:flex;flex-wrap:wrap;gap:12px 17px}.mobile-app:not(.m-inner) .site-footer nav a{display:block!important;font-size:11px}
 body.mobile-app #home-page [hidden]{display:none!important}
}

@media(max-width:1024px){
 html body.mobile-app :where(input,select,textarea),html body.mobile-admin :where(input,select,textarea){font-size:16px!important;line-height:1.4!important;-webkit-text-size-adjust:100%}
 html body.mobile-app{touch-action:pan-x pan-y pinch-zoom}
 html body.mobile-app #scooter-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0 auto!important;gap:18px}
 html body.mobile-app #scooter-list>article,html body.mobile-app .scooter-card{width:100%!important;max-width:480px!important;min-width:0!important;margin:0 auto!important;float:none!important;align-self:center}
 html body.mobile-app .scooter-card img{display:block!important;margin:0 auto 18px!important;float:none!important;object-fit:contain;object-position:center}
 html body.mobile-app #detail-content .qr{display:block!important;width:180px!important;max-width:65%!important;height:auto!important;float:none!important;margin:24px auto!important}
 html body.mobile-app #detail-content .passport-scooter-photo{display:block;max-width:420px;width:100%;height:auto;object-fit:contain;object-position:center;margin:18px auto}
 html body.mobile-app dialog#mobile-pdf-viewer{display:flex;flex-direction:column;inset:0;padding:0!important;height:100dvh;max-height:100dvh;background:#edf1f6;overflow:hidden;gap:0;width:100%;max-width:640px;margin:0 auto;border-radius:0;border:0}
 html body.mobile-app dialog#mobile-pdf-viewer:not([open]){display:none!important}
 #mobile-pdf-viewer .pdf-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;min-height:64px;padding:calc(12px + env(safe-area-inset-top)) 15px 12px;background:#fff;border-bottom:1px solid #e0e6ee}
 #mobile-pdf-viewer .pdf-top button{display:flex;align-items:center;gap:7px;background:#eef2f7;color:#14263f;border:0;border-radius:12px;padding:10px 12px;font-size:20px;min-height:44px}
 #mobile-pdf-viewer .pdf-top button span{font-size:11px;font-weight:650}
 #mobile-pdf-viewer .pdf-top>strong{font-size:12px;color:#63768c;text-align:right}
 #mobile-pdf-viewer #pdf-state{font-size:12px;padding:14px 18px;margin:0;color:#61738b;flex-shrink:0}
 #mobile-pdf-viewer #pdf-state:empty{display:none}
 #mobile-pdf-viewer #pdf-surface{width:100%;min-height:0;flex:1;overflow:auto;padding:18px;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;display:flex;flex-direction:column;align-items:safe center;justify-content:safe center}
 #mobile-pdf-viewer #pdf-canvas{display:block;max-width:none!important;flex-shrink:0;margin:auto;background:white;box-shadow:0 5px 24px #10263f14}
 #mobile-pdf-viewer .pdf-controls{flex-shrink:0;border-top:1px solid #e0e6ee;background:white;padding:9px 15px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}
 #mobile-pdf-viewer .pdf-pages{display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px;color:#61738b}
 #mobile-pdf-viewer .pdf-pages button{width:44px;min-height:40px;height:40px;border:0;border-radius:10px;background:#f0f3f7;color:#14263f;font-size:22px}
 #mobile-pdf-viewer .pdf-tools{display:flex;gap:8px;align-items:center}
 #mobile-pdf-viewer .pdf-tools button{min-height:43px;border:1px solid #e1e7ee;background:white;color:#526d8b;font-size:15px;padding:10px;border-radius:11px}
 #mobile-pdf-viewer .pdf-tools #pdf-export{flex:1;font-size:11px;background:#14263f;color:white;border:0}
}
/* Barre du bas : 6 onglets (Accueil, Communauté, Forum, Scanner, Sécurité, Compte) */
.m-bottom{grid-template-columns:repeat(6,minmax(0,1fr))!important;padding-left:4px!important;padding-right:4px!important}
.m-bottom button span{font-size:10.5px!important;letter-spacing:-.1px;white-space:nowrap}
.m-bottom button svg{width:22px;height:22px}
