.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#dc3545,#e74c3c,#ff6b6b);padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:float 20s infinite linear;pointer-events:none}@keyframes float{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:50px 40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;position:relative;z-index:1;border:1px solid rgba(255,255,255,.2)}.login-header{text-align:center;margin-bottom:40px}.logo-container{display:flex;justify-content:center;margin-bottom:20px;animation:fadeInDown .6s ease-out}.login-logo{width:120px;height:auto;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header h1{color:#dc3545;font-size:36px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#dc3545,#e74c3c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInDown .6s ease-out .2s both}.login-header h2{color:#666;font-size:16px;font-weight:500;letter-spacing:1px;text-transform:uppercase;animation:fadeInDown .6s ease-out .4s both}.login-form{display:flex;flex-direction:column;gap:24px;animation:fadeInUp .6s ease-out .6s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-size:14px;font-weight:600;color:#333;margin-left:4px}.form-group input{padding:14px 16px;border:2px solid #E0E0E0;border-radius:12px;font-size:16px;transition:all .3s ease;background:#fff}.form-group input:focus{outline:none;border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a;transform:translateY(-2px)}.form-group input:hover{border-color:#b0b0b0}.error-message{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;padding:14px;border-radius:12px;font-size:14px;text-align:center;box-shadow:0 4px 12px #ee5a6f4d;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-button{background:linear-gradient(135deg,#dc3545,#e74c3c);color:#fff;padding:16px;border:none;border-radius:12px;font-size:17px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;box-shadow:0 4px 15px #dc354566;position:relative;overflow:hidden}.login-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.login-button:hover:not(:disabled):before{width:300px;height:300px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #dc354580}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-legal-links{text-align:center;font-size:13px;color:#666;margin-top:20px;line-height:1.5}.login-legal-link{color:#dc3545;text-decoration:none;font-weight:500}.login-legal-link:hover{text-decoration:underline}.dashboard{max-width:1400px;margin:0 auto;position:relative;z-index:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-icon{font-size:48px;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:#f8e8e8;border-radius:12px}.stat-content{flex:1}.stat-label{font-size:14px;color:#666;margin-bottom:8px;font-weight:500}.stat-value{font-size:32px;font-weight:700;color:#dc3545;margin-bottom:4px}.stat-sublabel{font-size:12px;color:#999}.loading,.error{text-align:center;padding:40px;font-size:18px;color:#666}.error{color:#e74c3c}.drivers-page{max-width:1200px;margin:0 auto;position:relative;z-index:1}.drivers-list{display:flex;flex-direction:column;gap:20px}.driver-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.driver-info{flex:1}.driver-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.driver-header h3{font-size:20px;color:#333;font-weight:600}.driver-status{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.driver-status.pending{background-color:#fff3cd;color:#856404}.driver-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.driver-actions{display:flex;flex-direction:column;gap:10px;min-width:120px}.btn-approve,.btn-reject{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .3s}.btn-approve{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 2px 8px #4caf504d}.btn-approve:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066;opacity:1}.btn-reject{background-color:#f44336;color:#fff}.btn-reject:hover:not(:disabled){opacity:.9}.btn-approve:disabled,.btn-reject:disabled{opacity:.6;cursor:not-allowed}.btn-documents{margin-top:12px;padding:8px 14px;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;font-size:13px;font-weight:500;color:#333;cursor:pointer}@media (max-width: 768px){.driver-card{flex-direction:column}.driver-actions{width:100%;flex-direction:row}.btn-approve,.btn-reject{flex:1}}.users-page{max-width:1400px;margin:0 auto;position:relative;z-index:1}.page-title{font-size:28px;font-weight:700;color:#333;margin-bottom:30px}.filters-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap;box-shadow:0 2px 8px #0000001a}.filter-buttons{display:flex;gap:10px;flex-wrap:wrap}.filter-btn{padding:10px 20px;background-color:#fff;border:2px solid #E0E0E0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#666}.filter-btn:hover{border-color:#dc3545;color:#dc3545}.filter-btn.active{background:linear-gradient(135deg,#dc3545,#e74c3c);color:#fff;border-color:#dc3545;box-shadow:0 2px 8px #dc35454d}.users-list{display:flex;flex-direction:column;gap:20px}.user-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.user-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #E0E0E0}.user-header h3{font-size:20px;color:#333;font-weight:600;margin:0}.user-type-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.user-type-badge.driver{background-color:#e3f2fd;color:#1976d2}.user-type-badge.customer{background-color:#f3e5f5;color:#7b1fa2}.user-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:#666;font-weight:500}.detail-value{font-size:14px;color:#333;font-weight:600}.status-badge{display:inline-flex;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize;width:fit-content;white-space:nowrap}.status-badge.approved{background-color:#e8f5e9;color:#2e7d32}.status-badge.pending{background-color:#fff3cd;color:#856404}.status-badge.rejected{background-color:#ffebee;color:#c62828}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-state p{font-size:18px;color:#666}.page-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading{text-align:center;padding:40px;font-size:18px;color:#666}.btn-documents{margin-top:8px;padding:8px 14px;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;font-size:13px;font-weight:500;color:#333;cursor:pointer;width:fit-content}.btn-documents:hover{background:#e8e8e8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-docs{background:#fff;border-radius:12px;max-width:560px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.modal-docs-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.modal-docs-header h3{font-size:18px;color:#333;margin:0}.modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;line-height:1;padding:0 4px}.modal-close:hover{color:#333}.modal-docs-body{padding:20px;overflow-y:auto}.docs-grid{display:flex;flex-direction:column;gap:14px}.doc-item{display:flex;flex-direction:column;gap:4px}.doc-label{font-size:12px;color:#666;font-weight:500}.doc-value{font-size:14px;color:#333}.doc-image{display:block;max-width:100%;max-height:180px;width:auto;height:auto;object-fit:contain;border-radius:8px;border:1px solid #eee;background:#f8f8f8;margin-top:4px}.doc-link-small{display:inline-block;font-size:12px;color:#dc3545;font-weight:500;text-decoration:none;margin-top:6px}.doc-link-small:hover{text-decoration:underline}.docs-empty{color:#666;font-size:14px;margin:0}@media (max-width: 768px){.filters-section{flex-direction:column}.filter-btn{width:100%}.user-header{flex-direction:column;align-items:flex-start;gap:10px}.user-details{grid-template-columns:1fr}}.bookings-page{max-width:1400px;margin:0 auto;position:relative;z-index:1}.filters-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;display:flex;gap:15px;align-items:flex-end;flex-wrap:wrap;box-shadow:0 2px 8px #0000001a}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:150px}.filter-group label{font-size:12px;font-weight:600;color:#666}.filter-group select,.filter-group input{padding:10px;border:2px solid #E0E0E0;border-radius:8px;font-size:14px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#dc3545}.btn-clear{padding:10px 20px;background-color:#f5f5f5;border:2px solid #E0E0E0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .3s}.bookings-list{display:flex;flex-direction:column;gap:20px}.booking-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #E0E0E0}.booking-id{font-size:12px;color:#999;margin-bottom:4px}.booking-date{font-size:14px;color:#666;font-weight:500}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff}.booking-details{display:flex;flex-direction:column;gap:16px}.location-section{display:flex;flex-direction:column;gap:10px}.location-item{display:flex;gap:10px;align-items:flex-start}.location-label{font-size:14px;font-weight:600;color:#666;min-width:100px}.location-text{font-size:14px;color:#333;flex:1}.booking-info{display:flex;gap:30px;flex-wrap:wrap;padding:15px;background-color:#f8f8f8;border-radius:8px}.info-value{font-size:16px;color:#dc3545;font-weight:600}.user-section,.driver-section{padding:15px;background-color:#f8f8f8;border-radius:8px}.user-item,.driver-item{display:flex;gap:10px;margin-bottom:8px}.user-item:last-child,.driver-item:last-child{margin-bottom:0}.user-label,.driver-label{font-size:14px;font-weight:600;color:#666;min-width:120px}.user-value,.driver-value{font-size:14px;color:#333}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:30px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.page-btn{padding:10px 20px;background:linear-gradient(135deg,#dc3545,#e74c3c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #dc35454d}.page-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:14px;color:#666;font-weight:500}@media (max-width: 768px){.filters-section{flex-direction:column;align-items:stretch}.filter-group{width:100%}.booking-header{flex-direction:column;gap:10px}.booking-info{flex-direction:column;gap:15px}}.geofence-page{max-width:1400px;margin:0 auto;position:relative;z-index:1}.geofence-controls{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.controls-info{margin-bottom:15px}.controls-info p{color:#666;font-size:14px;line-height:1.6}.controls-actions{display:flex;gap:10px}.btn-clear,.btn-save{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .3s}.btn-clear{background-color:#f5f5f5;color:#333;border:2px solid #E0E0E0}.btn-clear:hover{background-color:#e0e0e0}.btn-save{background:linear-gradient(135deg,#dc3545,#e74c3c);color:#fff;box-shadow:0 2px 8px #dc35454d}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #dc354566;opacity:1}.btn-save:disabled{opacity:.6;cursor:not-allowed}.map-container{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.geofence-info{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.geofence-info h3{font-size:18px;color:#333;margin-bottom:15px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:12px;color:#666;font-weight:500}.info-value{font-size:14px;color:#333;font-weight:600}.reports-page{max-width:1400px;margin:0 auto;position:relative;z-index:1}.reports-filters{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;display:flex;gap:15px;align-items:flex-end;box-shadow:0 2px 8px #0000001a}.reports-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#fff;border-radius:12px;padding:24px;text-align:center;box-shadow:0 2px 8px #0000001a}.summary-label{font-size:14px;color:#666;margin-bottom:10px;font-weight:500}.summary-value{font-size:32px;font-weight:700;color:#dc3545}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:20px}.chart-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.chart-card h3{font-size:18px;color:#333;margin-bottom:20px;font-weight:600}@media (max-width: 768px){.charts-grid{grid-template-columns:1fr}.chart-card{padding:15px}}.legal-page{max-width:900px;margin:0 auto;position:relative;z-index:1;padding:32px 20px 40px;min-height:100vh}.legal-header{margin-bottom:32px}.back-link{display:inline-block;color:#dc3545;text-decoration:none;font-size:14px;margin-bottom:16px;font-weight:500}.back-link:hover{text-decoration:underline}.legal-title{font-size:28px;font-weight:700;color:#333;margin-bottom:8px}.legal-subtitle{font-size:18px;color:#666;margin-bottom:8px}.effective-date{font-size:14px;color:#888}.legal-content{background:#fff;border-radius:12px;padding:32px 40px;box-shadow:0 2px 8px #0000001a}.legal-content .intro{margin-bottom:24px;line-height:1.6;color:#444}.legal-content section{margin-bottom:28px}.legal-content section:last-of-type{margin-bottom:0}.legal-content h2{font-size:18px;font-weight:600;color:#333;margin-bottom:12px;padding-bottom:4px;border-bottom:1px solid #eee}.legal-content h3{font-size:15px;font-weight:600;color:#555;margin:12px 0 8px}.legal-content p{line-height:1.6;color:#444;margin-bottom:10px}.legal-content ul{margin:8px 0 16px 20px;line-height:1.6;color:#444}.legal-content li{margin-bottom:6px}.contact-info{font-weight:500;margin-top:8px}.legal-footer{margin-top:24px;text-align:center}.legal-link{color:#dc3545;text-decoration:none;font-weight:500}.legal-link:hover{text-decoration:underline}.layout{display:flex;height:100vh;background-color:#f5f5f5}.sidebar{width:250px;background:linear-gradient(180deg,#dc3545,#e74c3c);color:#fff;display:flex;flex-direction:column;transition:width .3s ease;box-shadow:2px 0 5px #0000001a}.sidebar.closed{width:70px}.sidebar-header{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{font-size:20px;font-weight:700;white-space:nowrap;overflow:hidden}.sidebar-toggle{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:5px}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;padding:15px 20px;color:#fff;text-decoration:none;transition:background-color .3s;white-space:nowrap}.nav-item:hover{background-color:#ffffff1a}.nav-item.active{background-color:#fff3;border-left:4px solid white}.nav-icon{font-size:20px;margin-right:15px;min-width:24px}.nav-label{font-size:16px}.sidebar.closed .nav-label{display:none}.sidebar.closed .nav-icon{margin-right:0}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;margin-bottom:15px;padding:10px;background-color:#ffffff1a;border-radius:8px}.user-icon{font-size:24px;margin-right:10px}.user-details{flex:1}.user-name{font-weight:600;font-size:14px;margin-bottom:4px}.user-email{font-size:12px;opacity:.8}.sidebar.closed .user-details{display:none}.logout-btn{width:100%;padding:12px;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .3s}.logout-btn:hover{background-color:#fff3}.sidebar.closed .logout-btn span:last-child{display:none}.main-content{flex:1;overflow-y:auto;padding:30px;background-color:#f5f5f5;min-height:100vh}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;height:100vh;z-index:1000;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
