html{background:#f4f6f8}html,body,#root{width:100%;min-height:100%;margin:0}*{box-sizing:border-box}:root{color:#182033;background:#f4f6f8;font-family:Arial,Helvetica,sans-serif}body{background:#f4f6f8;min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.header{color:#fff;background:linear-gradient(120deg,#481018,#8d1527);justify-content:space-between;align-items:center;gap:24px;padding:28px max(24px,5vw);display:flex}.header h1{margin:5px 0;font-size:32px}.header p{color:#f3d9de;margin:0}.eyebrow{color:#efbdc5;letter-spacing:1px;font-size:12px;font-weight:700}.container{max-width:1250px;margin:0 auto;padding:24px}.btn{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-weight:700;display:inline-flex}.btn-light{color:#681522;background:#fff}.btn-primary{color:#fff;background:#821525}.btn-secondary{color:#293244;background:#fff;border:1px solid #d5d9df}.metrics{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric{background:#fff;border-radius:15px;align-items:center;gap:13px;padding:17px;display:flex;box-shadow:0 2px 10px #0000000f}.metric-icon{color:#8d1527;background:#fff0f2;border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.metric span{color:#6c7685;font-size:13px;display:block}.metric strong{margin-top:2px;font-size:23px;display:block}.tabs{gap:5px;margin:23px 0 17px;display:flex}.tab{color:#515c6c;background:#e5e8ec;border:0;border-radius:9px;padding:10px 17px}.tab.active{color:#fff;background:#7d1424}.card{background:#fff;border-radius:15px;margin-bottom:18px;padding:21px;box-shadow:0 2px 10px #0000000f}.card h2{margin-top:0}.form{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.form label{color:#515b6a;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.form input,.form select{background:#fff;border:1px solid #d4d9e0;border-radius:9px;outline:none;width:100%;padding:10px}.form input:focus,.form select:focus{border-color:#8d1527;box-shadow:0 0 0 3px #8d15271a}.form-action{grid-column:1/-1}.table-wrap{padding:0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{text-align:left;background:#eef1f4;padding:13px;font-size:13px}td{border-top:1px solid #e8ebef;padding:13px;font-size:14px}.priority{border-radius:20px;padding:5px 9px;font-size:12px;font-weight:700}.priority.alta{color:#98152b;background:#ffe0e5}.priority.media{color:#7b5c00;background:#fff2c6}.priority.baja{color:#27643a;background:#def2e4}.delete{color:#8d1527;background:0 0;border:0;padding:5px}.vehicle-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.vehicle-card{background:#fff;border-radius:15px;padding:22px;box-shadow:0 2px 10px #0000000f}.vehicle-card svg{color:#8d1527}.vehicle-card h2{margin-bottom:4px}.vehicle-card p{color:#5e6877;margin:8px 0}.route-card{background:#fff;border-radius:15px;margin-bottom:18px;overflow:hidden;box-shadow:0 2px 10px #0000000f}.route-header{border-bottom:1px solid #e8ebef;justify-content:space-between;align-items:center;gap:15px;padding:20px;display:flex}.route-header h2,.route-header p{margin:0}.route-header p{color:#687282;margin-top:4px}.occupancy{background:#edf0f3;border-radius:20px;padding:7px 11px;font-size:13px}.stop{border-bottom:1px solid #eceef1;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:15px 20px;display:grid}.stop-number{color:#fff;background:#821525;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.stop p{color:#6c7685;margin:4px 0 0;font-size:13px}.export{justify-content:flex-end;margin-bottom:14px;display:flex}.empty{color:#667181;text-align:center;padding:50px}.empty svg{color:#8d1527}footer{color:#818996;text-align:center;padding:22px;font-size:12px}@media (width<=900px){.header{flex-direction:column;align-items:flex-start}.metrics,.form{grid-template-columns:repeat(2,1fr)}.vehicle-grid{grid-template-columns:1fr}}@media (width<=520px){.header h1{font-size:25px}.container{padding:15px}.form{grid-template-columns:1fr}.tabs{overflow-x:auto}.route-header,.stop{align-items:flex-start}.route-header{flex-direction:column}.stop{grid-template-columns:38px 1fr}.stop>strong{grid-column:2}}.vehicle-admin{flex-direction:column;gap:18px;display:flex}.transport-table{border-radius:0 0 15px 15px;margin:0 -21px -21px}.section-title-row{justify-content:space-between;align-items:end;gap:15px;margin:5px 0 12px;display:flex}.section-title-row h2{margin:0}.section-title-row p{color:#6c7685;margin:4px 0 0;font-size:13px}.vehicle-head{justify-content:space-between;align-items:center;display:flex}.vehicle-card hr{border:0;border-top:1px solid #e3e6ea;margin:14px 0}.excel-help{color:#6c7685;margin:0 0 18px;font-size:14px}.excel-selector{grid-template-columns:minmax(260px,1fr) 1fr auto;align-items:end;gap:15px;display:grid}.excel-file{color:#515b6a;flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}.excel-file input{background:#fff;border:1px solid #d4d9e0;border-radius:9px;padding:9px}.excel-selected{background:#f7f8fa;border:1px solid #e1e4e8;border-radius:9px;flex-direction:column;justify-content:center;min-height:42px;padding:9px 12px;display:flex}.excel-selected span{color:#737d8b;font-size:12px}.excel-error{color:#941b2c;background:#ffe7ea;border-radius:9px;margin-top:15px;padding:12px}.excel-result{border-top:1px solid #e3e6ea;margin-top:24px;padding-top:20px}.excel-result h3{margin:0 0 15px}.excel-summary{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px;display:grid}.excel-summary>div{background:#f3f5f7;border-radius:10px;padding:13px}.excel-summary span{color:#697382;font-size:12px;display:block}.excel-summary strong{margin-top:3px;font-size:21px;display:block}.summary-ok{background:#e5f5e9!important}.summary-warning{background:#fff4d5!important}.summary-error{background:#ffe5e8!important}.summary-duplicate{background:#eee9ff!important}.validation-status{border-radius:15px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-block}.validation-status.valido{color:#27643a;background:#def2e4}.validation-status.advertencia{color:#755800;background:#fff1c2}.validation-status.error{color:#941b2c;background:#ffe1e5}.validation-status.duplicado{color:#5d3c9c;background:#eae2ff}.validation-message{margin-top:5px;font-size:11px}.validation-message.error{color:#941b2c}.validation-message.warning{color:#806100}.excel-detail{max-height:520px;overflow:auto}.excel-note{color:#6c7685;margin:14px 0 0;font-size:12px}@media (width<=900px){.excel-selector{grid-template-columns:1fr}.excel-summary{grid-template-columns:repeat(2,1fr)}}.excel-actions{justify-content:flex-end;margin-top:18px;display:flex}.import-result{color:#225c35;background:#e5f5e9;border-radius:10px;flex-wrap:wrap;align-items:center;gap:18px;margin-top:14px;padding:13px 15px;display:flex}.import-result strong{margin-right:auto}.tabs{display:none!important}:root{--sidebar:#11133f;--sidebar-hover:#222657;--tacama:#821525;--tacama-dark:#64101d;--action:#ed7317;--workspace:#f6f7f9;--surface:#fff;--text-main:#313640;--text-muted:#747b87;--line:#e4e6ea}body{background:var(--workspace)}.app{background:var(--workspace);min-height:100vh}.sidebar{background:var(--sidebar);color:#fff;z-index:100;flex-direction:column;width:230px;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;min-height:78px;padding:16px 18px;display:flex}.brand-mark{width:42px;height:42px;color:var(--tacama);background:#fff;border-radius:11px;place-items:center;font-size:21px;font-weight:800;display:grid}.brand-text{flex-direction:column;display:flex}.brand-text strong{letter-spacing:1px;font-size:17px}.brand-text span{color:#aeb2d0;font-size:11px}.sidebar-nav{flex-direction:column;padding:17px 0;display:flex}.sidebar-item{color:#d9daea;text-align:left;background:0 0;border:0;border-left:4px solid #0000;align-items:center;gap:13px;width:100%;min-height:50px;padding:0 18px;display:flex}.sidebar-item:hover{background:var(--sidebar-hover)}.sidebar-item.active{color:#fff;background:var(--tacama);border-left-color:#f09a52}.sidebar-item span{font-size:14px}.app-shell{min-height:100vh;margin-left:230px}.topbar{border-bottom:1px solid var(--line);z-index:50;background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 30px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:17px;display:flex}.topbar-left>div{flex-direction:column;display:flex}.topbar-left strong{color:var(--text-main);font-size:17px}.topbar-left span{color:var(--text-muted);margin-top:2px;font-size:11px}.topbar-actions{gap:7px;display:flex}.topbar-actions button{color:#444a55;background:0 0;border:0;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.topbar-actions button:hover{background:#f0f1f3}.user-button{color:var(--tacama)!important}.main-workspace{max-width:1500px;margin:0 auto;padding:30px}.page-content{width:100%}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;display:flex}.page-heading h1{color:var(--text-main);margin:5px 0;font-size:29px;font-weight:500}.page-heading p{color:var(--text-muted);margin:0}.page-eyebrow{color:var(--tacama);letter-spacing:1px;font-size:11px;font-weight:700}.action-orange{background:var(--action);color:#fff;border:0;border-radius:3px;align-items:center;gap:8px;padding:12px 18px;font-weight:600;display:inline-flex}.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:23px;display:grid}.dashboard-metric{border:1px solid var(--line);background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:150px;display:flex;box-shadow:0 2px 8px #0000000f}.dashboard-metric strong{color:#40444b;font-size:48px;font-weight:400}.dashboard-metric span{color:#555b65;margin-top:8px;font-size:16px}.dashboard-metric.success strong{color:#4da64d}.dashboard-metric.warning strong{color:#e39a19}.dashboard-metric.blue strong{color:#385d9e}.dashboard-panels{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.dashboard-panel{border:1px solid var(--line);background:#fff;padding:20px;box-shadow:0 2px 8px #0000000d}.panel-heading{color:var(--sidebar);align-items:center;gap:11px;display:flex}.panel-heading h2{color:var(--text-main);margin:0;font-size:16px}.panel-heading span{color:var(--text-muted);font-size:11px}.dashboard-big-number{color:var(--tacama);padding:25px 0 15px;font-size:43px}.warning-number{color:#e39a19}.text-action{color:var(--tacama);background:0 0;border:0;padding:0;font-weight:600}@media (width<=1000px){.sidebar{width:72px}.brand-text,.sidebar-item span{display:none}.sidebar-brand{justify-content:center;padding:15px}.sidebar-item{justify-content:center;padding:0}.app-shell{margin-left:72px}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.main-workspace{padding:15px}.dashboard-grid,.dashboard-panels{grid-template-columns:1fr}.page-heading{flex-direction:column}}.new-footer{color:#9298a3;text-align:center;background:0 0;margin-left:0;padding:16px 30px 25px;font-size:11px}.login-page{background:linear-gradient(135deg,#11133f 0%,#261443 55%,#821525 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;background:#fff;border-radius:18px;width:min(440px,100%);padding:48px 42px;box-shadow:0 25px 70px #00000040}.login-logo{color:#fff;background:#821525;border-radius:16px;place-items:center;width:66px;height:66px;margin:0 auto 18px;font-size:32px;font-weight:800;display:grid}.login-card h1{color:#11133f;letter-spacing:3px;margin:0}.login-card h2{color:#343944;margin:8px 0 0;font-size:20px}.login-card p{color:#747b87;margin:24px 0 30px;line-height:1.6}.login-microsoft{color:#fff;cursor:pointer;background:#821525;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;font-weight:700;display:flex}.login-microsoft:hover{background:#64101d}
