:root{--primary:#635bff;--primary2:#8b5cf6;--ink:#172033;--muted:#6e7891;--bg:#f5f7fb;--card:#fff;--line:#e8ebf2;--green:#15b87a;--orange:#ff9f43;--blue:#2f80ed}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:#111827;color:#fff;flex-direction:column;padding:26px 20px;z-index:30}.brand{display:flex;align-items:center;gap:11px;color:inherit}.brand-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#9d67ff);color:#fff;font-size:22px;box-shadow:0 10px 28px #635bff55}.brand strong{font-size:21px;display:block;line-height:1}.brand small{color:#aeb7ca;font-weight:700;letter-spacing:2px}.sidebar .nav-link{color:#aeb7ca;border-radius:14px;padding:13px 14px;margin:3px 0;display:flex;align-items:center;gap:12px;font-weight:650}.sidebar .nav-link i{font-size:18px}.sidebar .nav-link span{font-size:9px;margin-left:auto;background:#303a50;padding:3px 6px;border-radius:20px}.sidebar .nav-link.active,.sidebar .nav-link:hover{background:#252e42;color:#fff}.sidebar-footer{margin-top:auto}.user-mini{display:flex;gap:10px;align-items:center}.user-mini strong,.user-mini small{display:block}.user-mini small{color:#8f99ae;font-size:11px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#ff9f43,#ff6b6b);display:grid;place-items:center;color:#fff;font-weight:800}.btn-soft{background:#1d2638;color:#cad1df;border:none}.main-content{margin-left:255px;min-height:100vh}.topbar{padding:28px 36px 18px;display:flex;align-items:center;justify-content:space-between}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#8c96aa}.page-title{font-size:28px;font-weight:850}.top-actions{display:flex;align-items:center;gap:12px}.content-wrap{padding:0 36px 38px}.hero-card{position:relative;overflow:hidden;background:linear-gradient(120deg,#5d55f3,#825cf6 52%,#b15de7);border-radius:28px;padding:36px;color:#fff;min-height:245px;display:flex;align-items:center}.hero-card>div:first-child{max-width:680px;z-index:2}.hero-card h2{font-size:32px;font-weight:850;margin:14px 0 10px}.hero-card p{color:#eeeaff;max-width:600px}.hero-badge{background:#ffffff1e;border:1px solid #ffffff33;padding:8px 12px;border-radius:30px;font-size:12px}.hero-car{position:absolute;right:6%;font-size:160px;color:#ffffff18;transform:rotate(-8deg)}.metric-card,.panel-card,.vehicle-card,.form-card,.odometer-card{background:#fff;border:1px solid #edf0f5;box-shadow:0 12px 35px #26365d0b;border-radius:22px}.metric-card{padding:20px;min-height:160px}.metric-card span,.metric-card small{display:block;color:var(--muted)}.metric-card strong{display:block;font-size:25px;margin-top:12px}.metric-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;margin-bottom:12px;font-size:20px}.purple .metric-icon{background:#efeefe;color:var(--primary)}.blue .metric-icon{background:#e9f3ff;color:var(--blue)}.orange .metric-icon{background:#fff2e4;color:#f28b24}.green .metric-icon{background:#e8f9f2;color:var(--green)}.panel-card{padding:24px}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-header h3{margin:2px 0 0;font-size:20px;font-weight:800}.panel-header a{font-size:13px;text-decoration:none;font-weight:700}.vehicle-mini-grid{display:grid;gap:10px}.vehicle-mini{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;text-decoration:none;color:inherit;background:#fafbfe}.vehicle-icon{width:46px;height:46px;border-radius:14px;background:#eff0ff;color:var(--primary);display:grid;place-items:center;font-size:20px}.vehicle-mini strong,.vehicle-mini small{display:block}.vehicle-mini small{color:var(--muted);font-size:12px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--green);margin-left:auto}.activity-item{display:flex;gap:12px;margin:17px 0}.activity-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#e8f9f2;color:var(--green);display:grid;place-items:center}.activity-icon.amber{background:#fff2e4;color:#f28b24}.activity-item strong,.activity-item small{display:block}.activity-item small{color:var(--muted);font-size:12px;margin-top:3px}.empty-state{text-align:center;padding:45px}.empty-state>i{font-size:55px;color:#c8cede}.section-title{font-weight:850}.vehicle-card{padding:22px}.vehicle-card-top{display:flex;justify-content:space-between}.vehicle-big-icon{width:62px;height:62px;border-radius:19px;background:linear-gradient(135deg,#ebeaff,#f5efff);display:grid;place-items:center;color:var(--primary);font-size:28px}.health-badge{height:max-content;background:#e8f9f2;color:#0e9f68;font-size:11px;font-weight:800;border-radius:20px;padding:6px 9px}.vehicle-card h3{font-size:21px;font-weight:850;margin:18px 0 2px}.vehicle-card p{color:var(--muted);font-size:13px}.plate{display:inline-block;background:#172033;color:#fff;border-radius:8px;padding:5px 11px;font-family:monospace;letter-spacing:2px;font-weight:700}.vehicle-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:18px 0}.vehicle-stats small,.vehicle-stats strong{display:block}.vehicle-stats small{color:var(--muted);font-size:11px}.vehicle-actions{display:flex;gap:8px}.vehicle-actions .btn{border-radius:12px}.form-card,.odometer-card{padding:30px}.form-card-header{display:flex;gap:16px;align-items:center;margin-bottom:26px}.form-card-header h2{font-weight:850;margin:2px 0}.form-card-header p{margin:0;color:var(--muted)}.form-control,.form-select{min-height:48px;border-radius:13px;border-color:#e3e7ef;padding:10px 14px}.form-control:focus,.form-select:focus{border-color:#aba7ff;box-shadow:0 0 0 .2rem #635bff18}.form-label{font-size:12px;font-weight:750;color:#59647b}.odometer-display{margin:24px auto 10px;background:#111827;color:#fff;border-radius:22px;padding:24px;max-width:420px}.odometer-display small{display:block;color:#8c96aa;font-weight:800;letter-spacing:1.5px}.odometer-display strong{font-size:48px;letter-spacing:1px}.odometer-display span{font-weight:700;color:#9ba6ba}.km-input{position:relative}.km-input input{font-size:24px;font-weight:800;padding-right:60px}.km-input span{position:absolute;right:18px;top:13px;font-weight:700;color:var(--muted)}.mobile-nav{position:fixed;z-index:50;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e7eaf1;height:72px;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;color:#8a93a6;font-size:10px;gap:3px}.mobile-nav i{font-size:20px}.mobile-nav a.active{color:var(--primary)}.login-body{background:#fff}.login-grid{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-visual{position:relative;overflow:hidden;padding:38px 52px;background:linear-gradient(145deg,#131727,#22285a 45%,#635bff);color:#fff}.brand-login{position:relative;z-index:3}.visual-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:#a855f7;filter:blur(130px);opacity:.3;right:-160px;bottom:-140px}.visual-copy{position:absolute;left:9%;right:9%;top:50%;transform:translateY(-46%);max-width:720px}.pill{display:inline-flex;gap:8px;background:#ffffff18;border:1px solid #ffffff2e;border-radius:30px;padding:8px 13px;font-size:12px}.visual-copy h1{font-size:clamp(42px,5vw,75px);font-weight:900;line-height:1.03;margin:20px 0}.visual-copy h1 span{color:#c4b5fd}.visual-copy p{font-size:17px;max-width:630px;color:#cfd4e4}.feature-row{display:flex;gap:12px;margin-top:30px}.feature-row div{background:#ffffff0d;border:1px solid #ffffff19;border-radius:15px;padding:12px 16px;display:flex;gap:9px;align-items:center}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(430px,100%)}.login-kicker{color:var(--primary);font-weight:850;font-size:12px;letter-spacing:1.5px}.login-card h2{font-size:36px;font-weight:900;margin:6px 0}.input-icon{position:relative}.input-icon i{position:absolute;left:15px;top:15px;color:#8b95a9}.input-icon input{padding-left:43px}.demo-box{background:#f6f4ff;border:1px dashed #c7c3ff;padding:12px 14px;border-radius:14px}.demo-box strong,.demo-box small{display:block}.demo-box small{color:#626d83}@media(max-width:991.98px){.main-content{margin-left:0}.topbar{padding:20px 18px 12px}.content-wrap{padding:0 16px 95px}.page-title{font-size:23px}.hero-card{padding:26px;min-height:230px}.hero-card h2{font-size:27px}.hero-car{font-size:110px;right:-15px}.login-grid{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;background:linear-gradient(180deg,#f4f2ff,#fff 44%)}.form-card,.odometer-card{padding:20px}}@media(max-width:575px){.metric-card{min-height:145px;padding:16px}.metric-card strong{font-size:20px}.vehicle-stats{grid-template-columns:1fr}.vehicle-stats>div+div{margin-top:10px}.form-card-header{align-items:flex-start}.feature-row{flex-wrap:wrap}.odometer-display strong{font-size:40px}}

/* MAKCar 360° · Fase 2 */
:root{--primary:#f52237;--primary2:#ff5a5f;--danger:#e11d48;--warning:#f59e0b;--success:#10b981}
.brand-logo{width:46px;height:46px;border-radius:14px;object-fit:cover;box-shadow:0 8px 22px rgba(245,34,55,.25)}
.login-visual{background:linear-gradient(145deg,#161923,#2a2023 45%,#f52237)}
.visual-copy h1 span{color:#ff8f99}.visual-glow{background:#ff3148}
.hero-card{background:linear-gradient(120deg,#e51d35,#f52237 48%,#ff6b4a)}
.btn-primary{--bs-btn-bg:#f52237;--bs-btn-border-color:#f52237;--bs-btn-hover-bg:#d91d31;--bs-btn-hover-border-color:#d91d31;--bs-btn-active-bg:#c9172b;--bs-btn-active-border-color:#c9172b}
.vehicle-switcher{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:18px 22px;box-shadow:0 10px 28px #26365d0b}.vehicle-switcher h3{font-size:20px;font-weight:850;margin:3px 0}.vehicle-switcher small{color:var(--muted)}.vehicle-switcher form{min-width:280px}
.status-summary{background:#fff;border-radius:20px;padding:18px;text-align:center;border:1px solid #edf0f5;box-shadow:0 10px 28px #26365d0b}.status-summary strong{display:block;font-size:29px;font-weight:900}.status-summary span{font-size:12px;font-weight:800;color:var(--muted)}.status-summary.danger strong{color:#e11d48}.status-summary.warning strong{color:#f59e0b}.status-summary.success strong{color:#10b981}
.maintenance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.maintenance-card{background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:22px;box-shadow:0 12px 35px #26365d0b;position:relative;overflow:hidden}.maintenance-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px}.maintenance-card.overdue:before{background:#e11d48}.maintenance-card.near:before{background:#f59e0b}.maintenance-card.ok:before{background:#10b981}.maintenance-card-head{display:flex;justify-content:space-between;align-items:center}.maintenance-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:#fff0f2;color:#f52237;font-size:23px}.maintenance-icon.sm{width:40px;height:40px;border-radius:13px;font-size:18px;flex:0 0 40px}.status-pill{display:inline-flex;border-radius:30px;padding:5px 10px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.status-pill.danger{background:#ffe9ee;color:#d8173d}.status-pill.warning{background:#fff4dc;color:#b86d00}.status-pill.success{background:#e8faf3;color:#087f58}.category-label{display:block;color:#9aa3b5;font-size:10px;font-weight:850;letter-spacing:1px;margin-top:17px}.maintenance-card h3{font-weight:850;font-size:20px;margin:3px 0 16px}.maintenance-progress-info{display:grid;gap:10px}.maintenance-progress-info>div{background:#f8f9fc;border-radius:14px;padding:12px}.maintenance-progress-info span,.maintenance-progress-info small,.history-table small{display:block;color:var(--muted);font-size:11px}.maintenance-progress-info strong{display:block;font-size:15px}.maintenance-card-actions{margin-top:17px}.maintenance-card-actions .btn{width:100%}
.maintenance-accordion .accordion-item{border:0;border-radius:18px!important;margin-bottom:12px;overflow:hidden;box-shadow:0 8px 24px #26365d0b}.maintenance-accordion .accordion-button{padding:16px 18px;background:#fff}.maintenance-accordion .accordion-button:not(.collapsed){color:var(--ink);background:#fff7f8;box-shadow:none}.maintenance-accordion .accordion-button strong,.maintenance-accordion .accordion-button small{display:block}.maintenance-accordion .accordion-button small{color:var(--muted);font-size:11px;margin-top:2px}.plan-on{font-size:9px;font-weight:900;background:#e8faf3;color:#087f58;padding:5px 8px;border-radius:20px}.form-switch .form-check-input:checked{background-color:#f52237;border-color:#f52237}
.alerts-hero{position:relative;overflow:hidden;border-radius:26px;padding:30px 34px;color:#fff;background:linear-gradient(120deg,#1f2937,#3f1d25 50%,#f52237);display:flex;align-items:center;justify-content:space-between}.alerts-hero h2{font-weight:900;margin:13px 0 7px}.alerts-hero p{margin:0;color:#f4dce0}.alerts-hero>i{font-size:110px;opacity:.12;margin-right:4%}.alert-list{display:grid;gap:12px}.alert-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;background:#fff;padding:17px 20px;border-radius:19px;border:1px solid #edf0f5;box-shadow:0 9px 26px #26365d0b}.alert-row.overdue{border-left:5px solid #e11d48}.alert-row.near{border-left:5px solid #f59e0b}.alert-service-icon{width:48px;height:48px;border-radius:15px;background:#fff0f2;color:#f52237;display:grid;place-items:center;font-size:20px}.alert-main h3{font-size:17px;font-weight:850;margin:4px 0 0}.alert-main p{font-size:12px;color:var(--muted);margin:0}.alert-detail{text-align:right}.alert-detail strong,.alert-detail small{display:block}.alert-detail small{color:var(--muted);font-size:11px}.history-table th{font-size:11px;color:#8b95a9;text-transform:uppercase;letter-spacing:.5px;border-bottom-color:#edf0f5}.history-table td{padding-top:14px;padding-bottom:14px;border-bottom-color:#f0f2f6}
@media(max-width:1199.98px){.maintenance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.maintenance-grid{grid-template-columns:1fr}.vehicle-switcher{align-items:flex-start;flex-direction:column}.vehicle-switcher form{min-width:0;width:100%}.alert-row{grid-template-columns:auto 1fr}.alert-detail{grid-column:2;text-align:left}.alert-row>.btn{grid-column:1/-1}.alerts-hero>i{display:none}}

/* MAKCar 360° · Fase 3 */
.status-summary.fuel strong{color:#2563eb}.status-summary small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.efficiency-chip{display:inline-flex;align-items:center;gap:5px;background:#eaf8f2;color:#087f58;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:800}.fuel-full-switch{padding:11px 14px 11px 48px;background:#f8f9fc;border-radius:15px;width:100%}.fuel-full-switch label strong,.fuel-full-switch label small{display:block}.fuel-full-switch label small{font-size:10px;color:var(--muted)}.fuel-preview{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:17px;background:linear-gradient(120deg,#172033,#2b3448);color:#fff}.fuel-preview>i{font-size:26px;color:#ff8c98}.fuel-preview small,.fuel-preview strong{display:block}.fuel-preview small{color:#aeb7ca}.fuel-preview strong{font-size:22px}.finance-card{border-radius:22px;padding:22px;min-height:140px;color:#fff;box-shadow:0 12px 30px #26365d15}.finance-card span,.finance-card small,.finance-card strong{display:block}.finance-card span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;opacity:.8}.finance-card strong{font-size:27px;margin:13px 0 2px;font-weight:900}.finance-card small{opacity:.75}.finance-card.red{background:linear-gradient(135deg,#f52237,#ff6548)}.finance-card.dark{background:linear-gradient(135deg,#172033,#374151)}.finance-card.amber{background:linear-gradient(135deg,#f59e0b,#fb7185)}.category-chip{display:inline-flex;align-items:center;gap:7px;background:#f7f8fc;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:750}.analytics-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#111827,#243047 55%,#f52237);border-radius:28px;padding:32px 36px;color:#fff}.analytics-hero>div{position:relative;z-index:2;max-width:650px}.analytics-hero h2{font-weight:900;font-size:30px;margin:15px 0 8px}.analytics-hero p{color:#d5dae4}.analytics-hero>i{position:absolute;right:6%;top:20px;font-size:145px;opacity:.1}.chart-wrap{height:360px}.chart-wrap.small{height:300px}.empty-state.compact{padding:35px 20px}.empty-state.compact>i{font-size:42px}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.insight-grid>div{padding:18px;background:#f8f9fc;border-radius:18px}.insight-grid i{font-size:23px;color:#f52237}.insight-grid strong{display:block;margin:10px 0 4px}.insight-grid p{margin:0;color:var(--muted);font-size:12px}.fuel-gauge{text-align:center;padding:8px 0 20px}.fuel-gauge i{display:block;font-size:45px;color:#f52237}.fuel-gauge strong{display:block;font-size:34px;font-weight:900;margin:5px}.fuel-gauge span{font-size:11px;color:var(--muted)}.cost-breakdown{border-top:1px solid var(--line);padding-top:13px}.cost-breakdown>div{display:flex;justify-content:space-between;padding:8px 0;font-size:12px}.cost-breakdown span{color:var(--muted)}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.quick-actions>a{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #edf0f5;border-radius:19px;padding:17px;text-decoration:none;color:inherit;box-shadow:0 8px 24px #26365d08}.quick-actions>a>i{width:43px;height:43px;border-radius:14px;background:#fff0f2;color:#f52237;display:grid;place-items:center;font-size:19px}.quick-actions strong,.quick-actions small{display:block}.quick-actions small{font-size:10px;color:var(--muted)}
@media(max-width:991.98px){.quick-actions{grid-template-columns:repeat(2,1fr)}.insight-grid{grid-template-columns:1fr}.chart-wrap{height:310px}}
@media(max-width:575.98px){.quick-actions{grid-template-columns:1fr 1fr}.quick-actions>a{padding:12px;gap:9px}.quick-actions>a>i{width:38px;height:38px}.analytics-hero{padding:26px 22px}.analytics-hero h2{font-size:25px}.finance-card{min-height:125px}.chart-wrap{height:280px}}


/* Fase 4: repuestos y componentes */
.component-stat{background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:18px;box-shadow:0 8px 24px #26365d08;min-height:125px}.component-stat>i{font-size:24px;color:#f52237}.component-stat span,.component-stat strong,.component-stat small{display:block}.component-stat span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;margin-top:10px}.component-stat strong{font-size:29px;font-weight:900}.component-stat.warning>i{color:#f59e0b}.component-stat.danger>i{color:#dc3545}.component-stat.info>i{color:#0dcaf0}.component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.component-card{background:#fff;border:1px solid #edf0f5;border-radius:24px;padding:20px;box-shadow:0 10px 28px #26365d0b}.component-head{display:flex;align-items:flex-start;gap:13px}.component-head h4{font-size:17px;font-weight:900;margin:1px 0}.component-head span:not(.badge),.component-head small{display:block;color:var(--muted);font-size:10px}.component-icon{width:48px;height:48px;flex:none;border-radius:15px;background:#fff0f2;color:#f52237;display:grid;place-items:center;font-size:21px}.component-data{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.component-data>div{background:#f8f9fc;border-radius:15px;padding:12px}.component-data small,.component-data strong,.component-data span{display:block}.component-data small{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}.component-data strong{font-size:13px;margin-top:3px}.component-data span{font-size:10px;color:var(--muted)}.component-alert{display:flex;gap:9px;align-items:center;border-radius:13px;padding:10px 12px;font-size:11px;font-weight:700;margin-bottom:15px}.component-alert.danger{background:#fff0f1;color:#bd1e2d}.component-alert.warning{background:#fff8e6;color:#9a6500}.component-alert.info{background:#eafbff;color:#08758a}.component-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px}.life-box{background:linear-gradient(135deg,#fff7f8,#f7f8fc);border:1px solid #f4e5e8;border-radius:20px;padding:20px}.life-box h5{font-size:14px;font-weight:900;margin-bottom:15px}.vehicle-switcher{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #edf0f5;border-radius:20px;padding:14px 18px}.vehicle-switcher small,.vehicle-switcher strong,.vehicle-switcher span{display:block}.vehicle-switcher small,.vehicle-switcher span{font-size:10px;color:var(--muted)}.vehicle-switcher strong{font-size:14px}.vehicle-switcher .form-select{max-width:360px}
@media(max-width:991.98px){.component-grid{grid-template-columns:1fr}.vehicle-switcher{align-items:stretch;flex-direction:column}.vehicle-switcher .form-select{max-width:none}}@media(max-width:575.98px){.component-data{grid-template-columns:1fr}.component-actions{flex-direction:column}.component-actions .btn{width:100%}}


/* Fase 5: documentos y vencimientos */
.documents-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#172033,#334155 52%,#f52237);border-radius:28px;padding:30px 34px;color:#fff;display:flex;justify-content:space-between;align-items:center}.documents-hero h2{font-size:28px;font-weight:900;margin:14px 0 8px}.documents-hero p{max-width:700px;color:#dce2eb;margin:0}.documents-hero>i{font-size:120px;opacity:.12;margin-right:4%}.document-stat{background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:18px;box-shadow:0 8px 24px #26365d08;min-height:125px}.document-stat>i{font-size:24px;color:#64748b}.document-stat.success>i{color:#10b981}.document-stat.warning>i{color:#f59e0b}.document-stat.danger>i{color:#ef4444}.document-stat span,.document-stat strong{display:block}.document-stat span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;margin-top:10px}.document-stat strong{font-size:29px;font-weight:900}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.document-card{background:#fff;border:1px solid #edf0f5;border-radius:24px;padding:20px;box-shadow:0 10px 28px #26365d0b}.document-head{display:flex;gap:13px;align-items:flex-start}.document-icon{width:48px;height:48px;flex:none;border-radius:15px;background:#fff0f2;color:#f52237;display:grid;place-items:center;font-size:21px}.document-head h4{font-size:17px;font-weight:900;margin:2px 0}.document-head small,.document-head span:not(.badge){display:block;color:var(--muted);font-size:10px}.document-data{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.document-data>div{background:#f8f9fc;border-radius:15px;padding:12px}.document-data small,.document-data strong{display:block}.document-data small{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}.document-data strong{font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.document-alert{display:flex;gap:9px;align-items:center;border-radius:13px;padding:10px 12px;font-size:11px;font-weight:800;margin-bottom:15px}.document-alert.warning{background:#fff8e6;color:#9a6500}.document-alert.danger{background:#fff0f1;color:#bd1e2d}.document-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px;flex-wrap:wrap}.upload-box{background:linear-gradient(135deg,#fff7f8,#f8fafc);border:1px dashed #e5aab3;border-radius:20px;padding:18px}.upload-box>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;margin-bottom:13px}.upload-box i{font-size:25px;color:#f52237;grid-row:1/3}.upload-box strong,.upload-box small{display:block}.upload-box small{font-size:10px;color:var(--muted)}.current-file{margin-top:12px;background:#fff;border-radius:13px;padding:10px 12px;display:flex;align-items:center;gap:8px}.current-file span{font-size:11px;flex:1}.current-file i{font-size:15px}.status-pill.secondary{background:#eef2f7;color:#64748b}.alert-row.document{border-left:5px solid #64748b}.alert-row.document.overdue{border-left-color:#e11d48}.alert-row.document.near{border-left-color:#f59e0b}
@media(max-width:991.98px){.document-grid{grid-template-columns:1fr}}@media(max-width:575.98px){.documents-hero{padding:25px 22px}.documents-hero h2{font-size:24px}.documents-hero>i{display:none}.document-data{grid-template-columns:1fr}.document-actions{flex-direction:column}.document-actions .btn,.document-actions form,.document-actions form button{width:100%}}

/* Fase 6: agenda y calendario */
.calendar-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#f52237,#ff5a5f 56%,#ff9a44);border-radius:28px;padding:31px 34px;color:#fff;display:flex;justify-content:space-between;align-items:center}.calendar-hero h2{font-size:29px;font-weight:900;margin:14px 0 8px}.calendar-hero p{max-width:720px;color:#fff4f5;margin:0}.calendar-hero>i{font-size:120px;opacity:.16;margin-right:4%}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.calendar-filter .form-select{min-width:245px}.calendar-stat{background:#fff;border:1px solid #edf0f5;border-radius:20px;padding:16px;min-height:118px;box-shadow:0 8px 24px #26365d08}.calendar-stat>i{font-size:22px;color:#64748b}.calendar-stat.red>i{color:#f52237}.calendar-stat.amber>i{color:#f59e0b}.calendar-stat.blue>i{color:#2563eb}.calendar-stat.green>i{color:#10b981}.calendar-stat span,.calendar-stat strong{display:block}.calendar-stat span{font-size:9px;color:var(--muted);font-weight:850;text-transform:uppercase;margin-top:8px}.calendar-stat strong{font-size:27px;font-weight:900}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:1px solid var(--line)}.calendar-weekdays div{text-align:center;padding:12px 6px;font-size:10px;text-transform:uppercase;font-weight:900;color:#64748b}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:148px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px;background:#fff}.calendar-day:nth-child(7n){border-right:none}.calendar-day.outside{background:#fafbfc;color:#b2bac8}.calendar-day.today{background:#fff8f8;box-shadow:inset 0 0 0 2px #f5223733}.calendar-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.calendar-day-head>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:11px;font-weight:900}.calendar-day.today .calendar-day-head>span{background:#f52237;color:#fff}.calendar-day-head a{font-size:13px;color:#b3bac8}.calendar-day-head a:hover{color:#f52237}.calendar-events{display:grid;gap:4px}.calendar-event{display:flex;align-items:center;gap:5px;padding:5px 6px;border-radius:8px;text-decoration:none;font-size:9px;font-weight:800;overflow:hidden}.calendar-event i{font-size:9px;flex:none}.calendar-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.calendar-event small{font-size:8px;opacity:.75}.calendar-event.maintenance{background:#fff0f2;color:#be2435}.calendar-event.component{background:#fff8e6;color:#946000}.calendar-event.document{background:#eef5ff;color:#235aa8}.calendar-event.manual{background:#eafaf4;color:#087f58}.calendar-event.completed{text-decoration:line-through;opacity:.48}.calendar-more{font-size:8px;color:#7b8496;font-weight:800;padding-left:4px}.agenda-list{display:grid;gap:4px}.agenda-item{display:flex;align-items:center;gap:12px;padding:11px;border-radius:15px;text-decoration:none;color:inherit}.agenda-item:hover{background:#f8f9fc}.agenda-date{width:44px;text-align:center}.agenda-date strong,.agenda-date span{display:block}.agenda-date strong{font-size:20px;line-height:1}.agenda-date span{font-size:8px;color:var(--muted);font-weight:900;margin-top:4px}.agenda-type{width:39px;height:39px;border-radius:12px;display:grid;place-items:center}.agenda-type.maintenance{background:#fff0f2;color:#f52237}.agenda-type.component{background:#fff8e6;color:#d48700}.agenda-type.document{background:#eef5ff;color:#2563eb}.agenda-type.manual{background:#eafaf4;color:#10a16e}.agenda-item strong,.agenda-item small{display:block}.agenda-item strong{font-size:12px}.agenda-item small{font-size:9px;color:var(--muted);margin-top:2px}.calendar-legend{display:grid;gap:14px}.calendar-legend>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.calendar-legend strong,.calendar-legend small{display:block}.calendar-legend strong{font-size:12px}.calendar-legend small{grid-column:2;font-size:9px;color:var(--muted)}.legend-dot{width:12px;height:12px;border-radius:4px}.legend-dot.maintenance{background:#f52237}.legend-dot.component{background:#f59e0b}.legend-dot.document{background:#2563eb}.legend-dot.manual{background:#10b981}
@media(max-width:991.98px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-filter .form-select{min-width:0}.calendar-day{min-height:125px}.calendar-event small{display:none}}
@media(max-width:767.98px){.calendar-hero{padding:25px 22px}.calendar-hero h2{font-size:24px}.calendar-hero>i{display:none}.calendar-weekdays div{font-size:8px}.calendar-day{min-height:78px;padding:5px}.calendar-day-head>span{width:23px;height:23px;font-size:9px}.calendar-day-head a{display:none}.calendar-event{width:7px;height:7px;border-radius:50%;padding:0;font-size:0;display:block;margin:3px auto}.calendar-event i,.calendar-event span,.calendar-event small{display:none}.calendar-events{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.calendar-more{font-size:7px;padding:0}.calendar-stat{min-height:105px}}

/* Fase 7: menú lateral con scroll independiente */
.sidebar{overflow:hidden}.sidebar .brand{flex:0 0 auto}.sidebar-nav-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:6px;margin-right:-6px;scrollbar-width:thin;scrollbar-color:#4b5568 transparent}.sidebar-nav-scroll::-webkit-scrollbar{width:6px}.sidebar-nav-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-nav-scroll::-webkit-scrollbar-thumb{background:#4b5568;border-radius:20px}.sidebar-nav-scroll::-webkit-scrollbar-thumb:hover{background:#657086}.sidebar-footer{flex:0 0 auto;padding-top:14px;background:#111827;position:relative;z-index:2}.nav-count{margin-left:auto!important;background:#ef233c!important;color:white!important;font-size:10px!important;min-width:22px;text-align:center}.top-notification-badge{position:absolute;top:-5px;right:-7px;background:#ef233c;color:#fff;border:2px solid #fff;border-radius:20px;font-size:9px;font-weight:800;min-width:20px;height:20px;display:grid;place-items:center;padding:0 4px}.notification-hero{display:flex;align-items:center;justify-content:space-between;gap:22px}.notification-hero h2{font-weight:850}.notification-list{display:grid;gap:10px}.notification-row{display:flex;align-items:center;gap:14px;padding:15px 6px;border-bottom:1px solid var(--line)}.notification-row:last-child{border-bottom:0}.notification-row.is-read{opacity:.67}.notification-icon{width:46px;height:46px;min-width:46px;border-radius:15px;display:grid;place-items:center;font-size:19px}.notification-icon.danger{background:#ffe8ec;color:#df1f3b}.notification-icon.warning{background:#fff2df;color:#e38611}.notification-icon.info{background:#e8f2ff;color:#2876d7}.notification-icon.success{background:#e6f8f0;color:#0a9a65}.notification-copy{min-width:0;flex:1}.notification-copy p{margin:4px 0;color:var(--muted);font-size:13px}.notification-copy small{color:#99a2b4}.notification-actions{display:flex;align-items:center;gap:7px}.unread-dot{width:8px;height:8px;border-radius:50%;background:#ef233c;display:inline-block}.mobile-count{position:absolute;top:1px;right:8px;background:#ef233c;color:#fff;border-radius:12px;font-size:8px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 3px}@media(max-width:991.98px){.notification-hero{align-items:flex-start;flex-direction:column}.mobile-nav-scroll{overflow-x:auto;overflow-y:hidden;justify-content:flex-start!important;scrollbar-width:none}.mobile-nav-scroll::-webkit-scrollbar{display:none}.mobile-nav-scroll>a{min-width:72px;flex:0 0 72px}.content-wrap{padding-bottom:96px!important}}@media(max-width:575.98px){.notification-row{align-items:flex-start}.notification-actions{flex-direction:column}.notification-actions .btn{white-space:nowrap}}


/* Fase 8: sidebar vertical corregido + perfil, salud y reportes */
.sidebar{display:flex!important;flex-direction:column!important;overflow:hidden!important}
.sidebar .brand{flex:0 0 auto!important}
.sidebar-nav-scroll{display:block!important;flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;margin-top:22px!important;padding-right:7px!important;margin-right:-7px!important;white-space:normal!important}
.sidebar-nav-scroll .nav-link{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;float:none!important;clear:both!important;flex-wrap:nowrap!important;position:relative!important}
.sidebar-nav-scroll .nav-link>i{flex:0 0 22px!important;width:22px!important;text-align:center!important;margin:0!important}
.sidebar-nav-scroll .nav-link .nav-label{display:block!important;flex:1 1 auto!important;min-width:0!important;font-size:14px!important;background:transparent!important;padding:0!important;border-radius:0!important;margin:0!important;color:inherit!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.sidebar-nav-scroll .nav-link .nav-count{flex:0 0 auto!important;margin-left:8px!important}
.sidebar-footer{flex:0 0 auto!important;margin-top:12px!important}
.health-hero{background:linear-gradient(120deg,#111827,#25324b 54%,#f52237);border-radius:28px;color:#fff;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden}.health-hero h2{font-weight:900;margin:8px 0}.health-score-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#22c55e calc(var(--score)*1%),#ffffff22 0);position:relative;flex:0 0 auto}.health-score-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#182236}.health-score-ring div{position:relative;z-index:2;text-align:center}.health-score-ring strong{font-size:38px;line-height:1;display:block}.health-score-ring span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#bac3d2}.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.health-tile{background:#fff;border:1px solid #edf0f5;border-radius:20px;padding:18px;box-shadow:0 10px 25px #26365d09}.health-tile i{font-size:22px}.health-tile strong,.health-tile span{display:block}.health-tile strong{font-size:24px;margin-top:9px}.health-tile span{font-size:11px;color:var(--muted)}.health-bar{height:7px;background:#edf0f5;border-radius:10px;overflow:hidden;margin-top:10px}.health-bar>span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#22c55e,#f59e0b,#ef4444);width:var(--w)}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.report-summary .panel-card{padding:18px}.report-summary small,.report-summary strong{display:block}.report-summary small{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.report-summary strong{font-size:22px;margin-top:5px}.profile-avatar-lg{width:84px;height:84px;border-radius:24px;background:linear-gradient(135deg,#f52237,#ff7a59);display:grid;place-items:center;color:#fff;font-size:32px;font-weight:900;box-shadow:0 14px 30px #f5223730}.settings-section{background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:24px}.settings-section h3{font-size:18px;font-weight:850}.report-table{font-size:12px}.report-table th{font-size:10px;text-transform:uppercase;color:#6f7890}.print-only{display:none}@media(max-width:991.98px){.health-grid,.report-summary{grid-template-columns:repeat(2,1fr)}.health-hero{align-items:flex-start}.health-score-ring{width:120px;height:120px}.health-score-ring strong{font-size:31px}}@media(max-width:575.98px){.health-hero{flex-direction:column}.health-grid,.report-summary{grid-template-columns:1fr}.health-score-ring{align-self:center}}
@media print{.sidebar,.topbar,.mobile-nav,.no-print,.btn,.alert{display:none!important}.main-content{margin:0!important}.content-wrap{padding:0!important}.panel-card,.settings-section{box-shadow:none!important;border-color:#ddd!important}.print-only{display:block!important}body{background:#fff!important}.report-table{font-size:10px}}
/* Fase 9 - Proyección inteligente */
.reserve-amount{font-size:2.3rem;font-weight:850;letter-spacing:-.04em;color:var(--primary,#f52237);line-height:1}.cost-split{display:grid;gap:.8rem}.cost-split>div{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid rgba(15,23,42,.08)}.cost-split>div:last-child{border-bottom:0}.cost-split span{display:flex;align-items:center;gap:.55rem;color:#64748b}.cost-split strong{font-size:1rem}.insight-tip{display:flex;gap:1rem;padding:1.05rem;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;height:100%}.insight-tip>i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:1.2rem;flex:0 0 auto;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.06)}.insight-tip strong{display:block;margin-bottom:.2rem}.insight-tip p{margin:0;color:#64748b;font-size:.92rem}.insight-tip.warning{background:#fffaf0;border-color:#fde7b0}.insight-tip.success{background:#f0fdf4;border-color:#bbf7d0}.insight-tip.info{background:#f5f9ff;border-color:#dbeafe}.smart-table td,.smart-table th{padding:.9rem .75rem}

/* Fase 10 - Producción, PWA y experiencia móvil */
.connection-status{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:850;background:#eafaf4;color:#0b9465;border:1px solid #c9f0df}.connection-status.offline{background:#fff1f2;color:#d91e34;border-color:#ffd0d6}.connection-status span{white-space:nowrap}.app-version{font-size:9px;color:#7f8aa0;display:flex;align-items:center;gap:6px;padding:0 8px}.install-banner{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1000;width:min(620px,calc(100% - 28px));display:grid;grid-template-columns:48px 1fr auto auto;align-items:center;gap:12px;background:#fff;border:1px solid #e7eaf1;border-radius:20px;padding:12px 14px;box-shadow:0 22px 60px rgba(15,23,42,.2)}.install-banner[hidden],.update-banner[hidden]{display:none!important}.install-banner img{width:48px;height:48px;border-radius:13px}.install-banner strong,.install-banner small{display:block}.install-banner small{color:var(--muted);font-size:11px;margin-top:2px}.update-banner{position:fixed;right:22px;bottom:22px;z-index:1100;background:#111827;color:#fff;border-radius:16px;padding:11px 12px 11px 16px;box-shadow:0 18px 45px #11182740;display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700}.update-banner span{display:flex;align-items:center;gap:8px}.btn,.nav-link,.form-control,.form-select{touch-action:manipulation}.form-control:invalid:not(:placeholder-shown){border-color:#f3a6af}.table-responsive{-webkit-overflow-scrolling:touch}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px)}@media(max-width:991.98px){.connection-status span{display:none}.connection-status{width:38px;height:38px;justify-content:center;padding:0}.install-banner{bottom:88px;grid-template-columns:42px 1fr auto}.install-banner img{width:42px;height:42px}.install-banner .btn-close{display:none}.update-banner{left:14px;right:14px;bottom:88px;justify-content:space-between}.topbar{padding-top:calc(14px + env(safe-area-inset-top))}.mobile-nav{height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:575.98px){.install-banner{grid-template-columns:40px 1fr}.install-banner .btn-danger{grid-column:1/-1;width:100%}.top-actions{gap:7px}.top-actions .btn.rounded-circle,.top-avatar{width:38px;height:38px;min-width:38px}.page-title{font-size:20px}.eyebrow{font-size:9px}}


/* MAKCar 360° v1.0 - Fase 11 */
.release-hero{background:linear-gradient(125deg,#111827,#1f2937 55%,#ef233c);color:#fff;border-radius:26px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;position:relative}.release-hero h2{font-size:34px;font-weight:900;margin:12px 0 8px}.release-hero p{margin:0;color:#dbe2ee;max-width:650px}.release-pill{display:inline-flex;align-items:center;gap:7px;background:#ffffff18;border:1px solid #ffffff2b;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.release-score{min-width:175px;border-radius:22px;padding:22px;background:#ffffff13;border:1px solid #ffffff25;text-align:center}.release-score i{display:block;font-size:38px}.release-score strong,.release-score small{display:block}.release-score strong{font-size:23px;margin-top:4px}.release-score small{color:#dbe2ee}.system-check-list{display:grid}.system-check-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line)}.system-check-row:last-child{border-bottom:0}.system-check-row strong,.system-check-row small{display:block}.system-check-row small{color:var(--muted);font-size:12px;margin-top:2px}.check-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:0 0 38px;font-weight:900}.check-icon.ok{background:#e8f9f2;color:#0a9a65}.check-icon.warn{background:#fff2e4;color:#d97a08}.release-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.release-modules>div{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #edf0f5;font-weight:700;font-size:13px}.release-modules i{width:32px;height:32px;border-radius:10px;background:#ffe9ec;color:#ef233c;display:grid;place-items:center}.production-list p{display:flex;gap:12px;margin:0;padding:13px 0;border-bottom:1px solid var(--line)}.production-list p:last-child{border-bottom:0}.production-list>p>i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f1f5f9;color:#334155;flex:0 0 36px}.production-list small{color:var(--muted)}@media(max-width:767.98px){.release-hero{align-items:flex-start;flex-direction:column}.release-score{width:100%;text-align:left}.release-score i{display:inline-block;margin-right:8px}.release-modules{grid-template-columns:1fr}}
