:root{--orange: #ff5a1f;--orange-dark: #e04a12;--fond: #0d0d0f;--carte: #1a1a20;--carte-2: #24242c;--texte: #f2f2f4;--gris: #8f8f9a;--vert: #2fbf68;--rouge: #e5493f;--jaune: #e6a700}*{box-sizing:border-box;margin:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--fond);color:var(--texte);font-size:15px}.app{max-width:430px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding-bottom:70px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 10px}.topbar .logo{font-size:24px;font-weight:800;font-style:italic;letter-spacing:-1px}.topbar .logo span{color:var(--orange)}.topbar .who{color:var(--gris);font-size:12px;text-align:right}.page{padding:6px 16px 20px;flex:1}.page h1{font-size:18px;margin:10px 0 14px}.card{background:var(--carte);border-radius:14px;padding:16px;margin-bottom:12px}.card h2{font-size:14px;color:var(--gris);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.big-value{font-size:26px;font-weight:800}button{background:var(--orange);color:#fff;border:none;border-radius:10px;padding:13px 18px;font-weight:700;font-size:15px;cursor:pointer;width:100%}button:active{background:var(--orange-dark)}button:disabled{background:#3a3a42;color:#77777f}button.secondary{background:var(--carte-2);color:var(--texte)}button.success{background:var(--vert)}button.danger{background:var(--rouge)}button.small{width:auto;padding:8px 14px;font-size:13px}input,select{width:100%;padding:12px 14px;border:1px solid #33333c;border-radius:10px;font-size:15px;background:var(--carte-2);color:var(--texte)}input:focus,select:focus{outline:2px solid var(--orange)}label{display:block;font-size:12px;font-weight:600;color:var(--gris);margin:12px 0 5px}.row{display:flex;gap:10px}.row>*{flex:1}.error{background:#3a1512;color:#ff9d94;padding:10px 14px;border-radius:10px;margin:10px 0;font-size:13px}.success-msg{background:#10301c;color:#7fe0a5;padding:10px 14px;border-radius:10px;margin:10px 0;font-size:13px}.pill{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}.availability{display:flex;gap:8px}.availability button{flex:1;padding:10px 6px;font-size:13px}.availability button.inactive{background:var(--carte-2);color:var(--gris)}.offer{border:2px solid var(--orange)}.offer .price{font-size:24px;font-weight:800;color:var(--orange)}.offer .route{margin:10px 0;font-size:14px;line-height:1.6}.tabbar{position:fixed;bottom:0;left:0;right:0;max-width:430px;margin:0 auto;display:flex;background:var(--carte);border-top:1px solid #2c2c34}.tabbar button{background:none;border-radius:0;color:var(--gris);font-size:12px;padding:10px 0 14px}.tabbar button.active{color:var(--orange)}.tabbar .icon{font-size:20px;display:block;margin-bottom:2px}.login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:30px;max-width:430px;margin:0 auto}.login .logo{font-size:40px;font-weight:800;font-style:italic;text-align:center;letter-spacing:-2px}.login .logo span{color:var(--orange)}.login p{text-align:center;color:var(--gris);margin-bottom:26px;font-size:13px}.login button{margin-top:22px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-end;z-index:50}.modal{background:var(--carte);border-radius:18px 18px 0 0;padding:22px 18px 30px;width:100%;max-width:430px;margin:0 auto}.modal h2{font-size:17px;margin-bottom:6px}
