:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;color:#213547}#root{min-height:100vh;min-height:100dvh}h1,h2,h3,h4,h5,h6{color:inherit}a{color:#3498db;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch;gap:.75rem}.page-header>.create-btn,.page-header>button.create-btn{width:100%;box-sizing:border-box}.settings-section{padding:1rem 1.15rem}.modal-overlay{padding:.75rem;align-items:center}.modal-content,.glass-modal.admin-modal,.driver-detail-modal{max-height:min(90vh,100dvh - 2rem);overflow-y:auto}.header-actions{width:100%;flex-wrap:wrap;gap:.5rem}.header-actions>.create-btn,.header-actions>.export-btn,.header-actions>.add-driver-btn,.header-actions>.add-pa-btn{flex:1 1 auto;min-width:0;justify-content:center;text-align:center}.form-row{grid-template-columns:1fr!important}.form-actions{flex-direction:column}.filters-section{grid-template-columns:1fr!important}.dashboard-header{flex-direction:column;align-items:stretch;gap:1rem}.create-admin-btn{width:100%}.chart-bar-group{grid-template-columns:1fr!important;gap:.35rem}.chart-bar-label{text-align:left!important}.pas-list-wrap,.passengers-list-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}.pas-table,.passengers-table{min-width:36rem}.routes-list-section{overflow-x:auto;-webkit-overflow-scrolling:touch}.routes-page .routes-table{min-width:32rem}.routes-content{flex-direction:column}.route-detail-card{min-width:0!important;max-width:none!important;width:100%}.schedule-times-table-wrap,.documents-upload-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:480px){.job-header{flex-direction:column;align-items:flex-start;gap:.5rem}.job-actions{flex-wrap:wrap;width:100%}.job-actions>*{flex:1 1 auto;min-width:0}.pagination{flex-wrap:wrap;gap:.5rem}}.admin-sos-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1rem;margin-bottom:1rem;background:linear-gradient(135deg,#b91c1c,#991b1b);color:#fff;border-radius:10px;box-shadow:0 4px 14px #b91c1c59}.admin-sos-banner--error{background:#7f1d1d;box-shadow:none}.admin-sos-banner-main{display:flex;align-items:flex-start;gap:.65rem;min-width:0;flex:1}.admin-sos-banner-icon{font-size:1.35rem;line-height:1;flex-shrink:0}.admin-sos-banner-text strong{display:block;font-size:.95rem;margin-bottom:.2rem}.admin-sos-banner-text p{margin:0;font-size:.875rem;opacity:.95;line-height:1.35}.admin-sos-banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex-shrink:0}.admin-sos-banner-link{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;background:#fff;color:#991b1b!important;font-weight:700;font-size:.875rem;text-decoration:none!important;border-radius:8px;border:none;cursor:pointer;white-space:nowrap;touch-action:manipulation}.admin-sos-banner-link:hover{background:#fee2e2}.admin-sos-banner-notify-btn{padding:.45rem .75rem;font-size:.8rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;cursor:pointer;touch-action:manipulation}.admin-sos-banner-notify-btn:hover{background:#ffffff47}.admin-sos-banner-retry{background:transparent;border:1px solid currentColor;color:inherit;padding:.25rem .6rem;border-radius:6px;cursor:pointer;font:inherit}.layout{display:flex;min-height:100vh;min-height:100dvh;background:#f5f5f5;position:relative}.layout-top-bar{display:none;align-items:center;gap:.5rem;position:fixed;top:0;left:0;right:0;z-index:900;min-height:3.25rem;padding:.35rem .5rem;padding-top:calc(.35rem + env(safe-area-inset-top,0px));padding-left:calc(.5rem + env(safe-area-inset-left,0px));padding-right:calc(.5rem + env(safe-area-inset-right,0px));background:#2c3e50;color:#ecf0f1;box-shadow:0 2px 8px #0000001f}.layout-menu-btn{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:none;border-radius:10px;background:#ffffff1f;color:inherit;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.layout-menu-btn:active{background:#fff3}.layout-top-bar-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}.layout-brand-short{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.layout-page-title{font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout-top-bar-user{font-size:.8rem;font-weight:500;opacity:.9;max-width:28vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.layout-sidebar-backdrop,.layout-bottom-nav{display:none}.layout-nav-icon{display:block;flex-shrink:0}.sidebar{width:min(17.5rem,88vw);max-width:280px;background:#2c3e50;color:#fff;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:910;box-shadow:2px 0 12px #00000014}.sidebar-header{padding:1.5rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0px));border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{margin:0 0 .5rem;font-size:1.35rem;color:#fff}.user-info{margin:0;font-size:.9rem;color:#bdc3c7}.nav-menu{list-style:none;padding:0;margin:0;flex:1}.nav-menu li{margin:0}.nav-menu a{display:block;padding:1rem 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left,0px) + 1rem);color:#ecf0f1;text-decoration:none;transition:background .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-size:1rem}.nav-menu a:hover{background:#ffffff1a}.nav-menu a.active{background:#3498db;font-weight:600}.logout-button{margin:1rem;margin-bottom:max(1rem,env(safe-area-inset-bottom,0px) + .5rem);padding:.85rem;background:#e74c3c;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.logout-button:hover{background:#c0392b}.main-content{margin-left:250px;flex:1;padding:2rem;width:calc(100% - 250px);max-width:100%;min-width:0}@media(min-width:769px){.sidebar{width:250px;max-width:none;box-shadow:none}}@media(max-width:768px){.layout-top-bar{display:flex}.layout-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:905;padding:0;margin:0;border:none;background:#00000073;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;-webkit-tap-highlight-color:transparent}.layout--nav-open .layout-sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}.sidebar{transform:translate(-100%);transition:transform .25s ease;z-index:910;box-shadow:4px 0 24px #0003}.layout--nav-open .sidebar{transform:translate(0)}.main-content{margin-left:0;width:100%;padding:1rem;padding-top:calc(4.25rem + env(safe-area-inset-top,0px));padding-bottom:calc(4.25rem + env(safe-area-inset-bottom,0px))}.layout-bottom-nav{display:block;position:fixed;left:0;right:0;bottom:0;z-index:890;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -4px 20px #0000000f}.layout-bottom-nav-inner{display:flex;align-items:stretch;justify-content:space-around;gap:.15rem;max-width:100%;min-height:3.5rem}.layout-bottom-link{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.35rem .2rem;border:none;background:none;color:#64748b;text-decoration:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:8px}.layout-bottom-link--active{color:#2563eb;font-weight:600}.layout-bottom-link--active .layout-nav-icon{color:#2563eb}.layout-bottom-label{font-size:.65rem;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.layout-bottom-link--more{color:#475569}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:.75rem;max-width:400px}.toast{background:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;gap:1rem;animation:slideIn .3s ease-out;cursor:pointer;border-left:4px solid}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-info{border-left-color:#3498db}.toast-success{border-left-color:#27ae60}.toast-error{border-left-color:#e74c3c}.toast-warning{border-left-color:#f39c12}.toast-message{flex:1;color:#2c3e50;font-size:.95rem}.toast-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1}.toast-close:hover{color:#666}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#0f172a;background-image:radial-gradient(circle at 0% 0%,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(139,92,246,.1) 0%,transparent 50%);position:relative;overflow:hidden;font-family:Inter,system-ui,-apple-system,sans-serif}.login-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);pointer-events:none}.glass-login{background:#ffffff05;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:3rem;width:100%;max-width:440px;box-shadow:0 25px 50px -12px #00000080;z-index:10}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{font-size:1.5rem;font-weight:800;margin-bottom:1.5rem;cursor:pointer;color:#fff}.login-logo span{background:linear-gradient(to right,#6366f1,#a855f7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-header h1{color:#fff;font-size:1.875rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.025em}.login-header p{color:#94a3b8;font-size:1rem}.login-form .form-group{margin-bottom:1.5rem}.login-form label{display:block;color:#e2e8f0;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.input-wrapper{position:relative;display:flex;align-items:center}.login-form input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.75rem 1rem;color:#fff;font-size:1rem;transition:all .2s ease}.login-form input:focus{outline:none;background:#ffffff14;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a}.password-toggle{position:absolute;right:12px;background:none;border:none;color:#64748b;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle:hover{color:#94a3b8}.login-button{width:100%;background:#6366f1;color:#fff;border:none;border-radius:12px;padding:.875rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem;display:flex;justify-content:center;align-items:center;min-height:48px}.login-button:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.loader{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#f87171;padding:.75rem 1rem;border-radius:12px;font-size:.875rem;text-align:center;margin-bottom:1.5rem}.login-footer-links{margin-top:2rem;display:flex;justify-content:center;align-items:center;gap:1rem}.login-footer-links a{color:#94a3b8;text-decoration:none;font-size:.875rem;transition:color .2s ease}.login-footer-links a:hover{color:#6366f1}.login-footer-links .separator{color:#475569}@media(max-width:480px){.glass-login{padding:2rem;margin:1rem}}.driver-tracking-map.loading-state,.driver-tracking-empty{padding:1rem;text-align:center;color:#666;background:#f9f9f9;border-radius:8px;margin-bottom:1rem}.driver-tracking-empty{margin-bottom:1rem}.map-placeholder{padding:2rem;text-align:center;background:#f9f9f9;border-radius:8px;min-height:500px;display:flex;flex-direction:column;justify-content:center;align-items:center}.map-placeholder ul{text-align:left;margin-top:1rem}.info-window h3{margin:0 0 .5rem;color:#2c3e50}.info-window p{margin:.25rem 0;color:#666;font-size:.9rem}.dashboard{max-width:1400px;margin:0 auto}.dashboard h1{margin-bottom:2rem;color:#2c3e50}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stat-card h3{margin:0 0 .5rem;color:#666;font-size:.9rem;font-weight:500}.stat-card .stat-number{margin:0;font-size:2rem;font-weight:700;color:#2c3e50}.stat-card.alert .stat-number{color:#e74c3c}.map-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem}.map-section h2{margin:0 0 1rem;color:#2c3e50}.chart-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.chart-section h2{margin:0 0 1.5rem;color:#2c3e50}.chart-container{width:100%}.chart-bars{display:flex;flex-direction:column;gap:1rem}.chart-bar-group{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:center}.chart-bar-label{font-weight:500;color:#666;text-align:right}.chart-bar-wrapper{background:#f0f0f0;border-radius:4px;height:30px;position:relative;overflow:hidden}.chart-bar{height:100%;border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;min-width:40px;transition:width .3s ease}.chart-bar.status-pending{background:#fff3cd}.chart-bar.status-assigned{background:#d1ecf1}.chart-bar.status-in_progress{background:#d4edda}.chart-bar.status-completed{background:#cce5ff}.chart-bar.status-cancelled{background:#f8d7da}.chart-bar-value{color:#2c3e50;font-weight:600;font-size:.9rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.create-admin-btn{padding:.75rem 1.5rem;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #6366f133}.create-admin-btn:hover{background:#4f46e5;transform:translateY(-2px);box-shadow:0 6px 16px #6366f14d}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000}.glass-modal{background:#fffffff2;border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 25px 50px -12px #00000040}.admin-modal{width:100%;max-width:450px;padding:2.5rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.modal-header h2{margin:0;font-size:1.5rem;color:#1e293b}.close-btn{background:none;border:none;font-size:2rem;color:#64748b;cursor:pointer}.modal-subtitle{color:#64748b;font-size:.9rem;margin-bottom:2rem}.admin-form .form-group{margin-bottom:1.5rem}.admin-form label{display:block;font-size:.875rem;font-weight:500;color:#475569;margin-bottom:.5rem}.admin-form input{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:border-color .2s}.admin-form input:focus{outline:none;border-color:#6366f1}.submit-admin-btn{width:100%;padding:1rem;background:#6366f1;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:1rem}.submit-admin-btn:hover:not(:disabled){background:#4f46e5}.submit-admin-btn:disabled{opacity:.7;cursor:not-allowed}.message-banner{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem;text-align:center}.message-banner.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.message-banner.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.loader-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;display:inline-block}.drivers-page h1{margin-bottom:2rem;color:#2c3e50}.drivers-list-wrap{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.drivers-empty-msg{margin:0;padding:2rem}.drivers-table-desktop{overflow-x:auto;-webkit-overflow-scrolling:touch}.drivers-mobile-cards{display:none}.driver-name-link{color:inherit;text-decoration:none;display:inline-block;max-width:100%}.driver-name-link:hover .driver-name-cell span{color:#3498db;text-decoration:underline}.driver-mobile-card{border-bottom:1px solid #eee;padding:1rem 1.25rem}.driver-mobile-card:last-child{border-bottom:none}.driver-mobile-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.driver-mobile-card-title{display:flex;align-items:center;gap:.75rem;min-width:0;text-decoration:none;color:#2c3e50;font-weight:600;flex:1}.driver-mobile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-mobile-meta{margin:0 0 1rem;display:grid;gap:.5rem;font-size:.9rem}.driver-mobile-meta dt{margin:0;font-weight:600;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.02em}.driver-mobile-meta dd{margin:.15rem 0 0;color:#334155;word-break:break-word}.driver-mobile-actions{display:flex;flex-direction:column;gap:.5rem}.driver-mobile-actions .view-details-btn{width:100%;margin:0;box-sizing:border-box;text-align:center}.driver-mobile-actions .toggle-btn{width:100%}@media(max-width:768px){.drivers-list-wrap{overflow:visible}.drivers-table-desktop{display:none}.drivers-mobile-cards{display:block}}.drivers-table{width:100%;border-collapse:collapse}.drivers-table th,.drivers-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee}.drivers-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.drivers-table tbody tr:hover{background:#f8f9fa}.drivers-table .no-data{text-align:center;color:#666;padding:2rem}.driver-name-cell{display:flex;align-items:center;gap:.75rem}.driver-list-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.driver-list-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:#e9ecef;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;color:#6c757d}.driver-actions-cell{display:flex;flex-wrap:wrap;gap:.5rem}.driver-actions-cell .view-details-btn{margin-top:0;width:auto}.drivers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.driver-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.driver-card h3{margin:0 0 1rem;color:#2c3e50}.driver-card p{margin:.5rem 0;color:#666}.status-active{color:#27ae60;font-weight:600}.status-inactive{color:#95a5a6}.status-approved{color:#27ae60;font-weight:600}.status-pending{color:#f39c12;font-weight:600}.view-details-btn{display:inline-block;margin-top:1rem;padding:.5rem 1rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;width:100%;text-align:center;text-decoration:none;font-size:inherit;font-family:inherit}.modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.driver-details p{margin:.75rem 0;color:#666}.close-btn{margin-top:1.5rem;padding:.75rem 1.5rem;background:#95a5a6;color:#fff;border:none;border-radius:5px;cursor:pointer;width:100%}.close-btn:hover{background:#7f8c8d}.driver-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.driver-avatar-wrap{flex-shrink:0}.driver-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;display:block}.driver-avatar-img{background:#f0f0f0}.driver-avatar-placeholder{background:#e9ecef;color:#6c757d;display:flex;align-items:center;justify-content:center}.driver-avatar-placeholder svg{width:28px;height:28px}.driver-header-text{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.driver-header h3{margin:0}.status-badge.status-active{background:#d4edda;color:#155724}.status-badge.status-inactive{background:#f8d7da;color:#721c24}.driver-info{margin-bottom:1rem}.driver-actions{display:flex;gap:.5rem}.toggle-btn{padding:.5rem 1rem;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;flex:1}.toggle-btn.activate{background:#27ae60;color:#fff}.toggle-btn.activate:hover{background:#229954}.toggle-btn.deactivate{background:#e74c3c;color:#fff}.toggle-btn.deactivate:hover{background:#c0392b}.view-details-btn{flex:1}.location-link{color:#3498db;text-decoration:none;margin-left:.5rem}.driver-details{max-height:60vh;overflow-y:auto}.detail-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.detail-section:last-child{border-bottom:none}.detail-section h3{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.documents-list{display:flex;flex-direction:column;gap:1rem}.document-item{padding:1rem;background:#f8f9fa;border-radius:5px;border-left:3px solid #3498db}.document-info p{margin:.5rem 0}.doc-status{font-weight:600;margin-left:.5rem}.doc-status.approved{color:#27ae60}.doc-status.rejected{color:#e74c3c}.doc-status.pending{color:#f39c12}.view-document-link{display:inline-block;margin-top:.5rem;padding:.5rem 1rem;background:#3498db;color:#fff;text-decoration:none;border-radius:5px;font-size:.9rem}.view-document-link:hover{background:#2980b9}.documents-section{margin-top:1rem}.driver-documents-list{display:flex;flex-direction:column;gap:1rem}.driver-doc-item{padding:1rem;background:#f8f9fa;border-radius:6px;border-left:4px solid #3498db}.driver-doc-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.driver-doc-header strong{color:#2c3e50;font-size:.95rem}.doc-status-badge{padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:500}.doc-status-badge.approved{background:#d4edda;color:#155724}.doc-status-badge.rejected{background:#f8d7da;color:#721c24}.doc-status-badge.pending{background:#fff3cd;color:#856404}.driver-doc-meta{font-size:.85rem;color:#666;margin-bottom:.5rem}.driver-doc-meta .awaiting-label{color:#e67e22;font-style:italic}.driver-doc-actions{display:flex;gap:.5rem;margin-top:.5rem}.driver-doc-actions .approve-btn,.driver-doc-actions .reject-btn{padding:.4rem .9rem;font-size:.9rem}.reject-form-inline{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #dee2e6}.reject-form-inline textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:inherit;resize:vertical;box-sizing:border-box}.reject-form-inline .reject-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.reject-form-inline .confirm-reject-btn,.reject-form-inline .cancel-btn{padding:.4rem .8rem;font-size:.85rem}.driver-detail-modal{max-height:90vh;overflow-y:auto}.jobs-list{display:flex;flex-direction:column;gap:.75rem}.job-item{padding:.75rem;background:#f8f9fa;border-radius:5px}.job-item p{margin:.25rem 0}.driver-profile-page{padding:0 0 2rem;max-width:900px;margin:0 auto}.profile-loading,.profile-error{text-align:center;padding:3rem 1rem;color:#666}.profile-error .back-btn{margin-top:1rem}.profile-header{margin-bottom:2rem}.profile-header .back-btn{display:inline-flex;align-items:center;margin-bottom:1rem;padding:.5rem 0;background:none;border:none;color:#3498db;font-size:.95rem;cursor:pointer}.profile-header .back-btn:hover{text-decoration:underline}.profile-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.profile-title-row h1{margin:0;font-size:1.75rem;color:#2c3e50}.profile-title-row .status-badge{padding:.25rem .75rem;border-radius:6px;font-size:.9rem;font-weight:500}.profile-title-row .status-active{background:#d4edda;color:#155724}.profile-title-row .status-inactive{background:#f8d7da;color:#721c24}.profile-title-row .toggle-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;font-weight:500}.profile-title-row .toggle-btn.activate{background:#28a745;color:#fff}.profile-title-row .toggle-btn.deactivate{background:#dc3545;color:#fff}.profile-title-row .toggle-btn:disabled{opacity:.7;cursor:not-allowed}.back-btn{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer}.back-btn:hover{background:#5a6268}.profile-grid{display:flex;flex-direction:column;gap:1.5rem}.profile-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000f;border:1px solid #eee}.profile-section h2{margin:0 0 1rem;font-size:1.15rem;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:.5rem}.profile-dl{margin:0;display:grid;gap:.5rem 1rem;grid-template-columns:auto 1fr}.profile-dl dt{margin:0;font-weight:600;color:#555}.profile-dl dd{margin:0;color:#333}.profile-dl .status-active,.profile-dl .status-inactive,.profile-dl .status-approved,.profile-dl .status-pending{font-weight:500}.profile-dl .status-approved{color:#28a745}.profile-dl .status-pending{color:#f0ad4e}.location-link{color:#3498db;text-decoration:none}.location-link:hover{text-decoration:underline}.profile-section-full{grid-column:1 / -1}.driver-profile-page .driver-documents-list{display:flex;flex-direction:column;gap:1rem}.driver-profile-page .driver-doc-item{padding:1rem;background:#f8f9fa;border-radius:6px;border-left:4px solid #3498db}.driver-profile-page .driver-doc-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.driver-profile-page .driver-doc-header strong{color:#2c3e50;font-size:.95rem}.driver-profile-page .doc-status-badge{padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:500}.driver-profile-page .doc-status-badge.approved{background:#d4edda;color:#155724}.driver-profile-page .doc-status-badge.rejected{background:#f8d7da;color:#721c24}.driver-profile-page .doc-status-badge.pending{background:#fff3cd;color:#856404}.driver-profile-page .driver-doc-meta{font-size:.85rem;color:#666;margin-bottom:.5rem}.driver-profile-page .driver-doc-meta .awaiting-label{color:#e67e22;font-style:italic}.driver-profile-page .view-document-link{display:inline-block;margin-top:.25rem;padding:.4rem .9rem;background:#3498db;color:#fff;text-decoration:none;border-radius:5px;font-size:.9rem;border:none;cursor:pointer;font-family:inherit}.driver-profile-page .view-document-link:hover{background:#2980b9}.document-viewer-overlay{position:fixed;inset:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.document-viewer-modal{background:#fff;border-radius:8px;max-width:95vw;max-height:95vh;display:flex;flex-direction:column;box-shadow:0 4px 24px #0000004d}.document-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #eee;flex-shrink:0}.document-viewer-header h3{margin:0;font-size:1rem;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:.5rem}.document-viewer-close{flex-shrink:0;width:36px;height:36px;padding:0;border:none;background:#f0f0f0;border-radius:6px;font-size:1.5rem;line-height:1;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center}.document-viewer-close:hover{background:#e0e0e0;color:#333}.document-viewer-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto}.document-viewer-image{max-width:100%;max-height:80vh;object-fit:contain;display:block}.document-viewer-iframe{width:80vw;height:80vh;min-width:320px;min-height:400px;border:none;border-radius:4px}.driver-profile-page .driver-doc-actions{display:flex;gap:.5rem;margin-top:.5rem}.driver-profile-page .driver-doc-actions .approve-btn,.driver-profile-page .driver-doc-actions .reject-btn{padding:.4rem .9rem;font-size:.9rem;border:none;border-radius:5px;cursor:pointer;font-weight:500}.driver-profile-page .driver-doc-actions .approve-btn{background:#28a745;color:#fff}.driver-profile-page .driver-doc-actions .reject-btn{background:#dc3545;color:#fff}.driver-profile-page .reject-form-inline{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #dee2e6}.driver-profile-page .reject-form-inline textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:inherit;resize:vertical;box-sizing:border-box}.driver-profile-page .reject-form-inline .reject-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.driver-profile-page .reject-form-inline .confirm-reject-btn,.driver-profile-page .reject-form-inline .cancel-btn{padding:.4rem .8rem;font-size:.85rem;border:none;border-radius:4px;cursor:pointer}.driver-profile-page .reject-form-inline .confirm-reject-btn{background:#dc3545;color:#fff}.driver-profile-page .reject-form-inline .cancel-btn{background:#6c757d;color:#fff}.driver-profile-page .jobs-list{display:flex;flex-direction:column;gap:.75rem}.driver-profile-page .job-item{padding:.75rem;background:#f8f9fa;border-radius:5px}.driver-profile-page .job-item p{margin:.25rem 0}.pas-page h1{margin-bottom:2rem;color:#2c3e50}.pas-list-wrap{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.pas-table{width:100%;border-collapse:collapse}.pas-table th,.pas-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee}.pas-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.pas-table tbody tr:hover{background:#f8f9fa}.pas-table .no-data{text-align:center;color:#666;padding:2rem}.pa-name-cell{display:flex;align-items:center;gap:.75rem}.pa-list-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.pa-list-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:#e9ecef;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;color:#6c757d}.add-pa-btn{padding:.75rem 1.5rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.add-pa-btn:hover{background:#229954}.modal-hint{margin:0 0 1rem;color:#666;font-size:.9rem}.create-pa-form .form-group{margin-bottom:1rem}.create-pa-form label{display:block;margin-bottom:.25rem;font-weight:500}.create-pa-form input{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:5px;font-size:1rem;box-sizing:border-box}.modal-footer{margin-top:1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.view-details-btn{display:inline-block;padding:.5rem 1rem;background:#3498db;color:#fff;border-radius:5px;text-decoration:none;font-size:.9rem}.view-details-btn:hover{background:#2980b9;color:#fff}.pa-profile-page{padding:0 0 2rem;max-width:900px;margin:0 auto}.pa-profile-page .profile-loading,.pa-profile-page .profile-error{text-align:center;padding:3rem 1rem;color:#666}.pa-profile-page .profile-header .back-btn{display:inline-flex;align-items:center;margin-bottom:1rem;padding:.5rem 0;background:none;border:none;color:#3498db;font-size:.95rem;cursor:pointer}.pa-profile-page .profile-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.pa-profile-page .profile-title-row h1{margin:0;font-size:1.75rem;color:#2c3e50}.pa-profile-page .profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.pa-profile-page .profile-grid{grid-template-columns:1fr}}.pa-profile-page .profile-section{background:#fff;padding:1.25rem;border-radius:8px;box-shadow:0 2px 4px #00000014}.pa-profile-page .profile-section h2{margin:0 0 1rem;font-size:1.1rem;color:#2c3e50;padding-bottom:.5rem;border-bottom:1px solid #eee}.pa-profile-page .profile-dl{margin:0}.pa-profile-page .profile-dl dt{font-weight:600;color:#555;margin-top:.5rem}.pa-profile-page .profile-dl dt:first-child{margin-top:0}.pa-profile-page .profile-dl dd{margin:.25rem 0 0}.pa-profile-page .pa-documents-list{display:flex;flex-direction:column;gap:1rem}.pa-profile-page .pa-doc-item{padding:1rem;background:#f8f9fa;border-radius:6px;border:1px solid #eee}.pa-profile-page .pa-doc-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.pa-profile-page .pa-doc-header strong{font-size:.95rem}.pa-profile-page .doc-status-badge{padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.pa-profile-page .doc-status-badge.approved{background:#d4edda;color:#155724}.pa-profile-page .doc-status-badge.rejected{background:#f8d7da;color:#721c24}.pa-profile-page .doc-status-badge.pending{background:#fff3cd;color:#856404}.pa-profile-page .pa-doc-meta{margin-top:.5rem;font-size:.9rem;color:#666}.pa-profile-page .awaiting-label{font-style:italic;color:#999}.pa-profile-page .view-document-link{margin-top:.5rem;padding:.35rem .75rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.pa-profile-page .view-document-link:hover{background:#2980b9}.pa-profile-page .pa-doc-actions{margin-top:.75rem;display:flex;gap:.5rem}.pa-profile-page .approve-btn{padding:.4rem .8rem;background:#28a745;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.pa-profile-page .reject-btn{padding:.4rem .8rem;background:#dc3545;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.pa-profile-page .reject-form-inline{margin-top:.75rem}.pa-profile-page .reject-form-inline textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:5px;font-size:.9rem;box-sizing:border-box}.pa-profile-page .reject-form-actions{margin-top:.5rem;display:flex;gap:.5rem}.pa-profile-page .confirm-reject-btn{padding:.4rem .8rem;background:#dc3545;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.pa-profile-page .profile-section-full{grid-column:1 / -1}.pa-profile-page .jobs-list{display:flex;flex-direction:column;gap:.75rem}.pa-profile-page .job-item{padding:.75rem;background:#f8f9fa;border-radius:6px;font-size:.9rem}.pa-profile-page .job-item p{margin:.25rem 0}.pa-profile-page .document-viewer-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.pa-profile-page .document-viewer-modal{background:#fff;border-radius:8px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.pa-profile-page .document-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #eee}.pa-profile-page .document-viewer-header h3{margin:0;font-size:1.1rem}.pa-profile-page .document-viewer-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0 .5rem}.pa-profile-page .document-viewer-body{flex:1;overflow:auto;padding:1rem;min-height:300px}.pa-profile-page .document-viewer-iframe,.pa-profile-page .document-viewer-image{width:100%;min-height:400px;border:none}.pa-profile-page .status-approved{color:#28a745;font-weight:600}.pa-profile-page .status-pending{color:#ffc107;font-weight:600}.pa-profile-page .status-active{color:#28a745}.pa-profile-page .status-inactive{color:#6c757d}.documents-page h1{margin-bottom:.5rem;color:#2c3e50}.documents-intro{color:#666;margin-bottom:1.5rem;font-size:.95rem}.documents-intro strong{color:#333}.no-pending-box{background:#f8f9fa;border-radius:8px;padding:2rem;text-align:center}.no-pending-msg{margin:0;color:#666}.drivers-pending-list{display:flex;flex-direction:column;gap:1rem}.driver-pending-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;background:#fff;padding:1.25rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #00000014;border:1px solid #eee}.driver-pending-info h3{margin:0 0 .35rem;font-size:1.1rem;color:#2c3e50}.driver-email{margin:0;font-size:.9rem;color:#666}.pending-badge{margin:.5rem 0 0;font-size:.9rem;color:#e67e22}.pending-count{font-weight:700;color:#d35400}.driver-pending-actions{flex-shrink:0}.review-docs-btn{padding:.6rem 1.25rem;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer}.review-docs-btn:hover{background:#2980b9}.documents-list{display:grid;gap:1.5rem}.document-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.document-header{border-bottom:1px solid #eee;padding-bottom:1rem;margin-bottom:1rem}.document-header h3{margin:0 0 .5rem;color:#2c3e50}.driver-name{margin:0;color:#666;font-size:.9rem}.document-info{margin-bottom:1rem}.document-info p{margin:.5rem 0;color:#666}.view-document-btn{display:inline-block;margin-top:.5rem;padding:.5rem 1rem;background:#3498db;color:#fff;text-decoration:none;border-radius:5px;font-size:.9rem}.view-document-btn:hover{background:#2980b9}.document-actions{display:flex;gap:1rem}.approve-btn,.reject-btn{flex:1;padding:.75rem;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.approve-btn{background:#27ae60;color:#fff}.approve-btn:hover{background:#229954}.approve-btn:disabled{background:#bdc3c7;cursor:not-allowed}.approve-btn:hover:disabled{background:#bdc3c7}.awaiting-badge{display:inline-block;margin-left:.5rem;padding:.25rem .75rem;background:#f39c12;color:#fff;border-radius:20px;font-size:.85rem;font-weight:500}.document-side{margin-left:.25rem;color:#666;font-size:.9rem}.awaiting-msg{color:#e67e22;font-style:italic}.reject-btn{background:#e74c3c;color:#fff}.reject-btn:hover{background:#c0392b}.reject-form{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.reject-form textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-family:inherit;font-size:.9rem;resize:vertical;box-sizing:border-box}.reject-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.confirm-reject-btn,.cancel-btn{flex:1;padding:.5rem;border:none;border-radius:5px;cursor:pointer}.confirm-reject-btn{background:#e74c3c;color:#fff}.confirm-reject-btn:hover{background:#c0392b}.cancel-btn{background:#95a5a6;color:#fff}.jobs-page h1{margin-bottom:2rem;color:#2c3e50}.jobs-list{display:grid;gap:1.5rem}.job-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.job-header h3{margin:0;color:#2c3e50}.status-completed{background:#d1ecf1;color:#0c5460}.job-info{margin-bottom:1rem}.job-info p{margin:.5rem 0;color:#666}.job-actions{display:flex;gap:.5rem}.modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.form-hint{color:#666;font-size:.9rem;margin-top:.25rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;box-sizing:border-box}.job-status-group{display:flex;align-items:center}.status-select{padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:.85rem;font-weight:600;cursor:pointer}.status-select.status-pending{background:#fff3cd;color:#856404}.status-select.status-assigned{background:#d1ecf1;color:#0c5460}.status-select.status-in_progress{background:#d4edda;color:#155724}.status-select.status-completed{background:#d1ecf1;color:#0c5460}.status-select.status-cancelled{background:#f8d7da;color:#721c24}.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;font-family:inherit;box-sizing:border-box;resize:vertical}.passengers-page h1{margin-bottom:2rem;color:#2c3e50}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-actions{display:flex;gap:1rem}.export-btn{padding:.75rem 1.5rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.export-btn:hover{background:#2980b9}.create-btn{padding:.75rem 1.5rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.create-btn:hover{background:#229954}.back-btn{padding:.75rem 1.5rem;background:#7f8c8d;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem}.back-btn:hover{background:#95a5a6}.manage-btn{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer}.manage-btn:hover{background:#229954}.passengers-list-table-wrap{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.passengers-table{width:100%;border-collapse:collapse}.passengers-table th,.passengers-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee}.passengers-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.passengers-table tbody tr:hover{background:#f8f9fa}.passengers-table .no-data{text-align:center;color:#666;padding:2rem}.passenger-detail-view{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}@media(max-width:768px){.passenger-detail-view{grid-template-columns:1fr}}.passenger-detail-card,.parent-detail-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.passenger-detail-card h2,.parent-detail-card h2{margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #eee;color:#2c3e50;font-size:1.1rem}.passenger-detail-card p,.parent-detail-card p{margin:.5rem 0;color:#333}.parent-selector .new-parent-fields{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.parent-selector .new-parent-fields input{padding:.5rem;border:1px solid #ccc;border-radius:5px}.parents-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.parent-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.parent-card h3{margin:0 0 .5rem;color:#2c3e50}.parent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.children-count{font-size:.9rem;color:#666;background:#f0f0f0;padding:.25rem .75rem;border-radius:20px}.parent-info{margin-bottom:1rem}.parent-info p{margin:.5rem 0;color:#666}.parent-actions{display:flex;gap:.5rem}.parent-detail-view{margin-top:1rem}.parent-detail-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.parent-detail-card h2{margin:0 0 1rem;color:#2c3e50}.parent-detail-card p{margin:.5rem 0;color:#666}.children-heading{margin-bottom:1rem;color:#2c3e50}.modal-subtitle{margin:-.5rem 0 1rem;color:#666;font-size:.95rem}.modal-content-wide{max-width:600px}.passengers-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.passenger-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.passenger-card h3{margin:0 0 1rem;color:#2c3e50}.passenger-card p{margin:.5rem 0;color:#666}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h2{margin:0 0 1.5rem;color:#2c3e50}.form-group{margin-bottom:1rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;font-family:inherit;box-sizing:border-box}.form-actions{display:flex;gap:.5rem;margin-top:1.5rem}.submit-btn{flex:1;padding:.75rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.submit-btn:hover{background:#229954}.cancel-btn{flex:1;padding:.75rem;background:#95a5a6;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem}.cancel-btn:hover{background:#7f8c8d}.passenger-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.passenger-header h3{margin:0}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.status-active{background:#d4edda;color:#155724}.status-inactive{background:#f8d7da;color:#721c24}.passenger-info{margin-bottom:1rem}.passenger-actions{display:flex;gap:.5rem}.edit-btn{padding:.5rem 1rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer}.edit-btn:hover{background:#2980b9}.delete-btn{padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer}.delete-btn:hover{background:#c0392b}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem;grid-column:1 / -1}.no-data{text-align:center;padding:2rem;color:#999;background:#fff;border-radius:8px;grid-column:1 / -1}.error-text{color:#e74c3c;font-size:.85rem;margin-top:.25rem;display:block}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.clients-page h1{margin-bottom:.5rem;color:#2c3e50}.clients-intro{margin-bottom:1.5rem;color:#555}.clients-toolbar{margin-bottom:1.5rem}.clients-toolbar .search-input{padding:.5rem .75rem;width:100%;max-width:320px;border:1px solid #ccc;border-radius:5px;font-size:1rem}.clients-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.client-card{border:1px solid #ddd;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:1rem;background:#fff}.client-card-body h3{margin:0 0 .5rem;font-size:1.1rem;color:#2c3e50}.client-address,.client-invoice-days{margin:.25rem 0;font-size:.9rem;color:#555}.client-card-actions{display:flex;gap:.5rem;margin-top:auto}.client-card-actions .edit-btn{padding:.4rem .8rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.client-card-actions .edit-btn:hover{background:#2980b9}.client-card-actions .delete-btn{padding:.4rem .8rem;background:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.client-card-actions .delete-btn:hover{background:#c0392b}.clients-page .create-btn{padding:.75rem 1.5rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.clients-page .create-btn:hover{background:#229954}.clients-page .loading,.clients-page .no-data{padding:2rem;text-align:center;color:#666}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.pagination button{padding:.5rem 1rem;border:1px solid #ccc;background:#fff;border-radius:5px;cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.clients-modal{background:#fff;padding:1.5rem 2rem;border-radius:8px;max-width:480px;width:90%;max-height:90vh;overflow-y:auto}.clients-modal h2{margin-top:0;margin-bottom:1rem;color:#2c3e50}.clients-modal .form-group{margin-bottom:1rem}.clients-modal .form-group label{display:block;margin-bottom:.25rem;font-weight:500}.clients-modal .form-group input,.clients-modal .form-group textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:5px;font-size:1rem}.clients-modal .field-error{display:block;color:#e74c3c;font-size:.85rem;margin-top:.25rem}.clients-modal .form-actions{display:flex;gap:1rem;margin-top:1.5rem}.clients-modal .cancel-btn{padding:.5rem 1rem;background:#95a5a6;color:#fff;border:none;border-radius:5px;cursor:pointer}.clients-modal .submit-btn{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer}.clients-modal .submit-btn:hover{background:#229954}.establishments-page h1{margin-bottom:.5rem;color:#2c3e50}.establishments-intro{margin-bottom:1.5rem;color:#555}.establishments-toolbar .search-input{padding:.5rem .75rem;width:100%;max-width:320px;border:1px solid #ccc;border-radius:5px;font-size:1rem}.establishments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.establishment-card{border:1px solid #ddd;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:1rem;background:#fff}.establishment-card-body h3{margin:0 0 .5rem;font-size:1.1rem;color:#2c3e50}.est-contact,.est-address,.est-unit-price{margin:.25rem 0;font-size:.9rem;color:#555}.establishment-card-actions{display:flex;gap:.5rem;margin-top:auto}.establishment-card-actions .edit-btn{padding:.4rem .8rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.establishment-card-actions .edit-btn:hover{background:#2980b9}.establishment-card-actions .delete-btn{padding:.4rem .8rem;background:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.establishment-card-actions .delete-btn:hover{background:#c0392b}.establishments-page .create-btn{padding:.75rem 1.5rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.establishments-page .create-btn:hover{background:#229954}.establishments-page .loading,.establishments-page .no-data{padding:2rem;text-align:center;color:#666}.establishments-page .pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.establishments-page .pagination button{padding:.5rem 1rem;border:1px solid #ccc;background:#fff;border-radius:5px;cursor:pointer}.establishments-page .pagination button:disabled{opacity:.5;cursor:not-allowed}.establishments-modal{background:#fff;padding:1.5rem 2rem;border-radius:8px;max-width:480px;width:90%;max-height:90vh;overflow-y:auto}.establishments-modal h2{margin-top:0;margin-bottom:1rem;color:#2c3e50}.establishments-modal .form-group{margin-bottom:1rem}.establishments-modal .form-group label{display:block;margin-bottom:.25rem;font-weight:500}.establishments-modal .form-group input,.establishments-modal .form-group textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:5px;font-size:1rem}.establishments-modal .field-error{display:block;color:#e74c3c;font-size:.85rem;margin-top:.25rem}.establishments-modal .form-actions{display:flex;gap:1rem;margin-top:1.5rem}.establishments-modal .cancel-btn{padding:.5rem 1rem;background:#95a5a6;color:#fff;border:none;border-radius:5px;cursor:pointer}.establishments-modal .submit-btn{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer}.establishments-modal .submit-btn:hover{background:#229954}.sos-page h1{margin-bottom:2rem;color:#2c3e50}.alerts-section{margin-bottom:2rem}.section-title{margin-bottom:1rem;color:#2c3e50}.section-title.urgent{color:#e74c3c}.alerts-list{display:grid;gap:1.5rem}.alert-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.urgent-alert{border-left:4px solid #e74c3c;background:#fff5f5}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.alert-header h3{margin:0;color:#2c3e50}.alert-time{color:#666;font-size:.9rem}.alert-info{margin-bottom:1rem}.alert-info p{margin:.5rem 0;color:#666}.alert-info a{color:#3498db;text-decoration:none;margin-left:.5rem}.alert-info a:hover{text-decoration:underline}.acknowledge-btn{padding:.75rem 1.5rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.acknowledge-btn:hover{background:#229954}.filters-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column}.filter-group label{margin-bottom:.5rem;font-weight:500;color:#333;font-size:.9rem}.filter-group input,.filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:.9rem}.clear-filters-btn{padding:.5rem 1rem;background:#95a5a6;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;height:fit-content}.clear-filters-btn:hover{background:#7f8c8d}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.pagination-btn{padding:.5rem 1rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer}.pagination-btn:hover:not(:disabled){background:#2980b9}.pagination-btn:disabled{background:#bdc3c7;cursor:not-allowed}.pagination-info{color:#666;font-size:.9rem}.loading{text-align:center;padding:2rem;color:#666}.no-data{text-align:center;padding:2rem;color:#999;background:#fff;border-radius:8px}.sos-log-section{margin-top:2rem}.sos-log-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.sos-log-refreshing{font-size:.9rem;color:#666}.sos-log-table-wrap{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.sos-log-table{width:100%;border-collapse:collapse;font-size:.9rem}.sos-log-table th,.sos-log-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee;vertical-align:top}.sos-log-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;white-space:nowrap}.sos-log-row-active{background:#fff5f5}.sos-log-message{max-width:220px;word-break:break-word}.sos-log-meta{font-size:.85rem;color:#555}.sos-log-sub{display:block;margin-top:.25rem;font-size:.8rem;color:#888}.sos-status{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.invoices-page h1{margin-bottom:2rem;color:#2c3e50}.export-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:600px}.export-card h2{margin:0 0 .5rem;color:#2c3e50}.export-card>p{margin:0 0 2rem;color:#666}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group select,.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;box-sizing:border-box}.export-btn{width:100%;padding:.75rem;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:.75rem}.export-btn.primary{background:#27ae60;color:#fff}.export-btn.primary:hover:not(:disabled){background:#229954}.export-btn.secondary{background:#95a5a6;color:#fff;margin-bottom:2rem}.export-btn.secondary:hover:not(:disabled){background:#7f8c8d}.export-btn:disabled{opacity:.6;cursor:not-allowed}.info-box{background:#f8f9fa;padding:1.5rem;border-radius:5px;border-left:4px solid #3498db}.info-box h3{margin:0 0 1rem;color:#2c3e50}.info-box ul{margin:0;padding-left:1.5rem;color:#666}.info-box li{margin:.5rem 0}.settings-page h1{margin-bottom:.5rem;color:#2c3e50}.settings-intro{margin-bottom:1.5rem;color:#666}.settings-message{padding:.75rem 1rem;margin-bottom:1rem;border-radius:5px;background:#e8f5e9;color:#2e7d32}.settings-form{max-width:700px}.settings-section{background:#fff;padding:1.5rem 2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem}.settings-section h2{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.settings-page .form-group{margin-bottom:1rem}.settings-page .form-group label{display:block;margin-bottom:.35rem;color:#333;font-weight:500}.settings-page .form-group input,.settings-page .form-group textarea{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;box-sizing:border-box}.settings-page .form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.settings-save-btn{padding:.75rem 1.5rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.settings-save-btn:hover:not(:disabled){background:#2980b9}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.routes-page h1{margin-bottom:.5rem;color:#2c3e50}.routes-intro{margin-bottom:1.5rem;color:#666}.routes-toolbar{margin-bottom:1.5rem}.routes-toolbar .create-btn{padding:.75rem 1.5rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:600}.routes-toolbar .create-btn:hover{background:#229954}.routes-manifest-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:560px;margin-bottom:2rem}.routes-manifest-card h3{margin-top:0;margin-bottom:1rem;color:#2c3e50}.manifest-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.manifest-fields .form-group{margin-bottom:0}.manifest-fields .form-group label{display:block;margin-bottom:.25rem;font-weight:500}.routes-download-btn{padding:.6rem 1.2rem;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.95rem}.routes-download-btn:hover:not(:disabled){background:#2980b9}.routes-download-btn:disabled{opacity:.6;cursor:not-allowed}.routes-content{display:flex;gap:2rem;flex-wrap:wrap}.routes-list-section{flex:1;min-width:0}.routes-list-section h3,.route-detail-card h3{margin-top:0;margin-bottom:1rem;color:#2c3e50}.routes-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 4px #0000001a;border-radius:8px;overflow:hidden}.routes-table th,.routes-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee}.routes-table th{background:#f8f9fa;font-weight:600;color:#333}.routes-table .btn-sm{padding:.35rem .6rem;margin-right:.35rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.routes-table .view-btn{background:#95a5a6;color:#fff}.routes-table .edit-btn{background:#3498db;color:#fff}.routes-table .delete-btn{background:#e74c3c;color:#fff}.routes-page .loading,.routes-page .no-data{padding:1.5rem;color:#666}.route-detail-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-width:360px;max-width:480px}.route-detail-meta p{margin:.35rem 0;font-size:.95rem}.schedule-times-table-wrap h4,.route-customers h4{margin:1rem 0 .5rem;color:#333}.schedule-times-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.schedule-times-table th,.schedule-times-table td{padding:.4rem .6rem;text-align:left;border:1px solid #ddd}.schedule-times-table th{background:#f5f5f5}.route-passengers-list{list-style:none;padding:0;margin:0 0 1rem}.route-passenger-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #eee}.route-passenger-item .outbound-days{font-size:.9rem;color:#555;flex:1}.add-passenger-btn{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.add-passenger-btn:hover{background:#229954}.back-list-btn{margin-top:1rem;padding:.5rem 1rem;background:#7f8c8d;color:#fff;border:none;border-radius:5px;cursor:pointer}.back-list-btn:hover{background:#95a5a6}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.route-form-modal,.add-passenger-modal{background:#fff;padding:1.5rem 2rem;border-radius:8px;max-width:640px;width:90%;max-height:90vh;overflow-y:auto}.add-passenger-modal-tabs .add-passenger-tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid #ddd}.add-passenger-modal-tabs .add-passenger-tabs button{padding:.5rem 1rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#666;cursor:pointer;font-size:.95rem}.add-passenger-modal-tabs .add-passenger-tabs button:hover{color:#2c3e50}.add-passenger-modal-tabs .add-passenger-tabs button.active{color:#3498db;border-bottom-color:#3498db;font-weight:600}.add-passenger-modal-tabs .modal-hint{margin:0 0 1rem;color:#666;font-size:.9rem}.add-passenger-modal-tabs .add-child-form{margin-bottom:1rem}.add-passenger-modal-tabs .add-child-form h4{margin:1rem 0 .5rem;font-size:.95rem;color:#2c3e50}.add-passenger-modal-tabs .add-child-form h4:first-child{margin-top:0}.route-form-modal h2,.add-passenger-modal h3{margin-top:0;margin-bottom:1rem;color:#2c3e50}.form-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.form-row .form-group{flex:1;min-width:140px}.route-form-modal .form-group label,.add-passenger-modal .form-group label{display:block;margin-bottom:.25rem;font-weight:500}.route-form-modal .form-group input,.route-form-modal .form-group select,.add-passenger-modal .form-group input,.add-passenger-modal .form-group select{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:5px;font-size:1rem;box-sizing:border-box}.schedule-section{margin:1rem 0;padding:1rem;background:#f9f9f9;border-radius:6px}.schedule-section h4{margin:0 0 .75rem;font-size:1rem}.schedule-row{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.schedule-row .day-label{min-width:36px;font-weight:500}.schedule-row input[type=time]{width:100px;padding:.35rem}.establishment-field .inline-option{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:400;cursor:pointer}.new-establishment-fields{display:flex;flex-direction:column;gap:.5rem}.new-establishment-fields input,.new-establishment-fields textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:5px;font-size:1rem;box-sizing:border-box}.route-form-customers{margin:1rem 0;padding:1rem;background:#f9f9f9;border-radius:6px}.route-form-customers h4{margin:0 0 .5rem;font-size:1rem}.route-form-passengers-list{list-style:none;padding:0;margin:0 0 .75rem}.route-form-passenger-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #eee;border-radius:4px;margin-bottom:.35rem}.route-form-passenger-item .name{font-weight:500;min-width:120px}.route-form-passenger-item .parent-info{font-size:.85rem;color:#555}.route-form-passenger-item .days{font-size:.85rem;color:#666;flex:1}.route-form-add-buttons{display:flex;flex-direction:column;gap:.75rem}.add-child-btn{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;align-self:flex-start}.add-child-btn:hover{background:#229954}.add-existing-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.add-existing-row select{min-width:180px;padding:.4rem}.days-checkboxes-inline{display:flex;flex-wrap:wrap;gap:.35rem .75rem}.days-checkboxes-inline label{display:flex;align-items:center;gap:.25rem;font-size:.85rem;font-weight:400;cursor:pointer}.add-existing-btn{padding:.35rem .75rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.add-child-modal{max-width:520px;max-height:90vh;overflow-y:auto}.add-child-modal h3{margin-top:0}.modal-hint{font-size:.9rem;color:#555;margin:0 0 1rem}.add-child-form h4{margin:1rem 0 .5rem;font-size:.95rem;color:#333}.add-child-form .form-group label input[type=checkbox]{margin-right:.35rem}.days-checkboxes{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.days-checkboxes label{display:flex;align-items:center;gap:.35rem;cursor:pointer;font-weight:400}.field-error{display:block;color:#e74c3c;font-size:.85rem;margin-top:.25rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.route-form-modal .cancel-btn,.add-passenger-modal .cancel-btn{padding:.5rem 1rem;background:#95a5a6;color:#fff;border:none;border-radius:5px;cursor:pointer}.route-form-modal .submit-btn,.add-passenger-modal .submit-btn{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer}.route-form-modal .submit-btn:hover:not(:disabled),.add-passenger-modal .submit-btn:hover:not(:disabled){background:#229954}.route-form-modal .submit-btn:disabled,.add-passenger-modal .submit-btn:disabled{opacity:.6;cursor:not-allowed}.privacy-policy-wrapper{--primary: #6366f1;--bg-dark: #0f172a;--text-main: #f8fafc;--text-muted: #94a3b8;--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .1);min-height:100vh;background-color:var(--bg-dark);background-image:radial-gradient(circle at 0% 0%,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(139,92,246,.1) 0%,transparent 50%);color:var(--text-main);font-family:Inter,system-ui,-apple-system,sans-serif}.privacy-content-section{padding:6rem 5% 8rem;max-width:900px;margin:0 auto}.glass-card{background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;padding:4rem;box-shadow:0 25px 50px -12px #00000080}.privacy-policy-header{margin-bottom:3rem;border-bottom:1px solid var(--glass-border);padding-bottom:2rem}.privacy-policy-header h1{font-size:3rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.02em}.last-updated{color:var(--text-muted);font-size:.9rem}.policy-section{margin-bottom:2.5rem}.policy-section h2{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:1rem}.policy-section h3{font-size:1.2rem;font-weight:600;margin:1.5rem 0 .75rem}.policy-section p{color:var(--text-muted);line-height:1.6;margin-bottom:1rem}.policy-section ul{list-style:none;padding:0;margin-bottom:1rem}.policy-section li{color:var(--text-muted);margin-bottom:.75rem;padding-left:1.5rem;position:relative;line-height:1.4}.policy-section li:before{content:"•";color:var(--primary);position:absolute;left:0;font-weight:700}@media(max-width:768px){.glass-card{padding:2rem}.privacy-policy-header h1{font-size:2rem}}.delete-account-wrapper{--primary: #6366f1;--danger: #ef4444;--bg-dark: #0f172a;--text-main: #f8fafc;--text-muted: #94a3b8;--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .1);min-height:100vh;background-color:var(--bg-dark);background-image:radial-gradient(circle at 100% 0%,rgba(239,68,68,.05) 0%,transparent 50%),radial-gradient(circle at 0% 100%,rgba(99,102,241,.1) 0%,transparent 50%);color:var(--text-main);font-family:Inter,system-ui,-apple-system,sans-serif}.delete-content-section{padding:6rem 5% 8rem;max-width:800px;margin:0 auto}.glass-card-delete{background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;padding:4rem;box-shadow:0 25px 50px -12px #00000080}.delete-header{text-align:center;margin-bottom:3rem}.delete-header h1{font-size:3rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.02em}.delete-header p{color:var(--text-muted);font-size:1.1rem}.warning-card{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:16px;padding:2rem;margin-bottom:3rem}.warning-card h3{color:var(--danger);font-size:1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.warning-card ul{list-style:none;padding:0}.warning-card li{color:#fca5a5;margin-bottom:.5rem;padding-left:1.25rem;position:relative}.warning-card li:before{content:"•";position:absolute;left:0}.contact-button-group{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.email-cta{padding:1rem 2.5rem;background:var(--danger);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;box-shadow:0 10px 20px -10px #ef444480}.email-cta:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 15px 30px -10px #ef444499}.secondary-info{text-align:center;color:var(--text-muted);font-size:.9rem;margin-top:2rem}.back-to-home{display:block;text-align:center;margin-top:3rem;color:var(--primary);text-decoration:none;font-weight:500}.back-to-home:hover{text-decoration:underline}@media(max-width:640px){.glass-card-delete{padding:2rem}.delete-header h1{font-size:2rem}}.pa-documents-page{padding:0 0 2rem;max-width:700px}.pa-documents-page h1{margin-bottom:.5rem;color:#2c3e50}.pa-docs-intro{margin-bottom:1.5rem;color:#555;line-height:1.5}.pa-docs-list{display:flex;flex-direction:column;gap:1.25rem}.pa-doc-card{background:#fff;padding:1.25rem;border-radius:8px;box-shadow:0 2px 4px #00000014;border:1px solid #eee}.pa-doc-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.pa-doc-card-header h3{margin:0;font-size:1.1rem;color:#2c3e50}.pa-doc-expiry{margin:.25rem 0;font-size:.9rem;color:#666}.pa-doc-rejection{margin:.5rem 0;font-size:.9rem;color:#721c24;background:#f8d7da;padding:.5rem;border-radius:4px}.pa-doc-upload-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.pa-doc-upload-form input[type=file]{font-size:.9rem}.pa-doc-expiry-input label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.9rem}.pa-doc-expiry-input input{padding:.5rem;border:1px solid #ccc;border-radius:5px;font-size:1rem}.upload-btn{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.95rem;align-self:flex-start}.upload-btn:hover:not(:disabled){background:#229954}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.pa-doc-actions{margin-top:.75rem;display:flex;gap:.75rem;flex-wrap:wrap}.view-link{padding:.4rem .8rem;background:#3498db;color:#fff;text-decoration:none;border-radius:5px;font-size:.9rem}.view-link:hover{background:#2980b9;color:#fff}.remove-btn{padding:.4rem .8rem;background:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.remove-btn:hover{background:#c0392b}.status-badge{padding:.2rem .6rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-approved{background:#d4edda;color:#155724}.status-rejected{background:#f8d7da;color:#721c24}.status-pending{background:#fff3cd;color:#856404}.no-docs{color:#666;text-align:center;padding:2rem}.pa-jobs-page{padding:0 0 2rem;max-width:800px}.pa-jobs-page h1{margin-bottom:.5rem;color:#2c3e50}.pa-jobs-intro{margin-bottom:1.5rem;color:#555}.pa-jobs-list{display:flex;flex-direction:column;gap:1rem}.pa-job-card{background:#fff;padding:1.25rem;border-radius:8px;box-shadow:0 2px 4px #00000014;border:1px solid #eee}.pa-job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.job-status{padding:.25rem .6rem;border-radius:4px;font-size:.85rem;font-weight:600;text-transform:capitalize}.job-date{font-size:.9rem;color:#666}.pa-job-passenger,.pa-job-route{margin:.35rem 0;font-size:.95rem}.no-jobs{background:#f8f9fa;padding:2rem;border-radius:8px;text-align:center;color:#666}.no-jobs p{margin:.5rem 0}.driver-documents-page{padding:20px;max-width:1200px;margin:0 auto}.driver-documents-page h1{margin-bottom:30px;color:#333}.upload-documents-section{background:#fff;padding:24px;border-radius:8px;margin-bottom:30px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d}.upload-documents-section h2{margin-bottom:8px;color:#2c3e50;font-size:1.25rem}.upload-documents-section .section-desc{color:#666;margin-bottom:20px;font-size:14px}.documents-upload-table-wrap{overflow-x:auto}.documents-upload-table{width:100%;border-collapse:collapse;font-size:14px}.documents-upload-table th,.documents-upload-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #eee;vertical-align:middle}.documents-upload-table thead th{background:#f5f5f5;font-weight:600;color:#444}.documents-upload-table tbody tr:hover{background:#fafafa}.documents-upload-table tbody tr.has-document{background:#f8fdf8}.documents-upload-table .col-doc-name{font-weight:500;color:#333;min-width:160px}.documents-upload-table .col-expiry{width:150px}.documents-upload-table .expiry-input{padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;width:100%;max-width:140px}.documents-upload-table .no-expiry{color:#999}.documents-upload-table .col-upload{min-width:220px}.upload-cell{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.file-input-hidden{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.upload-area{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:160px;padding:10px 14px;border:2px dashed #ccc;border-radius:6px;background:#fafafa;cursor:pointer;transition:border-color .2s,background .2s}.upload-area:hover{border-color:#007bff;background:#f0f7ff}.upload-placeholder{color:#666;font-size:13px}.upload-area .file-name{color:#333;font-size:13px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;border:1px solid #ddd}.doc-file-label{padding:4px 10px;background:#e9ecef;border-radius:4px;font-size:12px}.reupload-hint{font-size:12px;color:#666}.link-button{color:#007bff;cursor:pointer;text-decoration:underline;font-size:13px}.link-button:hover{color:#0056b3}.row-upload-btn{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.row-upload-btn:hover:not(:disabled){background:#0056b3}.row-upload-btn:disabled{background:#ccc;cursor:not-allowed}.documents-upload-table .col-status{min-width:120px}.col-status .expiry-text,.col-status .expired-text{display:block;font-size:12px;color:#666;margin-top:2px}.col-status .expired-text{color:#dc3545;font-weight:500}.col-status .no-doc{color:#999;font-size:13px}.col-status .rejection-reason{margin:4px 0 0;font-size:12px;color:#dc3545;font-style:italic}.documents-upload-table .col-actions{white-space:nowrap}.documents-upload-table .col-actions .view-button,.documents-upload-table .col-actions .delete-button{margin-right:8px;margin-bottom:4px}.document-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.document-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.document-header h3{margin:0;color:#333}.status-badge.status-approved{background:#28a745;color:#fff}.status-badge.status-rejected{background:#dc3545;color:#fff}.document-info{margin-bottom:15px}.document-info p{margin:5px 0;font-size:14px;color:#666}.expired-badge{margin-left:10px;padding:2px 8px;background:#dc3545;color:#fff;border-radius:4px;font-size:11px;font-weight:700}.rejection-reason{color:#dc3545;font-style:italic}.document-actions{display:flex;gap:10px}.view-button,.delete-button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;text-decoration:none;display:inline-block}.view-button{background:#007bff;color:#fff}.view-button:hover{background:#0056b3}.delete-button{background:#dc3545;color:#fff}.delete-button:hover{background:#c82333}.onboarding-checklist{background:#fff;padding:20px;border-radius:8px;margin-bottom:30px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d}.onboarding-checklist h2{font-size:1.25rem;margin-bottom:10px;color:#2c3e50}.onboarding-checklist p{color:#666;margin-bottom:20px}.checklist{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.checklist li{display:flex;align-items:center;gap:12px;padding:10px;border-radius:6px;background:#f8f9fa;border-left:4px solid #dee2e6}.checklist li.complete{background:#e8f5e9;border-left-color:#4caf50}.checklist li.pending{background:#fff8e1;border-left-color:#ffc107}.checklist li.incomplete{border-left-color:#f44336}.status-icon{font-size:1.2rem;font-weight:700}.complete .status-icon{color:#4caf50}.pending .status-icon{color:#ffc107}.incomplete .status-icon{color:#f44336}.type-name{font-weight:500;flex:1}.side-status{font-size:.8rem;color:#888}.driver-jobs-page{padding:20px;max-width:1200px;margin:0 auto}.driver-jobs-page h1{margin-bottom:30px;color:#333}.filters-section{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;min-width:150px}.filter-group label{margin-bottom:5px;font-weight:500;color:#555}.filter-group input,.filter-group select{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.jobs-list{margin-top:20px}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.status-badge.status-in-progress{background:#007bff;color:#fff}.job-actions{display:flex;gap:10px;flex-wrap:wrap}.accept-button,.arrived-button,.pickup-button,.dropoff-button,.details-button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.arrived-button{background:#fd7e14;color:#fff}.arrived-button:hover:not(:disabled){background:#e96b00}.arrived-button:disabled{opacity:.6;cursor:not-allowed}.accept-button{background:#28a745;color:#fff}.accept-button:hover{background:#218838}.pickup-button{background:#007bff;color:#fff}.pickup-button:hover{background:#0056b3}.dropoff-button{background:#17a2b8;color:#fff}.dropoff-button:hover{background:#138496}.details-button{background:#6c757d;color:#fff}.details-button:hover{background:#5a6268}.job-details{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.job-details h4{margin-bottom:10px;color:#333}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;font-size:14px;color:#666}.driver-location-page{padding:20px;max-width:800px;margin:0 auto}.driver-location-page h1{margin-bottom:30px;color:#333}.location-controls{display:flex;gap:20px;align-items:center;margin-bottom:30px;padding:20px;background:#f9f9f9;border-radius:8px}.status-selector{display:flex;align-items:center;gap:10px}.status-selector label{font-weight:500;color:#555}.status-selector select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.tracking-controls{margin-left:auto}.tracking-badge{margin-left:auto;padding:8px 16px;background:#28a745;color:#fff;border-radius:4px;font-size:14px;font-weight:500}.start-tracking-button,.stop-tracking-button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.start-tracking-button{background:#28a745;color:#fff}.start-tracking-button:hover{background:#218838}.stop-tracking-button{background:#dc3545;color:#fff}.stop-tracking-button:hover{background:#c82333}.location-info{margin-bottom:30px}.location-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.location-card h2{margin-bottom:20px;color:#333}.location-details{margin-bottom:20px}.detail-row{margin:10px 0;font-size:14px;color:#666}.map-link{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.updating-indicator{text-align:center;padding:10px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;margin-bottom:20px}.info-box{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;padding:20px}.info-box h3{margin-top:0;color:#004085}.info-box ul{margin:10px 0;padding-left:20px;color:#004085}.info-box li{margin:8px 0}.driver-sos-page{padding:20px;max-width:720px;margin:0 auto}.driver-sos-page h1{margin-bottom:30px;color:#333}.sos-warning{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:20px;margin-bottom:30px}.sos-warning h2{margin-top:0;color:#856404}.sos-warning p{margin-bottom:0;color:#856404;line-height:1.6}.sos-form{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}.char-count{text-align:right;font-size:12px;color:#999;margin-top:5px}.sos-button{width:100%;padding:15px;background:#dc3545;color:#fff;border:none;border-radius:4px;font-size:18px;font-weight:700;cursor:pointer;transition:background .3s}.sos-button:hover:not(:disabled){background:#c82333}.sos-button:disabled{background:#ccc;cursor:not-allowed}.last-sent{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;padding:15px;margin-bottom:20px;text-align:center;color:#155724}.sos-info{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;padding:20px}.sos-info h3{margin-top:0;color:#004085}.sos-info ul{margin:10px 0;padding-left:20px;color:#004085}.sos-info li{margin:8px 0;line-height:1.6}.driver-sos-history{margin:24px 0}.driver-sos-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.driver-sos-history-header h2{margin:0;font-size:1.15rem;color:#333}.driver-sos-history-refresh{padding:8px 14px;background:#6c757d;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer}.driver-sos-history-refresh:hover:not(:disabled){background:#5a6268}.driver-sos-history-refresh:disabled{opacity:.7;cursor:not-allowed}.driver-sos-history-empty{text-align:center;padding:20px;color:#666;background:#f8f9fa;border-radius:8px}.driver-sos-log-table-wrap{overflow-x:auto;border:1px solid #ddd;border-radius:8px;background:#fff}.driver-sos-log-table{width:100%;border-collapse:collapse;font-size:13px}.driver-sos-log-table th,.driver-sos-log-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee;vertical-align:top}.driver-sos-log-table th{background:#f8f9fa;font-weight:600;color:#333;white-space:nowrap}.driver-sos-log-table .row-active{background:#fff5f5}.driver-sos-log-message{max-width:180px;word-break:break-word}.driver-sos-log-meta{font-size:12px;color:#555}.driver-sos-log-sub{display:block;margin-top:4px;font-size:11px;color:#888}.driver-sos-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;flex-wrap:wrap}.driver-sos-pagination button{padding:8px 14px;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer}.driver-sos-pagination button:hover:not(:disabled){background:#2980b9}.driver-sos-pagination button:disabled{background:#bdc3c7;cursor:not-allowed}.driver-sos-pagination span{font-size:14px;color:#555}.sos-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.sos-status-active{background:#fde8e8;color:#c0392b}.sos-status-acknowledged{background:#eaf2f8;color:#2874a6}.sos-status-resolved{background:#e8f8f0;color:#1e8449}.sos-status-false_alarm{background:#f4ecf7;color:#7d3c98}.parent-dashboard-page{padding:20px;max-width:1200px;margin:0 auto}.parent-dashboard-page h1{margin-bottom:30px;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 4px #0000001a}.stat-value{font-size:36px;font-weight:700;color:#007bff;margin-bottom:10px}.stat-label{font-size:14px;color:#666;text-transform:uppercase;letter-spacing:.5px}.section{margin-bottom:40px}.section h2{margin-bottom:20px;color:#333}.jobs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.job-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.job-card.completed{opacity:.8}.job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.job-header h3{margin:0;color:#333}.job-info{margin-bottom:15px}.pickup-dropoff-info{margin-top:10px;padding-top:10px;border-top:1px solid #eee}.track-button{display:inline-block;padding:8px 16px;background:#007bff;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;text-align:center}.quick-links{display:flex;gap:15px;margin-top:30px}.quick-link{padding:12px 24px;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;text-decoration:none;color:#333;font-weight:500;transition:all .3s}.quick-link:hover{background:#e9ecef;border-color:#007bff;color:#007bff}.parent-children-page{padding:20px;max-width:1200px;margin:0 auto}.parent-children-page h1{margin-bottom:30px;color:#333}.no-children{text-align:center;padding:40px;background:#f9f9f9;border-radius:8px;color:#666}.children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.child-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.child-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.child-header h2{margin:0;color:#333}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#28a745;color:#fff}.status-badge.inactive{background:#6c757d;color:#fff}.child-info{margin-bottom:15px}.info-row{margin:8px 0;font-size:14px;color:#666}.recent-jobs{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.recent-jobs h3{margin-bottom:10px;font-size:14px;color:#555}.recent-jobs ul{margin:0;padding-left:20px;font-size:13px;color:#666}.recent-jobs li{margin:5px 0}.child-actions{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.track-button{display:inline-block;padding:8px 16px;background:#007bff;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;text-align:center;width:100%;box-sizing:border-box}.track-button:hover{background:#0056b3}.parent-tracking-page{padding:20px;max-width:800px;margin:0 auto}.tracking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.tracking-header h1{margin:0;color:#333}.refresh-controls{display:flex;align-items:center;gap:15px}.refresh-controls label{display:flex;align-items:center;gap:5px;font-size:14px;color:#666}.refresh-button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.refresh-button:hover{background:#0056b3}.error-message{text-align:center;padding:40px;background:#f9f9f9;border-radius:8px;color:#666}.error-message h2{color:#dc3545;margin-bottom:15px}.tracking-section{margin-bottom:30px}.tracking-section h2{margin-bottom:15px;color:#333}.info-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.info-row{margin:12px 0;font-size:14px;color:#666;display:flex;align-items:center;gap:10px}.status-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:500}.status-badge.status-pending{background:#ffc107;color:#000}.status-badge.status-assigned{background:#17a2b8;color:#fff}.status-badge.status-in_progress{background:#007bff;color:#fff}.status-badge.status-completed{background:#28a745;color:#fff}.location-coords{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:15px 0}.coord{font-size:13px;color:#666}.map-link{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.view-map-button{display:inline-block;padding:10px 20px;background:#007bff;color:#fff;text-decoration:none;border-radius:4px;font-size:14px}.view-map-button:hover{background:#0056b3}.pickup-dropoff-item{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.pickup-dropoff-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.time-info{margin-top:10px;padding-left:20px}.time-info div{margin:5px 0;font-size:13px;color:#666}.parent-notifications-page{padding:20px;max-width:800px;margin:0 auto}.parent-notifications-page h1{margin-bottom:30px;color:#333}.filters-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:#f9f9f9;border-radius:8px}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:500;color:#555}.filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.notification-count{font-size:14px;color:#666}.notifications-list{margin-top:20px}.no-notifications{text-align:center;padding:40px;background:#f9f9f9;border-radius:8px;color:#666}.notification-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;margin-bottom:15px;box-shadow:0 2px 4px #0000001a}.notification-card.unread{border-left:4px solid #007bff;background:#f0f8ff}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.notification-header h3{margin:0;color:#333;font-size:16px}.unread-badge{padding:4px 10px;background:#007bff;color:#fff;border-radius:12px;font-size:11px;font-weight:500}.notification-body{margin-bottom:10px}.notification-body p{margin:0 0 10px;color:#666;line-height:1.6}.notification-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#999}.notification-type{padding:2px 8px;background:#e9ecef;border-radius:4px;text-transform:uppercase;font-size:10px}.notification-actions{margin-top:10px;padding-top:10px;border-top:1px solid #eee}.mark-read-button{padding:6px 12px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.mark-read-button:hover{background:#5a6268}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:30px}.page-button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.page-button:hover:not(:disabled){background:#0056b3}.page-button:disabled{background:#ccc;cursor:not-allowed}.page-info{font-size:14px;color:#666}.change-password-container{max-width:600px;margin:2rem auto;padding:2rem}.change-password-card{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 4px 20px #00000014}.change-password-card h1{font-size:1.75rem;color:#1e293b;margin-bottom:.5rem;text-align:center}.card-subtitle{color:#64748b;text-align:center;margin-bottom:2rem;font-size:.95rem}.password-form .form-group{margin-bottom:1.5rem}.password-form label{display:block;font-size:.875rem;font-weight:500;color:#475569;margin-bottom:.5rem}.password-form input{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all .2s}.password-form input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.submit-btn{width:100%;padding:1rem;background:#6366f1;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem}.submit-btn:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.message{padding:1rem;border-radius:8px;margin-bottom:2rem;font-size:.9rem;text-align:center}.message.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.message.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.loader{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.change-password-container{padding:1rem}.change-password-card{padding:1.5rem}}*{box-sizing:border-box}
