@keyframes pf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pf-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}*{box-sizing:border-box}html,body{margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}:root{--pf-sidebar-logo-height: 36px;--pf-brand-blue: #0095D3;--pf-radius: 4px;--pf-fs-xl: 18px;--pf-fs-lg: 16px;--pf-fs-md: 14px;--pf-fs-sm: 13px;--pf-fs-xs: 12px;--pf-fw-regular: 400;--pf-fw-medium: 500;--pf-fw-semibold: 600;--pf-color-title: #0f172a;--pf-color-body: #475569;--pf-color-muted: #64748b}.pf-kpi{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #0f172a0d;padding:16px}.pf-kpi__header{display:flex;justify-content:space-between;align-items:center}.pf-kpi__title{font-size:13px;color:#64748b;display:flex;align-items:center;gap:8px}.pf-kpi__value{font-size:28px;font-weight:600;margin-top:6px;color:#0f172a}.pf-kpi__delta{margin-top:6px;display:flex;align-items:center;gap:8px}.pf-kpi__badge{font-size:12px;padding:2px 6px;border-radius:999px;border:1px solid transparent}.pf-kpi__badge--up{color:#16a34a;background:#ecfdf5;border-color:#86efac}.pf-kpi__badge--down{color:#dc2626;background:#fef2f2;border-color:#fecaca}.pf-kpi__sub{font-size:12px;color:#94a3b8}.pf-skeleton{background:transparent!important;animation:none!important}.pf-btn.pf-btn--loading{position:relative;opacity:.85;pointer-events:none}.pf-btn.pf-btn--loading:after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid rgba(0,0,0,.2);border-top-color:currentColor;border-radius:50%;animation:pf-spin .8s linear infinite}.pf-title-xl{font-size:var(--pf-fs-xl);font-weight:var(--pf-fw-medium);color:var(--pf-color-title)}.pf-title-lg{font-size:var(--pf-fs-lg);font-weight:var(--pf-fw-medium);color:var(--pf-color-title)}.pf-section-title{font-size:var(--pf-fs-md);font-weight:var(--pf-fw-medium);color:var(--pf-color-title)}.pf-body{font-size:var(--pf-fs-md);font-weight:var(--pf-fw-regular);color:var(--pf-color-body)}.pf-muted{font-size:var(--pf-fs-sm);font-weight:var(--pf-fw-regular);color:var(--pf-color-muted)}.pf-kpi-label{font-size:11px;color:var(--pf-color-muted);text-transform:uppercase;letter-spacing:.5px}.pf-table-shell{margin-top:16px;background:#fff;border:1px solid #e2e8f0;border-radius:var(--pf-radius);box-shadow:0 8px 24px #0f172a0d;overflow:visible}body{font-family:Inter,Segoe UI,Helvetica Neue,Arial,Noto Sans,system-ui,-apple-system,SF Pro Text,Ubuntu,Cantarell,Liberation Sans,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pf-mobile-only{display:none}.pf-desktop-only{display:initial}a,button,.pf-btn,[role=button]{cursor:pointer}button:disabled,.pf-btn:disabled{cursor:not-allowed;opacity:.7}.pf-input,input.pf-input,select.pf-input,textarea.pf-input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cbd5f5;border-radius:var(--pf-radius);background:#f8fafc;font-size:14px;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease}.pf-input:focus,.pf-input:hover,input.pf-input:focus,select.pf-input:focus,textarea.pf-input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b840}.pf-table-shell--subtle{margin-top:12px;border-radius:var(--pf-radius);box-shadow:0 4px 12px #0f172a0a}.pf-grid{display:grid;gap:12px}.pf-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 880px){.pf-grid--3{grid-template-columns:1fr}}.pf-table{width:100%;border-collapse:separate;border-spacing:0;min-width:100%}.pf-table--admin thead tr{background:#f5f5f5}.pf-table--admin thead th{font-weight:600;font-size:11px;text-transform:uppercase;color:#334155;border-bottom:1px solid #e5e7eb}.pf-table--admin tbody tr:nth-child(odd){background:#fcfcfd}.pf-table--admin tbody tr:hover{background:#f1f5f9}.pf-table--admin td{border-bottom:1px solid #eef2f7}.pf-table thead tr{background:#f8fafc}.pf-table thead th{padding:6px 10px;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;color:#475569;border-bottom:1px solid #e2e8f0;text-align:left}.pf-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .18s ease,transform .18s ease}.pf-table tbody tr:last-child{border-bottom:none}.pf-table tbody tr:hover,.pf-table tbody tr.is-menu-open,.pf-table tbody tr.is-menu-open:hover{background:#f9fafb;transform:none}.pf-table td{padding:6px 10px;font-size:13px;color:#1f2937;vertical-align:middle}.pf-table__primary{display:flex;align-items:center;gap:8px}.pf-table__avatar{width:24px;height:24px;border-radius:999px;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#475569;font-size:11px}.pf-table__title{display:block;font-weight:400;color:#111827}.pf-table__meta{display:block;font-size:11px;color:#6b7280;margin-top:2px}.pf-table--admin .pf-table__meta{display:none}.pf-table--admin .pf-table__avatar{width:18px;height:18px;font-size:10px}.pf-table--admin td,.pf-table--admin th{padding:6px 10px}.pf-table--admin .pf-table__primary{gap:6px}.pf-table--admin td{line-height:1.25}.pf-table td .pf-input,.pf-table td input,.pf-table td select{padding:6px 8px;font-size:13px}.pf-table td .pf-btn{padding:6px 10px;font-size:13px}.pf-table--admin td .pf-btn{padding:4px 8px;height:26px;line-height:18px}.pf-table--admin td .pf-actions{gap:6px}.pf-table--admin td .pf-actions-trigger{width:28px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center}.pf-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500}.pf-badge--success{background:#ecfdf3;color:#047857}.pf-badge--warning{background:#fef3c7;color:#92400e}.pf-badge--danger{background:#fee2e2;color:#b91c1c}.pf-table__cell--right{text-align:right}.pf-table__cell--center{text-align:center}.pf-table thead th.pf-table__cell--right{text-align:right}.pf-table thead th.pf-table__cell--center{text-align:center}.pf-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pf-toolbar--split{justify-content:space-between;width:100%}.pf-toolbar__filters{flex:1 1 50%;max-width:50%;min-width:320px;display:flex;align-items:center;gap:8px}.pf-toolbar__filters>input,.pf-toolbar__filters>select,.pf-toolbar__filters>.pf-chip{flex:1 1 auto}.pf-toolbar__actions{flex:0 0 auto;display:flex;align-items:center;gap:8px;margin-left:auto}.pf-pagination{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 16px;border:1px solid #e2e8f0;border-radius:var(--pf-radius);background:#fff;width:100%;box-sizing:border-box;justify-content:flex-end;box-shadow:0 8px 24px #0f172a0d}.pf-table-shell+.pf-pagination{margin-top:12px}.pf-pagination__info{color:#64748b;font-size:12px}.pf-pagination__btn{border:1px solid #dbe4f0;background:#f8fafc;color:#334155;border-radius:var(--pf-radius);padding:6px 10px;cursor:pointer}.pf-pagination__btn:disabled{opacity:.5;cursor:not-allowed}.pf-pagination__size{border:1px solid #e2e8f0;border-radius:var(--pf-radius);padding:6px 8px;background:#fff}.pf-chip,input.pf-chip,select.pf-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--pf-radius);border:1px solid #e2e8f0;background:#fff;font-size:13px;color:#1f2937;box-shadow:inset 0 1px #fffc,0 1px 2px #0f172a0f;transition:border-color .2s ease,box-shadow .2s ease;max-width:100%}.pf-chip,[class*=pf-chip]{font-family:inherit}.pf-container{width:100%;max-width:none;margin:0}.pf-sidebar-lines{flex:0 0 20px;height:100vh;position:sticky;top:0;z-index:2;background-color:transparent;background-image:linear-gradient(#1c8dc9,#1c8dc9),linear-gradient(#1c8dc9,#1c8dc9);background-repeat:no-repeat,no-repeat;background-position:6px center,14px center;background-size:3px 100%,3px 100%}.pf-sidebar{position:relative;z-index:1000}.pf-login{width:100%;min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.pf-login__right{display:flex;align-items:center;justify-content:center}@media (max-width: 900px){.pf-login{grid-template-columns:1fr}}@media (max-width: 880px){.pf-mobile-only{display:inline-flex}.pf-desktop-only{display:none!important}.pf-sidebar-lines{display:none}.pf-sidebar{position:fixed!important;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 0 1px #0000000f,0 20px 50px #00000047}body.pf-mobile-menu-open .pf-sidebar{transform:translate(0)}.pf-container{padding:8px}.pf-settings{grid-template-columns:1fr}.pf-settings__sidebar{position:relative;top:auto}.pf-table-shell{overflow-x:auto}.pf-table{min-width:720px}.pf-toolbar__filters{flex:1 1 100%;max-width:100%;min-width:0}.pf-toolbar__actions{width:100%;justify-content:flex-start;margin-left:0;flex-wrap:wrap}}.pf-sidebar-link{padding:6px 8px;border-radius:var(--pf-radius);border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease}.pf-sidebar-link:hover{background:#ffffff14;border-color:#ffffff40}.pf-sidebar-link.is-active{background:#ffffff1f;border-color:#ffffff4d}input.pf-chip,select.pf-chip{display:inline-block;line-height:1.4}.pf-chip:focus,.pf-chip:focus-visible,.pf-chip:hover,input.pf-chip:focus,input.pf-chip:focus-visible,input.pf-chip:hover,select.pf-chip:focus,select.pf-chip:focus-visible,select.pf-chip:hover{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833;outline:none}.pf-chip select,select.pf-chip{padding-right:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.41.59 6 5.17 10.59.59 12 2l-6 6-6-6L1.41.59Z' fill='%236b7280'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;background-size:12px}button,input,select,textarea{border-radius:var(--pf-radius)}.pf-modal__panel input,.pf-modal__panel select,.pf-modal__panel textarea{border:1px solid #e5e7eb;border-radius:var(--pf-radius);padding:10px 12px;background:#fff;font-size:14px}.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:var(--pf-radius);border:1px solid #dbe4f0;background:#fff;font-size:13px;font-weight:500;color:#0f172a;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.pf-btn:hover{border-color:#94a3b8;box-shadow:0 4px 10px #0f172a14;transform:translateY(-1px)}.pf-btn:active{transform:translateY(0);box-shadow:inset 0 2px 4px #0f172a14}.pf-btn--primary{background:#0095d3;color:#fff;border-color:#0095d3}.pf-btn--primary:hover{box-shadow:0 6px 14px #0095d340;border-color:#0b82b7}.pf-btn--subtle{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.pf-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #0f172a0d;padding:16px}.pf-settings{display:grid;grid-template-columns:260px 1fr;gap:20px;font-size:14px;padding-top:12px}.pf-settings__sidebar{align-self:start;position:sticky;top:0}.pf-settings__group-label{font-size:12px;font-weight:700;color:#64748b;letter-spacing:.6px}.pf-settings-link{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid #e5e7eb;background:#fff;color:#0f172a;padding:12px;border-radius:var(--pf-radius);cursor:pointer;font-weight:500;transition:background .15s ease,border-color .15s ease,color .15s ease}.pf-settings-link:hover{border-color:#94a3b8;background:#f8fafc}.pf-settings-link.is-active{background:#eef2ff;border-color:#c7d2fe;color:#1e3a8a;font-weight:700}.pf-settings__section-title{font-size:14px;font-weight:600;margin-bottom:6px}.pf-settings__hint{font-size:12px;color:#666}.pf-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pf-settings__title{font-size:18px;font-weight:600}.pf-settings .pf-card{border-radius:var(--pf-radius);padding:20px}.pf-pill-group{display:inline-flex;align-items:stretch;gap:8px;flex-wrap:wrap}.pf-menu-panel{right:0;top:calc(100% + 6px);background:#fff;border:1px solid #d7e3f1;box-shadow:0 16px 32px #0f172a38;border-radius:12px;padding:8px;min-width:180px;max-height:260px;overflow-y:auto;z-index:1200;position:absolute;pointer-events:auto}.pf-popover{transition:opacity .16s ease,transform .16s ease;opacity:0;transform:translateY(-6px)}.pf-popover[data-placement=top]{transform:translateY(6px)}.pf-popover.pf-popover--open{opacity:1;transform:translateY(0)}
