*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;font-family:Arial,Microsoft JhengHei,sans-serif;overflow-x:hidden}.wrapper{width:100%;max-width:100%;margin:0 auto;padding:40px;box-sizing:border-box;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.wrapper img{width:100%;max-width:900px;height:auto;display:block;margin:0 auto 50px;border-radius:20px;box-shadow:0 15px 40px #0006}.wrapper h1{font-size:48px;text-align:center;margin-bottom:20px;color:#fff;text-shadow:3px 3px 6px rgba(0,0,0,.4);font-weight:700}.wrapper>p{text-align:center;font-size:26px;color:#fff;margin-bottom:60px;text-shadow:2px 2px 4px rgba(0,0,0,.4)}.button-container{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:30px;max-width:1400px;margin:0 auto 80px;padding:0 40px;flex-wrap:wrap}.button-container button{flex:1;min-width:250px;max-width:320px;padding:30px 40px;font-size:22px;font-weight:700;border:none;border-radius:15px;cursor:pointer;transition:all .3s;color:#fff;box-shadow:0 6px 20px #0000004d}.service-taxi{background:linear-gradient(135deg,#4caf50,#45a049)}.service-taxi:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px #4caf5080}.service-ratRoom{background:linear-gradient(135deg,#2196f3,#1976d2)}.service-ratRoom:hover{background:linear-gradient(135deg,#1976d2,#0d47a1);transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px #2196f380}.service-property{background:linear-gradient(135deg,#ff9ccf,#ff5da6)}.service-property:hover{background:linear-gradient(135deg,#ff5da6,#ff2d95);transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px #ff2d9547}.service-login{background:linear-gradient(135deg,#ff9800,#f57c00)}.service-login:hover{background:linear-gradient(135deg,#f57c00,#e65100);transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px #ff980080}.service-call{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.service-call:hover{background:linear-gradient(135deg,#7b1fa2,#6a1b9a);transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px #9c27b080}.service-lease{background:linear-gradient(135deg,#7c3aed,#4f46e5)}.service-lease:hover{background:linear-gradient(135deg,#6d28d9,#4338ca);transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px #7c3aed66}.service-pwa{background:linear-gradient(135deg,#facc15,#eab308);color:#1e293b!important}.service-pwa:hover{background:linear-gradient(135deg,#eab308,#ca8a04);transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px #eab30873}.service-app{background:linear-gradient(135deg,#059669,#0284c7)}.service-app:hover{background:linear-gradient(135deg,#047857,#0369a1);transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px #05966973}.introduction{width:100%;max-width:1600px;margin:60px auto;padding:0 40px;box-sizing:border-box;display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.intro-section{background:#fff;padding:40px;border-radius:20px;box-shadow:0 6px 20px #0000004d;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;justify-content:space-between}.intro-section:hover{transform:translateY(-10px);box-shadow:0 12px 35px #0006}.intro-section h2{font-size:32px;color:#333;margin-bottom:20px;border-bottom:4px solid #667eea;padding-bottom:15px;text-align:center;font-weight:700}.time-block{display:flex;align-items:center;gap:10px;margin:8px 0}.time-icon{width:28px;height:28px;flex:0 0 28px;display:inline-block}.tel-link{color:#2196f3;margin-left:6px;text-decoration:none;font-weight:600}.time-highlight{background:linear-gradient(90deg,#ffedf5e6,#fff5f0e6);padding:8px 12px;border-radius:8px;display:inline-block}.back-link{display:inline-flex;align-items:center;gap:8px;color:#1976d2;font-weight:600;text-decoration:none}.back-link svg{display:inline-block}.back-link:hover{text-decoration:underline}.intro-section p{font-size:20px;color:#666;line-height:2;text-align:center;letter-spacing:.5px;flex-grow:1}.footer{text-align:center;padding:40px 20px;background-color:#0006;color:#fff;margin-top:60px;font-size:16px;border-radius:15px}.footer-links{margin-bottom:15px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:15px}.footer-links a{color:#ffffffd9;text-decoration:underline;transition:color .2s,opacity .2s}.footer-links a:hover{color:#fff;opacity:1}.footer-divider{color:#fff6}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px}.login-container{background:#fff;padding:50px;border-radius:20px;box-shadow:0 15px 40px #0000004d;max-width:600px;width:100%;text-align:center}.login-container h2{text-align:center;margin-bottom:30px;color:#333;font-size:28px;font-weight:700}.login-container .login-input{width:100%;padding:16px;margin-bottom:20px;border:2px solid #ddd;border-radius:10px;box-sizing:border-box;font-size:18px;transition:border-color .3s}.login-container .login-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 10px #667eea4d}.recaptcha-wrapper{display:flex;justify-content:center;margin:25px 0;transform:scale(1.1);transform-origin:center}.login-container button{width:100%;padding:18px;margin-top:15px;border:none;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;color:#fff}.login-button{background:linear-gradient(135deg,#4caf50,#45a049)}.login-button:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-3px);box-shadow:0 8px 20px #4caf5066}.register-button{background:linear-gradient(135deg,#2196f3,#1976d2)}.register-button:hover{background:linear-gradient(135deg,#1976d2,#0d47a1);transform:translateY(-3px);box-shadow:0 8px 20px #2196f366}.phone-button{background:linear-gradient(135deg,#ff9800,#f57c00)}.phone-button:hover{background:linear-gradient(135deg,#f57c00,#e65100);transform:translateY(-3px);box-shadow:0 8px 20px #ff980066}.verify-button{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.verify-button:hover{background:linear-gradient(135deg,#7b1fa2,#6a1b9a);transform:translateY(-3px);box-shadow:0 8px 20px #9c27b066}.login-container button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.login-container hr{margin:40px 0;border:none;border-top:2px solid #eee}#recaptcha-container{margin:20px 0}.privacy-agreement{margin:30px 0;padding:25px;background-color:#f9f9f9;border:2px solid #ddd;border-radius:12px;text-align:left}.privacy-agreement label{display:flex;align-items:flex-start;cursor:pointer;font-size:18px;line-height:1.8}.privacy-agreement input[type=checkbox]{margin-right:15px;margin-top:5px;cursor:pointer;width:24px;height:24px;flex-shrink:0}.privacy-agreement span{color:#555;flex:1}.privacy-agreement a{color:#2196f3;text-decoration:none;font-weight:600;margin:0 5px}.privacy-agreement a:hover{text-decoration:underline}.error-message{margin-top:25px;padding:15px;background-color:#ffebee;color:#c62828;border-radius:10px;font-size:16px;text-align:center;font-weight:500}.success-message{margin-top:25px;padding:15px;background-color:#e8f5e9;color:#2e7d32;border-radius:10px;font-size:16px;text-align:center;font-weight:500}.privacy-policy{min-height:100vh;background-color:#f5f5f5;padding:60px 40px}.privacy-container{max-width:1200px;margin:0 auto;background:#fff;padding:60px;border-radius:20px;box-shadow:0 8px 30px #00000026;line-height:2;text-align:center}.privacy-policy h1{font-size:42px;margin-bottom:15px;color:#333;text-align:center;border-bottom:4px solid #4CAF50;padding-bottom:20px;font-weight:700}.privacy-policy>p{text-align:center;color:#666;margin-bottom:40px;font-size:16px}.privacy-policy h2{font-size:30px;margin-top:50px;margin-bottom:20px;color:#444;border-bottom:3px solid #4CAF50;padding-bottom:12px;text-align:center;font-weight:700}.privacy-policy h3{font-size:22px;margin-top:30px;margin-bottom:15px;color:#555;font-weight:600;text-align:center}.privacy-policy p{margin-bottom:20px;color:#666;text-align:center;font-size:18px}.privacy-policy ul{margin:0 auto 25px;list-style-position:inside;text-align:center;max-width:900px}.privacy-policy li{margin-bottom:12px;color:#666;line-height:2;text-align:center;font-size:18px}.privacy-policy a{color:#2196f3;text-decoration:none;font-weight:600}.privacy-policy a:hover{text-decoration:underline}.privacy-policy section{margin-bottom:40px}.terms-policy{min-height:100vh;background-color:#f5f5f5;padding:60px 40px}.terms-container{max-width:1200px;margin:0 auto;background:#fff;padding:60px;border-radius:20px;box-shadow:0 8px 30px #00000026;line-height:2;text-align:center}.terms-policy h1{font-size:42px;margin-bottom:15px;color:#333;text-align:center;border-bottom:4px solid #FF9800;padding-bottom:20px;font-weight:700}.terms-policy>p{text-align:center;color:#666;margin-bottom:40px;font-size:16px}.terms-policy h2{font-size:30px;margin-top:50px;margin-bottom:20px;color:#444;border-bottom:3px solid #FF9800;padding-bottom:12px;text-align:center;font-weight:700}.terms-policy h3{font-size:22px;margin-top:30px;margin-bottom:15px;color:#555;font-weight:600;text-align:center}.terms-policy p{margin-bottom:20px;color:#666;text-align:center;font-size:18px}.terms-policy ul{margin:0 auto 25px;list-style-position:inside;text-align:center;max-width:900px}.terms-policy li{margin-bottom:12px;color:#666;line-height:2;text-align:center;font-size:18px}.terms-policy a{color:#2196f3;text-decoration:none;font-weight:600}.terms-policy a:hover{text-decoration:underline}.terms-policy section{margin-bottom:40px}@media(min-width:769px)and (max-width:1200px){.wrapper img{max-width:700px}.wrapper h1{font-size:42px}.wrapper>p{font-size:22px}.button-container{max-width:1200px;gap:25px}.button-container button{min-width:200px;max-width:280px;padding:25px 35px;font-size:20px}.introduction{max-width:1400px;gap:25px}.intro-section{padding:35px}.intro-section h2{font-size:28px}.intro-section p{font-size:18px}}@media(min-width:481px)and (max-width:768px){.wrapper{padding:25px}.wrapper img{max-width:600px;margin-bottom:30px}.wrapper h1{font-size:32px;margin-bottom:15px}.wrapper>p{font-size:18px;margin-bottom:40px}.button-container{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:0 20px;max-width:600px}.button-container button{min-width:auto;max-width:none;padding:22px;font-size:18px}.introduction{grid-template-columns:1fr;padding:0 20px;margin:40px auto;gap:20px}.intro-section{padding:30px;margin-bottom:0}.intro-section h2{font-size:24px;margin-bottom:15px}.intro-section p{font-size:17px;line-height:1.8}.footer{padding:30px 20px;font-size:14px}.login-page{padding:25px}.login-container{padding:40px 30px;max-width:550px}.login-container h2{font-size:24px}.login-container .login-input{padding:14px;font-size:16px}.login-container button{padding:16px;font-size:16px}.privacy-agreement{padding:20px}.privacy-agreement label{font-size:16px}.privacy-agreement input[type=checkbox]{width:20px;height:20px}.recaptcha-wrapper{transform:scale(1)}.privacy-policy,.terms-policy{padding:40px 20px}.privacy-container,.terms-container{padding:40px 30px}.privacy-policy h1,.terms-policy h1{font-size:32px}.privacy-policy h2,.terms-policy h2{font-size:26px}.privacy-policy h3,.terms-policy h3{font-size:20px}.privacy-policy p,.privacy-policy li,.terms-policy p,.terms-policy li{font-size:16px}}@media(max-width:480px){.wrapper{padding:15px}.wrapper img{max-width:100%;margin-bottom:20px;border-radius:10px}.wrapper h1{font-size:24px;margin-bottom:10px}.wrapper>p{font-size:14px;margin-bottom:25px}.button-container{display:flex;flex-direction:column;gap:12px;padding:0 10px}.button-container button{min-width:auto;max-width:none;width:100%;padding:16px;font-size:15px}.introduction{grid-template-columns:1fr;padding:0 10px;margin:20px auto;gap:12px}.intro-section{padding:20px 15px;margin-bottom:0;border-radius:10px}.intro-section h2{font-size:20px;margin-bottom:10px;border-bottom-width:2px;padding-bottom:8px}.intro-section p{font-size:14px;line-height:1.6}.footer{padding:20px 10px;font-size:12px;margin-top:30px}.login-page{padding:15px}.login-container{padding:25px 15px}.login-container h2{font-size:18px;margin-bottom:20px}.login-container .login-input,.login-container button{padding:12px;font-size:14px}.privacy-agreement{padding:15px}.privacy-agreement label{font-size:13px}.privacy-agreement input[type=checkbox]{width:16px;height:16px}.recaptcha-wrapper{transform:scale(.9)}.privacy-policy,.terms-policy{padding:20px 10px}.privacy-container,.terms-container{padding:20px 15px}.privacy-policy h1,.terms-policy h1{font-size:22px}.privacy-policy h2,.terms-policy h2{font-size:18px}.privacy-policy h3,.terms-policy h3{font-size:16px}.privacy-policy p,.privacy-policy li,.terms-policy p,.terms-policy li{font-size:14px}}@media(max-width:360px){.wrapper h1{font-size:20px}.wrapper>p{font-size:13px}.button-container button{padding:14px;font-size:14px}.introduction{padding:0 8px}.intro-section{padding:15px 12px}.intro-section h2{font-size:18px}.intro-section p{font-size:13px}.login-container{padding:20px 12px}.privacy-agreement label{font-size:12px}.recaptcha-wrapper{transform:scale(.8)}}.button-accent{background:#1976d2;color:#fff;border:0;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600;transition:background .12s ease}.button-accent:hover{background:#145ea8}.button-outline{background:#1976d2;color:#ff9800;border:2px solid #ff9800;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;transition:background .12s ease,color .12s ease}.button-outline:hover{background:#145ea8}@media(max-width:480px){.button-accent,.button-outline{padding:8px 12px;font-size:14px}}.password-field .password-input{flex:9 1 0%;padding:14px 16px;font-size:18px;border-radius:10px;border:2px solid #ddd;box-sizing:border-box;height:56px;line-height:20px}.password-toggle{flex:1 1 0%;width:auto;height:56px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid #ddd;border-radius:10px;cursor:pointer;font-size:28px;padding:0;line-height:1}.password-toggle>svg,.password-toggle>img,.password-toggle>span{display:inline-block;width:26px;height:26px;line-height:26px;text-align:center}@media(max-width:480px){.password-toggle{font-size:20px;height:44px}.password-toggle>svg,.password-toggle>img,.password-toggle>span{width:20px;height:20px;line-height:20px}}.login-input.password-input,.confirm-password-input{width:100%;max-width:480px;padding:14px 16px;font-size:18px;border-radius:10px;border:2px solid #ddd;box-sizing:border-box;height:56px}.password-field{display:flex;align-items:center;gap:8px;max-width:480px;margin:0 auto;width:100%}.password-field .password-input,.login-input.password-input.confirm-password-input{flex:1 1 auto;width:100%;max-width:480px;padding:14px 16px;font-size:18px;border-radius:10px;border:2px solid #ddd;box-sizing:border-box;height:56px}.confirm-password-input{display:block;margin:8px auto 0}@media(max-width:480px){.password-field .password-input,.login-input.password-input.confirm-password-input{padding:12px;font-size:14px;height:44px}}.zoom-toggle-btn{padding:8px 16px;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.9rem;transition:background .2s,transform .1s;box-shadow:0 4px 6px -1px #4f46e533}.zoom-toggle-btn:hover{background:#4338ca;transform:translateY(-1px)}.zoom-toggle-btn:active{transform:translateY(0)}@media(max-width:1024px){.lease-content-grid{grid-template-columns:1fr!important;gap:24px!important}.lease-preview-container{position:static!important;max-height:none!important;width:100%!important;padding:12px!important;box-sizing:border-box}}@media(max-width:1024px){.pm-edit-contract-grid{flex-direction:column!important;overflow-y:auto!important}.pm-edit-contract-preview-container{max-height:500px!important;flex:none!important;width:100%!important}}.mobile-nav-hamburger{display:none;background:transparent;border:none;font-size:1.5rem;color:#475569;cursor:pointer;padding:4px 8px;line-height:1}.mobile-nav-backdrop{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.4,0,.2,1)}.mobile-nav-backdrop.open{opacity:1;pointer-events:auto}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;width:290px;background:#fff;z-index:1001;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;padding:24px 20px;transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;border-bottom:1px solid #e2e8f0;padding-bottom:16px}.mobile-nav-drawer-close{background:transparent;border:none;font-size:1.5rem;color:#475569;cursor:pointer;padding:4px}.mobile-nav-drawer-menu{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1}.mobile-nav-drawer-item{width:100%;padding:12px 16px;font-size:.95rem;font-weight:600;color:#475569;background:transparent;border:none;border-radius:8px;text-align:left;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.mobile-nav-drawer-item:hover{background:#f1f5f9;color:#1e293b}.swipe-hint-bubble{position:fixed;bottom:30px;right:20px;background:#1e293be6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:50px;padding:12px 20px;color:#fff;font-weight:600;font-size:.88rem;box-shadow:0 10px 25px -5px #0000004d,0 0 12px #3b82f666;z-index:10002;display:flex;align-items:center;gap:8px;animation:pulseGlow 2.5s infinite ease-in-out;pointer-events:none;transition:opacity .6s ease,transform .6s ease}.swipe-hint-hand{display:inline-block;font-size:1.2rem;animation:swipeHand 1.6s infinite ease-in-out}@keyframes swipeHand{0%{transform:translate(10px);opacity:.3}50%{transform:translate(-10px);opacity:1}to{transform:translate(10px);opacity:.3}}@keyframes pulseGlow{0%,to{box-shadow:0 10px 25px -5px #0000004d,0 0 8px #3b82f64d;transform:translateY(0) scale(1)}50%{box-shadow:0 10px 25px -5px #0000004d,0 0 16px #3b82f699;transform:translateY(-2px) scale(1.02)}}@media(max-width:768px){.desktop-nav-links{display:none!important}.mobile-nav-hamburger{display:block!important}}.homepage-lang-selector{display:none}@media(max-width:768px){.homepage-lang-selector{display:flex;flex-direction:column;align-items:center;background:#ffffff1f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px 12px;margin:-10px auto 25px;width:calc(100% - 20px);max-width:480px;box-sizing:border-box;box-shadow:0 8px 32px #1f268726}.lang-label-row{display:flex;align-items:center;gap:6px;margin-bottom:12px;color:#ffffffe6;font-size:.82rem;font-weight:700;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.15)}.lang-icon{font-size:1rem}.lang-options-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.lang-option-btn{display:flex;align-items:center;gap:6px;background:#ffffff26;border:1px solid rgba(255,255,255,.1);padding:6px 12px;border-radius:50px;color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.lang-option-btn:hover{background:#ffffff40}.lang-option-btn.active{background:#fff;color:#5b21b6;border-color:#fff;box-shadow:0 4px 12px #00000026,0 0 6px #fff6;transform:translateY(-1px)}.lang-option-btn .flag{font-size:1.05rem;line-height:1}}.pwa-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;animation:pwaFadeIn .25s ease-out}.pwa-modal-card{width:100%;max-width:440px;background:#fff;padding:24px;border-radius:20px;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000a;border:1px solid #e2e8f0;position:relative;font-family:system-ui,-apple-system,sans-serif;animation:pwaSlideUp .3s cubic-bezier(.34,1.56,.64,1)}.pwa-modal-close{position:absolute;top:16px;right:16px;background:#f1f5f9;color:#64748b;border:none;width:32px;height:32px;border-radius:50%;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.pwa-modal-close:hover{background:#e2e8f0;color:#1e293b}.pwa-modal-header{display:flex;flex-direction:column;align-items:center;margin-bottom:16px;text-align:center}.pwa-modal-icon{font-size:2.5rem;margin-bottom:12px;animation:pwaPulse 2s infinite}.pwa-modal-header h3{margin:0;font-size:1.25rem;font-weight:800;color:#1e293b;line-height:1.2}.pwa-modal-desc{font-size:.92rem;color:#475569;line-height:1.5;margin:0 0 20px;text-align:center}.pwa-guide-section{background:#f8fafc;border-radius:12px;padding:16px;border:1px solid #e2e8f0;margin-bottom:16px;text-align:left}.pwa-guide-section.active-platform{border-color:#fef08a;background:#fefce8}.platform-tag{font-size:.8rem;font-weight:800;color:#854d0e;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.pwa-guide-section ol{margin:0;padding-left:20px;font-size:.88rem;color:#334155}.pwa-guide-section li{margin-bottom:8px;line-height:1.4}.pwa-guide-section li:last-child{margin-bottom:0}.share-icon,.add-icon{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-family:monospace;font-weight:700;font-size:.95rem}.platform-tabs{text-align:left}.tab-instruction{background:#f8fafc;padding:12px;border-radius:8px;border-left:4px solid #e2e8f0;font-size:.85rem;line-height:1.4;color:#334155}.other-platforms-details{margin-top:12px;border-top:1px solid #f1f5f9;padding-top:10px;text-align:left}.other-platforms-details summary{font-size:.82rem;color:#64748b;cursor:pointer;font-weight:600;outline:none;-webkit-user-select:none;user-select:none}.other-platforms-details summary:hover{color:#1e293b}.pwa-modal-footer{margin-top:24px;display:flex;justify-content:center}.pwa-modal-btn-close{width:100%;padding:12px;background:#1e293b;color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s}.pwa-modal-btn-close:hover{background:#0f172a}@keyframes pwaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pwaSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pwaPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.leaflet-top.leaflet-left{top:50%!important;transform:translateY(-50%)!important;margin-top:0!important;pointer-events:none!important}.leaflet-top.leaflet-left .leaflet-control-zoom{pointer-events:auto!important;margin-left:14px!important;margin-top:0!important;border:1.5px solid #94a3b8!important;border-radius:8px!important;overflow:hidden!important;box-shadow:0 4px 14px #00000038!important;z-index:1000!important}.leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important;font-size:20px!important;font-weight:800!important;color:#0f172a!important;background-color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;transition:all .15s ease!important}.leaflet-control-zoom a:hover{background-color:#f1f5f9!important;color:#166534!important}.reg-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 56px;background:#f0f2f8;box-sizing:border-box}.reg-card{width:100%;max-width:480px;background:#fff;border-radius:20px;box-shadow:0 6px 32px #1a237e1c;padding:32px 24px 28px;box-sizing:border-box}@media(min-width:520px){.reg-page{padding-top:48px}.reg-card{padding:40px 36px 32px}}.reg-brand{text-align:center;margin-bottom:20px}.reg-brand__title{font-size:1.3rem;font-weight:800;color:#1a237e;margin:0 0 4px;letter-spacing:1px}.reg-brand__sub{font-size:.82rem;color:#888;margin:0}.reg-progress{display:flex;align-items:center;justify-content:center;margin-bottom:28px}.reg-progress__dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:#e0e0e0;color:#aaa;flex-shrink:0;transition:background .25s,color .25s}.reg-progress__dot--active{background:#1a237e;color:#fff;box-shadow:0 0 0 4px #1a237e26}.reg-progress__dot--done{background:#388e3c;color:#fff}.reg-progress__line{flex:1;height:2px;max-width:64px;background:#e0e0e0;transition:background .25s}.reg-progress__line--done{background:#388e3c}.reg-error{background:#fff3f3;border:1px solid #f5c2c2;border-radius:10px;color:#c62828;font-size:.86rem;line-height:1.5;padding:10px 14px;margin-bottom:14px}.reg-success{background:#f1f8e9;border:1px solid #a5d6a7;border-radius:10px;color:#2e7d32;font-size:.86rem;line-height:1.5;padding:10px 14px;margin-bottom:14px}.reg-step-title{font-size:1.1rem;font-weight:700;color:#1a237e;margin:0 0 4px;text-align:center}.reg-step-desc{font-size:.84rem;color:#777;text-align:center;margin:0 0 20px;line-height:1.55}.reg-field{margin-bottom:16px}.reg-label{display:block;font-size:.83rem;font-weight:600;color:#444;margin-bottom:6px}.reg-input{display:block;width:100%;padding:12px 14px;font-size:1rem;color:#222;background:#fff;border:1.5px solid #d4d8e8;border-radius:10px;outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.reg-input:focus{border-color:#1a237e;box-shadow:0 0 0 3px #1a237e1a}.reg-input:disabled{background:#f5f5f5;color:#aaa}.reg-input-wrap{position:relative}.reg-input-wrap .reg-input{padding-right:48px}.reg-eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:#888;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.reg-eye-btn svg{display:block}.reg-select{display:block;width:100%;padding:12px 36px 12px 14px;font-size:1rem;color:#222;background:#fff;border:1.5px solid #d4d8e8;border-radius:10px;outline:none;box-sizing:border-box;transition:border-color .2s;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.reg-select:focus{border-color:#1a237e;box-shadow:0 0 0 3px #1a237e1a}.reg-select:disabled{background-color:#f5f5f5;color:#aaa}.reg-check-row{display:flex;align-items:flex-start;gap:10px;width:100%;padding:14px 16px;background:#f8f9ff;border:1.5px solid #dde1f5;border-radius:12px;margin-bottom:12px;cursor:pointer;text-align:left;transition:border-color .2s,background .2s;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.reg-check-row--checked{border-color:#1a237e;background:#eef0fb}.reg-check-box{width:22px;height:22px;border:2px solid #c5c9e0;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;margin-top:1px;transition:border-color .2s,background .2s}.reg-check-box--checked{border-color:#1a237e;background:#1a237e}.reg-check-tick{color:#fff;font-size:13px;line-height:1;font-weight:700}.reg-check-text{font-size:.9rem;color:#444;line-height:1.55}.reg-check-link{color:#1a237e;text-decoration:underline;font-weight:600}.reg-btn-group{display:flex;flex-direction:column;gap:4px;margin-top:8px}.reg-btn{display:block;width:100%;padding:14px;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;text-align:center;box-sizing:border-box;letter-spacing:.4px;outline:none;transition:opacity .2s,transform .1s,box-shadow .2s;-webkit-tap-highlight-color:transparent;text-decoration:none}.reg-btn:active:not(:disabled){transform:scale(.97)}.reg-btn--primary{background:#1a237e;color:#fff;box-shadow:0 3px 10px #1a237e38}.reg-btn--primary:disabled{background:#b0bec5;box-shadow:none;cursor:not-allowed}.reg-btn--outline{background:transparent;color:#1a237e;border:1.5px solid #1a237e}.reg-btn--outline:disabled{opacity:.45;cursor:not-allowed}.reg-btn--ghost{background:transparent;color:#888;font-size:.85rem;font-weight:500;padding:8px;box-shadow:none}.reg-btn--ghost:disabled{opacity:.4;cursor:not-allowed}.reg-verify-icon{text-align:center;font-size:2.8rem;margin:8px 0 6px}.reg-verify-email-display{text-align:center;font-size:.9rem;color:#555;margin-bottom:16px;word-break:break-all;line-height:1.6}.reg-verify-email-display strong{color:#1a237e;font-size:.95rem}.reg-pulse-row{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.84rem;color:#777;margin-bottom:18px}.reg-spinner{display:inline-block;width:16px;height:16px;border:2.5px solid #c5c9e0;border-top-color:#1a237e;border-radius:50%;flex-shrink:0;animation:reg-spin .85s linear infinite}@keyframes reg-spin{to{transform:rotate(360deg)}}.reg-done-icon{text-align:center;font-size:3.2rem;margin:12px 0 6px}.reg-done-title{text-align:center;font-size:1.25rem;font-weight:700;color:#2e7d32;margin:0 0 10px}.reg-done-sub{text-align:center;font-size:.9rem;color:#666;margin:0 0 28px;line-height:1.6}.reg-footer-link{text-align:center;font-size:.85rem;color:#999;margin-top:20px}.reg-footer-link a{color:#1a237e;font-weight:600;text-decoration:none}.reg-footer-link a:hover{text-decoration:underline}.reg-divider{border:none;border-top:1px solid #eee;margin:18px 0}.taxi-mgmt{padding:16px;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif}.taxi-mgmt__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:8px}.taxi-mgmt__title{font-size:1.4rem;font-weight:800;color:#1a1a2e;margin:0}.taxi-mgmt__meta{font-size:.78rem;color:#9ca3af}.taxi-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}@media(min-width:640px){.taxi-stats{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.taxi-stats{grid-template-columns:repeat(6,1fr)}}.taxi-stat-card{background:#fff;border-radius:12px;padding:16px 14px;box-shadow:0 2px 8px #00000012;display:flex;flex-direction:column;gap:6px;border-top:4px solid transparent}.taxi-stat-card--order{border-top-color:#4f46e5}.taxi-stat-card--accept{border-top-color:#0ea5e9}.taxi-stat-card--done{border-top-color:#10b981}.taxi-stat-card--dotnei{border-top-color:#f59e0b}.taxi-stat-card--sub{border-top-color:#8b5cf6}.taxi-stat-card--support{border-top-color:#64748b}.taxi-stat-card__label{font-size:.72rem;font-weight:600;color:#6b7280}.taxi-stat-card__value{font-size:2.2rem;font-weight:800;color:#1a1a2e;line-height:1}.taxi-stat-card__sub{font-size:.68rem;color:#9ca3af}.taxi-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;overflow:hidden;margin-bottom:24px}.taxi-section__head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:10px}.taxi-section__title{font-size:.95rem;font-weight:700;color:#1a1a2e;margin:0}.taxi-tabs{display:flex;gap:6px;flex-wrap:wrap}.taxi-tab{padding:5px 12px;border-radius:20px;font-size:.78rem;font-weight:600;cursor:pointer;border:1.5px solid #e2e8f0;background:#f8fafc;color:#64748b}.taxi-tab--active{background:#4f46e5;color:#fff;border-color:#4f46e5}.taxi-table-wrap{overflow-x:auto}.taxi-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:900px}.taxi-table th{background:#f8fafc;color:#64748b;font-size:.72rem;font-weight:700;padding:10px 14px;text-align:left;border-bottom:1px solid #e2e8f0}.taxi-table td{padding:11px 14px;color:#374151;border-bottom:1px solid #f1f5f9;vertical-align:middle}.taxi-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.72rem;font-weight:700}.taxi-badge--pending{background:#fef3c7;color:#92400e}.taxi-badge--accepted{background:#dbeafe;color:#1e40af}.taxi-badge--in_progress{background:#d1fae5;color:#065f46}.taxi-badge--completed{background:#e0e7ff;color:#3730a3}.taxi-badge--cancelled{background:#fee2e2;color:#991b1b}.taxi-btn{padding:5px 11px;border-radius:6px;font-size:.76rem;font-weight:600;cursor:pointer;border:none}.taxi-btn--primary{background:#4f46e5;color:#fff}.taxi-btn--danger{background:#ef4444;color:#fff}.taxi-btn--ghost{background:#f1f5f9;color:#374151;border:1px solid #e2e8f0}.taxi-permission-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:12px;color:#6b7280}.taxi-permission-denied__icon{font-size:3rem}.taxi-permission-denied__text{font-size:.95rem}
