@keyframes pir-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pir-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pir-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pir-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pir-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pir-pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes pir-glow-pulse{0%,to{box-shadow:0 0 0 0 rgba(0,122,255,0)}50%{box-shadow:0 0 0 4px rgba(0,122,255,.15)}}@keyframes pir-progress-indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}@keyframes pir-checkmark{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes pir-bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.pir-card{background:var(--surface-primary);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.pir-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-default)}.pir-card-elevated{background:var(--surface-elevated);border-radius:20px;box-shadow:var(--shadow-lg)}.pir-card-interactive{cursor:pointer;transition:all var(--transition-normal)}.pir-card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pir-card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.pir-metric-card{position:relative;background:var(--surface-primary);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border-subtle);border-radius:20px;padding:24px;overflow:hidden;transition:all var(--transition-normal)}.pir-metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5) 50%,transparent);opacity:.6}.pir-metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--border-default)}.pir-metric-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-normal)}.pir-metric-card:hover .pir-metric-icon{transform:scale(1.05)}.pir-metric-value{font-size:36px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--foreground);display:block;min-height:1.2em}.pir-metric-label{font-size:13px;font-weight:500;color:var(--muted-foreground);letter-spacing:.01em}.pir-metric-trend{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:4px 8px;border-radius:8px}.pir-metric-trend.positive{background:rgba(52,199,89,.12);color:var(--accent-green)}.pir-metric-trend.negative{background:rgba(255,59,48,.12);color:var(--accent-red)}.pir-segmented-control{display:inline-flex;background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:12px;padding:4px;gap:2px}.pir-segment{position:relative;padding:10px 20px;font-size:14px;font-weight:500;color:var(--muted-foreground);border-radius:9px;cursor:pointer;transition:all var(--transition-fast);user-select:none;display:flex;align-items:center;gap:8px}.pir-segment:hover:not(.active){color:var(--foreground);background:var(--surface-tertiary)}.pir-segment.active{background:var(--surface-elevated);color:var(--foreground);box-shadow:var(--shadow-sm)}.pir-segment-icon{width:16px;height:16px;opacity:.7;transition:opacity var(--transition-fast)}.pir-segment.active .pir-segment-icon{opacity:1}.pir-table-container{background:var(--surface-primary);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden}.pir-table{width:100%;border-collapse:separate;border-spacing:0}.pir-table th{padding:14px 20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);background:var(--surface-secondary);text-align:left}.pir-table td,.pir-table th{border-bottom:1px solid var(--border-subtle)}.pir-table td{padding:16px 20px;font-size:14px;color:var(--foreground);transition:background var(--transition-fast)}.pir-table tr:last-child td{border-bottom:none}.pir-table tr:hover td{background:var(--surface-tertiary)}.pir-table-row-interactive{cursor:pointer}.pir-table-row-interactive:active td{background:var(--surface-secondary)}.pir-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;border-radius:8px;transition:all var(--transition-fast)}.pir-badge-priority-critical{background:var(--priority-critical-bg);color:var(--priority-critical-text);border:1px solid var(--priority-critical-border)}.pir-badge-priority-high{background:var(--priority-high-bg);color:var(--priority-high-text);border:1px solid var(--priority-high-border)}.pir-badge-priority-medium{background:var(--priority-medium-bg);color:var(--priority-medium-text);border:1px solid var(--priority-medium-border)}.pir-badge-priority-low{background:var(--priority-low-bg);color:var(--priority-low-text);border:1px solid var(--priority-low-border)}.pir-badge-status-active{background:var(--status-active-bg);color:var(--accent-green);border:1px solid var(--status-active-border)}.pir-badge-status-inactive{background:var(--status-inactive-bg);color:var(--muted-foreground);border:1px solid var(--status-inactive-border)}.pir-badge-count{min-width:22px;height:22px;padding:0 6px;font-size:12px;border-radius:11px;background:var(--accent-blue);color:white}.pir-badge-count,.pir-button{display:inline-flex;align-items:center;justify-content:center;font-weight:600}.pir-button{position:relative;gap:8px;padding:12px 20px;font-size:14px;border-radius:12px;cursor:pointer;transition:all var(--transition-fast);border:none;outline:none}.pir-button:focus-visible{box-shadow:0 0 0 3px rgba(0,122,255,.3)}.pir-button-primary{background:linear-gradient(180deg,#3B82F6,#2563EB);color:white;box-shadow:0 1px 3px rgba(37,99,235,.3),inset 0 1px 0 rgba(255,255,255,.15)}.pir-button-primary:hover{background:linear-gradient(180deg,#60A5FA,#3B82F6);transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.35),inset 0 1px 0 rgba(255,255,255,.2)}.pir-button-primary:active{transform:translateY(0);background:linear-gradient(180deg,#2563EB,#1D4ED8)}.pir-button-secondary{background:var(--surface-secondary);color:var(--foreground);border:1px solid var(--border-default)}.pir-button-secondary:hover{background:var(--surface-tertiary);border-color:var(--border-emphasis)}.pir-button-ghost{background:transparent;color:var(--muted-foreground)}.pir-button-ghost:hover{background:var(--surface-tertiary);color:var(--foreground)}.pir-button-icon{width:40px;height:40px;padding:0;border-radius:10px}.pir-button-danger{background:linear-gradient(180deg,#EF4444,#DC2626);color:white}.pir-button-danger:hover{background:linear-gradient(180deg,#F87171,#EF4444)}.pir-search-container{position:relative;display:flex;align-items:center}.pir-search-input{width:100%;padding:12px 16px 12px 44px;font-size:14px;background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:12px;color:var(--foreground);transition:all var(--transition-fast)}.pir-search-input::placeholder{color:var(--muted-foreground)}.pir-search-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(0,122,255,.12);background:var(--surface-primary)}.pir-search-icon{position:absolute;left:14px;width:18px;height:18px;color:var(--muted-foreground);pointer-events:none}.pir-select{position:relative;display:inline-flex;align-items:center;padding:10px 36px 10px 14px;font-size:14px;font-weight:500;background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:all var(--transition-fast);appearance:none;color:var(--foreground)}.pir-select:hover{border-color:var(--border-default);background:var(--surface-tertiary)}.pir-select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(0,122,255,.12)}.pir-dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:pir-fade-in .2s ease-out}.pir-dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:560px;max-height:85vh;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:var(--shadow-xl);overflow:hidden;animation:pir-scale-in .25s cubic-bezier(.16,1,.3,1)}.pir-dialog-header{padding:24px 24px 0}.pir-dialog-title{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--foreground)}.pir-dialog-description{font-size:14px;color:var(--muted-foreground);margin-top:6px}.pir-dialog-body{padding:20px 24px;overflow-y:auto;max-height:calc(85vh - 160px)}.pir-dialog-footer{padding:16px 24px 24px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border-subtle)}.pir-form-group{margin-bottom:20px}.pir-form-label{display:block;font-size:13px;font-weight:600;color:var(--foreground);margin-bottom:8px}.pir-form-hint{font-size:12px;color:var(--muted-foreground);margin-top:6px}.pir-form-input{width:100%;padding:12px 14px;font-size:14px;background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:10px;color:var(--foreground);transition:all var(--transition-fast)}.pir-form-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(0,122,255,.12);background:var(--surface-primary)}.pir-form-textarea{resize:vertical;min-height:100px}.pir-progress{height:6px;background:var(--surface-tertiary);border-radius:3px;overflow:hidden}.pir-progress-bar{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.34,1.56,.64,1)}.pir-progress-bar.success{background:linear-gradient(90deg,#34C759,#30D158)}.pir-progress-bar.warning{background:linear-gradient(90deg,#FFCC00,#FFD60A)}.pir-progress-bar.error{background:linear-gradient(90deg,#FF3B30,#FF453A)}.pir-progress-bar.info{background:linear-gradient(90deg,#007AFF,#0A84FF)}.pir-progress-indeterminate{width:30%;animation:pir-progress-indeterminate 1.5s ease-in-out infinite}.pir-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center}.pir-empty-state-icon{width:80px;height:80px;margin-bottom:24px;color:var(--muted-foreground);opacity:.4}.pir-empty-state-title{font-size:18px;font-weight:600;color:var(--foreground);margin-bottom:8px}.pir-empty-state-description{font-size:14px;color:var(--muted-foreground);max-width:320px}.pir-skeleton{background:linear-gradient(90deg,var(--surface-secondary) 0,var(--surface-tertiary) 50%,var(--surface-secondary) 100%);background-size:200% 100%;animation:pir-shimmer 1.5s ease-in-out infinite;border-radius:8px}.pir-skeleton-text{height:16px;margin-bottom:8px}.pir-skeleton-title{height:24px;width:60%;margin-bottom:12px}.pir-skeleton-avatar{width:48px;height:48px;border-radius:12px}.pir-tooltip{padding:10px 14px;font-size:13px;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:10px;box-shadow:var(--shadow-lg);animation:pir-fade-in .15s ease-out}.pir-pipeline-stages{display:flex;align-items:center;gap:8px}.pir-pipeline-stage{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:10px;font-size:13px;font-weight:500;color:var(--muted-foreground);transition:all var(--transition-normal)}.pir-pipeline-stage.active{background:rgba(0,122,255,.1);border-color:rgba(0,122,255,.3);color:var(--accent-blue);animation:pir-glow-pulse 2s infinite}.pir-pipeline-stage.completed{background:rgba(52,199,89,.1);border-color:rgba(52,199,89,.3);color:var(--accent-green)}.pir-pipeline-connector{width:24px;height:2px;background:var(--border-default);border-radius:1px}.pir-pipeline-connector.completed{background:var(--accent-green)}.pir-animate-in{animation:pir-slide-up .4s cubic-bezier(.16,1,.3,1)}.pir-animate-fade-in{animation:pir-fade-in .3s ease-out}.pir-stagger-1{animation-delay:50ms}.pir-stagger-2{animation-delay:.1s}.pir-stagger-3{animation-delay:.15s}.pir-stagger-4{animation-delay:.2s}.pir-stagger-5{animation-delay:.25s}:root:not(.dark):not([data-theme=slate]) .pir-card,:root:not(.dark):not([data-theme=slate]) .pir-metric-card,:root:not(.dark):not([data-theme=slate]) .pir-table-container{backdrop-filter:none;-webkit-backdrop-filter:none;background:#ffffff;border-radius:8px}:root:not(.dark):not([data-theme=slate]) .pir-card-interactive:hover{transform:none;box-shadow:0 1px 3px rgba(0,0,0,.1)}:root:not(.dark):not([data-theme=slate]) .pir-metric-card:hover{transform:none}:root:not(.dark):not([data-theme=slate]) .pir-metric-card:before{display:none}:root:not(.dark):not([data-theme=slate]) .pir-pipeline-stage.active{animation:none}@media (prefers-reduced-motion:reduce){.pir-button,.pir-card,.pir-card-interactive,.pir-metric-card,.pir-pipeline-stage,.pir-segment{transition:none}.pir-animate-fade-in,.pir-animate-in,.pir-pipeline-stage.active,.pir-progress-indeterminate,.pir-skeleton{animation:none}}:root{--safe-area-inset-top:env(safe-area-inset-top,0px);--safe-area-inset-right:env(safe-area-inset-right,0px);--safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--safe-area-inset-left:env(safe-area-inset-left,0px)}.pb-safe{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.pt-safe{padding-top:max(1rem,env(safe-area-inset-top))}.pl-safe{padding-left:max(1rem,env(safe-area-inset-left))}.pr-safe{padding-right:max(1rem,env(safe-area-inset-right))}.touch-manipulation{touch-action:manipulation}.touch-manipulation,.touch-pan-y{-webkit-tap-highlight-color:transparent}.touch-pan-y{touch-action:pan-y}.touch-pan-x{touch-action:pan-x;-webkit-tap-highlight-color:transparent}.-webkit-overflow-scrolling-touch{-webkit-overflow-scrolling:touch}.overscroll-behavior-y-contain{overscroll-behavior-y:contain}.overscroll-behavior-x-contain{overscroll-behavior-x:contain}.select-none-touch{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.will-change-transform{will-change:transform}.will-change-scroll{will-change:scroll-position}.h-screen-mobile{height:100vh;height:100dvh}.min-h-screen-mobile{min-height:100vh;min-height:100dvh}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.supports-backdrop-blur{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@media (prefers-reduced-motion:no-preference){.scroll-smooth{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){.scroll-smooth{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:768px){.clickable,a,button,input[type=button],input[type=submit]{min-width:44px;min-height:44px}html,input,select,textarea{font-size:16px}}@media (min-width:768px) and (max-width:1279px){.clickable,a,button,input[type=button],input[type=submit]{min-width:48px;min-height:48px}}@media (max-width:767px){.has-bottom-nav{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}}@media (max-width:768px) and (orientation:landscape){.landscape-compact{padding-top:.5rem;padding-bottom:.5rem}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.retina-optimized{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (prefers-color-scheme:dark){.oled-black{background-color:#000000}}body{overscroll-behavior-y:contain}@media (max-width:768px){::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.15);border-radius:3px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.25)}}@media (max-width:768px){.skeleton{animation-duration:1.5s}}@media (max-width:768px) and (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}