*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--pmo-accent:#009edb;--pmo-navy:#1a3c5e;--pmo-ease:cubic-bezier(.4, 0, .2, 1);--color-primary-navy:#123b5d;--color-secondary-navy:#1f4e70;--color-primary-teal:#0e9f9a;--color-teal-strong:#0b7f7b;--color-teal-soft:#d9f3f1;--color-success:#22c55e;--color-success-soft:#dcfce7;--color-success-text:#15803d;--color-warning:#f59e0b;--color-warning-soft:#fef3c7;--color-warning-text:#b45309;--color-danger:#ef4444;--color-danger-soft:#fee2e2;--color-danger-text:#b91c1c;--color-background:#f4f7fa;--color-surface:#fff;--color-border:#cbd5e1;--color-border-subtle:#e2e8f0;--color-text-primary:#17212b;--color-text-secondary:#475569;--color-text-muted:#64748b;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}body{color:#111827;-webkit-font-smoothing:antialiased;background:#f0f4f8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,select,textarea{font-family:inherit}a{color:inherit}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1 padding-box content-box;border:2px solid #0000;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:#94a3b8 padding-box content-box}.pmo-sidebar-scroll::-webkit-scrollbar-thumb{background:#ffffff2e padding-box content-box}.pmo-sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff52 padding-box content-box}.pmo-sidebar-scroll{scrollbar-color:#ffffff2e transparent}:focus-visible{outline:2px solid var(--pmo-accent);outline-offset:2px;border-radius:4px}main button:not(:disabled),main a[href]{transition:transform .12s var(--pmo-ease), box-shadow .12s var(--pmo-ease), opacity .12s var(--pmo-ease)}main button:not(:disabled):hover,main a[href]:hover{transform:translateY(-1px)}main button:not(:disabled):active{transform:translateY(0)scale(.98)}main input,main select,main textarea{transition:border-color .15s var(--pmo-ease), box-shadow .15s var(--pmo-ease)}main input:focus,main select:focus,main textarea:focus{box-shadow:0 0 0 3px #009edb1f}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}@keyframes pmo-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pmo-pop-in{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pmo-scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pmo-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pmo-slide-in-right{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes pmo-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes pmo-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pmo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.pmo-fade-in{animation:pmo-fade-in .22s var(--pmo-ease) both}.pmo-pop-in{animation:pmo-pop-in .16s var(--pmo-ease) both}.pmo-scale-in{animation:pmo-scale-in .18s var(--pmo-ease) both}.pmo-slide-up{animation:pmo-slide-up .3s var(--pmo-ease) both}.pmo-pulse{animation:1.6s ease-in-out infinite pmo-pulse}.pmo-slide-in-right{animation:pmo-slide-in-right .22s var(--pmo-ease) both}.pmo-overlay-in{animation:pmo-overlay-in .18s var(--pmo-ease) both}.pmo-stagger>*{animation:pmo-slide-up .3s var(--pmo-ease) both}.pmo-stagger>:first-child{animation-delay:0s}.pmo-stagger>:nth-child(2){animation-delay:30ms}.pmo-stagger>:nth-child(3){animation-delay:60ms}.pmo-stagger>:nth-child(4){animation-delay:90ms}.pmo-stagger>:nth-child(5){animation-delay:.12s}.pmo-stagger>:nth-child(6){animation-delay:.15s}.pmo-stagger>:nth-child(n+7){animation-delay:.18s}.pmo-skeleton{background:linear-gradient(90deg,#eef1f4 25%,#f8fafc 37%,#eef1f4 63%) 0 0/400px 100%;border-radius:6px;animation:1.4s ease-in-out infinite pmo-shimmer}.app-shell{background:var(--color-background);height:100vh;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.sb{--sb-teal-light:#5cd6d0;background:var(--color-primary-navy);color:#ffffffc7;width:240px;height:100%;transition:width .18s var(--pmo-ease), transform .22s var(--pmo-ease);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden auto}.sb--collapsed{width:64px}.sb :focus-visible{outline:2px solid var(--sb-teal-light);outline-offset:-2px;border-radius:var(--radius-md)}.sb-brand{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:64px;padding:12px 12px 12px 16px;display:flex}.sb--collapsed .sb-brand{flex-direction:column;justify-content:center;gap:10px;padding:14px 0}.sb-brand-main{align-items:center;gap:10px;min-width:0;display:flex}.sb-logo{border-radius:var(--radius-md);object-fit:contain;background:#fff;flex-shrink:0;width:32px;height:32px}.sb-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--sb-teal-light);font-size:10px;font-weight:600}.sb-product{color:#fff;font-size:16px;font-weight:700;line-height:1.2}.sb-icon-btn{color:#ffffffbf;border-radius:var(--radius-md);cursor:pointer;width:32px;height:32px;transition:background .15s var(--pmo-ease), color .15s var(--pmo-ease);background:#ffffff0f;border:none;flex-shrink:0;place-items:center;display:grid}.sb-icon-btn:hover{background:var(--color-secondary-navy);color:#fff}.sb-nav{flex-direction:column;gap:2px;padding:12px 8px;display:flex}.sb--collapsed .sb-nav{padding:12px 10px}.sb-section{flex-direction:column;gap:2px;display:flex}.sb-section+.sb-section,.sb-section+.sb-item,.sb-item+.sb-section{margin-top:8px}.sb-divider{background:#ffffff14;height:1px;margin:8px 4px}.sb-heading{border-radius:var(--radius-md);letter-spacing:.06em;text-transform:uppercase;text-align:left;color:#ffffff8c;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 12px;font-size:11px;font-weight:600;display:flex}button.sb-heading{cursor:pointer;transition:color .15s var(--pmo-ease)}button.sb-heading:hover{color:#fff}.sb-heading-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sb-item{border-radius:var(--radius-md);color:#ffffffc7;text-align:left;cursor:pointer;width:100%;min-height:36px;transition:background .15s var(--pmo-ease), color .15s var(--pmo-ease);background:0 0;border:none;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.3;text-decoration:none;display:flex;position:relative}.sb-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;display:flex}.sb-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sb-item:hover{background:var(--color-secondary-navy);color:#fff}.sb-item--active,.sb-item--active:hover{color:#fff;background:#0e9f9a38;font-weight:600}.sb-item--active .sb-item-icon{color:var(--sb-teal-light)}.sb-item--active:before{content:"";background:var(--sb-teal-light);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-8px}.sb-item--muted{color:#ffffff8c}.sb--collapsed .sb-item{justify-content:center;padding:8px 0}.sb--collapsed .sb-item--active:before{left:-10px}.sb-backdrop{z-index:999;background:#0f172a73;position:fixed;inset:0}.tb{z-index:50;background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.tb-left{align-items:center;gap:12px;min-width:0;display:flex}.tb-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.tb-controls{align-items:center;gap:8px;display:flex}.tb-crumbs{min-width:0;color:var(--color-text-muted);align-items:center;gap:4px;font-size:13px;list-style:none;display:flex}.tb-crumbs li{align-items:center;gap:4px;min-width:0;display:flex}.tb-crumb-sep{color:var(--color-border);flex-shrink:0}.tb-crumb-text{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.tb-crumb-link{border-radius:var(--radius-md);min-width:0;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:500;display:inline-flex}.tb-crumb-link:hover{color:var(--color-primary-navy);background:#f1f5f9}.tb-crumb-link--home{color:var(--color-primary-navy);font-weight:600}.tb-crumb-current{color:var(--color-text-primary);font-weight:600}.tb-search{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);width:240px;height:38px;color:var(--color-text-muted);cursor:pointer;text-align:left;transition:border-color .15s var(--pmo-ease), background .15s var(--pmo-ease);background:#f8fafc;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:13px;display:flex}.tb-search:hover{border-color:var(--color-border);background:#fff}.tb-search-label{flex:1}.tb-search kbd{color:var(--color-text-muted);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:#fff;padding:1px 6px;font-family:inherit;font-size:11px}.tb-icon-btn{background:var(--color-surface);width:38px;height:38px;color:var(--color-primary-navy);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s var(--pmo-ease), background .15s var(--pmo-ease);flex-shrink:0;place-items:center;text-decoration:none;display:grid;position:relative}.tb-icon-btn:hover{border-color:var(--color-border);background:#f8fafc}.tb-menu-btn{display:none}.tb-user{border-left:1px solid var(--color-border-subtle);align-items:center;gap:10px;padding-left:16px;display:flex}.tb-avatar{background:var(--color-teal-strong);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.tb-user-meta{line-height:1.25}.tb-user-name{color:var(--color-text-primary);white-space:nowrap;font-size:13px;font-weight:600}.tb-user-role{color:var(--color-text-muted);text-transform:capitalize;white-space:nowrap;font-size:12px}.tb-signout{background:var(--color-surface);height:36px;color:var(--color-primary-navy);border-radius:var(--radius-md);cursor:pointer;border:1px solid #d7e0e8;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.tb-signout:hover{border-color:var(--color-border);background:#f8fafc}@media (width<=1023px){.tb-search{width:200px}.tb-user-meta{display:none}}@media (width<=639px){.sb{z-index:1000;width:260px;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sb--open{transform:none;box-shadow:8px 0 24px #0f172a40}.tb{gap:8px;padding:0 16px}.tb-right{gap:8px}.tb-menu-btn{display:grid}.tb-crumbs>li:not(:last-child){display:none}.tb-search{justify-content:center;width:38px;padding:0}.tb-search-label,.tb-search kbd,.tb-help,.tb-signout-label{display:none}.tb-user{padding-left:8px}.tb-signout{justify-content:center;width:38px;padding:0}}.pf-page{max-width:1440px;padding:var(--spacing-lg) var(--spacing-xl);gap:var(--spacing-lg);color:var(--color-text-primary);flex-direction:column;margin:0 auto;display:flex}.pf-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.pf-title{color:var(--color-primary-navy);font-size:24px;font-weight:700;line-height:1.25}.pf-subtitle{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:14px}.pf-actions{flex-wrap:wrap;gap:12px;display:flex}.pf-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;min-height:40px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.pf-btn:disabled{opacity:.6;cursor:default}.pf-btn--primary{background:var(--color-primary-teal);color:#fff}.pf-btn--primary:hover:not(:disabled){background:var(--color-teal-strong)}.pf-btn--secondary{background:var(--color-surface);color:var(--color-primary-navy);border-color:#d7e0e8}.pf-btn--secondary:hover:not(:disabled){border-color:var(--color-border);background:#f8fafc}.pf-alert{background:var(--color-danger-soft);border-radius:var(--radius-lg);color:var(--color-danger-text);border:1px solid #fecaca;padding:10px 14px;font-size:13px}.pf-section-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.pf-section-title{color:var(--color-primary-navy);font-size:16px;font-weight:600}.pf-section-meta{color:var(--color-text-muted);font-size:12px}.pf-kpis{gap:var(--spacing-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pf-kpi{justify-content:space-between;align-items:center;gap:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:20px 20px 20px 24px;display:flex;position:relative;overflow:hidden}.pf-kpi:before{content:"";background:var(--kpi-accent);width:4px;position:absolute;top:0;bottom:0;left:0}.pf-kpi-value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.pf-kpi-label{margin-top:var(--spacing-xs);color:var(--color-text-muted);font-size:13px}.pf-kpi-icon{border-radius:var(--radius-lg);background:var(--kpi-soft);width:40px;height:40px;color:var(--kpi-text);flex-shrink:0;place-items:center;display:grid}.pf-badge{white-space:nowrap;background:var(--badge-soft);color:var(--badge-text);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.pf-badge-dot{background:var(--badge-dot);border-radius:50%;width:6px;height:6px}.pf-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.pf-card{gap:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:box-shadow .15s var(--pmo-ease), border-color .15s var(--pmo-ease), transform .15s var(--pmo-ease);flex-direction:column;padding:20px;display:flex}.pf-card:hover{border-color:var(--color-border);transform:translateY(-2px);box-shadow:0 6px 18px #123b5d14}.pf-card:focus-visible{outline:2px solid var(--color-primary-teal);outline-offset:2px;border-radius:var(--radius-lg)}.pf-card-top{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.pf-card-code{letter-spacing:.06em;text-transform:uppercase;color:var(--color-teal-strong);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.pf-card-name{color:var(--color-primary-navy);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em;font-size:15px;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.pf-card-sub{color:var(--color-text-muted);margin-top:2px;font-size:12px}.pf-progress-head{color:var(--color-text-secondary);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.pf-progress-head strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:600}.pf-progress{background:#e8edf2;border-radius:999px;height:6px;overflow:hidden}.pf-progress-fill{background:var(--color-primary-teal);height:100%;transition:width .8s var(--pmo-ease);border-radius:999px}.pf-metrics{gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-subtle);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pf-metric-value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.pf-metric-value--alert{color:var(--color-danger-text)}.pf-metric-label{color:var(--color-text-muted);margin-top:2px;font-size:11px}.pf-card-foot{color:var(--color-text-muted);align-items:center;gap:6px;margin-top:auto;font-size:12px;display:flex}.pf-empty{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;color:var(--color-text-secondary);flex-direction:column;align-items:center;gap:12px;padding:56px 24px;display:flex}.pf-empty-icon{background:var(--color-teal-soft);width:48px;height:48px;color:var(--color-teal-strong);border-radius:50%;place-items:center;display:grid}.pf-empty-title{color:var(--color-text-primary);font-size:16px;font-weight:600}@media (width<=1199px){.pf-kpis,.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=639px){.pf-page{padding:var(--spacing-md)}.pf-kpis,.pf-grid{grid-template-columns:1fr}.pf-actions,.pf-actions .pf-btn{width:100%}.pf-actions .pf-btn{flex:1}}@media (width<=900px){table{white-space:nowrap;display:block;overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
