:root{--text: #6b6375;--text-h: #08060d;--bg: #fff;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #aa3bff;--accent-bg: rgba(170, 59, 255, .1);--accent-border: rgba(170, 59, 255, .5);--social-bg: rgba(244, 243, 236, .5);--shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 0 4px 6px -2px;--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:1024px){:root{font-size:16px}}@media(prefers-color-scheme:dark){:root{--text: #9ca3af;--text-h: #f3f4f6;--bg: #16171d;--border: #2e303a;--code-bg: #1f2028;--accent: #c084fc;--accent-bg: rgba(192, 132, 252, .15);--accent-border: rgba(192, 132, 252, .5);--social-bg: rgba(47, 48, 58, .5);--shadow: rgba(0, 0, 0, .4) 0 10px 15px -3px, rgba(0, 0, 0, .25) 0 4px 6px -2px}#social .button-icon{filter:invert(1) brightness(2)}}body{margin:0}#root{width:1126px;max-width:100%;margin:0 auto;text-align:center;border-inline:1px solid var(--border);min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media(max-width:1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media(max-width:1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}*{box-sizing:border-box}body{margin:0;font-family:Poppins,sans-serif;background:#101010}.login-screen,.app-screen{min-height:100vh;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at top,#333,#070707);padding:18px}.login-card,.app-card{position:relative;width:100%;max-width:390px;min-height:720px;background:#fff;border-radius:36px;box-shadow:0 25px 70px #00000073;overflow:hidden}.login-card{padding:42px 28px 24px;text-align:center}.app-card{display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;height:82px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #f0f0f0}.hamburger-button{width:46px;height:46px;border:none;border-radius:15px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.hamburger-button span{width:20px;height:2px;background:#000;border-radius:10px}.home-logo{width:85px;height:auto;object-fit:contain}.app-content{flex:1;padding:26px 22px 18px;overflow-y:auto}.pink-accent{position:absolute;top:0;left:50%;width:125px;height:6px;background:#ec268f;border-radius:0 0 20px 20px;transform:translate(-50%)}.brand{margin-top:0;margin-bottom:0}.brand img{width:190px;max-width:85%}h1{margin:0 0 8px;color:#202020;font-size:30px;font-weight:700;font-family:Poppins,sans-serif}.subtitle{margin:0 0 34px;color:#777;font-size:15px}.login-form{display:flex;flex-direction:column;gap:18px;text-align:left}.login-form label{color:#333;font-size:14px;font-weight:700}.login-form input[type=text],.login-form input[type=password]{width:100%;height:54px;margin-top:8px;border:1px solid #ddd;border-radius:16px;background:#fff3f9;padding:0 16px;font-size:15px;font-family:inherit;outline:none;color:#111;-webkit-text-fill-color:#111;opacity:1}.login-form input:focus{border-color:#ec268f;background:#fff;box-shadow:0 0 0 3px #ec268f1a}.input-error{border-color:#ec268f!important;background:#fff5fa!important}.error-text{display:block;margin-top:7px;color:#ec268f;font-size:12px;font-weight:700}.general-error{margin:-18px 0 22px;padding:12px;border-radius:14px;background:#fff0f7;color:#ec268f;font-size:13px;font-weight:700;text-align:center}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:-2px;font-size:13px}.remember{display:flex;align-items:center;gap:7px;font-size:13px!important;font-weight:500!important;color:#555!important}.remember input{accent-color:#ec268f}.forgot-link{color:#ec268f;text-decoration:none;font-weight:700}.login-form button{height:56px;margin-top:10px;border:none;border-radius:18px;background:#111;color:#fff;font-size:17px;font-weight:700;font-family:inherit;cursor:pointer}.login-form button:disabled{opacity:.75;cursor:not-allowed}.welcome-box{margin-top:10px;margin-bottom:26px}.welcome-label{margin:0 0 8px;color:#ec268f;font-size:22px;font-weight:700}.welcome-box h1{margin:0;color:#111;font-size:28px;text-align:left}.economic-text{margin:10px 0 0;color:#777;font-size:22px}.economic-text strong{color:#111;font-weight:700}.info-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:16px}.info-card p{margin:0 0 7px;color:#777;font-size:14px}.info-card strong{color:#111;font-size:16px}.side-overlay{position:absolute;inset:0;background:#00000059;z-index:30}.side-menu{width:78%;height:100%;background:#fff;padding:28px 22px;box-shadow:20px 0 45px #00000040;display:flex;flex-direction:column;gap:12px}.close-menu{align-self:flex-end;width:38px;height:38px;border:none;border-radius:12px;background:#111;color:#fff;font-size:24px;cursor:pointer}.side-menu h2{margin:10px 0 14px;color:#111;font-size:24px}.side-menu button{min-height:48px;border:none;border-radius:15px;background:#f5f5f5;color:#111;font-family:inherit;font-weight:700;text-align:left;padding:0 16px;cursor:pointer}.side-menu button:hover{background:#fff0f7}.logout-menu{margin-top:auto;background:#111!important;color:#fff!important;text-align:center!important}.app-footer{padding:12px 22px 10px;display:flex;flex-direction:column;align-items:center;gap:10px}.verse{margin:0;font-size:13px;color:#333;cursor:pointer}.verse strong{color:#ec268f;font-weight:900}.copyright{margin:0;font-size:11px;line-height:1.45;color:#777;text-align:center}.brand-black{color:#111;font-weight:700}.brand-pink{color:#ec268f;font-weight:700}.link-no-underline{text-decoration:none;color:inherit}.link-no-underline:hover{text-decoration:none}.trips-page h1{margin:0 0 18px;color:#111;font-size:28px;text-align:left}.assigned-trip-card,.pending-trips-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:18px}.trip-card-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.trip-card-header p{margin:0 0 6px;color:#777;font-size:13px}.trip-card-header strong{color:#111;font-size:17px}.alert-badge{height:28px;padding:6px 10px;border-radius:999px;background:#ec268f;color:#fff;font-size:12px;font-weight:700}.trip-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.trip-detail-grid div{background:#fff;border-radius:16px;padding:12px}.trip-detail-grid span{display:block;margin-bottom:5px;color:#777;font-size:12px}.trip-detail-grid strong{color:#111;font-size:14px}.full-row{grid-column:1 / -1}.pending-trips-card h2{margin:0 0 14px;color:#111;font-size:18px}.pending-table{display:flex;flex-direction:column;gap:8px}.pending-row{display:grid;grid-template-columns:.8fr 1.3fr .9fr;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:10px;font-size:12px}.pending-head{background:transparent;color:#777;font-weight:700}.pending-row button{border:none;border-radius:12px;background:#111;color:#fff;font-family:inherit;font-size:12px;font-weight:700;padding:9px 8px;cursor:pointer}.advance-button{height:34px;min-width:74px;border:none;border-radius:999px;background:#111;color:#fff;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.trip-actions-grid{display:grid;grid-template-columns:1fr;gap:10px}.trip-actions-grid button,.base-exit-card button{min-height:44px;border:none;border-radius:14px;background:#111;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.base-exit-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:18px}.base-exit-card h2{margin:0 0 14px;color:#111;font-size:18px}.pending-row{grid-template-columns:.55fr 1.15fr .45fr 1fr .75fr;font-size:11px}.pending-row button{font-size:11px;padding:8px 6px}.free-base-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:18px}.free-base-card h1{margin:0 0 8px;color:#111;font-size:26px;text-align:left}.base-description{margin:0;color:#777;font-size:14px;line-height:1.45}.queue-status-box{margin-top:14px;background:#fff;border-radius:16px;padding:14px}.queue-status-box span{display:block;margin-bottom:5px;color:#777;font-size:12px}.queue-status-box{margin-top:14px;background:#fff;border-radius:16px;padding:14px;text-align:center}.queue-status-box p{margin:0;color:#ec268f;font-size:14px;font-weight:700}.queue-base-title{margin-bottom:8px;color:#111;font-size:26px;font-weight:700;text-align:center}.login-loading{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:14px;margin:-14px 0 24px;padding:12px 16px;border-radius:18px;background:#fff3f9;color:#111;font-size:15px;font-weight:700}.login-spinner{width:26px;height:26px;border:3px solid rgba(236,38,143,.18);border-top-color:#ec268f;border-radius:50%;animation:spinLogin .75s linear infinite}@keyframes spinLogin{to{transform:rotate(360deg)}}.login-form input::placeholder{color:#888;opacity:1}.login-form input:-webkit-autofill,.login-form input:-webkit-autofill:hover,.login-form input:-webkit-autofill:focus{-webkit-text-fill-color:#111;transition:background-color 9999s ease-in-out 0s}.validity-text{display:block;margin-top:8px;font-size:13px;font-weight:700}.status-valid{background:#eefaf1;border-color:#16a34a38}.status-valid .validity-text{color:#15803d}.status-warning{background:#fff8e6;border-color:#f59e0b40}.status-warning .validity-text{color:#b45309}.status-expired{background:#fff0f0;border-color:#dc262638}.status-expired .validity-text{color:#b91c1c}.vehicle-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:16px}.vehicle-card h2{margin:0 0 14px;color:#111;font-size:22px;line-height:1.25}.vehicle-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vehicle-grid div{background:#fff;border-radius:16px;padding:12px}.vehicle-grid span{display:block;margin-bottom:5px;color:#777;font-size:12px}.vehicle-grid strong{color:#111;font-size:14px}.block-card{background:#fff0f0;border:1px solid rgba(220,38,38,.22);border-radius:22px;padding:18px;margin:18px 0}.block-list{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.block-list div{width:100%;background:#fff;border-radius:16px;padding:14px 16px}.block-list span{display:block;margin-bottom:6px;color:#777;font-size:12px}.block-list strong{display:block;color:#111;font-size:14px;line-height:1.4}.block-action-button{width:100%;min-height:44px;border:none;border-radius:14px;background:#111;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.block-action-button:active{transform:scale(.98)}.block-card .section-label{color:#b91c1c}.menu-button-disabled{opacity:.45;cursor:not-allowed!important}.connection-card{background:#eefaf1;border:1px solid rgba(22,163,74,.22);border-radius:22px;padding:14px 16px;margin-bottom:18px}.connection-status{display:flex;align-items:center;gap:12px;justify-content:space-between}.connection-led{width:13px;height:13px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 5px #16a34a1f;flex:0 0 auto}.connection-status strong{display:block;color:#111;font-size:15px;font-weight:700}.connection-status p{margin:3px 0 0;color:#15803d;font-size:13px;font-weight:600}.operation-warning-text{margin:0 0 14px;color:#111;font-size:14px;line-height:1.5;font-weight:600;font-family:Poppins,sans-serif}.incident-chat-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:18px}.quick-replies{display:grid;gap:10px;margin-bottom:14px}.quick-replies button,.send-incident-button{min-height:44px;border:none;border-radius:14px;background:#111;color:#fff;font-family:inherit;font-size:13px;font-weight:700}.incident-chat-card textarea{width:100%;min-height:110px;resize:none;border:1px solid rgba(236,38,143,.18);border-radius:16px;background:#fff;padding:14px;margin-bottom:12px;color:#111;font-family:inherit;font-size:14px;outline:none}.chat-messages{display:flex;flex-direction:column;gap:10px;max-height:260px;overflow-y:auto;margin-bottom:14px;padding:4px}.chat-message{width:fit-content;max-width:88%;border-radius:18px;padding:12px 14px}.chat-message span{display:block;margin-bottom:6px;font-size:11px;font-weight:700;opacity:.65}.chat-message p{margin:0;font-size:13px;line-height:1.35}.chat-message-operator{align-self:flex-end;background:#111;color:#fff}.chat-message-system{align-self:center;width:100%;background:#fff;color:#111;text-align:center}.final-charge-card,.charge-options-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:18px}.final-charge-card h1{margin:4px 0 8px;color:#111;font-size:44px;line-height:1;text-align:left}.charge-subtitle{margin:0;color:#777;font-size:14px}.charge-subtitle strong{color:#111}.charge-summary{margin-top:14px;background:#fff;border-radius:16px;padding:14px}.charge-summary span{display:block;margin-bottom:6px;color:#777;font-size:12px}.charge-summary strong{display:block;color:#111;font-size:14px;line-height:1.4}.charge-checkbox{display:flex;align-items:center;gap:10px;color:#111;font-size:15px;font-weight:700;margin-bottom:14px}.charge-checkbox input{width:18px;height:18px;accent-color:#ec268f}.charge-input-box{background:#fff;border-radius:16px;padding:14px;margin-bottom:14px}.charge-input-box label{display:block;margin-bottom:8px;color:#777;font-size:12px;font-weight:700}.charge-input-box input{width:100%;height:48px;border:1px solid rgba(236,38,143,.18);border-radius:14px;padding:0 14px;background:#fff;color:#111;font-family:inherit;font-size:16px;outline:none}.charge-input-box p{margin:8px 0 0;color:#777;font-size:13px}.charge-input-box strong{color:#111}.primary-charge-button,.secondary-charge-button{width:100%;min-height:46px;border:none;border-radius:14px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.primary-charge-button{background:#111;color:#fff;margin-top:6px}.secondary-charge-button{background:#fff;color:#111;margin-top:10px}.incident-center-card,.incident-type-card,.incident-events-card,.incident-security-card,.incident-message-card,.incident-return-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:18px}.incident-return-card button{width:100%;min-height:44px;border:none;border-radius:14px;background:#fff;color:#111;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.incident-center-card h1{margin:4px 0 8px;color:#111;font-size:28px}.incident-subtitle{margin:0;color:#777;font-size:14px}.incident-subtitle strong{color:#111}.incident-type-card label,.incident-message-card label{display:block;margin-bottom:8px;color:#777;font-size:12px;font-weight:700}.incident-type-card select{width:100%;height:48px;border:1px solid rgba(236,38,143,.18);border-radius:14px;background:#fff;color:#111;padding:0 12px;font-family:inherit;font-size:14px;outline:none}.incident-events-card h2,.incident-security-card h2{margin:0 0 14px;color:#111;font-size:22px;font-weight:700;font-family:Poppins,sans-serif;line-height:1.25}.incident-buttons{display:grid;gap:10px}.incident-buttons button,.incident-message-card button{min-height:44px;border:none;border-radius:14px;background:#111;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.incident-message-card textarea{width:100%;min-height:110px;resize:none;border:1px solid rgba(236,38,143,.18);border-radius:16px;background:#fff;padding:14px;margin-bottom:12px;color:#111;font-family:inherit;font-size:14px;outline:none}.secondary-incident-button{background:#fff!important;color:#111!important;margin-top:10px}.security-toggle-button{width:100%;min-height:46px;border:none;border-radius:14px;background:#111;color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}.selected-quick-reply{background:#fff;border-radius:14px;padding:12px 14px;margin-bottom:14px;color:#111;font-size:14px;font-weight:700}.base-exit-form{margin-top:14px;background:#fff;border-radius:16px;padding:14px}.base-exit-form label{display:block;margin-bottom:8px;color:#777;font-size:12px;font-weight:700}.base-exit-form input{width:100%;height:48px;border:1px solid rgba(236,38,143,.18);border-radius:14px;padding:0 14px;margin-bottom:12px;background:#fff;color:#111;font-family:inherit;font-size:15px;outline:none}.base-exit-form button{width:100%}.verse{text-align:center;font-size:.85rem;margin-bottom:6px;color:#555}.footer-message{display:block;margin:8px 0;font-size:.85rem;color:#666;text-align:center;transition:color .2s}.footer-message:hover{color:#ec268f}.app-footer{display:flex;flex-direction:column;align-items:center;justify-content:center}.verse{display:block;margin-bottom:1px;font-size:18px;font-weight:700}.verse-symbol{color:#ec268f;font-weight:700}.verse-text{color:#000;font-weight:700}.footer-message{display:block;margin-top:0;margin-bottom:8px;font-size:.85rem;color:#666;text-align:center;line-height:1.3}.footer-message:hover{color:#666}.arrival-base-card{background:#fff3f9;border:1px solid rgba(236,38,143,.18);border-radius:22px;padding:18px;margin-bottom:18px}.arrival-base-card h1{margin:4px 0 8px;color:#111;font-size:26px}.arrival-base-list{display:grid;gap:14px}.arrival-base-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;border-radius:18px;padding:14px}.arrival-base-row div{background:#fff3f9;border-radius:14px;padding:12px}.arrival-base-row span{display:block;margin-bottom:5px;color:#777;font-size:12px}.arrival-base-row strong{color:#111;font-size:14px}.arrival-base-row button{grid-column:1 / -1;min-height:44px;border:none;border-radius:14px;background:#111;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.arrival-base-card .secondary-charge-button{width:100%}.arrival-base-number{background:#fff3f9;border-radius:14px;padding:16px;text-align:center}.arrival-base-number span{display:block;font-size:13px;color:#777;margin-bottom:6px;font-weight:600;letter-spacing:1px}.arrival-base-number strong{display:block;font-size:34px;font-weight:700;color:#111;line-height:1}.user-board-options-card{margin-top:12px;background:#fff;border-radius:16px;padding:14px}.user-board-options-grid{display:grid;gap:10px}.user-board-options-grid button,.change-destination-box button{width:100%;min-height:44px;border:none;border-radius:14px;background:#111;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.change-destination-box{margin-top:14px;background:#fff3f9;border-radius:14px;padding:14px}.change-destination-box label{display:block;margin-bottom:8px;color:#777;font-size:12px;font-weight:700}.change-destination-box input{width:100%;height:48px;border:1px solid rgba(236,38,143,.18);border-radius:14px;padding:0 14px;margin-bottom:12px;background:#fff;color:#111;font-family:inherit;font-size:15px;outline:none}.pending-trips-title{margin:0 0 14px;color:#111;font-size:18px;font-weight:700;font-family:Poppins,sans-serif}.pending-row-no-action{grid-template-columns:1fr!important}.pending-row span{color:#000;font-size:16px;font-weight:600}.pending-head span{color:#000;font-size:17px;font-weight:700}.login-loading{display:flex;flex-direction:column;align-items:center;gap:14px;margin:20px 0}.login-loading-logo{width:90px;animation:pulseLogo 1.2s infinite ease-in-out}@keyframes pulseLogo{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:.8}}.login-loading-dots span{width:8px;height:8px;border-radius:50%;background:#ec268f;animation:dots 1.2s infinite}@keyframes dots{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.4)}}.login-loading-screen{position:fixed;inset:0;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;z-index:999999}.login-loading-logo{width:120px;height:120px;object-fit:contain;animation:loginPulse 1.2s ease-in-out infinite}.login-loading-screen h2{margin:0;color:#000;font-size:2rem;font-weight:800;line-height:1.1;text-align:center}.login-loading-dots{display:flex;gap:8px}.login-loading-dots span{width:10px;height:10px;background:#ec268f;border-radius:50%;animation:loginDots 1.2s infinite}.login-loading-dots span:nth-child(2){animation-delay:.2s}.login-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loginPulse{0%{transform:scale(1);opacity:.75}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.75}}@keyframes loginDots{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.4)}}
