:root{--alt-charcoal: #1d1d1b;--alt-pink: #d981b4;--alt-pink-strong: #c9679f;--alt-blue: #83b2e0;--alt-mint: #5fb799;--alt-yellow: #f5e56a;--alt-peach: #f5ab8e;--alt-lilac: #b58fd6;--lidl-yellow: #d981b4;--lidl-yellow-hover: #c9679f;--lidl-red: #d94848;--lidl-red-hover: #c23a3a;--sidebar-bg: #1d1d1b;--sidebar-width: 240px;--sidebar-text: rgba(255,255,255,.72);--sidebar-text-active: #ffffff;--sidebar-item-hover: rgba(255,255,255,.07);--sidebar-item-active: rgba(217,129,180,.18);--sidebar-border: rgba(255,255,255,.07);--bg: #f6f5f4;--surface: #ffffff;--surface-2: #f8f7f6;--border: #e6e3e1;--border-light: #f0eeec;--text-primary: #1d1d1b;--text-secondary: #6b6a68;--text-muted: #9c9a97;--status-briefing: #6b7280;--status-briefing-bg: #f3f4f6;--status-produccion: #2563eb;--status-produccion-bg: #eff6ff;--status-revision: #d97706;--status-revision-bg: #fffbeb;--status-entregado: #16a34a;--status-entregado-bg: #f0fdf4;--status-cerrado: #475569;--status-cerrado-bg: #f1f5f9;--radius: 10px;--radius-sm: 6px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 40px rgba(0,0,0,.12);--transition: .15s ease;--scrollbar-thumb: #c7c3bf;--scrollbar-thumb-hover: #a8a49f}:root[data-theme=dark]{--bg: #16161a;--surface: #1f1f22;--surface-2: #292930;--border: #34343c;--border-light: #2a2a30;--text-primary: #f1f0ee;--text-secondary: #b4b2ad;--text-muted: #a19e97;--status-briefing: #b6bcc6;--status-briefing-bg: rgba(107,114,128,.2);--status-produccion: #93b4f7;--status-produccion-bg: rgba(37,99,235,.22);--status-revision: #f0b45f;--status-revision-bg: rgba(217,119,6,.22);--status-entregado: #57c98a;--status-entregado-bg: rgba(22,163,74,.22);--status-cerrado: #9fb0c4;--status-cerrado-bg: rgba(71,85,105,.28);--shadow-sm: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow: 0 4px 12px rgba(0,0,0,.45), 0 2px 4px rgba(0,0,0,.3);--shadow-lg: 0 10px 40px rgba(0,0,0,.55);--scrollbar-thumb: #3c3c44;--scrollbar-thumb-hover: #4e4e58}:root[data-theme=dark] body{background:#0f0f12}:root[data-theme=dark] tbody tr.tr-alt,:root[data-theme=dark] tbody tr:nth-child(2n){background:#ffffff08}:root[data-theme=dark] tbody tr:hover{background:#ffffff0f}:root[data-theme=dark] tbody tr.tr-overdue{background:#dc262624}:root[data-theme=dark] tbody tr.tr-overdue:hover{background:#dc262638}tbody tr.tr-colored{background:color-mix(in srgb,var(--rc, #9c9a97) 16%,transparent);box-shadow:inset 3px 0 0 var(--rc, #9c9a97)}tbody tr.tr-colored:hover{background:color-mix(in srgb,var(--rc, #9c9a97) 24%,transparent)}:root[data-theme=dark] tbody tr.tr-colored{background:color-mix(in srgb,var(--rc, #9c9a97) 30%,transparent)}:root[data-theme=dark] tbody tr.tr-colored:hover{background:color-mix(in srgb,var(--rc, #9c9a97) 42%,transparent)}:root[data-theme=dark] .db-recent-item:nth-child(2n){background:#ffffff08}:root[data-theme=dark] .db-recent-item:hover{background:#ffffff0f}:root[data-theme=dark] .db-recent-item.db-recent-overdue{background:#dc262624}:root[data-theme=dark] .db-recent-item.db-recent-overdue:hover{background:#dc262638}:root[data-theme=dark] .search-suggest-item.active,:root[data-theme=dark] .search-suggest-all:hover{background:#d981b429}:root[data-theme=dark] .warn-deadline,:root[data-theme=dark] .date-tag-warn,:root[data-theme=dark] .date-tag-deadline{background:#ea580c2e;color:#fdba74!important;border-color:#ea580c73}:root[data-theme=dark] .warn-overdue{background:#e11d482e;color:#fda4af;border-color:#e11d4873}:root[data-theme=dark] .warn-inactive{background:#d977062e;color:#fcd34d;border-color:#d9770673}:root[data-theme=dark] .warn-budget{background:#16a34a2e;color:#86efac;border-color:#16a34a73}:root[data-theme=dark] .overdue-chip{background:#dc262633;color:#fca5a5;border-color:#dc262673}:root[data-theme=dark] .inc-flag{background:#dc262633;color:#fca5a5}:root[data-theme=dark] .line-estado-pendiente{background:#6b728038;color:#b6bcc6}:root[data-theme=dark] .line-estado-en_produccion{background:#2563eb38;color:#93c5fd}:root[data-theme=dark] .line-estado-entregado{background:#16a34a33;color:#86efac}:root[data-theme=dark] .line-estado-cancelado{background:#dc262633;color:#fca5a5}:root[data-theme=dark] .kpi-days-fast{background:#16a34a33;color:#86efac}:root[data-theme=dark] .kpi-days-ok{background:#d9770633;color:#fcd34d}:root[data-theme=dark] .kpi-days-slow{background:#dc262633;color:#fca5a5}:root[data-theme=dark] .kpi-days-none{background:#6b728038;color:#a19e97}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;background:#eef1f6;color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,.sidebar-logo-text strong,.db-hero-title,.db-stat-value,.topbar-title,.section-card-title,.login-form-title,.login-panel-copy h2{font-family:Poppins,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.app-shell{display:flex;height:100vh;overflow:hidden}:root{--env-banner-h: 0px}:root.has-env-banner{--env-banner-h: 32px}.has-env-banner .app-shell{height:calc(100vh - var(--env-banner-h))}.has-env-banner .login-page{min-height:calc(100vh - var(--env-banner-h))}.env-banner{height:var(--env-banner-h);display:flex;align-items:center;justify-content:center;gap:12px;padding:0 16px;font-size:13px;color:#1d1d1b;background:repeating-linear-gradient(-45deg,#f5c542 0,#f5c542 14px,#f0b429 14px,#f0b429 28px);border-bottom:1px solid #c98a00;white-space:nowrap;overflow:hidden}.env-banner strong{letter-spacing:.08em}.env-banner-text{overflow:hidden;text-overflow:ellipsis}.env-banner-link{color:inherit;font-weight:600;text-decoration:underline}@media (max-width: 640px){.env-banner-text{display:none}}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overflow-x:hidden;transition:width .22s ease}.sidebar.collapsed{width:64px}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:22px 20px 18px;border-bottom:1px solid var(--border-light);min-height:72px}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:22px 10px 18px;gap:0}.sidebar.collapsed .sidebar-logo-mark{display:none}.sidebar-logo-brand{display:flex;flex-direction:column;gap:2px}.sidebar-logo-brand img{height:24px;width:auto;align-self:flex-start}.sidebar-logo-app{font-size:10.5px;font-weight:700;letter-spacing:.01em;text-transform:uppercase;color:#57b38e;transform:scaleX(.85);transform-origin:left center;white-space:nowrap;margin-left:23px}.sidebar-collapse-btn{margin-left:auto;flex-shrink:0;width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition),color var(--transition)}.sidebar-collapse-btn:hover{background:#faf0f6;color:#c9679f}.sidebar.collapsed .sidebar-collapse-btn{margin-left:0;margin-top:6px}.statuscfg-list{display:flex;flex-direction:column;gap:5px}.statuscfg-row{display:flex;align-items:center;gap:9px;transition:opacity .15s ease}.statuscfg-hidden{opacity:.45}.statuscfg-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.statuscfg-default{width:128px;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.statuscfg-input{flex:1;padding:6px 10px!important;font-size:12.5px!important}.statuscfg-eye{background:none;border:1px solid var(--border);border-radius:7px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);flex-shrink:0;transition:color .13s ease,border-color .13s ease,background .13s ease}.statuscfg-eye:hover{border-color:var(--alt-pink);color:var(--alt-pink-strong)}.statuscfg-eye.off{color:#d94848;background:#fef2f2;border-color:#fecaca}.title-mis{display:flex;flex-direction:column;gap:2px;line-height:1.15}.title-mis-user{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:#57b38e;text-transform:none;letter-spacing:0}.title-mis-clear{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:0 3px;border-radius:4px;line-height:1;transition:color .13s ease,background .13s ease}.title-mis-clear:hover{color:#d94848;background:#fef2f2}.sidebar-item-mis{align-items:flex-start}.sidebar-item-mis .icon{margin-top:2px}.sidebar-mis-label{display:flex;flex-direction:column;gap:2px;line-height:1.2}.sidebar-mis-user{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#57b38e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.sidebar-section-divider{height:1px;background:var(--border-light);margin:8px 10px}.sidebar-logo-mark{width:42px;height:42px;background:#c9679f;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-text{display:flex;flex-direction:column}.sidebar-logo-text strong{color:var(--text-primary);font-size:16px;font-weight:800;line-height:1.2}.sidebar-logo-text span{color:var(--text-muted);font-size:16px;font-weight:500;letter-spacing:.04em}.sidebar-nav{padding:12px 10px;flex:1}.sidebar-section-label{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 10px 6px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--text-secondary);font-size:13.5px;font-weight:500;transition:background var(--transition),color var(--transition);cursor:pointer;border:none;background:none;width:100%;text-align:left}.sidebar.collapsed .sidebar-item,.sidebar.collapsed .sidebar-signout{justify-content:center;padding:10px;gap:0}.sidebar-item:hover{background:#f0f5ff;color:#c9679f}[data-theme=dark] .sidebar-item:hover{background:#83b2e024;color:var(--alt-pink)}.sidebar-item.active{background:#faf0f6;color:#c9679f;font-weight:700}[data-theme=dark] .sidebar-item.active{background:#d981b433;color:var(--alt-pink)}.sidebar-item .icon{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.sidebar-footer{padding:14px 10px;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:6px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius)}.sidebar-avatar{width:32px;height:32px;background:#c9679f;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{color:var(--text-primary);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{color:var(--text-muted);font-size:11px}.sidebar-signout{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border-radius:var(--radius);background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition),color var(--transition)}.sidebar-signout:hover{background:#fff0f0;color:var(--lidl-red)}.sidebar-theme{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border-radius:var(--radius);background:none;border:none;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition),color var(--transition)}.sidebar-theme:hover{background:#f0f5ff;color:#c9679f}[data-theme=dark] .sidebar-theme:hover{background:#83b2e024;color:var(--alt-pink)}.sidebar.collapsed .sidebar-theme{justify-content:center;padding:8px}.btn-logout{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:color var(--transition)}.btn-logout:hover{color:var(--lidl-red)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);padding:16px}.main-frame{flex:1;display:flex;flex-direction:column;background:var(--surface);border-radius:16px;box-shadow:0 2px 12px #0000000f;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.fc-month{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.fc-month input{font-family:inherit;font-size:13px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px}.fc-estados{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 2px}.fc-estado-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.fc-estado-chip:not(.on):hover{border-color:var(--text-muted);color:var(--text-primary)}.fc-estado-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fc-summary{display:flex;gap:16px;margin-bottom:16px}.fc-summary-main{display:flex;flex-direction:column;gap:2px;background:linear-gradient(135deg,#d981b424,#83b2e01a);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 22px}.fc-summary-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:capitalize}.fc-summary-value{font-size:30px;font-weight:800;color:var(--text-primary);line-height:1.1}.fc-summary-sub{font-size:12px;color:var(--text-muted)}.fc-client{margin-bottom:14px}.fc-client-head{justify-content:space-between;align-items:center;gap:16px}.fc-client-total{display:flex;align-items:center;gap:10px;min-width:220px}.fc-client-bar{flex:1;height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.fc-client-bar>span{display:block;height:100%;background:var(--alt-pink);border-radius:999px}.fc-line-row{cursor:pointer}.db-daterange{display:flex;align-items:flex-end;gap:10px}.db-daterange-field{display:flex;flex-direction:column;gap:2px}.db-daterange-field>span{font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.db-daterange-field input{font-family:inherit;font-size:13px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px}.db-daterange-field input:focus{outline:none;border-color:var(--alt-pink)}.topbar-title{font-size:16px;font-weight:600;color:var(--text-primary)}.topbar-actions{display:flex;align-items:center;gap:10px}.page-content{flex:1;overflow-y:auto;padding:24px;animation:page-fade .26s cubic-bezier(.4,0,.2,1) both}@keyframes page-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.page-content,.modal,.modal-overlay{animation:none}}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;border:none;cursor:pointer;transition:background var(--transition),opacity var(--transition),transform var(--transition);white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--alt-pink);color:#fff;border-radius:999px}.btn-export{background:#57b38e;color:#fff;border-radius:999px}.btn-export:hover:not(:disabled){background:#3d8f6f}.btn-archive{background:var(--alt-charcoal);color:#fff;border-radius:999px}.btn-archive:hover:not(:disabled){background:#45443f}.btn-import{background:#4a7bd0;color:#fff;border-radius:999px}.btn-import:hover:not(:disabled){background:#3a63aa}.btn-primary:hover:not(:disabled){background:var(--lidl-yellow-hover)}.btn-danger{background:var(--lidl-red);color:#fff}.btn-danger:hover:not(:disabled){background:var(--lidl-red-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-secondary{background:#0e7490;color:#fff;border:1px solid #0e7490}.btn-secondary:hover:not(:disabled){background:#0c6280}.btn-sm{padding:5px 11px;font-size:12.5px}.btn-icon{padding:7px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition)}.btn-icon:hover{background:var(--bg);color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm)}.stat-label{font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1}.stat-sub{font-size:12px;color:var(--text-muted);margin-top:4px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge-briefing{color:var(--status-briefing);background:var(--status-briefing-bg)}.badge-produccion{color:var(--status-produccion);background:var(--status-produccion-bg)}.badge-revision{color:var(--status-revision);background:var(--status-revision-bg)}.badge-entregado{color:var(--status-entregado);background:var(--status-entregado-bg)}.badge-cerrado{color:var(--status-cerrado);background:var(--status-cerrado-bg)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 28px 6px 10px;font-size:13px;color:var(--text-primary);cursor:pointer;min-width:130px}.filter-select:focus{outline:none;border-color:var(--lidl-yellow)}table{width:100%;border-collapse:collapse}thead th{padding:10px 16px;text-align:left;font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{color:var(--text-primary)}tbody tr{border-bottom:1px solid var(--border-light);transition:background var(--transition);cursor:pointer}tbody tr:last-child{border-bottom:none}tbody tr.tr-alt{background:#f8f9fb}tbody tr:nth-child(2n){background:#f6f7fb}tbody tr:hover{background:#eef2fa}tbody tr.tr-overdue{background:#fef2f2;box-shadow:inset 3px 0 #dc2626}tbody tr.tr-overdue:hover{background:#fee2e2}.overdue-chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:#dc2626;background:#fee2e2;border:1px solid #fecaca;padding:1px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}tbody td{padding:12px 16px;font-size:13.5px;color:var(--text-primary)}.td-title{font-weight:600;max-width:260px}.td-title span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.warn-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.warn-badge{display:inline-flex;align-items:center;gap:2px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;line-height:1.4}.warn-deadline{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.warn-overdue{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.warn-inactive{background:#fffbeb;color:#a16207;border:1px solid #fde68a}.warn-budget{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.date-tag-warn{color:#c2410c!important;background:#fff7ed;border-color:#fed7aa}.empty-state{padding:60px 24px;text-align:center;color:var(--text-muted)}.empty-state-icon{font-size:36px;margin-bottom:12px;opacity:.5}.empty-state p{font-size:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modal-fade .2s ease both}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;animation:modal-pop .26s cubic-bezier(.34,1.3,.64,1) both}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:16px;font-weight:700;color:var(--text-primary)}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:20px;padding:2px 6px;border-radius:4px;transition:color var(--transition)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px 24px;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group.full{grid-column:1 / -1}.form-label{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.form-label .required{color:var(--lidl-red);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-primary);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--lidl-yellow);box-shadow:0 0 0 3px #ffe00026}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer}.form-textarea{resize:vertical;min-height:90px}.sale-price-display{display:flex;align-items:center;justify-content:space-between;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm);padding:10px 14px}.sale-price-label{font-size:13px;color:#15803d;font-weight:600}.sale-price-value{font-size:16px;font-weight:800;color:#15803d}.form-error{font-size:12px;color:var(--lidl-red);margin-top:2px}.detail-wrap{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.detail-card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.detail-card-title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.detail-card-body{padding:20px}.detail-field{margin-bottom:16px}.detail-field:last-child{margin-bottom:0}.detail-field-label{font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.detail-field-value{font-size:14px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.detail-field-value.empty{color:var(--text-muted);font-style:italic}.detail-title{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.status-stepper{display:flex;align-items:center;gap:0;overflow-x:auto;padding-bottom:4px}.step{display:flex;align-items:center;gap:0;flex-shrink:0}.step-btn{padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--transition);white-space:nowrap}.step-btn.active{border-color:currentColor}.step-btn.active.briefing{color:var(--status-briefing);background:var(--status-briefing-bg);border-color:var(--status-briefing)}.step-btn.active.produccion{color:var(--status-produccion);background:var(--status-produccion-bg);border-color:var(--status-produccion)}.step-btn.active.revision{color:var(--status-revision);background:var(--status-revision-bg);border-color:var(--status-revision)}.step-btn.active.entregado{color:var(--status-entregado);background:var(--status-entregado-bg);border-color:var(--status-entregado)}.step-btn.active.cerrado{color:var(--status-cerrado);background:var(--status-cerrado-bg);border-color:var(--status-cerrado)}.step-btn:hover:not(.active){background:var(--bg);color:var(--text-primary)}.detail-economic-bar{display:flex;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.detail-econ-item{flex:1;padding:12px 18px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:3px}.detail-econ-item:last-child{border-right:none}.detail-econ-label{font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.detail-econ-value{font-size:16px;font-weight:700;color:var(--text-primary)}.detail-econ-sale .detail-econ-value{color:#15803d}.date-tag-deadline{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.expediente-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.expediente-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.expediente-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#d981b4,#83b2e0);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.expediente-type-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.expediente-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.expediente-name{font-size:13.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expediente-link{color:#2563eb;text-decoration:none}.expediente-link:hover{text-decoration:underline}.expediente-sub{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expediente-role-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:#eff6ff;color:#2563eb;white-space:nowrap;flex-shrink:0}.expediente-type-badge{background:#f5f3ff;color:#7c3aed}.expediente-del{width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition),color var(--transition)}.expediente-del:hover{background:#fff1f2;color:var(--lidl-red)}.expediente-add-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.expediente-add-actions{display:flex;gap:8px;justify-content:flex-end}.expediente-add-btn{width:100%;padding:8px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:none;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition);text-align:center}.expediente-add-btn:hover{border-color:#c9679f;color:#c9679f;background:#eff6ff}.step-arrow{color:var(--border);font-size:12px;padding:0 4px}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--lidl-yellow);background:#ffe0000a}.drop-zone-icon{font-size:28px;margin-bottom:8px;opacity:.5}.drop-zone-text{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.drop-zone-hint{font-size:11.5px;color:var(--text-muted)}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:6px}.file-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.file-icon{font-size:18px;flex-shrink:0}.file-info{flex:1;min-width:0}.file-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:11.5px;color:var(--text-muted)}.file-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.section-card-header{padding:14px 18px;border-bottom:1px solid var(--border)}.section-card-title{font-size:13.5px;font-weight:700;color:var(--text-primary)}.section-card-body{padding:16px 18px}.bar-list{display:flex;flex-direction:column;gap:10px}.bar-item{display:flex;flex-direction:column;gap:4px}.bar-label{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-secondary)}.bar-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.login-page{min-height:100vh;display:flex}.login-panel-left{flex:0 0 48%;background:linear-gradient(115deg,#1d1d1b73,#1d1d1b26 32%,#1d1d1b00 55%),linear-gradient(to top,#1d1d1b8c,#1d1d1b26 30%,#1d1d1b00 50%),url(/login-bg.jpg) center / cover no-repeat,var(--alt-charcoal);display:flex;flex-direction:column;padding:48px 52px;position:relative;overflow:hidden}.login-panel-logo{display:flex;align-items:center;gap:10px;margin-bottom:auto}.login-panel-logomark{width:36px;height:36px;background:#1a1a2e;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-panel-logomark.small{width:30px;height:30px;border-radius:7px;background:var(--sidebar-bg)}.login-panel-appname{font-size:17px;font-weight:800;color:#fff;letter-spacing:.04em}.login-panel-copy{margin-top:auto;margin-bottom:36px}.login-panel-copy h2{font-size:26px;font-weight:800;color:#fff;line-height:1.3;margin-bottom:16px}.login-panel-copy h2 em{font-style:normal;color:var(--alt-yellow)}.login-panel-copy p{font-size:14px;color:#ffffff8c;line-height:1.6}.login-panel-pills{display:flex;flex-wrap:wrap;gap:8px}.login-pill{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:6px 14px;font-size:12.5px;font-weight:600;color:#fff}.login-panel-deco{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-panel-illustration{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:85%;pointer-events:none;z-index:0}.login-panel-illustration img{width:100%;height:auto;display:block;opacity:.55}.login-panel-left>*:not(.login-panel-deco):not(.login-panel-illustration){position:relative;z-index:1}.deco-circle{position:absolute;border-radius:50%;background:#ffffff0f}.deco-1{width:340px;height:340px;top:-100px;right:-80px}.deco-2{width:220px;height:220px;bottom:60px;right:-60px}.deco-3{width:140px;height:140px;top:40%;left:-50px}.login-panel-right{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:48px 40px}.login-form-wrap{width:100%;max-width:360px}.login-form-logo{display:flex;align-items:center;gap:9px;margin-bottom:36px}.login-form-appname{font-size:16px;font-weight:800;color:var(--text-primary);letter-spacing:.04em}.login-title-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:28px}.login-title-row svg{margin-top:4px}.login-form-title{font-size:26px;font-weight:800;color:var(--text-primary);margin-bottom:6px;line-height:1.2}.login-form-subtitle{font-size:13.5px;color:var(--text-muted);margin-bottom:0}.login-error-box{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);padding:10px 14px;font-size:13px;color:var(--lidl-red);margin-bottom:20px}.login-expired-box{background:#eff6ff;border-color:#c7dcf5;color:#2f5d8a}.login-form{display:flex;flex-direction:column;gap:18px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.login-input-wrap{position:relative}.login-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text-primary);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none;font-family:inherit}.login-input:focus{border-color:var(--lidl-red);box-shadow:0 0 0 3px #cc000014}.login-input-wrap .login-input{padding-right:42px}.login-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);display:flex;align-items:center;padding:4px;cursor:pointer;transition:color var(--transition)}.login-eye:hover{color:var(--text-secondary)}.login-submit{width:100%;padding:13px;background:#c9679f;color:#fff;border:none;border-radius:999px;font-size:14.5px;font-weight:700;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;transition:background var(--transition),transform 80ms ease}.login-submit:hover:not(:disabled){background:#003d85}.login-submit:active:not(:disabled){transform:scale(.99)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.login-hint{font-size:12px;color:var(--text-muted);text-align:center;margin-top:24px;line-height:1.5}@media (max-width: 1024px){.login-panel-left{flex:0 0 38%;padding:36px}.login-panel-copy h2{font-size:22px}.login-panel-right{padding:36px 28px}}.login-mobile-logo{display:none}@media (max-width: 680px){.login-page{flex-direction:column;background:#f0f4fa;align-items:center;justify-content:center;padding:24px 16px;min-height:100vh}.login-panel-left{display:none}.login-panel-right{flex:unset;width:100%;max-width:400px;background:#fff;border-radius:20px;box-shadow:0 8px 40px #0000001a;padding:36px 28px 32px;align-items:stretch;justify-content:flex-start}.login-form-wrap{max-width:100%}.login-mobile-logo{display:flex;justify-content:center;margin-bottom:28px}.login-mobile-logo img{width:72px;height:72px;object-fit:contain}.login-form-title{font-size:22px}.login-hint{margin-top:16px}}.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-bottom:16px;cursor:pointer;background:none;border:none;padding:0;transition:color var(--transition)}.back-btn:hover{color:var(--text-primary)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text-muted);font-size:14px;gap:10px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--lidl-yellow);border-radius:50%;animation:spin .7s linear infinite}.text-muted{color:var(--text-muted)}.text-sm{font-size:12.5px}.divider{height:1px;background:var(--border);margin:16px 0}.date-tag{font-size:12px;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}.db-layout{display:flex;flex-direction:column;gap:20px}.db-heroes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.db-hero{border-radius:var(--radius-lg);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;min-height:148px}.db-hero-main,.db-hero-stats,.db-hero-types{background:var(--alt-charcoal);padding:26px 28px;align-items:flex-start;overflow:hidden}.db-hero-main{background:linear-gradient(100deg,#3d8f6feb,#57b38e8c 45%,#57b38e0d 75%),url(/hero-01.jpg) center / cover no-repeat,#57b38e}.db-hero-stats{background:linear-gradient(100deg,#9d4a77eb,#d981b480 45%,#d981b40d 75%),url(/hero-02.jpg) center / cover no-repeat,var(--alt-pink)}.db-hero-types{background:linear-gradient(100deg,#b06a48eb,#f5ab8e80 45%,#f5ab8e0d 75%),url(/hero-03.jpg) center / cover no-repeat,var(--alt-peach)}.db-hero-type-list{margin-top:14px;display:flex;flex-direction:column;gap:8px}.db-hero-type-row{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .12s ease}.db-hero-type-row:hover{background:#ffffff1f}.db-hero-type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.db-hero-type-name{font-size:12.5px;font-weight:600;color:#ffffffe0;flex:1}.db-hero-type-count{font-size:13px;font-weight:800;color:#fff;min-width:20px;text-align:right}.db-hero-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.db-hero-pill{font-size:11.5px;font-weight:700;color:#fff;padding:4px 10px;border-radius:20px;letter-spacing:.02em}.db-hero-stat-big{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;z-index:1;flex-shrink:0}.db-hero-stat-num{font-family:Poppins,sans-serif;font-size:64px;font-weight:900;color:#d981b4;line-height:1}.db-hero-stat-label{font-size:12px;font-weight:600;color:#fff9;text-align:center;line-height:1.3;text-transform:uppercase;letter-spacing:.08em}.db-hero-text{position:relative;z-index:1;max-width:480px}.db-hero-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffa6;margin-bottom:6px}.db-hero-title{font-size:20px;font-weight:800;color:#fff;line-height:1.2;margin-bottom:6px}.db-hero-sub{font-size:12.5px;color:#ffffffd1;margin-bottom:14px;line-height:1.45}.db-hero-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--alt-charcoal);border:none;padding:9px 18px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer;transition:background var(--transition),transform 80ms ease;white-space:nowrap;position:relative;z-index:2}.db-hero-btn:hover{background:var(--alt-blue);color:var(--alt-charcoal)}.db-hero-main .db-hero-btn{background:#57b38e;color:#fff}.db-hero-main .db-hero-btn:hover{background:#35755b;color:#fff}.db-hero-stats .db-hero-btn{background:#d981b4;color:#fff}.db-hero-stats .db-hero-btn:hover{background:#9d4a77;color:#fff}.db-hero-types .db-hero-btn{background:#dd8659;color:#fff}.db-hero-types .db-hero-btn:hover{background:#a85a38;color:#fff}.db-hero-btn:active{transform:scale(.98)}.db-hero-illus-right{position:absolute;right:0;top:0;bottom:0;width:55%;pointer-events:none;overflow:hidden;border-radius:0 var(--radius-lg) var(--radius-lg) 0;z-index:1}.db-hero-illus-right img{display:none}.db-hero-main .db-hero-text{position:relative;z-index:1}.db-hero-circles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:var(--radius-lg)}.db-hero-circle{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.12)}.db-hero-circle-1{width:260px;height:260px;left:-60px;top:-80px}.db-hero-circle-2{width:180px;height:180px;left:120px;bottom:-70px}.db-hero-circle-3{width:120px;height:120px;left:40px;bottom:10px}.db-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}@media (max-width: 1150px){.db-row{grid-template-columns:1fr}}.db-stats-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}@media (max-width: 1280px){.db-stats-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 680px){.db-stats-row{grid-template-columns:repeat(2,1fr)}}.db-stat-card{background:var(--surface);border-radius:var(--radius-lg);padding:11px 14px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.db-stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #14143c1a}.db-stat-info{display:flex;flex-direction:column;gap:2px}.db-stat-label{font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.db-stat-value{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1}.db-stat-sub{font-size:10.5px;color:var(--text-muted)}.db-spark-line{stroke-dasharray:90;stroke-dashoffset:90;animation:db-spark-draw 3.6s ease-in-out infinite}@keyframes db-spark-draw{0%{stroke-dashoffset:90}40%{stroke-dashoffset:0}72%{stroke-dashoffset:0}to{stroke-dashoffset:-90}}@media (prefers-reduced-motion: reduce){.db-spark-line{animation:none;stroke-dashoffset:0}}.db-chart-card{flex:1}.db-barchart-area{position:relative;height:174px;margin:10px 10px 30px 38px}.db-grid-line{position:absolute;left:0;right:0;border-top:1px dashed var(--border-light);pointer-events:none}.db-grid-label{position:absolute;left:-38px;top:-7px;width:30px;text-align:right;font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.db-barchart{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;gap:8px}.db-bar-col{position:relative;flex:1;height:100%;cursor:pointer}.db-bar-count{position:absolute;left:0;right:0;text-align:center;font-size:11px;font-weight:700;color:var(--text-primary);transition:bottom .6s cubic-bezier(.4,0,.2,1),opacity .18s ease;pointer-events:none}.db-bar-fill{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:min(32px,70%);border-radius:5px 5px 0 0;min-height:2px}.db-bar-label{position:absolute;top:100%;left:0;right:0;margin-top:7px;text-align:center;font-size:10px;color:var(--text-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .18s ease}.db-recent-panel{min-width:0}.db-recent-list{display:flex;flex-direction:column;gap:0}.db-recent-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background var(--transition)}.db-recent-item:nth-child(2n){background:#f6f7fb}.db-recent-item:hover{background:#eef2fa}.db-recent-item.db-recent-overdue{background:#fef2f2;box-shadow:inset 3px 0 #dc2626}.db-recent-item.db-recent-overdue:hover{background:#fee2e2}.kanban-col-overdue{margin-left:auto;font-size:10px;font-weight:700;color:#fff;background:#dc2626;border-radius:10px;padding:1px 7px;white-space:nowrap}.kanban-col-overdue+.kanban-col-count{margin-left:6px}.task-progress{height:5px;background:var(--border-light);overflow:hidden}.task-progress-fill{height:100%;background:linear-gradient(90deg,var(--alt-pink),var(--alt-pink-strong));border-radius:0 3px 3px 0;transition:width .4s cubic-bezier(.4,0,.2,1)}*{scrollbar-width:thin;scrollbar-color:#d8d5d2 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#d8d5d2;border-radius:8px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#bcb8b4;background-clip:content-box}.empty-state{position:relative}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;font-size:28px;background:radial-gradient(circle at 30% 25%,#d981b459,#d981b400 60%),radial-gradient(circle at 75% 70%,#83b2e059,#83b2e000 60%),radial-gradient(circle at 60% 20%,#f5ab8e4d,#f5ab8e00 55%),var(--surface-2);margin-bottom:4px}.sk{background:linear-gradient(90deg,#eceae8 25%,#f5f3f1,#eceae8 75%);background-size:200% 100%;animation:sk-shimmer 1.3s ease-in-out infinite;border-radius:6px}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-row{display:flex;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--border-light)}.sk-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px}@media (prefers-reduced-motion: reduce){.sk{animation:none}}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border-light);background:var(--surface)}.pagination-info{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.pagination-controls{display:flex;align-items:center;gap:10px}.pagination-page{font-size:12.5px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.kanban-page{padding:16px!important;display:flex;flex-direction:column}.kanban-board{display:flex;gap:10px;overflow-x:auto;flex:1;align-items:flex-start;padding-bottom:10px}.kanban-col{flex:0 0 232px;border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:calc(100vh - 170px);transition:background .18s ease,box-shadow .18s ease}.kanban-col-header{display:flex;align-items:center;gap:7px;padding:10px 12px 8px;position:sticky;top:0}.kanban-col-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.kanban-col-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-col-count{margin-left:auto;font-size:11px;font-weight:700;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:0 7px}.kanban-col-body{overflow-y:auto;padding:2px 8px 22px;display:flex;flex-direction:column;gap:7px;min-height:60px;-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to bottom,black calc(100% - 18px),transparent 100%)}.kanban-card{background:var(--surface);border:none;border-radius:var(--radius);box-shadow:0 1px 3px #1414281a;padding:9px 11px;cursor:grab;transition:box-shadow .15s ease,transform .15s ease,opacity .15s ease}.kanban-card:hover{box-shadow:0 4px 12px #14143c1a;transform:translateY(-1px)}.kanban-card:active{cursor:grabbing}.kanban-card-dragging{opacity:.4}.kanban-card-overdue{box-shadow:0 0 0 1.5px #dc2626,0 1px 3px #dc26262e}.kanban-card-overdue:hover{box-shadow:0 0 0 1.5px #dc2626,0 4px 12px #dc262640}.kanban-card-title{font-size:12.5px;font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:5px}.kanban-card-cliente{font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card-deadline{font-size:10.5px;color:var(--text-muted);white-space:nowrap}.kanban-card-deadline.overdue{color:#dc2626;font-weight:700}.kanban-card-ref{font-size:10px;font-family:monospace;color:var(--text-muted);margin-top:3px}.kanban-card-since{font-size:10px;color:var(--text-muted);margin-top:3px;white-space:nowrap}.kanban-col-empty{font-size:11px;color:var(--text-muted);text-align:center;padding:16px 0;border:1.5px dashed var(--border);border-radius:var(--radius)}.history-list{display:flex;flex-direction:column;gap:0;max-height:320px;overflow-y:auto}.history-item{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-light)}.history-item:last-child{border-bottom:none}.history-dot{width:8px;height:8px;border-radius:50%;background:var(--border);margin-top:5px;flex-shrink:0}.history-dot-status{background:var(--alt-pink)}.history-info{display:flex;flex-direction:column;gap:1px;min-width:0}.history-line{font-size:12.5px;color:var(--text-secondary);line-height:1.4}.history-line strong{color:var(--text-primary);font-weight:600}.history-line em{font-style:normal;color:var(--alt-pink-strong);font-weight:600}.history-meta{font-size:11px;color:var(--text-muted)}.comment-legacy{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin-bottom:12px}.comment-legacy-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.comment-form{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border-light)}.comment-link-add{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.comment-link-add .form-input{flex:1;min-width:120px}.comment-links{display:flex;flex-wrap:wrap;gap:6px}.comment-link-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--alt-pink-strong);background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:2px 8px;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.comment-link-chip:hover{text-decoration:underline}.comment-link-del{border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 0 0 2px}.comment-list{display:flex;flex-direction:column;gap:12px}.comment-item{display:flex;gap:10px;align-items:flex-start}.comment-avatar{width:28px;height:28px;border-radius:50%;background:var(--alt-pink);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.comment-meta strong{color:var(--text-primary);font-weight:600}.comment-date{font-size:11px;color:var(--text-muted)}.comment-del{margin-left:auto;border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:15px;line-height:1}.comment-del:hover{color:#dc2626}.comment-text{font-size:13px;color:var(--text-secondary);line-height:1.45;margin:2px 0 4px;white-space:pre-wrap;word-break:break-word}.sources-table{width:100%;border-collapse:collapse;margin-top:4px;font-size:12.5px}.sources-table th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:4px 8px;border-bottom:1px solid var(--border)}.sources-table td{padding:5px 8px;border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:top}.sources-table tbody tr:last-child td{border-bottom:none}.sources-table td:first-child{color:var(--text-primary);font-weight:600}.sources-table td.empty{color:var(--text-muted)}.sources-table tfoot .sources-total td{border-top:2px solid var(--border);border-bottom:none;font-weight:700;color:var(--text-primary);padding-top:6px}.benchmark-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:18px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.benchmark-filter{display:flex;flex-direction:column;gap:4px;min-width:160px}.benchmark-report-job{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:16px}.benchmark-report-jobhead{display:flex;align-items:center;gap:10px;padding-bottom:8px;margin-bottom:10px;border-bottom:2px solid var(--border)}.benchmark-report-jobtitle{font-size:15px;font-weight:700;color:var(--text-primary)}.benchmark-report-exp{font-family:monospace;font-size:12px;color:var(--text-muted)}.benchmark-report-line{margin:10px 0 16px}.benchmark-report-linehead{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:4px}.benchmark-cheapest{background:#16a34a1a}.benchmark-cheapest td{font-weight:600}.benchmark-block{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.benchmark-title{font-size:12px;font-weight:700;color:var(--text-secondary);margin-bottom:8px}.benchmark-table td{vertical-align:middle}.benchmark-table .form-input{min-width:80px}.benchmark-table tfoot td{border-top:1px solid var(--border);padding-top:8px}.searchselect{position:relative;width:100%}.searchselect-control{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;font-size:13px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer}.searchselect-control:hover:not(:disabled){border-color:var(--alt-pink)}.searchselect.disabled .searchselect-control,.searchselect-control:disabled{opacity:.6;cursor:not-allowed}.searchselect-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchselect-placeholder{color:var(--text-muted)}.searchselect-arrow{color:var(--text-muted);font-size:11px;flex-shrink:0}.searchselect-clear{color:var(--text-muted);font-size:16px;line-height:1;flex-shrink:0;padding:0 2px;cursor:pointer}.searchselect-clear:hover{color:#dc2626}.searchselect-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000024;padding:6px}.searchselect-menu.up{top:auto;bottom:calc(100% + 4px)}.searchselect-search{width:100%;margin-bottom:6px}.searchselect-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.searchselect-option{text-align:left;padding:7px 8px;font-size:13px;border:none;background:none;border-radius:4px;color:var(--text-primary);cursor:pointer}.searchselect-option:hover{background:var(--surface-2)}.searchselect-option.active{background:var(--alt-pink);color:#fff}.searchselect-empty{padding:8px;font-size:12px;color:var(--text-muted)}.searchselect-create{text-align:left;padding:7px 8px;font-size:13px;border:none;background:none;border-radius:4px;color:var(--alt-pink-strong);font-weight:600;cursor:pointer}.searchselect-create:hover{background:var(--surface-2)}.sidebar-new-wrap{padding:10px 12px 2px}.sidebar-new-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border:none;border-radius:999px;background:var(--alt-pink);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease,transform .12s ease}.sidebar-new-btn:hover{background:var(--alt-pink-strong);transform:translateY(-1px)}.sidebar-new-btn.collapsed{padding:9px 0}.sidebar-new-plus{font-size:16px;font-weight:800;line-height:1}.db-refresh-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:3px;border-radius:6px;display:inline-flex;align-items:center;transition:color .15s ease,background .15s ease}.db-refresh-btn:hover{background:var(--surface-2);color:var(--text-primary)}.db-refresh-btn:disabled{cursor:default}.db-refresh-spinning{animation:db-spin .8s linear infinite}@keyframes db-spin{to{transform:rotate(360deg)}}.db-recent-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.db-recent-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.db-recent-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-recent-meta{font-size:11px;color:var(--text-muted)}.db-bottom-row{grid-template-columns:1fr 300px}.db-table-card,.db-donut-card{min-width:0}.db-donut-wrap{display:flex;flex-direction:row;align-items:center;gap:16px;padding:8px 6px 6px}.db-donut-wrap>svg{flex-shrink:0}.db-donut-legend{flex:1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,150px));gap:1px 8px;justify-content:center;align-content:center}.db-legend-item{display:flex;align-items:center;gap:7px;padding:3px 6px;border-radius:var(--radius);cursor:pointer;transition:background .15s ease,opacity .18s ease}.db-legend-item:hover,.db-legend-item-active{background:var(--surface-2)}.db-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.db-legend-label{flex:1;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-legend-count{font-size:12px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.global-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 12px;flex-shrink:0}.global-topbar-search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:100px;padding:9px 18px;flex:1;max-width:420px;color:var(--text-muted);box-shadow:var(--shadow-sm);position:relative}.search-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:300;animation:modal-fade .14s ease both}.search-suggest-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--border-light)}.search-suggest-item.active{background:#faf0f6}.search-suggest-main{display:flex;flex-direction:column;gap:1px;min-width:0}.search-suggest-title{font-size:12.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-suggest-meta{font-size:10.5px;color:var(--text-muted)}.search-suggest-status{font-size:10px;font-weight:600;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border-light);border-radius:8px;padding:2px 7px;white-space:nowrap;flex-shrink:0}.search-suggest-all{padding:9px 14px;font-size:12px;font-weight:600;color:var(--alt-pink-strong);cursor:pointer;text-align:center;background:var(--surface-2)}.search-suggest-all:hover{background:#faf0f6}.global-topbar-search input{border:none;outline:none;background:transparent;font-size:13.5px;color:var(--text-primary);font-family:Poppins,sans-serif;font-weight:500;flex:1}.global-topbar-search input::placeholder{color:var(--text-muted)}.global-topbar-right{display:flex;align-items:center;gap:20px}.global-topbar-date{display:flex;align-items:center;gap:7px;color:var(--text-muted);position:relative}.global-topbar-today{font-size:13px;font-weight:500;color:var(--text-muted)}.global-topbar-datestr{font-size:13.5px;font-weight:700;color:var(--text-primary);font-family:Poppins,sans-serif}.topbar-theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),color var(--transition),background var(--transition)}.topbar-theme-toggle:hover{color:var(--alt-pink-strong);box-shadow:var(--shadow)}.global-topbar-usermenu{position:relative}.global-topbar-user{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:100px;padding:5px 12px 5px 5px;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition)}.global-topbar-user:hover,.global-topbar-user.open{box-shadow:var(--shadow)}.global-topbar-caret{color:var(--text-muted);transition:transform var(--transition)}.global-topbar-user.open .global-topbar-caret{transform:rotate(180deg)}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;z-index:60}.user-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--border-light);margin-bottom:6px}.user-menu-name{font-size:13.5px;font-weight:700;color:var(--text-primary)}.user-menu-email{font-size:12px;color:var(--text-muted);margin-top:2px;word-break:break-all}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--text-primary);text-align:left}.user-menu-item:hover{background:var(--surface-2)}.user-menu-signout:hover{background:#fff0f0;color:var(--lidl-red)}[data-theme=dark] .user-menu-signout:hover{background:#d9484829}.global-topbar-avatar{width:30px;height:30px;background:#c9679f;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.global-topbar-username{font-size:13px;font-weight:600;color:var(--text-primary)}.global-topbar-datepicker-wrap{display:flex;align-items:center;gap:4px}.detail-person{display:flex;flex-direction:column;gap:1px}.detail-person-email{font-size:11.5px;color:#4a7ec2;text-decoration:none}.detail-person-email:hover{text-decoration:underline}.login-google-btn{display:flex;justify-content:center;margin-bottom:4px;min-height:0}.login-divider{display:flex;align-items:center;gap:12px;margin:16px 0 10px;color:var(--text-muted);font-size:11.5px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-local-toggle{display:block;margin:0 auto;background:none;border:none;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;text-decoration:underline;padding:4px}.login-local-toggle:hover{color:var(--alt-pink-strong)}.date-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:100px;padding:7px 14px;cursor:pointer;font-family:inherit;color:var(--text-muted);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),border-color var(--transition)}.date-chip:hover{box-shadow:var(--shadow);border-color:var(--alt-pink)}.date-chip-active{border-color:var(--alt-pink);background:#faf0f6}.date-chip-today{font-size:12.5px;font-weight:500;color:var(--text-muted)}.date-chip-value{font-size:12.5px;font-weight:700;color:var(--text-primary);white-space:nowrap}.date-chip-active .date-chip-value{color:var(--alt-pink-strong)}.date-chip-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none;border:none;padding:0}.global-topbar-date{display:flex;align-items:center;gap:6px}.global-topbar-dateclear{background:none;border:none;font-size:11px;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1}.global-topbar-dateclear:hover{color:var(--lidl-red)}.global-topbar-searchclear{background:none;border:none;font-size:11px;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;flex-shrink:0}.global-topbar-searchclear:hover{color:var(--lidl-red)}.badge-brief_recibido{color:#64748b;background:#f8fafc}.badge-debrief_maqueta{color:#2563eb;background:#eff6ff}.badge-esperando_ok_maqueta{color:#7c3aed;background:#f5f3ff}.badge-preparando_presupuesto{color:#d97706;background:#fffbeb}.badge-presu_pendiente_ok{color:#ea580c;background:#fff7ed}.badge-presu_ok_pendiente_po{color:#b45309;background:#fef3c7}.badge-presu_ok_po_recibida{color:#0d9488;background:#f0fdfa}.badge-en_produccion{color:#4f46e5;background:#eef2ff}.badge-entregado{color:#16a34a;background:#f0fdf4}.badge-facturado{color:#0e7490;background:#ecfeff}.badge-on_hold{color:#9ca3af;background:#f9fafb;border:1px solid #e5e7eb}.badge-cancelado{color:#dc2626;background:#fef2f2}.badge-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.badge-status{color:color-mix(in srgb,var(--sc, #9c9a97) 62%,#000);background:color-mix(in srgb,var(--sc, #9c9a97) 14%,transparent);border:1px solid color-mix(in srgb,var(--sc, #9c9a97) 34%,transparent)}:root[data-theme=dark] .badge-status{color:color-mix(in srgb,var(--sc, #9c9a97) 82%,#fff);background:color-mix(in srgb,var(--sc, #9c9a97) 30%,transparent);border-color:color-mix(in srgb,var(--sc, #9c9a97) 55%,transparent)}.badge-type{font-size:11px}.badge-folleto{color:#35668f;background:#83b2e029}.badge-revista{color:#8f5477;background:#d981b429}.badge-plv{color:#2f5a94;background:#4a7ec226}.badge-cartel{color:#6d568c;background:#b58fd62e}.badge-stopper{color:#a05c39;background:#f5ab8e33}.badge-tarjeton{color:#2f7b84;background:#52b9c429}.badge-embalaje{color:#857421;background:#e3cf4f33}.badge-merchandising{color:#2c6e56;background:#5fb7992e}.badge-vinilo{color:#37766a;background:#43a58329}.badge-otros{color:#6b6a68;background:#9c9a9729}.status-stepper-wrap{margin-top:16px;display:flex;flex-direction:column;gap:8px}.status-stepper{display:flex;align-items:center;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;gap:0;scrollbar-width:thin}.status-special-btns{display:flex;gap:6px;padding-top:2px}.step-btn-special{font-size:12px;padding:4px 10px;opacity:.7}.step-btn-special:hover{opacity:1}.step-btn.active.brief_recibido{color:#64748b;background:#f1f5f9;border-color:#94a3b8}.step-btn.active.debrief_maqueta{color:#2563eb;background:#eff6ff;border-color:#2563eb}.step-btn.active.esperando_ok_maqueta{color:#7c3aed;background:#f5f3ff;border-color:#7c3aed}.step-btn.active.preparando_presupuesto{color:#d97706;background:#fffbeb;border-color:#d97706}.step-btn.active.presu_pendiente_ok{color:#ea580c;background:#fff7ed;border-color:#ea580c}.step-btn.active.presu_ok_pendiente_po{color:#b45309;background:#fef3c7;border-color:#b45309}.step-btn.active.presu_ok_po_recibida{color:#0d9488;background:#f0fdfa;border-color:#0d9488}.step-btn.active.en_produccion{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.step-btn.active.entregado{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.step-btn.active.facturado{color:#0e7490;background:#ecfeff;border-color:#0e7490}.step-btn.active.on_hold{color:#9ca3af;background:#f9fafb;border-color:#9ca3af}.step-btn.active.cancelado{color:#dc2626;background:#fef2f2;border-color:#dc2626}.urgente-badge{font-size:12px;flex-shrink:0}.urgente-badge-lg{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;padding:2px 6px;margin-right:8px;vertical-align:middle}.expediente-ref{display:block;font-size:11px;color:var(--text-muted);font-family:monospace;margin-top:2px}.detail-cliente-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;background:#c9679f;color:#fff;letter-spacing:.03em}.detail-expediente-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border);font-family:monospace}.modal-wide{max-width:780px}.form-section-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding:18px 0 8px;border-bottom:1px solid var(--border-light);margin-bottom:10px}.form-section-title:first-child{padding-top:0}.form-section-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#faf0f6;border:1px solid #f3ddeb;font-size:12px}.jobdetail-hero{position:relative;border-radius:var(--radius-lg);padding:22px 26px 18px;margin-bottom:16px;background:radial-gradient(circle at 94% -10%,#d981b4b3,#d981b400 42%),radial-gradient(circle at 70% 140%,#83b2e080,#83b2e000 45%),radial-gradient(circle at 108% 80%,#f5ab8e73,#f5ab8e00 38%),var(--alt-charcoal);box-shadow:var(--shadow)}.jobdetail-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.jobdetail-hero-text{display:flex;flex-direction:column;gap:6px;min-width:0}.jobdetail-hero-title{font-size:21px;font-weight:800;color:#fff;line-height:1.25;margin:0}.jobdetail-hero-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.hero-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#ffffffeb;background:#ffffff21;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 10px;white-space:nowrap}.hero-chip-urgente{background:#dc2626d9;border-color:#dc2626e6}.hero-chip-overdue{background:#dc2626d9;border-color:#dc2626e6;font-weight:700}.jobdetail-stepper{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.jd-step{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);background:#ffffff12;font-size:11px;font-weight:600;color:#ffffffbf;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;white-space:nowrap}.jd-step:hover:not(:disabled):not(.jd-step-readonly){background:#ffffff2e;color:#fff;transform:translateY(-1px)}.jd-step:disabled{cursor:wait;opacity:.7}.jd-step-readonly{cursor:default}.jobdetail-stepper-note{margin-top:8px;font-size:11px;color:#ffffff8c}.jd-step-done{border-color:#ffffff1a;background:#ffffff08;color:#ffffff73}.jd-step-current{font-weight:700;box-shadow:0 2px 10px #0000004d}.jd-step-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.jd-step-check{font-size:10px;color:#6fbf9a;font-weight:800}.jd-step-sep{width:1px;height:20px;background:#ffffff2e;margin:0 4px}.jd-step-special{border-style:dashed}.jobform-modal{max-width:820px;overflow:hidden}.jobform-modal form{display:flex;flex-direction:column;min-height:0;flex:1}.jobform-modal .modal-body{overflow-y:auto}.jobform-modal .modal-footer{flex-shrink:0}.jobform-hero{position:relative;display:flex;align-items:center;justify-content:space-between;padding:20px 26px;background:radial-gradient(circle at 92% 0%,#d981b4bf,#d981b400 45%),radial-gradient(circle at 70% 130%,#83b2e08c,#83b2e000 45%),radial-gradient(circle at 105% 90%,#f5ab8e80,#f5ab8e00 40%),var(--alt-charcoal);flex-shrink:0}.jobform-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jobform-hero-eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c}.jobform-hero-title{font-size:19px;font-weight:800;color:#fff;line-height:1.2}.jobform-hero-sub{font-size:12px;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:560px}.jobform-close{background:#ffffff1f;border:none;color:#fff;width:30px;height:30px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;flex-shrink:0;transition:background .15s ease,transform .15s ease}.jobform-close:hover{background:#ffffff47;transform:rotate(90deg)}.form-grid-3{grid-template-columns:1fr 1fr 1fr}.type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:4px}.type-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:inherit;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}.type-tile:hover{border-color:var(--alt-pink);transform:translateY(-2px);box-shadow:0 4px 10px #d981b42e}.type-tile.selected{border-color:var(--alt-pink);background:#faf0f6;box-shadow:0 0 0 1px var(--alt-pink),0 4px 10px #d981b438}.type-tile-icon{font-size:20px;line-height:1}.type-tile-label{font-size:10.5px;font-weight:600;color:var(--text-secondary)}.type-tile.selected .type-tile-label{color:var(--alt-pink-strong)}.status-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);font-size:11.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.status-pill:hover{border-color:var(--text-muted);transform:translateY(-1px)}.status-pill.selected{font-weight:700}.status-pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chip-select{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip-toggle{padding:5px 11px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);font-size:11.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.chip-toggle:hover{border-color:var(--alt-pink);transform:translateY(-1px)}.chip-toggle.active{border-color:var(--alt-pink);background:#faf0f6;color:var(--alt-pink-strong);box-shadow:0 0 0 1px var(--alt-pink)}.urgente-switch{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.urgente-switch input{display:none}.urgente-slider{width:34px;height:19px;border-radius:999px;background:var(--border);position:relative;transition:background .18s ease;flex-shrink:0}.urgente-slider:after{content:"";position:absolute;top:2.5px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s cubic-bezier(.34,1.3,.64,1)}.urgente-switch input:checked+.urgente-slider{background:#dc2626}.urgente-switch input:checked+.urgente-slider:after{transform:translate(14px)}.urgente-label{font-size:12px;font-weight:700;color:var(--text-secondary)}.urgente-switch input:checked~.urgente-label{color:#dc2626}.auto-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--alt-pink-strong);background:#faf0f6;border:1px solid #f3ddeb;border-radius:6px;padding:1px 5px;margin-left:4px;vertical-align:middle}.task-list{display:flex;flex-direction:column;gap:2px}.task-item{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:6px;transition:background var(--transition)}.task-item:hover{background:var(--surface-2)}.task-status-btn{width:24px;height:24px;border-radius:5px;border:none;cursor:pointer;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s ease;line-height:1}.task-status-btn:hover{transform:scale(1.15)}.task-titulo{flex:1;font-size:13px;color:var(--text-primary)}.task-titulo.task-done{text-decoration:line-through;color:var(--text-muted)}.task-titulo.task-skip{color:var(--text-muted);font-style:italic}.task-responsable{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:2px 8px;white-space:nowrap;flex-shrink:0}.lines-table{width:100%;border-collapse:collapse;font-size:13px}.lines-table th{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:7px 8px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;background:var(--surface-2)}.lines-table td{padding:8px;border-bottom:1px solid var(--border-light);vertical-align:middle;color:var(--text-primary)}.lines-table tr:last-child td{border-bottom:none}.lines-table tr:hover td{background:var(--surface-2)}.line-estado{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.line-estado-pendiente{background:#f3f4f6;color:#6b7280}.line-estado-en_produccion{background:#eff6ff;color:#2563eb}.line-estado-entregado{background:#f0fdf4;color:#16a34a}.line-estado-cancelado{background:#fef2f2;color:#dc2626}.line-estado-select{font-size:12px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-primary);cursor:pointer}.line-estado-select:disabled{opacity:.6;cursor:default}.lines-date-field{display:flex;flex-direction:column;gap:3px}.lines-date-label{font-size:11px;color:var(--text-muted);font-weight:600}.lines-toggle{display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 4px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;line-height:1.4}.lines-toggle:hover{background:var(--bg);color:var(--text-primary)}.lines-toggle-caret{transition:transform .15s ease;display:inline-block}.lines-toggle.open .lines-toggle-caret{transform:rotate(90deg)}.lines-toggle-count{font-variant-numeric:tabular-nums}tbody tr.tr-expanded td{background:var(--surface-2)}tbody tr.lines-row td{padding:0 12px 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}.lines-inline{background:var(--surface);border:1px solid var(--border-light);border-radius:8px;padding:4px 10px}.lines-table-inline{font-size:12px}.lines-table-inline th{background:transparent}.lines-bulk{display:flex;align-items:center;gap:8px;padding:6px 2px 8px}.lines-inline-msg{padding:10px 4px}.lines-inline-tipo{display:inline-block;margin-left:6px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.lines-field{display:flex;flex-direction:column;gap:3px}.line-type-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border-light);margin:1px 3px 1px 0;white-space:nowrap}.form-hint{display:block;margin-top:4px;font-size:11px;color:var(--text-muted)}.table-header-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn.btn-sm.active{background:var(--alt-pink, #d981b4);border-color:var(--alt-pink, #d981b4);color:#fff}.col-picker{position:relative}.col-picker>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.col-picker>summary::-webkit-details-marker{display:none}.col-picker-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000001f;padding:6px;min-width:170px;display:flex;flex-direction:column;gap:2px}.col-picker-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:13px;color:var(--text-primary);cursor:pointer}.col-picker-item:hover{background:var(--surface-2)}.col-picker-hint{padding:4px 8px 2px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border-light);margin-top:2px}th.th-draggable{cursor:grab}th.th-draggable:active{cursor:grabbing}th.th-dragging{opacity:.45}th.th-dragover{box-shadow:inset 2px 0 0 var(--alt-pink, #d981b4);background:var(--surface-2)}.hero-chip-link{text-decoration:none;cursor:pointer}.hero-chip-link:hover{filter:brightness(.95);text-decoration:underline}.status-dot-inline{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.wf-selected{display:flex;flex-wrap:wrap;gap:6px;min-height:40px;padding:8px;border:1px dashed var(--border);border-radius:8px;background:var(--surface-2)}.wf-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 8px;border-radius:14px;background:var(--surface);border:1px solid var(--border);font-size:12px;cursor:grab}.wf-chip:active{cursor:grabbing}.wf-chip-x{border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:15px;line-height:1;padding:0 2px}.wf-chip-x:hover{color:var(--danger, #d94848)}.wf-steps{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px dashed var(--border);border-radius:8px;background:var(--surface-2)}.wf-step{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:13px}.wf-step.dragging{opacity:.5}.wf-step-handle{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:0 2px;letter-spacing:-2px}.wf-step-handle:active{cursor:grabbing}.wf-step-n{width:18px;text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.wf-step-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-input.wf-step-dias{width:56px;padding:4px 6px;text-align:right;font-variant-numeric:tabular-nums}.wf-step-unit{font-size:12px;color:var(--text-muted)}.wf-steps-total{padding:4px 8px 0;font-size:12px;text-align:right}.wf-total{white-space:nowrap}.festivos-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.festivos-toolbar .form-input{width:auto;display:inline-block}.festivos-add{display:grid;grid-template-columns:160px 200px 1fr auto;gap:8px;margin:8px 0}@media (max-width: 720px){.festivos-add{grid-template-columns:1fr 1fr}}.plan-form{margin-top:10px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.plan-form-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 12px;background:var(--surface-2);font-size:13px;font-weight:600}.plan-form-head .text-sm{font-weight:400}.plan-form-rows{display:flex;flex-direction:column}.plan-form-row{display:flex;align-items:center;gap:8px;padding:4px 12px;font-size:13px;border-top:1px solid var(--border)}.plan-form-n{width:18px;text-align:right;color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.plan-form-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-input.plan-form-dias{width:56px;padding:4px 6px;text-align:right;font-variant-numeric:tabular-nums}.form-input.plan-form-dias.changed{border-color:var(--lidl-yellow)}.plan-form-lim{width:110px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.plan-form-foot{display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border);font-size:13px;background:var(--surface-2)}.plan-form-foot.warn{background:color-mix(in srgb,var(--lidl-red) 12%,var(--surface))}.plan-form-alert{color:var(--lidl-red);font-weight:600}.status-change-target{display:flex;align-items:center;gap:10px;margin-bottom:14px}.status-change-target .form-select{flex:1}.status-change-arrow{color:var(--text-muted)}.status-change-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.status-change-lines{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;max-height:340px;overflow-y:auto}.status-change-line{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px;cursor:pointer;border-top:1px solid var(--border)}.status-change-line:first-child{border-top:none}.status-change-item{border-top:1px solid var(--border)}.status-change-item:first-child,.status-change-item .status-change-line{border-top:none}.status-change-line:not(.on){opacity:.65}.status-change-amounts{display:flex;gap:10px;padding:0 10px 8px 34px;flex-wrap:wrap}.status-change-amounts label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.status-change-amounts .form-input{width:120px;padding:4px 8px;font-size:13px}.status-change-amounts label.missing{color:#dc2626;font-weight:600}.status-change-amounts label.missing .form-input{border-color:#dc2626;background:#fef2f2;box-shadow:0 0 0 1px #dc2626 inset}:root[data-theme=dark] .status-change-amounts label.missing{color:#fca5a5}:root[data-theme=dark] .status-change-amounts label.missing .form-input{border-color:#f87171;background:#dc262624;box-shadow:0 0 0 1px #f87171 inset}.status-change-missing{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}:root[data-theme=dark] .status-change-missing{color:#fca5a5;background:#dc262629;border-color:#dc262673}.status-change-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-change-warn{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:13px;background:color-mix(in srgb,#f0b429 18%,var(--surface));border:1px solid color-mix(in srgb,#f0b429 55%,transparent)}.lines-behind-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;color:#8a5a00;background:color-mix(in srgb,#f0b429 22%,transparent);border:1px solid color-mix(in srgb,#f0b429 60%,transparent)}:root[data-theme=dark] .lines-behind-badge{color:#f5c542}.status-with-warn{display:inline-flex;align-items:center;gap:6px}.hero-chip.hero-chip-warn{background:#f0b42947;border-color:#f5c542b3}.hero-chip-action{margin-left:4px;padding:0 6px;border-radius:6px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.hero-chip-action:disabled{opacity:.5;cursor:default}.job-deleted-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 24px 0;padding:10px 14px;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px}:root[data-theme=dark] .job-deleted-banner{background:#dc262629;border-color:#dc262673;color:#fca5a5}.plan-summary{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;padding:8px 12px;margin-bottom:10px;border-radius:8px;background:var(--surface-2);font-size:13px}.plan-summary.warn{background:color-mix(in srgb,var(--lidl-red) 12%,var(--surface))}.plan-late{color:var(--lidl-red);font-weight:600}.plan-early{color:#2f8f6c;font-weight:600}:root[data-theme=dark] .plan-early{color:#5fb799}.plan-views{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.plan-view-cancel{text-decoration:line-through;opacity:.6}.plan-table td,.plan-table th{font-size:13px}.plan-table td:first-child{white-space:nowrap}.plan-date{font-variant-numeric:tabular-nums;white-space:nowrap}.plan-table td.plan-late{color:var(--lidl-red)}.plan-card .detail-card-header{justify-content:flex-start;flex-wrap:wrap;gap:4px 0}.plan-card .detail-card-header .text-muted{margin-left:8px}.plan-row-current td{background:color-mix(in srgb,var(--alt-blue) 14%,transparent)}.plan-chip{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}.plan-chip-late{color:#fff;background:var(--lidl-red)}.plan-chip-early{color:#fff;background:#2f8f6c}.plan-chip-ok{color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border)}.plan-edit-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.plan-edit-foot .text-muted{margin-right:auto}.plan-history{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.history-dot.plan-dot-late{background:var(--lidl-red)}.history-dot.plan-dot-early{background:#2f8f6c}.jd-step-date{font-size:10px;font-weight:500;opacity:.8;font-variant-numeric:tabular-nums;padding-left:6px;border-left:1px solid currentColor;white-space:nowrap}.jd-step-date.late{color:#ff8a8a;opacity:1}.jd-step-date.early{color:#7fe0b8;opacity:1}.jd-step-date s{opacity:.6;margin-right:2px}.plan-alert-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.plan-alert-late{color:#fff;background:var(--lidl-red)}.plan-alert-due{color:#fff;background:#d9731e}.plan-alert-warn{color:#8a5a00;background:color-mix(in srgb,#f0b429 25%,transparent);border:1px solid color-mix(in srgb,#f0b429 60%,transparent)}:root[data-theme=dark] .plan-alert-warn{color:#f5c542}.form-input.wf-step-resp{width:128px;padding:3px 6px;font-size:12px}.resp-chip{display:inline-block;padding:0 6px;border-radius:8px;font-size:11px;font-weight:600;line-height:18px;white-space:nowrap}:root{--resp-altavia: #2a78d6;--resp-cliente: #eb6834;--resp-proveedor: #1baf7a;--resp-none: #9c9a97}:root[data-theme=dark]{--resp-altavia: #3987e5;--resp-cliente: #d95926;--resp-proveedor: #199e70;--resp-none: #6f6d69}.resp-altavia{color:var(--text-primary);background:color-mix(in srgb,var(--resp-altavia) 20%,transparent)}.resp-cliente{color:var(--text-primary);background:color-mix(in srgb,var(--resp-cliente) 22%,transparent)}.resp-proveedor{color:var(--text-primary);background:color-mix(in srgb,var(--resp-proveedor) 22%,transparent)}.resp-chip:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:1px}.resp-altavia:before{background:var(--resp-altavia)}.resp-cliente:before{background:var(--resp-cliente)}.resp-proveedor:before{background:var(--resp-proveedor)}.plazos-tiles{margin-bottom:16px}.plazos-key{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.plazos-stack{display:flex;gap:2px;height:28px;border-radius:4px;overflow:hidden;margin:4px 0 10px}.plazos-seg{min-width:2px;cursor:default}.plazos-seg:hover{filter:brightness(1.1)}.plazos-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--text-primary)}.plazos-bar-cell{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.plazos-bar{flex:1;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.plazos-bar span{display:block;height:100%;background:var(--text-secondary, #6f6d69);border-radius:0 4px 4px 0}.plazos-table td{font-variant-numeric:tabular-nums}.kanban-flows{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.roles-caps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 14px;margin-top:6px}.roles-cap-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary)}.roles-cap-admin{font-size:11px;color:var(--text-muted)}.kpi-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}@media (max-width: 900px){.kpi-cards{grid-template-columns:repeat(2,1fr)}}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.kpi-card-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.kpi-card-value{font-size:30px;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1}.kpi-card-unit{font-size:14px;font-weight:500;color:var(--text-muted);margin-left:3px}.kpi-card-sub{font-size:12px;color:var(--text-muted);margin-top:6px}.kpi-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.kpi-table-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.kpi-table-title{font-size:15px;font-weight:700;color:var(--text-primary);flex:1;white-space:nowrap}.kpi-table{width:100%;border-collapse:collapse}.kpi-table th{font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;background:var(--surface-2)}.kpi-table td{padding:9px 14px;border-bottom:1px solid var(--border-light);font-size:13px;color:var(--text-primary)}.kpi-table tr:last-child td{border-bottom:none}.kpi-table tr:hover td{background:var(--surface-2)}.kpi-days-chip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.kpi-days-fast{background:#f0fdf4;color:#16a34a}.kpi-days-ok{background:#fffbeb;color:#d97706}.kpi-days-slow{background:#fef2f2;color:#dc2626}.kpi-days-none{background:#f3f4f6;color:#9ca3af}.admin-layout{flex:1;min-height:0;display:flex;align-items:stretch;overflow:hidden}.admin-side{flex-shrink:0;width:232px;border-right:1px solid var(--border);overflow-y:auto;padding:16px 12px 20px;display:flex;flex-direction:column;gap:18px}.admin-side-group{display:flex;flex-direction:column;gap:2px}.admin-side-group-label{display:flex;align-items:center;gap:7px;padding:0 10px 6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.admin-side-group-icon{font-size:13px;line-height:1}.admin-side-item{text-align:left;padding:8px 12px;border:none;border-radius:8px;background:none;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .14s ease,color .14s ease}.admin-side-item:hover{background:var(--surface-2);color:var(--text-primary)}.admin-side-item.active{background:#d981b424;color:var(--alt-pink-strong);font-weight:600}.admin-stack{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:20px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.admin-card-wide{width:100%}.admin-btn-row{display:flex;flex-wrap:wrap;gap:10px}.admin-card-headbtn{margin-left:auto}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;font-weight:600;color:var(--text-muted);padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:9px 12px;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.admin-table tr:last-child td{border-bottom:none}.admin-table-actions{display:flex;gap:6px;justify-content:flex-end}.role-badge{font-size:11px;font-weight:600;border-radius:999px;padding:2px 9px}.role-badge.role-admin{background:#fdeef6;color:var(--alt-pink-strong)}.role-badge.role-user{background:var(--surface-2);color:var(--text-secondary)}.status-badge{font-size:11px;font-weight:600;border-radius:999px;padding:2px 9px}.status-badge.status-active{background:#eafaf1;color:#1f7a4d}.status-badge.status-pending{background:#fff6e5;color:#a15c00}.status-badge.status-rejected{background:#fdecea;color:#b3261e}.admin-requests{border:1px solid #f2d9a8;background:#fffaf0;border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:4px}.admin-req-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.admin-req{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}.admin-req-info{display:flex;flex-direction:column;gap:1px;min-width:0}.admin-req-name{font-size:13px;font-weight:600;color:var(--text-primary)}.admin-req-email{font-size:12px;color:var(--text-muted)}.admin-req-actions{display:flex;gap:8px;flex-shrink:0}.admin-req-actions .btn{padding:5px 12px;font-size:12.5px}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, #c7c3bf) transparent}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #c7c3bf);border-radius:999px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #a8a49f);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.admin-subsection{padding-top:12px;margin-top:4px;border-top:1px solid var(--border-light)}.admin-subsection:first-of-type{border-top:none;padding-top:0}.admin-subtitle{font-size:13px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.admin-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.admin-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:4px 6px 4px 12px;font-size:12.5px;color:var(--text-primary)}.admin-chip button{border:none;background:var(--border);color:var(--text-secondary);width:18px;height:18px;border-radius:50%;cursor:pointer;line-height:1;font-size:13px}.admin-chip button:hover{background:var(--lidl-red, #c0392b);color:#fff}.admin-inline-add{display:flex;gap:8px;max-width:380px}.admin-inline-add .form-input{flex:1}.admin-perms{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:8px}.admin-perm{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer}.admin-perm input{width:16px;height:16px;cursor:pointer}.admin-actions-row{display:flex;align-items:center;gap:14px;margin-top:16px}.admin-inline-msg{font-size:12.5px;color:#276749}.admin-inline-msg.error{color:var(--lidl-red, #c0392b)}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px;display:flex;flex-direction:column;gap:10px}.admin-card-soon{opacity:.62}.admin-card-head{display:flex;align-items:center;gap:12px}.admin-card-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--alt-pink-strong);flex-shrink:0}.admin-card-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-card-title{font-size:14.5px;font-weight:700;color:var(--text-primary)}.admin-card-badge{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.admin-card-desc{font-size:12.5px;color:var(--text-secondary);line-height:1.5;margin:0}.admin-card-actions{margin-top:4px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.admin-import-result{font-size:12.5px;line-height:1.5;color:#276749;background:#f0faf5;border:1px solid #bfe6d2;border-radius:var(--radius-sm);padding:8px 12px;width:100%}.admin-import-result.error{color:var(--lidl-red, #c0392b);background:#fdf1f0;border-color:#f3c9c4}.admin-import-warnings{margin-top:6px;padding-top:6px;border-top:1px solid #bfe6d2;color:#8a6100}.search-archived-note{margin:0 16px 10px;padding:8px 12px;border:1px solid var(--border);border-left:3px solid var(--alt-blue);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary);font-size:12.5px;line-height:1.5}.adv-filter-btn svg{flex-shrink:0}.adv-filter-btn.active{background:#faf0f6;color:var(--alt-pink-strong);border-color:var(--alt-pink)}.adv-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;border-radius:var(--radius-sm);background:#faf0f6;color:var(--alt-pink-strong);border:1px solid var(--alt-pink);font-size:12.5px;font-weight:600;max-width:240px}.adv-filter-chip-clear{border:none;background:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;opacity:.7}.adv-filter-chip-clear:hover{opacity:1}.fb-rows{display:flex;flex-direction:column;gap:8px}.fb-row{display:grid;grid-template-columns:64px 1.2fr 1fr 1.6fr 32px;align-items:center;gap:8px}.fb-row-join{font-size:12px;color:var(--text-muted);text-align:right;font-weight:600}.fb-value{min-width:0}.fb-remove{justify-self:center}.fb-add{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.fb-join-select{padding-left:6px;padding-right:4px;font-size:12px;font-weight:600}.fb-row-group{display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:start}.fb-row-group>.fb-row-join,.fb-row-group>.fb-join-select{margin-top:10px}.fb-group{border:1px dashed var(--border, #ddd);border-radius:8px;padding:10px;background:var(--bg);min-width:0}.fb-group-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.fb-chips{display:flex;flex-wrap:wrap;gap:5px}.fb-chip{padding:4px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all var(--transition)}.fb-chip:hover{border-color:var(--alt-pink)}.fb-chip.active{background:var(--alt-pink);border-color:var(--alt-pink);color:#fff;font-weight:600}.fb-range{display:flex;align-items:center;gap:6px}.fb-range .form-input{min-width:0}.fb-range-sep{color:var(--text-muted)}.fb-count{margin-top:12px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary);font-size:13px;font-weight:600}.fb-save{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-light)}.fb-scope{display:flex;gap:10px}.fb-scope-opt{flex:1;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:13px}.fb-scope-opt.active{border-color:var(--alt-pink);background:#faf0f6}.fb-scope-opt.disabled{opacity:.5;cursor:not-allowed}.sidebar-sf{position:relative;display:flex;align-items:center}.sidebar-sf .sidebar-item{padding-right:30px}.sidebar-sf-label{display:flex;align-items:center;gap:6px;min-width:0}.sidebar-sf-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-sf-badge{font-size:11px;flex-shrink:0}.sidebar-sf-del{position:absolute;right:8px;border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:12px;line-height:1;opacity:0;transition:opacity var(--transition)}.sidebar-sf:hover .sidebar-sf-del{opacity:.7}.sidebar-sf-del:hover{opacity:1;color:var(--lidl-red)}.sidebar-count{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:700;text-align:center;color:#fff}.sf-count-overdue{background:var(--lidl-red, #d94848)}.sf-count-due{background:var(--status-revision, #d97706)}.global-topbar-alerts{position:relative;display:flex;align-items:center}.topbar-bell{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius);border:none;background:none;color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition)}.topbar-bell:hover{background:var(--surface-2);color:var(--text-primary)}.topbar-bell.has-due{color:var(--status-revision, #d97706)}.topbar-bell.has-overdue{color:var(--lidl-red, #d94848)}.topbar-bell-badge{position:absolute;top:-2px;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--lidl-red, #d94848);color:#fff;font-size:10.5px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.alerts-menu{position:absolute;top:calc(100% + 8px);right:0;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;z-index:60}.alerts-menu-head{padding:6px 10px;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.alerts-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13.5px;color:var(--text-primary);text-align:left}.alerts-menu-item:hover{background:var(--surface-2)}.alerts-menu-label{flex:1}.alerts-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot-overdue{background:var(--lidl-red, #d94848)}.dot-due{background:var(--status-revision, #d97706)}.alerts-count{font-weight:700;color:var(--text-secondary)}.alerts-empty{padding:10px;text-align:center;color:var(--text-muted);font-size:13px}.admin-section-head h2{margin:0 0 4px;font-size:18px}.ds-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.ds-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}.ds-pending{background:#eef2ff;color:#3730a3}.ds-running{background:#fef9c3;color:#854d0e}.ds-done{background:#dcfce7;color:#166534}.ds-error{background:#fee2e2;color:#991b1b}.ds-canceled{background:#f3f4f6;color:#4b5563}.link-btn{background:none;border:none;padding:0;color:var(--lidl-blue, #2563eb);cursor:pointer;font:inherit;text-align:left;text-decoration:underline}.ds-log{border:1px solid var(--border-light);border-radius:6px;padding:8px 10px;max-height:260px;overflow:auto;font-family:ui-monospace,monospace;font-size:12px;background:var(--surface)}.ds-log-line{padding:1px 0;white-space:pre-wrap;word-break:break-word}.ds-log-ts{color:var(--text-muted)}.ds-log-warn{color:#b45309}.ds-log-error{color:#b91c1c}.bk-health{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius);font-weight:600;font-size:14px;margin:4px 0 14px}.bk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:14px}.bk-stat{border:1px solid var(--border-light);border-radius:var(--radius);padding:10px 12px;background:var(--surface)}.bk-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.bk-stat-value{font-size:16px;font-weight:700;color:var(--text-primary);margin-top:4px}.bk-stat-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.bk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.bk-h3{font-size:15px;margin:22px 0 8px;color:var(--text-primary)}.bk-hint{margin:0 0 8px}.bk-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.bk-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer}.bk-tab.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface)}.bk-table-wrap{overflow-x:auto}.bk-mono{font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}.bk-error-text{font-size:12px;color:#b91c1c}:root[data-theme=dark] .bk-error-text{color:#f87171}.bk-part-error{margin:8px 0}.bk-policy{margin:0 0 10px;padding-left:20px;font-size:13px;color:var(--text-secondary);line-height:1.6}.inc-flag{font-size:11px;font-weight:700;color:#b91c1c;background:#fee2e2;border-radius:6px;padding:0 5px;white-space:nowrap}.inc-sev{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;color:#fff}.inc-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;margin-left:6px}.inc-abierta{background:#fee2e2;color:#991b1b}.inc-resuelta{background:#dcfce7;color:#166534}.incident-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-light)}.incident-item.resolved{opacity:.7}.incident-modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-light)}.inc-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1fr;gap:8px;margin-bottom:6px}.inc-atr{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;margin-left:6px;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border)}.inc-atr-select{font-size:11px;padding:1px 4px;margin-left:6px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.inc-row-resolved{opacity:.6}.inc-sev-row{display:flex;gap:14px;align-items:center;margin-top:6px}.inc-sev-count{display:inline-flex;align-items:center;gap:6px;font-size:15px}.refimg-grid{display:flex;flex-wrap:wrap;gap:10px}.refimg-cell{position:relative;width:96px;height:96px}.refimg-thumb{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;display:block}.refimg-state{display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:default}.refimg-del{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:var(--lidl-red, #dc2626);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.refimg-cell:hover .refimg-del{display:flex}.refimg-add{width:96px;height:96px;border-radius:8px;border:1.5px dashed var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-muted);cursor:pointer;background:var(--surface-2)}.refimg-add:hover,.refimg-add.drag-over{border-color:var(--accent, #2563eb);color:var(--accent, #2563eb)}.refimg-add-plus{font-size:22px;line-height:1}.refimg-add-text{font-size:12px}.refimg-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000d9;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;cursor:zoom-out}.refimg-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px;cursor:default}.refimg-lightbox-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:34px;line-height:1;cursor:pointer}.refimg-lightbox-cap{color:#fff;font-size:13px;margin-top:12px;opacity:.85}.job-alert-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.job-alert-badge{font-size:14px;line-height:1;letter-spacing:1px;cursor:default}.alert-rule-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.alert-rule-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.alert-rule-check{display:inline-flex;align-items:center;gap:6px;font-size:13px}.alert-rule-preview{font-size:13px;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.alert-rule-preview span{font-size:18px}.refimg-group{margin-top:12px}.refimg-group:first-of-type{margin-top:6px}.refimg-group-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.line-edit-card{margin-top:12px;padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--accent, #2563eb);border-radius:8px;background:var(--surface-2)}.line-edit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.line-row-editing>td{background:var(--surface-2)}.line-name-btn{background:none;border:none;padding:0;cursor:pointer;text-align:left;font-size:13px;font-weight:700;color:var(--accent, #2563eb);font-family:inherit}.line-name-btn:hover{text-decoration:underline}.ref-flag{font-size:13px;cursor:default}@media (max-width: 900px){.inc-filters{grid-template-columns:1fr 1fr}}.cli-struct{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.cli-struct-dep{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:6px}.cli-struct-row{display:flex;align-items:center;gap:6px}.cli-struct-name{flex:1;min-width:0;font-size:13px}.cli-struct-marcas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.cli-struct-marca{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 8px;border-radius:12px;font-size:12px;background:var(--surface-2);border:1px solid var(--border)}.cli-struct-marca button{border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:0 3px}.cli-struct-marca button:hover{color:var(--text-primary)}.cli-struct-input{width:140px;padding:3px 8px;font-size:12px}.step-dates-orig{display:block;margin-top:2px;color:var(--text-muted);font-style:italic}.step-dates-open{display:flex;align-items:center;color:var(--text-muted);background:var(--surface-2)}.step-dates-history{list-style:none;margin:4px 0 0;padding:0;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px}.step-dates-history li{padding:5px 10px;border-top:1px solid var(--border-light)}.step-dates-history li:first-child{border-top:none}.form-input.error{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626 inset}:root[data-theme=dark] .form-input.error{border-color:#f87171;box-shadow:0 0 0 1px #f87171 inset}.status-cell-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid transparent;border-radius:999px;padding:1px;cursor:pointer}.status-cell-btn:hover{border-color:var(--border);background:var(--surface-2)}.status-cell-btn:focus-visible{outline:2px solid var(--text-muted);outline-offset:1px}.wf-steps-current{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-bottom:12px}.wf-steps{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.wf-steps-terminal{margin-top:10px}.wf-steps li+li{border-top:1px solid var(--border)}.wf-step{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:var(--surface);border:none;text-align:left;font:inherit;font-size:13px;color:var(--text-primary, inherit);cursor:pointer}.wf-step:hover:not(:disabled){background:var(--surface-2)}.wf-step:disabled{cursor:default}.wf-step.done{color:var(--text-muted)}.wf-step.current{font-weight:700;box-shadow:inset 4px 0 0 var(--sc);background:color-mix(in srgb,var(--sc) 10%,var(--surface))}.wf-step.special .wf-step-label{font-style:italic}.wf-step-mark{width:14px;display:inline-flex;justify-content:center;color:#16a34a;font-weight:800;font-size:12px;flex-shrink:0}.wf-step-dot{width:8px;height:8px;border-radius:50%}.wf-step-label{flex:1;min-width:0}.wf-step-note{font-size:11px;color:var(--text-muted);border:1px dashed var(--border);border-radius:4px;padding:0 4px}.wf-step-dates{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:400}.wf-step-now{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.wf-step-go{font-size:12px;color:var(--text-muted);opacity:0;transition:opacity .12s;white-space:nowrap}.wf-step:hover .wf-step-go,.wf-step:focus-visible .wf-step-go{opacity:1}@media (max-width: 560px){.wf-step{flex-wrap:wrap}.wf-step-dates{width:100%;padding-left:24px}.wf-step-go{display:none}}.amount-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.rk-tile{text-align:left;font:inherit;color:inherit;width:100%}.rk-click{cursor:pointer;transition:border-color .12s,transform .12s}.rk-click:hover{border-color:var(--text-muted);transform:translateY(-1px)}.rk-click:focus-visible,.rk-seg:focus-visible,.rk-legend-item:focus-visible,.cmp-trend-col:focus-visible{outline:2px solid var(--text-secondary);outline-offset:2px}.rk-seg{border:none;padding:0;cursor:pointer}.rk-seg:disabled{cursor:default}.rk-legend-item{background:none;border:none;padding:2px 0;font:inherit;font-size:13px;color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;gap:2px}.rk-legend-item:disabled{cursor:default;opacity:.6}.rk-legend-item:hover:not(:disabled){text-decoration:underline}.rk-row{cursor:pointer}.rk-row:hover td{background:var(--surface-2)}.rk-drill{max-width:980px}:root{--cmp-en_tiempo: #0ca30c;--cmp-adelantado: #1b8fa8;--cmp-atrasado: #d03b3b;--cmp-curso_plazo: #b9b7b3;--cmp-curso_retraso: #ec835a}:root[data-theme=dark]{--cmp-en_tiempo: #0ca30c;--cmp-adelantado: #2a9fba;--cmp-atrasado: #d03b3b;--cmp-curso_plazo: #5c5a57;--cmp-curso_retraso: #ec835a}.cmp-filters{margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.cmp-filter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cmp-filter-row .form-select{width:auto;max-width:240px}.cmp-presets{display:flex;flex-wrap:wrap;gap:4px}.cmp-filter-note{margin:0}.cmp-tiles,.cmp-card{margin-bottom:16px}.cmp-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.cmp-two .cmp-card{margin-bottom:16px}.cmp-note{margin:8px 0 0}.cmp-table td{vertical-align:middle}.cmp-job-title{font-weight:600;font-size:13px}.cmp-cat{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:12px;font-weight:600;color:var(--text-primary);padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:inset 3px 0 0 var(--c)}.cmp-resp-list{display:inline-flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;white-space:nowrap}.cmp-resp-list .principal{font-weight:700}.cmp-sug.up{color:var(--cmp-atrasado)}.cmp-sug.down{color:var(--text-muted)}.cmp-trend{display:flex;align-items:flex-end;gap:6px;overflow-x:auto;padding-bottom:4px}.cmp-trend-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:44px;flex:1;max-width:72px;background:none;border:none;padding:4px 2px;font:inherit;cursor:pointer;border-radius:6px}.cmp-trend-col:hover{background:var(--surface-2)}.cmp-trend-val{font-size:12px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.cmp-trend-bar{width:22px;height:120px;background:var(--surface-2);border-radius:4px;display:flex;align-items:flex-end;overflow:hidden}.cmp-trend-bar span{display:block;width:100%;background:var(--cmp-en_tiempo);border-radius:4px 4px 0 0;min-height:2px}.cmp-trend-mes{font-size:11px;color:var(--text-secondary);white-space:nowrap}.cmp-trend-n{font-size:11px}@media (max-width: 640px){.cmp-two{grid-template-columns:1fr}.cmp-filter-row .form-select{max-width:100%;flex:1 1 100%}}.cmp-card{padding-bottom:14px}.cmp-card>.section-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-bottom:12px}.cmp-card>.plazos-stack,.cmp-card>.plazos-legend,.cmp-card>.cmp-trend,.cmp-card>p{margin-left:18px;margin-right:18px}.cmp-card>.plazos-legend{margin-bottom:4px}:root{--cr-finalizado: #43a583;--cr-en_curso: #4a7ec2;--cr-on_hold: #b9b7b3;--cr-cancelado: #d94848;--cr-resto: #e2dfdb;--cr-vs-cliente: #c9579a;--cr-vs-global: #4a7ec2;--cr-tone-atrasado: var(--cmp-atrasado);--cr-tone-adelantado: var(--cmp-adelantado);--cr-tone-cancelado: #6b6a68;--cr-tone-cliente: var(--resp-cliente);--cr-tone-altavia: var(--resp-altavia);--cr-tone-proveedor: var(--resp-proveedor)}:root[data-theme=dark]{--cr-finalizado: #3f9a79;--cr-en_curso: #5a8fd6;--cr-on_hold: #9c9a97;--cr-cancelado: #e05a5a;--cr-resto: #3a3a42;--cr-vs-cliente: #d873ad;--cr-vs-global: #5a8fd6;--cr-tone-cancelado: #9c9a97}.cr-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.cr-avatar{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none;font-weight:800;font-size:16px;color:#fff;background:var(--text-primary)}:root[data-theme=dark] .cr-avatar{color:var(--surface)}.cr-title{margin:0;font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.15}.cr-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:2px}.cr-hint{margin:0 0 12px;padding:8px 12px;border-radius:8px;font-size:12.5px;color:var(--text-secondary);background:color-mix(in srgb,var(--cr-vs-cliente) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--cr-vs-cliente) 30%,var(--border))}.cr-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;margin-bottom:16px;overflow:visible}.cr-filters .form-select{width:auto;max-width:240px}.cr-presets{display:flex;flex-wrap:wrap;gap:4px}.cr-preset{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer}.cr-preset.on{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface)}.section-card.cr-overflow{overflow:visible}.cr-reloading{opacity:.55;transition:opacity .15s;pointer-events:none}.cr-top{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;margin-bottom:16px;align-items:stretch}.cr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.cr-kpi{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);font:inherit;color:inherit;overflow:hidden}.cr-kpi.click{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.cr-kpi.click:hover{transform:translateY(-2px);box-shadow:var(--shadow-md, 0 4px 14px rgba(0,0,0,.08))}.cr-kpi.active{border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 35%,transparent)}.cr-kpi-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:16px;background:color-mix(in srgb,var(--c) 18%,var(--surface));margin-bottom:4px}.cr-kpi-label{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.cr-kpi-value{font-size:26px;font-weight:800;color:var(--text-primary);line-height:1.1}.cr-kpi-sub{font-size:11.5px;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}.cr-kpi-bar{position:absolute;left:14px;right:14px;bottom:7px;height:3px;border-radius:3px;background:var(--border-light)}.cr-kpi-bar span{display:block;height:100%;border-radius:3px;background:var(--c)}.cr-trend{display:inline-block;font-size:10.5px;font-weight:700;padding:0 6px;border-radius:999px;white-space:nowrap}.cr-trend.good{color:#137a13;background:#dcf5dc}.cr-trend.bad{color:#a32626;background:#fde2e2}.cr-trend.eq{color:var(--text-secondary);background:var(--surface-2)}:root[data-theme=dark] .cr-trend.good{color:#7ee07e;background:#1d3a1d}:root[data-theme=dark] .cr-trend.bad{color:#ff8f8f;background:#432121}.cr-ring{padding:14px 18px;overflow:visible}.cr-ring-body{display:flex;align-items:center;gap:8px}.cr-ring-body>svg{width:150px;height:150px;flex:none}.cr-ring-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1}.cr-ring-legend li{transition:opacity .15s}.cr-ring-legend li.dim{opacity:.35}.cr-ring-legend button{display:flex;align-items:center;width:100%;gap:2px;border:0;background:none;padding:2px 0;font:inherit;font-size:12.5px;color:var(--text-primary);cursor:pointer}.cr-ring-legend button:disabled{cursor:default;color:var(--text-muted)}.cr-ring-legend strong{margin-left:auto}.cr-legend-inline{display:inline-flex;flex-wrap:wrap;gap:4px 12px;align-items:center;color:var(--text-secondary)}.cr-cols-wrap{display:flex;gap:6px;padding:6px 18px 4px}.cr-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:var(--text-muted);text-align:right;min-width:22px;padding:16px 0 34px}.cr-cols{flex:1;display:flex;align-items:stretch;gap:4px;min-width:0;height:210px;border-left:1px solid var(--border-light)}.cr-col{flex:1 1 0;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;border:0;background:none;padding:0;font:inherit;cursor:pointer;border-radius:6px}.cr-col:hover,.cr-col.active{background:var(--surface-2)}.cr-col.month{cursor:default}.cr-col-hit{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;border:0;background:none;padding:0;font:inherit;cursor:pointer;min-height:0}.cr-col-val{font-size:10.5px;font-weight:700;color:var(--text-primary);height:16px;line-height:16px}.cr-col-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;min-height:0}.cr-col-bar{width:min(26px,70%);border-radius:4px 4px 0 0;min-height:2px;transition:height .4s ease}.cr-col-bar.stack{background:var(--cr-resto);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.cr-col-bar.stack>span{display:block;width:100%;background:var(--cr-finalizado)}.cr-col-lab{font-size:10px;color:var(--text-secondary);height:30px;line-height:1.2;padding-top:4px;text-align:center;overflow:hidden;width:100%;word-break:break-word}.cr-inc-pill{font-size:10px;font-weight:800;color:#8a4b00;background:#ffe8bf;border:1px solid #f3c46b;border-radius:999px;padding:0 5px;height:16px;line-height:14px;white-space:nowrap;animation:cr-pulse 1.8s ease-in-out infinite}.cr-inc-pill.static{animation:none}:root[data-theme=dark] .cr-inc-pill{color:#ffd38a;background:#4a3512;border-color:#7a5a1f}@keyframes cr-pulse{0%,to{box-shadow:0 0 #f3c46b99}50%{box-shadow:0 0 0 4px #f3c46b00}}@media (prefers-reduced-motion: reduce){.cr-inc-pill,.cr-flag{animation:none!important}}.cr-pop{display:none;position:absolute;bottom:calc(100% - 20px);left:50%;transform:translate(-30%);width:300px;z-index:20;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px #0000002e;text-align:left}.cr-col.month.right .cr-pop{transform:translate(-80%)}.cr-col.month:hover .cr-pop,.cr-col.month:focus-within .cr-pop{display:block}.cr-pop-title{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#a86500;margin-bottom:6px}.cr-pop-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;background:none;padding:6px 4px;border-radius:6px;font:inherit;font-size:12px;color:var(--text-primary);cursor:pointer}.cr-pop-item:hover{background:var(--surface-2)}.cr-pop-item em{color:var(--text-secondary);font-size:11.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cr-pop-atr{display:flex;gap:4px}.cr-vs{padding:4px 18px 6px;display:flex;flex-direction:column;gap:10px}.cr-vs-row{display:grid;grid-template-columns:64px 1fr 150px 1fr 64px;align-items:center;gap:8px}.cr-vs-val{font-size:12.5px;font-weight:700;color:var(--text-secondary);white-space:nowrap}.cr-vs-val.left{text-align:right}.cr-vs-val.win{color:var(--text-primary)}.cr-vs-lane{height:12px;border-radius:6px;background:var(--surface-2);display:flex;overflow:hidden}.cr-vs-lane.left{justify-content:flex-end}.cr-vs-lane span{display:block;height:100%;transition:width .5s ease}.cr-vs-lane.left span{background:var(--cr-vs-cliente);border-radius:6px 0 0 6px}.cr-vs-lane.right span{background:var(--cr-vs-global);border-radius:0 6px 6px 0}.cr-vs-mid{text-align:center;font-size:12px;font-weight:700;color:var(--text-primary);display:flex;flex-direction:column;align-items:center;gap:2px}.cr-inc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cr-inc-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cr-inc-card{padding:14px 16px}.cr-inc-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary);margin-bottom:10px}.cr-inc-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:14px;background:color-mix(in srgb,var(--c) 20%,var(--surface))}.cr-inc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:360px;overflow-y:auto}.cr-inc-list button{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;border-left:3px solid var(--c);background:none;padding:6px 10px;border-radius:0 6px 6px 0;font:inherit;cursor:pointer}.cr-inc-list button:hover{background:var(--surface-2)}.cr-inc-title{font-size:12.5px;font-weight:700;color:var(--text-primary);display:flex;flex-wrap:wrap;align-items:center;gap:4px}.cr-inc-body{font-size:12px;color:var(--text-secondary)}.cr-flag{font-size:10px;font-weight:800;color:#fff;background:#dc2626;border-radius:4px;padding:0 5px;animation:cr-flag 1.4s ease-in-out infinite}@keyframes cr-flag{0%,to{opacity:1}50%{opacity:.55}}.cr-chip{margin-left:10px;border:1px solid var(--c);color:var(--text-primary);background:color-mix(in srgb,var(--c) 16%,var(--surface));border-radius:999px;padding:1px 10px;font-size:11.5px;font-weight:700;cursor:pointer;vertical-align:1px}.cr-badges{display:inline-flex;flex-wrap:wrap;gap:4px}.cr-late{color:var(--cmp-atrasado)}.cr-early{color:var(--cmp-adelantado)}.cr-urg{display:inline-grid;place-items:center;width:15px;height:15px;margin-right:5px;border-radius:4px;font-size:10px;font-weight:900;color:#fff;background:#dc2626;vertical-align:1px}.sidebar-new{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:0 5px;margin-left:4px;border-radius:999px;color:#fff;background:#c9579a;vertical-align:1px}@media (max-width: 1100px){.cr-top{grid-template-columns:1fr}.cr-inc-grid.three{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.cr-inc-grid,.cr-inc-grid.three{grid-template-columns:1fr}.cr-vs-row{grid-template-columns:52px 1fr 92px 1fr 52px;gap:4px}.cr-filters .form-select{max-width:100%;flex:1 1 100%}.cr-pop{width:240px}.cr-col-lab{font-size:9px}}:root{--otd-externo: #7a8699;--otd-pendiente: #cfccc7;--otd-line: #1f5fa8;--otd-line-adj: #2aa08a;--otd-goal: #0ca30c}:root[data-theme=dark]{--otd-externo: #858fa1;--otd-pendiente: #4a4950;--otd-line: #5a9be8;--otd-line-adj: #3cc0a6;--otd-goal: #34c434}.otd-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;margin-bottom:12px}.otd-title{margin:0;font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:.01em}.otd-tabs{display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px}.otd-tab{border:0;background:none;padding:6px 14px;border-radius:8px;font:inherit;font-size:12.5px;font-weight:700;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.otd-tab.on{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.otd-tab-badge{font-size:10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-grid;place-items:center;background:var(--cmp-curso_retraso);color:#fff}.otd-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-6px 0 14px}.otd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.otd-card{display:flex;flex-direction:column;gap:2px;text-align:left;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);font:inherit;color:inherit;border-left:4px solid var(--c, var(--border))}.otd-card.click,.otd-mini.click{cursor:pointer;transition:transform .12s,box-shadow .12s}.otd-card.click:hover,.otd-mini.click:hover{transform:translateY(-2px);box-shadow:var(--shadow-md, 0 4px 14px rgba(0,0,0,.08))}.otd-card-value{font-size:32px;font-weight:800;line-height:1.1;color:var(--text-primary)}.otd-card-value.accent{color:var(--otd-line-adj)}.otd-card-label{font-size:13px;font-weight:700;color:var(--text-secondary)}.otd-card-sub{font-size:11.5px;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin-top:4px}.otd-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:6px}.otd-mini{display:flex;flex-direction:column;gap:1px;text-align:left;padding:10px 14px;border-radius:10px;border:1px solid var(--border-light);background:var(--surface-2);font:inherit;color:inherit;border-left:3px solid var(--c, var(--border))}.otd-mini-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.otd-mini-value{font-size:19px;font-weight:800;color:var(--text-primary)}.otd-note{margin:0 0 14px}.otd-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.otd-toggle button{border:0;background:var(--surface);padding:3px 10px;font:inherit;font-size:11.5px;font-weight:700;color:var(--text-secondary);cursor:pointer}.otd-toggle button.on{background:var(--text-primary);color:var(--surface)}.otd-trend{position:relative;padding:0 12px}.otd-trend svg{width:100%;height:auto;display:block;overflow:visible}.otd-grid{stroke:var(--border-light);stroke-width:1}.otd-axis{font-size:10.5px;fill:var(--text-muted)}.otd-goal{stroke:var(--otd-goal);stroke-width:1.5;stroke-dasharray:6 4}.otd-goal-label{font-size:10.5px;font-weight:700;fill:var(--otd-goal)}.otd-line{fill:none;stroke:var(--otd-line);stroke-width:2.5;stroke-linejoin:round}.otd-line.adj{stroke:var(--otd-line-adj);stroke-width:2;stroke-dasharray:2 3}.otd-dot{fill:var(--otd-line);stroke:var(--surface);stroke-width:2;transition:r .12s}.otd-dot.adj{fill:var(--otd-line-adj)}.otd-cross{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:2 2}.otd-tip{position:absolute;top:4px;transform:translate(-50%);z-index:5;pointer-events:none;display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--border);box-shadow:0 6px 20px #00000024;font-size:11.5px;color:var(--text-primary);white-space:nowrap}.otd-trend-legend{padding:2px 30px 0}.otd-key{display:inline-block;width:18px;height:0;margin-right:6px;vertical-align:3px;border-top:2.5px solid var(--otd-line)}.otd-key.adj{border-top:2px dotted var(--otd-line-adj)}.otd-key.dash{border-top:1.5px dashed var(--otd-goal)}.otd-causes{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:14px;padding:0 18px;align-items:center}.otd-donut{display:flex;flex-direction:column;align-items:center;gap:6px}.otd-donut>svg{width:150px;height:150px}.otd-donut .cr-ring-legend{width:100%}.otd-bars{display:flex;flex-direction:column;gap:6px}.otd-bar-row{display:grid;grid-template-columns:minmax(90px,160px) 1fr 28px;align-items:center;gap:8px;border:0;background:none;padding:3px 4px;border-radius:6px;font:inherit;font-size:12px;color:var(--text-primary);cursor:pointer;text-align:left}.otd-bar-row:hover{background:var(--surface-2)}.otd-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.otd-bar-track{height:12px;border-radius:0 4px 4px 0;background:var(--surface-2);overflow:hidden}.otd-bar-track span{display:block;height:100%;border-radius:0 4px 4px 0}.otd-bar-row strong{text-align:right}.otd-pctbar{display:flex;align-items:center;gap:8px}.otd-pctbar-track{position:relative;flex:1;height:8px;border-radius:4px;background:var(--surface-2);min-width:80px}.otd-pctbar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--otd-line)}.otd-pctbar-goal{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--otd-goal)}.otd-pctbar strong{min-width:46px;text-align:right;font-size:12px}.otd-small{font-size:10.5px;color:var(--text-muted);font-weight:600}.otd-pending{color:#a35a00;font-weight:700}:root[data-theme=dark] .otd-pending{color:#f0b25e}.otd-actions{list-style:none;margin:0;padding:0 18px;display:flex;flex-direction:column;gap:10px}.otd-actions li{display:flex;gap:12px;align-items:flex-start}.otd-action-n{font-size:18px;font-weight:800;color:var(--text-muted);min-width:26px}.otd-sort{border:0;background:none;padding:0;font:inherit;font-weight:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.otd-list{list-style:none;margin:0;padding:0 18px;display:flex;flex-direction:column}.otd-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-light)}.otd-list li:last-child{border-bottom:0}.otd-list.compact{padding:0}.otd-list-actions{display:flex;gap:6px;flex:none}.otd-cause-select{width:auto;max-width:220px;flex:none}.otd-astate{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary)}.otd-astate.en_curso{background:color-mix(in srgb,var(--otd-line) 18%,var(--surface));color:var(--text-primary)}.otd-astate.bloqueada{background:color-mix(in srgb,var(--cmp-atrasado) 18%,var(--surface));color:var(--text-primary)}.otd-astate.cerrada{background:color-mix(in srgb,var(--cmp-en_tiempo) 18%,var(--surface));color:var(--text-primary)}.otd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.otd-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px}.otd-dates>div{display:flex;flex-direction:column;gap:2px}.otd-sub{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-light)}.otd-sub-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:13px}.otd-sub-foot{display:flex;gap:8px;flex-wrap:wrap}.otd-inline-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.otd-inline-form .form-input{width:auto;flex:1 1 180px}.otd-inline-form input[type=date]{flex:0 0 150px}.otd-cause-form{display:flex;flex-direction:column;gap:6px;max-width:560px}.otd-adj{font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary)}.otd-adj.aprobado{background:color-mix(in srgb,var(--cmp-en_tiempo) 20%,var(--surface));color:var(--text-primary)}.otd-adj.rechazado{background:color-mix(in srgb,var(--cmp-atrasado) 18%,var(--surface));color:var(--text-primary)}.otd-adj.pendiente{background:color-mix(in srgb,var(--cmp-curso_retraso) 22%,var(--surface));color:var(--text-primary)}.otd-hist{list-style:none;margin:8px 0 0;padding:0;font-size:12px;display:flex;flex-direction:column;gap:3px}.otd-admin-list{margin-top:12px;max-height:300px;overflow-y:auto;border-top:1px solid var(--border-light);padding-top:6px}.otd-admin-row{display:flex;align-items:center;gap:8px;padding:4px 0}.otd-admin-row>span{flex:1;font-size:13px}.otd-admin-row>.form-input:first-child{flex:1}.otd-admin-row.off{opacity:.55}.otd-admin-group{margin-top:10px}.otd-admin-group-head{font-size:13px;margin-bottom:4px}@media (max-width: 1000px){.otd-kpis,.otd-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.otd-causes{grid-template-columns:1fr}}@media (max-width: 560px){.otd-kpis,.otd-secondary,.otd-form-grid{grid-template-columns:1fr}.otd-list li{flex-direction:column;align-items:flex-start}}.otd-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px;align-items:start}.otd-admin-grid .admin-card-actions{justify-content:flex-start;flex-wrap:wrap}.otd-admin-row .form-input{min-width:0}.otd-admin-row>.btn,.otd-admin-row>.comment-del{flex:none}.otd-radio{display:flex;gap:8px;align-items:flex-start;padding:4px 0;cursor:pointer;font-size:13px}.otd-radio input{margin-top:3px}.i18n-add{display:grid;grid-template-columns:200px 1fr auto;gap:8px;margin:14px 0 4px}@media (max-width: 720px){.i18n-add{grid-template-columns:1fr}}.i18n-progress{display:flex;align-items:center;gap:8px;min-width:170px}.i18n-progress-bar{flex:1;height:6px;border-radius:3px;background:var(--border, #e5e3df);overflow:hidden;min-width:60px}.i18n-progress-bar span{display:block;height:100%;background:var(--status-produccion)}.i18n-files{white-space:nowrap}.i18n-files .btn{margin-right:4px}.i18n-editor-title{margin:22px 0 4px;font-size:15px}.i18n-editor .festivos-toolbar input.form-input{flex:1;min-width:200px}.i18n-table td{vertical-align:top}.i18n-src{white-space:pre-wrap;word-break:break-word}.i18n-input{width:100%;min-height:34px;resize:vertical;font:inherit;margin-bottom:4px}.i18n-missing .i18n-input{border-color:var(--status-revision)}.i18n-pager{display:flex;align-items:center;gap:10px;justify-content:center;margin:10px 0}.lang-select{width:100%;margin-top:4px}.user-menu-lang{padding:4px 10px 8px;border-bottom:1px solid var(--border-light);margin-bottom:6px}.user-menu-lang .lang-select{margin-top:0;font-size:13px;padding:6px 8px}.login-lang{display:flex;justify-content:center;margin-top:18px}.login-lang .lang-select{width:auto;min-width:160px;margin-top:0;font-size:13px;padding:6px 10px}.form-grid{gap:8px 12px}.form-group{gap:3px}.form-label{font-size:12px}.form-input,.form-select,.form-textarea{padding:5px 9px;font-size:13px}.form-select{padding-right:26px}.form-textarea{min-height:64px}.modal-body{padding:14px 18px}.modal-footer{padding:10px 18px}.form-section-title{padding:10px 0 5px;margin-bottom:6px}.form-hint{margin-top:2px}.lines-field{gap:2px}.urgente-switch.switch-ok input:checked+.urgente-slider{background:var(--alt-mint, #5fb799)}.urgente-switch.switch-ok input:checked~.urgente-label{color:var(--text-primary)}:root[data-labels=inline] .form-group:has(>.form-label),:root[data-labels=inline] .lines-field:has(>.lines-date-label){display:grid;grid-template-columns:var(--label-w, 128px) minmax(0,1fr);column-gap:8px;row-gap:2px;align-items:center}:root[data-labels=inline] .form-grid-3{--label-w: 96px}:root[data-labels=inline] .form-group:has(>.form-label)>.form-label,:root[data-labels=inline] .lines-field:has(>.lines-date-label)>.lines-date-label{grid-column:1;text-align:right;line-height:1.2}:root[data-labels=inline] .form-group:has(>.form-label)>:not(.form-label),:root[data-labels=inline] .lines-field:has(>.lines-date-label)>:not(.lines-date-label){grid-column:2}:root[data-labels=inline] .form-group:has(>.form-textarea)>.form-label{align-self:start;padding-top:6px}@media (max-width: 640px){:root[data-labels=inline] .form-group:has(>.form-label),:root[data-labels=inline] .lines-field:has(>.lines-date-label){grid-template-columns:1fr}:root[data-labels=inline] .form-group:has(>.form-label)>*,:root[data-labels=inline] .lines-field:has(>.lines-date-label)>*{grid-column:1;text-align:left}}.status-change-line.blocked{opacity:.7;cursor:not-allowed}.status-change-blocked{font-size:12px;color:#b45309;margin-left:auto}:root[data-theme=dark] .status-change-blocked{color:#fbbf24}.status-change-note{margin-top:10px;font-size:12.5px;color:var(--text-secondary)}.line-extras{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.line-extra-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:1.3;padding:1px 7px;border-radius:10px;border:1px dashed var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer}.line-extra-chip.bloqueante{border-color:#f59e0b;color:#92400e}.line-extra-chip.done{border-style:solid;border-color:var(--alt-mint, #5fb799);color:var(--text-primary);background:#5fb7991f}.line-extra-chip.late:not(.done){border-color:#dc2626;color:#b91c1c}.line-extra-chip:disabled{cursor:default}.line-extra-mark{font-size:10px}:root[data-theme=dark] .line-extra-chip.bloqueante{color:#fbbf24}:root[data-theme=dark] .line-extra-chip.late:not(.done){color:#f87171}.line-wf-name{font-size:11px;color:var(--text-muted);margin-top:2px;white-space:nowrap}.wf-step-extra{flex-wrap:wrap;row-gap:4px}.wf-extra-summary{font-size:12px;color:var(--text-secondary);margin-top:2px}.chip-pair{display:inline-flex;gap:0}.chip-pair .chip-toggle:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.chip-pair .chip-extra{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none;padding-left:7px;padding-right:7px}.plan-row-extra td{background:var(--surface-alt, rgba(0,0,0,.02))}:root[data-labels=inline] .line-edit-card{--label-w: 92px}.wf-step-extra .wf-step-label{flex:1 1 calc(100% - 48px);min-width:0;font-weight:600}.wf-step-extra .form-input.wf-step-resp{width:auto;flex:1 1 120px}.chip-pair .chip-extra{font-weight:700;min-width:26px;justify-content:center}
