body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:inherit}ul{list-style:none;padding:0}button{cursor:pointer}*{box-sizing:border-box}body{background:#f9fafb;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;line-height:1.6;margin:0}#root,.App,body,html{max-width:100%;overflow-x:hidden;width:100%}button,canvas,img,input,select,svg,textarea,video{max-width:100%}.content,.content-wrapper,.dashboard,.dashboard-content,.layout-main,.page-container,.trip-dashboard{min-width:0}h1,h2,h3,h4,h5,h6{color:#1f2937;margin:0}button{font-family:inherit}a{color:#3b82f6;text-decoration:none}a:hover{text-decoration:underline}.container{padding:20px}.button{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:16px;margin:4px 2px;padding:10px 20px;text-align:center;text-decoration:none;transition:background-color .2s ease}.button:hover{background-color:#2563eb}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.App,.loading-screen{display:flex;flex-direction:column;min-height:100vh}.loading-screen{align-items:center;background:#f9fafb;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}.loading-screen p{color:#6b7280;font-size:16px;margin:0}.access-denied{align-items:center;background:#f9fafb;display:flex;justify-content:center;min-height:100vh;padding:20px}.access-denied-container{background:#fff;border-radius:16px;box-shadow:0 10px 25px #0000001a;max-width:500px;padding:60px 40px;text-align:center;width:100%}.access-denied-icon{font-size:64px;margin-bottom:20px}.access-denied-container h2{color:#dc2626;font-size:24px;margin:0 0 16px}.access-denied-container p{color:#6b7280;font-size:16px;line-height:1.6;margin:0 0 8px}.error-boundary{align-items:center;background:#fef2f2;color:#991b1b;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:40px;text-align:center}.error-boundary h2{color:#991b1b;margin-bottom:16px}.error-boundary button{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px}.error-boundary button:hover{background:#b91c1c}.language-switcher{display:inline-block;position:relative}.language-dropdown{position:relative}.language-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:space-between;min-width:0;padding:8px 12px;transition:all .2s ease}.language-button:hover{background:#f9fafb;border-color:#9ca3af}.language-button:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.flag{font-size:16px;line-height:1}.language-name{flex:1 1;font-weight:500;text-align:left}.dropdown-arrow{color:#6b7280;font-size:10px;transition:transform .2s ease}.language-dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.language-menu{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;margin-top:4px;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .2s ease;visibility:hidden;z-index:1000}.language-dropdown:hover .language-menu{opacity:1;transform:translateY(0);visibility:visible}.language-option{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:space-between;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.language-option:hover{background:#f3f4f6}.language-option.active{background:#eff6ff;color:#2563eb}.language-option:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.language-option:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.checkmark{color:#10b981;font-size:12px;font-weight:700}@media (max-width:768px){.language-button{font-size:13px;gap:6px;min-width:0;padding:6px 10px}.language-name{display:none}.language-button .flag{font-size:18px}.language-menu{left:auto;min-width:160px;right:0}.language-option .language-name{display:block}}.header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;height:64px;position:sticky;top:0;z-index:10}.header .header-content{align-items:center;display:flex;gap:12px;height:100%;justify-content:space-between;padding:0 24px}.header .header-left{flex:1 1;gap:16px;min-width:0}.header .header-left,.header .header-logo{align-items:center;display:flex}.header .header-logo-image{height:32px;object-fit:contain;width:32px}.header .page-title{color:#1f2937;font-size:24px;font-weight:600;margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header .header-right{align-items:center;display:flex;flex-shrink:0;gap:16px;min-width:0}.header .user-info{align-items:center;display:flex;gap:12px}.header .user-name{color:#374151;font-size:14px;font-weight:500;white-space:nowrap}.header .user-avatar{align-items:center;border-radius:50%;display:flex;height:36px;justify-content:center;overflow:hidden;width:36px}.header .user-avatar img{height:100%;object-fit:cover;width:100%}.header .avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:14px;font-weight:600;height:100%;justify-content:center;width:100%}.mobile-menu-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;display:none;font-size:18px;height:34px;justify-content:center;line-height:1;width:34px}.mobile-menu-button:hover{background:#f8fafc}@media (max-width:1024px){.header .header-content{padding:0 16px}.header .page-title{font-size:20px}}@media (max-width:768px){.header{height:56px}.header .header-content{gap:8px;padding:0 12px}.mobile-menu-button{display:inline-flex}.header .header-left{gap:10px;min-width:0}.header .header-logo{display:none}.header .page-title{font-size:17px}.header .header-right{gap:8px}.header .user-name{display:none}.header .user-avatar{height:32px;width:32px}}@media (max-width:480px){.header .header-content{padding:0 10px}.header .page-title{font-size:15px}.mobile-menu-button{font-size:16px;height:32px;width:32px}}.sidebar{background:#1f2937;color:#fff;display:flex;flex-direction:column;height:100dvh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease,transform .3s ease;width:280px;z-index:20}.sidebar.collapsed{width:80px}.sidebar-header{border-bottom:1px solid #374151;justify-content:space-between;min-height:60px;padding:20px}.logo,.sidebar-header{align-items:center;display:flex}.logo{gap:12px}.logo-icon{font-size:24px}.logo-image{height:32px;object-fit:contain;width:32px}.logo-text{font-size:18px;font-weight:700;white-space:nowrap}.toggle-btn{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:18px;line-height:1;padding:6px;transition:color .2s ease}.toggle-btn:hover{background:#374151;color:#fff}.sidebar-nav{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:20px 0}.nav-section+.nav-section{margin-top:12px}.nav-section-label{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.06em;overflow:hidden;padding:8px 24px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.nav-list{list-style:none;margin:0;padding:0}.nav-item{margin:4px 12px}.nav-link{align-items:center;background:none;border:none;border-radius:8px;color:#d1d5db;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;text-decoration:none;transition:all .2s ease;width:100%}.nav-link:hover{background:#374151;color:#fff}.nav-link.active{background:#3b82f6;color:#fff}.nav-icon{font-size:18px;text-align:center;width:20px}.nav-label{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{border-top:1px solid #374151;padding:20px 12px calc(20px + env(safe-area-inset-bottom))}.logout-btn{align-items:center;background:none;border:none;border-radius:8px;color:#f87171;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:background .2s ease;width:100%}.logout-btn:hover{background:#374151}.collapsed .logo-text,.collapsed .nav-label{display:none}.collapsed .logout-btn,.collapsed .nav-link{justify-content:center;padding:12px}.collapsed .logo{justify-content:center}.collapsed .toggle-btn{margin-left:8px}@media (max-width:768px){.sidebar{box-shadow:0 18px 45px #0f172a59;max-width:100%;transform:translateX(-100%);width:min(88vw,340px);will-change:transform;z-index:30}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{width:min(88vw,340px)}.sidebar-header{padding:16px}.nav-item{margin:4px 10px}.logout-btn,.nav-link{justify-content:flex-start}.sidebar-footer{padding:16px 10px calc(16px + env(safe-area-inset-bottom))}}.layout{background:#f9fafb;overflow-x:clip;position:relative;width:100%}.layout,.layout-main{display:flex;min-height:100vh}.layout-main{flex:1 1;flex-direction:column;margin-left:280px;min-width:0;transition:margin-left .3s ease}.layout.sidebar-collapsed .layout-main{margin-left:80px}.layout-overlay{display:none}.content{flex:1 1;min-width:0;overflow-x:hidden;overflow-y:auto;padding:24px}body.body-sidebar-open{overflow:hidden;touch-action:none}.content-wrapper{margin:0 auto;max-width:1400px;min-width:0;width:100%}@media (max-width:1024px){.content{padding:20px 16px}}@media (max-width:768px){.layout-main{margin-left:0!important}.content{padding:12px 10px 20px}.layout-overlay{background:#0f172a73;border:0;display:block;inset:0;margin:0;opacity:0;padding:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:28}.layout-overlay.visible{opacity:1;pointer-events:auto}.content-wrapper{max-width:100%}}.login-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-container{max-width:450px;position:relative;width:100%;z-index:10}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;text-align:center}.login-header{margin-bottom:40px}.company-logo{margin-bottom:20px}.logo-icon{color:#fff;display:inline-block;font-size:48px;padding:20px}.company-logo .logo-image,.logo-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 10px 20px #667eea4d}.company-logo .logo-image{height:80px;object-fit:contain;padding:10px;width:80px}.login-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin:0 0 10px}.login-header h2{color:#374151;font-size:20px;font-weight:600;margin:0 0 10px}.login-header p{color:#6b7280;font-size:16px;margin:0}.login-content{margin-bottom:30px}.error-message{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;display:flex;font-size:14px;gap:8px;margin-bottom:24px;padding:12px 16px;text-align:left}.error-content{flex:1 1}.error-help{background:#ef44441a;border:1px solid #fca5a5;border-radius:8px;margin-top:12px;padding:12px}.error-help p{font-weight:600;margin:0 0 8px}.error-help ol{margin:0;padding-left:20px}.error-help li{line-height:1.4;margin:4px 0}.error-help code{background:#ef44441a;border-radius:4px;font-family:monospace;font-size:12px;padding:2px 4px}.error-icon,.login-button{font-size:16px}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:10px;justify-content:center;margin-bottom:30px;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.8}.login-button.loading{pointer-events:none}.button-icon{font-size:18px}.button-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.loading-spinner{margin-bottom:20px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-info{display:flex;flex-direction:column;gap:12px}.info-item{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:10px;text-align:left}.info-icon{font-size:16px;text-align:center;width:20px}.login-footer{border-top:1px solid #e5e7eb;padding-top:30px}.login-footer p{color:#9ca3af;font-size:13px;margin:0 0 15px}.footer-links{display:flex;gap:20px;justify-content:center}.footer-link{color:#6b7280;font-size:13px;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:#667eea}.background-decoration{bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}.decoration-circle{animation:float 6s ease-in-out infinite;background:#ffffff1a;border-radius:50%;position:absolute}.circle-1{animation-delay:0s;height:200px;left:-100px;top:-100px;width:200px}.circle-2{animation-delay:2s;bottom:-75px;height:150px;right:-75px;width:150px}.circle-3{animation-delay:4s;height:100px;right:-50px;top:50%;width:100px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}@media (max-width:768px){.login-screen{padding:16px}.login-card{padding:30px 24px}.login-header h1{font-size:28px}.login-header h2{font-size:18px}.footer-links{flex-direction:column;gap:10px}}@media (max-width:480px){.login-card{padding:24px 20px}.logo-icon{font-size:40px;padding:16px}.login-header h1{font-size:24px}}.debug-info{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:15px}.debug-info details{cursor:pointer}.debug-info summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;font-size:12px;outline:none;padding:8px}.debug-info summary:hover{background:#f3f4f6}.debug-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:10px;padding:12px}.debug-details p{color:#6b7280;font-family:monospace;font-size:11px;margin:4px 0}.debug-details strong{color:#374151}.login-language-switcher{display:flex;justify-content:center;margin-top:20px}.login-language-switcher .language-switcher{transform:scale(.9)}.risk-reviews,.risk-reviews-container{margin:0 auto;max-width:1400px;padding:24px}.risk-reviews-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.risk-reviews-header h1,.risk-reviews-header h2{color:#1f2937;font-size:28px;font-weight:600;margin:0}.risk-reviews-container .subtitle,.risk-reviews-subtitle{color:#6b7280;font-size:14px;margin:4px 0 0}.risk-reviews-subtitle{align-items:center;display:flex;gap:12px}.auto-refresh-indicator{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#16a34a;display:inline-flex;font-size:12px;gap:4px;padding:2px 8px}.auto-refresh-indicator:before{animation:pulse-dot 2s infinite;content:"●";font-size:8px}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.access-denied-message{color:#6b7280;padding:60px 24px;text-align:center}.access-denied-message h2{color:#dc2626;margin-bottom:8px}.loading,.loading-state{color:#6b7280;gap:10px;justify-content:center;min-height:120px}.loading,.loading-state,.toast{align-items:center;display:flex;font-size:14px}.toast{animation:toast-in .3s ease-out;border-radius:10px;box-shadow:0 4px 12px #00000026;font-weight:500;gap:12px;padding:14px 20px;position:fixed;right:24px;top:24px;z-index:2000}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.toast-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;margin-left:8px;padding:0}.alert{align-items:center;display:flex;font-size:14px;justify-content:space-between}.alert-success{color:#16a34a}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px;padding:12px 14px}.error-banner button{background:#fff;border:1px solid #dc2626;border-radius:8px;color:#b91c1c;font-size:12px;font-weight:600;padding:6px 10px}.btn{font-weight:600;padding:8px 14px}.btn:disabled{opacity:.55}.btn-secondary{border-color:#cbd5e1;color:#334155}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.modal-overlay{background:#0f172a73;padding:16px;z-index:2000}.modal-content{border:1px solid #e5e7eb;box-shadow:0 20px 45px #0f172a3d;max-height:calc(100dvh - 32px);overflow:auto;width:min(720px,100%)}.modal-content.modal-sm{width:min(460px,100%)}.modal-body,.modal-footer,.modal-header{padding:16px}.modal-header{gap:12px}.modal-header h2{color:#1f2937;font-size:20px}.modal-close{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#475569;font-size:18px;height:34px;width:34px}.modal-footer{align-items:center}.risk-reviews-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:20px}.filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{color:#6b7280;font-size:12px;font-weight:500}.range-inputs{align-items:center;display:flex;gap:6px}.filter-input-sm{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:13px;padding:7px 10px;width:90px}.filter-select{min-width:140px}.filter-select,.search-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px}.results-count{color:#6b7280;font-size:13px;margin-bottom:12px}.risk-reviews-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.risk-reviews-table{border-collapse:collapse;width:100%}.risk-reviews-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:13px;font-weight:600;padding:14px 16px;text-align:left;white-space:nowrap}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header:hover{color:#3b82f6}.risk-reviews-table td{border-bottom:1px solid #f3f4f6;font-size:14px;padding:14px 16px;vertical-align:middle}.risk-reviews-table tr:hover{background:#f9fafb}.risk-reviews-table tr.row-near-expiry{background:#fffbeb;border-left:3px solid #f59e0b}.risk-reviews-table tr.row-near-expiry:hover{background:#fef3c7}.risk-reviews-table tr.row-expired{background:#fef2f2;opacity:.7}.empty-state{color:#6b7280;font-size:15px;padding:48px 16px!important;text-align:center}.risk-reviews-mobile-list{display:none}.risk-review-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0f172a14;padding:14px}.risk-review-card.row-near-expiry{background:#fffbeb;border-color:#fde68a}.risk-review-card.row-expired{background:#fef2f2;border-color:#fecaca}.risk-review-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.risk-review-card-label{color:#6b7280;font-size:12px}.risk-review-card-reference{color:#1f2937;font-size:15px;font-weight:700;margin-top:2px}.risk-review-card-grid{grid-gap:8px;display:grid;gap:8px}.risk-review-card-row{align-items:center;color:#1f2937;display:flex;font-size:13px;gap:12px;justify-content:space-between}.risk-review-card-row>span:first-child{color:#6b7280}.btn-mobile-review{margin-top:12px;padding:10px 14px;width:100%}.booking-ref{display:flex;flex-direction:column;gap:2px}.ref-code{color:#1f2937;font-weight:600}.txn-id{color:#9ca3af;font-family:monospace;font-size:11px}.amount{color:#1f2937;font-weight:600}.risk-score-badge{align-items:center;border-radius:50%;display:inline-flex;font-size:14px;font-weight:700;height:40px;justify-content:center;width:40px}.risk-score-green{background:#f0fdf4;border:2px solid #bbf7d0;color:#16a34a}.risk-score-yellow{background:#fffbeb;border:2px solid #fde68a;color:#ca8a04}.risk-score-orange{background:#fff7ed;border:2px solid #fed7aa;color:#ea580c}.risk-score-red{background:#fef2f2;border:2px solid #fecaca;color:#dc2626}.risk-level-badge{border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.risk-level-critical{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.risk-level-high{background:#fff7ed;border:1px solid #fed7aa;color:#ea580c}.triggered-rules{display:flex;flex-wrap:wrap;gap:4px}.rule-badge{background:#f3f4f6;border-radius:10px;color:#374151;font-size:11px;font-weight:500;padding:3px 8px;white-space:nowrap}.rule-badge-more{background:#e5e7eb;color:#6b7280}.recommendation-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.recommendation-manual-review,.recommendation-review{background:#fffbeb;color:#d97706}.recommendation-reject{background:#fef2f2;color:#dc2626}.recommendation-approve{background:#f0fdf4;color:#16a34a}.user-info-masked{display:flex;flex-direction:column;gap:2px}.masked-name{color:#1f2937;font-size:13px;font-weight:500}.masked-email{color:#6b7280;font-size:12px}.time-info{display:flex;flex-direction:column;gap:2px}.timestamp{color:#6b7280;font-size:13px;white-space:nowrap}.time-ago{color:#9ca3af;font-size:11px}.expiry-badge{border-radius:10px;font-size:12px;font-weight:600;padding:3px 8px;white-space:nowrap}.expiry-normal{background:#f3f4f6;color:#6b7280}.expiry-urgent{animation:expiry-pulse 2s infinite;background:#fef3c7;color:#92400e}.expiry-expired{background:#fecaca;color:#dc2626}@keyframes expiry-pulse{0%,to{opacity:1}50%{opacity:.6}}.risk-review-modal{max-width:750px;width:95%}.risk-review-detail{max-height:70vh;overflow-y:auto;padding:0 24px 24px}.expired-notice{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px;text-align:center}.detail-section{border-bottom:1px solid #f3f4f6;margin-bottom:24px;padding-bottom:20px}.detail-section:last-child{border-bottom:none;margin-bottom:0}.detail-section h3{color:#374151;font-size:15px;font-weight:600;margin:0 0 14px}.risk-summary-section{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:24px;padding:20px}.risk-score-large-container{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.risk-score-large{align-items:center;border-radius:50%;display:flex;font-size:24px;font-weight:800;height:72px;justify-content:center;width:72px}.risk-score-label{color:#6b7280;font-size:12px;font-weight:500}.risk-summary-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.summary-row{align-items:center;display:flex;gap:8px}.risk-reason-row{align-items:flex-start;flex-direction:column;gap:4px}.summary-label{color:#6b7280;flex-shrink:0;font-size:13px;font-weight:500;min-width:140px}.summary-value{color:#1f2937;font-size:14px;font-weight:600}.risk-reason-text{font-style:italic;font-weight:400}.detail-grid{grid-gap:12px;gap:12px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-label,.detail-value{font-weight:500}.detail-value{color:#1f2937}.detail-value-mono{font-family:monospace;font-size:12px;word-break:break-all}.text-danger{color:#dc2626!important;font-weight:600!important}.signals-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.signal-item{align-items:center;border-radius:8px;display:flex;font-size:13px;gap:8px;padding:8px 12px}.signal-flagged{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.signal-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.signal-icon{flex-shrink:0;font-size:14px}.triggered-rules-detail{display:flex;flex-direction:column;gap:8px}.rule-detail-item{background:#f9fafb;border-left:3px solid #e5e7eb;border-radius:8px;padding:10px 14px}.rule-detail-item.severity-high{background:#fef2f2;border-left-color:#dc2626}.rule-detail-item.severity-medium{background:#fffbeb;border-left-color:#d97706}.rule-detail-item.severity-low{background:#eff6ff;border-left-color:#3b82f6}.rule-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.rule-code{color:#1f2937;font-size:13px;font-weight:600}.severity-badge{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.severity-badge.severity-high{background:#fecaca;color:#dc2626}.severity-badge.severity-medium{background:#fde68a;color:#92400e}.severity-badge.severity-low{background:#bfdbfe;color:#1e40af}.rule-description{color:#6b7280;font-size:13px;margin:0}.transaction-history-list{display:flex;flex-direction:column;gap:6px}.txn-history-item{align-items:center;background:#f9fafb;border-radius:6px;display:flex;font-size:13px;gap:12px;padding:8px 12px}.txn-history-ref{color:#1f2937;font-weight:600;min-width:160px}.txn-history-amount{color:#374151;font-weight:500;min-width:100px}.txn-history-date{color:#6b7280;min-width:100px}.txn-history-status{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.status-confirmed{background:#f0fdf4;color:#16a34a}.status-cancelled{background:#fef2f2;color:#dc2626}.analyst-action-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-top:8px;padding:20px}.analyst-action-section h3{margin-bottom:16px}.action-disabled-notice{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:13px;font-weight:500;margin-bottom:14px;padding:10px 14px}.analyst-action-section .form-group{margin-bottom:16px}.analyst-action-section .form-group label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.analyst-action-section textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;transition:border-color .2s;width:100%}.analyst-action-section textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.analyst-action-section textarea:disabled{background:#f3f4f6;cursor:not-allowed}.action-buttons-row{display:flex;gap:10px}.btn-action{flex:1 1;font-size:14px;font-weight:600;padding:10px 20px}.btn-success{background:#16a34a;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.btn-success:hover:not(:disabled){background:#15803d}.btn-danger{border-radius:8px;transition:background .2s}.btn-outline{border-radius:8px;cursor:pointer;transition:all .2s}.btn-outline:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-action:disabled,.btn:disabled{cursor:not-allowed;opacity:.5}.confirm-dialog{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:440px;padding:28px;width:90%}.confirm-dialog h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 12px}.confirm-dialog p{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 16px}.confirm-reason{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:13px;margin-bottom:20px;padding:10px 14px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-actions .btn{font-size:14px;font-weight:600;padding:10px 24px}.risk-dashboard-widget{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.risk-dashboard-widget .widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.risk-dashboard-widget .widget-header h2{color:#1f2937;font-size:16px;font-weight:600;margin:0}.risk-metrics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.risk-metric-card{border:1px solid #e5e7eb;border-radius:10px;padding:14px 10px;text-align:center}.risk-metric-card.pending{background:#fffbeb;border-color:#fde68a}.risk-metric-card.processed{background:#eff6ff;border-color:#bfdbfe}.risk-metric-card.avg-time{background:#f0fdf4;border-color:#bbf7d0}.risk-metric-card.approval-rate{background:#faf5ff;border-color:#ddd6fe}.risk-metric-value{color:#1f2937;font-size:24px;font-weight:700;line-height:1.2}.risk-metric-label{color:#6b7280;font-size:11px;font-weight:500;margin-top:4px}.risk-processed-breakdown{border-top:1px solid #f3f4f6;display:flex;gap:16px;padding-top:12px}.breakdown-item{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px}.breakdown-dot{border-radius:50%;height:8px;width:8px}.breakdown-item.approved .breakdown-dot{background:#16a34a}.breakdown-item.rejected .breakdown-dot{background:#dc2626}.breakdown-item.expired .breakdown-dot{background:#d97706}.risk-review-detail-page{margin:0 auto;max-width:1400px;padding:24px}.detail-page-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.btn-back{flex-shrink:0}.detail-page-title{align-items:baseline;display:flex;gap:12px}.detail-page-title h2{color:#1f2937;font-size:24px;font-weight:600;margin:0}.detail-page-ref{color:#6b7280;font-family:monospace;font-size:14px}.detail-page-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 380px}@media (max-width:1024px){.detail-page-layout{grid-template-columns:1fr}}.detail-page-main,.detail-page-sidebar{display:flex;flex-direction:column;gap:20px}.detail-page-sidebar{position:sticky;top:24px}.detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:20px}.detail-card h3{color:#374151;font-size:15px;font-weight:600;margin:0 0 14px}.detail-card.risk-summary-section{align-items:flex-start;background:#f9fafb;display:flex;gap:24px}.detail-list{gap:10px}.detail-list,.detail-list-item{display:flex;flex-direction:column}.detail-list-item{gap:2px}.signals-list{display:flex;flex-direction:column;gap:8px}.detail-item-full{grid-column:1/-1}.booking-items-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.booking-item-tag{background:#f3f4f6;border-radius:8px;color:#374151;font-size:13px;padding:4px 10px}.empty-card-text{color:#9ca3af;font-size:14px;font-style:italic;margin:0}.status-badge{display:inline-block;padding:3px 10px}.status-pending{background:#fffbeb;color:#d97706}.status-approved{background:#f0fdf4;color:#16a34a}.status-rejected{background:#fef2f2;color:#dc2626}.status-expired{background:#f3f4f6;color:#6b7280}.traveler-name{color:#1f2937;font-weight:500}.table-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-primary{border-radius:8px;font-size:13px;padding:6px 14px}.btn-primary:hover{background:#2563eb}.btn-sm{font-size:13px}@media (max-width:1024px){.risk-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-dashboard-widget .widget-header{align-items:stretch;flex-direction:column}.risk-dashboard-widget .widget-header .btn{width:100%}.risk-processed-breakdown{flex-direction:column;gap:8px}}@media (max-width:900px){.risk-review-detail-page,.risk-reviews,.risk-reviews-container{padding:16px 12px}.risk-reviews-header{align-items:stretch;flex-direction:column;gap:12px}.detail-page-title h2,.risk-reviews-header h1,.risk-reviews-header h2{font-size:24px}.risk-reviews-subtitle{align-items:flex-start;flex-direction:column;gap:8px}.risk-reviews-filters{padding:14px}.filters-row{grid-gap:10px;align-items:stretch;display:grid;gap:10px;grid-template-columns:1fr}.filter-group,.filter-input-sm,.filter-select,.filters-row .btn,.range-inputs,.search-input{min-width:0;width:100%}.range-inputs{gap:8px}.range-inputs>span{color:#94a3b8;font-weight:600}.risk-reviews .risk-reviews-table-container{display:none}.risk-reviews .risk-reviews-mobile-list{grid-gap:12px;display:grid;gap:12px}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table td,.responsive-table tr{display:block;width:100%}.responsive-table tr{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:10px;padding:12px}.responsive-table tr:last-child{margin-bottom:0}.responsive-table td{align-items:flex-start;border-bottom:1px dashed #e5e7eb;display:flex;gap:12px;justify-content:space-between;overflow-wrap:anywhere;padding:8px 0;text-align:right}.responsive-table td:last-child{border-bottom:none;padding-bottom:0}.responsive-table td:before{color:#6b7280;content:attr(data-label);flex:1 1;font-size:12px;font-weight:600;text-align:left}.responsive-table td[data-label=Actions]{display:block;text-align:left}.responsive-table td[data-label=Actions]:before{display:block;margin-bottom:8px}.responsive-table .detail-value-mono,.responsive-table code{word-break:break-all}.pagination{flex-wrap:wrap;gap:10px;padding:16px 0}.detail-page-header{gap:10px}.detail-page-header,.detail-page-title{align-items:flex-start;flex-direction:column}.detail-page-title{gap:4px}.detail-page-ref{overflow-wrap:anywhere}.detail-page-sidebar{position:static;top:auto}.analyst-action-section,.detail-card{padding:16px}.detail-grid{grid-template-columns:1fr}.detail-card.risk-summary-section,.risk-summary-section{align-items:flex-start;flex-direction:column}.summary-row{align-items:flex-start;flex-wrap:wrap;justify-content:space-between;width:100%}.summary-label{min-width:0}.action-buttons-row,.confirm-actions,.modal-footer{align-items:stretch;flex-direction:column}.confirm-actions .btn,.modal-footer .btn{width:100%}}@media (max-width:520px){.detail-page-title h2,.risk-reviews-header h1,.risk-reviews-header h2{font-size:21px}.risk-metrics-grid{grid-template-columns:1fr}.risk-metric-value{font-size:22px}.toast{left:12px;padding:12px 14px;right:12px;top:12px}.modal-overlay{padding:10px}.modal-body,.modal-footer,.modal-header{padding:12px}}.dashboard{animation:fadeIn .6s ease-out;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0 0 32px 32px;color:#fff;margin-bottom:2rem;overflow:hidden;padding:2rem;position:relative}.dashboard-header:before{background:linear-gradient(45deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.dashboard-header .header-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;min-width:0;position:relative;z-index:1}.header-text h1{animation:slideInLeft .8s ease-out;font-size:2.5rem;font-weight:700;line-height:1.15;margin:0 0 .5rem;text-shadow:0 2px 4px #0000001a}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.dashboard-subtitle{animation:slideInLeft .8s ease-out .2s both;font-size:1.2rem;font-weight:400;margin:0;opacity:.9}.header-stats{animation:slideInRight .8s ease-out .4s both;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:flex-end}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.mini-stat{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;display:flex;gap:.75rem;min-width:0;padding:1rem 1.25rem}.mini-stat-icon{font-size:1.5rem}.mini-stat-content{display:flex;flex-direction:column}.mini-stat-number{font-size:1.1rem;font-weight:700;line-height:1}.mini-stat-label{font-size:.8rem;margin-top:.25rem;opacity:.8}.dashboard-content{margin:0 auto;max-width:1400px;padding:0 2rem 2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.stat-card{align-items:center;animation:cardSlideIn .6s ease-out;animation-fill-mode:both;background:#fff;border:1px solid #fffc;border-radius:20px;box-shadow:0 8px 32px #0000001a;display:flex;gap:1.5rem;overflow:hidden;padding:2rem;position:relative;transition:all .4s cubic-bezier(.25,.8,.25,1)}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}.stat-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:height .3s ease}.stat-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-8px)}.stat-card:hover:before{height:6px}.stat-card.users:before{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.stat-card.active-users:before{background:linear-gradient(90deg,#10b981,#047857)}.stat-card.new-users:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.stat-card.hotels:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.stat-icon,.stat-icon-container{position:relative}.stat-icon{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;transition:all .3s ease;width:64px}.users .stat-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.active-users .stat-icon{background:linear-gradient(135deg,#10b981,#047857);color:#fff}.new-users .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.hotels .stat-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.stat-icon svg{height:28px;width:28px}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg)}.stat-content{flex:1 1}.stat-content h3{color:#6b7280;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1f2937,#4b5563);background-clip:text;-webkit-background-clip:text;color:#1f2937;font-size:2.8rem;font-weight:800;line-height:1;margin:0 0 .75rem}.stat-change{align-items:center;border-radius:20px;display:inline-flex;font-size:.85rem;font-weight:500;gap:.25rem;padding:.4rem .75rem;transition:all .3s ease}.change-icon{font-size:1rem;font-weight:700}.stat-change.positive{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;color:#16a34a}.stat-change.negative{background:linear-gradient(135deg,#fef2f2,#fecaca);border:1px solid #fca5a5;color:#dc2626}.stat-change.neutral{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;color:#6b7280}.stat-subvalue{color:#6b7280;display:block;font-size:.82rem;font-weight:500;margin-top:.5rem}.dashboard-widgets{grid-gap:2rem;animation:widgetsSlideIn .8s ease-out .6s both;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}@keyframes widgetsSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.widget{background:#fff;border:1px solid #fffc;border-radius:20px;box-shadow:0 8px 32px #0000001a;overflow:hidden;transition:all .3s ease}.widget:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-4px)}.widget-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.widget-header h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.btn{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;display:flex;font-size:.85rem;gap:.5rem;transition:all .3s ease}.btn:hover{border-color:#667eea;color:#667eea;transform:scale(1.05)}.icon-sm{stroke-width:2;height:16px;width:16px}.activity-list{padding:0}.activity-empty-state{color:#6b7280;font-size:.95rem;padding:1.5rem}.activity-item{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;gap:1rem;padding:1.25rem 1.5rem;position:relative;transition:all .3s ease}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:linear-gradient(135deg,#f9fafb,#f3f4f6);transform:translateX(4px)}.activity-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;position:relative;transition:all .3s ease;width:48px}.activity-icon.hotel{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.activity-icon.user{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.activity-icon.subway{background:linear-gradient(135deg,#10b981,#047857);color:#fff}.activity-icon.analytics{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.activity-icon svg{height:20px;width:20px}.activity-item:hover .activity-icon{transform:scale(1.1) rotate(3deg)}.activity-content{flex:1 1}.activity-content p{color:#1f2937;font-size:.9rem;line-height:1.4;margin:0 0 .5rem;overflow-wrap:anywhere}.activity-time{color:#6b7280;font-size:.8rem;font-weight:500}.quick-actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1.5rem}.quick-action-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:16px;color:#1f2937;cursor:pointer;display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding:2rem 1rem;position:relative;text-decoration:none;transition:all .4s cubic-bezier(.25,.8,.25,1)}.quick-action-btn:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.quick-action-btn:hover:before{left:100%}.quick-action-btn:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea33;transform:translateY(-4px) scale(1.05)}.action-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;height:48px;justify-content:center;transition:all .3s ease;width:48px}.quick-action-btn.hotels .action-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.quick-action-btn.users .action-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.quick-action-btn.subways .action-icon{background:linear-gradient(135deg,#10b981,#047857)}.quick-action-btn.analytics .action-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.action-icon svg{height:24px;width:24px}.quick-action-btn:hover .action-icon{transform:scale(1.1) rotate(5deg)}.quick-action-btn span{font-size:.9rem;font-weight:600;text-align:center;transition:all .3s ease}.quick-action-btn:hover span{color:#667eea}.dashboard-footer{animation:footerSlideIn .8s ease-out .8s both;background:#fff;border:1px solid #fffc;border-radius:20px;box-shadow:0 8px 32px #0000001a;padding:2rem}@keyframes footerSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.dashboard-footer h3{align-items:center;color:#1f2937;display:flex;font-size:1.25rem;font-weight:600;gap:.75rem;margin:0 0 1.5rem}.status-icon{color:#667eea;height:24px;width:24px}.status-indicators{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.status-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e5e7eb;border-radius:12px;color:#1f2937;display:flex;font-size:.9rem;gap:.75rem;padding:1rem;transition:all .3s ease}.status-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.status-dot{border-radius:50%;flex-shrink:0;height:12px;position:relative;width:12px}.status-dot.online{background:#10b981;box-shadow:0 0 0 3px #10b98133}.status-dot.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 #10b981b3}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 0 0 #10b98100}}.status-dot.offline{background:#ef4444;box-shadow:0 0 0 3px #ef444433}.status-dot.warning{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}@media (max-width:1024px){.dashboard-widgets{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(4,1fr)}.dashboard-header .header-content{flex-direction:column;gap:1.5rem;text-align:center}.header-stats{justify-content:center}}@media (max-width:768px){.dashboard-content{padding:0 1rem 1rem}.dashboard-header{border-radius:0 0 24px 24px;padding:1.5rem}.header-text h1{font-size:2rem}.widget-header{align-items:stretch}.widget-header .btn{justify-content:center;width:100%}.stats-grid{gap:1rem;grid-template-columns:1fr}.stat-card{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.stat-number{font-size:2.2rem}.quick-actions-grid{grid-template-columns:1fr 1fr}.status-indicators{gap:1rem;grid-template-columns:1fr}.header-stats{flex-direction:column;gap:1rem;width:100%}.mini-stat{justify-content:center}}@media (max-width:480px){.dashboard-content{padding:0 .75rem .75rem}.dashboard-header{margin-bottom:1rem;padding:1.25rem 1rem}.header-text h1{font-size:1.75rem}.dashboard-subtitle{font-size:1rem}.stat-icon{height:48px;width:48px}.stat-icon svg{height:20px;width:20px}.stat-number{font-size:1.8rem}.quick-action-btn{padding:1.5rem .75rem}.quick-actions-grid{grid-template-columns:1fr}.action-icon{height:40px;width:40px}.action-icon svg{height:20px;width:20px}.dashboard-footer{padding:1.5rem}}.trip-dashboard-widget{margin-bottom:24px}.trip-metrics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.trip-metric-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:default;display:flex;gap:12px;padding:16px;transition:box-shadow .2s}.trip-metric-card:hover{box-shadow:0 4px 12px #00000014}.trip-metric-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.trip-metric-icon svg{height:20px;width:20px}.trip-metric-card.total .trip-metric-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.trip-metric-card.confirmed .trip-metric-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.trip-metric-card.active .trip-metric-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.trip-metric-card.cancelled .trip-metric-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.trip-metric-body{min-width:0}.trip-metric-value{color:#1f2937;font-size:22px;font-weight:700;line-height:1.1}.trip-metric-label{color:#6b7280;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-status-bar{background:#f1f5f9;border-radius:4px;display:flex;gap:2px;height:8px;overflow:hidden}.trip-status-segment{border-radius:2px;min-width:4px;transition:opacity .2s}.trip-status-segment:hover{opacity:.8}.trip-status-segment.confirmed{background:#10b981}.trip-status-segment.active{background:#3b82f6}.trip-status-segment.completed{background:#6366f1}.trip-status-segment.cancelled{background:#ef4444}.quick-action-btn.trips{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.quick-action-btn.trips:hover{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#86efac}.quick-action-btn.trips .action-icon{background:linear-gradient(135deg,#10b981,#059669)}@media (max-width:1024px){.trip-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.trip-metrics-grid{grid-template-columns:1fr 1fr}}.period-filter{display:flex;flex-direction:column;gap:10px}.period-filter-presets{background:#ffffff1f;border-radius:10px;display:flex;flex-wrap:wrap;gap:6px;padding:4px}.period-filter-preset{background:#0000;border:none;border-radius:7px;color:inherit;cursor:pointer;font-size:13px;font-weight:500;padding:7px 14px;transition:background .15s,color .15s;white-space:nowrap}.period-filter-preset:hover:not(:disabled){background:#ffffff2e}.period-filter-preset.active{background:#fff;box-shadow:0 1px 3px #00000026;color:#4f46e5}.period-filter-preset:disabled{cursor:not-allowed;opacity:.6}.period-filter-custom{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.period-filter-custom label{display:flex;flex-direction:column;font-size:12px;gap:4px}.period-filter-custom input[type=date]{background:#fffffff2;border:1px solid #fff6;border-radius:7px;color:#1f2937;font-size:13px;padding:7px 10px}.period-filter-apply{background:#fff;border:none;border-radius:7px;color:#4f46e5;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:opacity .15s}.period-filter-apply:disabled{cursor:not-allowed;opacity:.55}.period-filter-error{align-self:center;color:#fecaca;font-size:12px}.analytics-page .period-filter-presets{background:#f1f5f9}.analytics-page .period-filter-preset{color:#475569}.analytics-page .period-filter-preset:hover:not(:disabled){background:#e2e8f0}.analytics-page .period-filter-preset.active{background:#4f46e5;color:#fff}.analytics-page .period-filter-custom input[type=date]{border-color:#d1d5db}.analytics-page .period-filter-apply{background:#4f46e5;color:#fff}.analytics-page .period-filter-error{color:#dc2626}.user-management{margin:0 auto;max-width:1400px;padding:24px}.user-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.user-management-header h2{color:#1f2937;font-size:28px;font-weight:600;margin:0}.user-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;margin-bottom:24px;padding:20px}.filter-select,.search-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:8px 12px}.search-input{min-width:250px}.filter-select{min-width:150px}.bulk-actions{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-weight:500;gap:12px;margin-bottom:16px;padding:12px 16px}.bulk-actions span{margin-right:auto}.users-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:16px;text-align:left}.users-table td{border-bottom:1px solid #f3f4f6;padding:16px;vertical-align:middle}.users-table tr:hover{background:#f9fafb}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:#3b82f6;border-radius:50%;color:#fff;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.user-name{color:#1f2937;font-weight:600}.user-username{color:#6b7280;font-size:12px}.user-roles{display:flex;flex-wrap:wrap;gap:4px}.role-badge{background:#eff6ff;border-radius:12px;color:#1e40af;font-size:12px;font-weight:500;padding:4px 8px}.status-badge{font-size:12px;font-weight:600;text-transform:uppercase}.status-active{background:#dcfce7;color:#166534}.status-inactive{background:#fee2e2;color:#dc2626}.pagination{gap:16px;justify-content:center;margin-top:24px;padding:20px}.pagination-info{font-weight:500}.modal-overlay{background:#00000080}.modal-content{box-shadow:0 25px 50px #00000040;max-width:600px}.modal-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;border-radius:6px;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background .2s ease;width:32px}.modal-close:hover{background:#f3f4f6}.user-form{padding:0 24px 24px}.form-group,.form-row{margin-bottom:16px}.form-group label{font-weight:600}.form-group input,.form-group select{border-radius:8px;padding:10px 12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:#dc2626}.error-text{color:#dc2626;display:block;font-size:12px;margin-top:4px}.roles-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.role-item{border:1px solid #e5e7eb;border-radius:8px;padding:12px;transition:border-color .2s ease}.role-item:hover{border-color:#d1d5db}.role-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:8px}.role-checkbox input[type=checkbox]{margin-top:2px}.role-info{flex:1 1}.role-name{color:#1f2937;display:block;font-weight:600;margin-bottom:2px}.role-description{color:#6b7280;display:block;font-size:12px}.checkbox-label{font-weight:400;gap:8px}.modal-actions{margin-top:24px}.btn{border-radius:8px;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-outline{background:#fff;border-color:#d1d5db}.btn-outline:hover{background:#f9fafb}.btn-success{background:#10b981;border-color:#10b981;color:#fff}.btn-success:hover{background:#059669;border-color:#059669}.btn-warning{background:#f59e0b;border-color:#f59e0b}.btn-warning:hover{background:#d97706;border-color:#d97706}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.alert{font-weight:500;margin-bottom:16px}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.alert-success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.loading{color:#6b7280;padding:40px}@media (max-width:768px){.form-row,.roles-grid{grid-template-columns:1fr}.modal-content{margin:20px;width:95%}.action-buttons{flex-direction:column}.users-table-container{overflow-x:auto}.users-table{min-width:800px}}.page-container{margin:0 auto;max-width:1400px;padding:24px}.page-header{margin-bottom:32px;text-align:center}.page-header h1{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:8px}.page-header p{color:#6b7280;font-size:1.1rem;margin:0 auto;max-width:600px}.page-content{margin-top:32px}.feature-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:24px}.feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;text-align:center;transition:all .3s ease}.feature-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.feature-card h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:12px}.feature-card p{color:#6b7280;line-height:1.6;margin-bottom:20px}.feature-card .btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none;transition:background .2s ease}.feature-card .btn:hover{background:#2563eb}.feature-card .btn-primary{background:#3b82f6}.feature-card .btn-primary:hover{background:#2563eb}.platform-name{align-items:center;display:flex;gap:8px}.platform-icon{font-size:1.2rem}.platform-code{background-color:#f3f4f6;color:#374151;font-weight:500;padding:4px 8px}.api-endpoint,.platform-code{border-radius:4px;font-family:Monaco,Consolas,monospace;font-size:.75rem}.api-endpoint{background-color:#ecfdf5;color:#059669;padding:2px 6px}.status-badge{border:none;border-radius:20px;cursor:pointer;font-size:.75rem;font-weight:500;padding:4px 12px;transition:all .2s}.status-badge.active{background-color:#dcfce7;color:#166534}.status-badge.active:hover{background-color:#bbf7d0}.status-badge.inactive{background-color:#fef2f2;color:#991b1b}.status-badge.inactive:hover{background-color:#fecaca}.action-buttons{align-items:center;display:flex;gap:8px}.btn-sm{font-size:.75rem;padding:6px 12px}.btn-outline{border:1px solid #d1d5db;color:#374151}.btn-outline:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-danger{background-color:#ef4444;border:1px solid #ef4444}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.text-muted{color:#6b7280;font-style:italic}.alert{border:1px solid;border-radius:8px;margin-bottom:20px;padding:12px 16px}.alert-warning{background-color:#fffbeb;border-color:#fbbf24}.alert-info{background-color:#eff6ff;border-color:#3b82f6;color:#1e40af}.alert strong{font-weight:600}.subway-name{align-items:center;display:flex;gap:8px}.subway-icon{font-size:1.2rem}.location-info{line-height:1.4}.location-info .city{color:#111827;font-weight:500}.location-info .country{color:#6b7280;font-size:.75rem}.lines-count,.stations-count{background-color:#f3f4f6;border-radius:12px;color:#374151;display:inline-block;font-size:.875rem;font-weight:500;min-width:24px;padding:2px 8px;text-align:center}.date-text{color:#6b7280;font-size:.75rem}@media (max-width:640px){.form-row{gap:0;grid-template-columns:1fr}}.pagination-section{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:20px;padding:20px 0}.pagination-info{align-items:center;display:flex;font-size:.875rem;gap:16px}.per-page-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;padding:4px 8px}.pagination-controls{gap:8px}.pagination-controls button{align-items:center;display:flex;font-weight:500;height:32px;justify-content:center;min-width:32px}.pagination-controls button:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#374151;font-size:.875rem;font-weight:500;margin:0 12px}.search-filters{align-items:center;display:flex;flex:1 1;gap:12px}.search-input{flex:1 1;max-width:400px}.sort-controls{align-items:center;display:flex;gap:8px}.sort-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;min-width:150px;padding:8px 12px}.sort-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.data-table th[style*="cursor: pointer"]{transition:background-color .2s ease}.data-table th[style*="cursor: pointer"]:hover{background-color:#f3f4f6}.id-badge{background:#f3f4f6;border-radius:4px;color:#6b7280;display:inline-block;font-family:monospace;font-size:12px;font-weight:500;padding:4px 8px}.tanstack-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.tanstack-table-container .header-content{align-items:center;display:flex;gap:8px;justify-content:space-between;min-height:40px}.sort-indicator{font-size:12px;opacity:.7;-webkit-user-select:none;user-select:none}.data-table th{position:relative;transition:background-color .2s ease}.data-table th:hover{background-color:#f9fafb}.data-table th[style*="cursor: pointer"]{background-color:#f8fafc}.data-table th[style*="cursor: pointer"]:hover{background-color:#f1f5f9}@media (max-width:768px){.page-container{padding:16px}.pagination-section{align-items:stretch;flex-direction:column;gap:12px}.pagination-info{flex-wrap:wrap;gap:10px}.pagination-controls{justify-content:space-between}.search-filters{align-items:stretch;flex-direction:column;gap:10px}.search-input{max-width:none;width:100%}.sort-controls{flex-wrap:wrap;width:100%}.sort-select{min-width:0;width:100%}.page-header h1{font-size:2rem}.feature-grid{gap:16px;grid-template-columns:1fr}.feature-card{padding:20px}}@media (max-width:480px){.page-container{padding:12px}.page-header h1{font-size:1.75rem}.page-header p{font-size:1rem}.feature-card{padding:16px}}.table-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.search-section{flex:1 1;min-width:300px}.filters-section{align-items:center;display:flex;gap:.5rem}.filter-select{background-color:#fff;border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;cursor:pointer;font-size:14px;min-width:120px;padding:.5rem}.filter-select:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 2px #007bff40;outline:none}.search-input{border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;font-size:14px;min-width:300px;padding:.5rem}.search-input:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 2px #007bff40;outline:none}.table-container{box-shadow:0 2px 4px #0000001a;margin-bottom:1rem;overflow:hidden}.data-table{font-size:14px}.data-table td,.data-table th{border-bottom:1px solid #eee;padding:12px}.data-table th{color:#495057;position:sticky;top:0;z-index:1}.data-table th,.data-table tr:hover{background-color:#f8f9fa}.header-cell{align-items:center;cursor:pointer;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none}.header-cell.sortable:hover{color:#007bff;color:var(--primary-color,#007bff)}.actions-cell{align-items:center;gap:.5rem;justify-content:center;position:relative}.primary-actions{display:flex;gap:.25rem}.dropdown{display:inline-block;position:relative}.dropdown-toggle{align-items:center;background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:28px;justify-content:center;min-width:32px;padding:.25rem .5rem;position:relative;transition:all .2s}.dropdown-toggle:focus,.dropdown-toggle:hover{background-color:#5a6268;outline:none;transform:translateY(-1px)}.dropdown-toggle:active{transform:translateY(0)}.dropdown-menu{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:180px;opacity:0;padding:.5rem 0;pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .2s ease;visibility:hidden;z-index:1000}.dropdown-menu.show,.dropdown:hover .dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.dropdown-item{background:none;border:none;color:#495057;font-size:13px;gap:.5rem;padding:.5rem 1rem;text-align:left;transition:background-color .15s ease;width:100%}.dropdown-item:hover{background-color:#f8f9fa;color:#16181b}.dropdown-item:active{background-color:#e9ecef}.actions-cell .btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;min-width:28px;padding:.25rem .5rem;transition:all .2s}.btn-primary{background-color:#007bff}.btn-primary:hover{background-color:#0056b3;transform:translateY(-1px)}.btn-danger{background-color:#dc3545}.btn-danger:hover{background-color:#c82333;transform:translateY(-1px)}.rating{align-items:center;display:flex;gap:.5rem}.rating-number{color:#666;font-size:12px}.status{border-radius:12px;font-size:12px;font-weight:500;padding:.25rem .5rem}.status-yes{background-color:#d4edda;color:#155724}.status-no{background-color:#f8d7da;color:#721c24}.pagination-controls{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:1rem;justify-content:center;padding:1rem}.pagination-info{color:#666;font-size:14px}.total-rows{color:#999;font-size:12px;margin-left:.5rem}.page-size-select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:.25rem .5rem}.modal{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #eee;padding:1.5rem}.modal-header h2{color:#333}.modal-form{padding:1.5rem}.form-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.form-group label{color:#333;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 2px #007bff40}.checkbox-group{align-items:center;flex-direction:row}.checkbox-group label{cursor:pointer;margin-bottom:0;margin-left:.5rem}.checkbox-group input[type=checkbox]{margin:0;width:auto}.modal-actions{border-top:1px solid #eee;gap:1rem;padding-top:1rem}.btn-outline{background-color:initial;border:1px solid #6c757d;color:#6c757d}.btn-outline:hover{background-color:#6c757d;color:#fff}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:1rem;padding:1rem}.error-message.demo-mode{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.loading{color:#666;padding:2rem;text-align:center}.filter-info{align-items:center;background-color:#e7f3ff;border:1px solid #b8daff;border-radius:4px;color:#004085;display:flex;flex-wrap:wrap;font-size:14px;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.filter-tag{background-color:#007bff;border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:.25rem .5rem}@media (max-width:768px){.table-controls{align-items:stretch;flex-direction:column;gap:.75rem}.search-section{min-width:auto;width:100%}.filters-section{flex-wrap:wrap;width:100%}.filter-select{flex:1 1;min-width:auto}.search-input{min-width:auto;width:100%}.data-table{font-size:12px}.data-table td,.data-table th{padding:8px}.actions-cell{flex-direction:column;gap:.25rem}.actions-cell .btn{text-align:center;width:100%}.pagination-controls{flex-wrap:wrap;gap:.5rem}.form-grid{grid-template-columns:1fr}.modal{margin:1rem;width:95%}.actions-cell,.modal-actions{flex-direction:column}.actions-cell{gap:.25rem}.primary-actions{justify-content:center;width:100%}.dropdown,.dropdown-toggle{width:100%}.dropdown-menu{left:0;min-width:150px;right:auto;width:100%}.table-container{overflow-x:auto}.data-table{min-width:800px}.data-table td,.data-table th{font-size:12px;padding:8px}}.btn{border:none;border-radius:4px;font-size:14px;padding:.5rem 1rem;text-decoration:none}.btn-sm{font-size:12px;padding:.25rem .5rem}.page-header{gap:1rem;margin-bottom:2rem}.page-header h1{margin:0 0 .5rem}.page-header p{color:#666;margin:0}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column}}.inventory-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:8px;margin-bottom:16px}.inventory-tab{background:none;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:14px;padding:10px 18px}.inventory-tab.active{border-bottom-color:#2563eb;color:#2563eb;font-weight:600}.inventory-filters{align-items:flex-end;flex-wrap:wrap;gap:12px}.inventory-filters .filter-group{display:flex;flex-direction:column;gap:4px}.inventory-filters .filter-group label{color:#64748b;font-size:12px}.filter-actions{flex-direction:row!important;gap:8px}.data-table{font-size:13px}.data-table td,.data-table th{border-bottom:1px solid #eef2f7;padding:8px 10px;text-align:left;vertical-align:top}.data-table th{background:#f8fafc;color:#475569}.data-table .mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.small{color:#64748b;font-size:11px}.btn-link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:12px;padding:2px 6px}.btn-link:hover{text-decoration:underline}.status-badge{background:#e2e8f0;border-radius:12px;color:#334155;font-size:11px;padding:2px 8px}.status-badge.status-active{background:#dcfce7;color:#166534}.status-badge.status-inactive{background:#fee2e2;color:#991b1b}.sync-badge{background:#e2e8f0;border-radius:12px;color:#334155;font-size:11px;padding:2px 8px}.sync-badge.sync-completed,.sync-badge.sync-synced{background:#dcfce7;color:#166534}.sync-badge.sync-failed,.sync-badge.sync-stale{background:#fee2e2;color:#991b1b}.sync-badge.sync-never,.sync-badge.sync-queued,.sync-badge.sync-running{background:#fef9c3;color:#854d0e}.origin-badge{border-radius:8px;font-size:10px;margin-left:6px;padding:1px 6px}.origin-badge.origin-provider{background:#e0e7ff;color:#3730a3}.origin-badge.origin-override{background:#fde68a;color:#92400e}.event-badge{background:#ede9fe;border-radius:8px;color:#5b21b6;font-size:11px;padding:2px 8px}.inventory-modal{max-width:900px;width:90%}.detail-grid{grid-gap:24px;gap:24px;grid-template-columns:1fr 1fr}.detail-grid section h3{color:#1e293b;font-size:14px;margin:0 0 10px}.detail-row{border-bottom:1px dashed #eef2f7;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:6px 0}.detail-label{color:#64748b}.detail-value{color:#0f172a;text-align:right}.edit-form .form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.edit-form label{color:#475569;font-size:12px}.edit-form textarea.search-input{min-height:64px;resize:vertical}.required{color:#dc2626}.metric-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;text-align:center}.metric-card .metric-value{color:#0f172a;font-size:26px;font-weight:700}.metric-card .metric-label{color:#64748b;font-size:12px;margin-top:4px}.metric-card.tone-danger .metric-value{color:#dc2626}.metric-card.tone-warning .metric-value{color:#d97706}.metric-card.tone-success .metric-value{color:#16a34a}.trigger-forms{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:20px 0}.trigger-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:16px}.trigger-card h3{font-size:14px;margin:0 0 4px}.success-banner{background:#dcfce7;border-radius:8px;color:#166534;margin-bottom:12px;padding:10px 14px}.city-autocomplete{position:relative}.city-autocomplete-input-row{align-items:center;display:flex;position:relative}.city-autocomplete-input-row .search-input{flex:1 1;padding-right:28px}.city-clear-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:16px;line-height:1;padding:0;position:absolute;right:8px}.city-clear-btn:hover{color:#475569}.city-country-tag{background:#e0e7ff;border-radius:6px;color:#3730a3;display:inline-block;font-size:11px;font-weight:600;margin-top:4px;padding:2px 8px}.city-dropdown{border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 6px 20px #0000001f;list-style:none;margin:0;max-height:260px;padding:4px 0;top:calc(100% + 2px);z-index:200}.city-dropdown li{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:9px 14px}.city-dropdown li:hover{background:#f1f5f9}.city-name{color:#0f172a;flex:1 1;font-size:13px}.city-meta{color:#64748b;font-size:11px;white-space:nowrap}@media (max-width:900px){.detail-grid,.metric-cards,.trigger-forms{grid-template-columns:1fr}}.installments-page-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.installments-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px}.installments-section h3{color:#111827;margin:0 0 16px}.installments-form-grid{grid-gap:12px;display:grid;gap:12px}.installments-form-grid label{grid-gap:6px;color:#374151;display:grid;font-size:.9rem;gap:6px}.installments-form-grid input,.installments-form-grid select{border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;padding:10px 12px}.installments-form-grid select{background:#fff}.installments-form-grid input:focus,.installments-form-grid select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.installments-field-title{color:#374151;font-size:.9rem;font-weight:500}.installments-partner-picker{grid-gap:8px;display:grid;gap:8px;margin-bottom:14px}.installments-partner-selector{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.installments-partner-option{grid-gap:10px;align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:10px;cursor:pointer;display:grid;gap:10px;grid-template-columns:auto 1fr auto;padding:10px 12px;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.installments-partner-option:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f61f}.installments-partner-option.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.installments-partner-option:disabled{background:#f9fafb;cursor:not-allowed;opacity:.6}.installments-partner-content{grid-gap:2px;display:grid;gap:2px}.installments-partner-code{color:#4b5563;font-family:Monaco,Consolas,monospace;font-size:.8rem}.installments-partner-status{border-radius:999px;font-size:.7rem;font-weight:600;padding:2px 8px;text-transform:uppercase}.installments-partner-status.active{background:#dcfce7;color:#166534}.installments-partner-status.inactive{background:#fee2e2;color:#991b1b}.installments-empty-state{background:#f9fafb;border:1px dashed #d1d5db;border-radius:10px;color:#6b7280;font-size:.9rem;padding:12px}.installments-checkbox{align-items:center;color:#111827;display:inline-flex;font-size:.9rem;gap:8px;margin-top:14px}.installments-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.installments-action-btn{margin-top:14px}.installments-rule-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-top:16px;padding:14px}.installments-rule-preview h4{color:#111827;margin:0 0 10px}.installments-rule-preview dl{grid-gap:8px;display:grid;gap:8px;margin:0}.installments-rule-preview dl div{grid-gap:8px;display:grid;gap:8px;grid-template-columns:140px 1fr}.installments-rule-preview dt{color:#374151;font-weight:600}.installments-rule-preview dd{color:#1f2937;margin:0;word-break:break-word}@media (max-width:768px){.installments-partner-option{gap:8px;grid-template-columns:auto 1fr}.installments-partner-status{grid-column:2;justify-self:start}}.create-policy-form{display:flex;flex-direction:column;gap:20px;max-width:900px}.create-policy-two-col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.create-policy-full-col{grid-column:1/-1}.create-policy-full-col textarea{border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:.9rem;padding:10px 12px;resize:vertical}.create-policy-full-col textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.create-policy-checkboxes{display:flex;flex-direction:column;gap:8px}.create-policy-submit-row{padding:4px 0 20px}.create-policy-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:16px;max-width:560px;padding:40px;text-align:center}.create-policy-success-icon{align-items:center;background:#16a34a;border-radius:50%;color:#fff;display:flex;font-size:1.6rem;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.create-policy-success h2{color:#15803d;font-size:1.2rem;margin:0 0 8px}.create-policy-success-id{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;display:inline-block;font-family:Monaco,Consolas,monospace;font-size:.85rem;margin:0 0 24px;padding:8px 14px;word-break:break-all}.create-policy-success-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;left:0;right:0;top:0}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{margin-bottom:24px;padding:24px 24px 0}.modal-header h2{color:#111827;font-size:1.25rem}.modal-close{border-radius:4px;font-size:1.5rem;padding:4px;transition:all .2s}.modal-close:hover{background-color:#f3f4f6;color:#374151}.modal-form{padding:0 24px 24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.875rem;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.roles-grid{grid-gap:8px;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:8px;max-height:200px;overflow-y:auto;padding:4px}.checkbox-label{align-items:center;cursor:pointer;display:flex;margin-bottom:0!important}.checkbox-label input[type=checkbox]{margin-bottom:0;margin-right:8px;width:auto}.checkbox-text{color:#374151;font-size:.875rem;font-weight:500}.field-help{color:#6b7280}.error-message,.field-help{font-size:.75rem;line-height:1.4;margin-top:4px}.error-message{color:#ef4444}.submit-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:.875rem;margin-bottom:0;margin-top:16px;padding:12px}.modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px}.btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;min-width:80px;padding:10px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#3b82f6;border-color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.btn-secondary{background-color:#f9fafb;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.btn-danger{background-color:#dc2626;border-color:#dc2626}.btn-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.country-selector{position:relative;width:100%}.country-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.city-selector{position:relative;width:100%}.city-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:999}.city-selector input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.city-info{align-items:center;display:flex;flex:1 1}.city-name{color:#374151;font-weight:500}.city-region{color:#6b7280;font-size:.875rem}.city-code{background-color:#f3f4f6;border-radius:4px;color:#6b7280;font-family:Monaco,Consolas,monospace;font-size:.75rem;font-weight:500;min-width:32px;padding:2px 6px;text-align:center}.fallback-item{background-color:#fef3c7;border-left:3px solid #f59e0b}.fallback-item:hover{background-color:#fde68a}.fallback-badge{background-color:#fbbf24;border-radius:10px;color:#92400e;font-size:.75rem;font-weight:500;margin-left:8px;padding:1px 6px}.dropdown-loading,.dropdown-no-results{color:#6b7280;font-size:.875rem;padding:12px 16px;text-align:center}.dropdown-list{padding:4px 0}.dropdown-item{align-items:center;cursor:pointer;display:flex;font-size:.875rem;gap:8px;padding:8px 16px;transition:background-color .2s}.dropdown-item:hover{background-color:#f3f4f6}.dropdown-item:active{background-color:#e5e7eb}.country-flag{background-color:#f3f4f6;border-radius:4px;color:#6b7280;font-family:Monaco,Consolas,monospace;font-size:.75rem;font-weight:500;min-width:32px;padding:2px 6px;text-align:center}.country-name{color:#374151;flex:1 1}@media (max-width:640px){.modal-content{margin:16px;width:calc(100% - 32px)}.modal-form,.modal-header{padding-left:16px;padding-right:16px}.form-row{gap:0;grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.btn{justify-content:center;width:100%}}.form-help{color:#6b7280;display:block;font-size:.75rem;margin-top:4px}.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#b91c1c;font-size:.8125rem;margin-top:6px;padding:6px 10px}.audit-timeline{list-style:none;margin:0;padding:0}.audit-timeline-item{border-left:2px solid #e5e7eb;margin-left:6px;padding:0 0 16px 14px;position:relative}.audit-timeline-item:before{background:#6366f1;border-radius:50%;content:"";height:12px;left:-7px;position:absolute;top:4px;width:12px}.audit-timeline-time{color:#6b7280;font-size:.75rem;margin-bottom:2px}.audit-timeline-action{color:#111827;font-weight:600}.audit-timeline-actor{color:#6b7280;font-size:.875rem;margin-left:4px}.audit-timeline-message{color:#374151;font-size:.875rem;margin:4px 0 0}.flight-segments-list{display:flex;flex-direction:column;gap:12px}.flight-segment-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.flight-segment-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.flight-segment-title{color:#111827;font-size:.875rem;font-weight:600}.opportunities-page{display:flex;flex-direction:column;gap:16px}.opportunities-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.opportunity-metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px}.opportunity-metric-card .metric-label{color:#6b7280;font-size:12px;letter-spacing:.02em;text-transform:uppercase}.opportunity-metric-card strong{color:#111827;font-size:24px;line-height:1}.opportunity-filter-wide{min-width:180px;width:220px}.opportunity-main-cell{display:flex;flex-direction:column;gap:2px}.opportunity-main-cell strong{color:#111827;font-size:13px}.opportunity-main-cell span{color:#4b5563;font-size:13px}.opportunity-main-cell small{color:#9ca3af;font-size:12px}.opportunity-secondary-cell{display:flex;flex-direction:column;gap:2px}.opportunity-secondary-cell span{color:#1f2937;font-size:13px}.opportunity-secondary-cell small{color:#6b7280;font-size:12px}.opportunity-type-badge{background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8}.opportunity-score-badge,.opportunity-type-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 8px}.opportunity-score-low{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.opportunity-score-medium{background:#fff7ed;border:1px solid #fed7aa;color:#b45309}.opportunity-score-high{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.status-detected{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.status-scheduled{background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3}.status-triggered{background:#ecfeff;border:1px solid #a5f3fc;color:#0e7490}.status-notificationsent{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.status-notificationfailed{background:#fff7ed;border:1px solid #fdba74;color:#b45309}.status-converted{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.status-suppressed{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.opportunity-action-textarea{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;resize:vertical;width:100%}.opportunities-detail-page .detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.opportunity-summary-card{display:flex;flex-direction:column;gap:14px}.opportunity-summary-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.opportunity-summary-header h3{color:#111827;font-size:20px;margin:0}.opportunity-summary-header p{color:#6b7280;margin:4px 0 0}.opportunity-summary-badges{align-items:center;display:flex;gap:8px}.detail-grid{grid-gap:10px;display:grid;gap:10px}.detail-grid-two{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-label{color:#6b7280;display:block;font-size:12px;margin-bottom:2px}.detail-value{color:#111827;font-size:14px;word-break:break-word}.detail-muted{color:#6b7280;font-size:14px;margin:0}.opportunity-timeline{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0 0 14px;padding:0}.opportunity-timeline li{border-bottom:1px solid #f3f4f6;color:#374151;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding-bottom:6px}.opportunity-timeline strong{color:#111827}.metadata-grid{grid-gap:8px;display:grid;gap:8px}.metadata-row{grid-gap:10px;border-bottom:1px solid #f3f4f6;display:grid;font-size:13px;gap:10px;grid-template-columns:1fr 2fr;padding-bottom:6px}.metadata-key{color:#6b7280}.metadata-value{color:#111827;word-break:break-word}.detail-actions-column{display:flex;flex-direction:column;gap:10px}.feedback-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.feedback-field label{color:#4b5563;font-size:12px;font-weight:600}.feedback-field select,.feedback-field textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:8px 10px;width:100%}@media (max-width:1024px){.metadata-row{grid-template-columns:1fr}}@media (max-width:768px){.opportunity-filter-wide{min-width:0;width:100%}.opportunity-summary-header{flex-direction:column}.opportunity-summary-badges{width:100%}}.analytics-page{margin:0 auto;max-width:1400px;padding:24px}.analytics-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.analytics-header-text h1{color:#1f2937;font-size:26px;margin:0}.analytics-header-text p{color:#6b7280;font-size:14px;margin:4px 0 0}.analytics-alert,.analytics-empty-state{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;color:#6b7280;padding:32px;text-align:center}.analytics-alert{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;text-align:left}.analytics-note{color:#94a3b8;font-size:12px;font-style:italic;margin:0 0 16px}.analytics-content{display:flex;flex-direction:column;gap:20px}.analytics-section{background:#fff;border:1px solid #eef2f7;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:20px 24px}.analytics-section h2{color:#1f2937;font-size:17px;margin:0 0 16px}.analytics-kpi-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.analytics-kpi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px 16px}.analytics-kpi-label{color:#6b7280;font-size:12px}.analytics-kpi-value{color:#1f2937;font-size:22px;font-weight:700}.analytics-kpi-trend{font-size:12px;font-weight:600}.analytics-kpi-trend.positive{color:#059669}.analytics-kpi-trend.negative{color:#dc2626}.analytics-kpi-trend.neutral{color:#6b7280}.analytics-bar-block{margin-top:18px}.analytics-bar-header{color:#374151;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:8px}.analytics-split-bar{background:#f1f5f9;border-radius:7px;display:flex;gap:2px;height:14px;overflow:hidden}.analytics-split-segment{min-width:3px;transition:opacity .2s}.analytics-split-segment:hover{opacity:.8}.analytics-split-segment.confirmed{background:#10b981}.analytics-split-segment.active{background:#3b82f6}.analytics-split-segment.completed{background:#6366f1}.analytics-split-segment.cancelled{background:#ef4444}.analytics-legend{color:#4b5563;display:flex;flex-wrap:wrap;font-size:12px;gap:14px;margin-top:10px}.analytics-legend .dot{border-radius:50%;display:inline-block;height:9px;margin-right:5px;width:9px}.analytics-legend .dot.confirmed{background:#10b981}.analytics-legend .dot.active{background:#3b82f6}.analytics-legend .dot.completed{background:#6366f1}.analytics-legend .dot.cancelled{background:#ef4444}.analytics-compare{display:flex;flex-direction:column;gap:10px}.analytics-compare-row{align-items:center;display:flex;gap:12px}.analytics-compare-label{color:#4b5563;flex:0 0 130px;font-size:12px}.analytics-compare-track{background:#f1f5f9;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.analytics-compare-fill{border-radius:6px;height:100%}.analytics-compare-fill.budget{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.analytics-compare-fill.spend{background:linear-gradient(90deg,#10b981,#059669)}.analytics-compare-value{color:#1f2937;flex:0 0 110px;font-size:13px;font-weight:600;text-align:right}.analytics-subtle{color:#6b7280;font-size:12px;margin:10px 0 0}.analytics-rate-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:18px}.analytics-rate-track{background:#f1f5f9;border-radius:6px;height:12px;overflow:hidden}.analytics-rate-fill{border-radius:6px;height:100%;transition:width .3s}.analytics-rate-fill.approve{background:linear-gradient(90deg,#10b981,#059669)}.analytics-rate-fill.reject{background:linear-gradient(90deg,#ef4444,#dc2626)}@media (max-width:640px){.analytics-compare-row{flex-wrap:wrap}.analytics-compare-label{flex-basis:100%}.analytics-compare-value{flex-basis:auto}}.trip-dashboard{margin:0 auto;max-width:1400px;padding:24px}.trip-dashboard-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.trip-dashboard-header h2{color:#1f2937;font-size:30px;font-weight:700;margin:0}.trip-dashboard-header p{color:#6b7280;font-size:14px;margin:6px 0 0}.trip-dashboard-currency-note{color:#475569;font-size:12px;margin:6px 0 0}.td-filters{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 3px #0f172a12;margin-bottom:20px;padding:16px}.td-filters-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.td-field{display:flex;flex-direction:column;gap:6px}.td-field label{color:#4b5563;font-size:12px;font-weight:600}.td-field-required label:after{color:#dc2626;content:" *"}.td-field input,.td-field select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:14px;padding:8px 10px;width:100%}.td-field input:focus,.td-field select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb29;outline:none}.td-field-error{color:#b91c1c;font-size:12px}.td-form-error{color:#b91c1c;font-size:13px;margin:10px 0 0}.td-filter-actions{display:flex;gap:10px;margin-top:14px}.td-button{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 14px;transition:all .2s ease}.td-button:disabled{cursor:not-allowed;opacity:.5}.td-button-primary{background:#2563eb;color:#fff}.td-button-primary:hover:not(:disabled){background:#1d4ed8}.td-button-secondary{background:#fff;border-color:#cbd5e1;color:#334155}.td-button-secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.td-empty-state{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;margin-bottom:20px;margin-top:8px;padding:22px}.td-empty-state h3{color:#1e293b;margin:0 0 6px}.td-empty-state p{color:#475569;margin:0}.td-empty-state-error{background:#fef2f2;border-color:#fecaca}.td-empty-state-error h3{color:#b91c1c}.td-alert{align-items:center;border:1px solid;border-radius:10px;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px;padding:12px 14px}.td-alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.td-alert-error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.td-alert-success{background:#f0fdf4;border-color:#86efac;color:#166534}.td-alert-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;color:#075985;font-size:13px;margin-bottom:8px;padding:10px 14px}.td-correlation{color:#7f1d1d;display:block;font-size:12px;margin-top:4px}.td-kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.td-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.td-kpi-card h4{color:#64748b;font-size:13px;font-weight:600;margin:0}.td-kpi-card p{color:#0f172a;font-size:22px;font-weight:700;margin:8px 0 0}.td-panels-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:16px}.td-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.td-detail-panel{margin-bottom:16px}.td-detail-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:14px}.td-detail-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:10px}.td-detail-item span{color:#64748b;font-size:12px}.td-detail-item strong{color:#0f172a;font-size:14px}.td-action-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.td-action-card{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:12px}.td-action-card h4{color:#1e3a8a;font-size:14px;margin:0}.td-action-card p{color:#334155;font-size:12px;margin:0;min-height:32px}.td-panel-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.td-panel-header h3{color:#1f2937;font-size:18px;margin:0}.td-panel-header span{color:#64748b;font-size:12px}.td-list{display:flex;flex-direction:column;gap:8px}.td-list-item{align-items:center;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:10px}.td-list-item h4{color:#1f2937;font-size:14px;margin:0}.td-list-item span{color:#64748b;font-size:12px}.td-list-item strong{color:#111827;font-size:13px}.td-extremes-section{margin-bottom:12px}.td-extremes-section:last-child{margin-bottom:0}.td-extremes-section h4{color:#64748b;font-size:13px;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.td-status-chart{display:flex;flex-direction:column;gap:12px}.td-status-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:minmax(80px,auto) 1fr auto}.td-status-meta{color:#334155;display:flex;font-size:13px;gap:8px;justify-content:space-between}.td-status-bar-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden;width:100%}.td-status-bar-fill{background:linear-gradient(90deg,#0ea5e9,#2563eb);border-radius:999px;height:100%}.td-status-percentage{color:#475569;font-size:12px;min-width:50px;text-align:right}.td-muted{color:#6b7280;font-size:13px;margin:0}.td-table-panel{padding-bottom:12px}.td-table-controls{align-items:center;color:#475569;display:inline-flex;flex-wrap:wrap;font-size:13px;gap:8px}.td-table-controls select{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:6px 10px}.td-table-wrapper{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto;position:relative}.td-table{border-collapse:collapse;min-width:920px;width:100%}.td-table thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#334155;font-size:12px;font-weight:700;padding:12px 10px;text-align:left;white-space:nowrap}.td-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.td-sortable:hover{color:#1d4ed8}.td-table tbody td{border-bottom:1px solid #f1f5f9;color:#1f2937;font-size:13px;padding:12px 10px;white-space:nowrap}.td-table tbody tr:hover{background:#f8fafc}.td-status-pill{background:#e2e8f0;border-radius:999px;color:#334155;font-size:11px;font-weight:600;padding:3px 10px}.td-cell-subtitle{color:#64748b;display:block;font-size:11px;margin-top:2px}.td-table-action{font-size:12px;padding:6px 10px}.td-empty-cell{color:#64748b;padding:28px 10px;text-align:center}.td-table-pagination{align-items:center;color:#475569;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-top:10px}.td-pagination-controls{align-items:center;display:flex;gap:8px}.td-table-overlay{background:#0f172a14;color:#0f172a;font-size:12px;left:0;padding:8px 10px;position:absolute;right:0;top:0;z-index:2}.td-skeleton-card{overflow:hidden;position:relative}.td-skeleton-line{animation:td-shimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%);background-size:300% 100%;border-radius:7px;display:block}.td-skeleton-line-title{height:14px;width:70%}.td-skeleton-line-value{height:26px;margin-top:10px;width:45%}.td-skeleton-line-row{height:14px;width:100%}@keyframes td-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.td-section-header{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:15px;font-weight:700;margin:0 0 12px;padding-bottom:8px}.td-section-header-mt{margin-top:20px}.td-section-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.td-auto-add-actions{display:flex;flex-wrap:wrap;gap:8px}.td-auto-add-btn{background:#eff6ff;border:1px solid #2563eb;border-radius:8px;color:#1d4ed8;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:background .15s ease}.td-auto-add-btn:hover:not(:disabled){background:#dbeafe}.td-auto-add-btn:disabled{cursor:not-allowed;opacity:.55}.td-airport-prompt{align-items:stretch;flex-direction:column}.td-airport-prompt form{display:flex;flex-direction:column;gap:10px}.td-airport-prompt p{margin:0}.td-airport-prompt-fields{display:flex;flex-wrap:wrap;gap:16px}.td-airport-prompt-fields label{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:4px}.td-airport-prompt-fields input{border:1px solid #fde68a;border-radius:6px;font-size:13px;padding:5px 8px;text-transform:uppercase;width:90px}.td-airport-prompt-actions{display:flex;gap:8px}.td-airport-prompt-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.td-airport-prompt-cancel:disabled{cursor:not-allowed;opacity:.55}.td-itinerary{display:flex;flex-direction:column;gap:14px}.td-itinerary-day{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.td-itinerary-day-header{align-items:baseline;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:10px;padding:10px 14px}.td-itinerary-day-label{color:#2563eb;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.td-itinerary-day-date{color:#64748b;font-size:12px;white-space:nowrap}.td-itinerary-day-title{color:#1e293b;font-size:13px;font-weight:600;margin-left:auto;text-align:right}.td-itinerary-activities{display:flex;flex-direction:column;gap:0}.td-itinerary-activity{border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:6px;padding:12px 14px}.td-itinerary-activity:last-of-type{border-bottom:none}.td-itinerary-activity-manual{background:#fffbeb}.td-itinerary-activity-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.td-itinerary-activity-title{color:#0f172a;flex:1 1 auto;font-size:14px;font-weight:600}.td-itinerary-activity-category{border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;text-transform:uppercase}.td-itinerary-activity-badge{background:#fef9c3;border-radius:999px;color:#854d0e;font-size:11px;font-weight:600;padding:2px 8px}.td-itinerary-activity-meta{color:#64748b;display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.td-itinerary-activity-desc{color:#475569;font-size:12px;line-height:1.5;margin:0}.td-itinerary-activity-cost{color:#0f172a;font-size:12px;font-weight:600}.td-itinerary-empty{color:#94a3b8;font-size:13px;font-style:italic;padding:12px 14px}.td-bookings{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.td-booking-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.td-booking-info{align-items:center;display:flex;flex-wrap:wrap;gap:10px;min-width:0}.td-booking-category{background:#e0f2fe;border-radius:999px;color:#075985;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;text-transform:uppercase}.td-booking-category-hotel{background:#ede9fe;color:#5b21b6}.td-booking-category-car{background:#dcfce7;color:#166534}.td-booking-description{color:#0f172a;font-size:14px;font-weight:600}.td-booking-provider{color:#64748b;font-size:12px}.td-booking-meta{align-items:center;display:flex;gap:10px;white-space:nowrap}.td-booking-meta strong{color:#0f172a;font-size:14px}.td-booking-status{border-radius:999px;font-size:11px;font-weight:600;padding:2px 9px}.td-booking-status-proposed{background:#fef9c3;color:#854d0e}.td-booking-status-confirmed{background:#dcfce7;color:#166534}.td-inventory-status{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.td-inventory-row{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;font-size:13px;gap:10px;padding:8px 12px}.td-inventory-category{color:#0f172a;font-weight:600;min-width:90px}.td-inventory-badge{border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;text-transform:uppercase;white-space:nowrap}.td-inventory-badge-ready{background:#dcfce7;color:#166534}.td-inventory-badge-no_results{background:#fef9c3;color:#854d0e}.td-inventory-badge-unavailable{background:#fee2e2;color:#991b1b}.td-inventory-badge-skipped{background:#e2e8f0;color:#475569}.td-inventory-note{color:#64748b;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-add-item-form{background:#f8fafc;border:1px solid #d1d5db;border-radius:10px;margin:10px 14px 14px;padding:14px}.td-add-item-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin-bottom:12px}.td-add-item-actions{display:flex;flex-wrap:wrap;gap:8px}.td-button-sm{border-radius:7px;font-size:12px;padding:5px 10px}.td-button-danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.td-button-danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.td-category-culture{background:#ede9fe;color:#5b21b6}.td-category-food{background:#fff7ed;color:#c2410c}.td-category-transport{background:#eff6ff;color:#1d4ed8}.td-category-accommodation{background:#f0fdfa;color:#0f766e}.td-category-leisure{background:#f0fdf4;color:#15803d}.td-category-adventure{background:#fef2f2;color:#b91c1c}.td-category-shopping{background:#fdf2f8;color:#be185d}@media (max-width:920px){.trip-dashboard{padding:16px}.trip-dashboard-header h2{font-size:24px}.trip-dashboard-header{align-items:stretch;flex-direction:column}.td-panels-grid{grid-template-columns:1fr}.td-filter-actions{flex-wrap:wrap}.td-status-row{gap:6px;grid-template-columns:1fr}.td-status-percentage{min-width:0;text-align:left}.td-table-pagination{align-items:stretch;flex-direction:column}.td-pagination-controls{justify-content:space-between}}.td-panel-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.td-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.td-modal{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;gap:16px;max-width:480px;padding:28px 32px;width:100%}.td-modal h3{color:#1f2937;font-size:18px;margin:0}.td-modal p{color:#4b5563;font-size:14px;margin:0}.td-modal-field{display:flex;flex-direction:column;gap:6px}.td-modal-field label{color:#374151;font-size:13px;font-weight:500}.td-textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#1f2937;font-family:inherit;font-size:13px;padding:8px 10px;resize:vertical;width:100%}.td-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.td-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.sif-root{margin-bottom:0;position:relative}.sif-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.sif-required{color:#ef4444}.sif-input-wrap{position:relative}.sif-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#1f2937;font-family:inherit;font-size:14px;padding:10px 36px 10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.sif-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.sif-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.sif-input::placeholder{color:#9ca3af}.sif-end{align-items:center;display:flex;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.sif-spinner{display:inline-flex;flex-shrink:0;height:16px;width:16px}.sif-spinner-sm{height:14px;width:14px}.sif-spin-svg{animation:sif-spin .75s linear infinite;height:100%;width:100%}@keyframes sif-spin{to{transform:rotate(1turn)}}.sif-clear{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:inline-flex;height:20px;justify-content:center;padding:0;pointer-events:all;transition:color .15s,background-color .15s;width:20px}.sif-clear:hover{background-color:#f3f4f6;color:#374151}.sif-clear svg{height:12px;width:12px}.sif-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #0000001a,0 1px 4px #0000000f;left:0;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:4px 0;position:absolute;right:0;top:calc(100% + 4px);z-index:200}.sif-dropdown::-webkit-scrollbar{width:4px}.sif-dropdown::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.sif-state-row{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px;padding:10px 14px}.sif-state-empty{font-style:italic}.sif-option{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:3px;padding:8px 14px;text-align:left;transition:background-color .1s;width:100%}.sif-option:hover{background-color:#f9fafb}.sif-option-name{color:#111827;font-size:13px;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sif-option-id{background:#f3f4f6;border-radius:4px;color:#6b7280;display:inline-block;font-family:SF Mono,Fira Code,Consolas,ui-monospace,monospace;font-size:11px;letter-spacing:.02em;padding:1px 6px;width:fit-content}.sif-hint{color:#6b7280;display:block;font-size:12px;margin-top:4px}.authz-admin{display:flex;flex-direction:column;gap:16px}.authz-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.authz-header h1{margin:0}.authz-subtitle{color:#4b5563;margin:6px 0 0;max-width:760px}.authz-header-actions{justify-content:flex-end}.authz-header-actions,.authz-tabs{display:flex;flex-wrap:wrap;gap:8px}.authz-filters{grid-gap:12px;background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:14px}.authz-filter-actions{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px}.authz-search-group{min-width:220px}.authz-banner{border:1px solid #0000;border-radius:10px;font-size:14px;padding:10px 12px}.authz-banner-success{background:#ecfdf3;border-color:#9ee6b7;color:#065f46}.authz-banner-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.authz-banner-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.authz-form-wrapper{padding:12px}.authz-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.authz-grid-full{grid-column:1/-1}.authz-permissions-grid{max-height:280px;overflow:auto;padding-right:6px}.authz-empty-inline{background:#fff;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;padding:10px}.authz-hint{color:#6b7280;display:block;margin-top:4px}@media (max-width:768px){.authz-header{flex-direction:column}.authz-header-actions{justify-content:flex-start;width:100%}}.locations-page{max-width:1400px;padding:24px}.page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:1.5rem;font-weight:600;margin:0 0 4px}.page-subtitle{color:#6b7280;font-size:.875rem;margin:0}.filters-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:.875rem;min-width:160px;padding:7px 10px}.filter-input-sm{flex:0 0 auto;min-width:90px}.table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:auto}.data-table{border-collapse:collapse;font-size:.875rem;width:100%}.data-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.data-table td{border-bottom:1px solid #f3f4f6;padding:10px 12px;vertical-align:middle}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child td{border-bottom:none}.table-center{color:#6b7280;padding:32px!important;text-align:center}.mono{font-family:monospace;font-size:.8rem}.actions-cell{display:flex;flex-wrap:nowrap;gap:6px}.pagination{align-items:center;color:#374151;display:flex;font-size:.875rem;gap:10px;margin-top:16px}.pagination-info{color:#6b7280;flex:1 1}.badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.badge-neutral{background:#f3f4f6;color:#374151}.alert{border-radius:6px;font-size:.875rem;margin-bottom:12px;padding:10px 14px}.alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c}.alert-success{background:#f0fdf4;border:1px solid #86efac;color:#15803d}.alert-warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.btn-primary{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;padding:8px 16px}.btn-secondary:hover:not(:disabled){background:#f9fafb}.btn-danger{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;padding:8px 16px}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-warning{background:#d97706;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px}.btn-warning:hover:not(:disabled){background:#b45309}.row-selected td{background:#eff6ff}.row-highlight td{background:#f0fdf4}.btn-small{font-size:.8rem;padding:5px 10px}.btn-icon-danger{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.1rem;line-height:1;padding:2px 6px}button:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:92vh;overflow:hidden}.modal-large{max-width:95vw;width:760px}.modal-small{max-width:95vw;width:420px}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.modal-header h2{font-size:1.1rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.4rem;line-height:1}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{color:#374151;font-size:.8rem;font-weight:500}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:7px 10px}.form-group input:focus,.form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;outline:none}.form-section{margin-top:4px}.form-section h3{font-size:.95rem;font-weight:600;margin:0 0 4px}.form-hint{color:#6b7280;font-size:.8rem;margin:0 0 10px}.json-view{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-family:monospace;font-size:.8rem;max-height:200px;overflow:auto;padding:10px 12px}.page-header-actions{align-items:center;display:flex;gap:8px}.modal-xlarge{max-width:97vw;width:960px}.dedup-subtitle{color:#6b7280;font-size:.8rem;margin:2px 0 0}.dedup-results{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.dedup-group{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;overflow:hidden}.dedup-group-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:10px 14px}.dedup-group-title{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:8px}.dedup-country{margin-left:4px}.dedup-group-count{color:#6b7280;font-size:.8rem}.dedup-table{margin:0}.dedup-table td{cursor:default}.dedup-row-keep{background:#f0fdf4}.dedup-row-keep:hover{background:#dcfce7!important}.dedup-row-delete{background:#fff}.dedup-row-delete td:not(:first-child){color:#6b7280}.dedup-row-delete:hover{background:#fef2f2!important}.names-editor{display:flex;flex-direction:column;gap:6px}.names-editor-row{align-items:center;display:flex;gap:8px}.names-editor-lang{flex:0 0 auto;font-size:.8rem;text-transform:lowercase;width:70px}.names-editor-lang,.names-editor-name{border:1px solid #d1d5db;border-radius:6px;padding:6px 8px}.names-editor-name{flex:1 1;font-size:.875rem}.names-editor-add{border-top:1px dashed #e5e7eb;margin-top:4px;padding-top:8px}.strategy-container{margin:0 auto;max-width:1200px;padding:20px}.strategy-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:20px}.strategy-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#555;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:10px 20px}.strategy-tab.active{border-bottom-color:#2e86de;color:#2e86de}.strategy-empty,.strategy-loading{color:#777;padding:16px 0}.strategy-error{background:#fdecea;border-radius:6px;color:#c0392b;margin:10px 0;padding:10px 14px}.strategy-access-denied{color:#777;padding:60px 20px;text-align:center}.strategy-toolbar{align-items:center;display:flex;gap:10px;margin-bottom:16px}.strategy-toolbar label{color:#555;font-weight:500}.strategy-toolbar input,.strategy-toolbar select{border:1px solid #ccc;border-radius:6px;padding:6px 10px;width:120px}.strategy-toolbar select{width:auto}.strategy-toolbar .strategy-btn{margin-left:auto}.strategy-btn{background:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 14px}.strategy-btn.primary{background:#2e86de;border-color:#2e86de;color:#fff}.strategy-btn:disabled{cursor:default;opacity:.6}.strategy-link-btn{background:none;border:none;color:#2e86de;cursor:pointer;font-size:13px;padding:0}.strategy-vision-banner{grid-gap:20px;background:linear-gradient(135deg,#1b2a4a,#2e86de);border-radius:10px;color:#fff;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:18px 22px}.strategy-vision-label{font-size:11px;letter-spacing:1px;opacity:.8;text-transform:uppercase}.strategy-vision-banner p{font-size:15px;margin:6px 0 0}.strategy-score-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.strategy-score-card{align-items:center;background:#fff;border:1px solid #e6e6e6;border-radius:10px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;gap:6px;padding:18px}.strategy-score-card.company{background:#f8fafc;grid-column:1/-1}.score-value{font-size:34px;font-weight:700}.score-label{color:#333;font-weight:600}.score-sub{color:#777;font-size:12px}.health-dots{display:flex;gap:4px}.health-dots .dot{border-radius:10px;color:#fff;font-size:11px;padding:1px 7px}.health-dots .dot.green{background:#27ae60}.health-dots .dot.yellow{background:#f39c12}.health-dots .dot.red{background:#e74c3c}.health-dots .dot.gray{background:#95a5a6}.strategy-generated-at{color:#999;font-size:12px;margin-top:14px}.okr-list{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.okr-card{background:#fff;border:1px solid #e6e6e6;border-radius:10px;box-shadow:0 1px 3px #0000000f;cursor:pointer;padding:16px;text-align:left}.okr-card:hover{border-color:#2e86de}.okr-group{grid-column:1/-1}.okr-list-nested{border-left:2px solid #e6e6e6;margin-top:10px;padding-left:24px}.okr-card-tactical{border-style:dashed}.okr-group-unlinked h4{color:#777;font-size:13px;font-weight:600;margin:0 0 8px}.okr-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.okr-card-header h3{font-size:15px;margin:0 0 10px}.okr-card-footer{color:#777;display:flex;font-size:12px;justify-content:space-between;margin-top:8px}.okr-progress-bar{background:#eee;border-radius:4px;height:8px;overflow:hidden}.okr-progress-bar.large{height:12px;margin-top:10px}.okr-progress-fill{background:linear-gradient(90deg,#2e86de,#27ae60);height:100%}.okr-status{background:#eee;border-radius:10px;color:#555;font-size:11px;padding:2px 8px;white-space:nowrap}.okr-status-achieved,.okr-status-active,.okr-status-done,.okr-status-ontrack{background:#eafaf1;color:#27ae60}.okr-status-atrisk,.okr-status-inprogress,.okr-status-proposed{background:#fef5e7;color:#f39c12}.okr-status-blocked,.okr-status-cancelled,.okr-status-dropped,.okr-status-offtrack{background:#fdecea;color:#e74c3c}.okr-status-level-strategic{background:#f2eefc;color:#8e44ad}.okr-status-level-tactical{background:#eaf6ff;color:#2e86de}.objective-header{align-items:center;display:flex;gap:12px;margin-top:14px}.objective-header h2{margin:0}.objective-description{color:#666}.objective-meta{color:#777;font-size:13px}.strategy-section-header{align-items:center;display:flex;justify-content:space-between;margin:24px 0 10px}.strategy-section-header h3{margin:0}.kr-row{background:#fff;border:1px solid #e6e6e6;border-radius:10px;margin-bottom:10px;padding:14px}.kr-main{align-items:center;display:flex;gap:10px;margin-bottom:8px}.kr-title{flex:1 1;font-weight:600}.kr-auto-badge{background:#eaf2fd;border-radius:10px;color:#2e86de;font-size:11px;padding:2px 8px}.kr-footer{align-items:center;color:#777;display:flex;font-size:12px;gap:16px;margin-top:8px}.kr-history{border-top:1px dashed #ddd;font-size:12px;list-style:none;margin:10px 0 0;padding:10px 0 0}.kr-history li{align-items:center;color:#666;display:flex;gap:12px;padding:3px 0}.kr-history-source{color:#999}.kr-history-comment{font-style:italic}.initiative-list{list-style:none;padding:0}.initiative-list li{align-items:center;background:#fff;border:1px solid #e6e6e6;border-radius:8px;display:flex;font-size:13px;gap:14px;margin-bottom:8px;padding:10px 14px}.initiative-title{flex:1 1;font-weight:600}.kpi-list{display:flex;flex-direction:column;gap:8px}.kpi-row{background:#fff;border:1px solid #e6e6e6;border-radius:10px}.kpi-row-main{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:13px;gap:12px;padding:12px 14px;text-align:left;width:100%}.kpi-health-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.kpi-name{flex:1 1;font-weight:600}.kpi-code{color:#999;font-family:monospace}.kpi-indicator-badge{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.kpi-indicator-leading{background:#eaf6ff;color:#2e86de}.kpi-indicator-lagging{background:#f2eefc;color:#8e44ad}.kpi-perspective{color:#2e86de}.kpi-source{color:#777;font-size:12px}.kpi-value{font-weight:600;min-width:90px;text-align:right}.kpi-detail{border-top:1px solid #eee;padding:12px 14px}.kpi-sparkline{height:40px;width:100%}.kpi-sparkline-empty{color:#bbb}.kpi-health-refreshed-at{color:#999;font-size:12px}.kpi-health-table{background:#fff;border:1px solid #e6e6e6;border-collapse:collapse;border-radius:10px;overflow:hidden;width:100%}.kpi-health-table td,.kpi-health-table th{border-bottom:1px solid #f0f0f0;font-size:13px;padding:10px 14px;text-align:left}.kpi-health-table th{background:#fafafa;color:#777;font-size:11px;font-weight:600;text-transform:uppercase}.kpi-health-row-inactive{opacity:.55}.kpi-health-pill{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.kpi-health-pill-ok{background:#eafaf1;color:#27ae60}.kpi-health-pill-stale{background:#fef5e7;color:#f39c12}.kpi-health-pill-never_captured,.kpi-health-pill-not_configured,.kpi-health-pill-source_error{background:#fdecea;color:#e74c3c}.kpi-detail-meta{color:#777;display:flex;flex-wrap:wrap;font-size:12px;gap:18px;margin:8px 0}.kpi-source-description{color:#777;font-size:12px;font-style:italic}.strategy-theme{background:#fff;border:1px solid #e6e6e6;border-left:4px solid #2e86de;border-radius:8px;margin-bottom:12px;padding:12px 16px}.strategy-theme-header{align-items:center;display:flex;justify-content:space-between}.strategy-theme-header h4{margin:0}.strategy-goal-list{list-style:none;margin:10px 0 0;padding:0}.strategy-goal-list li{align-items:center;border-top:1px solid #f2f2f2;display:flex;font-size:13px;gap:12px;padding:6px 0}.strategy-goal-date{color:#999;font-size:12px}.strategy-version-badge{background:#eaf2fd;border-radius:10px;color:#2e86de;font-size:11px;margin-left:10px;padding:2px 8px}.strategy-form{background:#f8fafc;border:1px solid #e6e6e6;border-radius:10px;margin-bottom:16px;padding:16px}.strategy-form h3{margin-top:0}.strategy-form label{color:#555;display:block;font-size:13px;margin-bottom:10px}.strategy-form input,.strategy-form select,.strategy-form textarea{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;display:block;font-size:13px;margin-top:4px;padding:7px 10px;width:100%}.strategy-form textarea{min-height:60px;resize:vertical}.strategy-form-row{display:flex;gap:12px}.strategy-form-row label{flex:1 1}.strategy-form.inline{align-items:flex-end;display:flex;gap:10px;margin:10px 0 0;padding:10px 12px}.strategy-form.inline label{flex:1 1;margin-bottom:0}.strategy-form.inline input{width:100%}.strategy-form.inline .strategy-form-actions{margin:0}.strategy-checkbox{align-items:center;display:flex!important;gap:8px}.strategy-checkbox input{display:inline!important;margin:0;width:auto!important}.strategy-form-actions{display:flex;gap:8px;margin-top:6px}.workforce-container{padding:1.5rem}.workforce-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;margin-bottom:1rem}.workforce-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-weight:500;padding:.6rem 1.2rem}.workforce-tab.active{border-bottom-color:#2563eb;color:#0f172a}.workforce-panel{margin-top:.5rem}.workforce-toolbar{display:flex;gap:.5rem;margin-bottom:1rem}.workforce-toolbar button,.workforce-toolbar select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;padding:.4rem .8rem}.workforce-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;margin-bottom:1rem;padding:.6rem 1rem}.workforce-empty{color:#64748b}.workforce-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.workforce-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.workforce-card-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.workforce-card-body{color:#334155;display:flex;flex-direction:column;font-size:.9rem;gap:.25rem}.workforce-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.workforce-card-actions input{border:1px solid #cbd5e1;border-radius:6px;flex:1 1;min-width:160px;padding:.4rem .6rem}.workforce-card-actions button{background:#e2e8f0;border:none;border-radius:6px;cursor:pointer;padding:.4rem .9rem}button.wf-approve{background:#16a34a;color:#fff}button.wf-reject{background:#dc2626;color:#fff}.wf-badge{background:#f1f5f9;border-radius:999px;color:#334155;display:inline-block;font-size:.75rem;font-weight:600;padding:.1rem .55rem}.wf-risk-readonly{background:#ecfdf5;color:#047857}.wf-risk-draft{background:#eff6ff;color:#1d4ed8}.wf-risk-outwardfacing{background:#fff7ed;color:#c2410c}.wf-risk-moneymoving{background:#fef2f2;color:#b91c1c}.wf-status-awaitingapproval,.wf-status-proposed{background:#fef9c3;color:#a16207}.wf-status-active,.wf-status-approved,.wf-status-completed,.wf-status-executed,.wf-status-inprogress{background:#ecfdf5;color:#047857}.wf-status-cancelled,.wf-status-executionfailed,.wf-status-expired,.wf-status-failed,.wf-status-rejected,.wf-status-suspended{background:#fef2f2;color:#b91c1c}.wf-status-assigned,.wf-status-draft,.wf-status-forming,.wf-status-review{background:#eff6ff;color:#1d4ed8}.wf-autonomy{background:#f5f3ff;color:#6d28d9}.workforce-split{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:minmax(380px,1.2fr) 1fr}.workforce-table{background:#fff;border-collapse:collapse;width:100%}.workforce-table td,.workforce-table th{border-bottom:1px solid #e2e8f0;font-size:.9rem;padding:.55rem .75rem;text-align:left}.workforce-table tbody tr{cursor:pointer}.workforce-table tbody tr.selected,.workforce-table tbody tr:hover{background:#f8fafc}.workforce-detail{align-self:start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.workforce-checkpoints{display:flex;flex-direction:column;font-size:.9rem;gap:.4rem;list-style:none;padding:0}.workforce-access-denied{color:#64748b;padding:3rem;text-align:center}.digital-board{display:flex;flex-direction:column;gap:16px}.db-error,.db-loading{color:#666;padding:32px;text-align:center}.db-error{color:#b71c1c}.db-northstar{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.db-tile{background:#fff;border:1px solid #e0e0e0;border-left-width:6px;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px 16px}.db-tile-name{color:#666;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.db-tile-value{font-size:1.6rem;font-weight:700}.db-tile-target{color:#888;font-size:.78rem}.db-health-green{border-left-color:#2e7d32}.db-health-yellow{border-left-color:#f9a825}.db-health-red{border-left-color:#c62828}.db-health-unknown{border-left-color:#9e9e9e}.db-alerts{display:flex;flex-wrap:wrap;gap:8px}.db-alert{background:#fff;border:1px solid #e0e0e0;border-radius:14px;font-size:.82rem;padding:4px 10px}.db-alert-red{background:#fdecea;border-color:#ef9a9a}.db-alert-amber{background:#fff8e1;border-color:#ffe082}.db-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.db-panel{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:14px 16px}.db-panel-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:10px}.db-panel-header h3{font-size:1rem;margin:0}.db-panel-link{font-size:.8rem;text-decoration:none}.db-panel-unavailable{color:#999;font-size:.85rem;font-style:italic}.db-empty{color:#888;font-size:.85rem}.db-okr-tree{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow-y:auto}.db-theme h4{color:#555;font-size:.85rem;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.db-objective{margin-bottom:8px}.db-objective-row{align-items:center;display:flex;gap:8px}.db-objective-title{flex:1 1;font-size:.9rem;font-weight:600}.db-objective-owner{color:#999;font-size:.75rem}.db-progress{background:#eee;border-radius:3px;height:6px;overflow:hidden;width:90px}.db-progress-fill{background:#1565c0;height:100%}.db-progress-pct{color:#555;font-size:.78rem;text-align:right;width:36px}.db-kr-row{align-items:center;display:flex;font-size:.82rem;gap:8px;padding:2px 0 2px 12px}.db-kr-status{background:#eceff1;border-radius:10px;color:#555;font-size:.68rem;padding:1px 7px;white-space:nowrap}.db-kr-achieved,.db-kr-ontrack{background:#e8f5e9;color:#2e7d32}.db-kr-atrisk{background:#fff8e1;color:#b26a00}.db-kr-offtrack{background:#fdecea;color:#c62828}.db-kr-title{flex:1 1}.db-kr-value{color:#777;white-space:nowrap}.db-squads{display:flex;flex-direction:column;gap:10px}.db-squad-card{border:1px solid #eee;border-radius:8px;padding:10px 12px}.db-squad-head{display:flex;justify-content:space-between;margin-bottom:6px}.db-squad-name{font-size:.9rem;font-weight:600}.db-squad-status{background:#eceff1;border-radius:10px;color:#555;font-size:.7rem;padding:1px 8px}.db-squad-active{background:#e8f5e9;color:#2e7d32}.db-squad-forming{background:#ede7f6;color:#5e35b1}.db-squad-stats{color:#666;display:flex;flex-wrap:wrap;font-size:.78rem;gap:10px}.db-mission-totals{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.db-mission-total{background:#f5f5f5;border-radius:10px;color:#555;font-size:.74rem;padding:2px 8px}.db-approvals{display:flex;flex-direction:column;font-size:.85rem;gap:6px;list-style:none;margin:0;padding:0}.db-risk{background:#eceff1;border-radius:10px;font-size:.68rem;margin-right:6px;padding:1px 7px}.db-risk-outwardfacing{background:#fff3e0;color:#e65100}.db-risk-moneymoving{background:#fdecea;color:#c62828}.db-activity{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;max-height:420px;overflow-y:auto;padding:0}.db-activity-row{grid-gap:8px;align-items:baseline;border-bottom:1px dashed #f0f0f0;display:grid;font-size:.78rem;gap:8px;grid-template-columns:130px 110px 150px 1fr 70px;padding:3px 0}.db-activity-time{color:#999}.db-activity-agent{font-weight:600}.db-activity-skill{color:#1565c0}.db-activity-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-activity-outcome{color:#555;text-align:right}.db-outcome-blocked .db-activity-outcome{color:#c62828;font-weight:600}.db-outcome-failed .db-activity-outcome{color:#b26a00}.db-footer{color:#999;font-size:.75rem;text-align:right}@media (max-width:700px){.db-activity-row{grid-template-columns:1fr 1fr}.db-activity-summary{white-space:normal}}