:root{color-scheme:light;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f1f3f6;--border: #e3e7ed;--text: #0f172a;--text-muted: #5b6676;--accent: #0f766e;--accent-hover: #115e59;--accent-soft: #e6f4f2;--on-accent: #ffffff;--success: #15803d;--success-soft: #e8f6ec;--warning: #b45309;--warning-soft: #fdf3e2;--danger: #b91c1c;--danger-soft: #fdecec;--info: #1d4ed8;--info-soft: #eaf0fd;--border-strong: #cfd6df;--text-subtle: #8792a2;--hover: rgba(15, 23, 42, .04);--overlay: rgba(15, 23, 42, .45);--shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 4px 12px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .14);--skeleton-a: #eceff3;--skeleton-b: #f6f7f9;--surface-muted: var(--surface-2);--surface-accent: var(--accent-soft);--color-error: var(--danger);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sidebar-width: 248px}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0f14;--surface: #121820;--surface-2: #18202a;--border: #26303d;--text: #e7ecf2;--text-muted: #94a3b5;--accent: #2dd4bf;--accent-hover: #5eead4;--accent-soft: rgba(45, 212, 191, .12);--on-accent: #04211e;--success: #4ade80;--success-soft: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--info: #60a5fa;--info-soft: rgba(96, 165, 250, .12);--border-strong: #334155;--text-subtle: #6b7a8d;--hover: rgba(231, 236, 242, .05);--overlay: rgba(2, 6, 12, .66);--shadow: none;--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--skeleton-a: #18202a;--skeleton-b: #1f2934}@media (prefers-color-scheme: dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--bg: #0b0f14;--surface: #121820;--surface-2: #18202a;--border: #26303d;--text: #e7ecf2;--text-muted: #94a3b5;--accent: #2dd4bf;--accent-hover: #5eead4;--accent-soft: rgba(45, 212, 191, .12);--on-accent: #04211e;--success: #4ade80;--success-soft: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--info: #60a5fa;--info-soft: rgba(96, 165, 250, .12);--border-strong: #334155;--text-subtle: #6b7a8d;--hover: rgba(231, 236, 242, .05);--overlay: rgba(2, 6, 12, .66);--shadow: none;--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--skeleton-a: #18202a;--skeleton-b: #1f2934}}:root{font-family:var(--font);font-size:16px;line-height:1.5;font-weight:400;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:var(--bg)}h1,h2,h3,h4{color:var(--text);letter-spacing:-.01em}h1{font-size:1.375rem;line-height:1.25;font-weight:650}h2{font-size:1.0625rem;line-height:1.35;font-weight:600}h3{font-size:.9375rem;line-height:1.4;font-weight:600}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}::selection{background:var(--accent-soft)}.num,.money{font-variant-numeric:tabular-nums}.money{font-weight:600}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:8px;padding:16px 12px;background:var(--surface);border-right:1px solid var(--border);overflow:hidden;z-index:40}.app-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 12px}.app-brand__mark{width:32px;height:32px;border-radius:10px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;flex-shrink:0}.app-brand__title{margin:0;font-size:.9375rem;font-weight:650;line-height:1.2}.app-brand__subtitle{margin:0;font-size:.75rem;color:var(--text-muted)}.app-brand__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.app-nav{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -4px;padding:0 4px;scrollbar-width:thin}.app-nav__section{display:flex;flex-direction:column;gap:2px}.app-nav__section-title{padding:0 10px 4px;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.app-nav__link{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.875rem;font-weight:500;transition:background-color .12s ease,color .12s ease}.app-nav__link svg{flex-shrink:0;opacity:.85}.app-nav__link:hover{background:var(--hover);color:var(--text)}.app-nav__link--active,.app-nav__link--active:hover{background:var(--accent-soft);color:var(--accent);font-weight:600}.app-nav__link--active svg{opacity:1}.app-sidebar__footer{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:10px;padding:4px 6px;min-width:0}.user-chip__avatar{width:32px;height:32px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);display:grid;place-items:center;font-size:.75rem;font-weight:600;flex-shrink:0}.user-chip__text{display:flex;flex-direction:column;min-width:0}.user-chip__name{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip__role{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__logout{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font-size:.875rem;font-weight:500;text-align:left}.app-sidebar__logout:hover{background:var(--danger-soft);color:var(--danger)}.app-topbar,.app-scrim{display:none}.app-main{min-width:0;width:100%;max-width:1320px;margin:0 auto;padding:28px 32px 48px;display:flex;flex-direction:column;gap:20px}.theme-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.theme-switch__option{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:0 6px;border:0;border-radius:7px;background:none;color:var(--text-muted);font-size:.75rem;font-weight:500}.theme-switch__option:hover{color:var(--text)}.theme-switch__option--active{background:var(--surface);color:var(--text);box-shadow:var(--shadow);outline:1px solid var(--border)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header__copy{display:flex;flex-direction:column;gap:4px;min-width:0}.page-header__copy h1,.page-title{margin:0;font-size:1.375rem}.page-header__copy p{margin:0;color:var(--text-muted);font-size:.9375rem}.page-header__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-header__status{padding:12px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);min-width:220px}.page-header__status strong,.page-header__status span{display:block}.breadcrumb{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.8125rem;margin-bottom:4px}.breadcrumb a:hover{color:var(--accent)}.grid{display:grid;gap:16px}.grid--cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid--cards-tight{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.grid--main{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.grid--halves{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:12px}.stack--lg{gap:20px}.stack--sm{gap:6px}.stack__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border);font-size:.9375rem}.stack__row>span:first-child{color:var(--text-muted)}.stack__row:last-child{border-bottom:0;padding-bottom:0}.split{display:flex;align-items:center;justify-content:space-between;gap:12px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);min-width:0}.card h2,.card h3{margin-top:0}.card h2{margin-bottom:0}.card.card--flush{padding:0;overflow:hidden}.card--inset{padding:16px;background:var(--surface-2);border-color:var(--border);box-shadow:none}.card-subtitle{margin:2px 0 0;color:var(--text-muted);font-size:.875rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.section-header h2,.section-header h3{margin:0}.card .section-header:last-child{margin-bottom:0}.metric{display:flex;flex-direction:column;gap:4px;padding:16px 18px}.metric__label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.metric__value{font-size:1.75rem;line-height:1.15;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.metric__value--small{font-size:1.25rem}.metric__hint{color:var(--text-muted);font-size:.8125rem}.metric--accent .metric__value{color:var(--accent)}.metric--warning .metric__value{color:var(--warning)}.metric--danger .metric__value{color:var(--danger)}.metric--success .metric__value{color:var(--success)}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.metric-strip>.metric{border-right:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 -1px -1px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-size:.875rem;font-weight:600;line-height:1;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.button:hover:not(:disabled){border-color:var(--border-strong);background:var(--hover)}.button--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.button--secondary{background:var(--surface-2);border-color:var(--border);color:var(--text)}.button--danger{background:var(--danger);border-color:var(--danger);color:#fff}:root[data-theme=dark] .button--danger{color:#1a0505}.button--danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);filter:brightness(.92)}.button--ghost{background:none;border-color:transparent;color:var(--text-muted)}.button--ghost:hover:not(:disabled){background:var(--hover);border-color:transparent;color:var(--text)}.button--sm{min-height:32px;padding:0 12px;border-radius:var(--radius-sm);font-size:.8125rem}.button--icon{min-height:32px;width:32px;padding:0;border-radius:var(--radius-sm)}.button--block{width:100%}.button:disabled{opacity:.5}.link-button{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--accent);padding:0;font-size:.875rem;font-weight:600}.link-button:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.link-button:disabled{color:var(--text-subtle)}.status-badge,.pill,.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;min-height:22px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap;background:var(--surface-2);color:var(--text-muted)}.status-badge:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;flex-shrink:0}.status-badge--accent{background:var(--accent-soft);color:var(--accent)}.status-badge--success,.pill--success,.badge--green,.badge--asignacion{background:var(--success-soft);color:var(--success)}.status-badge--warning,.pill--warning,.badge--devolucion{background:var(--warning-soft);color:var(--warning)}.status-badge--danger,.pill--danger{background:var(--danger-soft);color:var(--danger)}.status-badge--info,.pill--info,.badge--blue,.badge--preparacion{background:var(--info-soft);color:var(--info)}.status-badge--muted,.status-badge--neutral,.pill--muted,.badge--gray{background:var(--surface-2);color:var(--text-muted)}.pill{background:var(--accent-soft);color:var(--accent)}.badge{padding:2px 8px}.badge--purple,.badge--entrada{background:#7c3aed1f;color:#7c3aed}:root[data-theme=dark] .badge--purple,:root[data-theme=dark] .badge--entrada{color:#c4b5fd}.count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.875rem}.alert>svg{flex-shrink:0;margin-top:1px}.alert--error{color:var(--danger);background:var(--danger-soft);border-color:transparent}.alert--warning{color:var(--warning);background:var(--warning-soft);border-color:transparent}.alert--success{color:var(--success);background:var(--success-soft);border-color:transparent}.alert--info{color:var(--text);background:var(--info-soft);border-color:transparent}.alert ul{color:inherit}.alert-list{display:grid;gap:8px}.alert-card{display:flex;align-items:flex-start;gap:12px;border-radius:var(--radius);padding:12px 14px;border:1px solid var(--border);background:var(--surface-2);font-size:.875rem}.alert-card strong{display:block;font-size:.875rem}.alert-card span{color:var(--text-muted)}.alert-card__icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.alert-card--danger .alert-card__icon{background:var(--danger-soft);color:var(--danger)}.alert-card--warning .alert-card__icon{background:var(--warning-soft);color:var(--warning)}.alert-card--info .alert-card__icon{background:var(--info-soft);color:var(--info)}.text-muted,.muted{color:var(--text-muted)}.text-small{font-size:.8125rem}.text-danger{color:var(--danger);font-size:.8125rem}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.table-wrap>.table,.table-wrap>.data-table{border:0}.table,.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.table th,.table td,.data-table th,.data-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table th,.data-table th{background:var(--surface-2);color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;text-transform:none}.table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:0}.table tbody tr,.data-table tbody tr{transition:background-color .1s ease}.table tbody tr:hover,.data-table tbody tr:hover{background:var(--hover)}.table td.num,.table th.num{text-align:right}.table__row--active,.table__row--active:hover,.row--selected{background:var(--accent-soft)!important}.table__row--clickable{cursor:pointer}.table .cell-title{font-weight:600;color:var(--text)}.table .cell-sub{font-size:.8125rem;color:var(--text-muted)}.editable-cell{cursor:pointer}.table-status-group{display:flex;flex-wrap:wrap;gap:6px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.field-label{font-size:.8125rem;font-weight:600;color:var(--text)}.field>.text-muted,.field-help{font-size:.8125rem;color:var(--text-muted)}.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select,.input,.table-input,.vault-quantity-input,.field--compact select{width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:8px 12px;font-size:.9375rem;transition:border-color .12s ease,box-shadow .12s ease}.field textarea{resize:vertical;min-height:80px}.field select,.field--compact select,select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238792a2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.field input:focus,.field textarea:focus,.field select:focus,.input:focus,.table-input:focus,.vault-quantity-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),0 0 0 1px var(--accent)}.field input:disabled,.field select:disabled,.field textarea:disabled,.table-input:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:not([type=date]):not([type=month]):focus::placeholder,textarea:focus::placeholder{color:transparent}.table-input{max-width:220px;min-height:34px;padding:6px 10px}.vault-quantity-input{max-width:120px}.field-row,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.checkbox-field{display:flex;align-items:center;gap:10px;font-weight:500;font-size:.9375rem}.checkbox-field input{width:16px;margin:0}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end}.filter-bar{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:end}.filter-bar--triple{grid-template-columns:minmax(0,1fr) 220px 220px}.filters-panel{display:flex;flex-direction:column;gap:12px}.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.toolbar>.field{flex:1 1 180px}.toolbar>.field--search{flex:2 1 240px}.toolbar>.field--date{flex:0 1 190px}.catalog-tabs,.vault-tabs,.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);align-self:flex-start;max-width:100%}.catalog-tabs__link,.vault-tab,.segmented__option{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:32px;padding:0 14px;border:0;border-radius:7px;background:none;color:var(--text-muted);font-size:.875rem;font-weight:500;box-shadow:none;cursor:pointer}.catalog-tabs__link:hover,.vault-tab:hover,.segmented__option:hover{color:var(--text)}.catalog-tabs__link--active,.vault-tab--active,.segmented__option--active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow);outline:1px solid var(--border)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 20px;border-radius:var(--radius);border:1px dashed var(--border-strong);background:transparent;color:var(--text-muted);text-align:center;font-size:.9375rem}.empty-state__icon{width:40px;height:40px;border-radius:12px;background:var(--surface-2);color:var(--text-muted);display:grid;place-items:center}.empty-state strong{color:var(--text);font-size:.9375rem}.empty-state .button{margin-top:6px}.skeleton{min-height:72px;border-radius:var(--radius);background:linear-gradient(90deg,var(--skeleton-a),var(--skeleton-b),var(--skeleton-a));background-size:200% 100%;animation:shimmer 1.6s linear infinite}.skeleton--line{min-height:14px;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.list-grid{display:grid;gap:10px}.list-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.list-card h3{margin:0}.item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.item-list__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-sm);transition:background .1s}.item-list__item:hover{background:var(--hover)}.item-list__item--selected{background:var(--accent-soft)}.item-list__name{flex:1;font-weight:500}.inline-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.inline-actions--row{flex-direction:row;flex-wrap:wrap;align-items:center}.inline-input-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mini-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:200;padding:24px;animation:fade-in .12s ease}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:min(520px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:16px;animation:pop-in .14s ease}.modal--wide{width:min(680px,100%)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal__header h2{margin:0;font-size:1.125rem}.modal__close{display:grid;place-items:center;width:32px;height:32px;border:0;background:none;color:var(--text-muted);border-radius:var(--radius-sm);flex-shrink:0}.modal__close:hover{background:var(--hover);color:var(--text)}.modal__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:4px}.modal__actions .button--primary,.modal__actions .button--danger{order:2}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}.combobox{position:relative}.combobox input[readonly]{cursor:pointer}.combobox__list{list-style:none;margin:4px 0 0;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-height:240px;overflow-y:auto;box-shadow:var(--shadow-lg)}.combobox__option{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.875rem;line-height:1.4}.combobox__option--active{background:var(--accent-soft);color:var(--accent)}.combobox__empty{padding:10px 12px;color:var(--text-muted);font-size:.875rem}.progress{position:relative;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;min-width:60px}.progress__bar{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--accent);transition:width .2s ease}.progress--success .progress__bar{background:var(--success)}.progress-label{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.progress-label .progress{flex:1}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}.auth-card{width:min(400px,100%);display:flex;flex-direction:column;gap:24px}.auth-card__brand{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.auth-card__brand .app-brand__mark{width:44px;height:44px;border-radius:12px}.auth-card__brand h1{margin:0;font-size:1.375rem}.auth-card__brand p{color:var(--text-muted);font-size:.9375rem}.auth-card .card{padding:24px}.auth-card__foot{display:flex;justify-content:center}.auth-card__foot .theme-switch{width:240px}.auth-state-card{display:grid;gap:14px}.dash-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:16px;align-items:start}.route-card{display:flex;flex-direction:column;gap:16px}.route-card__header{align-items:flex-start}.route-card__header h2{margin:0}.route-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-controls{display:inline-flex;gap:4px}.order-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.vault-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vault-step{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);text-align:left;color:var(--text);transition:border-color .12s ease,background-color .12s ease}.vault-step:hover{border-color:var(--border-strong)}.vault-step--active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.vault-step__icon{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;flex-shrink:0;background:var(--surface-2);color:var(--text-muted);font-size:.875rem;font-weight:700}.vault-step--done .vault-step__icon{background:var(--success-soft);color:var(--success)}.vault-step--pending .vault-step__icon{background:var(--warning-soft);color:var(--warning)}.vault-step__body{display:flex;flex-direction:column;gap:2px;min-width:0}.vault-step__title{font-weight:600;font-size:.9375rem}.vault-step__status{font-size:.8125rem;color:var(--text-muted)}.vault-step--done .vault-step__status{color:var(--success)}.vault-step--pending .vault-step__status{color:var(--warning)}.card.vault-money{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.2fr);gap:0;padding:0;overflow:hidden}.vault-money__main{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:20px 22px;border-right:1px solid var(--border)}.vault-money__main .metric__value{font-size:2rem}.vault-money__rest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.vault-money__rest .metric{border-bottom:1px solid var(--border);border-right:1px solid var(--border);margin:0 -1px -1px 0}.vault-route{display:flex;flex-direction:column;gap:14px}.vault-route__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.vault-route__title{display:flex;flex-direction:column;gap:2px}.vault-route__title h3{margin:0;font-size:1rem}.vault-route__facts{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:.875rem;color:var(--text-muted)}.vault-route__facts strong{color:var(--text);font-variant-numeric:tabular-nums}.vault-route__progress{flex:1 1 200px;max-width:320px}.vault-route__actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.vault-prepare-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;align-items:start}.vault-prepare-panel{display:flex;flex-direction:column;gap:16px}.vault-route-bag-list{display:grid;gap:12px}.vault-prepare-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2)}.vault-prepare-total strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.vault-prepare-total--ok{border-color:transparent;background:var(--success-soft);color:var(--success)}.vault-prepare-total--off{border-color:transparent;background:var(--warning-soft);color:var(--warning)}.summary-list{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.denom-grid{display:grid;gap:6px}.denom-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.denom-row__label{font-weight:600;font-size:.9375rem}.denom-row__sub{font-size:.8125rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.denom-row .table-input{width:88px;text-align:center;font-variant-numeric:tabular-nums}.denom-stepper{display:flex;align-items:center;gap:8px}.denom-stepper__btn{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);font-size:1.1rem;display:flex;align-items:center;justify-content:center;line-height:1;color:var(--text)}.denom-stepper__btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.denom-stepper__btn:disabled{opacity:.4}.denom-stepper__count{min-width:28px;text-align:center;font-weight:700;font-size:1rem}.cierre-diff--ok{color:var(--success);font-weight:700}.cierre-diff--negativo{color:var(--danger);font-weight:700}.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day-toggle{position:relative;display:inline-grid;place-items:center;min-width:36px;height:30px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .1s ease,color .1s ease,border-color .1s ease}.day-toggle input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.day-toggle:hover{border-color:var(--border-strong)}.day-toggle--on{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.day-toggle:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.day-toggle:has(input:disabled){cursor:default;opacity:.65}.day-toggles{display:flex;gap:4px;flex-wrap:wrap}.switch{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem}.switch input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:34px;height:20px;border-radius:999px;background:var(--border-strong);position:relative;margin:0;cursor:pointer;transition:background-color .12s ease;flex-shrink:0}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .12s ease}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(14px)}.switch input:disabled{opacity:.5;cursor:default}.export-panel{display:flex;flex-direction:column;gap:16px}.export-panel__controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.export-panel__controls .field{flex:0 1 220px}.catalog-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;align-items:start}@media (max-width: 1100px){.dash-grid,.card.vault-money{grid-template-columns:1fr}.dash-grid>:last-child{order:-1}.vault-money__main{border-right:0;border-bottom:1px solid var(--border)}}@media (max-width: 960px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.app-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.app-topbar .app-brand{padding:0}.app-topbar .app-brand__mark{width:28px;height:28px;border-radius:8px}.app-sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadow-lg)}.app-shell--nav-open .app-sidebar{transform:translate(0)}.app-shell--nav-open .app-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:35}.app-main{padding:20px 16px 40px}.grid--main,.grid--halves,.catalog-grid,.vault-prepare-layout,.form-grid,.field-row,.filter-bar,.filter-bar--triple,.vault-steps{grid-template-columns:1fr}}@media (max-width: 640px){.card{padding:16px}.metric{padding:14px}.metric__value{font-size:1.5rem}.page-header{align-items:stretch;flex-direction:column}.page-header__actions>.button{flex:1 1 auto}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 16px}.modal__actions .button{flex:1 1 auto}.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.vault-money__rest{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.toolbar>.field--search,.toolbar>.field--date{grid-column:1 / -1}.table th,.table td,.data-table th,.data-table td{padding:10px 12px}.vault-money__main .metric__value{font-size:1.75rem}.grid--cards,.grid--cards-tight{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-tabs,.vault-tabs,.segmented{display:flex;flex-wrap:nowrap;overflow-x:auto}.catalog-tabs__link,.vault-tab,.segmented__option{flex:1 0 auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-title{margin:0;font-size:1rem;display:flex;align-items:center;gap:8px}.split--wrap{flex-wrap:wrap}.link-button.link-button--danger{color:var(--text-muted)}.link-button.link-button--danger:hover:not(:disabled){color:var(--danger)}.amount-edit{display:inline-flex;align-items:center;justify-content:flex-end;min-width:112px;min-height:34px;padding:0 10px;border:1px dashed transparent;border-radius:var(--radius-sm);background:none;color:var(--text);font:inherit;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.amount-edit:hover{border-color:var(--border-strong);background:var(--surface-2)}.table-input.amount-input{max-width:132px;text-align:right;font-variant-numeric:tabular-nums}.master-detail{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;align-items:start}.pick-list{display:flex;flex-direction:column;gap:4px;margin:0 -8px}.pick-list__item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer}.pick-list__item:hover{background:var(--hover)}.pick-list__item--active,.pick-list__item--active:hover{background:var(--accent-soft)}.pick-list__body{display:flex;flex-direction:column;gap:2px;min-width:0}.pick-list__title{font-weight:600;font-size:.9375rem}.pick-list__item--active .pick-list__title{color:var(--accent)}.pick-list__sub{color:var(--text-muted);font-size:.8125rem}.detail-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px 24px;margin:0}.detail-list>div{display:flex;flex-direction:column;gap:2px;min-width:0}.detail-list dt{color:var(--text-muted);font-size:.8125rem}.detail-list dd{margin:0;font-weight:500;overflow-wrap:anywhere}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline__item{position:relative;display:flex;flex-direction:column;gap:2px;padding:0 0 16px 22px;font-size:.875rem}.timeline__item:before{content:"";position:absolute;left:4px;top:6px;width:8px;height:8px;border-radius:999px;background:var(--accent)}.timeline__item:after{content:"";position:absolute;left:7.5px;top:18px;bottom:2px;width:1px;background:var(--border)}.timeline__item:last-child{padding-bottom:0}.timeline__item:last-child:after{display:none}.timeline__meta{color:var(--text-muted);font-size:.8125rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.photo-card{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0}.photo-card__title{font-weight:600;font-size:.9375rem}.photo-card__meta{color:var(--text-muted);font-size:.8125rem}.photo-card .button{margin-top:auto}.permission-group{display:flex;flex-direction:column;gap:8px}.permission-group__title{margin:0;font-size:.8125rem;font-weight:600;color:var(--text-muted)}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;cursor:pointer}.check-row input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.check-row small{display:block;color:var(--text-muted);font-size:.8125rem}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.8125rem;font-weight:500}.back-link:hover{color:var(--accent)}@media (max-width: 960px){.master-detail{grid-template-columns:1fr}}@media (max-width: 640px){.photo-grid{grid-template-columns:1fr}}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.check-list{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.check-list__item{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 14px;border-bottom:1px solid var(--border);cursor:pointer}.check-list__item:last-child{border-bottom:0}.check-list__item:hover{background:var(--hover)}.check-list__item--selected,.check-list__item--selected:hover{background:var(--accent-soft)}.check-list__item input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent);flex-shrink:0}.check-list__text{display:flex;flex-direction:column;flex:1;min-width:0}.check-list__title{font-weight:500;font-size:.9375rem}.check-list__sub{color:var(--text-muted);font-size:.8125rem}.table-input.qty-input{width:72px;text-align:center}@media (max-width: 960px){.form-grid--3{grid-template-columns:1fr}}.table__row--detail,.table__row--detail:hover{background:var(--surface-2)}.report-toolbar__actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.report-subsection{padding-top:20px;border-top:1px solid var(--border)}.table--compact th,.table--compact td{padding:8px 10px}.table .sticky-col{position:sticky;left:0;z-index:1;background:var(--surface);white-space:nowrap}.table th.sticky-col,.table tbody tr:hover .sticky-col{background:var(--surface-2)}.coverage-table__day{text-align:center!important;min-width:30px;padding-left:4px!important;padding-right:4px!important;font-variant-numeric:tabular-nums}.coverage-cell{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;border:1px dashed var(--border-strong);font-size:.75rem;font-weight:700;line-height:1}.coverage-cell--visitada{border:0;background:var(--success-soft);color:var(--success)}.coverage-cell--incidencia{border:0;background:var(--danger-soft);color:var(--danger)}.coverage-cell--no_visitada{border:0;background:var(--warning-soft);color:var(--warning)}.coverage-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.8125rem;color:var(--text-muted)}.coverage-legend__item{display:inline-flex;align-items:center;gap:6px}.table__row--group td{background:var(--surface-2);font-weight:600}.table__row--subtotal td{color:var(--text-muted);font-size:.8125rem}.table__row--total td{background:var(--surface-2);font-weight:700}.table tbody tr.table__row--group:hover,.table tbody tr.table__row--total:hover{background:none}@media (max-width: 640px){.report-toolbar__actions{grid-column:1 / -1;margin-left:0}.report-toolbar__actions .button{flex:1 1 auto}}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;padding:18px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.settings-row:last-child{border-bottom:0}.settings-row__copy{display:flex;flex-direction:column;gap:4px;flex:1 1 320px;min-width:0}.settings-row__title{font-weight:600;font-size:.9375rem}.settings-row__help{color:var(--text-muted);font-size:.8125rem}.settings-row__control{display:flex;align-items:center;gap:8px}.money-input{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted)}.money-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),0 0 0 1px var(--accent)}.money-input input{width:110px;border:0;outline:none;background:transparent;color:var(--text);font:inherit;font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 640px){.toolbar>.field--full-sm{grid-column:1 / -1}}
