@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0d0e12;--bg-secondary:#151821;--bg-tertiary:#1e2230;--accent:#d4af37;--accent-rgb:212, 175, 55;--accent-light:#f3d06b;--accent-dark:#aa8620;--text-primary:#fff;--text-secondary:#9aa0b0;--text-muted:#62697a;--success:#2ec4b6;--warning:#ff9f1c;--danger:#e71d36;--info:#00b4d8;--royal:#7209b7;--border-color:#ffffff14;--border-focus:#d6af3766;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 40px #0009;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-xl:32px;--font-sans:"Outfit", "Noto Sans TC", -apple-system, BlinkMacSystemFont, sans-serif;--transition-smooth:all .3s cubic-bezier(.25, .8, .25, 1);--glass-bg:#ffffff05;--glass-border:#ffffff0f}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.glass-card{border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:var(--transition-smooth);background:#151821cc}.glass-card:hover{border-color:#d6af3740;transform:translateY(-2px);box-shadow:0 10px 30px #d6af370d}.container{max-width:1200px;margin:0 auto;padding:24px}.form-group{margin-bottom:20px}label{color:var(--text-secondary);text-align:left;margin-bottom:8px;font-size:14px;font-weight:500;display:block}input[type=text],input[type=tel],input[type=date],input[type=time],input[type=number],select,textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-smooth);padding:12px 16px;font-size:15px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #d6af3726}textarea{resize:vertical;min-height:80px}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);font-size:15px;font-weight:600;font-family:var(--font-sans);border:none;justify-content:center;align-items:center;padding:12px 24px;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);color:#000}.btn-primary:hover{background:linear-gradient(135deg, var(--accent-light) 0%, var(--accent) 100%);transform:translateY(-1px);box-shadow:0 4px 15px #d6af374d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--text-secondary);background:#ffffff0d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#ff334b;box-shadow:0 4px 15px #e71d364d}.btn-small{padding:8px 16px;font-size:13px}.btn-full{width:100%}.badge{border-radius:20px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-pending{color:var(--warning);background:#ff9f1c26;border:1px solid #ff9f1c4d}.badge-quoted{color:#c77dff;background:#7209b726;border:1px solid #7209b74d}.badge-confirmed{color:var(--info);background:#00b4d826;border:1px solid #00b4d84d}.badge-departed{color:var(--success);background:#2ec4b626;border:1px solid #2ec4b64d}.badge-completed{color:#5cf2e5;background:#2ec4b640;border:1px solid #2ec4b680}.badge-cancelled{color:var(--danger);background:#e71d5626;border:1px solid #e71d564d}.sim-toolbar{border-bottom:2px solid var(--accent);z-index:1000;background:#11141e;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;position:sticky;top:0;box-shadow:0 4px 20px #00000080}.sim-brand{align-items:center;gap:10px;display:flex}.sim-logo-text{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Outfit,sans-serif;font-size:18px;font-weight:700}.sim-roles{gap:8px;padding:4px 0;display:flex;overflow-x:auto}.sim-role-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;background:#ffffff08;border-radius:30px;padding:6px 14px;font-size:13px;font-weight:600}.sim-role-btn:hover{color:var(--text-primary);background:#ffffff14}.sim-role-btn.active{color:var(--accent);border-color:var(--accent);background:#d6af3726}.sim-reset-btn{color:var(--danger);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:1px solid #e71d564d;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:600}.sim-reset-btn:hover{border-color:var(--danger);background:#e71d561a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s cubic-bezier(.25,.8,.25,1) forwards fadeIn}.menu-toggle{border:1px solid var(--border-color);color:var(--accent);cursor:pointer;transition:var(--transition-smooth);background:#ffffff08;border-radius:8px;padding:6px 14px;font-size:20px;display:none}.menu-toggle:hover{border-color:var(--accent);background:#ffffff14}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.driver-phone-shell{width:100%;max-width:380px;box-shadow:var(--shadow-lg);aspect-ratio:9/19;background:#090a0d;border:8px solid #232733;border-radius:40px;flex-direction:column;max-height:760px;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width<=768px){:root{--radius-md:10px;--radius-lg:16px}.container{padding:12px}.driver-phone-shell{max-width:100%!important;box-shadow:none!important;aspect-ratio:auto!important;border:none!important;border-radius:0!important;height:calc(100vh - 120px)!important;max-height:none!important}input[type=text],input[type=tel],input[type=date],input[type=time],input[type=number],select,textarea{padding:10px 12px;font-size:16px!important}.menu-toggle{display:block}.sim-toolbar{justify-content:space-between;align-items:center;padding:12px 16px;position:relative;flex-direction:row!important}.sim-brand{justify-content:flex-start!important;width:auto!important}.sim-roles{display:none}.sim-roles.open{border-bottom:3px solid var(--accent);z-index:1001;background:#11141e;flex-direction:column;gap:10px;padding:16px;animation:.25s cubic-bezier(.25,.8,.25,1) forwards slideDown;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 30px #000c}.sim-role-btn{text-align:left;width:100%;border-radius:8px!important;padding:10px 16px!important}.sim-roles.open .mobile-reset-wrapper{display:block!important}.sim-reset-btn-desktop{display:none}h1{font-size:22px!important}h2{font-size:18px!important}h3{font-size:16px!important}.glass-card{padding:16px!important}div[style*=gridTemplateColumns]{gap:16px!important}}.travel-theme{color:#fff;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ff9f1c0a 0%,#0b0d19f2 100%);padding:30px;box-shadow:0 10px 40px #0000004d}@media print{body *{visibility:hidden}.hotel-portal,.hotel-portal *,.print-area,.print-area *{visibility:visible}.hotel-portal,.print-area{width:100%;position:absolute;top:0;left:0;color:#000!important;background:#fff!important;margin:0!important;padding:0!important}.hotel-portal .glass-card,.hotel-portal .glass-panel,.print-area .glass-card,.print-area .glass-panel{color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #ccc!important}.hotel-portal h1,.hotel-portal h2,.hotel-portal h3,.hotel-portal h4,.hotel-portal p,.hotel-portal span,.hotel-portal td,.hotel-portal th,.hotel-portal strong,.print-area h1,.print-area h2,.print-area h3,.print-area h4,.print-area p,.print-area span,.print-area td,.print-area th,.print-area strong{color:#000!important}.btn,footer,header,button,select,input,textarea,.no-print,.no-print *,div[style*=fixed]{display:none!important}}
