:root{--background:oklch(1 0 0);--foreground:oklch(.226 0 0);--card:oklch(1 0 0);--card-foreground:oklch(.226 0 0);--popover:oklch(1 0 0);--popover-foreground:oklch(.226 0 0);--primary:oklch(.205 0 0);--primary-foreground:oklch(.985 0 0);--secondary:oklch(.982 0 0);--secondary-foreground:oklch(.226 0 0);--muted:oklch(.982 0 0);--muted-foreground:oklch(.542 0 0);--accent:oklch(.952 .019 282.8);--accent-foreground:oklch(.226 0 0);--destructive:oklch(.667 .220 25.5);--border:oklch(.940 0 0);--input:oklch(.940 0 0);--ring:oklch(.738 .127 282.8);--chart-1:oklch(.738 .127 282.8);--chart-2:oklch(.797 .103 257.2);--chart-3:oklch(.824 .060 258.7);--chart-4:oklch(.860 .077 183.5);--chart-5:oklch(.805 .084 301.9);--sidebar:oklch(.982 0 0);--sidebar-foreground:oklch(.226 0 0);--sidebar-primary:oklch(.205 0 0);--sidebar-primary-foreground:oklch(.985 0 0);--sidebar-accent:oklch(.952 .019 282.8);--sidebar-accent-foreground:oklch(.226 0 0);--sidebar-border:oklch(.940 0 0);--sidebar-ring:oklch(.738 .127 282.8);--radius:.625rem;--radius-sm:calc(var(--radius)*.6);--radius-md:calc(var(--radius)*.8);--radius-lg:var(--radius);--radius-xl:calc(var(--radius)*1.4);--radius-2xl:calc(var(--radius)*1.8);--radius-3xl:calc(var(--radius)*2.2);--radius-4xl:calc(var(--radius)*2.6);--sidebar-width:15rem;--header-height:3rem;color-scheme:light}
.dark{--background:oklch(.226 0 0);--foreground:oklch(.985 0 0);--card:oklch(.285 0 0);--card-foreground:oklch(.985 0 0);--popover:oklch(.285 0 0);--popover-foreground:oklch(.985 0 0);--primary:oklch(.738 .127 282.8);--primary-foreground:oklch(.226 0 0);--secondary:oklch(.321 0 0);--secondary-foreground:oklch(.985 0 0);--muted:oklch(.305 0 0);--muted-foreground:oklch(.715 0 0);--accent:oklch(.321 0 0);--accent-foreground:oklch(.985 0 0);--border:oklch(1 0 0/10%);--input:oklch(1 0 0/15%);--sidebar:oklch(.226 0 0);--sidebar-foreground:oklch(.985 0 0);--sidebar-primary:oklch(.738 .127 282.8);--sidebar-primary-foreground:oklch(.226 0 0);--sidebar-accent:oklch(.321 0 0);--sidebar-accent-foreground:oklch(.985 0 0);--sidebar-border:oklch(1 0 0/10%);color-scheme:dark}
*{box-sizing:border-box;border-color:var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;background:var(--sidebar);color:var(--foreground);scroll-behavior:smooth}body{margin:0;background:var(--background);font-size:14px}button,input,select{font:inherit;color:inherit}button,a,input,select{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 30%,transparent);border-color:var(--ring)}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{display:flex;min-height:100svh;background:var(--sidebar)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--sidebar-width);padding:.5rem;transition:transform .2s ease}.sidebar-inner{display:flex;height:100%;flex-direction:column;background:var(--sidebar);color:var(--sidebar-foreground);--radius:var(--radius-xl)}.brand{display:flex;height:2rem;align-items:center;gap:.5rem;padding:.375rem;color:inherit;text-decoration:none;font-size:1rem;font-weight:600}.brand-mark{display:grid;width:1.25rem;height:1.25rem;grid-template-columns:1fr 1fr;gap:2px}.brand-mark i{display:block;border-radius:50%;background:currentColor}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){opacity:.4}.brand-mark i:nth-child(4){opacity:.2}.nav{flex:1;overflow:auto;padding:.5rem}.nav-label{display:flex;height:2rem;align-items:center;margin:.5rem 0 0;padding:0 .75rem;color:color-mix(in oklab,var(--sidebar-foreground) 70%,transparent);font-size:.75rem;font-weight:500}.nav-item{display:flex;height:2rem;align-items:center;gap:.5rem;border-radius:var(--radius-xl);padding:.5rem .75rem;color:inherit;text-decoration:none;transition:background .2s}.nav-item:hover,.nav-item.active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.nav-item.active{font-weight:500}.nav-icon{display:grid;width:1rem;place-items:center;font-size:1rem}.nav-count{margin-left:auto;height:1rem;min-width:1rem;border-radius:var(--radius-2xl);background:var(--destructive);color:var(--primary-foreground);font-size:10px;text-align:center;line-height:1rem}.sidebar-footer{padding:.5rem}.user-row{display:grid;width:100%;height:3rem;grid-template-columns:2rem 1fr auto;align-items:center;gap:.5rem;border:0;border-radius:var(--radius-xl);background:transparent;padding:.5rem;text-align:left}.user-row:hover{background:var(--sidebar-accent)}.user-row strong,.user-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row strong{font-size:.8125rem}.user-row small{color:var(--muted-foreground);font-size:.6875rem}.avatar{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--primary);color:var(--primary-foreground);font-size:.6875rem;font-weight:600}
.main{min-width:0;min-height:calc(100svh - 1rem);margin:.5rem .5rem .5rem var(--sidebar-width);flex:1;border-radius:var(--radius-2xl);background:var(--background);box-shadow:0 1px 3px color-mix(in oklab,var(--foreground) 8%,transparent);transition:margin .2s}.header{position:sticky;top:0;z-index:10;display:flex;height:var(--header-height);align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;background:color-mix(in oklab,var(--background) 92%,transparent);padding:0 1.5rem;backdrop-filter:blur(12px)}.header-left,.header-actions{display:flex;align-items:center;gap:.5rem}.header h1{margin:0;font-size:1rem;font-weight:500;line-height:1}.header-separator{width:1px;height:1rem;background:var(--border)}.icon-btn{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid transparent;border-radius:var(--radius-2xl);background:transparent}.icon-btn:hover{background:var(--accent)}.mobile-menu{display:none}.notification{position:relative}.notification span{position:absolute;right:-2px;top:-2px;height:1rem;min-width:1rem;border-radius:var(--radius-2xl);background:var(--destructive);color:var(--primary-foreground);font-size:10px;line-height:1rem}.live{display:flex;align-items:center;gap:.375rem;color:var(--muted-foreground);font-size:.75rem}.live i{width:.5rem;height:.5rem;border-radius:50%;background:var(--chart-4);box-shadow:0 0 0 3px color-mix(in oklab,var(--chart-4) 20%,transparent)}
.content{padding:1.5rem}.page-root{display:flex;flex-direction:column;gap:1rem}.intro-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.description{margin:.25rem 0 0;color:var(--muted-foreground)}.page-actions{display:flex;gap:.5rem;flex-shrink:0}.btn{display:inline-flex;height:2rem;align-items:center;justify-content:center;gap:.375rem;border:1px solid transparent;border-radius:var(--radius-2xl);padding:0 .75rem;background:transparent;font-weight:500;white-space:nowrap;transition:background .2s,transform .1s}.btn:active{transform:translateY(1px)}.btn.major{height:2.25rem;padding-top:.5rem;padding-bottom:.5rem}.btn.primary{background:var(--primary);color:var(--primary-foreground)}.btn.primary:hover{background:color-mix(in oklch,var(--primary),var(--foreground) 12%)}.btn.outline{border-color:var(--border);background:var(--background)}.btn.outline:hover,.btn.ghost:hover{background:var(--accent)}.btn.danger{color:var(--destructive)}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.card{overflow:hidden;border-radius:min(var(--radius-4xl),24px);background:var(--card);color:var(--card-foreground);box-shadow:0 1px 2px color-mix(in oklab,var(--foreground) 5%,transparent),0 0 0 1px color-mix(in oklab,var(--foreground) 5%,transparent)}.dark .card{box-shadow:0 1px 2px color-mix(in oklab,var(--foreground) 5%,transparent),0 0 0 1px color-mix(in oklab,var(--foreground) 10%,transparent)}.stat{display:flex;min-height:10.5rem;flex-direction:column;padding:1.25rem}.card-header{display:grid;grid-template-columns:1fr auto;gap:.375rem}.card-header p{margin:0;color:var(--muted-foreground)}.card-header strong{grid-column:1/-1;margin-top:.625rem;font-size:1.75rem;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.card-header strong span{color:var(--muted-foreground);font-size:1.125rem}.badge{display:inline-flex;height:1.25rem;align-items:center;border:1px solid var(--border);border-radius:var(--radius-2xl);padding:0 .5rem;font-size:.75rem;font-weight:500;white-space:nowrap}.badge.neutral{background:var(--muted);color:var(--muted-foreground)}.badge.success{border-color:color-mix(in oklab,var(--chart-4) 45%,transparent);background:color-mix(in oklab,var(--chart-4) 18%,transparent);color:var(--foreground)}.badge.info{border-color:color-mix(in oklab,var(--chart-2) 45%,transparent);background:color-mix(in oklab,var(--chart-2) 18%,transparent)}.badge.warning{border-color:color-mix(in oklab,var(--chart-5) 50%,transparent);background:color-mix(in oklab,var(--chart-5) 20%,transparent)}.stat-footer{display:flex;flex-direction:column;gap:.375rem;margin-top:auto}.stat-footer b{font-weight:500}.stat-footer span{color:var(--muted-foreground);font-size:.75rem}
.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem}.section-header h2{margin:0;font-size:.875rem;font-weight:500}.section-header p{margin:.375rem 0 0;color:var(--muted-foreground);font-size:.75rem}.text-link{border:0;background:none;color:var(--muted-foreground);font-size:.75rem}.text-link:hover{text-decoration:underline}.table-card{padding-bottom:0}.toolbar{display:flex;gap:.5rem;padding:0 1.25rem 1rem}.search{position:relative;display:flex;max-width:24rem;flex:1;align-items:center}.search>span:not(.sr-only){position:absolute;left:.75rem;color:var(--muted-foreground)}input[type=search],select{height:2rem;border:1px solid transparent;border-radius:var(--radius-2xl);background:color-mix(in oklab,var(--input) 50%,transparent);padding:0 .625rem}input[type=search]{width:100%;padding-left:2rem}select{min-width:8.5rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th{height:2.5rem;padding:0 1rem;text-align:left;font-weight:500;white-space:nowrap}td{height:3.75rem;padding:.5rem 1rem;border-top:1px solid var(--border);white-space:nowrap}tbody tr{transition:background .2s}tbody tr:hover{background:color-mix(in oklab,var(--muted) 50%,transparent)}tbody tr.selected{background:var(--muted)}th.check,td.check{width:2.5rem;padding-right:0}.right{text-align:right}.action-col{width:3rem}.task-title{display:flex;align-items:center;gap:.625rem}.task-icon{display:grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:var(--radius-lg);background:var(--accent);font-size:.75rem}.task-title strong,.task-title small{display:block}.task-title strong{font-size:.8125rem}.task-title small{margin-top:.2rem;color:var(--muted-foreground);font-size:.6875rem}.agent-cell{display:flex;align-items:center;gap:.5rem}.mini-avatar{display:grid;width:1.5rem;height:1.5rem;place-items:center;border-radius:50%;background:var(--muted);font-size:.625rem;font-weight:600}.status{display:inline-flex;align-items:center;gap:.375rem}.status i{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--muted-foreground)}.status.running i{background:var(--chart-1);box-shadow:0 0 0 3px color-mix(in oklab,var(--chart-1) 18%,transparent)}.status.queued i{background:var(--chart-2)}.status.review i{background:var(--chart-5)}.status.failed{color:var(--destructive)}.status.failed i{background:var(--destructive)}.progress-cell{display:flex;align-items:center;gap:.5rem}.progress{width:5rem;height:.5rem;overflow:hidden;border-radius:var(--radius-2xl);background:var(--muted)}.progress span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.progress-cell small{width:2rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.row-action{width:1.75rem;height:1.75rem;border:0;border-radius:var(--radius-2xl);background:transparent}.row-action:hover{background:var(--accent)}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary)}.empty-state{padding:3rem;text-align:center;color:var(--muted-foreground)}.empty-state>span{font-size:1.5rem}.empty-state p{margin:.75rem}
.lower-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}.chart-container{height:15rem;padding:0 1.25rem 1.25rem}.chart-container svg{width:100%;height:100%;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1}.chart-label{fill:var(--muted-foreground);font-size:11px}.bar-done{fill:var(--chart-1)}.bar-fail{fill:var(--chart-3)}.legend{display:flex;gap:.75rem;color:var(--muted-foreground);font-size:.75rem}.legend span{display:flex;align-items:center;gap:.3rem}.legend i{width:.5rem;height:.5rem;border-radius:2px}.legend .done{background:var(--chart-1)}.legend .fail{background:var(--chart-3)}.agent-list{padding:0 1.25rem 1.25rem}.agent-row{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.625rem;padding:.625rem 0;border-top:1px solid var(--border)}.agent-row:first-child{border-top:0;padding-top:0}.agent-row strong,.agent-row small{display:block}.agent-row strong{font-size:.8125rem}.agent-row small{margin-top:.2rem;color:var(--muted-foreground);font-size:.6875rem}.availability{text-align:right}.availability b{display:block;font-size:.75rem}.availability span{color:var(--muted-foreground);font-size:.6875rem}.timeline{list-style:none;margin:0;padding:0 1.25rem 1.25rem}.timeline li{position:relative;display:grid;grid-template-columns:1.75rem 1fr auto;gap:.625rem;padding:.625rem 0}.timeline li:not(:last-child)::before{content:"";position:absolute;left:.84375rem;top:2rem;bottom:-.25rem;width:1px;background:var(--border)}.timeline-icon{z-index:1;display:grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:50%;background:var(--muted);font-size:.75rem}.timeline p{margin:0;font-size:.8125rem}.timeline small{display:block;margin-top:.2rem;color:var(--muted-foreground);font-size:.6875rem}.timeline time{color:var(--muted-foreground);font-size:.6875rem}.selection-bar{position:fixed;left:50%;bottom:1.25rem;z-index:40;display:flex;align-items:center;gap:.75rem;transform:translateX(-50%);border:1px solid var(--border);border-radius:999px;background:color-mix(in oklab,var(--card) 95%,transparent);padding:.5rem 1rem;box-shadow:0 10px 24px color-mix(in oklab,var(--foreground) 15%,transparent);backdrop-filter:blur(12px)}.selection-bar>span{font-weight:500}.toast-region{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:flex;width:min(22rem,calc(100vw - 2.5rem));flex-direction:column;gap:.5rem}.toast{display:flex;align-items:center;gap:.625rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--popover);color:var(--popover-foreground);padding:.75rem 1rem;box-shadow:0 10px 24px color-mix(in oklab,var(--foreground) 14%,transparent);animation:toast-in .2s ease}.toast i{color:var(--chart-4);font-style:normal}@keyframes toast-in{from{opacity:0;transform:translateY(.5rem)}}.sidebar-backdrop{position:fixed;inset:0;z-index:15;background:color-mix(in oklab,var(--foreground) 35%,transparent)}.app-shell.collapsed .sidebar{transform:translateX(-100%)}.app-shell.collapsed .main{margin-left:.5rem}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat:nth-child(4),.stat:nth-child(5){grid-column:span 1}.lower-grid{grid-template-columns:1fr}.chart-container{height:16rem}}
@media(max-width:767px){.sidebar{transform:translateX(-100%);width:18rem;background:var(--sidebar)}.sidebar.mobile-open{transform:translateX(0)}.main{min-height:100svh;margin:0;border-radius:0}.header{border-radius:0;padding:0 1rem}.mobile-menu{display:grid}.desktop-collapse{display:none}.content{padding:1rem}.intro-row{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid .stat:last-child{grid-column:1/-1}.toolbar{flex-wrap:wrap}.search{max-width:none;flex-basis:100%}.toolbar label:not(.search){flex:1}.toolbar select{width:100%;min-width:0}.live{display:none}.selection-bar{width:calc(100% - 2rem);justify-content:center}.timeline li{grid-template-columns:1.75rem 1fr}.timeline time{grid-column:2}.chart-container{height:13rem}}
@media(max-width:480px){.kpi-grid{grid-template-columns:1fr}.kpi-grid .stat:last-child{grid-column:auto}.header-actions{gap:.125rem}.description{font-size:.8125rem}.section-header{padding:1rem}.toolbar{padding:0 1rem 1rem}.agent-list,.timeline{padding-left:1rem;padding-right:1rem}.selection-bar{gap:.25rem;padding:.5rem}.selection-bar .btn{padding:0 .5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
