:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Helvetica Neue,Arial,system-ui,sans-serif}html,body,#root{width:100%;min-width:100%;min-height:100%;margin:0;padding:0}body{background:#f5f5f5}#root{min-height:100vh}*{box-sizing:border-box}.root-layout{width:100%;height:100vh;display:flex;overflow:hidden}.sidebar{background:#293476;flex-direction:column;flex-shrink:0;justify-content:space-between;width:240px;padding:24px 0;display:flex}.sidebar-logo{align-items:center;gap:12px;margin-bottom:32px;padding:0 24px;display:flex}.sidebar-logo-icon{background:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar-logo-text{color:#fff;letter-spacing:1.5px;font-size:18px;font-weight:700}.sidebar-nav{flex-direction:column;gap:4px;padding:0 12px;display:flex}.sidebar-nav-item{color:#ffffffb3;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s;display:flex}.sidebar-nav-item:hover{color:#fff;background:#ffffff1a}.sidebar-nav-item.active{color:#fff;background:#cf202e}.sidebar-user{border-top:1px solid #ffffff1a;align-items:center;gap:12px;margin:0 12px;padding:16px;display:flex}.sidebar-user-avatar{color:#fff;background:#fff3;border:1px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.sidebar-user-info{overflow:hidden}.sidebar-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:700;overflow:hidden}.sidebar-user-role{color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.root-main{background:#f8f6f6;flex-direction:column;flex:1;display:flex;overflow-y:auto}.root-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;height:80px;padding:0 32px;display:flex}.root-header-title{color:#293476;margin:0;font-size:20px;font-weight:700}.root-header-right{align-items:center;gap:24px;display:flex}.root-header-bell{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:8px;transition:color .2s;position:relative}.root-header-bell:hover{color:#cf202e}.root-header-badge{color:#fff;background:#cf202e;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.root-header-divider{background:#e5e7eb;width:1px;height:32px}.root-header-location{color:#475569;font-size:14px;font-weight:600}.root-content{flex:1;padding:32px}.login-container{width:100%;height:100vh;display:flex;overflow:hidden}.login-branding{background:linear-gradient(135deg,#cf202e 0%,#293476 100%);flex-direction:column;justify-content:space-between;width:50%;padding:48px;display:none;position:relative;overflow:hidden}@media (width>=768px){.login-branding{display:flex}}.login-branding-bg{opacity:.06;pointer-events:none;justify-content:center;align-items:center;font-size:320px;display:flex;position:absolute;inset:0}.login-logo{z-index:1;align-items:center;gap:16px;display:flex;position:relative}.login-logo-icon{background:#fff;border-radius:12px;padding:12px;font-size:32px;line-height:1;box-shadow:0 4px 12px #00000026}.login-illustration{z-index:1;position:relative}.login-illustration-box{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;justify-content:center;align-items:center;width:100%;height:280px;margin-bottom:32px;display:flex;position:relative}.login-features{flex-direction:column;gap:20px;display:flex}.login-feature-item{color:#fff;align-items:center;gap:16px;font-size:16px;font-weight:500;display:flex}.login-feature-icon{background:#fff3;border-radius:8px;justify-content:center;align-items:center;padding:8px;font-size:20px;display:flex}.login-illustration-pin{background:#cf202e;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex;position:absolute;top:16px;right:16px}.login-form-panel{background:#fff;flex:1;justify-content:center;align-items:center;padding:32px;display:flex}.login-form-wrapper{width:100%;max-width:400px}.login-form-header{margin-bottom:32px}@media (width>=768px){.login-form-header{text-align:left}}@media (width<=767px){.login-form-header{text-align:center}}.login-form{width:100%}.login-input{height:56px;background:#f8f8f8!important;border:none!important;border-bottom:2px solid #e5e5e5!important;border-radius:8px 8px 0 0!important}.login-input:focus,.login-input:hover{border-bottom-color:#cf202e!important}.login-utilities{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.login-submit{letter-spacing:1px;background:#cf202e!important;border-color:#cf202e!important;border-radius:8px!important;height:56px!important;font-size:16px!important;font-weight:700!important;box-shadow:0 4px 16px #cf202e4d!important}.login-submit:hover{background:#b81c28!important;border-color:#b81c28!important}.orders-page{flex-direction:column;gap:24px;display:flex}.orders-header{justify-content:space-between;align-items:center;display:flex}.orders-title-row{align-items:center;gap:12px;display:flex}.orders-title{color:#1e293b;margin:0;font-size:24px;font-weight:700}.orders-filters{flex-wrap:wrap;gap:12px;display:flex}.orders-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.etl-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;box-shadow:0 1px 2px #0000000a}.etl-title{color:#94a3b8;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 32px;font-size:11px;font-weight:700}.etl-list{flex-direction:column;display:flex}.etl-item{padding-bottom:32px;padding-left:40px;position:relative}.etl-item:last-child{padding-bottom:0}.etl-dot{z-index:1;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:0;left:0;box-shadow:0 0 0 4px #fff}.etl-line{background:#f1f5f9;width:2px;position:absolute;top:24px;bottom:0;left:11px}.etl-header{align-items:center;gap:8px;display:flex}.etl-event-title{font-size:14px;font-weight:700}.etl-time{color:#94a3b8;font-size:12px}.etl-desc{color:#64748b;margin:4px 0 0;font-size:14px}.od-page{flex-direction:column;gap:24px;display:flex}.od-breadcrumb{justify-content:space-between;align-items:center;display:flex}.od-breadcrumb-nav{align-items:center;gap:8px;font-size:14px;display:flex}.od-breadcrumb-link{color:#94a3b8;cursor:pointer}.od-breadcrumb-link:hover{color:#cf202e}.od-breadcrumb-sep{color:#cbd5e1}.od-breadcrumb-current{color:#293476;font-weight:600}.od-back{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.od-back:hover{color:#cf202e}.od-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=1024px){.od-grid{grid-template-columns:7fr 3fr}}.od-left,.od-right{flex-direction:column;gap:24px;display:flex}.od-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;box-shadow:0 1px 2px #0000000a}.od-section-title{color:#94a3b8;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 16px;font-size:11px;font-weight:700}.od-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.od-header-left{align-items:center;gap:16px;display:flex}.od-header-icon{background:#cf202e1a;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.od-header-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.od-header-code{margin:0;font-size:24px;font-weight:700}.od-header-meta{color:#94a3b8;margin:4px 0 0;font-size:13px}.od-header-stats{align-items:center;gap:24px;display:flex}.od-stat{text-align:center}.od-stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700;display:block}.od-stat-value{font-size:18px;font-weight:700;display:block}.od-stat-divider{background:#e2e8f0;width:1px;height:40px}.od-two-col{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=768px){.od-two-col{grid-template-columns:1fr}}.od-client-row{gap:16px;display:flex}.od-client-name{margin:0;font-size:18px;font-weight:700}.od-client-address{color:#64748b;margin:4px 0 16px;font-size:14px}.od-client-contact{align-items:center;gap:8px;margin-top:4px;font-size:14px;display:flex}.od-service-rows{flex-direction:column;gap:16px;display:flex}.od-service-row{justify-content:space-between;align-items:center;display:flex}.od-service-label{color:#64748b;font-size:14px}.od-service-value{font-weight:700}.od-service-code{background:#f1f5f9;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:12px}.od-instructions{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;gap:16px;padding:20px;display:flex}.od-instructions-title{color:#92400e;margin:0 0 4px;font-size:14px;font-weight:700}.od-instructions-text{color:#a16207;margin:0;font-size:14px}.od-actions-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.od-assignment{flex-direction:column;gap:16px;display:flex}.od-assignment-vehicle{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.od-assignment-vehicle-icon{background:#293476;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.od-assignment-label{color:#94a3b8;margin:0;font-size:12px}.od-assignment-value{margin:0;font-weight:700}.od-assignment-plate{color:#cf202e;margin:0;font-family:monospace;font-size:11px;font-weight:700}.od-assignment-driver{align-items:center;gap:12px;display:flex}.od-assignment-driver-avatar{color:#475569;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:14px;font-weight:700;display:flex}.od-assignment-phone{color:#94a3b8;align-items:center;gap:4px;margin:0;font-size:12px;display:flex}.od-route-header{justify-content:space-between;align-items:flex-end;display:flex}.od-route-id{color:#293476;margin:0;font-size:18px;font-weight:700}.od-route-stop{color:#64748b;margin:0;font-size:14px}.stops-panel{flex-direction:column;gap:8px;display:flex}.stops-panel-title{color:#293476;margin:0;font-size:14px;font-weight:600}.stops-list{flex-direction:column;gap:4px;display:flex}.stop-item{cursor:grab;background:#fff;border:1px solid #e8e8e8;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;transition:box-shadow .2s,opacity .2s,border-color .2s;display:flex}.stop-item.dragging{opacity:.4}.stop-item.drop-target{border-top:2px solid #293476}.stop-item:active{cursor:grabbing;box-shadow:0 2px 8px #00000026}.stop-index{color:#fff;background:#293476;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:flex}.stop-info{flex-direction:column;flex:1;display:flex}.stop-name{font-size:13px;font-weight:500}.stop-meta{color:#888;font-size:11px}.stop-drag-handle{color:#bbb;cursor:grab;font-size:16px}.vehicles-panel{flex-direction:column;gap:8px;display:flex}.vehicles-panel-title{color:#293476;margin:0;font-size:14px;font-weight:600}.vehicles-list{flex-direction:column;gap:6px;display:flex}.vehicle-card{background:#fff;border:1px solid #e8e8e8;border-radius:6px;padding:10px}.vehicle-card.disabled{opacity:.5}.vehicle-header{justify-content:space-between;align-items:center;display:flex}.vehicle-name{font-size:13px;font-weight:600}.vehicle-plate{color:#666;background:#f5f5f5;border-radius:4px;padding:2px 6px;font-size:11px}.vehicle-status{font-size:11px;font-weight:500}.vehicle-capacity{flex-direction:column;gap:4px;margin-top:8px;display:flex}.capacity-row{align-items:center;gap:6px;display:flex}.capacity-label{color:#666;flex-shrink:0;width:55px;font-size:11px}.capacity-bar{background:#f0f0f0;border-radius:3px;flex:1;height:6px;overflow:hidden}.capacity-fill{border-radius:3px;height:100%;transition:width .3s}.capacity-value{color:#888;text-align:right;flex-shrink:0;width:70px;font-size:10px}.planning-page{gap:16px;height:100%;display:flex}.planning-sidebar{flex-direction:column;flex-shrink:0;gap:16px;width:280px;padding:4px;display:flex;overflow-y:auto}.planning-map-container{flex:1;position:relative}.planning-map{border-radius:8px;width:100%;height:100%;min-height:500px}.routes-panel{flex-direction:column;gap:8px;display:flex}.routes-panel-title{color:#293476;margin:0;font-size:14px;font-weight:600}.routes-list{flex-direction:column;gap:6px;display:flex}.route-item{cursor:pointer;border:1px solid #e8e8e8;border-radius:8px;padding:10px;transition:all .2s}.route-item:hover{background:#f5f7ff;border-color:#293476}.route-item.active{background:#eef1ff;border-color:#293476;box-shadow:0 0 0 2px #29347626}.route-item-header{align-items:center;gap:6px;display:flex}.route-item-label{color:#1f1f1f;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.route-item-meta{color:#666;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.route-item-vehicle{color:#888;align-items:center;gap:4px;margin-top:4px;font-size:11px;display:flex}.alerts-panel{flex-direction:column;gap:8px;display:flex}.alerts-panel-title{color:#293476;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.alerts-badge{color:#fff;background:#cf202e;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.alerts-list{flex-direction:column;gap:4px;max-height:200px;display:flex;overflow-y:auto}.alert-item{cursor:pointer;border-radius:6px;align-items:flex-start;gap:8px;padding:8px;transition:background .2s;display:flex}.alert-item:hover{background:#fff1f0}.alert-item.unread{background:#fff7e6}.alert-item-content{flex-direction:column;gap:2px;min-width:0;display:flex}.alert-item-msg{color:#1f1f1f;font-size:12px;line-height:1.3}.alert-item-time{color:#999;font-size:11px}.route-detail-panel{background:#fff;border:1px solid #e8e8e8;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.rdp-header{justify-content:space-between;align-items:center;display:flex}.rdp-title{color:#293476;margin:0;font-size:14px;font-weight:600}.rdp-close{cursor:pointer;color:#999;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px}.rdp-close:hover{background:#f0f0f0}.rdp-vehicle-info{color:#555;align-items:center;gap:6px;font-size:12px;display:flex}.rdp-stops h5{color:#293476;margin:8px 0 4px;font-size:12px}.rdp-stop{border-bottom:1px solid #f5f5f5;align-items:center;gap:8px;padding:6px 0;display:flex}.rdp-stop-num{color:#fff;background:#293476;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:flex}.rdp-stop.arrived .rdp-stop-num{background:#52c41a}.rdp-stop-info{flex-direction:column;flex:1;min-width:0;display:flex}.rdp-stop-name{font-size:12px;font-weight:500}.rdp-stop-addr{color:#999;font-size:11px}.rdp-camera-btn{color:#293476;cursor:pointer;background:#fff;border:1px solid #293476;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:8px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.rdp-camera-btn:hover{background:#f5f7ff}.rdp-camera-btn.active{color:#fff;background:#293476}.rdp-camera-feed{margin-top:4px}.rdp-camera-placeholder{color:#999;background:#1a1a1a;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:120px;font-size:11px;display:flex}.rdp-camera-live{color:#cf202e;font-size:10px;font-weight:600}.live-page{gap:16px;height:100%;display:flex}.live-sidebar{flex-direction:column;flex-shrink:0;gap:16px;width:300px;padding:4px;display:flex;overflow-y:auto}.live-map-container{flex:1;position:relative}.live-map{border-radius:8px;width:100%;height:100%;min-height:500px}.admin-page{flex-direction:column;gap:24px;display:flex}.admin-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:4px;padding:6px;display:flex}.admin-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.admin-tab:hover{color:#293476;background:#f8fafc}.admin-tab.active{color:#fff;background:#293476}.admin-stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.stat-icon{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon.total{color:#293476;background:#2934761a}.stat-icon.active{color:#059669;background:#ecfdf5}.stat-icon.inactive{color:#475569;background:#f1f5f9}.stat-icon.pending{color:#d97706;background:#fffbeb}.stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}.stat-value{color:#0f172a;margin-top:4px;font-size:24px;font-weight:900;line-height:1}.admin-action-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.admin-search{flex:1;min-width:300px;position:relative}.admin-search input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:8px 16px 8px 40px;font-size:14px;transition:border-color .2s}.admin-search input:focus{border-color:#cf202e}.admin-search .search-icon{color:#94a3b8;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.admin-filters{align-items:center;gap:12px;display:flex}.admin-filters select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;outline:none;padding:8px 16px;font-size:14px}.btn-invite{color:#fff;cursor:pointer;background:#cf202e;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 20px;font-size:14px;font-weight:700;transition:background .2s;display:flex;box-shadow:0 4px 12px #cf202e33}.btn-invite:hover{background:#b91c1c}.admin-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table thead tr{background:#f8fafc;border-bottom:1px solid #e2e8f0}.admin-table th{color:#64748b;text-transform:uppercase;letter-spacing:.1em;padding:14px 20px;font-size:10px;font-weight:700}.admin-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s}.admin-table tbody tr:hover{background:#f8fafc}.admin-table td{padding:14px 20px}.user-cell{align-items:center;gap:12px;display:flex}.user-avatar{color:#94a3b8;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.user-avatar.inactive-row{filter:grayscale();opacity:.6}.user-name{color:#0f172a;font-size:14px;font-weight:700}.user-name.inactive-row{color:#94a3b8}.user-email{color:#64748b;font-size:12px}.role-badge{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.status-cell{align-items:center;gap:8px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.active{background:#10b981}.status-dot.inactive{background:#cbd5e1}.status-dot.pending{background:#f59e0b}.status-text{font-size:14px;font-weight:500}.status-text.active{color:#374151}.status-text.inactive{color:#94a3b8}.status-text.pending{color:#d97706}.status-text.connected{color:#059669}.session-text{color:#64748b;font-size:14px}.session-text.inactive-row{color:#94a3b8}.btn-actions{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:color .2s}.btn-actions:hover{color:#cf202e}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:800px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px #00000040}.modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:#293476;text-transform:uppercase;margin:0;font-size:18px;font-weight:700}.modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;transition:color .2s}.modal-close:hover{color:#cf202e}.modal-body{flex:1;padding:32px;overflow-y:auto}.modal-form-top{align-items:flex-start;gap:32px;margin-bottom:32px;display:flex}.photo-upload{color:#94a3b8;cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:128px;height:128px;transition:all .2s;display:flex}.photo-upload:hover{color:#cf202e;border-color:#cf202e}.photo-upload span.icon{font-size:36px}.photo-upload span.label{text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700}.modal-fields{flex:1;grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-fields .full-width{grid-column:1/-1}.field-label{color:#64748b;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.field-input{appearance:none;color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.field-input:focus{border-color:#cf202e}select.field-input{cursor:pointer;appearance:none;background-color:#f8fafc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%2364748b'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;height:auto;padding-right:36px;line-height:1.5}.modal-body select,.modal-body input{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.modal-body select{appearance:none;cursor:pointer;background-color:#f8fafc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%2364748b'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.modal-body select:focus,.modal-body input:focus{border-color:#cf202e}.role-section-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:12px;margin-bottom:16px;font-size:11px;font-weight:900;display:flex}.role-section-title:after{content:"";background:#f1f5f9;flex:1;height:1px}.role-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px;display:grid}.role-card{cursor:pointer;background:#f8fafc;border:2px solid #f1f5f9;border-radius:12px;flex-direction:column;padding:16px;transition:all .2s;display:flex}.role-card:hover{border-color:#e2e8f0}.role-card.selected-admin{background:#fef2f2;border-color:#ef4444}.role-card.selected-gestor_logistica{background:#eff6ff;border-color:#3b82f6}.role-card.selected-conductor{background:#ecfdf5;border-color:#10b981}.role-card.selected-auditor{background:#0f172a;border-color:#0f172a}.role-card.selected-auditor .role-card-icon,.role-card.selected-auditor .role-card-name{color:#fff}.role-card.selected-auditor .role-card-desc{color:#94a3b8}.role-card-icon{margin-bottom:8px;font-size:24px}.role-card-icon.admin{color:#ef4444}.role-card-icon.gestor_logistica{color:#3b82f6}.role-card-icon.conductor{color:#10b981}.role-card-icon.auditor{color:#64748b}.role-card-name{color:#0f172a;text-transform:uppercase;font-size:10px;font-weight:900}.role-card-desc{color:#94a3b8;margin-top:4px;font-size:9px;line-height:1.3}.modal-bottom-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.permissions-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:11px;font-weight:900}.permission-item{cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;display:flex}.permission-item input[type=checkbox]{accent-color:#cf202e;cursor:pointer;width:16px;height:16px}.permission-item span{color:#374151;font-size:14px}.toggle-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:16px;justify-content:space-between;align-items:center;padding:20px;display:flex}.toggle-info p:first-child{color:#0f172a;margin:0;font-size:14px;font-weight:700}.toggle-info p:last-child{color:#64748b;margin:4px 0 0;font-size:10px}.toggle-switch{cursor:pointer;background:#cbd5e1;border-radius:12px;width:44px;height:24px;transition:background .2s;position:relative}.toggle-switch.on{background:#10b981}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:4px;left:4px;box-shadow:0 1px 3px #0000001a}.toggle-switch.on:after{transform:translate(20px)}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.btn-cancel{color:#64748b;cursor:pointer;background:0 0;border:none;padding:8px 24px;font-size:14px;font-weight:700;transition:color .2s}.btn-cancel:hover{color:#0f172a}.btn-submit{color:#fff;cursor:pointer;background:#cf202e;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:700;transition:background .2s;display:flex;box-shadow:0 4px 12px #cf202e33}.btn-submit:hover{background:#b91c1c}
