@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow/barlow-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow/barlow-400-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow/barlow-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow/barlow-500-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow/barlow-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow/barlow-600-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow/barlow-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow/barlow-700-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #f6f8fb;--panel: #ffffff;--panel-soft: #eef4f7;--border: #d7e0ea;--text: #102033;--muted: #687789;--accent: #0f766e;--accent-2: #2563eb;--danger: #dc2626;--warning: #c77700;--ok: #15803d;--ok-soft: #dcfce7;--warn-soft: #fef9c3;--danger-soft: #fef2f2;--shadow: 0 18px 55px rgba(15, 23, 42, .12);--sidebar-width: 208px;--topbar-height: 48px;--footer-height: 24px;--text-sm: clamp(11px, .72vw, 13px);--text-md: clamp(12px, .8vw, 14px);--text-lg: clamp(17px, 1.12vw, 21px);--brand-cream: #f6e9cb;--brand-yellow: #f0e018;--brand-ink: #23291d}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--bg);color:var(--text);font-family:Barlow,Segoe UI,system-ui,Arial,sans-serif;font-size:var(--text-md);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}.login{min-height:100%;display:grid;grid-template-columns:minmax(340px,480px) 1fr;background:var(--bg)}.login-form-side{display:grid;place-items:center;padding:24px}.login-card{margin:auto;width:min(390px,calc(100vw - 36px));background:#ffffffe0;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:28px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:900;background:var(--brand-ink);overflow:hidden}.mark img{width:66%;height:66%;object-fit:contain;display:block}.brand h1{margin:0;font-size:25px;letter-spacing:.08em}.brand p,.muted{margin:2px 0 0;color:var(--muted);font-size:13px}.field{display:grid;gap:6px;margin:11px 0;align-content:start}.field label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.input,.select,.textarea{width:100%;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:8px 10px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e1f}.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:7px;padding:7px 10px;font-weight:700;font-size:var(--text-sm);cursor:pointer}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.blue{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.btn.danger{color:var(--danger);border-color:#dc262659;background:#dc26260f}.btn.ghost{background:transparent}.login-hint{margin-top:18px;padding:12px;background:var(--panel-soft);border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:13px;line-height:1.45}.login-art{position:relative;display:grid;place-items:center;padding:40px;overflow:hidden;background:radial-gradient(120% 90% at 50% 16%,rgba(240,224,24,.16),transparent 55%),linear-gradient(165deg,#2a352a,#161b14)}.login-art-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.login-art-logo{width:min(300px,60%);height:auto}.login-hero{width:min(360px,62%);height:auto;display:block;filter:drop-shadow(0 26px 42px rgba(0,0,0,.5));animation:hero-float 6.5s ease-in-out infinite}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.login-art-caption{color:var(--brand-cream);opacity:.82;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.shell{height:100%;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:var(--topbar-height) 1fr var(--footer-height);transition:grid-template-columns .55s cubic-bezier(.32,.72,0,1)}.shell.sidebar-collapsed{grid-template-columns:0px minmax(0,1fr)}.topbar{grid-column:1 / 3;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid var(--border);background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;z-index:300}.topbar .spacer{flex:1}.topbar-user{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.sidebar{border-right:1px solid var(--border);background:#fff;overflow:auto;scrollbar-width:none;padding:10px;min-width:0;width:var(--sidebar-width);transform-origin:left center;will-change:transform,opacity;transition:opacity .34s ease,transform .52s cubic-bezier(.34,1.45,.5,1),border-color .42s ease}.sidebar::-webkit-scrollbar{width:0;height:0;display:none}.nav-title{cursor:pointer;-webkit-user-select:none;user-select:none}.nav-title-chevron{order:2;font-size:9px;opacity:.65;transition:transform .15s ease}.shell.sidebar-collapsed .sidebar{transform:translate(-100%) scale(.9);opacity:0;pointer-events:none;border-color:transparent;transition:opacity .24s ease,transform .32s cubic-bezier(.4,0,1,1)}.nav-title{display:flex;align-items:center;gap:8px;margin:15px 6px 6px;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;transition:transform .44s cubic-bezier(.32,.72,0,1) var(--nav-delay, 0s),opacity .26s ease var(--nav-delay, 0s)}.nav-title:after{content:"";flex:1;height:1px;background:linear-gradient(to right,var(--border),transparent)}.nav-btn{width:100%;border:none;border-radius:10px;background:transparent;padding:7px 9px;text-align:left;cursor:pointer;color:var(--text);font-weight:500;font-size:var(--text-sm);transition:transform .44s cubic-bezier(.32,.72,0,1) var(--nav-delay, 0s),opacity .26s ease var(--nav-delay, 0s)}.shell.sidebar-collapsed .nav-btn,.shell.sidebar-collapsed .nav-title{transform:translate(-12px);opacity:0}.nav-group:nth-child(2){--nav-delay: .05s}.nav-group:nth-child(3){--nav-delay: .1s}.nav-group:nth-child(4){--nav-delay: .15s}.nav-group:nth-child(5){--nav-delay: .2s}.shell.sidebar-collapsed .nav-group{--nav-delay: 0s}.nav-btn:hover{background:var(--panel-soft)}.nav-btn.active{background:#0f766e1c;color:var(--accent);font-weight:600}.content{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:clamp(10px,.9vw,15px);min-width:0;min-height:0;transition:padding .42s cubic-bezier(.16,1,.3,1),filter .42s ease;scrollbar-width:none;-ms-overflow-style:none}.content::-webkit-scrollbar{display:none}.shell.sidebar-collapsed .content{padding-left:clamp(12px,1vw,16px)}.footer{grid-column:1 / 3;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border);background:#fff;color:var(--muted);font-size:11.5px}.page-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.page-head h2{margin:0;font-size:var(--text-lg)}.page-head p{margin:4px 0 0;color:var(--muted);font-size:var(--text-sm)}.page-actions{margin-left:auto;display:flex;gap:8px}.cards{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:12px}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:11px 12px}.metric{font-size:clamp(21px,1.65vw,27px);font-weight:900;color:var(--accent);margin-top:8px}.grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(430px,.95fr);gap:12px}.single-grid{display:grid;grid-template-columns:1fr;gap:12px;min-height:0;flex:1 1 auto}.record-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;align-items:stretch;min-height:0;flex:1 1 auto}.record-layout>:first-child{align-self:start}.record-table tbody tr.aisv-revisada>td{background:#0f766e1a}.record-table tbody tr.aisv-revisada:hover>td{background:#0f766e2e}.aisv-check{width:16px;height:16px;accent-color:#0f766e;cursor:pointer}.catalog-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;align-items:stretch;min-height:0;flex:1 1 auto}.catalog-layout>.catalog-nav{align-self:start}.catalog-nav{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:8px 0 10px;position:sticky;top:8px}.catalog-nav-group{padding:0 0 4px}.catalog-nav-group+.catalog-nav-group{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.catalog-nav-group-title{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;background:none;width:100%;text-align:left}.catalog-nav-group-title:hover{color:var(--text)}.catalog-nav-chevron{font-size:9px;transition:transform .2s ease}.catalog-nav-chevron.open{transform:rotate(180deg)}.catalog-nav-item{display:block;width:100%;text-align:left;padding:5px 12px;font-size:12.5px;background:none;border:none;cursor:pointer;color:var(--text);border-radius:0;transition:background .12s ease,color .12s ease;line-height:1.4}.catalog-nav-item:hover{background:var(--panel-soft)}.catalog-nav-item.active{background:#0f766e1a;color:var(--accent);font-weight:600}.time-filter{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;max-height:calc(100vh - 150px)}.time-filter-head{padding:10px 12px;border-bottom:1px solid var(--border);font-weight:900}.time-filter-list{padding:8px;max-height:calc(100vh - 198px);overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.time-filter-list::-webkit-scrollbar{display:none}.time-filter-btn{width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:7px;min-height:28px;padding:5px 8px;border-radius:8px;cursor:pointer;text-align:left;font-size:var(--text-sm)}.time-filter-btn:hover,.time-filter-btn.active{background:#e8eef5;color:var(--accent)}.time-filter-btn .count{margin-left:auto;padding:1px 6px;border-radius:8px;background:#e5e7eb;color:var(--muted);font-size:11px;font-weight:800}.time-filter-btn.week{padding-left:22px}.time-filter-btn.date{padding-left:40px}.time-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center}.time-toggle{width:22px;height:26px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:6px;font-size:12px}.time-toggle:hover{background:#e8eef5;color:var(--accent)}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:visible;min-width:0;min-height:0}.panel:has(>.table-wrap){display:flex;flex-direction:column;overflow:hidden}.panel:has(>.table-wrap)>.table-wrap{flex:1 1 auto;max-height:none}.panel-head{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}.panel-title{font-weight:900}.panel-body{padding:12px}.perm-row{display:grid;grid-template-columns:minmax(240px,380px) 1fr;align-items:center;gap:12px;padding:4px 8px;margin:0 -8px;border-radius:7px}.perm-row:hover{background:var(--panel-soft, #f1f5f9)}.perm-row:hover>span:first-child{font-weight:600}.perm-row .perm-acciones{display:flex;gap:6px;flex-wrap:wrap}.panel-body--scroll{padding:0;overflow-y:auto;border-radius:0 0 11px 11px}.table-wrap{overflow:auto;max-height:calc(100vh - 248px);max-width:100%;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:var(--accent, #0f766e) var(--panel-soft, #eef2f1)}.table-wrap::-webkit-scrollbar{width:12px;height:12px}.table-wrap::-webkit-scrollbar-track{background:var(--panel-soft, #eef2f1);border-radius:8px}.table-wrap::-webkit-scrollbar-thumb{background:var(--accent, #0f766e);border:3px solid var(--panel, #fff);border-radius:8px}.table-wrap::-webkit-scrollbar-thumb:hover{filter:brightness(1.15)}.table-wrap::-webkit-scrollbar-corner{background:var(--panel-soft, #eef2f1)}.group-row{cursor:pointer;-webkit-user-select:none;user-select:none}.group-row td{background:var(--bg-alt, #f1f5f9)}.group-row:hover td{filter:brightness(.97)}.group-row.group-dept td{font-size:13px;font-weight:700;color:var(--text);background:var(--bg-alt, #e2e8f0);border-top:2px solid var(--border);padding-top:8px;padding-bottom:8px}.group-row.group-role td{font-size:12.5px;font-weight:600;color:var(--muted)}.group-caret{display:inline-block;width:16px;color:var(--accent);font-weight:800}.group-count{display:inline-block;margin-left:8px;background:var(--accent);color:#fff;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:700}html.dark .group-row td{background:#ffffff0b}html.dark .group-row.group-dept td{background:#ffffff14}.mobile-only{display:none}.topbar-menu-wrap{position:relative;flex-shrink:0}.icon-btn{padding:4px 11px;font-size:19px;line-height:1}.topbar-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:310}.topbar-menu{position:absolute;right:0;top:44px;z-index:320;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #0003;padding:6px;min-width:210px;display:flex;flex-direction:column;gap:2px}.topbar-menu-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:11px 12px;border-radius:8px;font-size:14px;cursor:pointer;white-space:nowrap}.topbar-menu-item:hover{background:var(--bg-alt, #f1f5f9)}.topbar-menu-item.danger{color:var(--danger, #dc2626)}html.dark .topbar-menu{background:#1b212b;border-color:#ffffff1a}html.dark .topbar-menu-item:hover{background:#ffffff0f}.form-readonly .input,.form-readonly .select,.form-readonly .textarea,.form-readonly input,.form-readonly select,.form-readonly textarea{pointer-events:none;opacity:.6;background:var(--bg-alt, #f1f5f9);cursor:not-allowed}.form-readonly .check{opacity:.6;pointer-events:none}.campo-exp .textarea,.campo-exp textarea{background:var(--bg-alt, #f1f5f9);cursor:default}.form-readonly .campo-exp .textarea,.form-readonly .campo-exp textarea{pointer-events:auto;opacity:1}.form-readonly button{pointer-events:none;opacity:.5;cursor:not-allowed}.form-readonly .form-actions button,.form-readonly .editor-tabs button,.form-readonly .editor-tab,.form-readonly .panel-title,.form-readonly .collapse-toggle,.form-readonly summary{pointer-events:auto;opacity:1;cursor:pointer}.form-readonly .check.win-unlock,.form-readonly .check.win-unlock input{pointer-events:auto;opacity:1;cursor:pointer}.editor-sheet:has(form.form-readonly) .editor-head .btn.danger,.editor-sheet:has(form.form-readonly) .editor-head .btn.primary{display:none}.campo-ro .input,.campo-ro .select,.campo-ro .textarea,.campo-ro input,.campo-ro select,.campo-ro textarea{pointer-events:none;opacity:.6;background:var(--bg-alt, #f1f5f9);cursor:not-allowed}.campo-ro .check{opacity:.6;pointer-events:none}.campo-ro button{pointer-events:none;opacity:.5;cursor:not-allowed}.campo-ro summary{pointer-events:auto;opacity:1;cursor:pointer}.pagination-bar{display:flex;align-items:center;gap:5px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg-alt, #f8fafc);flex-wrap:wrap;row-gap:4px;flex-shrink:0}.table-tools{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.table-tools .input{max-width:320px}.columns-pop{position:relative}.columns-menu{position:absolute;right:0;top:36px;z-index:120;width:min(300px,calc(100vw - 28px));max-height:min(420px,calc(100vh - 160px));overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:8px}.col-option{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;padding:5px;border-radius:7px;cursor:grab}.col-option:hover{background:var(--panel-soft)}.col-option.dragging{opacity:.55}.col-option.drag-over{background:#0f766e1f;outline:1px dashed rgba(15,118,110,.45)}.drag-grip{color:var(--muted);font-weight:900;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.col-option label{display:flex;gap:6px;align-items:center;font-size:var(--text-sm);cursor:pointer}.notify-wrap,.notify-btn{position:relative}.notify-count{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;display:grid;place-items:center;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:900}.editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a47;animation:editor-overlay-in .12s ease both}.editor-sheet{width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 40px);min-height:min(620px,calc(100vh - 40px));background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transform-origin:center center;will-change:transform,opacity;animation:editor-sheet-in .2s cubic-bezier(.34,1.5,.64,1) both}.fin-editor input[type=number]::-webkit-outer-spin-button,.fin-editor input[type=number]::-webkit-inner-spin-button,.input-sin-flechas::-webkit-outer-spin-button,.input-sin-flechas::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fin-editor input[type=number],.input-sin-flechas{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.editor-overlay.closing{animation:editor-overlay-out .2s ease both;pointer-events:none}.editor-overlay.closing .editor-sheet{animation:editor-sheet-out .2s cubic-bezier(.4,0,1,1) both}@keyframes editor-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes editor-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes editor-sheet-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes editor-sheet-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(6px)}}.dialog-overlay{z-index:450}.dialog-box{width:min(480px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;animation:editor-sheet-in .22s cubic-bezier(.34,1.4,.64,1) both}.dialog-box .dialog-title{padding:12px 16px;font-weight:700;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.dialog-box .dialog-body{padding:14px 16px;white-space:pre-line;line-height:1.45;max-height:50vh;overflow:auto}.dialog-box .dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg-alt, #f8fafc)}.editor-sheet.wide{width:min(980px,calc(100vw - 32px))}.editor-head{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid var(--border)}.editor-title{font-weight:900;font-size:var(--text-md)}.editor-tabs{display:flex;gap:6px;padding:8px 12px 0;overflow-x:auto;flex:0 0 auto}.editor-tab{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);border-radius:7px;padding:6px 10px;font-weight:800;font-size:var(--text-sm);cursor:pointer}.editor-tab.active{background:#0f766e1c;color:var(--accent);border-color:#0f766e40}.editor-body{padding:12px;overflow:auto;flex:1}.editor-sheet .field label{font-size:10px;letter-spacing:0;text-transform:none}.editor-sheet .field{margin:0;gap:4px}.editor-sheet .form-grid{gap:9px 12px}.editor-sheet .input,.editor-sheet .select,.editor-sheet .textarea{font-size:11.5px;min-height:30px;padding:6px 8px;border-radius:6px}.editor-sheet .check{font-size:11.5px;padding:4px 7px;border-radius:7px;min-height:30px;align-self:end}.editor-sheet .check input{width:14px;height:14px}.editor-sheet th,.editor-sheet td{font-size:11.5px;padding:6px 7px}.editor-sheet .panel-title{font-size:12px}.form-section{border:1px solid var(--border);border-radius:8px;padding:8px;margin-bottom:9px;background:#fff}.form-section summary{cursor:pointer;font-weight:800;color:var(--text);margin-bottom:8px}.audit-grid{display:grid;gap:10px}.audit-row{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fbfdff}.audit-row .status{justify-self:start}.audit-grid.cols-2{grid-template-columns:1fr 1fr}.audit-grid.cols-2 .audit-row{grid-template-columns:130px 1fr}.audit-grid.cols-2 .audit-row.full{grid-column:1 / -1}@media(max-width:760px){.audit-grid.cols-2{grid-template-columns:1fr}}tr[data-row-id]{cursor:pointer;transition:background .14s ease}tr[data-row-id]:hover{background:#0f766e0e}tr.row-active{background:#0f766e17!important}th[data-sort-key]{cursor:pointer;-webkit-user-select:none;user-select:none}th[data-sort-key]:hover{background:#f0f5f9}table{width:max-content;min-width:100%;border-collapse:collapse}.record-table{table-layout:fixed}.record-table.cols-fijas{width:1px}.record-table td.col-frozen{position:sticky;z-index:1;background:var(--panel)}.record-table th.col-frozen{z-index:4}.record-table tr.ft-row td.col-frozen{background:linear-gradient(#16a34a1a,#16a34a1a),var(--panel)}.record-table tr.row-active td.col-frozen{background:linear-gradient(#0f766e17,#0f766e17),var(--panel)}.record-table .col-frozen-last{border-right:2px solid var(--border);box-shadow:2px 0 6px -3px #00000040}.freeze-select{display:inline-flex;align-items:center;gap:4px;margin-right:8px;font-size:12px;color:var(--muted);white-space:nowrap}.freeze-select select{font-size:12px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);cursor:pointer;max-width:190px}.record-table tbody td,.catalog-table tbody td,.matriz-table tbody td,.matriz-table tbody th{font-family:Segoe UI,system-ui,Arial,sans-serif;font-variant-numeric:tabular-nums}.catalog-table{table-layout:fixed}.catalog-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-table .col-filler{padding:0;min-width:0;border:none}.catalog-table.has-secs thead tr.sec-row th{top:0;z-index:3;height:24px;padding:2px 8px;background:var(--panel-soft);border-bottom:1px solid var(--border)}.catalog-table.has-secs thead tr:not(.sec-row) th{top:24px}.catalog-table .sec-th{cursor:pointer;text-align:center;font-weight:600;font-size:10.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.4px;border-left:1px solid var(--border);overflow:hidden}.catalog-table .sec-th:hover{background:var(--border)}.catalog-table .sec-th>span{display:block;overflow:hidden;text-overflow:ellipsis}.sec-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.sec-chip{font-size:11px;padding:3px 9px;border-radius:999px;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff}.sec-chip.off{background:transparent;color:var(--muted);border-color:var(--border)}.sec-chip:hover{filter:brightness(1.08)}.sec-chip.link{background:transparent;color:var(--accent-2);border-color:transparent;text-decoration:underline}th,td{padding:7px 8px;border-bottom:1px solid var(--border);text-align:left;font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}th{color:var(--muted);font-size:10.5px;text-transform:none;letter-spacing:0;background:#fbfdff;position:sticky;top:0;z-index:2}.th-inner{display:flex;align-items:center;gap:4px;overflow:hidden}.th-label{display:block;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.th-content{display:flex;align-items:center;gap:4px;min-width:0}.th-content .th-label{flex:1 1 auto;min-width:0;padding-right:0}.th-content .colfilter{margin-left:0;flex:0 0 auto}.th-sort{flex:0 0 auto;color:var(--accent);font-weight:800;font-size:11px;min-width:9px;text-align:center}td.col-num{text-align:right;font-variant-numeric:tabular-nums}th.col-num .th-content{justify-content:flex-end}th.col-num .th-content .th-label{flex:0 1 auto}.matriz-table{min-width:0}.matriz-table th[scope=row]{text-align:left}.matriz-table .matriz-field,.matriz-table .matriz-field-head{position:sticky;left:0;z-index:3;width:130px;background:var(--panel);font-weight:700;color:var(--text);text-align:left;white-space:normal;line-height:1.2;vertical-align:middle;border-right:2px solid var(--border);box-shadow:2px 0 5px -3px #0003}.matriz-table .matriz-field-head{z-index:4}.matriz-table .matriz-col-head{position:relative;width:180px;min-width:28px;cursor:pointer;font-weight:700;color:var(--text)}.matriz-table .matriz-filler{min-width:0;cursor:default;padding:0}.matriz-table .matriz-col-num{font-variant-numeric:tabular-nums;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.matriz-table td{cursor:pointer}.matriz-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matriz-table .col-hover{background:#0f766e1a}.matriz-table th.matriz-col-head.col-hover{background:#0f766e2e}.matriz-table thead th.matriz-col-head{background:var(--panel)}.matriz-table thead th.matriz-col-head.ft-col{background:linear-gradient(#16a34a24,#16a34a24),var(--panel)}.matriz-table thead th.matriz-col-head.col-hover{background:linear-gradient(#0f766e29,#0f766e29),var(--panel)}.matriz-table thead th.matriz-col-head.ft-col.col-hover{background:linear-gradient(#16a34a42,#16a34a42),var(--panel)}.matriz-table tr.matriz-total th,.matriz-table tr.matriz-total td{font-weight:800;border-top:2px solid var(--border)}.matriz-table tr.matriz-total td{background:#0f766e12}.sort-arrow{flex-shrink:0;color:var(--accent);font-size:10px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:800}.status.ok{color:#047857;background:#dff8ed}.status.off{color:#9a3412;background:#ffedd5}.status.warn{color:#92400e;background:#fef3c7}.status.err{color:#991b1b;background:#fee2e2}.row-actions{display:flex;gap:6px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px}.form-grid .full{grid-column:1 / 3}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.checks{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px}.check{display:flex;align-items:center;gap:8px;padding:7px;border:1px solid var(--border);border-radius:10px}.sync-badge{color:#047857;background:#dff8ed;border:1px solid #bbf7d0;border-radius:999px;padding:5px 9px;font-size:11.5px;font-weight:800}.sync-badge.offline{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.empty{padding:22px;color:var(--muted);text-align:center}.sidebar-toggle{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;font-weight:900;transition:transform .42s cubic-bezier(.16,1,.3,1),background .22s ease,border-color .22s ease,color .22s ease}.sidebar-toggle:hover{background:var(--panel-soft)}.shell.sidebar-collapsed .sidebar-toggle{border-color:#0f766e59;color:var(--accent);background:#0f766e14}.toast-stack{position:fixed;right:18px;top:72px;z-index:80;display:grid;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;background:#fffffff5;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:14px;box-shadow:var(--shadow);padding:12px 13px;animation:toast-in .22s ease-out}.toast strong{display:block;font-size:14px;margin-bottom:3px}.toast p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.connected-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #22c55e21;display:inline-block;margin-right:7px}.spacer{flex:1}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;background:#0f172a61;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:backdrop-in .22s ease}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@media(max-width:980px){.login{grid-template-columns:1fr}.login-art{display:none}.shell,.shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-height) 1fr var(--footer-height);height:100%}.topbar{grid-column:1;gap:8px;padding:0 10px;flex-wrap:nowrap}.footer{grid-column:1}.topbar-brand,.topbar-user{display:none}.sync-badge{font-size:10px;padding:2px 7px;white-space:nowrap}.topbar>.btn.ghost:last-child{padding:5px 10px;font-size:12px}.sidebar-backdrop{display:block}.sidebar{position:fixed;top:var(--topbar-height);left:0;bottom:0;width:min(270px,82vw);z-index:250;display:block;overflow-y:auto;overflow-x:hidden;padding:10px;border-right:1px solid var(--border);box-shadow:6px 0 28px #0000002e;transform:translate(0)!important;opacity:1!important;filter:none!important;pointer-events:auto!important;transition:transform .46s cubic-bezier(.34,1.45,.5,1)}.shell.sidebar-collapsed .sidebar{transform:translate(-100%)!important;opacity:1!important;filter:none!important;pointer-events:none!important;box-shadow:none}.nav-title{display:block}.nav-btn{width:100%;white-space:normal}.content{grid-row:2;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.content::-webkit-scrollbar{display:none}.grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(110px,1fr))}.record-layout,.catalog-layout,.single-grid{grid-template-columns:minmax(0,1fr)}.catalog-nav{position:static;max-height:50vh;overflow-y:auto}.page-head{flex-wrap:wrap;gap:8px}.page-actions{margin-left:0;flex-wrap:wrap}.table-wrap{max-height:none}.record-layout,.catalog-layout{flex:0 0 auto;align-items:start}.panel:has(>.table-wrap){overflow:visible}.panel:has(>.table-wrap)>.table-wrap{flex:none}.table-tools{flex-wrap:wrap}.time-filter{position:static;max-height:280px}.time-filter-list{max-height:220px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.checks{grid-template-columns:1fr}.editor-overlay{padding:8px;align-items:stretch}.editor-sheet{width:100%;min-height:auto;max-height:calc(100vh - 16px);border-radius:8px}.editor-tabs{gap:4px;padding:6px 8px 0}.editor-tab{padding:5px 8px;font-size:11px}}@media(max-width:600px){:root{--sidebar-width: 0px}.cards{grid-template-columns:repeat(2,1fr)}.table-tools .input{max-width:100%}.page-head h2{font-size:17px}html,body{overflow-x:hidden;overscroll-behavior:none}.content{overscroll-behavior:contain}.desktop-only{display:none!important}.mobile-only{display:inline-flex!important}.topbar{gap:4px;padding:0 6px}.topbar>.btn.ghost:last-child{padding:5px 8px}}.editor-sheet{position:relative}th{overflow:visible}.col-resizer{position:absolute;top:0;right:0;width:5px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:3;border-radius:0 3px 3px 0}.col-resizer:hover{background:#0f766e73}body.resizing-columns{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.resizing-columns .col-resizer{background:#0f766e73}.confirm-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0f172a61;border-radius:10px;animation:backdrop-in .16s ease}.confirm-layer--app{position:fixed;z-index:1000;border-radius:0}.confirm-box{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:24px 28px;max-width:360px;text-align:center;animation:confirmbox-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes confirmbox-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-layer.closing{animation:backdrop-out .18s ease both;pointer-events:none}.confirm-layer.closing .confirm-box{animation:confirmbox-out .18s cubic-bezier(.4,0,1,1) both}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes confirmbox-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.97)}}.alice-splash-spinner{width:26px;height:26px;margin:18px auto 0;border:3px solid var(--border);border-top-color:var(--accent, #0f766e);border-radius:50%;animation:alice-spin .8s linear infinite}@keyframes alice-spin{to{transform:rotate(360deg)}}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .4s ease,color .4s ease,border-color .4s ease,fill .4s ease,box-shadow .4s ease,stroke .4s ease!important}.confirm-msg{margin:0 0 18px;font-size:14px;color:var(--text);line-height:1.5}.confirm-actions{display:flex;gap:10px;justify-content:center}.inherited-block{background:var(--panel-soft);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:10px 12px;margin-bottom:12px}details.inherited-block>summary{cursor:pointer;list-style:none;outline:none}details.inherited-block>summary::-webkit-details-marker{display:none}details.inherited-block>summary:before{content:"▾";display:inline-block;margin-right:6px;font-size:9px;transition:transform .2s}details.inherited-block:not([open])>summary:before{transform:rotate(-90deg)}.inherited-block-title{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}@keyframes notif-fade-in{0%{opacity:0}to{opacity:1}}@keyframes notif-scale-in{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.notify-wrap{position:relative}.notify-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:500;overflow:hidden;animation:notif-fade-in .15s ease}.notify-mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a85;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:700;display:flex;align-items:center;justify-content:center;animation:notif-fade-in .18s ease}.notify-mobile-popup{background:#fff;border-radius:20px;width:min(380px,92vw);max-height:76vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 32px 80px #0f172a57;animation:notif-scale-in .18s cubic-bezier(.22,.9,.24,1)}.notify-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);font-weight:800;font-size:var(--text-sm)}.notify-list{max-height:360px;overflow-y:auto}.notify-item{padding:10px 14px;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.notify-item:last-child{border-bottom:none}.notify-item.unread{background:#0f766e17;border-left:3px solid var(--accent, #0f766e);padding-left:11px}.notify-item.alert{background:#dc262617;border-left:3px solid var(--danger, #dc2626);padding-left:11px}.notify-item.alert .notify-item-title{color:var(--danger, #dc2626);font-weight:800}.notify-item.alert .notify-dot{background:var(--danger, #dc2626)}.notify-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.notify-dot{width:8px;height:8px;border-radius:50%;background:var(--accent, #0f766e);flex-shrink:0}.notify-badge-new{background:var(--accent, #0f766e);color:#fff;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.notify-clear-btn{font-size:11px;font-weight:600;padding:2px 10px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.notify-clear-btn:hover{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.notify-x-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:none;background:var(--panel-soft, #f4f4f5);color:var(--muted);font-size:13px;cursor:pointer;flex-shrink:0;transition:background .15s}.notify-x-btn:hover{background:#e4e4e7}.notify-mobile-popup .notify-list{flex:1;max-height:none;overflow-y:auto}.notify-item-title{font-weight:800;color:var(--text)}.notify-item-body{color:var(--muted);font-size:11.5px}.notify-item-time{color:var(--muted);font-size:10.5px;margin-top:3px}.btn-pdf-inline{padding:1px 5px;font-size:9px;font-weight:700;border-radius:3px;border:1px solid #dc2626;background:#fef2f2;color:#dc2626;cursor:pointer;letter-spacing:.3px;flex-shrink:0;line-height:1.5;white-space:nowrap}.btn-pdf-inline:hover{background:#dc2626;color:#fff}tr.row-inactive td{opacity:.45}tr.estiba-bajo-cubierta td{background:#38bdf81f}html.dark tr.estiba-bajo-cubierta td{background:#38bdf824}.ol-chip{padding:1px 7px;border-radius:4px}.ol-chip .num-copy,.ol-chip *{color:inherit}.ol-chip-gestionado{background:#22c55e;color:#fff}.ol-chip-cancelado{background:#ef4444;color:#fff}tr.ol-gestionado-camion td{background:#06b6d42e}html.dark tr.ol-gestionado-camion td{background:#06b6d433}.ol-legend{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);flex-wrap:wrap}.ol-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.ol-legend>button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;color:var(--muted);background:none;border:1px solid transparent;border-radius:6px;padding:2px 7px;cursor:pointer}.ol-legend>button:hover{border-color:var(--border);color:var(--text)}.ol-legend>button.sel{border-color:var(--accent, #0f766e);background:#0f766e1a;color:var(--text);font-weight:600}.ol-sw{display:inline-block;width:11px;height:11px;border-radius:3px;border:1px solid rgba(0,0,0,.12)}.ol-sw-gestionado{background:#22c55e}.ol-sw-cancelado{background:#ef4444}.ol-sw-gestionado-camion{background:#06b6d48c}.ol-sw-bajo-cubierta{background:#38bdf88c}.ol-sw-retiro{background:#c7770073}tr.trip-retiro td{background:#c7770014}tr.trip-retiro td:first-child{box-shadow:inset 3px 0 0 var(--warning)}tr.trip-cancelado td{background:#dc262612;color:var(--muted)}tr.trip-cancelado td:first-child{box-shadow:inset 3px 0 0 var(--danger)}tr.oi-acopio td{background:#c7770014}tr.oi-acopio td:first-child{box-shadow:inset 3px 0 0 var(--warning)}html.dark tr.oi-acopio td{background:#f0883e1a}tr.ft-row td{background:#16a34a1a}tr.ft-row td:first-child{box-shadow:inset 4px 0 #16a34a}tr.ft-bajo-cubierta td{background:#38bdf81f}html.dark tr.ft-bajo-cubierta td{background:#38bdf824}tr.ft-bajo-cubierta td:first-child{box-shadow:inset 4px 0 #16a34a}.ft-badge{display:inline-block;margin-left:6px;padding:0 5px;background:#16a34a;color:#fff;font-size:9px;font-weight:800;letter-spacing:.5px;border-radius:4px;line-height:14px;vertical-align:middle}.matriz-table .ft-col{background:#16a34a1f}.matriz-table th.matriz-col-head.ft-col{box-shadow:inset 0 4px #16a34a}.matriz-table td.ft-col.col-hover{background:#16a34a3d}.colfilter{position:relative;display:inline-flex;margin-left:3px;vertical-align:middle}.colfilter-btn{border:none;background:transparent;cursor:pointer;color:var(--muted);font-size:9px;line-height:1;padding:2px 3px;border-radius:4px}.colfilter-btn:hover{background:var(--panel-soft);color:var(--text)}.colfilter-btn.active{color:var(--accent);background:#0f766e24}.colfilter-pop{position:fixed;z-index:500;width:232px;max-height:320px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:8px;animation:colfilter-in .14s ease both}@keyframes colfilter-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.colfilter-head{display:flex;gap:6px;margin-bottom:6px}.colfilter-link{flex:1;cursor:pointer;color:var(--accent);font-size:11px;font-weight:700;padding:4px 6px;border:1px solid var(--border);border-radius:5px;background:transparent}.colfilter-link:hover{background:var(--panel-soft)}.colfilter-search{margin-bottom:6px;font-size:12px;padding:5px 7px}.colfilter-list{overflow-y:auto;display:flex;flex-direction:column;gap:1px}.colfilter-item{display:flex;align-items:center;gap:7px;padding:4px 5px;border-radius:5px;cursor:pointer;font-size:12px;font-weight:500;color:var(--text)}.colfilter-item:hover{background:var(--panel-soft)}.colfilter-item input{flex-shrink:0;margin:0}.colfilter-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.colfilter-empty{padding:8px;font-size:11px;color:var(--muted)}html.dark .colfilter-pop{background:var(--panel)}.catalog-filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.catalog-filterbar-clear{border:none;background:none;color:var(--danger);cursor:pointer;font-size:12px;font-weight:700;padding:4px 8px;border-radius:6px}.catalog-filterbar-clear:hover{background:var(--panel-soft)}.notify-empty{padding:22px;text-align:center;color:var(--muted);font-size:var(--text-sm)}.news-title{font-size:15px;font-weight:800;color:var(--text);line-height:1.35}.news-body{white-space:pre-wrap;line-height:1.7;font-size:14px;color:var(--text)}.grid-tabs{display:flex;gap:0;border-bottom:1px solid var(--border, #e2e8f0);margin-bottom:0;padding:0 2px;flex-shrink:0}.grid-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:12.5px;font-weight:500;color:var(--muted, #64748b);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.grid-tab:hover{color:var(--text, #1e293b)}.grid-tab.sel{color:var(--accent, #2563eb);border-bottom-color:var(--accent, #2563eb);font-weight:600}.grid-tab-count{font-size:11px;font-weight:600;padding:1px 6px;border-radius:10px;background:var(--bg-alt, #f1f5f9);color:var(--muted, #64748b)}.grid-tab.sel .grid-tab-count{background:#dbeafe;color:#1d4ed8}.dark-toggle{position:relative;width:48px;height:26px;border-radius:999px;border:none;padding:0;cursor:pointer;flex-shrink:0;overflow:hidden;background:linear-gradient(130deg,#7dd3fc,#38bdf8 55%,#0ea5e9);box-shadow:inset 0 1px 3px #0000001f,0 0 0 1.5px #00000012;transition:background .38s ease,box-shadow .3s ease}.dark-toggle:before{content:"☁";position:absolute;left:26px;top:4px;font-size:10px;color:#ffffffd9;pointer-events:none;transition:opacity .22s ease;line-height:1}.dark-toggle.is-dark:before{content:"✦";left:6px;top:5px;font-size:7px;color:#fff9}.dark-toggle.is-dark{background:linear-gradient(130deg,#1e1b4b,#312e81 55%,#1e3a5f);box-shadow:inset 0 1px 3px #0006,0 0 0 1.5px #0003}.dt-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#f59e0b;box-shadow:0 1px 4px #00000047,0 0 0 .5px #0000000f;transition:transform .46s cubic-bezier(.22,1,.36,1),background .42s ease,color .38s ease,box-shadow .42s ease;will-change:transform;pointer-events:none}.dark-toggle.is-dark .dt-thumb{transform:translate(22px);background:#1e1b4b;color:#a5b4fc}.dt-thumb svg{animation:dt-icon-in .46s cubic-bezier(.22,1,.36,1)}@keyframes dt-icon-in{0%{opacity:0;transform:scale(.4) rotate(-35deg)}55%{opacity:1}to{opacity:1;transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.dt-thumb{transition:none}.dt-thumb svg{animation:none}}html.dark{--bg: #0f141b;--panel: #1b222d;--panel-soft: #232c38;--border: #3a424f;--text: #eaeff4;--muted: #9aa6b3;--accent: #2dd4bf;--accent-2: #60a5fa;--danger: #f85149;--warning: #f0883e;--ok: #86efac;--ok-soft: rgba(34, 197, 94, .16);--warn-soft: rgba(240, 136, 62, .18);--danger-soft: rgba(248, 81, 73, .15);--shadow: 0 18px 55px rgba(0, 0, 0, .6);--bg-alt: #1b222d;color-scheme:dark}html.dark body{background:var(--bg);color:var(--text)}html.dark .topbar{background:#161b22f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}html.dark .sidebar,html.dark .footer,html.dark .panel,html.dark .card,html.dark .catalog-nav,html.dark .time-filter,html.dark .editor-sheet,html.dark .confirm-box,html.dark .columns-menu,html.dark .notify-panel,html.dark .notify-mobile-popup,html.dark .toast{background:var(--panel)}html.dark .login-card{background:#161b22f5}html.dark .form-section{background:var(--panel)}html.dark .audit-row{background:var(--panel-soft)}html.dark th{background:var(--panel-soft);color:var(--muted)}html.dark .sec-chip{color:var(--bg)}html.dark .sec-chip.off{color:var(--muted)}html.dark .sec-chip.link{color:var(--accent-2)}html.dark .btn{background:var(--panel);color:var(--text);border-color:var(--border)}html.dark .btn.primary{background:var(--accent);border-color:var(--accent);color:#0d1117}html.dark .btn.blue{background:var(--accent-2);border-color:var(--accent-2);color:#0d1117}html.dark .btn.danger{color:var(--danger);border-color:#f8514959;background:#f8514914}html.dark .btn.ghost{background:transparent}html.dark .sidebar-toggle{background:var(--panel);color:var(--text);border-color:var(--border)}html.dark .shell.sidebar-collapsed .sidebar-toggle{border-color:#2dd4bf59;color:var(--accent);background:#2dd4bf1a}html.dark .input,html.dark .select,html.dark .textarea{background:var(--panel-soft);color:var(--text);border-color:var(--border)}html.dark .input:focus,html.dark .select:focus,html.dark .textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2dd4bf26}html.dark .check{background:var(--panel);border-color:var(--border)}html.dark .nav-btn{color:var(--text)}html.dark .nav-btn:hover{background:var(--panel-soft)}html.dark .nav-btn.active{background:#2dd4bf1a;color:var(--accent)}html.dark .catalog-nav-item{color:var(--text)}html.dark .catalog-nav-item:hover{background:var(--panel-soft)}html.dark .catalog-nav-item.active{background:#2dd4bf1a;color:var(--accent)}html.dark .time-filter-btn{color:var(--text)}html.dark .time-filter-btn:hover,html.dark .time-filter-btn.active{background:var(--panel-soft);color:var(--accent)}html.dark .time-filter-btn .count{background:var(--border);color:var(--muted)}html.dark .col-option:hover{background:var(--panel-soft)}html.dark .mark{background:#313b2b}html.dark .editor-tab{background:var(--panel-soft);border-color:var(--border);color:var(--muted)}html.dark .editor-tab.active{background:#2dd4bf1a;color:var(--accent);border-color:#2dd4bf40}html.dark .status.ok{color:#34d399;background:#34d3991f}html.dark .status.off{color:#fb923c;background:#fb923c1f}html.dark .status.warn{color:#fbbf24;background:#fbbf241f}html.dark .status.err{color:#f87171;background:#f871711f}html.dark .sync-badge{color:#34d399;background:#34d3991f;border-color:#34d39940}html.dark .sync-badge.offline{color:#fb923c;background:#fb923c1f;border-color:#fb923c40}html.dark .notify-item.unread{background:#2dd4bf14;border-left-color:var(--accent)}html.dark .notify-item.alert{background:#dc262624;border-left-color:#ef4444}html.dark .notify-item.alert .notify-item-title{color:#f87171}html.dark .notify-clear-btn{border-color:var(--border);color:var(--muted)}html.dark .notify-x-btn{background:var(--panel-soft);color:var(--muted)}html.dark .notify-x-btn:hover{background:var(--border)}html.dark .notify-clear-btn:hover{background:#f8514926;color:var(--danger);border-color:#f8514959}html.dark .grid-tab{color:var(--muted)}html.dark .grid-tab:hover{color:var(--text)}html.dark .grid-tab.sel{color:var(--accent);border-bottom-color:var(--accent)}html.dark .grid-tab-count{background:var(--panel-soft);color:var(--muted)}html.dark .grid-tab.sel .grid-tab-count{background:#2dd4bf1f;color:var(--accent)}html.dark .inherited-block{background:var(--panel-soft);border-left-color:var(--accent)}html.dark .confirm-layer{background:#00000061}html.dark .col-resizer:hover{background:#2dd4bf73}html.dark tr[data-row-id]:hover{background:#2dd4bf0d}html.dark tr.row-active{background:#2dd4bf17!important}html.dark th[data-sort-key]:hover{background:var(--border)}.stats-summary{background:linear-gradient(135deg,#f0fdf4,#eff6ff);border:1px solid #bbf7d0;border-radius:10px;padding:14px 18px;margin-bottom:20px}.stats-summary-title{font-weight:700;font-size:13px;color:#15803d}.stats-summary-sub{font-size:11px;color:#64748b;margin-top:2px}.stats-col-head{font-size:10px;font-weight:700;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.stats-col-head.pt{color:#15803d}.stats-col-head.mp{color:#1d4ed8}.stats-metric-label{color:#475569}.stats-recent-pt{background:#f0fdf4}.stats-recent-mp{background:#fff7ed}html.dark .stats-summary{background:linear-gradient(135deg,#22c55e1a,#3b82f61a);border-color:#22c55e4d}html.dark .stats-summary-title{color:#4ade80}html.dark .stats-summary-sub{color:var(--muted)}html.dark .stats-col-head.pt{color:#4ade80}html.dark .stats-col-head.mp{color:#60a5fa}html.dark .stats-metric-label{color:var(--muted)}html.dark .stats-recent-pt{background:#22c55e21}html.dark .stats-recent-mp{background:#f9731621}.photo-uploader{display:flex;flex-direction:column;gap:16px;padding:4px 2px}.photo-error{background:#dc26261a;border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:8px 12px;font-size:var(--text-sm)}.photo-group{border:1px solid var(--border);border-radius:10px;background:var(--panel-soft);padding:12px 14px}.photo-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-weight:600;color:var(--text)}.photo-group-head .muted{font-weight:400;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;align-items:start}.photo-thumb{position:relative;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel);aspect-ratio:1 / 1}.photo-thumb a{display:block;width:100%;height:100%}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb-x{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-thumb-x:hover{background:var(--danger)}.photo-thumb-dl{position:absolute;top:4px;left:4px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-thumb-dl:hover{background:var(--accent, #0f766e)}.photo-thumb-dl:disabled{opacity:.5;cursor:default}.photo-thumb-rot,.photo-thumb-crop{position:absolute;bottom:4px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-thumb-rot{left:4px}.photo-thumb-crop{right:4px}.photo-thumb-rot:hover,.photo-thumb-crop:hover{background:var(--accent, #0f766e)}.photo-thumb-rot:disabled,.photo-thumb-crop:disabled{opacity:.5;cursor:default}.photo-progress{height:6px;background:var(--border);border-radius:4px;overflow:hidden;margin:0 0 10px}.photo-progress>div{height:100%;background:var(--accent, #0f766e);transition:width .15s ease}.ptr{display:flex;align-items:flex-end;justify-content:center;overflow:hidden;transition:height .18s ease;flex-shrink:0}.ptr-inner{display:inline-flex;align-items:center;gap:6px;padding-bottom:8px;font-size:13px;font-weight:600;color:var(--muted, #6b7280);white-space:nowrap}.ptr-ico{display:inline-block;font-size:15px}.ptr-inner.spin .ptr-ico{animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}.num-pendiente{color:var(--muted, #9ca3af);font-style:italic;font-size:.86em;opacity:.85}.news-carousel{position:relative;width:100%;aspect-ratio:16 / 9;background:#0b0b0c;border-radius:10px;overflow:hidden;-webkit-user-select:none;user-select:none}.news-carousel-img{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in}.news-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:999px;border:none;background:#00000073;color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.news-carousel-nav:hover{background:#000000b8}.news-carousel-nav.prev{left:8px}.news-carousel-nav.next{right:8px}.news-carousel-nav.big{width:48px;height:48px;font-size:30px}.news-carousel-counter{position:absolute;top:8px;right:10px;background:#00000080;color:#fff;font-size:11.5px;padding:2px 8px;border-radius:999px}.news-carousel-dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:6px}.news-carousel-dot{width:8px;height:8px;border-radius:999px;border:none;background:#ffffff73;cursor:pointer;padding:0;transition:background .15s ease,transform .15s ease}.news-carousel-dot.active{background:#fff;transform:scale(1.25)}.news-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:24px}.news-lightbox-img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:6px;cursor:default}.news-lightbox-x{position:absolute;top:14px;right:16px;width:40px;height:40px;border-radius:999px;border:none;background:#ffffff26;color:#fff;font-size:18px;cursor:pointer}.news-lightbox-x:hover{background:#ffffff52}.news-lightbox-counter{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-size:13px}.adj-pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;padding:6px;background:var(--bg-alt, #f4f4f5);text-align:center}.adj-pdf-ico{font-size:26px;line-height:1}.adj-pdf-name{font-size:9.5px;color:var(--muted, #6b7280);line-height:1.15;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.news-skeleton{padding:14px 16px;border-bottom:1px solid var(--border)}.news-skeleton:last-child{border-bottom:none}.sk-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-alt, #f1f5f9) 25%,var(--panel-soft, #e2e8f0) 37%,var(--bg-alt, #f1f5f9) 63%);background-size:400% 100%;animation:sk-shimmer 1.4s ease infinite}@keyframes sk-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.sk-line{animation:none}}
