:root{--bg: #f9f9f9;--surface: #ffffff;--border: #e5e7eb;--text: #1f2937;--muted: #6b7280;--primary: #111827;--primary-contrast: #ffffff;--accent: #2563eb;--ok: #15803d;--ok-bg: #f0fdf4;--warn: #b45309;--warn-bg: #fffbeb;--danger: #b91c1c;--danger-bg: #fef2f2;--info: #1d4ed8;--info-bg: #eff6ff;--neutral: #4b5563;--neutral-bg: #f3f4f6;--radius: 10px;--radius-card: 12px;--radius-input: 7px;--sidebar-w: 240px;--sidebar-w-collapsed: 60px;--primary-2: #0f172a;--text-strong: #111827;--text-soft: #374151;--subtle: #6b7280;--line: #e2e8f0;--line-soft: #f1f5f9;--row-border: #e9edf3;--input-bg: #f8fafc;--placeholder: #94a3b8;--chip-bg: #f1f5f9;--head-bg: #f8fafc;--list-head-bg: #f1f3f7;--list-head-text: #556070;--hover-row: #fafbfc;--nav-hover: #d8d8d8;--excel: #166534;--excel-hover: #14532d;--accent-strong: #1d4ed8;--monitor: #3b8bd4;--switch-on: #16a34a;--ok-border: #bbf7d0;--warn-border: #fde68a;--danger-border: #fecaca;--info-border: #bfdbfe;--info-bg-strong: #dbeafe;--danger-soft: #fee2e2;--danger-hover: #991b1b;--danger-bright: #dc2626;--ok-accent: #4ade80;--warn-accent: #fbbf24;--danger-accent: #f87171;--info-accent: #60a5fa;--progress-warn: #f59e0b;--ink: #1f2937;--white: #ffffff;--surface-soft: #f9fafb;--divider: #e5e5e5;--btn-border: #dddddd;--btn-border-hover: #cfd4dc;--btn-soft: #f5f5f5;--btn-soft-hover: #ebebeb;--input-text: #1e293b;--chip-border-hover: #cbd5e1;--tabs-config-bg: #e9ecf1;--switch-off: #d1d5db;--auth-tabs-bg: #6b72803d;--role-green: #15803d;--role-green-bg: #f0fdf4;--role-violet: #7c3aed;--role-violet-bg: #f5f3ff;--role-blue: #1d4ed8;--role-blue-bg: #eff6ff;--role-gray: #4b5563;--role-gray-bg: #f3f4f6;--role-amber: #b45309;--role-amber-bg: #fffbeb;--role-cyan: #0e7490;--role-cyan-bg: #ecfeff;--role-pink: #be185d;--role-pink-bg: #fdf2f8;--role-teal: #0f766e;--role-teal-bg: #f0fdfa;--avatar-0: #1d4ed8;--avatar-0-bg: #dbeafe;--avatar-1: #15803d;--avatar-1-bg: #dcfce7;--avatar-2: #b45309;--avatar-2-bg: #fef3c7;--avatar-3: #be185d;--avatar-3-bg: #fce7f3;--avatar-4: #6d28d9;--avatar-4-bg: #ede9fe;--avatar-5: #0e7490;--avatar-5-bg: #cffafe;--avatar-6: #b91c1c;--avatar-6-bg: #fee2e2;--avatar-7: #0f766e;--avatar-7-bg: #ccfbf1;--shadow-card: 0 2px 10px rgba(0, 0, 0, .05);--shadow-bar: 0 1px 4px rgba(0, 0, 0, .04);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .12);--shadow-pop: 0 12px 32px rgba(0, 0, 0, .12);--skeleton-base: #e9edf3;--skeleton-hi: #f5f7fb;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.45;overflow-x:hidden}h1{font-size:1.5rem;font-weight:600;margin:0;color:var(--text-strong)}h2{font-size:1.1rem;font-weight:600;margin:0;color:var(--text-strong)}h3{font-size:.95rem;margin:0}::placeholder{color:var(--placeholder)}a{color:var(--accent)}img{max-width:100%}code,pre{font-family:var(--mono);font-size:.85rem}pre{background:var(--neutral-bg);padding:.75rem;border-radius:8px;overflow:auto;max-height:320px;white-space:pre-wrap;word-break:break-word}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.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}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:8px;z-index:3000;background:var(--primary);color:var(--primary-contrast);padding:8px 12px;border-radius:6px}.skip-link:focus{left:8px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-layout{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:1000;transition:width .3s ease;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px;border-bottom:1px solid var(--border);min-height:64px}.sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0;color:var(--text-strong);text-decoration:none}.sidebar-logo{width:72px;height:auto;flex-shrink:0}.brand{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pin-toggle{display:inline-grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:0;border-radius:8px;background:none;color:var(--text-soft);cursor:pointer;font-size:.9rem}.pin-toggle:hover{background:var(--neutral-bg);color:var(--text-strong)}.sidebar.collapsed .sidebar-header{justify-content:center;padding:15px 0}.sidebar.collapsed .sidebar-brand,.sidebar.collapsed .sidebar-link span,.sidebar.collapsed .sidebar-section-label,.sidebar.collapsed .sidebar-user{display:none}.sidebar-menu{flex:1;overflow-y:auto;padding:8px 10px}.sidebar-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sidebar-section-label{margin:20px 5px 6px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.sidebar-menu>div:first-child .sidebar-section-label{margin-top:8px}.sidebar-link{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;color:var(--text-soft);text-decoration:none;background:none;border:0;font:inherit;font-size:.92rem;cursor:pointer;text-align:left;transition:background .15s ease}.sidebar-link svg{flex-shrink:0;font-size:1rem}.sidebar-link:hover{background:var(--nav-hover)}.sidebar-link.active{background:var(--nav-hover);font-weight:700;color:var(--text-strong)}.sidebar.collapsed .sidebar-link{justify-content:center;padding:10px 0}.sidebar-footer{border-top:1px solid var(--border);padding:8px 10px 12px}.sidebar-user{display:block;padding:4px 10px 6px;font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-content{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh;margin-left:var(--sidebar-w);padding:24px 32px 0;transition:margin-left .3s ease}.main-content:focus{outline:none}.sidebar-collapsed .main-content{margin-left:var(--sidebar-w-collapsed)}.main-body{flex:1;padding-bottom:32px}.app-footer{margin-top:auto;display:flex;justify-content:center;padding:14px 0;border-top:1px solid var(--border);font-size:.8rem;color:var(--subtle)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}.page-header h1{font-size:1.5rem;font-weight:600}.page-header h2{font-size:1.2rem;font-weight:600}.page-header p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}.page-header-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:.9rem}.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.empty-page{text-align:center;padding:64px 16px;display:flex;flex-direction:column;gap:12px;align-items:center}@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{width:var(--sidebar-w-collapsed)}.sidebar .sidebar-header{justify-content:center;padding:15px 0}.sidebar .sidebar-brand{display:flex}.sidebar .sidebar-logo{width:40px}.sidebar .brand,.sidebar .pin-toggle,.sidebar .sidebar-link span,.sidebar .sidebar-section-label,.sidebar .sidebar-user{display:none}.sidebar .sidebar-link{justify-content:center;padding:10px 0}.sidebar .sidebar-menu,.sidebar .sidebar-footer{padding-left:6px;padding-right:6px}.main-content,.sidebar-collapsed .main-content{margin-left:var(--sidebar-w-collapsed);padding:16px 12px 0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid var(--btn-border);background:var(--surface);color:var(--text-soft);font:inherit;font-size:.875rem;font-weight:500;line-height:1.3;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s ease,opacity .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--neutral-bg);border-color:var(--btn-border-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary);padding:9px 18px}.btn-primary:hover:not(:disabled){background:var(--primary);border-color:var(--primary);opacity:.85}.btn-excel{background:var(--excel);color:var(--white);border-color:var(--excel);padding:9px 18px}.btn-excel:hover:not(:disabled){background:var(--excel);border-color:var(--excel);opacity:.85}.btn-danger{background:var(--danger);color:var(--white);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{background:none;border-color:transparent}.btn-small{padding:5px 11px;font-size:.8rem;border-radius:7px}.btn-primary.btn-small,.btn-excel.btn-small{padding:5px 12px}.btn-block{width:100%}.btn-back{align-self:flex-start}.icon-btn{display:inline-grid;place-items:center;background:none;border:0;cursor:pointer;font-size:1.2rem;line-height:1;padding:4px 8px;border-radius:6px;color:inherit}.icon-btn:hover{background:var(--neutral-bg)}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-card);padding:1.1rem 1.2rem;box-shadow:var(--shadow-card)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.card-title{font-weight:600;font-size:1rem;color:var(--text-strong)}.card-title-caps{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:.85rem;font-weight:600;color:var(--text-soft)}.field-inline{margin-bottom:0;flex-direction:row;align-items:center;gap:6px}.field-inline label{font-weight:500;color:var(--muted);font-size:.82rem;white-space:nowrap}.field-error{color:var(--danger)}.input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-input);font:inherit;font-size:.875rem;background:var(--input-bg);color:var(--input-text);transition:border-color .15s ease,background .15s ease}.input:focus{outline:none;border-color:var(--primary);background:var(--surface)}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea.input{min-height:80px;resize:vertical}.field-inline .input{width:auto;min-width:130px}.input[aria-invalid=true]{border-color:var(--danger)}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto;accent-color:var(--primary)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-bar)}.filters-spacer{flex:1}.search-box{position:relative;display:flex;align-items:center;min-width:220px;flex:0 1 280px}.search-box .search-icon{position:absolute;left:10px;color:var(--placeholder);font-size:.8rem;pointer-events:none}.search-box .input{width:100%;padding:8px 32px 8px 30px}.search-box .input::-webkit-search-cancel-button{display:none}.clear-input{position:absolute;right:6px;display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:none;color:var(--subtle);cursor:pointer;font-size:1rem;line-height:1}.clear-input:hover{background:var(--line);color:var(--text-strong)}.table-wrap{position:relative;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card .table-wrap{box-shadow:none;border-radius:10px}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table thead tr{background:var(--head-bg);border-bottom:1px solid var(--border)}.table th{text-align:left;padding:12px 14px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.45px;text-transform:uppercase;white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--neutral-bg);vertical-align:middle;color:var(--text-soft)}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:var(--hover-row)}.table tr:last-child td{border-bottom:0}.table a{color:var(--accent);text-decoration:none;font-weight:500}.table a:hover{text-decoration:underline}.th-sort{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.th-sort:hover{color:var(--text-strong)}.th-sort svg{font-size:.7rem;opacity:.7}.empty-row{text-align:center;color:var(--muted);padding:28px 0;margin:0}.cell-wrap{max-width:320px;overflow-wrap:anywhere}.num{text-align:right;font-variant-numeric:tabular-nums}.table th.num{text-align:right}@media(max-width:640px){.table thead{display:none}.table tr{display:block;border-bottom:1px solid var(--border);padding:6px 0}.table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 12px;text-align:right}.table td:before{content:attr(data-label);color:var(--muted);font-weight:600;text-align:left}.table td.num{text-align:right}}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:500;line-height:1.2;white-space:nowrap}.badge-ok{color:var(--ok);background:var(--ok-bg)}.badge-warn{color:var(--warn);background:var(--warn-bg)}.badge-danger{color:var(--danger);background:var(--danger-bg)}.badge-info{color:var(--info);background:var(--info-bg)}.badge-neutral{color:var(--neutral);background:var(--neutral-bg)}.badge-mono{font-family:var(--mono);font-size:.74rem;border-radius:6px;padding:3px 8px}.badge-live{color:var(--ok);background:var(--ok-bg);border:1px solid var(--ok-border)}.badge-off{color:var(--muted);background:var(--neutral-bg);border:1px solid var(--border)}.notice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;font-size:.9rem}.notice-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.notice-warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.notice-ok{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-border)}.notice-info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}.pagination-info{font-size:.85rem;color:var(--muted)}.pagination-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.page-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;padding:0 12px;border:1px solid var(--btn-border);border-radius:8px;background:var(--surface);color:var(--text-soft);font:inherit;font-size:.85rem;cursor:pointer}.page-btn:hover:not(:disabled):not(.active){background:var(--neutral-bg)}.page-btn:disabled{opacity:.45;cursor:not-allowed}.page-btn.active{background:var(--primary-2);border-color:var(--primary-2);color:var(--white);font-weight:600;cursor:default}.page-btn svg{font-size:.7rem}.page-dots{padding:0 4px;color:var(--subtle)}.pagination-accent .page-btn.active{background:var(--accent);border-color:var(--accent)}@media(max-width:640px){.pagination{justify-content:center}.page-num{display:none}.page-num.active{display:inline-flex}.page-dots{display:none}}.tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:14px;max-width:100%;background:var(--chip-bg);border-radius:10px;overflow-x:auto;align-self:flex-start}.tab{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:7px 22px;border-radius:7px;cursor:pointer;font:inherit;font-size:13px;color:var(--muted);white-space:nowrap;transition:background .15s ease,color .15s ease}.tab:hover{color:var(--text-strong)}.tab-active{background:var(--surface);color:var(--accent-strong);font-weight:600;box-shadow:0 1px 4px #0000001a}.tabs-config{background:var(--tabs-config-bg);padding:8px;gap:6px}.tabs-config .tab{padding:10px 14px;border-radius:8px;font-weight:600;color:var(--neutral);font-size:.875rem}.tabs-config .tab-active{background:var(--surface);color:var(--text-strong)}.view-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg)}.view-btn{display:inline-grid;place-items:center;padding:6px 10px;border:0;border-radius:6px;background:none;color:var(--muted);cursor:pointer;font-size:.85rem}.view-btn:hover{color:var(--text-strong)}.view-btn[aria-pressed=true]{background:var(--primary);color:var(--white)}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;position:relative}.chips-label{font-size:.8rem;color:var(--muted);font-weight:500;margin-right:2px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--chip-bg);color:var(--text-soft);font:inherit;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease,border-color .15s ease}.chip:hover{border-color:var(--chip-border-hover)}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--white)}.chip-more{background:var(--info-bg);border-color:var(--info-border);color:var(--accent)}.chip-more[aria-expanded=true]{background:var(--info-bg-strong)}.chip-more-wrap{position:relative;display:inline-block}.chips-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:280px;max-width:90vw;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop);padding:8px}.chips-dropdown ul{list-style:none;margin:8px 0 0;padding:0;max-height:240px;overflow-y:auto}.chips-dropdown li button{width:100%;text-align:left;padding:7px 10px;border:0;border-radius:6px;background:none;font:inherit;font-size:.85rem;color:var(--text-soft);cursor:pointer}.chips-dropdown li button:hover,.chips-dropdown li button[aria-pressed=true]{background:var(--chip-bg);color:var(--text-strong)}.switch{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem}.switch input{position:absolute;opacity:0;width:42px;height:22px;margin:0;cursor:pointer}.switch-track{position:relative;width:42px;height:22px;border-radius:999px;background:var(--switch-off);transition:background .2s ease;flex-shrink:0}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--white);box-shadow:0 1px 2px #0003;transition:transform .2s ease}.switch input:checked+.switch-track{background:var(--switch-on)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--accent);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.5}.switch-blue input:checked+.switch-track{background:var(--accent-strong)}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;z-index:2000;padding:16px}.modal{background:var(--surface);border-radius:14px;border:.5px solid var(--border);width:min(520px,100%);max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal)}.modal-wide{width:min(900px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:1.1rem 1.5rem;border-bottom:.5px solid var(--divider)}.modal-head h2{font-size:1.05rem}.modal-head .icon-btn{color:var(--muted)}.modal-body{padding:1.25rem 1.5rem;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:.9rem 1.5rem;border-top:.5px solid var(--divider)}.modal-foot .btn:not(.btn-primary):not(.btn-danger):not(.btn-excel){background:var(--btn-soft);border-color:var(--divider)}.modal-foot .btn:not(.btn-primary):not(.btn-danger):not(.btn-excel):hover:not(:disabled){background:var(--btn-soft-hover)}.toast-host{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:4000;max-width:min(380px,calc(100vw - 32px))}.toast{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;color:var(--white);box-shadow:var(--shadow-pop);font-size:.9rem}.toast-success{background:var(--ok)}.toast-error{background:var(--danger)}.toast-info{background:var(--primary)}.spinner-page{min-height:60vh;display:grid;place-items:center}.spinner-inline{display:grid;place-items:center;padding:24px}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-hi) 37%,var(--skeleton-base) 63%);background-size:400% 100%;animation:shimmer 1.1s ease-in-out infinite}.skeleton-w-30{width:30%}.skeleton-w-50{width:50%}.skeleton-w-70{width:70%}.skeleton-w-90{width:90%}.skeleton-lg{height:22px}.skeleton-block{height:120px;border-radius:var(--radius-card)}.skeleton-row td{padding:14px}.skeleton-stack{display:flex;flex-direction:column;gap:10px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.kv{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 20px}.kv-row dt{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.kv-row dd{margin:3px 0 0;overflow-wrap:anywhere;color:var(--text-strong);font-size:.92rem}.meter{width:100%;height:12px}progress{appearance:none;width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;background:var(--neutral-bg);color:var(--accent)}progress::-webkit-progress-bar{background:var(--neutral-bg);border-radius:999px}progress::-webkit-progress-value{background:var(--accent);border-radius:999px}progress::-moz-progress-bar{background:var(--accent);border-radius:999px}progress.progress-ok::-webkit-progress-value{background:var(--switch-on)}progress.progress-ok::-moz-progress-bar{background:var(--switch-on)}progress.progress-warn::-webkit-progress-value{background:var(--progress-warn)}progress.progress-warn::-moz-progress-bar{background:var(--progress-warn)}progress.progress-danger::-webkit-progress-value{background:var(--danger-bright)}progress.progress-danger::-moz-progress-bar{background:var(--danger-bright)}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 16px;background:var(--surface-soft)}.auth-card{width:100%;max-width:400px;background:var(--surface);border-radius:10px;padding:2rem;box-shadow:var(--shadow-card);border:1px solid var(--line-soft)}.auth-logo{display:block;width:110px;height:auto;margin:0 auto 8px}.auth-brand{text-align:center;margin-bottom:18px;font-size:1.3rem}.auth-card h2{text-align:center;margin-bottom:18px;color:var(--text-strong);font-size:1.15rem;font-weight:600}.auth-card form>p{text-align:center;margin:-8px 0 16px;font-size:.9rem}.auth-card .field label{text-align:left}.auth-card .input{background:var(--surface);border-color:var(--switch-off);border-radius:6px;padding:10px 12px}.auth-card .input:focus{border-color:var(--primary)}.auth-card .btn-block{padding:11px 18px;margin-top:6px;font-size:.95rem}.auth-card .notice{margin-bottom:12px}.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:.85rem}.auth-links a{color:var(--muted)}.auth-links a:hover{color:var(--text-strong)}.auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:20px;border-radius:8px;background:var(--auth-tabs-bg)}.auth-tab-slider{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background:var(--surface);border-radius:6px;box-shadow:0 1px 3px #0000001f;transition:transform .25s ease}.auth-tabs[data-active=register] .auth-tab-slider{transform:translate(100%)}.auth-tab{position:relative;z-index:1;text-align:center;padding:7px 0;border-radius:6px;color:var(--text-soft);text-decoration:none;font-size:.9rem;font-weight:500}.auth-tab.active{color:var(--text-strong);font-weight:600}.otp-input{text-align:center;font-size:1.4rem;letter-spacing:.6em;padding-left:calc(12px + .6em)}.auth-footer{font-size:.75rem;color:var(--subtle);text-align:center}.mon-card{border:1.5px solid var(--monitor);padding:16px 18px}.mon-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.mon-head h2{font-size:1rem}.mon-head .muted{font-size:.82rem}.pipeline{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.pipeline-col{display:flex;flex-direction:column;gap:10px;min-height:160px;position:relative}.pipeline-col:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 20px);right:calc(-50% + 15px);height:2px;background:var(--border)}.pipeline-col[data-state=active]:not(:last-child):after{background:var(--info-border)}.mon-step{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.mon-circle{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:.82rem;font-weight:700;position:relative;z-index:1;background:var(--surface);color:var(--muted);border:2px solid var(--border)}.pipeline-col[data-state=active] .mon-circle{background:var(--info-bg);color:var(--accent-strong);border-color:var(--monitor)}.pipeline-col[data-state=fail] .mon-circle{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-accent)}.mon-step-label{font-size:.8rem;font-weight:600;color:var(--text-soft);margin:0}.mon-step-index{display:none}.pipeline-jobs{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--surface-soft);border-radius:10px;flex:1}.pipeline-empty{margin:0;font-size:.78rem;text-align:center}.pipeline-job{display:flex;flex-direction:column;gap:3px;padding:7px 9px;background:var(--surface);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:inherit;font-size:.8rem;transition:border-color .15s ease,transform .15s ease}.pipeline-job:hover{border-color:var(--monitor);transform:translateY(-1px)}.pipeline-job-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;color:var(--text-strong)}.pipeline-job-error{border-color:var(--danger-border);background:var(--danger-bg)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.kpi-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-color:var(--border)}.kpi-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--neutral-bg);color:var(--neutral);flex-shrink:0}.kpi-card[data-tone=ok] .kpi-icon{background:var(--ok-bg);color:var(--ok)}.kpi-card[data-tone=warn] .kpi-icon{background:var(--warn-bg);color:var(--warn)}.kpi-card[data-tone=danger] .kpi-icon{background:var(--danger-bg);color:var(--danger)}.kpi-card[data-tone=info] .kpi-icon{background:var(--info-bg);color:var(--info)}.kpi-card .kpi-label{font-size:12px}.kpi-card .kpi-value{font-size:20px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.kpi-tile{padding:12px 14px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--line-soft)}.kpi-label{color:var(--muted);font-size:.78rem}.kpi-value{font-size:1.5rem;font-weight:700;color:var(--text-strong)}.card-subtitle{display:block;margin:16px 0 10px;font-size:.9rem}.quota-list li{display:flex;flex-direction:column;gap:6px}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted)}.live-dot.on{background:var(--switch-on);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.log-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto;font-family:var(--mono);font-size:.8rem}.log-list li{padding:3px 0;border-bottom:1px dashed var(--border);overflow-wrap:anywhere}.log-error{color:var(--danger)}.log-warn{color:var(--warn)}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:8px 0;border-bottom:1px solid var(--border)}.dropzone-note{font-size:.85rem;color:var(--muted)}.tag-list{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:1100px){.pipeline{grid-template-columns:repeat(7,190px)}}.card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.2rem}.item-card{display:flex;flex-direction:column;gap:8px;padding:1.2rem;transition:transform .15s ease,box-shadow .15s ease}.item-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000012}.item-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.item-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-strong);overflow-wrap:anywhere}.item-card-title a{color:inherit;text-decoration:none}.item-card-title a:hover{text-decoration:underline}.item-card-upper{text-transform:uppercase;letter-spacing:.01em}.item-card-meta{margin:0;font-size:.85rem;color:var(--muted)}.item-card-fields{margin:4px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.85rem}.item-card-fields dt{color:var(--muted)}.item-card-fields dd{margin:0;color:var(--text-soft);text-align:right;overflow-wrap:anywhere}.item-card-actions{margin-top:auto;padding-top:10px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:8px}.item-card-actions .row{justify-content:flex-end}.btn-detalles{width:100%;background:var(--primary);color:var(--white);border-color:var(--primary);padding:.6rem 1rem}.btn-detalles:hover:not(:disabled){background:var(--primary);opacity:.85}.card-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.table td .input{min-width:90px}.table th[scope=row]{text-align:left;padding:11px 14px;font-weight:600;color:var(--text-strong);text-transform:capitalize}.estado-tag{font-size:.82rem;padding:5px 12px}.btn-descargar{background:var(--ink);border-color:var(--ink);color:var(--white);padding:9px 18px}.btn-descargar:hover:not(:disabled){background:var(--ink);border-color:var(--ink);opacity:.85}.line-state{white-space:normal}.filters-block{display:flex;flex-direction:column;gap:10px}.resumen{display:flex;flex-direction:column;gap:6px}.resumen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.card-resumen{display:flex;align-items:center;gap:14px;padding:16px 18px}.card-resumen-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;font-size:1.1rem;background:var(--neutral-bg);color:var(--neutral)}.card-resumen[data-tone=ok] .card-resumen-icon{background:var(--ok-bg);color:var(--ok)}.card-resumen[data-tone=danger] .card-resumen-icon{background:var(--danger-bg);color:var(--danger)}.card-resumen[data-tone=info] .card-resumen-icon{background:var(--info-bg);color:var(--info)}.card-resumen-title{margin:0;font-size:12px;color:var(--muted)}.card-resumen-value{margin:2px 0 0;font-size:1.4rem;font-weight:700;color:var(--text-strong)}.resumen-caption{margin:0;font-size:.8rem}.cd-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;align-items:start}.cd-col{display:flex;flex-direction:column;gap:16px}.cd-card{border-color:var(--border);padding:1.1rem 1.25rem}.cd-card .table-wrap,.cd-card .filters{box-shadow:none}.cd-card-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 10px}.cd-card .card-head .cd-card-title,.cd-fields{margin:0}.cd-field{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--neutral-bg)}.cd-field:last-child{border-bottom:0}.cd-label{font-size:.85rem;color:var(--muted)}.cd-value{margin:0;font-size:.9rem;font-weight:500;color:var(--text-strong);text-align:right;overflow-wrap:anywhere}.cd-toggles{display:flex;flex-direction:column;gap:14px}.cd-toggle{color:var(--text-soft)}.cd-toggle .switch-track{width:44px;height:24px}.cd-toggle .switch-track:after{width:18px;height:18px}.cd-toggle input{width:44px;height:24px}@media(max-width:900px){.cd-layout{grid-template-columns:1fr}}.avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;font-size:.72rem;font-weight:700;letter-spacing:.02em;background:var(--border);color:var(--text-soft)}.avatar-md{width:32px;height:32px}.avatar-sm{width:26px;height:26px;font-size:.65rem}.avatar[data-hue="0"]{background:var(--avatar-0-bg);color:var(--avatar-0)}.avatar[data-hue="1"]{background:var(--avatar-1-bg);color:var(--avatar-1)}.avatar[data-hue="2"]{background:var(--avatar-2-bg);color:var(--avatar-2)}.avatar[data-hue="3"]{background:var(--avatar-3-bg);color:var(--avatar-3)}.avatar[data-hue="4"]{background:var(--avatar-4-bg);color:var(--avatar-4)}.avatar[data-hue="5"]{background:var(--avatar-5-bg);color:var(--avatar-5)}.avatar[data-hue="6"]{background:var(--avatar-6-bg);color:var(--avatar-6)}.avatar[data-hue="7"]{background:var(--avatar-7-bg);color:var(--avatar-7)}.aud-user{display:inline-flex;align-items:center;gap:10px;min-width:0}.aud-user-text{display:flex;flex-direction:column;min-width:0}.aud-user-name{font-weight:600;color:var(--text-strong)}.aud-date{font-size:.8rem;color:var(--muted);white-space:nowrap}.aud-ua{font-size:.78rem;color:var(--muted)}.aud-details summary{display:inline-block;cursor:pointer;list-style:none;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:500;color:var(--accent);background:var(--info-bg);border:1px solid var(--info-border)}.aud-details summary::-webkit-details-marker{display:none}.aud-details[open] summary{background:var(--info-bg-strong)}.aud-details pre{margin-top:8px;max-width:360px;max-height:240px;font-size:.75rem;background:var(--surface-soft);border:1px solid var(--border);box-shadow:var(--shadow-pop)}.inc-desc{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--text-soft)}.inc-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.kpi-card .kpi-label.caps{text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.kpi-card-plain{flex-direction:column;align-items:flex-start;gap:4px;border-left:4px solid var(--border)}.kpi-card-plain .kpi-value{font-size:1.6rem}.kpi-card-plain[data-tone=danger]{border-left-color:var(--danger-accent)}.kpi-card-plain[data-tone=info]{border-left-color:var(--info-accent)}.kpi-card-plain[data-tone=ok]{border-left-color:var(--ok-accent)}.kpi-card-plain[data-tone=warn]{border-left-color:var(--warn-accent)}.bar-cell{display:flex;align-items:center;gap:8px;min-width:120px}.bar-cell progress{flex:1}.config-card{border-color:var(--border);padding:18px 20px}.config-card-title{font-size:1rem;font-weight:600;margin:0 0 12px}.quota-meter{display:flex;flex-direction:column;gap:8px}.quota-meter-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.quota-pct{font-size:1.6rem;font-weight:700;color:var(--text-strong)}.quota-meter progress{height:12px}.rp-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.rp-header .config-card-title{margin:0}.rp-info{display:flex;align-items:flex-start;gap:8px;line-height:1.5;padding:10px 14px;border-radius:10px;margin-bottom:12px;font-size:.8rem;background:var(--info-bg);border:1px solid var(--info-border);color:var(--info)}.rp-info svg{flex-shrink:0;margin-top:2px}.rp-modified{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:10px;margin-bottom:12px;font-size:.85rem;background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn)}.rp-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.rp-table{width:100%;min-width:480px;border-collapse:collapse;font-size:13px}.rp-table thead tr{background:var(--head-bg);border-bottom:1px solid var(--border)}.rp-table th{padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);text-align:center;white-space:nowrap}.rp-table th.col-perm,.rp-table td.col-perm{text-align:left;width:38%}.rp-table tbody th.col-perm{padding:8px 12px;border-bottom:1px solid var(--neutral-bg);font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-soft)}.rp-table td{padding:8px 12px;border-bottom:1px solid var(--neutral-bg);text-align:center;color:var(--text-soft)}.rp-table td.col-check{text-align:center}.mod-row td{background:var(--neutral-bg);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);text-align:left}.mod-row .mod-icon{margin-right:6px;vertical-align:-1px}.perm-row:hover td{background:var(--hover-row)}.rp-col-head{display:inline-flex;align-items:center;justify-content:center;gap:4px}.perm-btn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;border:1px solid transparent;cursor:pointer;font-size:.75rem;transition:transform .12s ease}input.perm-btn{appearance:none;-webkit-appearance:none;margin:0;vertical-align:middle;font:inherit}input.perm-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.perm-btn:hover:not(:disabled){transform:scale(1.1)}.perm-btn:after{content:"✕";font-size:.75rem;font-weight:700;line-height:1}.perm-btn.on:after{content:"✓"}.perm-btn.on{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.perm-btn.off{background:var(--surface);color:var(--muted);border-color:var(--muted)}.perm-btn.locked{opacity:.7;cursor:not-allowed}.perm-btn.locked.off{opacity:.6}.rol-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;background:var(--neutral-bg);color:var(--neutral)}.rol-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.rol-green,.rol-c0{color:var(--role-green);background:var(--role-green-bg)}.rol-violet,.rol-c1{color:var(--role-violet);background:var(--role-violet-bg)}.rol-blue,.rol-c2{color:var(--role-blue);background:var(--role-blue-bg)}.rol-gray,.rol-c3{color:var(--role-gray);background:var(--role-gray-bg);border:1px solid var(--border)}.rol-amber,.rol-c4{color:var(--role-amber);background:var(--role-amber-bg)}.rol-cyan,.rol-c5{color:var(--role-cyan);background:var(--role-cyan-bg)}.rol-pink,.rol-c6{color:var(--role-pink);background:var(--role-pink-bg)}.rol-teal,.rol-c7{color:var(--role-teal);background:var(--role-teal-bg)}.del-btn,.edit-btn{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;border:0;cursor:pointer;font-size:.65rem;vertical-align:middle}.del-btn{background:var(--danger-soft);color:var(--danger)}.del-btn:hover{background:var(--danger-border)}.edit-btn{background:var(--info-bg);color:var(--info)}.edit-btn:hover{background:var(--info-bg-strong)}.nuevo-rol-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:14px;margin-bottom:12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px}.nuevo-rol-form .field{margin-bottom:0;flex:1 1 200px}.nuevo-rol-actions{display:flex;gap:8px;align-items:flex-end}.rol-color-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:0;padding:0;margin:0;flex:1 1 100%}.rol-color-picker legend{font-size:11px;font-weight:600;color:var(--text-soft);margin-bottom:4px;padding:0}.rol-swatch{cursor:pointer}.rol-swatch input:checked+.rol-badge{outline:2px solid currentColor;outline-offset:1px}.rol-swatch input:focus-visible+.rol-badge{outline:3px solid var(--accent);outline-offset:2px}.editar-rol-form{display:flex;flex-direction:column;gap:12px}.editar-rol-form .field{margin-bottom:0}.rp-inactive{margin-top:12px;border:1px solid var(--border);border-radius:10px;padding:8px 12px}.rp-inactive summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-soft)}.rp-inactive ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.rp-inactive li{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.rp-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:12px;margin-top:12px;border-top:.5px solid var(--divider);font-size:.8rem;color:var(--muted)}.config-tabs{margin-bottom:16px}.sidebar-role{display:block;padding:0 10px 6px}.sidebar.collapsed .sidebar-role{display:none}.cell-role{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cell-role .input-compact{width:auto;min-width:140px}.card-warn{border-left:4px solid var(--warn-border)}.sucursal-panel .sucursal-doc{color:var(--warn)}.sucursal-panel .chip{max-width:360px}.chip-score{font-variant-numeric:tabular-nums;opacity:.8;font-size:.75rem}.check-row{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.quota-widget{position:fixed;right:24px;bottom:24px;z-index:500;width:270px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;border-radius:18px;border:1px solid var(--ok-border);background:var(--ok-bg);box-shadow:var(--shadow-pop)}.quota-widget[data-level=warning]{border-color:var(--warn-border);background:var(--warn-bg)}.quota-widget[data-level=exhausted]{border-color:var(--danger-border);background:var(--danger-bg)}.quota-widget-head{display:flex;align-items:center;gap:6px}.quota-widget-title{font-size:12px;font-weight:600;color:var(--text-strong)}.quota-widget-actions{margin-left:auto;display:flex;gap:2px}.quota-icon-btn{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;transition:background .15s ease,color .15s ease}.quota-icon-btn:hover{background:var(--border);color:var(--text-soft)}.quota-widget-body{display:flex;align-items:center;gap:12px}.quota-ring{flex-shrink:0}.quota-ring-track{stroke:var(--border)}.quota-ring-value{stroke:var(--switch-on);transition:stroke-dasharray .7s cubic-bezier(.4,0,.2,1)}.quota-widget[data-level=warning] .quota-ring-value{stroke:var(--progress-warn)}.quota-widget[data-level=exhausted] .quota-ring-value{stroke:var(--danger-bright)}.quota-ring-pct{font-size:12px;font-weight:700;fill:var(--ok)}.quota-widget[data-level=warning] .quota-ring-pct{fill:var(--warn)}.quota-widget[data-level=exhausted] .quota-ring-pct{fill:var(--danger)}.quota-ring-sub{font-size:8px;fill:var(--muted)}.quota-widget-stats{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.quota-figures{display:flex;justify-content:space-between;gap:4px;margin:0}.quota-figures>div{display:flex;flex-direction:column-reverse;align-items:center;text-align:center}.quota-figures dt{font-size:9px;color:var(--muted)}.quota-figures dd{margin:0;font-size:13px;font-weight:700;color:var(--text-strong);font-variant-numeric:tabular-nums}.quota-figures .quota-available{color:var(--ok)}.quota-figures .quota-limit{color:var(--muted)}.quota-reset{margin:0;font-size:9px;color:var(--text-soft)}.quota-fab{position:fixed;right:24px;bottom:24px;z-index:500;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);font-size:16px;cursor:pointer;box-shadow:var(--shadow-pop)}.quota-fab:hover{color:var(--text-strong)}.live-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.report-filters{justify-content:flex-end}.refresh-btn{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--btn-border);border-radius:var(--radius-input);background:var(--surface);color:var(--text-soft);cursor:pointer}.refresh-btn:hover:not(:disabled){border-color:var(--btn-border-hover);color:var(--text-strong)}.refresh-btn.spinning svg{animation:spin .9s linear infinite}.summary-card{display:flex;flex-direction:column;gap:16px}.summary-table{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}.summary-table th,.summary-table td{padding:8px 10px;border:1px solid var(--row-border);text-align:center}.summary-table thead th{background:var(--list-head-bg);color:var(--list-head-text);font-weight:600}.summary-table tbody th{text-align:left;font-weight:600;color:var(--text-strong);background:var(--surface-soft)}.summary-table .left{text-align:left}.summary-table .num{text-align:right}.summary-table .nowrap{white-space:nowrap}.summary-table-list tbody tr:hover{background:var(--hover-row)}.share-c0{stroke:var(--accent);background:var(--accent)}.share-c1{stroke:var(--switch-on);background:var(--switch-on)}.share-c2{stroke:var(--progress-warn);background:var(--progress-warn)}.share-c3{stroke:var(--danger-bright);background:var(--danger-bright)}.share-c4{stroke:var(--role-violet);background:var(--role-violet)}.share-c5{stroke:var(--role-cyan);background:var(--role-cyan)}.share-c6{stroke:var(--role-pink);background:var(--role-pink)}.share-c7{stroke:var(--muted);background:var(--muted)}.failed-total{margin:10px 0 0;font-size:.85rem;color:var(--muted)}.botones-acciones{display:flex;gap:10px;flex-wrap:wrap}.productos-pedidos .card-title{font-size:1.05rem}.pedido-total{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;margin:12px 0 0}@media(max-width:720px){.quota-widget{right:12px;bottom:12px;width:calc(100% - 24px);max-width:270px}.summary-table{display:block;overflow-x:auto}}.top-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.top-item{display:flex;align-items:center;gap:12px}.top-rank{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:var(--chip-bg);color:var(--text-soft)}.top-rank-1{background:var(--warn-bg);color:var(--warn)}.top-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.top-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.top-name{font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-qty{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-strong)}.top-sub{display:flex;align-items:center;gap:10px;font-size:.8rem}.top-meter{flex:1;height:8px;appearance:none;border:0;border-radius:999px;overflow:hidden;background:var(--line-soft)}.top-meter::-webkit-progress-bar{background:var(--line-soft)}.top-meter::-webkit-progress-value{background:var(--accent);border-radius:999px}.top-meter::-moz-progress-bar{background:var(--accent);border-radius:999px}.share-chart{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.share-donut-wrap{position:relative;flex-shrink:0}.share-donut{display:block}.share-track{stroke:var(--line-soft)}.share-center{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.share-center-value{font-size:1.7rem;font-weight:700;color:var(--text-strong);line-height:1.1}.share-center-label{font-size:.75rem;color:var(--muted)}.share-legend{flex:1;min-width:220px;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:.88rem}.share-legend li{display:flex;flex-direction:column;gap:4px}.share-legend-line{display:flex;align-items:center;gap:8px}.share-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.share-name{flex:1;min-width:0;font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-figures{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.share-bar{width:100%;height:6px;appearance:none;border:0;border-radius:999px;overflow:hidden;background:var(--line-soft)}.share-bar::-webkit-progress-bar{background:var(--line-soft)}.share-bar.share-c0::-webkit-progress-value{background:var(--accent)}.share-bar.share-c1::-webkit-progress-value{background:var(--switch-on)}.share-bar.share-c2::-webkit-progress-value{background:var(--progress-warn)}.share-bar.share-c3::-webkit-progress-value{background:var(--danger-bright)}.share-bar.share-c4::-webkit-progress-value{background:var(--role-violet)}.share-bar.share-c5::-webkit-progress-value{background:var(--role-cyan)}.share-bar.share-c6::-webkit-progress-value{background:var(--role-pink)}.share-bar.share-c7::-webkit-progress-value{background:var(--muted)}.share-bar.share-c0::-moz-progress-bar{background:var(--accent)}.share-bar.share-c1::-moz-progress-bar{background:var(--switch-on)}.share-bar.share-c2::-moz-progress-bar{background:var(--progress-warn)}.share-bar.share-c3::-moz-progress-bar{background:var(--danger-bright)}.share-bar.share-c4::-moz-progress-bar{background:var(--role-violet)}.share-bar.share-c5::-moz-progress-bar{background:var(--role-cyan)}.share-bar.share-c6::-moz-progress-bar{background:var(--role-pink)}.share-bar.share-c7::-moz-progress-bar{background:var(--muted)}.pipeline-skel-col{display:flex;flex-direction:column;align-items:center;gap:12px}.pipeline-skel-col .skeleton{margin:0 auto}.pipeline-skel-col .skel-circle{width:48px;height:48px;border-radius:50%}.pipeline-skel-col .skeleton-block{width:100%;height:150px}.btn-oc{display:inline-flex;align-items:center;justify-content:center;gap:6px}.item-card-actions .btn-oc{width:100%;background:var(--white);color:var(--text-strong);border:1px solid var(--btn-border);padding:.6rem 1rem}.item-card-actions .btn-oc:hover:not(:disabled){background:var(--btn-soft)}.mon-title-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mon-title-group h2{margin:0}.catalog-aside-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}.catalog-aside-main{min-width:0}.filtros-aside{padding:16px;position:sticky;top:16px;border-color:var(--border)}.filtros-title{display:flex;align-items:center;gap:8px;font-size:1rem;margin:0 0 14px;color:var(--text-strong)}.filtros-form{display:flex;flex-direction:column;gap:12px}.filtros-field{display:flex;flex-direction:column;gap:6px}.filtros-field label{font-size:.82rem;font-weight:500;color:var(--muted)}.filtros-field .input{width:100%}.filtros-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.filtros-actions .btn{width:100%;justify-content:center}.cd-head-meta{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem}.btn-sucursales{background:var(--surface);border-color:var(--btn-border)}.btn-sucursales[aria-expanded=true]{background:var(--nav-hover)}.cv-panel{display:flex;flex-direction:column;gap:12px}.cv-title{font-size:1rem;margin:0;color:var(--text-strong)}.cv-select{display:flex;flex-direction:column;gap:6px}.cv-select label{font-size:.78rem;color:var(--muted)}.cv-select .input{width:100%}.cv-select small{display:block}.cv-warn{color:var(--warn)}.cv-note{margin:0;padding:8px 10px;border-radius:8px;background:var(--warn-bg);color:var(--warn);font-size:.85rem}.cv-divider{border:0;border-top:1px solid var(--line-soft);margin:4px 0;width:100%}.cv-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.cv-kpi{padding:10px 12px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--line-soft)}.cv-kpi dt{font-size:.78rem;color:var(--muted)}.cv-kpi dd{margin:2px 0 0;font-size:1.15rem;font-weight:700;color:var(--text-strong)}.config-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.config-card-head .config-card-title{margin:0}.config-card-note{margin:0;font-size:.85rem}.cambiar-rol{display:inline-flex;align-items:center;gap:8px}.cambiar-rol-label{font-size:.8rem;color:var(--muted);white-space:nowrap}.aud-changes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:.82rem}.aud-field{color:var(--muted)}.aud-value{color:var(--text-strong);overflow-wrap:anywhere}.aud-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:8px 0;font-size:.8rem}.aud-meta dt{color:var(--muted)}.aud-meta dd{margin:0;overflow-wrap:anywhere}@media(max-width:900px){.catalog-aside-layout{grid-template-columns:1fr}.filtros-aside{position:static}}.lookup{position:relative}.lookup-input{padding-right:34px}.lookup-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);cursor:pointer;padding:6px;border-radius:50%;display:grid;place-items:center}.lookup-clear:hover{background:var(--chip-bg);color:var(--text-strong)}.lookup-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);box-shadow:var(--shadow-pop)}.lookup-option{padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--text-strong)}.lookup-option.active{background:var(--info-bg)}.lookup-note{padding:8px 10px;color:var(--muted);font-size:.88rem}.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;align-items:start}.cat-panel{min-width:0}.cat-filters{flex-wrap:wrap}.cat-nombre{font-weight:500;color:var(--text-strong)}.cat-count{font-variant-numeric:tabular-nums;color:var(--text-soft)}.cat-actions{flex-wrap:nowrap}.cat-select-error{display:block;color:var(--danger)}@media(max-width:520px){.cat-grid{grid-template-columns:1fr}}.job-history .jh-id{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.job-history .jh-stage{color:var(--muted);font-size:.85rem}.job-modal-title{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.job-modal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.job-modal-actions{display:flex;gap:8px;flex-wrap:wrap}.job-origin{margin:0 0 12px;font-size:.8rem;color:var(--muted);word-break:break-word}.job-detail{display:flex;flex-direction:column;gap:16px;min-width:0}.job-section-head{margin:0 0 8px}.job-section-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:4px 0;background:none;border:0;cursor:pointer;font:inherit;text-align:left;font-size:.75rem;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}.job-section-toggle:hover{color:var(--text-strong)}.job-section-chevron{font-size:.6rem;color:var(--subtle)}.job-section-body{min-width:0}.job-pipe{display:flex;list-style:none;margin:0;padding:0 0 8px;overflow-x:auto}.job-pipe-step{position:relative;flex:0 0 88px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.job-pipe-step:not(:last-child):after{content:"";position:absolute;top:14px;left:calc(50% + 16px);width:calc(100% - 32px);height:2px;background:var(--border)}.job-pipe-step.is-done:not(:last-child):after{background:var(--ok-border)}.job-pipe-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;border:2px solid var(--switch-off);background:var(--surface-soft);color:var(--switch-off)}.job-pipe-step.is-done .job-pipe-dot{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.job-pipe-step.is-active .job-pipe-dot{border-color:var(--info);background:var(--info-bg);color:var(--info)}.job-pipe-step.is-failed .job-pipe-dot{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.job-pipe-label{font-size:.65rem;line-height:1.2;color:var(--muted);word-break:break-word}.job-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.job-summary-card{background:var(--surface-soft);border-radius:8px;padding:8px 12px;min-width:0}.job-summary-card dt{font-size:.65rem;color:var(--subtle);margin-bottom:2px}.job-summary-card dd{margin:0;font-size:.875rem;font-weight:600;color:var(--text-strong);word-break:break-word}.job-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;padding:10px 14px}.job-error p{margin:0}.job-error-code{font-size:.85rem;font-weight:600;color:var(--danger)}.job-error-msg{margin-top:4px;font-size:.8rem;color:var(--danger-hover);white-space:pre-wrap}.job-error-stage{margin-top:4px;font-size:.7rem;color:var(--muted)}.job-attempts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.job-attempt{border:.5px solid var(--border);border-radius:8px;padding:10px 14px;background:var(--surface)}.job-attempt-ok{background:var(--ok-bg)}.job-attempt-danger{background:var(--danger-bg)}.job-attempt-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;margin-bottom:4px}.job-attempt-head .muted{font-size:.72rem}.job-attempt-badge{margin-left:auto}.job-attempt-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.72rem;color:var(--muted)}.job-attempt-error{margin:4px 0 0;font-size:.72rem;color:var(--danger-hover);word-break:break-word}.job-pedido-ia{display:inline-flex;flex-direction:column;gap:2px}.job-pedido-motivo{font-size:.72rem}.job-registros-notice{margin:0 0 8px}.job-registro-failed>td{background:var(--danger-bg)}.job-registro-failed>td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.job-registro-error{color:var(--danger-hover);font-size:.78rem;overflow-wrap:anywhere}@media(max-width:640px){.job-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.jfj-idle{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.jfj-idle p{margin:0}.jfj-viewer{display:grid;gap:14px;min-width:0}.jfj-truncated{display:grid;gap:10px;justify-items:start}.jfj-counts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.jfj-count{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-soft)}.jfj-count-value{font-size:1.15rem;font-weight:700;color:var(--text-strong)}.jfj-count-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.jfj-groups{max-height:320px;overflow:auto}.jfj-more{margin:8px 14px}.jfj-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.jfj-toolbar .search-box{flex:1 1 220px;min-width:0}.jfj-hits{font-size:.85rem}.jfj-tree{max-height:420px;overflow:auto;padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-soft);font-family:var(--mono);font-size:.8rem;line-height:1.5}.jt-root,.jt-list{list-style:none;margin:0;padding:0}.jt-list{padding-left:16px;border-left:1px dashed var(--line);margin-left:4px}.jt-branch>details>summary{cursor:pointer;color:var(--text-soft)}.jt-branch>details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jt-leaf{overflow-wrap:anywhere}.jt-key{color:var(--text-strong);font-weight:600}.jt-meta{color:var(--muted)}.jt-string{color:var(--ok)}.jt-number{color:var(--info)}.jt-boolean{color:var(--warn)}.jt-null{color:var(--muted);font-style:italic}.jt-hit{background:var(--warn-bg);border-radius:3px;outline:1px solid var(--warn-border)}.jt-more{padding:2px 0}.jxl-name{overflow-wrap:anywhere}.jxl-error{display:block;margin-top:4px;font-size:.78rem;color:var(--danger);overflow-wrap:anywhere}.jxl-wrap .btn{white-space:nowrap}.jfj-panel{display:grid;gap:12px;min-width:0}.jfj-panel [role=tabpanel]{min-width:0}.jfj-reasons{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
