@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --covicol-red: #d71920;
    --covicol-red-dark: #a90e15;
    --covicol-red-soft: #fff0f1;
    --ink: #17191f;
    --muted: #6f7582;
    --line: #e8e9ed;
    --surface: #ffffff;
    --background: #f5f6f8;
    --sidebar-width: 276px;
    --shadow: 0 12px 34px rgba(29, 33, 44, .07);
}
.type-programacion-mantenimiento{--event-color:#c01820!important}

/* Revisión rápida dentro de la columna lateral de programaciones */
.maintenance-quick-review{gap:0;padding:22px}
.maintenance-quick-review .panel-header{margin:0 0 10px}
.maintenance-quick-review .panel-header h3{margin-top:3px;line-height:1.2}
.maintenance-quick-review>p{margin:0 0 18px;color:#666d78;font-size:.82rem;line-height:1.55}
.maintenance-quick-review form{min-width:0}
.maintenance-quick-review .maintenance-close-options{grid-template-columns:minmax(0,1fr);gap:10px}
.maintenance-quick-review .maintenance-close-options label>span{grid-template-columns:42px minmax(0,1fr);column-gap:12px;min-height:0;padding:13px 14px;align-items:center}
.maintenance-quick-review .maintenance-close-options label>span>i{width:42px;height:42px}
.maintenance-quick-review .maintenance-close-options strong{align-self:end;font-size:.83rem;line-height:1.25}
.maintenance-quick-review .maintenance-close-options small{align-self:start;margin-top:2px;font-size:.72rem;line-height:1.4}
.maintenance-quick-review .form-label{display:block;margin-bottom:7px;font-size:.78rem}
.maintenance-quick-review textarea.form-control{min-height:125px;resize:vertical;line-height:1.45}
.maintenance-quick-review .btn{min-height:44px}

/* Flujo de programación y ejecución de mantenimientos */
.maintenance-independent-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.maintenance-filter-block{margin:0;border-top:3px solid #198754}
.maintenance-filter-block.order-filter{border-top-color:#d71920}
.maintenance-filter-block>.panel-header>i{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;color:#198754;background:#edf8f2}
.maintenance-filter-block.order-filter>.panel-header>i{color:#c2171e;background:#fdeced}
.maintenance-filter-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-top:2px}
.maintenance-filter-actions .btn{min-width:170px}
@media(max-width:1199.98px){.maintenance-independent-filters{grid-template-columns:1fr}}
@media(max-width:575.98px){.maintenance-filter-actions{display:grid;grid-template-columns:1fr}.maintenance-filter-actions .btn{width:100%;min-width:0}}
.maintenance-schedule-hero{background:linear-gradient(135deg,#fff 0%,#fff7f7 100%)}
.maintenance-workflow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin:0 0 20px}
.maintenance-workflow>article{display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 16px;border:1px solid #e7e9ee;border-radius:14px;background:#fff;color:#7b818b}
.maintenance-workflow>article>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#eef0f3;font-weight:800}
.maintenance-workflow article div{display:flex;flex-direction:column;min-width:0}.maintenance-workflow article strong{color:#30343b}.maintenance-workflow article small{font-size:.76rem}
.maintenance-workflow>article.complete{border-color:#cce8d7;background:#f5fcf8}.maintenance-workflow>article.complete>span{background:#198754;color:#fff}
.maintenance-workflow>article.current{border-color:#f1b8bb;background:#fff7f7}.maintenance-workflow>article.current>span{background:#d71920;color:#fff}
.maintenance-workflow>i{color:#aab0b9;font-size:.78rem}
.maintenance-status-card h3{margin:.4rem 0 .55rem}.maintenance-status-card p{margin:0;color:#68707b;font-size:.9rem;line-height:1.55}
.maintenance-audit-card>div{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid #eef0f3}.maintenance-audit-card>div:last-child{border-bottom:0;padding-bottom:0}.maintenance-audit-card small,.maintenance-audit-card span{color:#7b818b;font-size:.76rem}.maintenance-audit-card strong{font-size:.9rem}
.maintenance-solution-text{padding:16px;border-left:4px solid #198754;border-radius:0 10px 10px 0;background:#f5fcf8;color:#343a40;line-height:1.65}
.maintenance-execution-panel{margin-top:20px}.maintenance-execution-panel>.panel-header p{margin:.35rem 0 0;color:#68707b}
.maintenance-execution-section{padding:24px 0;border-top:1px solid #e8eaee}.maintenance-execution-section:first-of-type{border-top:0;padding-top:8px}
.maintenance-section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.maintenance-section-title>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#d71920;color:#fff;font-weight:800}.maintenance-section-title>div{display:flex;flex-direction:column}.maintenance-section-title small{color:#747b85}
.maintenance-parts{display:flex;flex-direction:column;gap:10px}.maintenance-part-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(100px,.65fr) minmax(140px,1fr) minmax(130px,.8fr) 42px;gap:10px;align-items:end;padding:14px;border:1px solid #e6e8ec;border-radius:12px;background:#fafbfc}.maintenance-part-row label{display:block;margin-bottom:6px;color:#68707b;font-size:.75rem;font-weight:700}.maintenance-part-total{padding-bottom:9px}.maintenance-part-total strong{white-space:nowrap;color:#343a40}.maintenance-part-row>button{margin-bottom:1px;color:#c32027}
.maintenance-parts-summary{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:12px;padding:12px 14px;border-radius:10px;background:#f2f4f7}.maintenance-parts-summary span{color:#68707b}.maintenance-parts-summary strong{min-width:140px;text-align:right;font-size:1.05rem}
.maintenance-evidence-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.maintenance-evidence-preview:empty{display:none}.maintenance-evidence-preview>div{overflow:hidden;border:1px solid #e3e5e9;border-radius:10px;background:#fff}.maintenance-evidence-preview img{display:block;width:100%;height:92px;object-fit:cover}.maintenance-evidence-preview span{display:block;overflow:hidden;padding:7px 8px;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:#626a75}
.maintenance-finish-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin:8px -24px -24px;border-radius:0 0 14px 14px;background:#f5f6f8}.maintenance-finish-bar span{color:#646c77;font-size:.88rem}.maintenance-finish-bar span i{margin-right:7px;color:#d39e00}
.maintenance-novelty-source{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:18px;padding:16px 18px;border:1px solid #f0c5c8;border-radius:14px;background:linear-gradient(135deg,#fffafa,#fff)}.maintenance-novelty-source>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#df252c,#a90e15);font-size:1.05rem}.maintenance-novelty-source small,.maintenance-novelty-source strong{display:block}.maintenance-novelty-source small{margin-bottom:3px;color:#a90e15;font-size:.68rem;font-weight:800;letter-spacing:.08em}.maintenance-novelty-source strong{font-size:.9rem}.maintenance-novelty-source p{margin:5px 0 0;color:#69707b;font-size:.78rem;line-height:1.5}
.maintenance-close-novelty{border-color:#efc9cb;background:linear-gradient(135deg,#fff 0%,#fff8f8 100%)}.maintenance-close-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.maintenance-close-options label{margin:0;cursor:pointer}.maintenance-close-options input{position:absolute;opacity:0;pointer-events:none}.maintenance-close-options label>span{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;min-height:92px;padding:15px;border:1px solid #dfe2e7;border-radius:12px;background:#fff;transition:.18s ease}.maintenance-close-options label>span>i{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#69707b;background:#f0f2f5}.maintenance-close-options strong,.maintenance-close-options small{display:block}.maintenance-close-options strong{align-self:end;color:#353942;font-size:.82rem}.maintenance-close-options small{margin-top:3px;color:#7c828c;font-size:.69rem;line-height:1.45}.maintenance-close-options input:focus+span{box-shadow:0 0 0 4px rgba(215,25,32,.1)}.maintenance-close-options input:checked+span{border-color:#e47075;background:#fff3f4;box-shadow:0 8px 20px rgba(160,18,24,.08)}.maintenance-close-options input:checked+span>i{color:#fff;background:#c8171f}
.novelty-maintenance-action{text-align:center;border-color:#efc5c8;background:linear-gradient(145deg,#fff,#fff7f7)}.novelty-maintenance-action>i{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#df252c,#a90e15);font-size:1.2rem}.novelty-maintenance-action h3{margin:0 0 7px;font-size:1rem}.novelty-maintenance-action p,.novelty-maintenance-link>p{margin:0 0 14px;color:#717781;font-size:.76rem;line-height:1.55}.novelty-maintenance-link .panel-header{align-items:flex-start}.novelty-maintenance-link .operation-status{flex:0 0 auto}
.preop-evidence-zone{min-height:150px}.preop-evidence-preview article{position:relative}.preop-evidence-remove{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:50%;color:#fff;background:rgba(28,30,35,.82);box-shadow:0 3px 10px rgba(0,0,0,.2)}.checklist-admin-list{display:grid;gap:.8rem}.checklist-admin-item{padding:1rem;border:1px solid #e2e4e8;border-radius:12px;background:#fff}.checklist-admin-item.inactive{opacity:.72;background:#f5f6f8}.checklist-admin-status{display:flex;align-items:center;gap:.7rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eceef1}.checklist-admin-status small{margin-right:auto;color:#868c96;font-size:.55rem}.checklist-admin-status form{margin:0}
.maintenance-source-novelty-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:#efc5c8;background:linear-gradient(135deg,#fffafa,#fff)}.maintenance-source-novelty-card>div{display:flex;align-items:flex-start;gap:13px;min-width:0}.maintenance-source-novelty-card>div>span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;color:#fff;background:#c8171f}.maintenance-source-novelty-card small{display:block;color:#a90e15;font-size:.65rem;font-weight:800;letter-spacing:.08em}.maintenance-source-novelty-card h3{margin:3px 0 4px;font-size:.95rem}.maintenance-source-novelty-card p{margin:0;color:#6d737d;font-size:.75rem;line-height:1.5}
@media(max-width:991.98px){.maintenance-workflow{grid-template-columns:1fr}.maintenance-workflow>i{display:none}.maintenance-part-row{grid-template-columns:1fr 1fr}.maintenance-part-row>div:first-child{grid-column:1/-1}.maintenance-part-row>button{justify-self:end}.maintenance-part-total{align-self:center}.maintenance-finish-bar{margin:8px -16px -16px}.maintenance-close-options{grid-template-columns:1fr}.maintenance-novelty-source{grid-template-columns:48px minmax(0,1fr)}.maintenance-novelty-source>a{grid-column:2}}
@media(max-width:575.98px){.maintenance-part-row{grid-template-columns:1fr}.maintenance-part-row>div:first-child{grid-column:auto}.maintenance-part-row>button{justify-self:stretch}.maintenance-section-title{align-items:flex-start;flex-wrap:wrap}.maintenance-section-title .ms-auto{margin-left:46px!important}.maintenance-finish-bar{align-items:stretch;flex-direction:column}.maintenance-finish-bar .btn{width:100%}.maintenance-novelty-source{grid-template-columns:1fr}.maintenance-novelty-source>a{grid-column:auto}.maintenance-source-novelty-card{align-items:stretch;flex-direction:column}.maintenance-source-novelty-card>a{width:100%}}

* { box-sizing: border-box; }
html { min-height: 100%; }
body { min-height: 100vh; margin: 0; color: var(--ink); font-family: 'Inter', system-ui, sans-serif; background: var(--background); font-size: 14px; }
button, input, select, textarea { font: inherit; }
a { color: var(--covicol-red); text-decoration: none; }

.btn-primary-covicol { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; border: 1px solid var(--covicol-red); border-radius: 10px; color: #fff; background: linear-gradient(135deg, #e11d25, #b20f16); font-weight: 700; box-shadow: 0 8px 18px rgba(215, 25, 32, .2); transition: .2s ease; }
.btn-primary-covicol:hover, .btn-primary-covicol:focus { color: #fff; background: linear-gradient(135deg, #c8141b, #930b11); transform: translateY(-1px); box-shadow: 0 10px 22px rgba(215, 25, 32, .28); }
.btn-outline-covicol { display: inline-flex; align-items: center; gap: .45rem; color: var(--covicol-red); border: 1px solid #efb9bc; border-radius: 9px; font-weight: 700; background: #fff; }
.btn-outline-covicol:hover { color: #fff; background: var(--covicol-red); border-color: var(--covicol-red); }
.form-control, .form-select { min-height: 44px; border: 1px solid #dfe1e6; border-radius: 9px; color: var(--ink); }
.form-control:focus, .form-select:focus { border-color: #ef8f93; box-shadow: 0 0 0 .22rem rgba(215, 25, 32, .09); }
.form-label { margin-bottom: .45rem; color: #3e424c; font-size: .82rem; font-weight: 700; }

/* Acceso */
.auth-page { overflow-x: hidden; background: #fff; }
.auth-shell { display: grid; grid-template-columns: minmax(420px, 1.05fr) minmax(460px, .95fr); min-height: 100vh; }
.auth-brand-panel { position: relative; display: flex; align-items: center; overflow: hidden; padding: 7vw; color: #fff; background: radial-gradient(circle at 22% 22%, rgba(218, 31, 40, .9), transparent 34%), linear-gradient(135deg, #211216 0%, #0e0f13 58%, #050506 100%); }
.auth-brand-panel::before { content: ''; position: absolute; width: 430px; height: 430px; right: -120px; bottom: -120px; border: 80px solid rgba(255,255,255,.035); border-radius: 50%; }
.auth-brand-panel::after { content: ''; position: absolute; width: 260px; height: 260px; right: 40px; top: -120px; border: 54px solid rgba(215,25,32,.12); border-radius: 50%; }
.auth-brand-content { position: relative; z-index: 1; max-width: 620px; }
.brand-eyebrow { display: inline-flex; align-items: center; gap: .55rem; padding: .55rem .85rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #f8d7d9; background: rgba(255,255,255,.06); font-size: .73rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.auth-brand-content h1 { margin: 2rem 0 1.25rem; font-size: clamp(2.7rem, 5vw, 5rem); font-weight: 800; letter-spacing: -.055em; line-height: .98; }
.auth-brand-content h1 span { color: #ef3941; }
.auth-brand-content > p { max-width: 560px; color: #c6c6cb; font-size: 1.05rem; line-height: 1.75; }
.auth-feature-list { display: flex; flex-wrap: wrap; gap: 1.15rem 1.6rem; margin-top: 2.2rem; color: #eeeeef; font-weight: 600; }
.auth-feature-list i { margin-right: .4rem; color: #ef3941; }
.auth-form-panel { display: flex; justify-content: center; align-items: center; padding: 3rem clamp(2rem, 6vw, 6rem); background: #fff; }
.auth-form-wrap { width: 100%; max-width: 440px; }
.login-logo-wrap { display: flex; justify-content: flex-start; margin-bottom: 2.3rem; }
.login-logo { width: 175px; max-height: 95px; object-fit: contain; object-position: left center; }
.login-kicker, .panel-kicker, .welcome-kicker { color: var(--covicol-red); font-size: .69rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.login-heading h2 { margin: .45rem 0 .45rem; font-size: 2rem; font-weight: 800; letter-spacing: -.04em; }
.login-heading p { margin-bottom: 2rem; color: var(--muted); line-height: 1.6; }
.form-group-icon { margin-bottom: 1.25rem; }
.form-group-icon label { margin-bottom: .5rem; color: #333740; font-size: .82rem; font-weight: 700; }
.input-icon-wrap { position: relative; }
.input-icon-wrap > i { position: absolute; z-index: 1; top: 50%; left: 1rem; color: #969aa4; transform: translateY(-50%); }
.input-icon-wrap input { width: 100%; height: 52px; padding: .75rem 3rem; border: 1px solid #dcdee4; border-radius: 11px; outline: none; transition: .2s; }
.input-icon-wrap input:focus { border-color: #e66a6f; box-shadow: 0 0 0 4px rgba(215,25,32,.08); }
.secure-label { color: #8a8e98; font-size: .72rem; }
.password-toggle { position: absolute; top: 50%; right: .65rem; padding: .4rem .55rem; border: 0; color: #888d98; background: transparent; transform: translateY(-50%); }
.login-form .btn-lg { height: 53px; margin-top: .55rem; font-size: .92rem; }
.login-help { display: flex; gap: .7rem; margin-top: 1.4rem; padding: .85rem 1rem; border-radius: 9px; color: #767b86; background: #f7f7f9; font-size: .76rem; line-height: 1.45; }
.login-help i { color: var(--covicol-red); }
.forgot-password-link { color: var(--covicol-red); font-size: .73rem; font-weight: 700; text-decoration: none; }
.forgot-password-link:hover { color: #801017; text-decoration: underline; }
.recovery-notice, .recovery-invalid { display: flex; gap: .8rem; margin-top: 1.25rem; padding: 1rem; border-radius: 11px; color: #656b75; background: #f7f8fa; font-size: .77rem; line-height: 1.5; }
.recovery-notice > i { margin-top: .15rem; color: var(--covicol-red); font-size: 1rem; }
.recovery-invalid { align-items: flex-start; margin: 0 0 1.2rem; color: #7d3034; background: #fff0f1; }
.recovery-invalid > i { margin-top: .15rem; font-size: 1.25rem; }
.recovery-invalid strong, .recovery-invalid p { display: block; margin: 0; }
.recovery-invalid p { margin-top: .25rem; }
.auth-back-link { display: block; margin-top: 1.3rem; color: #666c76; font-size: .8rem; font-weight: 700; text-align: center; text-decoration: none; }
.auth-back-link:hover { color: var(--covicol-red); }
.auth-back-link i { margin-right: .35rem; }
.recovery-error { display: block; margin-top: .4rem; color: #c41820; font-size: .74rem; }
.password-rules { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem .65rem; margin: -.15rem 0 1rem; padding: .85rem 1rem; border-radius: 10px; color: #737983; background: #f7f8fa; font-size: .72rem; }
.password-rules strong { grid-column: 1/-1; color: #3b4048; }
.password-rules i { margin-right: .25rem; color: #168b56; }
.auth-footer { margin-top: 2rem; color: #999da5; font-size: .66rem; text-align: center; }

/* Navegación */
.sidebar { position: fixed; z-index: 1040; top: 0; bottom: 0; left: 0; display: flex; flex-direction: column; width: var(--sidebar-width); color: #d8d9dd; background: linear-gradient(180deg, #17181d 0%, #101115 100%); box-shadow: 8px 0 30px rgba(18,18,21,.08); }
.sidebar-brand { display: flex; align-items: center; gap: .9rem; min-height: 84px; padding: 1rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,.07); }
.sidebar-logo-box { display: grid; place-items: center; width: 49px; height: 49px; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 8px 18px rgba(0,0,0,.2); }
.sidebar-logo-box img { width: 46px; height: 44px; object-fit: cover; object-position: top center; }
.sidebar-brand strong { display: block; color: #fff; font-size: 1.28rem; letter-spacing: .08em; }
.sidebar-brand small { display: block; margin-top: .1rem; color: #8f939d; font-size: .67rem; }
.sidebar-close { margin-left: auto; border: 0; color: #fff; background: transparent; }
.sidebar-nav { flex: 1; overflow-y: auto; padding: 1rem .8rem 1.5rem; scrollbar-width: thin; scrollbar-color: #3b3d45 transparent; }
.nav-section { display: block; margin: 1.15rem .85rem .5rem; color: #696d77; font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sidebar .nav-link { display: flex; align-items: center; gap: .8rem; min-height: 43px; margin: .15rem 0; padding: .65rem .85rem; border-radius: 9px; color: #aeb1b9; font-size: .81rem; font-weight: 500; transition: .18s ease; }
.sidebar .nav-link > i { width: 21px; font-size: .92rem; text-align: center; }
.sidebar .nav-link > span { flex: 1; }
.sidebar .nav-link em { padding: .12rem .35rem; border-radius: 4px; color: #777b84; background: rgba(255,255,255,.055); font-size: .57rem; font-style: normal; font-weight: 800; }
.sidebar .nav-link:hover:not(.disabled) { color: #fff; background: rgba(255,255,255,.06); }
.sidebar .nav-link.active { color: #fff; background: linear-gradient(100deg, rgba(215,25,32,.95), rgba(178,15,22,.84)); box-shadow: 0 8px 18px rgba(140,8,14,.2); }
.sidebar .nav-link.disabled { opacity: .62; cursor: not-allowed; }
.sidebar-user { display: flex; align-items: center; gap: .7rem; min-height: 75px; padding: .85rem 1rem; border-top: 1px solid rgba(255,255,255,.07); background: rgba(0,0,0,.12); }
.avatar, .topbar-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 37px; height: 37px; border-radius: 10px; color: #fff; background: linear-gradient(135deg, #df252c, #8f080e); font-size: .72rem; font-weight: 800; }
.user-meta { min-width: 0; flex: 1; }
.user-meta strong, .user-meta small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-meta strong { color: #f7f7f8; font-size: .75rem; }
.user-meta small { margin-top: .18rem; color: #7f838d; font-size: .62rem; }
.btn-logout { border: 0; color: #8b8f99; background: transparent; }
.btn-logout:hover { color: #f15b60; }
.sidebar-overlay { display: none; }

.admin-main { display: flex; flex-direction: column; min-height: 100vh; margin-left: var(--sidebar-width); }
.topbar { position: sticky; z-index: 1020; top: 0; display: flex; align-items: center; min-height: 72px; padding: .75rem clamp(1rem, 3vw, 2rem); border-bottom: 1px solid #ececef; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.menu-toggle { display: none; width: 40px; height: 40px; margin-right: .75rem; border: 1px solid var(--line); border-radius: 9px; color: #444851; background: #fff; }
.topbar-title span, .topbar-title small { display: block; }
.topbar-title span { color: #272a32; font-size: .8rem; font-weight: 700; }
.topbar-title small { margin-top: .12rem; color: #979ba4; font-size: .65rem; }
.topbar-actions { display: flex; align-items: center; gap: .75rem; }
.environment-pill { display: inline-flex; align-items: center; gap: .45rem; padding: .46rem .7rem; border: 1px solid #ddf0e5; border-radius: 999px; color: #27814c; background: #f4fbf7; font-size: .65rem; font-weight: 700; }
.environment-pill span { width: 7px; height: 7px; border-radius: 50%; background: #2ebd68; box-shadow: 0 0 0 4px rgba(46,189,104,.12); }
.topbar-icon { position: relative; width: 39px; height: 39px; border: 1px solid var(--line); border-radius: 10px; color: #626773; background: #fff; }
.notification-dot { position: absolute; top: 7px; right: 7px; width: 6px; height: 6px; border: 2px solid #fff; border-radius: 50%; background: var(--covicol-red); }
.notification-count{position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:10px;color:#fff;background:#b9161d;font-size:.42rem;font-style:normal;font-weight:850}

/* Contenido */
.content-area { flex: 1; width: 100%; max-width: 1700px; margin: 0 auto; padding: 1.6rem clamp(1rem, 3vw, 2.2rem) 2.5rem; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.4rem; }
.page-heading h1 { margin: .35rem 0 0; font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 800; letter-spacing: -.04em; }
.breadcrumb-line { display: flex; align-items: center; gap: .5rem; color: #9296a0; font-size: .67rem; }
.breadcrumb-line a { color: var(--covicol-red); font-weight: 700; }
.breadcrumb-line i { font-size: .48rem; }
.admin-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 2rem; border-top: 1px solid #e8e9ed; color: #979ba4; background: #fff; font-size: .66rem; }
.footer-version { color: #b3b6bd; }

.welcome-strip { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 154px; overflow: hidden; padding: 1.8rem 2rem; border-radius: 17px; color: #fff; background: linear-gradient(110deg, #18191e 0%, #24252b 62%, #3d1115 100%); box-shadow: var(--shadow); }
.welcome-strip::after { content: ''; position: absolute; width: 190px; height: 190px; right: 45px; border: 38px solid rgba(215,25,32,.16); border-radius: 50%; }
.welcome-strip > div:first-child { position: relative; z-index: 1; }
.welcome-strip h2 { margin: .45rem 0 .4rem; font-size: 1.8rem; font-weight: 800; letter-spacing: -.04em; }
.welcome-strip p { margin: 0; color: #bfc1c7; font-size: .8rem; }
.welcome-kicker { color: #ff8c91; }
.welcome-mark { position: relative; z-index: 1; display: grid; place-items: center; width: 78px; height: 78px; margin-right: 3rem; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; color: #ff7c82; background: rgba(255,255,255,.06); font-size: 1.9rem; }
.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.metric-card { display: flex; align-items: center; gap: 1rem; min-height: 125px; padding: 1.25rem; border: 1px solid #ececf0; border-radius: 14px; background: #fff; box-shadow: 0 6px 22px rgba(31,34,43,.045); }
.metric-icon { display: grid; place-items: center; flex: 0 0 auto; width: 51px; height: 51px; border-radius: 13px; font-size: 1.15rem; }
.metric-card.red .metric-icon { color: #c8151c; background: #fff0f1; }
.metric-card.green .metric-icon { color: #18894b; background: #ecf9f2; }
.metric-card.purple .metric-icon { color: #7040a0; background: #f4eefb; }
.metric-card.amber .metric-icon { color: #d27a05; background: #fff6e7; }
.metric-card span, .metric-card strong, .metric-card small { display: block; }
.metric-card span { color: #747985; font-size: .69rem; font-weight: 600; }
.metric-card strong { margin: .18rem 0; font-size: 1.65rem; font-weight: 800; letter-spacing: -.04em; }
.metric-card small { color: #afb2b9; font-size: .61rem; }
.panel-card { overflow: hidden; padding: 1.4rem; border: 1px solid #e9eaee; border-radius: 15px; background: #fff; box-shadow: 0 7px 24px rgba(28,32,43,.045); }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.panel-header h3 { margin: .28rem 0 0; font-size: 1rem; font-weight: 800; letter-spacing: -.02em; }
.panel-header p { margin: .35rem 0 0; color: var(--muted); font-size: .72rem; }
.panel-badge, .phase-pill { padding: .35rem .55rem; border-radius: 7px; color: #7a7f89; background: #f4f5f7; font-size: .59rem; font-weight: 700; white-space: nowrap; }
.phase-pill { color: #ba141b; background: #fff0f1; }
.chart-wrap { position: relative; height: 285px; }
.empty-chart { position: absolute; inset: 0; display: grid; place-content: center; color: #a4a8b1; text-align: center; }
.empty-chart i { margin-bottom: .8rem; color: #d6d8dd; font-size: 2.4rem; }
.empty-chart p { max-width: 280px; font-size: .72rem; line-height: 1.6; }
.organization-list { display: grid; gap: .72rem; }
.organization-list > div { display: flex; align-items: center; gap: .8rem; padding: .72rem; border: 1px solid #eff0f2; border-radius: 11px; }
.org-icon { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 10px; color: #c4141b; background: #fff0f1; }
.org-icon.blue { color: #1769aa; background: #edf6fd; }
.org-icon.dark { color: #3d414b; background: #f0f1f3; }
.org-icon.amber { color: #bf7107; background: #fff5e4; }
.organization-list strong, .organization-list small { display: block; }
.organization-list strong { font-size: .93rem; }
.organization-list small { margin-top: .12rem; color: #999da6; font-size: .62rem; }
.empty-state.compact { display: flex; align-items: center; gap: 1rem; min-height: 180px; justify-content: center; color: #8c919b; text-align: left; }
.empty-state.compact > i { color: #d1d3d9; font-size: 2rem; }
.empty-state strong { color: #606570; }
.empty-state p { margin: .25rem 0 0; font-size: .7rem; }
.activity-list { display: grid; gap: .4rem; }
.activity-item { position: relative; display: flex; gap: .85rem; padding: .55rem 0; }
.activity-dot { width: 9px; height: 9px; margin-top: .3rem; border: 2px solid #ffd1d3; border-radius: 50%; background: var(--covicol-red); box-shadow: 0 0 0 4px #fff4f4; }
.activity-item strong { font-size: .73rem; }
.activity-item p { margin: .18rem 0; color: #797e89; font-size: .68rem; }
.activity-item small { color: #acaeb5; font-size: .59rem; }
.phase-list { display: grid; gap: .65rem; }
.phase-list > div { display: flex; align-items: center; gap: .75rem; padding: .68rem; border: 1px solid #eff0f3; border-radius: 10px; }
.phase-list > div > i, .phase-list > div > b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #8b9099; background: #f2f3f5; font-size: .65rem; }
.phase-list > div.done > i { color: #18894b; background: #e9f8f0; }
.phase-list strong, .phase-list small { display: block; }
.phase-list strong { font-size: .7rem; }
.phase-list small { margin-top: .16rem; color: #9fa2aa; font-size: .59rem; }

/* Tablas y formularios */
.table { margin-bottom: 0; }
.table thead th { padding: .8rem .75rem; border-bottom-color: #e5e6ea; color: #777c86; background: #fafafb; font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.table tbody td { padding: .85rem .75rem; border-color: #eff0f2; color: #545964; font-size: .7rem; vertical-align: middle; }
.table-person { display: flex; align-items: center; gap: .7rem; min-width: 190px; }
.table-person > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 9px; color: #c7141b; background: #fff0f1; font-size: .65rem; font-weight: 800; }
.table-person strong, .table-person small { display: block; }
.table-person strong { color: #343841; font-size: .72rem; }
.table-person small { margin-top: .15rem; color: #9a9ea7; font-size: .6rem; }
.role-chip { padding: .33rem .48rem; border-radius: 6px; color: #5d4a85; background: #f3eff9; font-size: .6rem; font-weight: 700; }
.status-chip { display: inline-flex; align-items: center; gap: .38rem; padding: .35rem .52rem; border-radius: 999px; font-size: .6rem; font-weight: 700; }
.status-chip i { width: 6px; height: 6px; border-radius: 50%; }
.status-chip.active { color: #22794a; background: #edf9f2; }.status-chip.active i { background: #2caf68; }
.status-chip.inactive { color: #8a4d50; background: #f9eeee; }.status-chip.inactive i { background: #bb5157; }
.dt-container { font-size: .68rem; }
.dt-container .dt-search input, .dt-container .dt-length select { border: 1px solid #dfe1e6 !important; border-radius: 7px !important; }
.dt-container .pagination .page-link { color: #60646e; border-color: #e5e6e9; font-size: .65rem; }
.dt-container .active > .page-link { border-color: var(--covicol-red); background: var(--covicol-red); }
.covicol-modal { border: 0; border-radius: 16px; box-shadow: 0 24px 70px rgba(20,22,28,.22); }
.covicol-modal .modal-header { padding: 1.3rem 1.5rem; border-bottom: 1px solid #ededf0; }
.covicol-modal .modal-header h2 { margin: .25rem 0 0; font-size: 1.25rem; font-weight: 800; }
.covicol-modal .modal-body { padding: 1.5rem; }
.covicol-modal .modal-footer { padding: 1rem 1.5rem; border-top: 1px solid #ededf0; }
.select2-container { max-width: 100%; }
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple { min-height: 44px; border: 1px solid #dfe1e6; border-radius: 9px; }
.select2-container .select2-selection--single .select2-selection__rendered { padding: 7px 36px 7px 12px; color: var(--ink); line-height: 28px; }
.select2-container .select2-selection--single .select2-selection__arrow { top: 8px; right: 7px; }
.select2-container .select2-selection--multiple { padding: 3px 7px; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple { border-color: #ef8f93; box-shadow: 0 0 0 .22rem rgba(215,25,32,.09); }
.select2-container--default .select2-selection--single .select2-selection__clear { position: relative; z-index: 2; margin-right: 14px; color: #8d929b; }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--covicol-red); }
.select2-dropdown { z-index: 1060; border-color: #dfe1e6; box-shadow: 0 12px 30px rgba(28,32,43,.12); }
.select2-search--dropdown .select2-search__field { min-height: 40px; border: 1px solid #dfe1e6; border-radius: 7px; outline: 0; }
.select2-search--dropdown .select2-search__field:focus { border-color: #ef8f93; box-shadow: 0 0 0 .18rem rgba(215,25,32,.08); }
.form-select.mb-1 + .select2-container { margin-bottom: .25rem; }
.form-select.mb-2 + .select2-container { margin-bottom: .5rem; }
.form-select.mb-3 + .select2-container { margin-bottom: 1rem; }
.form-select.is-invalid + .select2-container .select2-selection { border-color: #dc3545; }
.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple { background: #e9ecef; cursor: not-allowed; }

.role-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; margin-bottom: 1rem; }
.role-summary-card { display: flex; align-items: center; gap: .75rem; padding: .9rem; border: 1px solid #e6e7ea; border-radius: 12px; text-align: left; background: #fff; transition: .18s; }
.role-summary-card:hover, .role-summary-card.selected { border-color: #e88b8f; box-shadow: 0 7px 18px rgba(215,25,32,.08); }
.role-card-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: #c9151c; background: #fff0f1; }
.role-summary-card strong, .role-summary-card small { display: block; }
.role-summary-card strong { color: #373b44; font-size: .72rem; }
.role-summary-card small { margin-top: .2rem; color: #999da6; font-size: .58rem; }
.security-notice { display: flex; gap: .8rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid #f3d4a2; border-radius: 10px; color: #825715; background: #fff9ef; }
.security-notice > i { font-size: 1.1rem; }.security-notice strong { font-size: .73rem; }.security-notice p { margin: .2rem 0 0; font-size: .65rem; }
.permission-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.permission-group { overflow: hidden; border: 1px solid #e8e9ec; border-radius: 10px; }
.permission-group-title { padding: .6rem .8rem; color: #777c86; background: #f7f7f9; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.permission-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .6rem; min-height: 55px; padding: .65rem .8rem; border-top: 1px solid #eff0f2; cursor: pointer; }
.permission-row strong, .permission-row small { display: block; }.permission-row strong { font-size: .68rem; }.permission-row small { margin-top: .1rem; color: #999da5; font-size: .56rem; }
.permission-action { padding: .2rem .35rem; border-radius: 5px; color: #6c717c; background: #f2f3f5; font-size: .55rem; font-weight: 700; text-transform: uppercase; }
.permission-row input { width: 17px; height: 17px; accent-color: var(--covicol-red); }

.catalog-cards { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .7rem; margin-bottom: 1rem; }
.catalog-card { display: flex; align-items: center; gap: .6rem; padding: .8rem; border: 1px solid #e7e8eb; border-radius: 11px; text-align: left; background: #fff; transition: .18s; }
.catalog-card > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: #686d77; background: #f3f4f6; }
.catalog-card strong, .catalog-card small { display: block; }.catalog-card strong { font-size: .92rem; }.catalog-card small { margin-top: .1rem; color: #969aa4; font-size: .56rem; }
.catalog-card.active { border-color: #e78388; background: #fff9f9; box-shadow: 0 6px 16px rgba(215,25,32,.07); }.catalog-card.active > span { color: #c8141b; background: #ffecee; }

/* Inventario y activos */
.page-actions { display:flex;align-items:center;gap:.65rem; }
.filter-panel { padding:1rem; margin-bottom:.8rem; border:1px solid #e7e8ec; border-radius:13px; background:#fff; box-shadow:0 5px 20px rgba(28,32,43,.035); }
.search-input { position:relative; }.search-input i { position:absolute;z-index:2;left:.9rem;top:50%;color:#989ca6;transform:translateY(-50%); }.search-input input { padding-left:2.5rem; }
.inventory-summary { display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .2rem 1rem;color:#8a8e98;font-size:.66rem; }.inventory-summary strong { color:#363a43;font-size:.8rem; }.inventory-summary i { margin-right:.35rem;color:#23975a; }
.asset-table-panel { padding:0; }.asset-table-panel .dt-layout-row { padding-left:1rem;padding-right:1rem; }.asset-table-panel .table-responsive { padding-bottom:.5rem; }
.asset-cell { display:flex;align-items:center;gap:.75rem;min-width:270px; }.asset-thumb { display:grid;place-items:center;flex:0 0 auto;width:56px;height:48px;overflow:hidden;border:1px solid #e5e6e9;border-radius:9px;color:#aaaeb7;background:#f4f5f7; }.asset-thumb img { width:100%;height:100%;object-fit:cover; }.asset-cell strong,.asset-cell span,.asset-cell small { display:block; }.asset-cell strong { color:#242830;font-size:.72rem; }.asset-cell span { max-width:270px;margin:.13rem 0;color:#656a74;font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.asset-cell small { color:#a3a6ae;font-size:.57rem; }
.category-chip { display:inline-block;padding:.3rem .45rem;border-radius:6px;color:#4e5c73;background:#eef2f7;font-size:.59rem;font-weight:700; }.asset-status { display:inline-flex;align-items:center;gap:.4rem;padding:.36rem .55rem;border-radius:999px;color:var(--status-color);background:color-mix(in srgb,var(--status-color) 11%,white);font-size:.6rem;font-weight:800;white-space:nowrap; }.asset-status i { width:7px;height:7px;border-radius:50%;background:var(--status-color); }
.table-primary-text,.table-secondary-text { display:block; }.table-secondary-text { margin-top:.15rem;color:#9da0a8;font-size:.58rem; }.table-action { width:31px;height:31px;border:1px solid #e5e6e9;border-radius:8px;color:#757a84;background:#fff; }
.inventory-catalog-cards { grid-template-columns:repeat(5,minmax(0,1fr)); }.switch-field { display:flex;align-items:center;gap:.65rem;min-height:44px;margin-top:1.45rem;font-size:.72rem;font-weight:700;cursor:pointer; }.switch-field input { display:none; }.switch-field span { position:relative;width:38px;height:22px;border-radius:999px;background:#d8dae0;transition:.2s; }.switch-field span::after { content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.2s; }.switch-field input:checked+span { background:var(--covicol-red); }.switch-field input:checked+span::after { transform:translateX(16px); }
.import-instructions { display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem;border:1px solid #cfe5f5;border-radius:10px;color:#32617f;background:#f1f8fd; }.import-instructions>i { margin-top:.1rem; }.import-instructions strong { font-size:.72rem; }.import-instructions p { margin:.25rem 0 0;font-size:.64rem;line-height:1.55; }.template-download { display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.85rem;border:1px solid #dce9e1;border-radius:10px;color:#336047;background:#f6fbf8; }.template-download>i:first-child { color:#198754;font-size:1.25rem; }.template-download>i:last-child { margin-left:auto; }.template-download span { flex:1; }.template-download strong,.template-download small { display:block; }.template-download strong { font-size:.7rem; }.template-download small { margin-top:.15rem;color:#799083;font-size:.58rem; }

.asset-form { display:grid;gap:1rem; }.form-progress { position:sticky;z-index:10;top:82px;display:grid;grid-template-columns:repeat(5,1fr);padding:.55rem;border:1px solid #e5e6e9;border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(30,33,43,.06);backdrop-filter:blur(10px); }.form-progress button { display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:43px;border:0;border-radius:9px;color:#8a8f98;background:transparent;font-size:.67rem;font-weight:700; }.form-progress b { display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#777c85;background:#eff0f2;font-size:.63rem; }.form-progress button.active { color:#b51117;background:#fff0f1; }.form-progress button.active b { color:#fff;background:var(--covicol-red); }
.form-section { padding:1.6rem; }.form-section-heading { display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid #ededf0; }.form-section-heading>span { display:grid;place-items:center;width:44px;height:44px;border-radius:11px;color:#c7151c;background:#fff0f1;font-size:1rem; }.form-section-heading h3 { margin:0;font-size:1.02rem;font-weight:800; }.form-section-heading p { margin:.2rem 0 0;color:#969aa4;font-size:.65rem; }.subsection-title { margin:0 0 1rem;font-size:.82rem;font-weight:800; }.control-options { display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem; }.control-options label { cursor:pointer; }.control-options input { display:none; }.control-options span { display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:62px;padding:.6rem;border:1px solid #e4e5e9;border-radius:10px;color:#737883;background:#fafafb;font-size:.64rem;font-weight:700;text-align:center;transition:.18s; }.control-options input:checked+span { border-color:#e3767b;color:#b51117;background:#fff1f2;box-shadow:0 5px 14px rgba(215,25,32,.07); }.empty-inline { display:flex;align-items:center;gap:.55rem;padding:1rem;border:1px dashed #dfe1e5;border-radius:9px;color:#9599a2;background:#fafafb;font-size:.66rem; }
.upload-grid { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }.upload-zone { display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:1.5rem;border:2px dashed #e5b1b4;border-radius:14px;color:#737782;background:#fffafb;text-align:center;cursor:pointer;transition:.2s; }.upload-zone:hover { border-color:var(--covicol-red);background:#fff4f4; }.upload-zone.documents { border-color:#cfd5df;background:#fafbfc; }.upload-zone input { position:absolute;width:1px;height:1px;opacity:0; }.upload-zone>i { margin-bottom:.8rem;color:#cb171e;font-size:2rem; }.upload-zone.documents>i { color:#53647b; }.upload-zone strong { color:#333740;font-size:.82rem; }.upload-zone span { margin:.4rem 0 .8rem;color:#979ba4;font-size:.62rem; }.upload-zone em { padding:.4rem .7rem;border-radius:7px;color:#bd1219;background:#ffebec;font-size:.61rem;font-style:normal;font-weight:800; }.photo-preview { display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.65rem;margin-top:1rem; }.photo-preview>div { overflow:hidden;border:1px solid #e5e6e9;border-radius:9px;background:#fff; }.photo-preview img { width:100%;height:90px;object-fit:cover; }.photo-preview span { display:block;padding:.4rem;overflow:hidden;color:#777b85;font-size:.55rem;text-overflow:ellipsis;white-space:nowrap; }.form-actions { position:sticky;z-index:9;bottom:0;display:flex;justify-content:flex-end;gap:.6rem;padding:1rem;border:1px solid #e4e5e8;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 -8px 28px rgba(29,32,42,.06);backdrop-filter:blur(10px); }
.alert-soft { display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border-radius:11px; }.alert-soft.info { color:#285a7c;background:#eef7fd;border:1px solid #cfe8f8; }.alert-soft.warning { color:#805f12;background:#fff8e4;border:1px solid #eddb9f; }.alert-soft.danger { color:#9c171d;background:#fff0f1;border:1px solid #efc8ca; }.alert-soft strong { font-size:.73rem; }.alert-soft p { margin:.2rem 0 0;font-size:.65rem; }

.asset-profile-header { display:grid;grid-template-columns:190px 1fr 145px;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:1.3rem;border:1px solid #e6e7ea;border-radius:16px;background:linear-gradient(120deg,#fff 0%,#fff 70%,#fff4f4 100%);box-shadow:var(--shadow); }.profile-image { display:grid;place-items:center;width:190px;height:150px;overflow:hidden;border-radius:12px;color:#b2b5bd;background:#f1f2f4;font-size:2rem; }.profile-image img { width:100%;height:100%;object-fit:cover; }.profile-info h2 { margin:.45rem 0 .25rem;font-size:1.55rem;font-weight:800;letter-spacing:-.035em; }.profile-info>p { margin:0;color:#777c86;font-size:.75rem; }.asset-code-label { display:block;margin-top:.65rem;color:#a0a3ab;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }.profile-tags { display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem; }.profile-tags span { padding:.35rem .55rem;border-radius:7px;color:#666b75;background:#f3f4f6;font-size:.59rem;font-weight:600; }.profile-tags i { margin-right:.35rem;color:#bc161d; }.profile-qr { text-align:center; }.profile-qr img { width:115px;height:115px;border:1px solid #eee;border-radius:10px;background:#fff; }.profile-qr small { display:block;margin-top:.35rem;color:#9498a1;font-size:.55rem; }
.asset-detail-grid { display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem; }.asset-detail-main,.asset-detail-side { display:grid;align-content:start;gap:1rem; }.detail-list { display:grid;grid-template-columns:repeat(4,1fr);gap:1rem; }.detail-list span,.detail-list strong { display:block; }.detail-list span { margin-bottom:.25rem;color:#969aa3;font-size:.59rem; }.detail-list strong { color:#393d46;font-size:.7rem; }
.asset-gallery { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem; }.asset-gallery article { position:relative;overflow:hidden;min-height:155px;border-radius:11px;background:#f1f2f4; }.asset-gallery img { width:100%;height:180px;object-fit:cover;transition:.2s; }.asset-gallery article:hover img { transform:scale(1.025); }.main-photo-badge { position:absolute;top:.55rem;left:.55rem;padding:.3rem .45rem;border-radius:6px;color:#fff;background:rgba(20,21,25,.76);font-size:.55rem;font-weight:700;backdrop-filter:blur(6px); }.photo-actions { position:absolute;right:.5rem;bottom:.5rem;display:flex;gap:.35rem; }.photo-actions button { width:31px;height:31px;border:0;border-radius:7px;color:#343840;background:rgba(255,255,255,.92);box-shadow:0 4px 10px rgba(0,0,0,.12); }.photo-actions button.danger { color:#c5151c; }
.inline-upload { display:flex;gap:.55rem; }.inline-upload .form-control { flex:1; }.inline-upload.stacked { display:grid; }.asset-timeline { position:relative;display:grid;gap:0; }.asset-timeline>div { position:relative;display:flex;gap:.8rem;padding:0 0 1.2rem; }.asset-timeline>div:not(:last-child)::before { content:'';position:absolute;top:28px;bottom:0;left:14px;width:1px;background:#e1e3e7; }.timeline-icon { position:relative;z-index:1;display:grid;place-items:center;flex:0 0 auto;width:29px;height:29px;border-radius:50%;color:#c4141b;background:#fff0f1;font-size:.65rem; }.asset-timeline strong { font-size:.7rem;text-transform:capitalize; }.asset-timeline p { margin:.18rem 0;color:#767b85;font-size:.65rem; }.asset-timeline small { color:#a4a7ae;font-size:.55rem; }
.side-detail { display:flex;gap:.7rem;padding:.75rem 0;border-bottom:1px solid #eff0f2; }.side-detail>i { display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#bf161d;background:#fff0f1; }.side-detail span,.side-detail strong,.side-detail small { display:block; }.side-detail span,.mini-detail span { color:#9a9da5;font-size:.56rem; }.side-detail strong { margin:.15rem 0;font-size:.67rem; }.side-detail small { color:#7d818b;font-size:.58rem; }.finance-value { padding:1rem;margin-bottom:.5rem;border-radius:10px;color:#fff;background:linear-gradient(120deg,#1d1e23,#3b2023); }.finance-value span,.finance-value strong { display:block; }.finance-value span { color:#c8c9cd;font-size:.58rem; }.finance-value strong { margin-top:.25rem;font-size:1.25rem; }.mini-detail { display:flex;justify-content:space-between;gap:.5rem;padding:.6rem 0;border-bottom:1px solid #eff0f2; }.mini-detail strong { font-size:.62rem;text-align:right; }.document-list { display:grid;gap:.5rem; }.document-list>a { display:flex;align-items:center;gap:.6rem;padding:.65rem;border:1px solid #e9eaed;border-radius:8px;color:#565b65; }.document-list>a>i:first-child { color:#c5151c;font-size:1rem; }.document-list>a>i:last-child { margin-left:auto;color:#9599a2; }.document-list span { min-width:0;flex:1; }.document-list strong,.document-list small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.document-list strong { font-size:.62rem; }.document-list small { margin-top:.15rem;color:#a1a4ac;font-size:.52rem; }.danger-zone { display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-color:#f2cdcf;background:#fffafa; }.danger-zone strong { font-size:.7rem; }.danger-zone p { margin:.2rem 0 0;color:#9a7779;font-size:.58rem; }

.public-page { background:linear-gradient(135deg,#f5f6f8,#fff); }.public-header { display:flex;align-items:center;gap:.8rem;max-width:920px;margin:0 auto;padding:1.2rem; }.public-header img { width:100px;height:55px;object-fit:contain; }.public-header strong,.public-header small { display:block; }.public-header strong { letter-spacing:.09em; }.public-header small { color:#9397a0;font-size:.62rem; }.public-content { width:min(920px,calc(100% - 2rem));margin:2rem auto; }.public-footer { padding:1.3rem;color:#999da5;text-align:center;font-size:.64rem; }.verification-card { overflow:hidden;border:1px solid #e4e5e8;border-radius:20px;background:#fff;box-shadow:0 20px 60px rgba(31,34,43,.09); }.verification-ok { display:flex;align-items:center;gap:.5rem;padding:.8rem 1.4rem;color:#217b49;background:#eef9f3;font-size:.66rem;font-weight:800;letter-spacing:.08em; }.verification-main { display:grid;grid-template-columns:240px 1fr;align-items:center;gap:1.5rem;padding:1.5rem; }.verification-main>img,.verification-placeholder { width:240px;height:190px;object-fit:cover;border-radius:13px;background:#f1f2f4; }.verification-placeholder { display:grid;place-items:center;color:#b4b7be;font-size:2rem; }.verification-main h1 { margin:.2rem 0;font-size:2rem;font-weight:800; }.verification-main p { color:#666b75; }.verification-data { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-top:1px solid #e8e9ec;background:#e8e9ec; }.verification-data>div { padding:1rem 1.3rem;background:#fff; }.verification-data span,.verification-data strong { display:block; }.verification-data span { margin-bottom:.28rem;color:#989ca5;font-size:.58rem; }.verification-data strong { font-size:.68rem; }.verification-note { display:flex;align-items:center;gap:.7rem;padding:1rem 1.4rem;color:#737883;background:#fafafb;font-size:.62rem; }.verification-note i { color:#c5151c;font-size:1rem; }

/* Movimientos de inventario */
.movement-summary{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;margin-bottom:1rem;padding:1.2rem 1.35rem;border:1px solid #e4e6e9;border-radius:14px;background:linear-gradient(120deg,#fff,#fafafb);box-shadow:0 8px 24px rgba(35,38,45,.04)}.movement-summary-intro{display:flex;align-items:center;gap:1rem}.movement-summary-intro>span{display:grid;place-items:center;width:54px;height:54px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#d41b23,#8f1117);font-size:1.2rem;box-shadow:0 8px 20px rgba(183,20,27,.2)}.movement-summary-intro small,.movement-summary-intro h2,.movement-summary-intro p{display:block;margin:0}.movement-summary-intro small{color:#c21820;font-size:.55rem;font-weight:800;letter-spacing:.12em}.movement-summary-intro h2{margin:.18rem 0;font-size:1.08rem;font-weight:800}.movement-summary-intro p{color:#898d96;font-size:.62rem}.movement-metrics{display:flex;gap:.5rem}.movement-metrics article{min-width:76px;padding:.7rem;border-radius:9px;text-align:center;background:#f2f3f5}.movement-metrics strong,.movement-metrics span{display:block}.movement-metrics strong{font-size:1rem}.movement-metrics span{color:#92969e;font-size:.5rem}.movement-metrics .green{color:#16804d;background:#eaf8f0}.movement-metrics .amber{color:#a16a08;background:#fff7df}.movement-metrics .red{color:#b5161d;background:#ffeded}.movement-filter-card{margin-bottom:1rem}.movement-number{display:flex;align-items:center;gap:.65rem;color:#363a42}.movement-number>i{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#c5161e;background:#fff0f1}.movement-number strong,.movement-number small{display:block}.movement-number strong{font-size:.67rem}.movement-number small{margin-top:.12rem;color:#999da5;font-size:.52rem}.asset-count-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .5rem;border-radius:7px;color:#525762;background:#f0f1f3;font-size:.58rem;font-weight:700}.movement-status{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:10rem;font-size:.54rem;font-weight:800;letter-spacing:.04em}.movement-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-borrador{color:#92620c;background:#fff5d8}.status-confirmada{color:#187447;background:#e9f8ef}.status-anulada{color:#ad151c;background:#fdebed}
.movement-form{display:grid;gap:1rem}.movement-form-hero{display:flex;align-items:center;justify-content:space-between;min-height:125px;padding:1.4rem 1.6rem;overflow:hidden;border-radius:15px;color:#fff;background:linear-gradient(120deg,#1e2025,#442125);box-shadow:0 12px 30px rgba(33,20,22,.13)}.movement-form-hero span{font-size:.55rem;font-weight:800;letter-spacing:.14em;color:#ef9da0}.movement-form-hero h2{margin:.25rem 0;font-size:1.35rem;font-weight:800}.movement-form-hero p{margin:0;color:#c4c5c9;font-size:.65rem}.movement-form-hero>i{margin-right:1rem;color:#fff;font-size:4rem;opacity:.13}.movement-form-section{margin:0}.required-note{color:#a1a4ab;font-size:.55rem}.step-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#bd161d;background:#fff0f1;font-size:.6rem;font-weight:800}.field-help{display:block;margin-top:.3rem;color:#989ca4;font-size:.53rem}.asset-search-bar{display:grid;grid-template-columns:1fr auto;gap:.65rem;margin-bottom:1rem}.asset-results{min-height:100px;padding:.75rem;border:1px dashed #dfe1e5;border-radius:10px;background:#fafafb}.asset-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.asset-result-grid article{display:grid;grid-template-columns:72px 1fr auto;gap:.7rem;align-items:center;padding:.6rem;border:1px solid #e5e6e9;border-radius:10px;background:#fff;transition:.18s}.asset-result-grid article.chosen{border-color:#b9dfc9;background:#f4fbf7}.asset-result-grid img,.asset-result-placeholder{width:72px;height:60px;object-fit:cover;border-radius:7px;background:#eff0f2}.asset-result-placeholder{display:grid;place-items:center;color:#afb2b9}.asset-result-grid strong,.asset-result-grid p,.asset-result-grid small,.asset-result-grid span{display:block}.asset-result-grid strong{color:#bd161d;font-size:.63rem}.asset-result-grid p{margin:.1rem 0;color:#3f434b;font-size:.62rem;font-weight:700}.asset-result-grid small,.asset-result-grid span{color:#92969f;font-size:.51rem}.asset-result-grid span{margin-top:.2rem}.asset-result-grid button{display:grid;place-items:center;gap:.18rem;min-width:66px;padding:.45rem;border:0;border-radius:7px;color:#fff;background:#292c32;font-size:.48rem;font-weight:700}.asset-result-grid article.chosen button{color:#237d4d;background:#dff3e8}.selected-assets-heading{display:flex;align-items:center;justify-content:space-between;margin:1rem 0 .6rem;padding-top:.9rem;border-top:1px solid #eceef0}.selected-assets-heading strong,.selected-assets-heading small{display:block}.selected-assets-heading strong{font-size:.69rem}.selected-assets-heading small{color:#999da5;font-size:.53rem}.selected-assets-heading>span{padding:.35rem .55rem;border-radius:8px;color:#be161d;background:#fff0f1;font-size:.55rem;font-weight:800}.selected-movement-assets{display:grid;gap:.65rem}.selected-empty{padding:1rem;color:#9da0a7;text-align:center;border:1px dashed #dfe1e5;border-radius:9px;font-size:.58rem}.selected-movement-asset{padding:.75rem;border:1px solid #e4e6e9;border-radius:11px;background:#fff}.selected-asset-head{display:grid;grid-template-columns:58px 1fr auto;gap:.7rem;align-items:center}.selected-asset-photo,.selected-asset-photo img{width:58px;height:50px;border-radius:7px}.selected-asset-photo{display:grid;place-items:center;color:#aaaeb5;background:#f0f1f3}.selected-asset-photo img{object-fit:cover}.selected-asset-head strong,.selected-asset-head p,.selected-asset-head small{display:block}.selected-asset-head strong{color:#bd161d;font-size:.62rem}.selected-asset-head p{margin:.08rem 0;font-size:.63rem;font-weight:700}.selected-asset-head small{color:#969aa3;font-size:.51rem}.selected-asset-head>button{width:30px;height:30px;border:0;border-radius:7px;color:#a8171d;background:#fff0f1}.selected-asset-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid #eff0f2}.selected-asset-fields label{display:block;margin-bottom:.2rem;color:#8d9199;font-size:.5rem}.movement-upload{display:flex;align-items:center;gap:.8rem;min-height:125px;padding:1rem;border:1px dashed #d6d9de;border-radius:11px;background:#fafafb;cursor:pointer}.movement-upload input{position:absolute;width:1px;height:1px;opacity:0}.movement-upload>i{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;color:#c2171f;background:#fff0f1;font-size:1rem}.movement-upload strong,.movement-upload small{display:block}.movement-upload strong{font-size:.65rem}.movement-upload small{margin-top:.2rem;color:#999da5;font-size:.53rem}.signature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.signature-capture{display:grid;gap:.5rem;padding:.75rem;border:1px solid #e5e6e9;border-radius:11px}.signature-title{display:flex;align-items:center;gap:.55rem}.signature-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:#be171e;background:#fff0f1}.signature-title strong,.signature-title small{display:block}.signature-title strong{font-size:.62rem}.signature-title small{color:#9da0a7;font-size:.48rem}.signature-pad{position:relative;height:125px;overflow:hidden;border:1px dashed #cfd2d7;border-radius:8px;background:#fff}.signature-pad canvas{width:100%;height:100%;touch-action:none;cursor:crosshair}.signature-pad>span{position:absolute;right:.45rem;bottom:.3rem;color:#b1b4ba;font-size:.46rem;pointer-events:none}.movement-form-actions{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.movement-form-actions>div{display:flex;align-items:center;gap:.8rem}.movement-form-actions small{color:#9599a1;font-size:.52rem}
.movement-profile{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-bottom:1rem;padding:1.2rem 1.35rem;border:1px solid #e3e5e8;border-left:4px solid #d39b23;border-radius:14px;background:#fff;box-shadow:0 9px 25px rgba(37,40,47,.05)}.movement-profile.status-border-confirmada{border-left-color:#198754}.movement-profile.status-border-anulada{border-left-color:#c2171e}.movement-profile-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#cf1921,#851116);font-size:1.25rem}.movement-profile-main h2{margin:.22rem 0 .05rem;font-size:1.25rem;font-weight:800}.movement-profile-main p{margin:0;color:#8d919a;font-size:.6rem}.document-type-chip{color:#777c85;font-size:.52rem;font-weight:800;letter-spacing:.08em}.movement-profile-actions{display:flex;gap:.5rem}.draft-workflow{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #f0dda7;border-radius:11px;background:#fffaed}.draft-workflow>div:first-child{display:flex;align-items:center;gap:.65rem;color:#86600c}.draft-workflow strong,.draft-workflow small{display:block}.draft-workflow strong{font-size:.65rem}.draft-workflow small{margin-top:.15rem;color:#a1874e;font-size:.53rem}.workflow-steps{display:flex;gap:.4rem}.workflow-steps span{display:flex;align-items:center;gap:.3rem;padding:.35rem .5rem;border-radius:7px;color:#9a7b35;background:#fff3cf;font-size:.5rem;font-weight:700}.workflow-steps .done{color:#237b4e;background:#e4f5eb}.movement-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem}.movement-detail-main,.movement-detail-side{display:grid;align-content:start;gap:1rem}.movement-assets-list{display:grid;gap:.55rem}.movement-assets-list article{display:grid;grid-template-columns:68px minmax(160px,1.4fr) 1fr 1fr .8fr;gap:.7rem;align-items:center;padding:.65rem;border:1px solid #e8e9ec;border-radius:10px}.movement-asset-photo,.movement-asset-photo img{width:68px;height:58px;border-radius:7px}.movement-asset-photo{display:grid;place-items:center;color:#b4b7bd;background:#f0f1f3}.movement-asset-photo img{object-fit:cover}.movement-asset-info a,.movement-asset-info strong,.movement-asset-info small,.movement-asset-condition span,.movement-asset-condition strong,.movement-asset-condition small,.movement-asset-accessories span,.movement-asset-accessories strong,.movement-asset-accessories small,.movement-asset-current span,.movement-asset-current strong,.movement-asset-current small{display:block}.movement-asset-info a{color:#c2171e;font-size:.59rem;font-weight:800}.movement-asset-info strong{margin:.1rem 0;font-size:.62rem}.movement-asset-info small,.movement-asset-condition small,.movement-asset-accessories small,.movement-asset-current small{color:#999da5;font-size:.49rem}.movement-asset-condition span,.movement-asset-accessories span,.movement-asset-current span{margin-bottom:.18rem;color:#a0a3aa;font-size:.48rem}.movement-asset-condition strong,.movement-asset-accessories strong,.movement-asset-current strong{font-size:.57rem}.stored-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.stored-signatures article{display:grid;align-content:end;min-height:135px;padding:.7rem;border:1px solid #e5e7ea;border-radius:9px;text-align:center}.stored-signatures img{width:100%;height:55px;object-fit:contain}.stored-signatures strong,.stored-signatures span,.stored-signatures small{display:block}.stored-signatures strong{padding-top:.35rem;border-top:1px solid #d9dbdf;font-size:.58rem}.stored-signatures span,.stored-signatures small{margin-top:.12rem;color:#969aa2;font-size:.47rem}.stored-signatures .pending{place-items:center;align-content:center;color:#b0b3b9;border-style:dashed;background:#fafafb}.stored-signatures .pending i{margin-bottom:.45rem;font-size:1.2rem}.stored-signatures .pending strong{border:0}.add-signature-form{margin-top:.8rem;padding-top:.8rem;border-top:1px solid #eceef0}.signature-pad.compact{height:80px}.movement-evidence-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.movement-evidence-gallery a{position:relative;overflow:hidden;height:120px;border-radius:9px}.movement-evidence-gallery img{width:100%;height:100%;object-fit:cover}.movement-evidence-gallery span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(15,17,21,.35);opacity:0;transition:.2s}.movement-evidence-gallery a:hover span{opacity:1}.movement-context{display:grid}.movement-context>div{display:flex;gap:.6rem;padding:.65rem 0;border-bottom:1px solid #eff0f2}.movement-context>div:last-child{border:0}.movement-context>div>i{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border-radius:7px;color:#c1171f;background:#fff0f1}.movement-context small,.movement-context strong{display:block}.movement-context small{color:#999da5;font-size:.49rem}.movement-context strong{margin-top:.15rem;font-size:.57rem}.control-timeline{display:grid;gap:.65rem}.control-timeline>div{display:flex;gap:.55rem}.control-timeline i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#969aa2;background:#f0f1f3}.control-timeline .done i{color:#207a4d;background:#e4f5eb}.control-timeline .annulled i{color:#b3171e;background:#fdebec}.control-timeline strong,.control-timeline small{display:block}.control-timeline strong{font-size:.58rem}.control-timeline small{margin-top:.12rem;color:#989ca4;font-size:.48rem}.note-title{font-size:.57rem}.movement-note{margin:.25rem 0 .7rem;color:#757a83;font-size:.55rem;line-height:1.6}.confirm-movement-card{text-align:center;border-color:#bde1cb;background:#f7fcf9}.confirm-movement-card>i{display:grid;place-items:center;width:45px;height:45px;margin:0 auto .6rem;border-radius:50%;color:#fff;background:#198754}.confirm-movement-card h3,.annul-movement-card h3{font-size:.72rem;font-weight:800}.confirm-movement-card p,.annul-movement-card p{color:#81868f;font-size:.53rem}.annul-movement-card{border-color:#f0c9cb;background:#fffafa}.annul-reason{color:#9d171d;border-color:#efc6c8;background:#fff8f8}.annul-reason>i{font-size:1.1rem}.annul-reason strong{display:block;margin:.4rem 0;font-size:.62rem}.annul-reason p{margin:0;font-size:.53rem}.verification-danger{color:#a8141b!important;background:#fdebec!important}.movement-public-main{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.5rem}.movement-public-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:17px;color:#fff;background:linear-gradient(145deg,#d51a22,#861117);font-size:1.5rem}.movement-public-main small{color:#a1a4ab;font-size:.55rem;font-weight:800;letter-spacing:.1em}.movement-public-main h1{margin:.2rem 0;font-size:1.5rem;font-weight:800}.movement-public-main p{margin:0;color:#777c85;font-size:.65rem}

.movement-public-icon{font-size:.8rem;font-weight:900;letter-spacing:.08em}
.public-verification-sections{display:grid;gap:1rem;padding:1.3rem;border-top:1px solid #eceef1}.public-verification-sections>section{padding:1rem;border:1px solid #e6e8eb;border-radius:13px;background:#fff}.public-verification-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.public-verification-heading small,.public-verification-heading h2{display:block;margin:0}.public-verification-heading small{color:#c1161e;font-size:.52rem;font-weight:850;letter-spacing:.1em}.public-verification-heading h2{margin-top:.15rem;font-size:.83rem;font-weight:800}.public-verification-heading>span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 .45rem;border-radius:9px;color:#af161d;background:#fff0f1;font-size:.6rem;font-weight:800}.public-verification-empty{margin:0;padding:.8rem;color:#8d9199;border-radius:9px;background:#f7f8f9;font-size:.59rem}.public-acta-items,.public-acta-signers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.public-acta-items article,.public-acta-signers article{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem;border:1px solid #eceef1;border-radius:10px;background:#fafbfc}.public-acta-items article>i,.public-acta-signers article>i{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:8px;color:#bd171e;background:#fff0f1}.public-acta-items strong,.public-acta-items span,.public-acta-items small,.public-acta-signers strong,.public-acta-signers span,.public-acta-signers small{display:block}.public-acta-items strong,.public-acta-signers strong{font-size:.62rem}.public-acta-items span,.public-acta-signers span{margin-top:.12rem;color:#626771;font-size:.55rem}.public-acta-items small,.public-acta-signers small{margin-top:.16rem;color:#969aa3;font-size:.49rem;line-height:1.4}.public-acta-signers article{align-items:center}.public-acta-signers article>div{min-width:0;flex:1}.public-acta-signers article>b{color:#1e784c;font-size:.45rem}.public-acta-evidence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.public-acta-evidence a{position:relative;overflow:hidden;height:135px;border-radius:9px;background:#eef0f2}.public-acta-evidence img{width:100%;height:100%;object-fit:cover}.public-acta-evidence span{position:absolute;right:0;bottom:0;left:0;padding:.45rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:.5rem;text-align:center}.public-verification-action{padding:0 1.4rem 1.3rem}.public-verification-action .btn{width:100%}.movement-upload em{display:block;margin-top:.35rem;color:#b4171d;font-size:.52rem;font-style:normal;font-weight:750}.movement-upload-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin-top:.5rem}.movement-upload-preview:empty{display:none}.movement-upload-preview img{width:100%;height:62px;border:1px solid #e1e4e8;border-radius:7px;object-fit:cover}

/* Fase 4 · Operación vehicular */
.operation-hero{display:grid;grid-template-columns:1fr auto minmax(420px,auto);gap:1.3rem;align-items:center;margin-bottom:1rem;padding:1.35rem 1.5rem;overflow:hidden;border-radius:16px;color:#fff;background:linear-gradient(120deg,#191b20,#3b1b1e);box-shadow:0 14px 30px rgba(27,20,21,.13)}.operation-hero.compact{padding-block:1.15rem}.operation-hero>div:first-child>span,.vehicle-form-banner span,.preop-mobile-header span{color:#ef9ca0;font-size:.54rem;font-weight:800;letter-spacing:.14em}.operation-hero h2,.vehicle-form-banner h2,.preop-mobile-header h2{margin:.22rem 0;font-size:1.3rem;font-weight:800}.operation-hero p,.vehicle-form-banner p,.preop-mobile-header p{margin:0;color:#c3c5ca;font-size:.6rem}.operation-hero>i{color:#fff;font-size:3rem;opacity:.13}.operation-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.operation-metrics article{min-width:82px;padding:.62rem;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.06);text-align:center}.operation-metrics strong,.operation-metrics small{display:block}.operation-metrics strong{font-size:1rem}.operation-metrics small{margin-top:.08rem;color:#bfc1c6;font-size:.47rem}.operation-metrics .ok strong{color:#76daa3}.operation-metrics .danger strong{color:#ff7f85}.operation-metrics .warning strong{color:#f2c96d}
.vehicle-cell{display:flex;align-items:center;gap:.6rem;color:inherit}.vehicle-cell img,.vehicle-cell>span{width:55px;height:43px;border-radius:8px}.vehicle-cell img{object-fit:cover}.vehicle-cell>span{display:grid;place-items:center;color:#bd161d;background:#fff0f1}.vehicle-cell strong,.vehicle-cell small{display:block}.vehicle-cell strong{color:#bc171e;font-size:.68rem}.vehicle-cell small{margin-top:.1rem;color:#9498a0;font-size:.5rem}.operation-status{display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .5rem;border-radius:30px;font-size:.49rem;font-style:normal;font-weight:800;letter-spacing:.025em;white-space:nowrap}.operation-status.approved{color:#197649;background:#e5f6ec}.operation-status.blocked{color:#a9141b;background:#fde9ea}.operation-status.pending{color:#8a620f;background:#fff3d5}
.vehicle-form{display:grid;gap:1rem}.vehicle-form-banner,.preop-mobile-header{display:flex;align-items:center;justify-content:space-between;min-height:125px;padding:1.4rem 1.6rem;border-radius:15px;color:#fff;background:linear-gradient(120deg,#202228,#492024)}.vehicle-form-banner>i,.preop-mobile-header>i{margin-right:2rem;font-size:4rem;opacity:.12}.form-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border:1px solid #e2e4e8;border-radius:12px;background:#fff;box-shadow:0 8px 20px rgba(31,34,40,.05)}.form-submit-bar span{color:#858a93;font-size:.54rem}.form-submit-bar span i{margin-right:.3rem;color:#ba171e}.operation-two-column{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(330px,.7fr);gap:1rem;align-items:start}
.driver-license-heading{flex-wrap:wrap}.driver-license-editor{display:grid;gap:.75rem}.driver-license-row{display:grid;grid-template-columns:42px minmax(180px,1.1fr) minmax(135px,.65fr) minmax(175px,.8fr) auto;gap:.75rem;align-items:end;padding:.85rem;border:1px solid #e6e7ea;border-radius:12px;background:#fafafb}.driver-license-number{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;color:#b9161d;background:#fff0f1}.driver-license-remove{height:38px}.driver-license-remove span{display:none}.driver-license-help{display:flex;align-items:center;gap:.55rem;margin-top:.8rem;padding:.7rem .85rem;border-radius:9px;color:#775d22;background:#fff8e7;font-size:.58rem}.driver-license-help i{color:#d39b1a}.driver-license-list,.driver-license-expiries{display:grid;gap:.38rem}.driver-license-list>span,.driver-license-expiries>span{display:flex;align-items:center;gap:.4rem}.driver-license-list strong{display:inline-grid;place-items:center;min-width:32px;padding:.18rem .35rem;border-radius:5px;color:#a7141a;background:#fff0f1;font-size:.58rem}.driver-license-list small,.driver-license-expiries small{color:#858a93;font-size:.5rem}.driver-license-expiries>span{justify-content:space-between}.driver-license-expiries .operation-status{white-space:nowrap;font-style:normal}
.vehicle-photo-grid article>form label{box-shadow:0 3px 10px rgba(39,24,25,.2);transition:.18s}.vehicle-photo-grid article>form label:hover{transform:scale(1.06);background:#a91218}.media-trace-note{display:flex;align-items:center;gap:.5rem;margin-top:.8rem;padding:.65rem .75rem;border-radius:9px;color:#6d727b;background:#f5f6f8;font-size:.52rem}.media-trace-note i{color:#b7181e}.vehicle-document-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center;overflow:hidden;border:1px solid #e6e7ea;border-radius:9px;background:#fff}.vehicle-document-item>a{display:grid;grid-template-columns:auto 1fr auto auto;gap:.6rem;align-items:center;min-width:0;padding:.65rem;color:inherit}.vehicle-document-item>a>i:first-child{display:grid;place-items:center;width:33px;height:33px;border-radius:7px;color:#bd171e;background:#fff0f1}.vehicle-document-item strong,.vehicle-document-item small{display:block}.vehicle-document-item strong{font-size:.58rem}.vehicle-document-item strong em{margin-left:.3rem;color:#b1181f;font-size:.42rem;font-style:normal}.vehicle-document-item small{color:#92969f;font-size:.48rem}.vehicle-document-item>form{padding-right:.55rem}.vehicle-document-item>form .btn span{display:none}.document-replace-option{display:block;cursor:pointer}.document-replace-option>input{position:absolute;opacity:0}.document-replace-option>span{display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem;align-items:center;padding:.75rem .85rem;border:1px solid #e1e3e7;border-radius:10px;background:#fafafb;transition:.18s}.document-replace-option>span>i{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#777c85;background:#eceef1}.document-replace-option strong{font-size:.58rem}.document-replace-option small{color:#8d929a;font-size:.5rem}.document-replace-option>input:checked+span{border-color:#efb7ba;background:#fff4f5}.document-replace-option>input:checked+span>i{color:#fff;background:#bd171e}
.vehicle-profile{display:grid;grid-template-columns:150px 1fr auto;gap:1.2rem;align-items:center;margin-bottom:1rem;padding:1.2rem;border:1px solid #e2e4e8;border-left:5px solid #188754;border-radius:15px;background:#fff;box-shadow:0 9px 25px rgba(35,38,44,.05)}.vehicle-profile.locked{border-left-color:#c2171e}.vehicle-profile-photo,.vehicle-profile-photo img{width:150px;height:112px;border-radius:11px}.vehicle-profile-photo{display:grid;place-items:center;color:#c1171e;background:#fff0f1;font-size:2rem}.vehicle-profile-photo img{object-fit:cover}.vehicle-profile h2{margin:.3rem 0 .05rem;font-size:1.55rem;font-weight:900;letter-spacing:.02em}.vehicle-profile p{margin:0;color:#898d96;font-size:.6rem}.vehicle-compliance-score{min-width:120px;padding:1rem;border-radius:12px;background:#f5f6f7;text-align:center}.vehicle-compliance-score strong,.vehicle-compliance-score span,.vehicle-compliance-score small{display:block}.vehicle-compliance-score strong{color:#bd171e;font-size:1.4rem}.vehicle-compliance-score span{font-size:.52rem;font-weight:700}.vehicle-compliance-score small{margin-top:.3rem;color:#969aa2;font-size:.47rem}.vehicle-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem}.vehicle-detail-main,.vehicle-detail-side{display:grid;gap:1rem;align-content:start}.vehicle-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.vehicle-photo-grid article{position:relative;min-height:125px;overflow:hidden;border:1px solid #e4e6e9;border-radius:10px;background:#fff}.vehicle-photo-grid article>a,.vehicle-photo-grid img{display:block;width:100%;height:88px}.vehicle-photo-grid img{object-fit:cover}.vehicle-photo-grid article>i{display:grid;place-items:center;height:88px;color:#bbbfc5;background:#f4f5f6;font-size:1.15rem}.vehicle-photo-grid article>div{padding:.45rem}.vehicle-photo-grid strong,.vehicle-photo-grid small{display:block}.vehicle-photo-grid strong{font-size:.54rem}.vehicle-photo-grid small{color:#989ca4;font-size:.46rem}.vehicle-photo-grid article>form{position:absolute;right:.4rem;top:.4rem}.vehicle-photo-grid article>form input{position:absolute;width:1px;height:1px;opacity:0}.vehicle-photo-grid article>form label{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:#fff;background:#c2171e;cursor:pointer}.vehicle-document-list{display:grid;gap:.45rem}.vehicle-document-list>a{display:grid;grid-template-columns:auto 1fr auto auto;gap:.6rem;align-items:center;padding:.65rem;border:1px solid #e6e7ea;border-radius:9px;color:inherit}.vehicle-document-list>a>i:first-child{display:grid;place-items:center;width:33px;height:33px;border-radius:7px;color:#bd171e;background:#fff0f1}.vehicle-document-list strong,.vehicle-document-list small{display:block}.vehicle-document-list strong{font-size:.58rem}.vehicle-document-list strong em{margin-left:.3rem;color:#b1181f;font-size:.42rem;font-style:normal}.vehicle-document-list small{color:#92969f;font-size:.48rem}.operational-add{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eceef0}.operational-add summary{color:#ae171d;font-size:.57rem;font-weight:800;cursor:pointer}.authorized-drivers{display:grid;gap:.5rem}.authorized-drivers>div{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center;padding:.5rem 0;border-bottom:1px solid #eef0f2}.authorized-drivers>div>i{display:grid;place-items:center;width:31px;height:31px;border-radius:7px;color:#b7181e;background:#fff0f1}.authorized-drivers strong,.authorized-drivers small{display:block}.authorized-drivers strong{font-size:.56rem}.authorized-drivers small{color:#979ba3;font-size:.45rem}.compliance-checklist>div:not(.panel-header){display:flex;align-items:center;gap:.45rem;padding:.42rem 0;font-size:.54rem}.compliance-checklist>div:not(.panel-header) i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%}.compliance-checklist .done i{color:#197649;background:#e4f5eb}.compliance-checklist .fail i{color:#a9141b;background:#fde9ea}.related-operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.related-operation-grid>div>strong{display:block;margin-bottom:.4rem;font-size:.62rem}.related-operation-grid a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;border-bottom:1px solid #eef0f2;color:#555a63;font-size:.53rem}.related-operation-grid>div>small{color:#999da5;font-size:.5rem}
.preop-form{display:grid;gap:1rem}.preop-progress-bar{position:sticky;z-index:20;top:75px;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.65rem .8rem;border:1px solid #e0e2e6;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(30,33,39,.08);backdrop-filter:blur(8px)}.preop-progress-bar span{font-size:.55rem}.preop-progress-bar>div{height:7px;overflow:hidden;border-radius:10px;background:#eceef0}.preop-progress-bar>div i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#cb171f,#198754);transition:.2s}.preop-items{display:grid;gap:.55rem}.preop-items article{padding:.7rem;border:1px solid #e6e7ea;border-radius:10px}.preop-item-title{display:flex;align-items:center;gap:.55rem;margin-bottom:.55rem}.preop-item-title strong{font-size:.61rem}.criticality{padding:.25rem .4rem;border-radius:5px;color:#626771;background:#eff0f2;font-size:.42rem;font-weight:800}.criticality.critica{color:#a7141b;background:#fde9ea}.criticality.alta{color:#925f09;background:#fff2d0}.preop-answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.preop-answer-grid input{position:absolute;opacity:0}.preop-answer-grid span{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.48rem;border:1px solid #e1e3e6;border-radius:7px;color:#747982;background:#fafafb;font-size:.51rem;font-weight:700;cursor:pointer}.preop-answer-grid input:checked+span{color:#fff;border-color:#198754;background:#198754}.preop-answer-grid .answer-regular input:checked+span{border-color:#d39a20;background:#d39a20}.preop-answer-grid .answer-malo input:checked+span{border-color:#c2171e;background:#c2171e}.preop-answer-grid .answer-no_aplica input:checked+span{border-color:#6c727c;background:#6c727c}.preop-item-detail{display:none;grid-template-columns:1fr auto;gap:.5rem;align-items:center;margin-top:.55rem}.preop-item-detail.show{display:grid}.preop-item-detail label{display:flex;align-items:center;gap:.35rem;padding:.5rem;border-radius:7px;color:#a7161d;background:#fff0f1;font-size:.5rem;font-weight:700;cursor:pointer}.preop-item-detail input{position:absolute;opacity:0}.preop-signature{height:145px}.sticky-submit{position:sticky;z-index:18;bottom:.7rem}.operation-record-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:1.2rem 1.4rem;border-left:5px solid #d29b24;border-radius:13px;color:#fff;background:linear-gradient(120deg,#212329,#472025)}.operation-record-header.approved{border-left-color:#198754}.operation-record-header.blocked{border-left-color:#df1d25}.operation-record-header h1,.operation-record-header h2{margin:.3rem 0 .1rem;font-size:1.25rem;font-weight:800}.operation-record-header p{margin:0;color:#c0c2c7;font-size:.57rem}.operation-record-header>i{font-size:3.2rem;opacity:.16}.operation-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:1rem}.operation-detail-main,.operation-detail-side{display:grid;gap:1rem;align-content:start}.preop-results{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.preop-results article{display:grid;grid-template-columns:auto 1fr auto auto;gap:.5rem;align-items:start;padding:.55rem;border:1px solid #e6e7ea;border-radius:8px}.answer-symbol{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;color:#197649;background:#e4f5eb}.preop-results .answer-malo .answer-symbol{color:#ae171e;background:#fde9ea}.preop-results .answer-regular .answer-symbol{color:#8c620c;background:#fff2d2}.preop-results .answer-no_aplica .answer-symbol{color:#676c75;background:#eff0f2}.preop-results strong,.preop-results small{display:block}.preop-results strong{font-size:.55rem}.preop-results small{color:#999da5;font-size:.45rem}.preop-results p{margin:.3rem 0 0;color:#747982;font-size:.49rem}.preop-results article>a{color:#bc171e}.preop-results article>em{padding:.2rem .3rem;border-radius:4px;color:#fff;background:#c2171e;font-size:.4rem;font-style:normal;font-weight:800}.single-signature{text-align:center}.single-signature img{width:100%;height:95px;object-fit:contain;border-bottom:1px solid #dfe1e5}.single-signature strong,.single-signature small{display:block}.single-signature strong{margin-top:.4rem;font-size:.6rem}.single-signature small{color:#999da5;font-size:.48rem}.decision-card{display:grid;gap:.55rem}
.trip-start-form{display:grid;gap:1rem}.trip-route-header{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-bottom:1rem;padding:1.05rem 1.2rem;border-radius:13px;color:#fff;background:linear-gradient(120deg,#24262c,#4a2024)}.route-point{display:flex;align-items:center;gap:.55rem}.route-point>i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:#c2171e}.route-point small,.route-point strong{display:block}.route-point small{color:#c6c8cd;font-size:.44rem}.route-point strong{font-size:.58rem}.route-line{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center}.route-line i{height:1px;background:#73767d}.route-line span{color:#d9dade;font-size:.47rem;font-weight:800}.arrival-form{display:grid;gap:1rem}.trip-destination{text-align:center}.trip-destination>i{display:grid;place-items:center;width:52px;height:52px;margin:0 auto .5rem;border-radius:50%;color:#fff;background:#c2171e}.trip-destination strong,.trip-destination small{display:block}.trip-destination strong{font-size:.67rem}.trip-destination small{margin-top:.35rem;color:#898e97;font-size:.5rem;line-height:1.5}.trip-novelties{display:grid;gap:.5rem}.trip-novelties article{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;padding:.65rem;border:1px solid #e5e7ea;border-radius:9px}.trip-novelties article>i{display:grid;place-items:center;width:35px;height:35px;border-radius:8px;color:#a9171d;background:#fdebec}.trip-novelties strong{font-size:.56rem}.trip-novelties p{margin:.15rem 0 0;color:#747982;font-size:.51rem}.trip-novelties span{font-size:.44rem;font-weight:800}.fuel-comparison{display:grid;grid-template-columns:1fr auto;gap:.35rem .6rem;align-items:center}.fuel-comparison>span{height:12px;overflow:hidden;border-radius:10px;background:#eceef0}.fuel-comparison>span i{display:block;width:var(--fuel);height:100%;border-radius:inherit;background:linear-gradient(90deg,#c2171e,#f0b22e)}.fuel-comparison small{font-size:.48rem}
.dashboard-vehicle-strip{display:grid;grid-template-columns:1.2fr auto repeat(4,1fr);gap:.7rem;align-items:center;margin-top:1rem;padding:.85rem 1rem;border:1px solid #e2e4e8;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(32,35,41,.05)}.dashboard-vehicle-strip>div{display:flex;align-items:center;gap:.5rem}.dashboard-vehicle-strip p{margin:0}.dashboard-vehicle-strip strong,.dashboard-vehicle-strip small{display:block}.dashboard-vehicle-strip strong{font-size:.72rem}.dashboard-vehicle-strip small{color:#90949d;font-size:.47rem}.dashboard-vehicle-strip>a{padding:.4rem .55rem;border-radius:7px;color:#ad171d;background:#fff0f1;font-size:.5rem;font-weight:800;white-space:nowrap}
.vehicle-alert-list{display:grid;gap:.45rem}.vehicle-alert-list>a{display:grid;grid-template-columns:auto 1fr auto auto;gap:.65rem;align-items:center;padding:.7rem;border:1px solid #e5e7ea;border-radius:9px;color:inherit}.vehicle-alert-list>a>i{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#ae171d;background:#fdebec}.vehicle-alert-list strong,.vehicle-alert-list small{display:block}.vehicle-alert-list strong{font-size:.58rem}.vehicle-alert-list small{margin-top:.12rem;color:#8e939b;font-size:.49rem}.vehicle-alert-list time{color:#989ca4;font-size:.46rem}

/* Fase 5: control técnico, auditorías y bajas */
.control-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.control-file-grid>a{display:flex;align-items:center;gap:.6rem;padding:.65rem;border:1px solid #e4e6e9;border-radius:9px;color:inherit;background:#fff}.control-file-grid>a>i{display:grid;place-items:center;min-width:35px;height:35px;border-radius:8px;color:#b4171d;background:#fdecee}.control-file-grid strong,.control-file-grid small{display:block}.control-file-grid strong{font-size:.54rem}.control-file-grid small{overflow:hidden;color:#92969e;font-size:.47rem;text-overflow:ellipsis;white-space:nowrap}.audit-progress>div:first-child{display:flex;justify-content:space-between;font-size:.63rem}.audit-progress>div:nth-child(2){height:9px;margin:.55rem 0 .8rem;overflow:hidden;border-radius:12px;background:#e9ebee}.audit-progress>div:nth-child(2) i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b9181e,#198754)}.audit-result-pills{display:flex;flex-wrap:wrap;gap:.35rem}.audit-result-pills span,.audit-tag{display:inline-flex;gap:.3rem;padding:.26rem .4rem;border-radius:5px;color:#636873;background:#eff1f3;font-size:.42rem;font-weight:800}.audit-encontrado{color:#166f46!important;background:#e3f5ea!important}.audit-ubicacion_incorrecta,.audit-responsable_incorrecto{color:#8a5b08!important;background:#fff1ce!important}.audit-danado,.audit-no_encontrado,.audit-no_registrado{color:#a2151b!important;background:#fde8e9!important}.audit-scanner video{width:100%;max-height:300px;margin-bottom:1rem;border-radius:11px;background:#15171b;object-fit:cover}.asset-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.asset-check-grid>label{cursor:pointer}.asset-check-grid>label[hidden]{display:none}.asset-check-grid input{position:absolute;opacity:0}.asset-check-grid label>span{display:grid;grid-template-columns:54px 1fr auto;grid-template-rows:auto auto auto;gap:.1rem .55rem;align-items:center;padding:.55rem;border:1px solid #e3e5e8;border-radius:10px;background:#fff}.asset-check-grid img,.asset-check-grid label>span>i{grid-row:1/4;width:54px;height:54px;border-radius:8px;object-fit:cover}.asset-check-grid label>span>i{display:grid;place-items:center;color:#aeb1b6;background:#f0f1f3}.asset-check-grid strong{font-size:.54rem}.asset-check-grid small{overflow:hidden;color:#7f848d;font-size:.46rem;text-overflow:ellipsis;white-space:nowrap}.asset-check-grid em{grid-column:3;grid-row:1/4;padding:.2rem .3rem;border-radius:4px;color:#777c84;background:#eff0f2;font-size:.4rem;font-style:normal}.asset-check-grid input:checked+span{border-color:#ba171e;background:#fff5f5;box-shadow:0 0 0 2px rgba(186,23,30,.09)}.asset-check-grid input:checked+span em{color:#fff;background:#ba171e}.asset-disposal-list{display:grid;gap:.55rem}.asset-disposal-list article{display:grid;grid-template-columns:58px 1fr auto;gap:.65rem;align-items:center;padding:.6rem;border:1px solid #e5e7ea;border-radius:9px}.asset-disposal-list img,.asset-disposal-list article>span{width:58px;height:52px;border-radius:7px;object-fit:cover}.asset-disposal-list article>span{display:grid;place-items:center;background:#f0f1f3}.asset-disposal-list strong,.asset-disposal-list small{display:block}.asset-disposal-list strong{font-size:.56rem}.asset-disposal-list small,.asset-disposal-list p{margin:0;color:#898e97;font-size:.47rem}.asset-disposal-list em{color:#9c1319;font-size:.55rem;font-style:normal;font-weight:800}.control-signatures{display:grid;gap:.7rem}.control-signatures article{text-align:center}.control-signatures img{width:100%;height:70px;object-fit:contain;border-bottom:1px solid #dfe1e4}.control-signatures strong,.control-signatures small{display:block}.control-signatures strong{margin-top:.3rem;font-size:.55rem}.control-signatures small{color:#9498a0;font-size:.44rem}.signature-pad.compact{height:115px}

/* Fase 6: analítica, bitácora y continuidad */
.report-selector{display:grid;gap:.85rem}.report-group>strong{display:block;margin-bottom:.4rem;color:#777c85;font-size:.48rem;letter-spacing:.08em;text-transform:uppercase}.report-group>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.report-group a{display:flex;align-items:center;gap:.45rem;min-height:48px;padding:.45rem .55rem;border:1px solid #e3e5e8;border-radius:8px;color:#555a63;background:#fafafb;font-size:.49rem;font-weight:700}.report-group a i{display:grid;place-items:center;min-width:28px;height:28px;border-radius:6px;color:#ae171d;background:#fdebed}.report-group a.active{color:#fff;border-color:#a9161c;background:#a9161c}.report-group a.active i{color:#fff;background:rgba(255,255,255,.17)}.report-preview{max-height:620px}.report-preview thead{position:sticky;z-index:2;top:0}.report-preview td{max-width:240px;font-size:.49rem}.audit-module{display:inline-flex;padding:.24rem .36rem;border-radius:5px;color:#9e151b;background:#fdebed;font-size:.43rem;font-weight:800;text-transform:uppercase}.audit-agent{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-values summary{color:#a9161c;font-size:.46rem;font-weight:800;cursor:pointer}.audit-values pre{max-width:260px;max-height:100px;overflow:auto;margin:.15rem 0 .4rem;padding:.35rem;border-radius:5px;background:#f2f3f5;font-size:.4rem;white-space:pre-wrap}.backup-grid{display:grid;gap:.6rem}.backup-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.75rem;border:1px solid #e3e5e8;border-radius:10px}.backup-grid article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;color:#a9161c;background:#fdebed;font-size:1.15rem}.backup-grid strong,.backup-grid small{display:block}.backup-grid strong{font-size:.58rem}.backup-grid small,.backup-grid p{margin:.15rem 0;color:#878c95;font-size:.46rem}.backup-grid code{color:#5f646d;font-size:.42rem}.backup-grid article>div:last-child{display:grid;grid-template-columns:auto auto;gap:.35rem;align-items:center;text-align:right}.backup-grid article>div:last-child em,.backup-grid article>div:last-child small{grid-column:1/-1;font-style:normal}.backup-grid article form{display:inline}.dashboard-analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.mini-chart{height:190px}.dashboard-operation-list,.dashboard-alert-list{display:grid;gap:.4rem}.dashboard-operation-list>a,.dashboard-alert-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:center;padding:.55rem;border-bottom:1px solid #eceef0;color:inherit}.dashboard-operation-list i,.dashboard-alert-list i{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;color:#a9161c;background:#fdebed}.dashboard-operation-list strong,.dashboard-operation-list small,.dashboard-alert-list strong,.dashboard-alert-list small{display:block}.dashboard-operation-list strong,.dashboard-alert-list strong{font-size:.53rem}.dashboard-operation-list small,.dashboard-alert-list small{color:#90949c;font-size:.45rem}.dashboard-operation-list em,.dashboard-alert-list em{padding:.22rem .3rem;border-radius:5px;color:#626770;background:#eff0f2;font-size:.41rem;font-style:normal;font-weight:800}.dashboard-alert-list .urgent em,.dashboard-alert-list .overdue em{color:#fff;background:#b2171d}

/* Portal público de preoperacionales */
.driver-portal{background:linear-gradient(145deg,#f1f3f6 0%,#fff 42%,#f7eeee 100%)}.driver-portal .public-header{max-width:1120px}.driver-portal .public-content{width:min(1120px,calc(100% - 2rem));margin-top:.75rem}.driver-portal-intro{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:1rem;padding:1.7rem 1.8rem;border-radius:18px;color:#fff;background:radial-gradient(circle at 90% 20%,rgba(215,25,32,.34),transparent 30%),linear-gradient(125deg,#17191f,#392126);box-shadow:0 16px 38px rgba(29,31,37,.14)}.driver-portal-intro>div:first-child>span{color:#f5a8ac;font-size:.62rem;font-weight:800;letter-spacing:.11em}.driver-portal-intro h1{margin:.35rem 0;font-size:1.75rem;font-weight:800}.driver-portal-intro p{max-width:660px;margin:0;color:#c9cbd0;font-size:.72rem;line-height:1.6}.driver-portal-steps{display:flex;gap:.55rem}.driver-portal-steps span{display:grid;grid-template-columns:auto 1fr;gap:.4rem;align-items:center;max-width:110px;color:#d5d7dc;font-size:.51rem;line-height:1.25}.driver-portal-steps strong{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#fff;background:#c7171e;font-size:.58rem}.public-preop-form .panel-card{box-shadow:0 8px 24px rgba(30,33,40,.045)}.public-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.public-validation-banner{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #bfe2cd;border-radius:12px;color:#176f46;background:#edf9f2}.public-validation-banner>i{font-size:1.35rem}.public-validation-banner strong,.public-validation-banner p{display:block;margin:0}.public-validation-banner strong{font-size:.7rem}.public-validation-banner p{margin-top:.15rem;color:#56806a;font-size:.55rem}.public-share-card{display:grid;grid-template-columns:1fr minmax(420px,.9fr);gap:1.3rem;align-items:center;margin-bottom:1rem;padding:1.15rem 1.3rem;border:1px solid #e1e3e7;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,34,40,.05)}.public-share-card>div:first-child>span{color:#b4171d;font-size:.52rem;font-weight:800;letter-spacing:.1em}.public-share-card h2{margin:.2rem 0;font-size:1rem;font-weight:800}.public-share-card p,.admin-share-card p{margin:0;color:#858a93;font-size:.55rem}.public-share-actions{display:flex;gap:.5rem;align-items:center}.public-share-actions .input-group{min-width:0;flex:1}.public-share-actions .form-control{min-width:0;font-size:.56rem}.public-share-actions>.btn{white-space:nowrap}.public-general-notes{margin-top:.8rem;padding:.75rem;border-radius:8px;background:#f5f6f8}.public-general-notes span{display:block;color:#92969e;font-size:.5rem;font-weight:700}.public-general-notes p{margin:.25rem 0 0;color:#555a63;font-size:.58rem;line-height:1.55}.public-integrity>span,.public-integrity>code{display:block}.public-integrity>span{margin-top:.6rem;color:#92969e;font-size:.48rem}.public-integrity>code{overflow-wrap:anywhere;margin-top:.2rem;padding:.45rem;border-radius:6px;color:#555a63;background:#f3f4f6;font-size:.44rem}.admin-share-card .input-group{margin-top:.65rem}.admin-share-card .form-control{font-size:.48rem}

/* Portal y administración de novedades de conductores */
.public-portal-switch{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1rem}.public-portal-switch a{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border:1px solid #e2e4e8;border-radius:11px;color:#60656e;background:#fff;box-shadow:0 6px 18px rgba(30,33,40,.035)}.public-portal-switch a.active{color:#a9161c;border-color:#efc4c7;background:#fff7f7}.public-portal-switch>a>i{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;color:#bd171e;background:#fff0f1}.public-portal-switch strong,.public-portal-switch small{display:block}.public-portal-switch strong{font-size:.66rem}.public-portal-switch small{margin-top:.12rem;color:#979ba3;font-size:.5rem}.public-novelty-form{display:grid;gap:1rem}.public-novelty-form .panel-card{box-shadow:0 8px 24px rgba(30,33,40,.045)}.novelty-upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:1.4rem;border:2px dashed #e6aeb1;border-radius:14px;color:#737882;background:#fffafa;text-align:center;cursor:pointer;transition:.18s}.novelty-upload-zone:hover{border-color:#c11820;background:#fff3f4}.novelty-upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.novelty-upload-zone>i{margin-bottom:.65rem;color:#c11820;font-size:1.75rem}.novelty-upload-zone strong,.novelty-upload-zone small{display:block}.novelty-upload-zone strong{font-size:.75rem}.novelty-upload-zone small{max-width:450px;margin-top:.25rem;color:#9a9ea6;font-size:.55rem}.novelty-photo-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:.6rem;margin-top:.8rem}.novelty-photo-preview article{overflow:hidden;border:1px solid #e3e5e8;border-radius:9px;background:#fff}.novelty-photo-preview img{width:100%;height:105px;object-fit:cover}.novelty-photo-preview span{display:block;overflow:hidden;padding:.4rem;color:#777c85;font-size:.5rem;text-overflow:ellipsis;white-space:nowrap}.novelty-photo-preview small{display:block;padding:0 .4rem .4rem;color:#a0a4ac;font-size:.43rem}.novelty-filter-card{margin-bottom:1rem}.novelty-description-cell{min-width:250px;max-width:390px;color:#666b74;font-size:.59rem;line-height:1.45}.novelty-gallery a{height:155px}.novelty-description-full{margin-top:1rem;padding:1rem;border-left:4px solid #c11820;border-radius:9px;background:#fafafb}.novelty-description-full span,.public-resolution>span,.novelty-origin>span{display:block;color:#aa171d;font-size:.5rem;font-weight:850;letter-spacing:.09em}.novelty-description-full p,.public-resolution p{margin:.35rem 0 0;color:#525761;font-size:.64rem;line-height:1.65}.novelty-management .form-text{color:#969aa2;font-size:.5rem}.public-resolution{border-color:#bfe2cd;background:#f5fcf8}.public-resolution>span{color:#197347}.novelty-origin small,.novelty-origin code{display:block}.novelty-origin small{margin-top:.65rem;color:#999da5;font-size:.47rem}.novelty-origin code{overflow-wrap:anywhere;margin-top:.18rem;padding:.4rem;border-radius:6px;color:#50555e;background:#f2f3f5;font-size:.47rem}.novelty-origin p{overflow-wrap:anywhere;margin:.18rem 0 0;color:#777c85;font-size:.46rem}.novelty-hero{background:radial-gradient(circle at 78% 0,rgba(232,77,84,.26),transparent 31%),linear-gradient(120deg,#191b20,#442126)}

/* Módulo de pólizas */
.type-poliza{--event-color:#9e244f!important}
.policy-hero,.policy-form-hero{display:grid;grid-template-columns:1fr auto;gap:1.2rem;align-items:center;margin-bottom:1rem;padding:1.35rem 1.5rem;border-radius:16px;color:#fff;background:radial-gradient(circle at 84% 0,rgba(224,42,51,.28),transparent 34%),linear-gradient(120deg,#191b20,#432126);box-shadow:0 14px 32px rgba(29,22,23,.13)}.policy-hero>div>span,.policy-form-hero>div>span{color:#f0a1a5;font-size:.52rem;font-weight:850;letter-spacing:.13em}.policy-hero h2,.policy-form-hero h2{margin:.24rem 0;font-size:1.25rem;font-weight:850}.policy-hero p,.policy-form-hero p{max-width:720px;margin:0;color:#c9cbd0;font-size:.59rem;line-height:1.55}.policy-hero>i,.policy-form-hero>i{font-size:3.6rem;opacity:.15}.policy-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.policy-metrics article{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center;padding:.85rem 1rem;border:1px solid #e3e5e8;border-radius:12px;background:#fff}.policy-metrics article>i{display:grid;place-items:center;width:39px;height:39px;border-radius:9px;color:#af171d;background:#fdebed}.policy-metrics strong,.policy-metrics small{display:block}.policy-metrics strong{font-size:.83rem}.policy-metrics small{color:#90949c;font-size:.47rem}.policy-filter-card{margin-bottom:1rem}.policy-alert-banner{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.8rem 1rem;border:1px solid #f0c9a8;border-radius:11px;color:#784918;background:#fff9ef}.policy-alert-banner>i{font-size:1.15rem}.policy-alert-banner strong,.policy-alert-banner small{display:block}.policy-alert-banner strong{font-size:.62rem}.policy-alert-banner small{margin-top:.12rem;font-size:.5rem}.filter-active-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .48rem;border-radius:20px;color:#a8171d;background:#fdebed;font-size:.45rem;font-weight:800}.policy-items{display:grid;gap:.75rem}.policy-item{padding:.85rem;border:1px solid #e2e4e8;border-radius:11px;background:#fafafb}.policy-item-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.policy-item-heading strong{font-size:.59rem}.policy-coverage{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.policy-covered-list{display:grid;gap:.45rem}.policy-covered-list article{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:center;padding:.6rem;border:1px solid #e5e7ea;border-radius:9px;background:#fff}.policy-covered-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#ae171d;background:#fdebed}.policy-covered-values strong,.policy-covered-values small{display:block}.policy-covered-values strong{font-size:.56rem}.policy-covered-values small{margin-top:.12rem;color:#8f949c;font-size:.46rem}.policy-value-card{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.policy-value-card article{padding:.7rem;border:1px solid #e5e7ea;border-radius:9px;background:#fff}.policy-value-card span,.policy-value-card strong{display:block}.policy-value-card span{color:#92969e;font-size:.43rem}.policy-value-card strong{margin-top:.18rem;font-size:.58rem}.policy-timeline{display:grid;gap:.5rem}.policy-timeline article{display:grid;grid-template-columns:auto 1fr;gap:.65rem;padding:.65rem;border-left:3px solid #bd171e;border-radius:7px;background:#f7f8f9}.policy-timeline article>i{color:#bd171e}.policy-timeline strong,.policy-timeline small{display:block}.policy-timeline strong{font-size:.56rem}.policy-timeline small{margin-top:.14rem;color:#858a93;font-size:.46rem}.dashboard-policy-strip{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:center;margin-top:1rem;padding:.85rem 1rem;border:1px solid #e2e4e8;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(32,35,41,.05)}.dashboard-policy-strip>div{display:flex;align-items:center;gap:.55rem}.dashboard-policy-strip p{margin:0}.dashboard-policy-strip strong,.dashboard-policy-strip small{display:block}.dashboard-policy-strip strong{font-size:.72rem}.dashboard-policy-strip small{color:#90949d;font-size:.47rem}
.policy-hero .policy-metrics{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:0}.policy-metrics article{display:block;text-align:center}.policy-alert-banner p{flex:1;margin:.12rem 0 0;font-size:.5rem}.policy-alert-banner>div{flex:1}.policy-coverage-note{margin-top:.8rem;padding:.75rem;border-left:3px solid #bd171e;border-radius:7px;background:#f7f8f9}.policy-coverage-note span{color:#a9171d;font-size:.45rem;font-weight:850;letter-spacing:.08em}.policy-coverage-note p{margin:.25rem 0 0;color:#626770;font-size:.55rem;line-height:1.55}.policy-covered-list article{grid-template-columns:auto minmax(0,1fr) auto auto}.policy-value-card{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-value-card>.panel-kicker{grid-column:1/-1}.policy-value-card>div{padding:.65rem;border:1px solid #e5e7ea;border-radius:8px;background:#fafafb}.policy-value-card>div.total{grid-column:1/-1;border-color:#efc4c7;background:#fff5f5}.policy-value-card small,.policy-value-card strong{display:block}.policy-value-card small{color:#92969e;font-size:.43rem}.policy-value-card strong{margin-top:.18rem;font-size:.58rem}.policy-timeline>div{display:grid;grid-template-columns:auto 1fr;gap:.65rem;padding:.65rem;border-left:3px solid #bd171e;border-radius:7px;background:#f7f8f9}.policy-timeline>div>i{color:#bd171e}

/* Calendario general de decisiones */
.calendar-hero{display:grid;grid-template-columns:1fr auto minmax(450px,.85fr);gap:1.4rem;align-items:center;margin-bottom:1rem;padding:1.45rem 1.6rem;border-radius:17px;color:#fff;background:radial-gradient(circle at 72% 0,rgba(210,26,34,.26),transparent 32%),linear-gradient(120deg,#191b20,#402025);box-shadow:0 15px 34px rgba(27,20,21,.14)}.calendar-hero>div:first-child>span{color:#f2a3a7;font-size:.54rem;font-weight:800;letter-spacing:.14em}.calendar-hero h2{margin:.25rem 0;font-size:1.35rem;font-weight:850}.calendar-hero p{max-width:680px;margin:0;color:#c7c9ce;font-size:.61rem;line-height:1.5}.calendar-hero>i{font-size:3.7rem;opacity:.13}.calendar-hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.calendar-hero-metrics article{padding:.7rem .45rem;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.06);text-align:center}.calendar-hero-metrics strong,.calendar-hero-metrics small{display:block}.calendar-hero-metrics strong{font-size:1.1rem}.calendar-hero-metrics small{margin-top:.08rem;color:#c6c8cd;font-size:.47rem}.calendar-hero-metrics .danger strong{color:#ff7d84}.calendar-hero-metrics .today strong{color:#72d79f}.calendar-hero-metrics .warning strong{color:#f3c968}.calendar-filter-card{margin-bottom:1rem;padding:.95rem 1.1rem}.calendar-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:.65rem;align-items:end}.calendar-filters .form-label{margin-bottom:.25rem}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:1rem;align-items:start}.calendar-main-card{padding:0;overflow:visible}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding:1rem 1.15rem;border-bottom:1px solid #eceef1}.calendar-toolbar>div:nth-child(2){text-align:center}.calendar-toolbar>div:nth-child(2)>span{color:#b3181e;font-size:.45rem;font-weight:800;letter-spacing:.12em}.calendar-toolbar h3{margin:.1rem 0 0;font-size:1.05rem;font-weight:850}.calendar-navigation{display:flex;gap:.35rem}.calendar-view-label{justify-self:end;color:#8b9099;font-size:.52rem;font-weight:700}.calendar-view-label i{margin-right:.3rem;color:#b3181e}.calendar-scroll{overflow-x:auto}.executive-calendar{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:875px}.calendar-weekday{padding:.55rem;border-right:1px solid #eceef1;border-bottom:1px solid #e2e4e8;color:#777c85;background:#f7f8f9;font-size:.48rem;font-weight:800;text-align:center;text-transform:uppercase}.calendar-day{position:relative;min-height:132px;padding:.5rem;border-right:1px solid #eceef1;border-bottom:1px solid #eceef1;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#fafafa}.calendar-day.outside>*{opacity:.48}.calendar-day.is-today{box-shadow:inset 0 0 0 2px #c41820;background:#fff8f8}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.calendar-day>header time{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;color:#555a63;font-size:.57rem;font-weight:850}.calendar-day.is-today>header time{color:#fff;background:#bf171e}.calendar-day>header span{color:#b6171d;font-size:.4rem;font-weight:900;letter-spacing:.07em}.calendar-day-events{display:grid;gap:.27rem}.calendar-event{--event-color:#6e737c;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.3rem;align-items:center;min-height:27px;padding:.28rem .35rem;border-left:3px solid var(--event-color);border-radius:5px;color:#535861;background:color-mix(in srgb,var(--event-color) 9%,#fff);font-size:.43rem;line-height:1.25}.calendar-event:hover{color:#22252a;filter:saturate(1.15)}.calendar-event>i{color:var(--event-color)}.calendar-event strong,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:.43rem}.calendar-event small{margin-top:.05rem;color:#8b9098;font-size:.38rem}.calendar-event.urgency-vencido{box-shadow:inset 0 0 0 1px rgba(192,22,30,.18)}.calendar-event.urgency-completado{opacity:.55;text-decoration:line-through}.type-mantenimiento{--event-color:#c01820!important}.type-calibracion{--event-color:#3273b5!important}.type-auditoria{--event-color:#7452a8!important}.type-garantia{--event-color:#248756!important}.type-documento-vehiculo{--event-color:#c68d14!important}.type-licencia-conductor{--event-color:#414853!important}.type-autorizacion-conductor{--event-color:#16868c!important}.calendar-more{position:relative}.calendar-more summary{color:#a9181e;font-size:.42rem;font-weight:800;cursor:pointer;list-style:none}.calendar-more summary::-webkit-details-marker{display:none}.calendar-more>div{position:absolute;z-index:30;left:0;top:100%;display:grid;gap:.3rem;width:250px;padding:.55rem;border:1px solid #dfe1e5;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(29,32,38,.16)}.calendar-legend{display:flex;flex-wrap:wrap;gap:.45rem;padding:.8rem 1rem;border-top:1px solid #eceef1}.calendar-legend span{--event-color:#6e737c;display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .45rem;border-radius:20px;color:#686d75;background:#f4f5f7;font-size:.43rem;font-weight:700}.calendar-legend span i{color:var(--event-color)}.decision-agenda{position:sticky;top:82px;padding:1.1rem}.decision-intro{margin:-.45rem 0 .8rem;color:#8a8f98;font-size:.5rem;line-height:1.5}.decision-list{display:grid;gap:.42rem;max-height:720px;overflow:auto;padding-right:.15rem}.decision-item{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:center;padding:.58rem;border:1px solid #e7e8eb;border-left:4px solid #d9dce0;border-radius:9px;color:inherit;background:#fff}.decision-item.urgency-vencido{border-left-color:#bd171e;background:#fff8f8}.decision-item.urgency-hoy{border-left-color:#218452}.decision-item.urgency-proximo{border-left-color:#c89320}.decision-item>time{display:grid;place-items:center;width:37px;min-height:42px;border-radius:8px;color:#555a63;background:#f1f2f4}.decision-item>time strong,.decision-item>time small{display:block}.decision-item>time strong{font-size:.72rem}.decision-item>time small{font-size:.36rem}.decision-item>span{min-width:0}.decision-item>span em,.decision-item>span strong,.decision-item>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decision-item>span em{color:#a9171d;font-size:.38rem;font-style:normal;font-weight:850;text-transform:uppercase}.decision-item>span strong{margin:.08rem 0;font-size:.52rem}.decision-item>span small{color:#8d929a;font-size:.43rem}.decision-item>i{color:#b3181e;font-size:.55rem}

@media (max-width:1199.98px){.calendar-hero{grid-template-columns:1fr auto}.calendar-hero-metrics{grid-column:1/-1}.calendar-layout{grid-template-columns:1fr}.decision-agenda{position:static}.decision-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.calendar-filters{grid-template-columns:repeat(3,1fr) auto auto}.policy-coverage{grid-template-columns:1fr}}
@media (max-width:767.98px){.calendar-hero{display:block;padding:1.1rem}.calendar-hero>i{display:none}.calendar-hero-metrics{grid-template-columns:repeat(2,1fr);margin-top:.8rem}.calendar-filters{grid-template-columns:1fr 1fr}.calendar-filters>div{grid-column:1/-1}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-toolbar>div:nth-child(2){text-align:right}.calendar-view-label{display:none}.decision-list{grid-template-columns:1fr}.calendar-legend{display:grid;grid-template-columns:1fr 1fr}.calendar-main-card{margin-inline:-.25rem}.policy-hero,.policy-form-hero{display:block;padding:1.05rem}.policy-hero>i,.policy-form-hero>i{display:none}.policy-metrics{grid-template-columns:1fr 1fr}.policy-value-card{grid-template-columns:1fr}.dashboard-policy-strip{grid-template-columns:1fr}.policy-item .row>*{width:100%}}
@media (max-width:767.98px){.policy-hero .policy-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.85rem}.policy-covered-list article{grid-template-columns:auto minmax(0,1fr)}.policy-covered-values,.policy-covered-list article>a{grid-column:2}.policy-alert-banner{align-items:flex-start;flex-wrap:wrap}.policy-alert-banner>a{margin-left:2.2rem}}

/* Error */
.supply-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;margin-bottom:1rem;padding:1.45rem 1.6rem;border-radius:17px;color:#fff;background:radial-gradient(circle at 78% 0,rgba(215,25,32,.3),transparent 32%),linear-gradient(120deg,#191b20,#352126);box-shadow:0 15px 34px rgba(27,20,21,.14)}
.supply-hero>div:first-child>span{color:#f1a1a5;font-size:.55rem;font-weight:800;letter-spacing:.14em}.supply-hero h2{margin:.28rem 0;font-size:1.45rem;font-weight:850}.supply-hero p{max-width:650px;margin:0;color:#c8cacf;font-size:.66rem;line-height:1.55}.supply-metrics{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:.5rem}.supply-metrics article{padding:.75rem .65rem;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.06);text-align:center}.supply-metrics strong,.supply-metrics small{display:block}.supply-metrics strong{font-size:1.2rem}.supply-metrics small{margin-top:.1rem;color:#c6c8cd;font-size:.48rem}.supply-metrics .warning strong{color:#ff7d84}
.category-chip.supply-consumable{color:#8b5e14;background:#fff5dc}.supply-stock{display:block;color:#30343c;font-size:.84rem}.supply-stock small{color:#8a8f98;font-size:.55rem}.supply-stock.low{color:#b71920}.supply-low-label{display:block;margin-top:.15rem;color:#bc1820;font-size:.49rem;font-weight:700}
.supply-profile{display:grid;grid-template-columns:150px minmax(0,1fr) 180px auto;gap:1.25rem;align-items:center;margin-bottom:1rem}.supply-profile-photo{display:grid;place-items:center;width:150px;height:125px;overflow:hidden;border-radius:13px;color:#bec1c7;background:#f1f2f4;font-size:2.2rem}.supply-profile-photo img{width:100%;height:100%;object-fit:cover}.supply-profile-info h2{margin:.35rem 0 .1rem;font-size:1.35rem;font-weight:850}.supply-profile-info>strong{color:#bd171e;font-size:.68rem}.supply-profile-info>p{max-width:650px;margin:.45rem 0;color:#7d828b;font-size:.62rem;line-height:1.5}.supply-profile-info>div{display:flex;flex-wrap:wrap;gap:.8rem;color:#646973;font-size:.55rem}.supply-profile-info>div i{margin-right:.28rem;color:#b6181f}.supply-total{padding:1rem;border:1px solid #dcefe4;border-radius:13px;color:#1c7548;background:#f3fbf6;text-align:center}.supply-total small,.supply-total strong,.supply-total span,.supply-total em{display:block}.supply-total small{font-size:.45rem;font-weight:850;letter-spacing:.08em}.supply-total strong{margin:.15rem 0;font-size:1.6rem}.supply-total span{font-size:.5rem}.supply-total em{margin-top:.35rem;font-size:.48rem;font-style:normal;font-weight:750}.supply-total.low{border-color:#f2c9cb;color:#ad171d;background:#fff5f5}.supply-profile-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.supply-profile-actions form{margin:0}.supply-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem;align-items:start}.supply-position-list{display:grid;gap:.5rem}.supply-position-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.7rem;border:1px solid #eceef1;border-radius:10px}.supply-position-list article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:#b4181e;background:#fff0f1}.supply-position-list strong,.supply-position-list small{display:block}.supply-position-list strong{font-size:.68rem}.supply-position-list small{margin-top:.12rem;color:#92969e;font-size:.5rem}.supply-position-list b{font-size:.85rem}.supply-position-list b small{display:inline;font-size:.48rem}.supply-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.supply-gallery a{display:block;height:80px;overflow:hidden;border-radius:8px;background:#f0f1f3}.supply-gallery img{width:100%;height:100%;object-fit:cover}.supply-picker{margin-top:1rem}.supply-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.supply-result-grid article{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.65rem;border:1px solid #e7e9ed;border-radius:10px;background:#fff}.supply-result-grid article.chosen{border-color:#ecc0c3;background:#fff9f9}.supply-result-grid img,.supply-result-placeholder{display:grid;place-items:center;width:58px;height:52px;border-radius:8px;object-fit:cover;color:#b8bbc2;background:#f0f1f3}.supply-result-grid strong,.supply-result-grid small,.supply-result-grid span{display:block}.supply-result-grid strong{font-size:.66rem}.supply-result-grid small{margin-top:.1rem;color:#8d919a;font-size:.49rem}.supply-result-grid span{margin-top:.15rem;color:#646a74;font-size:.5rem}.supply-result-grid button{border:0;border-radius:7px;padding:.45rem .55rem;color:#fff;background:#272a30;font-size:.5rem;font-weight:750}.supply-result-grid button i{margin-right:.25rem}.supply-result-grid button:disabled{color:#23804e;background:#ebf8f1}.selected-supply-fields{display:grid;grid-template-columns:170px minmax(0,1fr);gap:.7rem;padding-top:.65rem;border-top:1px solid #eceef1}.selected-supply-fields label{display:block;margin-bottom:.25rem;color:#7b8089;font-size:.48rem;font-weight:700}.movement-supplies-list{display:grid;gap:.55rem}.movement-supplies-list article{display:grid;grid-template-columns:58px minmax(0,1.4fr) minmax(120px,.6fr) minmax(150px,.8fr);gap:.75rem;align-items:center;padding:.7rem;border:1px solid #e9eaee;border-radius:10px}.movement-supplies-list img,.movement-supplies-list>article>span{display:grid;place-items:center;width:58px;height:52px;border-radius:8px;object-fit:cover;color:#bbbfc6;background:#f1f2f4}.movement-supplies-list strong,.movement-supplies-list small{display:block}.movement-supplies-list strong{font-size:.68rem}.movement-supplies-list small{margin-top:.1rem;color:#8e929a;font-size:.5rem}.movement-supplies-list b{color:#b4181e;font-size:.78rem}.movement-supplies-list p{margin:0;color:#70757e;font-size:.54rem}

.supply-receipt-share-card{margin-bottom:1rem;border-color:#edd5a3;background:linear-gradient(120deg,#fff,#fffaf0)}.supply-receipt-actions{display:flex;gap:.28rem;margin-top:.35rem}.supply-receipt-actions .btn{display:inline-grid;place-items:center;min-width:30px}.supply-receipt-portal .public-content{width:min(1080px,calc(100% - 2rem))}.supply-public-receipt-layout{grid-template-columns:minmax(0,1fr) 330px}.supply-receipt-sign-card{border-top:3px solid var(--covicol-red)}.supply-receiver-signature img{max-height:120px;object-fit:contain}

.error-page { display: grid; place-items: center; padding: 2rem; background: radial-gradient(circle at top,#fff,#f3f4f6); }
.error-card { max-width: 560px; padding: 2.5rem; border: 1px solid #e6e7ea; border-radius: 18px; text-align: center; background: #fff; box-shadow: var(--shadow); }
.error-card img { width: 150px; margin-bottom: 1.5rem; }.error-card > span { display: block; color: var(--covicol-red); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.error-card h1 { margin: .7rem 0; font-weight: 800; letter-spacing: -.04em; }.error-card p { margin-bottom: 1.5rem; color: var(--muted); }.error-card footer { margin-top: 2rem; color: #aaaeb6; font-size: .62rem; }

@media (max-width: 1199.98px) {
    .metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .catalog-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .inventory-catalog-cards { grid-template-columns:repeat(4,minmax(0,1fr)); }.detail-list { grid-template-columns:repeat(3,1fr); }
    .movement-assets-list article{grid-template-columns:60px 1.4fr 1fr 1fr}.movement-asset-current{display:none}.selected-asset-fields{grid-template-columns:repeat(2,1fr)}
    .operation-hero{grid-template-columns:1fr auto}.operation-metrics{grid-column:1/-1}.vehicle-photo-grid{grid-template-columns:repeat(3,1fr)}.dashboard-vehicle-strip{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 991.98px) {
    .auth-shell { grid-template-columns: 1fr; }.auth-brand-panel { display: none; }.auth-form-panel { min-height: 100vh; }
    .sidebar { transform: translateX(-100%); transition: transform .23s ease; }.sidebar.open { transform: translateX(0); }
    .sidebar-overlay.open { position: fixed; z-index: 1035; inset: 0; display: block; background: rgba(12,13,16,.55); backdrop-filter: blur(2px); }
    .admin-main { margin-left: 0; }.menu-toggle { display: inline-grid; place-items: center; }
    .role-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.permission-groups { grid-template-columns: 1fr; }
    .asset-detail-grid { grid-template-columns:1fr; }.asset-detail-side { grid-template-columns:repeat(2,1fr); }.asset-detail-side .danger-zone { grid-column:1/-1; }
    .movement-summary{grid-template-columns:1fr}.movement-metrics{justify-content:flex-start}.signature-grid{grid-template-columns:1fr 1fr}.movement-detail-grid{grid-template-columns:1fr}.movement-detail-side{grid-template-columns:repeat(2,1fr)}
    .supply-profile{grid-template-columns:130px minmax(0,1fr) 170px}.supply-profile-photo{width:130px}.supply-profile-actions{grid-column:1/-1}.supply-detail-grid{grid-template-columns:1fr}.supply-detail-grid>aside{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.supply-detail-grid>aside .mt-3{margin-top:0!important}
    .operation-two-column,.vehicle-detail-layout,.operation-detail-layout{grid-template-columns:1fr}.vehicle-detail-side,.operation-detail-side{grid-template-columns:1fr 1fr}.dashboard-vehicle-strip{grid-template-columns:1fr 1fr}.report-group>div{grid-template-columns:repeat(3,1fr)}.dashboard-analysis-grid{grid-template-columns:1fr 1fr}.driver-portal-intro{grid-template-columns:1fr}.public-share-card{grid-template-columns:1fr}.novelty-gallery a{height:135px}
}
@media (max-width: 767.98px) {
    .content-area { padding-top: 1.1rem; }.page-heading { align-items: center; }.page-heading .btn { min-height: 42px; }.page-heading .btn { font-size: 0; }.page-heading .btn i { margin: 0; font-size: .85rem; }
    .welcome-strip { min-height: 140px; padding: 1.4rem; }.welcome-strip h2 { font-size: 1.45rem; }.welcome-mark { display: none; }
    .metrics-grid { grid-template-columns: 1fr 1fr; }.metric-card { min-height: 110px; padding: 1rem; }.metric-icon { width: 43px; height: 43px; }.metric-card strong { font-size: 1.3rem; }
    .catalog-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }.role-summary-grid { grid-template-columns: 1fr; }
    .inventory-catalog-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.form-progress span { display:none; }.form-progress button { gap:0; }.control-options { grid-template-columns:1fr 1fr; }.upload-grid { grid-template-columns:1fr; }.asset-profile-header { grid-template-columns:120px 1fr; }.profile-image { width:120px;height:120px; }.profile-qr { display:none; }.detail-list { grid-template-columns:repeat(2,1fr); }.asset-gallery { grid-template-columns:repeat(2,1fr); }.asset-detail-side { grid-template-columns:1fr; }.verification-main { grid-template-columns:160px 1fr; }.verification-main>img,.verification-placeholder { width:160px;height:150px; }.verification-data { grid-template-columns:repeat(2,1fr); }
    .admin-footer { flex-direction: column; align-items: center; text-align: center; }
    .asset-result-grid{grid-template-columns:1fr}.signature-grid{grid-template-columns:1fr}.movement-profile{grid-template-columns:auto 1fr}.movement-profile-actions{grid-column:1/-1}.movement-detail-side{grid-template-columns:1fr 1fr}.stored-signatures{grid-template-columns:repeat(2,1fr)}.movement-evidence-gallery{grid-template-columns:repeat(3,1fr)}
    .supply-hero{grid-template-columns:1fr}.supply-metrics{grid-template-columns:repeat(4,1fr)}.supply-profile{grid-template-columns:110px minmax(0,1fr)}.supply-profile-photo{width:110px;height:100px}.supply-total{grid-column:1/-1}.supply-result-grid{grid-template-columns:1fr}.movement-supplies-list article{grid-template-columns:58px 1fr}.movement-supplies-list article>*:nth-child(n+3){grid-column:2}.supply-detail-grid>aside{grid-template-columns:1fr}
    .operation-hero{grid-template-columns:1fr}.operation-hero>i{display:none}.operation-metrics{grid-template-columns:repeat(2,1fr)}.vehicle-profile{grid-template-columns:110px 1fr}.vehicle-profile-photo,.vehicle-profile-photo img{width:110px;height:90px}.vehicle-compliance-score{grid-column:1/-1}.vehicle-photo-grid{grid-template-columns:repeat(2,1fr)}.preop-results{grid-template-columns:1fr}.preop-progress-bar{top:68px}.vehicle-detail-side,.operation-detail-side{grid-template-columns:1fr}.trip-route-header{grid-template-columns:1fr}.route-line{order:3}.preop-item-detail{grid-template-columns:1fr}.related-operation-grid{grid-template-columns:1fr}.asset-check-grid{grid-template-columns:1fr 1fr}.report-group>div{grid-template-columns:repeat(2,1fr)}.dashboard-analysis-grid{grid-template-columns:1fr}.public-share-actions{align-items:stretch;flex-direction:column}.public-share-actions .input-group,.public-share-actions>.btn{width:100%}.public-portal-switch{grid-template-columns:1fr}.novelty-gallery a{height:120px}
}
@media (max-width: 479.98px) {
    .auth-form-panel { padding: 2rem 1.15rem; }.login-logo { width: 145px; }.login-heading h2 { font-size: 1.7rem; }
    .environment-pill { display: none; }.topbar { min-height: 64px; }.topbar-avatar { width: 35px; height: 35px; }
    .metrics-grid { grid-template-columns: 1fr; }.metric-card { min-height: 100px; }.welcome-strip p { font-size: .7rem; }
    .catalog-cards { grid-template-columns: 1fr 1fr; }.catalog-card { padding: .65rem; }
    .panel-card { padding: 1rem; }.permission-row { grid-template-columns: 1fr auto; }.permission-action { display: none; }
    .page-actions .btn-light { font-size:0; }.page-actions .btn-light i { font-size:.8rem; }.inventory-summary { align-items:flex-start;flex-direction:column; }.form-section { padding:1rem; }.control-options { grid-template-columns:1fr; }.asset-profile-header { grid-template-columns:1fr; }.profile-image { width:100%;height:210px; }.profile-info h2 { font-size:1.25rem; }.detail-list { grid-template-columns:1fr 1fr; }.asset-gallery { grid-template-columns:1fr; }.verification-main { grid-template-columns:1fr; }.verification-main>img,.verification-placeholder { width:100%;height:210px; }.verification-data { grid-template-columns:1fr; }
    .movement-summary-intro>span{display:none}.movement-metrics{display:grid;grid-template-columns:1fr 1fr;width:100%}.movement-metrics article{min-width:0}.asset-search-bar{grid-template-columns:1fr}.asset-result-grid article{grid-template-columns:58px 1fr}.asset-result-grid article>button{grid-column:1/-1;display:flex;justify-content:center}.selected-asset-fields{grid-template-columns:1fr}.movement-form-actions{align-items:stretch;flex-direction:column}.movement-form-actions>div{align-items:stretch;flex-direction:column}.movement-profile{grid-template-columns:1fr;text-align:center}.movement-profile-icon{margin:auto}.movement-profile-actions{justify-content:center;flex-wrap:wrap}.draft-workflow{align-items:flex-start;flex-direction:column}.workflow-steps{flex-wrap:wrap}.movement-assets-list article{grid-template-columns:58px 1fr}.movement-asset-condition,.movement-asset-accessories,.movement-asset-current{grid-column:2}.stored-signatures{grid-template-columns:1fr}.movement-evidence-gallery{grid-template-columns:repeat(2,1fr)}.movement-detail-side{grid-template-columns:1fr}.movement-public-main{grid-template-columns:1fr;text-align:center}.movement-public-icon{margin:auto}.movement-public-main>.movement-status{justify-self:center}
    .supply-hero{padding:1.1rem}.supply-metrics{grid-template-columns:1fr 1fr}.supply-profile{grid-template-columns:1fr;text-align:center}.supply-profile-photo{width:100%;height:190px}.supply-profile-info>div{justify-content:center}.supply-profile-actions{justify-content:center}.selected-supply-fields{grid-template-columns:1fr}.supply-result-grid article{grid-template-columns:52px minmax(0,1fr)}.supply-result-grid article>button{grid-column:1/-1}.supply-gallery{grid-template-columns:1fr 1fr}
    .operation-hero,.vehicle-form-banner,.preop-mobile-header{padding:1.1rem}.operation-metrics article{min-width:0}.vehicle-form-banner>i,.preop-mobile-header>i{display:none}.form-submit-bar{align-items:stretch;flex-direction:column}.vehicle-profile{grid-template-columns:1fr;text-align:center}.vehicle-profile-photo{margin:auto}.vehicle-photo-grid{grid-template-columns:1fr 1fr}.preop-answer-grid{grid-template-columns:1fr 1fr}.preop-progress-bar{grid-template-columns:auto 1fr}.preop-progress-bar button{grid-column:1/-1}.sticky-submit{position:static}.operation-record-header{text-align:center}.operation-record-header>i{display:none}.trip-route-header{text-align:center}.route-point{justify-content:center}.dashboard-vehicle-strip{grid-template-columns:1fr}.dashboard-vehicle-strip>a{order:-1;text-align:center}.asset-check-grid,.control-file-grid{grid-template-columns:1fr}.asset-disposal-list article{grid-template-columns:50px 1fr}.asset-disposal-list article>em{grid-column:2}.report-group>div{grid-template-columns:1fr}.backup-grid article{grid-template-columns:1fr;text-align:center}.backup-grid article>span{margin:auto}.backup-grid article>div:last-child{justify-content:center;text-align:center}.driver-portal .public-content{width:min(100% - 1rem,1120px)}.driver-portal-intro{padding:1.15rem}.driver-portal-steps{display:grid;grid-template-columns:1fr 1fr}.public-share-card{padding:1rem}.public-share-actions .input-group{display:grid;grid-template-columns:1fr}.public-share-actions .input-group>.form-control,.public-share-actions .input-group>.btn{width:100%;border-radius:8px!important}.driver-license-row{grid-template-columns:36px 1fr}.driver-license-row>div{grid-column:2}.driver-license-number{width:36px;height:36px;grid-row:1/4}.driver-license-remove{grid-column:2}.driver-license-remove span{display:inline}.vehicle-document-item{grid-template-columns:1fr}.vehicle-document-item>a{grid-template-columns:auto 1fr}.vehicle-document-item>a>.operation-status,.vehicle-document-item>a>i:last-child{grid-column:2;justify-self:start}.vehicle-document-item>form{padding:0 .55rem .55rem}.vehicle-document-item>form .btn{width:100%}.vehicle-document-item>form .btn span{display:inline}
}

/* Centro profesional de mantenimiento */
.maintenance-module-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:7px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.maintenance-module-nav a{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;color:#596173;text-decoration:none;font-size:.86rem;font-weight:700}
.maintenance-module-nav a:hover,.maintenance-module-nav a.active{background:#991b1f;color:#fff}
.maintenance-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}
.maintenance-kpi-grid a{position:relative;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;gap:0 12px;padding:18px;background:#fff;border:1px solid #e4e7ec;border-radius:16px;color:#172033;text-decoration:none;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.maintenance-kpi-grid a>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;background:#fff1f2;border-radius:12px;color:#b4232a}.maintenance-kpi-grid strong{font-size:1.55rem;line-height:1}.maintenance-kpi-grid small{color:#697386}
.maintenance-professional-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.maintenance-professional-steps article{position:relative;padding:15px;border:1px solid #e6e8ed;border-radius:14px;background:#fafbfc}.maintenance-professional-steps article>span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:12px;border-radius:10px;background:#991b1f;color:#fff}.maintenance-professional-steps article>small{position:absolute;top:15px;right:15px;color:#98a0ae;font-weight:800}.maintenance-professional-steps article>strong{display:block;font-size:.82rem}.maintenance-professional-steps article>p{margin:5px 0 0;color:#737b8c;font-size:.78rem;line-height:1.4}
.maintenance-queue{display:grid}.maintenance-queue>a{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid #edf0f4;color:#222b3b;text-decoration:none}.maintenance-queue>a:last-child{border-bottom:0}.maintenance-queue small{display:block;color:#778092}.maintenance-queue em{font-size:.7rem;font-style:normal;color:#737b8c}.status-dot{width:9px;height:9px;border-radius:50%;background:#f5a524}.status-dot.danger{background:#dc2626}
.maintenance-order-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 18px}.maintenance-order-steps article{display:flex;align-items:center;gap:9px;padding:13px;background:#fff;border:1px solid #e3e6eb;border-radius:12px;color:#8a93a2}.maintenance-order-steps article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef0f3}.maintenance-order-steps article.current{border-color:#eaa3a6;background:#fff7f7;color:#991b1f}.maintenance-order-steps article.current>span{background:#991b1f;color:#fff}.maintenance-order-steps article.complete{border-color:#b9dfcd;background:#f3fbf6;color:#147a4b}.maintenance-order-steps article.complete>span{background:#168a55;color:#fff}
.stage-action-card{border-left:4px solid #991b1f}.requisition-parts{display:grid;gap:10px}.requisition-part-row{display:grid;grid-template-columns:2fr 1fr .8fr .7fr 1fr auto;gap:10px;align-items:end;padding:12px;background:#f8f9fb;border:1px solid #e4e7ec;border-radius:12px}.requisition-part-row label{display:block;margin-bottom:5px;color:#5e6675;font-size:.75rem;font-weight:700}
@media(max-width:1199px){.maintenance-kpi-grid{grid-template-columns:repeat(3,1fr)}.maintenance-professional-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.maintenance-module-nav{display:grid;grid-template-columns:1fr 1fr}.maintenance-kpi-grid,.maintenance-professional-steps,.maintenance-order-steps{grid-template-columns:1fr}.maintenance-order-steps article{padding:9px}.requisition-part-row{grid-template-columns:1fr 1fr}.requisition-part-row>div:first-child{grid-column:1/-1}}
.delivery-conditions ol{margin:0;padding-left:1.35rem;display:grid;gap:.8rem}.delivery-conditions li{padding-left:.25rem;line-height:1.55;color:#454a53}.delivery-conditions li::marker{color:#c91820;font-weight:800}.public-acceptance{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border:1px solid #e1e4e8;border-radius:12px;background:#f8f9fa;line-height:1.45}.public-acceptance input{flex:0 0 auto;margin-top:.2rem}.movement-signature-portal .operation-detail-main{min-width:0}

/* Control de lavados */
.wash-admin-hero{background:radial-gradient(circle at 88% 18%,rgba(64,191,220,.22),transparent 27%),linear-gradient(125deg,#15191f,#203840)}
.wash-dashboard-grid{display:grid;grid-template-columns:minmax(380px,.8fr) minmax(0,1.2fr);gap:1rem;margin-bottom:1rem}
.wash-qr-card{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:1rem;align-items:center}.wash-qr-card h3{margin:.2rem 0 .35rem;font-size:1rem;font-weight:800}.wash-qr-card p{color:#7e838d;font-size:.62rem;line-height:1.5}.wash-qr-card>img{width:155px;height:155px;padding:7px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.wash-bars{display:grid;gap:.62rem}.wash-bars>div{display:grid;grid-template-columns:58px minmax(80px,1fr) 30px 105px;gap:.65rem;align-items:center}.wash-bars span{color:#606671;font-size:.55rem;font-weight:750;text-transform:capitalize}.wash-bars b{display:block;height:9px;overflow:hidden;border-radius:999px;background:#eef0f3}.wash-bars b i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a51118,#e04a50)}.wash-bars strong{font-size:.67rem}.wash-bars small{color:#8d929b;font-size:.5rem;text-align:right}.wash-table-description{max-width:270px;line-height:1.4}
.wash-control-report{margin-bottom:1rem}.wash-control-report .panel-header{align-items:flex-start}.wash-control-report .panel-header p{max-width:620px;margin:.25rem 0 0;color:#858a93;font-size:.55rem}.wash-report-actions{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.wash-control-report .operation-status{white-space:nowrap}
.public-operation-hero{display:grid;grid-template-columns:1fr auto;gap:1.2rem;align-items:center;margin-bottom:1rem;padding:1.55rem 1.7rem;border-radius:18px;color:#fff;background:radial-gradient(circle at 86% 10%,rgba(58,188,220,.32),transparent 31%),linear-gradient(125deg,#171b21,#243c44);box-shadow:0 16px 38px rgba(29,31,37,.13)}.public-operation-hero>div>span{color:#9de2ee;font-size:.58rem;font-weight:800;letter-spacing:.11em}.public-operation-hero h1{margin:.3rem 0;font-size:1.7rem;font-weight:850}.public-operation-hero p{max-width:700px;margin:0;color:#d3dce0;font-size:.69rem;line-height:1.55}.public-operation-hero>i{font-size:3.3rem;color:#91dbe9}
.public-form-notice{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #bcdce3;border-radius:12px;color:#285f6a;background:#f0fbfd}.public-form-notice>i{margin-top:.1rem;font-size:1rem}.public-form-notice strong,.public-form-notice p{display:block;margin:0}.public-form-notice strong{font-size:.69rem}.public-form-notice p{margin-top:.15rem;color:#64838a;font-size:.58rem}
.public-operation-form{display:grid;gap:1rem}.public-operation-form>.panel-card{margin:0}.wash-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.wash-upload-zone{display:grid;place-items:center;min-height:145px;padding:1.2rem;border:2px dashed #cfd5dc;border-radius:14px;text-align:center;cursor:pointer;background:#fafbfc;transition:.18s}.wash-upload-zone:hover{border-color:#4aa8bb;background:#f5fcfd}.wash-upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.wash-upload-zone>i{display:grid;place-items:center;width:48px;height:48px;margin-bottom:.55rem;border-radius:14px;font-size:1.15rem}.wash-upload-zone.before>i{color:#a56b0b;background:#fff6df}.wash-upload-zone.after>i{color:#177245;background:#eaf8f0}.wash-upload-zone strong,.wash-upload-zone small{display:block}.wash-upload-zone strong{font-size:.72rem}.wash-upload-zone small{margin-top:.2rem;color:#8b9099;font-size:.55rem}
.wash-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.8rem}.wash-preview-grid>div>span{display:block;margin-bottom:.4rem;color:#7d838d;font-size:.52rem;font-weight:800}.wash-preview-grid>div>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.wash-preview-grid img{width:100%;height:76px;border:1px solid #e1e4e8;border-radius:8px;object-fit:cover}.public-declaration{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border:1px solid #dfe3e8;border-radius:12px;background:#fff}.public-declaration input{flex:0 0 auto;width:18px;height:18px;margin-top:.15rem;accent-color:#b4171d}.public-declaration strong,.public-declaration small{display:block}.public-declaration strong{font-size:.68rem}.public-declaration small{margin-top:.2rem;color:#848a94;font-size:.56rem}.wash-gallery a{height:155px}.wash-gallery img{width:100%;height:100%;object-fit:cover}
@media(max-width:991.98px){.wash-dashboard-grid{grid-template-columns:1fr}.wash-preview-grid>div>div{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767.98px){.wash-upload-grid,.wash-preview-grid{grid-template-columns:1fr}.wash-qr-card{grid-template-columns:1fr auto}.wash-bars>div{grid-template-columns:50px minmax(70px,1fr) 25px}.wash-bars small{grid-column:2/4;text-align:left}.wash-gallery a{height:125px}.wash-control-report .panel-header{display:grid}.wash-report-actions{justify-content:flex-start}.public-acta-items,.public-acta-signers{grid-template-columns:1fr}.public-acta-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:479.98px){.public-operation-hero{grid-template-columns:1fr;padding:1.15rem}.public-operation-hero>i{display:none}.wash-qr-card{grid-template-columns:1fr;text-align:center}.wash-qr-card>img{margin:auto}.wash-preview-grid>div>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
