@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--success-color: #059669;--warning-color: #d97706;--danger-color: #dc2626;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--border-radius: 12px;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--shadow-md: 0 6px 16px -2px rgb(0 0 0 / .12), 0 3px 6px -2px rgb(0 0 0 / .06);--shadow-lg: 0 16px 24px -4px rgb(0 0 0 / .14), 0 6px 12px -2px rgb(0 0 0 / .08);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 264px;--sidebar-rail-width: 72px;--control-height: 38px;--mobile-topbar-height: 54px;--bg: var(--gray-50);--surface: #ffffff;--text: var(--gray-900);--muted: var(--gray-500);--border: var(--gray-200);--red: var(--danger-color);--blue: var(--primary-color);--orange: var(--warning-color);--green: var(--success-color)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--gray-50);color:var(--gray-900);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,#root{height:100%}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:linear-gradient(180deg,#0b1220,#122033 55%,#0b1220);color:#cbd5e1;z-index:1000;overflow:hidden;display:flex;flex-direction:column;border-right:1px solid rgba(148,163,184,.12);box-shadow:4px 0 28px #02061759;transition:width var(--transition-smooth)}.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.5rem .6rem 1rem}.sidebar *,.sidebar a{color:inherit}.sidebar-header{display:flex;align-items:center;gap:.65rem;padding:1rem .85rem;flex-shrink:0;border-bottom:1px solid rgba(148,163,184,.14)}.sidebar-toggle{width:28px;height:28px;flex-shrink:0;border:none;border-radius:7px;background:transparent;color:#7c8ba1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all var(--transition-fast)}.sidebar-toggle:hover{background:#94a3b81f;color:#fff}.sidebar-logo{width:34px;height:34px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,#22d3ee,#0891b2);display:flex;align-items:center;justify-content:center;font-size:1.05rem;color:#04212b;box-shadow:0 4px 12px #22d3ee47}.sidebar-logo svg{color:#04212b}.sidebar-brand{flex:1;min-width:0;overflow:hidden}.sidebar-header h1{font-size:.94rem;font-weight:700;letter-spacing:-.01em;color:#fff;white-space:nowrap;margin-bottom:0}.sidebar nav::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar-thumb{background:#94a3b838;border-radius:3px}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#94a3b86b}.sidebar-header p{font-size:.66rem;color:#7c8ba1;letter-spacing:.02em;white-space:nowrap}.env-badge{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.env-badge:before{content:"·";margin:0 .3rem;font-weight:400;color:#7c8ba1}.nav-section-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:#7c8ba1;padding:.9rem .65rem .3rem;-webkit-user-select:none;user-select:none}.sidebar nav>div:first-child .nav-section-label{padding-top:.35rem}.nav-menu{list-style:none}.nav-item{margin-bottom:.1rem}button.nav-link{width:100%;background:none;border:none;font-family:inherit;text-align:left}.nav-chevron{width:12px;font-size:.68rem;flex-shrink:0;opacity:.5;transition:transform var(--transition-fast)}.nav-group.open>.nav-link .nav-chevron{transform:rotate(90deg)}.nav-link.parent-active{color:#fff}.nav-link.parent-active .nav-icon{opacity:1}.nav-sub{display:none;list-style:none;position:relative;margin:.1rem 0 .25rem;padding-left:1.55rem}.nav-group.open .nav-sub{display:block}.nav-sub:before{content:"";position:absolute;left:1.05rem;top:.2rem;bottom:.2rem;width:1px;background:#94a3b829}.nav-sub .nav-link{font-size:.8rem;padding:.38rem .6rem}.nav-sub .nav-link.active:before{left:-.5rem;height:14px}.sidebar-footer{flex-shrink:0;border-top:1px solid rgba(148,163,184,.12);padding:.7rem .6rem}.sidebar-status{display:flex;align-items:center;gap:.45rem;padding:.45rem .5rem 0;font-size:.67rem;color:#7c8ba1;white-space:nowrap}.sidebar-status .app-version{margin-left:auto;opacity:.75}.sidebar-user{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:9px;overflow:hidden;transition:background-color var(--transition-fast)}.sidebar-user:hover{background:#94a3b81a}.sidebar-avatar{width:30px;height:30px;flex-shrink:0;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff}.sidebar-user-meta{flex:1;min-width:0;overflow:hidden}.sidebar-user-name,.sidebar-user-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-name{font-size:.78rem;font-weight:600;color:#e2e8f0}.sidebar-user-email{font-size:.66rem;color:#7c8ba1}.nav-logout{background:none;border:none;padding:0;flex-shrink:0;display:flex;align-items:center;font-family:inherit;font-size:.85rem;color:#7c8ba1;cursor:pointer;transition:color var(--transition-fast)}.nav-logout:hover{color:#fca5a5}.nav-logout .nav-label{display:none}.sidebar-footer .dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px #10b98129}.sidebar.collapsed{width:var(--sidebar-rail-width)}.sidebar.collapsed .sidebar-brand,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-chevron,.sidebar.collapsed .nav-sub,.sidebar.collapsed .sidebar-user-meta,.sidebar.collapsed .footer-text{display:none}.sidebar.collapsed .sidebar-header{flex-direction:column;gap:.55rem;padding:1rem .5rem}.sidebar.collapsed,.sidebar.collapsed nav{overflow:visible}.sidebar.collapsed nav{padding:.5rem .55rem}.sidebar.collapsed .nav-section-label{height:1px;padding:0;margin:.6rem .4rem;background:#94a3b81f;font-size:0;overflow:hidden}.sidebar.collapsed nav>div:first-child .nav-section-label{display:none}.sidebar.collapsed .nav-link{justify-content:center;padding:.6rem 0}.sidebar.collapsed .nav-link .nav-icon{margin-right:0}.sidebar.collapsed .sidebar-user{flex-direction:column;gap:.45rem;padding:.45rem 0}.sidebar.collapsed .sidebar-status{justify-content:center;padding:.5rem 0 0}.sidebar.collapsed .nav-link:hover:after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);z-index:50;background:#1e293b;color:#f1f5f9;font-size:.74rem;font-weight:500;padding:.32rem .6rem;border-radius:6px;white-space:nowrap;border:1px solid rgba(148,163,184,.2);box-shadow:0 6px 18px #02061780}.nav-link{display:flex;align-items:center;gap:.7rem;padding:.5rem .65rem;color:#cbd5e1;text-decoration:none;border-radius:9px;transition:background-color var(--transition-fast),color var(--transition-fast);cursor:pointer;position:relative;font-weight:500;font-size:.855rem;white-space:nowrap}.nav-link:hover{background-color:#94a3b81a;color:#fff}.nav-link.active{background:#22d3ee24;color:#fff;font-weight:600}.nav-link.active:before{content:"";position:absolute;left:-.6rem;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:#22d3ee}.sidebar.collapsed .nav-link.active:before{left:-.55rem}.nav-link .nav-icon{width:18px;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.72}.nav-link .nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-link:hover .nav-icon{opacity:1}.nav-link.active .nav-icon{opacity:1;color:#22d3ee}.main-content{margin-left:var(--sidebar-width);padding:2.5rem;min-height:100vh;background:linear-gradient(to bottom,#f9fafb,#fff);transition:margin-left var(--transition-smooth)}.main-content.collapsed{margin-left:var(--sidebar-rail-width)}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:50px;font-size:.875rem;font-weight:700;letter-spacing:.3px;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(255,255,255,.3);text-transform:capitalize}.status-badge.online{background:linear-gradient(135deg,#dcfce7,#a7f3d0);color:#065f46}.status-badge.offline{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#7f1d1d}.status-badge.processing{background:linear-gradient(135deg,#fef3c7,#fcd34d);color:#78350f}.status-badge.checking,.status-badge.unknown{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:var(--gray-600)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;animation:fadeIn var(--transition-smooth)}.metric-card{background:#fff;border-radius:var(--border-radius);padding:1.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:all var(--transition-smooth);position:relative;overflow:hidden}.metric-card{border-top:3px solid var(--gray-200)}.metric-card--primary{border-top-color:var(--primary-color)}.metric-card--success{border-top-color:var(--success-color)}.metric-card--warning{border-top-color:var(--warning-color)}.metric-card--danger{border-top-color:var(--danger-color)}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.metric-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.metric-title{font-size:.8rem;font-weight:700;color:var(--gray-600);text-transform:uppercase;letter-spacing:.08em}.metric-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all var(--transition-fast)}.metric-icon.primary{background:linear-gradient(135deg,#dbeafe,#93c5fd);color:#0c4a6e}.metric-icon.success{background:linear-gradient(135deg,#dcfce7,#a7f3d0);color:#065f46}.metric-icon.warning{background:linear-gradient(135deg,#fef3c7,#fcd34d);color:#78350f}.metric-icon.danger{background:linear-gradient(135deg,#fee2e2,#fca5a5);color:#7f1d1d}.metric-value{font-size:2.25rem;font-weight:800;color:var(--gray-900);margin-bottom:.5rem;letter-spacing:-1.2px}.metric-change{font-size:.76rem;display:inline-flex;align-items:center;gap:.35rem;color:var(--gray-600);font-weight:600;background:var(--gray-100);padding:.2rem .6rem;border-radius:999px}.metric-change.positive{color:var(--success-color);background:#ecfdf5}.metric-change.negative{color:var(--danger-color);background:#fef2f2}.card{background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow:hidden;margin-bottom:1.5rem;transition:all var(--transition-smooth)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:1.5rem 1.5rem 0;display:flex;justify-content:space-between;align-items:center}.card-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);padding:1.5rem 1.5rem 0;letter-spacing:-.5px}.card-content{padding:1.5rem}.card--compact{margin-bottom:1rem}.card--compact>.card-content{padding:.75rem 1rem}.queues-reset-toggle{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.75rem;padding:0;border:none;background:none;font-family:inherit;font-size:.78rem;font-weight:600;color:var(--gray-500);cursor:pointer;transition:color var(--transition-fast)}.queues-reset-toggle:hover{color:var(--primary-color)}.queues-reset-toggle svg{font-size:.6rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width var(--transition-fast),height var(--transition-fast)}.btn:active:before{width:300px;height:300px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:0 2px 6px #2563eb4d}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.btn-success{background-color:var(--success-color);color:#fff;box-shadow:0 2px 6px #0596694d}.btn-success:hover:not(:disabled){background-color:#047857;transform:translateY(-1px);box-shadow:0 4px 12px #05966966}.btn-warning{background-color:var(--warning-color);color:#fff;box-shadow:0 2px 6px #d977064d}.btn-warning:hover:not(:disabled){background-color:#b45309;transform:translateY(-1px);box-shadow:0 4px 12px #d9770666}.btn-danger{background-color:var(--danger-color);color:#fff;box-shadow:0 2px 6px #dc26264d}.btn-danger:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.btn-outline{background-color:transparent;border:1px solid var(--gray-300);color:var(--gray-700);transition:all var(--transition-fast)}.btn-outline:hover:not(:disabled){background-color:var(--gray-50);border-color:var(--primary-color);color:var(--primary-color)}.btn-secondary{background-color:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-700)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-200);transform:translateY(-1px)}.btn-ghost{background-color:transparent;border:1px solid transparent;color:var(--gray-500)}.btn-ghost:hover:not(:disabled){background-color:var(--gray-100);color:var(--gray-700);transform:translateY(-1px)}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:.5rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200);transition:all var(--transition-fast)}.table th{background:linear-gradient(to right,#f9fafb,#f3f4f6);font-weight:700;color:var(--gray-800);font-size:.75rem;letter-spacing:1px;text-transform:uppercase;border-bottom:2px solid var(--primary-color)}.table td{font-size:.875rem;color:var(--gray-700);vertical-align:middle}.table tbody tr{transition:all var(--transition-fast);background:#fff}.table tbody tr:hover{background-color:#f9fafb;box-shadow:inset 0 0 0 1px var(--gray-200)}.table tbody tr:nth-child(2n){background-color:#fafbfc}.table tbody tr:nth-child(2n):hover{background-color:#f3f4f6}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--primary-color);background-color:#2563eb0d}.data-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid var(--gray-200)}.table-file-link{word-break:break-all}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:50px;font-size:.72rem;font-weight:700;letter-spacing:.04em;transition:all var(--transition-fast);border:1px solid rgba(255,255,255,.35);box-shadow:0 2px 8px #0f172a14;white-space:nowrap;text-transform:capitalize}.badge.success{background:linear-gradient(135deg,#ecfdf5,#bbf7d0);color:#065f46;border-color:#10b9812e}.badge.warning{background:linear-gradient(135deg,#fffbeb,#fde68a);color:#78350f;border-color:#f59e0b2e}.badge.danger{background:linear-gradient(135deg,#fef2f2,#fecaca);color:#7f1d1d;border-color:#ef44442e}.badge.info,.badge.primary{background:linear-gradient(135deg,#eff6ff,#bfdbfe);color:#0c4a6e;border-color:#3b82f62e}.badge.secondary{background:linear-gradient(135deg,#f8fafc,#e5e7eb);color:var(--gray-700);border-color:#94a3b82e}.badge:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0f172a1f}.health-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:1.1rem 1.25rem;transition:box-shadow var(--transition-smooth),transform var(--transition-smooth)}.health-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.settings-panel{background:#fff;border:1px solid var(--gray-200);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow:hidden;max-width:1080px}.settings-section{display:flex;gap:2.5rem;padding:1.6rem 1.75rem;border-bottom:1px solid var(--gray-200)}.settings-section:last-child{border-bottom:none}.settings-section-head{width:260px;flex-shrink:0}.settings-section-title{font-size:1rem;font-weight:700;color:var(--gray-900);letter-spacing:-.2px}.settings-section-desc{font-size:.85rem;color:var(--gray-500);margin-top:.35rem;line-height:1.55}.settings-section-body{flex:1;min-width:0}@media (max-width: 860px){.settings-section{flex-direction:column;gap:.85rem}.settings-section-head{width:100%}}.settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.5rem;align-items:start}.settings-nav{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-sm);padding:.6rem;position:sticky;top:1rem}.settings-nav-group+.settings-nav-group{margin-top:.4rem}.settings-nav-group-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-400);padding:.55rem .6rem .3rem}.settings-nav-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .65rem;border:none;background:none;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--gray-600);cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.settings-nav-item:hover{background:var(--gray-50, #f9fafb);color:var(--gray-900)}.settings-nav-item.active{background:var(--primary-50, #eff6ff);color:var(--primary-color);font-weight:600}.settings-nav-item .settings-nav-icon{display:inline-flex;width:18px;justify-content:center}.settings-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-sm);padding:1.5rem 1.6rem}.settings-card+.settings-card{margin-top:1.25rem}.settings-card-title{font-size:1.1rem;font-weight:700;color:var(--gray-900);letter-spacing:-.2px}.settings-card-desc{font-size:.85rem;color:var(--gray-500);margin:.3rem 0 1.25rem;line-height:1.55}.settings-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem 1.25rem}.settings-toggle-row{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem 0;font-size:.9rem;color:var(--gray-700);cursor:pointer}.settings-toggle-row input{margin-top:3px}.settings-card--flush{padding:0}.settings-card--flush .settings-card-head{padding:1.4rem 1.75rem 1.2rem;border-bottom:1px solid var(--gray-200)}.settings-card--flush .settings-card-desc{margin:.3rem 0 0}.settings-card--flush .settings-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:1.05rem 1.75rem;border-top:1px solid var(--gray-200);border-radius:0 0 12px 12px;background:linear-gradient(180deg,#fbfdff,#f6f8fb)}@media (max-width: 820px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static}}.tabs{display:flex;gap:0;border-bottom:2px solid var(--gray-200);margin-bottom:1.5rem;background:#fff}.tab{padding:.875rem 1.5rem;cursor:pointer;border:none;background:none;color:var(--gray-600);font-weight:600;font-size:.875rem;border-bottom:3px solid transparent;transition:all var(--transition-fast);position:relative;margin-bottom:-2px}.tab:hover{color:var(--gray-900);background:#2563eb0d}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.filter-pills{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:10px}.filter-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border:none;background:none;border-radius:8px;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--gray-600);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.filter-pill:hover{color:var(--gray-900)}.filter-pill.active{background:#fff;color:var(--primary-color);box-shadow:0 1px 3px #0f172a1f}.filter-pill-count{min-width:20px;padding:0 .35rem;border-radius:20px;background:var(--gray-200);color:var(--gray-600);font-size:.7rem;font-weight:700;text-align:center}.filter-pill.active .filter-pill-count{background:#2563eb1f;color:var(--primary-color)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.8125rem;color:var(--muted)}.table-footer .pagination{padding:.65rem 0 0}.table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:10px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);font-size:.95rem;box-shadow:0 1px 2px #0f172a0f}.table-action-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px) scale(1.04);box-shadow:0 6px 16px #2563eb38}.table-action-btn:active{transform:scale(.95)}.table-action-btn:disabled{opacity:.4;cursor:not-allowed}.table-action-btn:disabled:hover{background:#fff;color:var(--gray-600);border-color:var(--gray-300);transform:none;box-shadow:0 1px 2px #0f172a0f}.table-action-btn.danger:hover{background:var(--danger-color, #dc2626);border-color:var(--danger-color, #dc2626);box-shadow:0 6px 16px #dc262638}.table td:last-child .btn{min-width:32px;min-height:32px;padding:0 .7rem;border-radius:10px;box-shadow:0 1px 2px #0f172a0f}.table td:last-child .btn-outline,.table td:last-child .btn-danger{border-color:var(--gray-300)}.table td:last-child .btn-outline:hover:not(:disabled),.table td:last-child .btn-danger:hover:not(:disabled){transform:translateY(-1px)}.table td:last-child .btn-outline:hover:not(:disabled){box-shadow:0 6px 16px #2563eb1f}.table td:last-child .btn-danger:hover:not(:disabled){box-shadow:0 6px 16px #dc262629}.modal-overlay{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;background-color:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:4vh 1rem;animation:fadeIn var(--transition-smooth)}.modal-content{background:#fff;padding:0;border-radius:16px;width:90%;max-width:600px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #0f172a47;border:1px solid rgba(148,163,184,.18);animation:modalPop .22s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.modal-content{animation:none}}.modal-body{padding:1.5rem;overflow-y:auto;flex:1 1 auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0;padding:1.15rem 1.5rem;border-bottom:1px solid var(--gray-200);background:linear-gradient(180deg,#fff,#f8fafc)}.modal-title{font-size:1.2rem;font-weight:700;color:var(--gray-900);letter-spacing:-.4px;line-height:1.25}.modal-close{background:#f1f5f9e6;border:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;color:var(--gray-500);border-radius:999px;line-height:1;transition:all var(--transition-fast);flex-shrink:0}.modal-close:hover{color:var(--gray-800);background-color:var(--gray-100);transform:scale(1.06)}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;align-items:center;flex-shrink:0;padding:1rem 1.5rem;border-top:1px solid var(--gray-200);background:linear-gradient(180deg,#fbfdff,#f6f8fb)}.modal-content .form-group{margin-bottom:1.25rem}.modal-content .form-input,.modal-content .form-select,.modal-content .form-textarea{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--gray-300);box-shadow:inset 0 1px 2px #0f172a0a}.modal-content .form-input:focus,.modal-content .form-select:focus,.modal-content .form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1f}.modal-content .btn{border-radius:10px}.modal-content .btn-secondary{background:#f8fafc;border-color:var(--gray-200);color:var(--gray-700)}.modal-content .btn-danger{box-shadow:0 8px 18px #dc26262e}.modal-content .btn-danger:hover:not(:disabled){box-shadow:0 10px 22px #dc26263d}.modal-content .btn+.btn{margin-left:0}.modal-content .btn:focus-visible{outline-offset:3px}.form-group{margin-bottom:1.5rem}.form-label,.filter-field>label{display:block;margin-bottom:.4rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gray-500)}.form-input,.form-select,.form-textarea,.filter-select,.filter-input{border:1px solid var(--gray-300);border-radius:8px;background-color:#fff;color:var(--gray-800);font-family:inherit;transition:all var(--transition-fast)}.form-input:hover,.form-select:hover,.form-textarea:hover,.filter-select:hover,.filter-input:hover{border-color:var(--gray-400)}.form-input:focus,.form-select:focus,.form-textarea:focus,.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-input:disabled,.form-select:disabled,.filter-select:disabled,.filter-input:disabled{background-color:var(--gray-100);color:var(--gray-500);cursor:not-allowed}.form-select,.filter-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:.85rem;cursor:pointer}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;font-size:1rem}.form-select{padding-right:2.25rem;background-position:right .75rem center}.form-textarea{resize:vertical;min-height:100px}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--gray-300);border-radius:50%;border-top-color:var(--primary-color);border-right-color:var(--primary-color);animation:spin 1.2s cubic-bezier(.4,0,.6,1) infinite}.loading-spinner.large{width:40px;height:40px;border-width:3px}.loading-center,.loading-spinner-wrap{display:flex;justify-content:center;align-items:center;padding:3rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-spin{animation:spin 1.2s cubic-bezier(.4,0,.6,1) infinite}.skeleton{position:relative;overflow:hidden;background:var(--gray-200, #e5e7eb);vertical-align:middle}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skeleton:after{animation:none}}.filters-bar{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;margin:1.25rem 0 .85rem}.filter-field{display:flex;flex-direction:column;gap:5px}.filter-field>label{margin-bottom:0;padding-left:2px}.filter-select,.filter-input,.search-bar,.filters-bar .btn{height:var(--control-height)}.filter-select,.filter-input{padding:0 .85rem;font-size:.875rem;box-shadow:0 1px 2px #0f172a0a}.filter-select{padding-right:2.1rem;background-position:right .65rem center}.filters-bar .btn{padding-top:0;padding-bottom:0}.icon-action{width:var(--control-height);height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 .4rem;min-width:var(--control-height);border:1px solid var(--gray-200);border-radius:10px;background:#fff;color:var(--gray-500);font-size:.9rem;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.icon-action:hover:not(:disabled){background:var(--gray-50, #f9fafb);border-color:var(--gray-300);color:var(--gray-800)}.icon-action:disabled{opacity:.45;cursor:not-allowed}.icon-action .icon-action-count{font-size:.78rem;font-weight:600}.icon-action.danger{color:#dc2626}.icon-action.danger:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#b91c1c}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--gray-900, #0f172a);color:#fff;padding:4px 9px;border-radius:6px;font-size:.72rem;font-weight:500;line-height:1.3;white-space:nowrap;pointer-events:none;z-index:60;box-shadow:0 4px 12px #0f172a40}[data-tooltip]:hover:before{content:"";position:absolute;bottom:calc(100% - 2px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--gray-900, #0f172a);pointer-events:none;z-index:60}.detail-two-col{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.25rem;align-items:start}.detail-two-col .detail-main{grid-column:1;grid-row:1;min-width:0}.detail-two-col .detail-side{grid-column:2;grid-row:1}@media (max-width: 960px){.detail-two-col{grid-template-columns:1fr}.detail-two-col .detail-main,.detail-two-col .detail-side{grid-column:1;grid-row:auto}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--gray-500);animation:fadeIn var(--transition-smooth)}.empty-state .empty-icon,.empty-state-icon{font-size:3rem;margin-bottom:1rem;display:block;opacity:.6;transition:all var(--transition-smooth)}.empty-state:hover .empty-icon,.empty-state:hover .empty-state-icon{transform:scale(1.1);opacity:1}.empty-state p,.empty-state-msg{font-size:.95rem;line-height:1.6}.toast-container{position:fixed;top:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:3000}.toast{padding:1rem 1.5rem;border-radius:8px;font-weight:500;max-width:360px;cursor:pointer;animation:slideInRight .35s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)}@keyframes slideInRight{0%{opacity:0;transform:translate(400px) rotate(8deg)}to{opacity:1;transform:translate(0) rotate(0)}}.toast-success,.toast.success{background:linear-gradient(135deg,var(--success-color),#059669dd);color:#fff}.toast-error,.toast.error{background:linear-gradient(135deg,var(--danger-color),#dc2626dd);color:#fff}.toast-warning,.toast.warning{background:linear-gradient(135deg,var(--warning-color),#d97706dd);color:#fff}.toast-info,.toast.info{background:linear-gradient(135deg,var(--primary-color),#2563ebdd);color:#fff}.chart-container{position:relative;height:300px;margin:1rem 0;animation:fadeIn var(--transition-smooth)}.live-log{background:linear-gradient(135deg,var(--gray-900),#0f172a);color:#10b981;border-radius:8px;padding:1rem;font-family:Courier New,monospace;font-size:.875rem;max-height:400px;overflow-y:auto;line-height:1.6;box-shadow:inset 0 2px 8px #0000004d;border:1px solid rgba(255,255,255,.1)}.log-entry{margin-bottom:.5rem;word-break:break-all;display:flex;gap:10px;transition:all var(--transition-fast)}.log-entry:hover{background:#10b9811a;padding-left:4px;border-radius:2px}.log-entry.error,.log-level-error{color:#ef4444}.log-entry.warning,.log-level-warn{color:#f59e0b}.log-entry.success{color:#10b981}.log-level-info{color:#60a5fa}.log-level-debug{color:#94a3b8}.log-msg{color:#e2e8f0;word-break:break-word}.log-time{color:#64748b;white-space:nowrap;flex-shrink:0}.log-level{width:50px;flex-shrink:0;font-weight:700}.file-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:1px solid var(--gray-200);border-radius:8px;margin-bottom:.5rem;transition:all var(--transition-smooth);background:#fff}.file-item:hover{background-color:var(--gray-50);border-color:var(--primary-color);transform:translate(4px);box-shadow:var(--shadow-sm)}.file-row{display:flex;align-items:center;gap:12px;padding:.75rem 1rem;border-bottom:1px solid var(--gray-200);transition:all var(--transition-fast)}.file-row:last-child{border-bottom:none}.file-row:hover{background-color:var(--gray-50);padding-left:1.25rem}.file-info{flex:1}.file-name{font-weight:600;color:var(--gray-900);margin-bottom:.25rem;font-size:.875rem;letter-spacing:-.3px}.file-meta{font-size:.875rem;color:var(--gray-500)}.file-actions{display:flex;gap:.5rem}.file-expand-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px;border-radius:4px;font-size:12px;transition:all var(--transition-fast)}.file-expand-btn:hover{background:var(--gray-100);color:var(--primary-color);transform:scale(1.1)}.page-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem;padding:0}.page-section-header h2{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.7px;color:var(--gray-900)}.page-section-header p{color:var(--gray-600);font-size:.875rem}.confirm-overlay{position:fixed;z-index:4000;top:0;right:0;bottom:0;left:0;background-color:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn var(--transition-smooth)}.confirm-box{background:#fff;border-radius:16px;padding:1.75rem;width:90%;max-width:420px;box-shadow:0 24px 60px #0f172a47;border:1px solid rgba(148,163,184,.18);animation:modalPop .22s cubic-bezier(.16,1,.3,1)}.confirm-box h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;letter-spacing:-.3px}.confirm-box p{color:var(--gray-600);margin-bottom:1.5rem}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.progress-bar-track{width:100%;height:8px;background-color:var(--gray-200);border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000d}.progress-bar{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden;flex:1;min-width:80px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),#60a5fa);border-radius:4px;transition:width var(--transition-smooth);box-shadow:0 0 8px #2563eb66}.progress-bar-wrap{display:flex;align-items:center;gap:8px}.progress-label{font-size:11px;color:var(--gray-500);white-space:nowrap;font-weight:500}.search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gray-300);border-radius:8px;padding:0 .75rem;max-width:360px;transition:all var(--transition-fast)}.search-bar:hover{border-color:var(--gray-400)}.search-bar:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.search-bar input{background:none;border:none;color:var(--gray-900);font-size:.875rem;outline:none;width:100%;font-family:inherit}.search-bar input::placeholder{color:var(--gray-400)}.pagination{display:flex;align-items:center;gap:6px;justify-content:center;padding:1rem 0}.pagination-btn{background:#fff;border:1px solid var(--gray-200);color:var(--gray-600);border-radius:6px;padding:6px 12px;cursor:pointer;font-size:.8125rem;transition:all var(--transition-fast);font-weight:500}.pagination-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 6px #2563eb33}.pagination-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);font-weight:600;box-shadow:0 2px 8px #2563eb4d}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.store-mini-card{background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:1rem;box-shadow:var(--shadow-sm);transition:all var(--transition-smooth)}.store-mini-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.store-mini-name{font-weight:600;color:var(--gray-900);margin-bottom:2px;font-size:.875rem;letter-spacing:-.3px}.store-mini-domain{color:var(--gray-500);font-size:.8rem;margin-bottom:8px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.file-upload-btn{position:relative;display:inline-block}.file-upload-btn input[type=file]{display:none}.store-breakdown{padding:1rem;background:linear-gradient(135deg,var(--gray-50),#f0f9ff);border-top:1px solid var(--gray-200);transition:all var(--transition-fast)}.store-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:8px}.breakdown-item{font-size:.8125rem;color:var(--gray-600);display:flex;flex-direction:column;gap:3px;padding:8px;border-radius:4px;transition:all var(--transition-fast)}.breakdown-item:hover{background:#2563eb1a;color:var(--primary-color)}.breakdown-store-name{font-weight:600;color:var(--gray-900);letter-spacing:-.2px}h1{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:1rem;letter-spacing:-.7px}h2{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:.75rem;letter-spacing:-.5px}h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:1.25rem 0 .5rem;letter-spacing:-.3px}p{color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem;line-height:1.7}.isbn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.55rem}.isbn-tile{position:relative;padding:.55rem 2.1rem .55rem .7rem;border:1px solid var(--gray-200);border-radius:10px;background:#fff;transition:all var(--transition-fast)}.isbn-tile:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1f}.isbn-tile-code{display:flex;align-items:center;gap:.45rem;font-family:var(--font-mono, monospace);font-weight:600;font-size:.875rem;letter-spacing:.02em}.isbn-tile-meta{margin-top:.15rem;font-size:.7rem;color:var(--gray-500)}.isbn-tile .table-action-btn{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);width:26px;height:26px;border-radius:7px;font-size:.7rem;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.isbn-tile:hover .table-action-btn,.isbn-tile:focus-within .table-action-btn{opacity:1}.isbn-tile .table-action-btn:hover{transform:translateY(-50%) scale(1.06)}.isbn-tile .table-action-btn:active{transform:translateY(-50%) scale(.94)}.errlog-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:.85rem}.errlog-filters .btn{height:var(--control-height);padding-top:0;padding-bottom:0}.errlog-table td{vertical-align:top;padding-top:.7rem;padding-bottom:.7rem}.errlog-row{cursor:pointer}.errlog-row td:first-child{box-shadow:inset 3px 0 0 var(--errlog-accent, transparent)}.errlog-when{white-space:nowrap}.errlog-when-rel{font-weight:600;font-size:.8125rem;color:var(--gray-800)}.errlog-when-abs{font-size:.72rem;color:var(--gray-500);margin-top:2px}.errlog-count{text-align:center;width:72px}.errlog-count-pill{display:inline-block;min-width:32px;padding:.15rem .45rem;border-radius:7px;font-size:.75rem;font-weight:700;background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-600)}.errlog-count-pill.warm{background:#fef3c7;border-color:#fde68a;color:#92400e}.errlog-count-pill.hot{background:#fee2e2;border-color:#fecaca;color:#991b1b}.errlog-msg{font-weight:600;font-size:.8125rem;line-height:1.45;color:var(--gray-900);word-break:break-word;max-width:95ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.errlog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.4rem}.errlog-chip{display:inline-flex;align-items:center;gap:.3rem;max-width:260px;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--gray-200);background:var(--gray-100);color:var(--gray-600);font-size:.69rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.errlog-chip svg{flex-shrink:0;opacity:.7}.errlog-chip.code{background:#fef2f2;border-color:#fecaca;color:#991b1b;font-family:var(--font-mono, monospace)}.errlog-chip.component{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.errlog-chip.level{background:#fffbeb;border-color:#fde68a;color:#92400e}button.errlog-chip{cursor:pointer;transition:all var(--transition-fast)}button.errlog-chip:hover{filter:brightness(.96);border-color:var(--gray-400)}.errlog-chevron{width:34px;text-align:right}.errlog-chevron button{background:none;border:none;padding:2px;cursor:pointer;color:var(--gray-300);transition:all var(--transition-fast)}.errlog-row:hover .errlog-chevron button{color:var(--primary-color);transform:translate(2px)}.errlog-detail-msg{padding:.75rem .9rem;margin-bottom:1rem;border-left:3px solid var(--danger-color);border-radius:0 10px 10px 0;background:var(--gray-50);font-weight:600;font-size:.875rem;color:var(--gray-900);word-break:break-word}.errlog-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;margin-bottom:1rem}.errlog-detail-item{padding:.45rem .65rem;border:1px solid var(--gray-100);border-radius:8px;background:var(--gray-50);min-width:0}.errlog-detail-label{font-size:.63rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}.errlog-detail-value{font-size:.8125rem;color:var(--gray-900);word-break:break-word}.errlog-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.errlog-section-title{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}.errlog-pre{margin:0 0 1rem;padding:.85rem;max-height:260px;overflow:auto;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,var(--gray-900),#0f172a);color:#e2e8f0;font-family:var(--font-mono, "Courier New", monospace);font-size:.75rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.p17-loc-list{border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.p17-loc-row{display:grid;grid-template-columns:14px 1.6fr 1fr 260px;gap:1rem;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--gray-100);transition:background var(--transition-fast)}.p17-loc-row:last-child{border-bottom:none}.p17-loc-row:hover{background:var(--gray-50)}.p17-loc-row.is-unmapped{background:#fffbeb}.p17-loc-row.is-unmapped:hover{background:#fef3c7}.p17-loc-row-head,.p17-loc-row-head:hover{background:var(--gray-50);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500)}.p17-loc-cell-name{display:flex;align-items:center;gap:.5rem;min-width:0}.p17-loc-cell-status{display:flex;align-items:center;justify-content:center}.p17-loc-row-name{font-weight:600;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p17-loc-row-group{font-size:.72rem;color:var(--gray-500);flex-shrink:0}.p17-loc-cell-id{font-family:var(--font-mono, monospace);font-size:.72rem;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p17-loc-cell-vendor{display:flex;align-items:center;gap:.5rem}.p17-loc-cell-vendor .form-select{flex:1;min-width:0;height:34px;padding:0 2.25rem 0 .6rem;font-size:.85rem}.p17-loc-map-status{font-size:.72rem;color:var(--gray-500);white-space:nowrap}.p17-head-badges{display:inline-flex;align-items:center;gap:.4rem}@media (max-width: 720px){.p17-loc-row{grid-template-columns:14px 1fr;gap:.4rem .6rem;padding:.75rem 1rem}.p17-loc-cell-id,.p17-loc-cell-vendor{grid-column:2}.p17-loc-row-head{display:none}}.p17-loc-id{margin-top:.35rem;padding-left:1.4rem;font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p17-status-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;background:#fff;border:1px solid var(--gray-200);border-radius:999px;font-size:.75rem;color:var(--gray-500);white-space:nowrap}.p17-status-pill strong{font-weight:600;color:var(--gray-900)}.p17-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--gray-400)}.p17-dot.ok{background:var(--success-color)}.p17-dot.warn{background:var(--warning-color)}.p17-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1.1rem}.p17-toolbar-store{width:auto;min-width:260px;max-width:380px}.p17-toolbar-search{position:relative;margin-left:auto;flex:0 1 280px}.p17-toolbar-search>svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:.8rem;pointer-events:none}.p17-toolbar-search .form-input{padding-left:2rem}.p17-toolbar .form-select,.p17-toolbar .form-input,.p17-toolbar .btn{height:40px;font-size:.875rem;padding-top:0;padding-bottom:0}.p17-drawer-divider{height:1px;background:var(--gray-200);margin:1.25rem 0}.modal-overlay.modal-drawer{align-items:stretch;justify-content:flex-end;padding:0}.modal-drawer .modal-content{width:100%;height:100%;max-height:100%;border-radius:0;animation:p17DrawerIn var(--transition-smooth)}@keyframes p17DrawerIn{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@media (prefers-reduced-motion: reduce){.modal-drawer .modal-content{animation:none}}.page-head{margin-bottom:1.5rem}.page-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-head-row>div{min-width:0}.page-head-title{font-size:1.6rem;font-weight:700;letter-spacing:-.5px;color:var(--gray-900);margin-bottom:.35rem}.page-head-title--flush{margin-bottom:0}.page-head-eyebrow{margin-bottom:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500)}.page-head-sub{margin:0;font-size:.875rem;color:var(--gray-600)}.page-head-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.card-pad{padding:1.5rem}.table.table-dense th,.table.table-dense td{padding:.35rem .85rem}.table.table-dense td{font-size:.8125rem}.table .table-action-btn,.table .icon-action{width:32px;height:32px;min-width:32px;border-radius:8px;font-size:.85rem}.table.table-dense .table-action-btn,.table.table-dense .icon-action{width:28px;height:28px;min-width:28px;border-radius:7px;font-size:.75rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px;transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (max-width: 1024px){.sidebar{width:240px}.main-content{margin-left:240px}.metric-card,.card-content,.card-pad{padding:1rem}}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform var(--transition-smooth)}.sidebar.open{transform:translate(0)}.sidebar.open.collapsed{width:var(--sidebar-width)}.sidebar.collapsed .sidebar-brand,.sidebar.open.collapsed .sidebar-brand{display:block}.sidebar-toggle{display:none}.main-content,.main-content.collapsed{margin-left:0}.main-content{padding:calc(var(--mobile-topbar-height) + 1rem) .9rem 2.5rem}.two-col,.three-col{grid-template-columns:1fr}.page-head-title{font-size:1.35rem}.btn{padding:.4rem .8rem;font-size:.8rem}.table-toolbar>*,.table-footer>*{flex:1 1 100%;min-width:0}.search-bar{max-width:none!important}.filter-pills{display:flex;overflow-x:auto}.data-table-wrapper .table{min-width:760px}.data-table-wrapper col{width:auto!important}.table-file-link{word-break:normal;white-space:nowrap}.table td:last-child>div{flex-wrap:nowrap!important}}.mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;z-index:998;height:var(--mobile-topbar-height);align-items:center;justify-content:space-between;gap:.75rem;padding:0 .5rem 0 .9rem;background:#0b1220;border-bottom:1px solid rgb(255 255 255 / .08)}.mobile-topbar-brand{display:inline-flex;align-items:center;gap:.5rem;min-width:0;color:#f8fafc;font-size:1rem;font-weight:700;letter-spacing:-.2px;text-decoration:none}.mobile-topbar-brand:active{opacity:.75}.mobile-topbar-brand:focus-visible{outline:2px solid #38bdf8;outline-offset:3px;border-radius:8px}.mobile-topbar-logo{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;font-size:.9rem}.mobile-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;padding:0;border:none;border-radius:10px;background:none;color:#e2e8f0;font-size:1.3rem;cursor:pointer}.mobile-nav-btn:active{background:#ffffff1a}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#0f172a73}@media (max-width: 768px){.mobile-topbar{display:flex}}
