.icon{vertical-align:middle;color:currentColor;flex-shrink:0;display:inline-block}.icon--default{color:currentColor}.icon--primary{color:var(--color-primary)}.icon--success{color:var(--color-success)}.icon--warning{color:var(--color-warning)}.icon--error{color:var(--color-error)}.icon--secondary{color:var(--color-text-secondary)}.icon--sm{width:16px;height:16px}.icon--md{width:20px;height:20px}.icon--lg{width:24px;height:24px}.icon--xl{width:32px;height:32px}.spinner{animation:1.2s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-btn);font-weight:var(--font-weight-semibold);transition:all var(--speed-default) var(--easing-default);border-radius:var(--border-radius-btn);height:var(--button-height-base);padding:var(--spacing-button-padding-y-base) var(--spacing-button-padding-x-base);background-color:var(--color-transparent);border:var(--border-width-thick) solid var(--color-mine-shaft);color:var(--color-mine-shaft);white-space:nowrap;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;contain:layout;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn:hover{text-decoration:none}.btn-xs{height:var(--button-height-xs);padding:var(--spacing-button-padding-y-xs) var(--spacing-button-padding-x-xs);font-size:var(--font-size-xs)}.btn-sm{height:var(--button-height-sm);padding:var(--spacing-button-padding-y-sm) var(--spacing-button-padding-x-sm);font-size:var(--font-size-sm)}.btn-md{height:var(--button-height-base);padding:var(--spacing-button-padding-y-base) var(--spacing-button-padding-x-base);font-size:var(--font-size-base)}.btn-lg{height:var(--button-height-lg);padding:var(--spacing-button-padding-y-lg) var(--spacing-button-padding-x-lg);font-size:var(--font-size-md)}.btn-xl{height:var(--button-height-xl);padding:var(--spacing-button-padding-y-xl) var(--spacing-button-padding-x-xl);font-size:var(--font-size-lg)}.btn-primary{border:var(--border-width-thick) solid var(--color-azure-radiance);color:var(--color-mine-shaft)}.btn-primary:hover:not(:disabled){background-color:var(--color-azure-radiance);color:var(--color-white);box-shadow:0 2px 4px var(--color-primary-shadow)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-active);transform:translateY(1px)}.btn-secondary{background-color:var(--color-mine-shaft);border-color:var(--color-mine-shaft);color:var(--color-alabaster)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover);color:var(--color-white);box-shadow:0 2px 4px var(--color-secondary-shadow)}.btn-secondary:active:not(:disabled){background-color:var(--color-secondary-active);border-color:var(--color-secondary-active);transform:translateY(1px)}.btn-outline{border:var(--border-width-thick) solid var(--color-azure-radiance);color:var(--color-azure-radiance)}.btn-outline:hover:not(:disabled){background-color:var(--color-azure-radiance10);border-color:var(--color-azure-radiance);color:var(--color-azure-radiance)}.btn-outline:active:not(:disabled){background-color:var(--color-outline-active);transform:translateY(1px)}.btn-ghost{color:var(--color-mine-shaft);border:none}.btn-ghost:hover:not(:disabled){background-color:var(--color-ghost-hover)}.btn-ghost:active:not(:disabled){background-color:var(--color-ghost-active);transform:translateY(1px)}.btn-tertiary{border:var(--border-width-thick) solid transparent;color:var(--color-azure-radiance);background-color:#0000;text-decoration:underline}.btn-tertiary:hover:not(:disabled){color:var(--color-tertiary-hover);text-decoration:underline}.btn-tertiary:active:not(:disabled){color:var(--color-tertiary-active);transform:translateY(1px)}.btn-danger{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--color-white);position:relative}.btn-danger:before{content:"";border:var(--border-width-thick) solid transparent;border-radius:inherit;transition:border-color var(--speed-default) var(--easing-default);position:absolute;inset:-2px}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover);box-shadow:0 4px 8px var(--color-error-shadow);transform:translateY(-1px)}.btn-danger:focus:not(:disabled){outline:none}.btn-danger:focus:not(:disabled):before{border-color:var(--color-azure-radiance)}.btn-danger:active:not(:disabled){box-shadow:0 2px 4px var(--color-error50);transform:translateY(0)}@media (prefers-contrast:high){.btn-danger{background-color:var(--color-danger-high-contrast);border-color:var(--color-danger-high-contrast);color:var(--color-white);border-width:3px}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover);filter:brightness(.85)}}@media (prefers-reduced-motion:reduce){.btn-danger,.btn-danger:before{transition:none}.btn-danger:hover:not(:disabled),.btn-danger:active:not(:disabled){box-shadow:none;transform:none}}.btn:disabled,.btn-disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-loading{color:#0000}.btn-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-content{align-items:center;gap:var(--spacing-micro);display:inline-flex}.btn-content.invisible{visibility:hidden}.alert{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--border-radius-lg);border:var(--border-width-default) solid;display:flex}.alert__icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.alert__content{flex:1;min-width:0}.alert__title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.alert__message{font-size:var(--font-size-sm);line-height:var(--line-height-base)}.alert__dismiss{opacity:var(--opacity-muted);transition:opacity var(--transition-default);flex-shrink:0}.alert__dismiss:hover{opacity:1}.alert--no-title{align-items:center}.alert--success{background-color:var(--color-success50);border-color:var(--color-success);color:var(--color-success)}.alert--success .alert__message{color:var(--color-gray700)}.alert--warning{background-color:var(--color-warning50);border-color:var(--color-warning);color:var(--color-warning)}.alert--warning .alert__message{color:var(--color-gray700)}.alert--error{background-color:var(--color-error50);border-color:var(--color-error);color:var(--color-error)}.alert--error .alert__message{color:var(--color-gray700)}.alert--info{background-color:var(--color-azure-radiance10);border-color:var(--color-azure-radiance);color:var(--color-azure-radiance)}.alert--info .alert__message{color:var(--color-gray700)}.avatar{font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.avatar-xs{width:24px;height:24px;font-size:var(--font-size-xs)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-base)}.avatar-xl{width:64px;height:64px;font-size:var(--font-size-lg)}.avatar-primary{background:var(--color-azure-radiance);color:#fff}.avatar-secondary{background:var(--color-gray200);color:var(--color-gray700)}.avatar-neutral{background:var(--color-gray100);color:var(--color-gray600)}.avatar-interactive{cursor:pointer;transition:transform .2s cubic-bezier(.34, 1.56, .64, 1), box-shadow var(--transition-default);border:none;position:relative}.avatar-interactive:after{content:"";border:var(--border-width-thick) solid transparent;transition:border-color var(--transition-default), transform var(--transition-default);border-radius:50%;position:absolute;inset:-3px}.avatar-interactive:hover{box-shadow:var(--shadow-xl);transform:scale(1.08)}.avatar-interactive:hover:after{border-color:var(--color-gray200)}.avatar-interactive.avatar-primary:hover:after{border-color:var(--color-primary)}.avatar-interactive:active{transition-duration:.1s;transform:scale(.95)}.avatar-interactive:focus-visible{outline:none}.avatar-interactive:focus-visible:after{border-color:var(--color-azure-radiance);box-shadow:0 0 0 2px white, 0 0 0 4px var(--color-azure-radiance)}.dropdown{display:inline-block;position:relative}.dropdown-trigger{cursor:pointer}.dropdown-panel{z-index:50;border:var(--border-width-default) solid var(--color-gray200);border-radius:var(--border-radius-lg);isolation:isolate;min-width:200px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);background:#fff;position:absolute;overflow:hidden;transform:translateY(-8px);-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}.dropdown-panel-open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-bottom{margin-top:var(--spacing-xs);top:100%}.dropdown-top{margin-bottom:var(--spacing-xs);bottom:100%}.dropdown-right{right:0}.dropdown-left{left:0}.dropdown-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);color:var(--color-gray700);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;text-decoration:none;display:flex}.dropdown-item:hover:not(.dropdown-item-disabled){background-color:var(--color-gray50)}.dropdown-item:active:not(.dropdown-item-disabled){background-color:var(--color-gray100)}.dropdown-item-danger{color:var(--color-danger)}.dropdown-item-danger:hover:not(.dropdown-item-disabled){background-color:var(--color-error50)}.dropdown-item-disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.dropdown-item-icon{width:20px;height:20px;color:var(--color-gray500);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dropdown-item-danger .dropdown-item-icon{color:inherit}.dropdown-item-label{flex:1}.dropdown-divider{height:1px;margin:var(--spacing-xs) 0;background-color:var(--color-gray100)}.dropdown-header{padding:var(--spacing-md) var(--spacing-lg)}.card{background:var(--color-white);border:var(--border-width-default) solid var(--color-border-primary);border-radius:var(--border-radius-base);box-shadow:var(--shadow-sm);font-size:var(--font-size-base);flex-direction:column;display:flex}.card-body{padding:var(--spacing-card-padding-base);color:color-mix(in oklch, var(--color-text-primary), transparent 40%);flex:1}.card-header{border-bottom:var(--border-width-default) solid var(--color-border-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);padding:var(--spacing-card-padding-base)}.card-header :is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}.card-header-with-end{justify-content:space-between;align-items:center;gap:var(--spacing-base);display:flex}.card-header-content{flex:1;min-width:0}.card-header-end{flex-shrink:0}.card-footer{border-top:var(--border-width-default) solid var(--color-border-primary);padding:var(--spacing-card-padding-base)}.card-padding-sm .card-body,.card-padding-sm .card-header,.card-padding-sm .card-header-with-end,.card-padding-sm .card-footer{padding:var(--spacing-card-padding-sm)}.card-padding-base .card-body,.card-padding-base .card-header,.card-padding-base .card-header-with-end,.card-padding-base .card-footer{padding:var(--spacing-card-padding-base)}.card-padding-lg .card-body,.card-padding-lg .card-header,.card-padding-lg .card-header-with-end,.card-padding-lg .card-footer{padding:var(--spacing-card-padding-lg)}.card-padding-none .card-body{padding:0}.card-padding-none .card-header,.card-padding-none .card-header-with-end,.card-padding-none .card-footer{padding:var(--spacing-card-padding-base)}.card-elevated{box-shadow:var(--shadow-md)}.card-interactive{transition:all var(--speed-fast) var(--easing-default);cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-success{border:var(--border-width-default) solid var(--color-success);background:color-mix(in oklch, var(--color-success) 5%, transparent)}.card-warning{border:var(--border-width-default) solid var(--color-warning);background:color-mix(in oklch, var(--color-warning) 5%, transparent)}.card-danger{border:var(--border-width-default) solid var(--color-danger);background:color-mix(in oklch, var(--color-danger) 5%, transparent)}.card-primary{border:var(--border-width-default) solid var(--color-primary);background:color-mix(in oklch, var(--color-primary) 5%, transparent)}.card-flat{box-shadow:none;background:0 0;border:none}.card.card-borderless{border:none}.card.card-radius-none{border-radius:var(--border-radius-none)}.card.card-radius-sm{border-radius:var(--border-radius-sm)}.card.card-radius-lg{border-radius:var(--border-radius-lg)}.card.card-radius-base{border-radius:var(--border-radius-base)}.grid-item{flex-direction:column;min-height:0;display:flex;overflow:visible}.grid-item>.card{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.grid-item>.card .card-body{flex-direction:column;min-height:0;display:flex}@keyframes grid-item-pulse{0%{box-shadow:var(--shadow-sm)}30%{transform:scale(1.015);box-shadow:0 0 0 3px oklch(60% .2 250/.25)}to{box-shadow:var(--shadow-sm);transform:scale(1)}}.grid-item--pulse>.card{animation:.5s ease-out grid-item-pulse}.grid{width:100%;display:grid;overflow:hidden}.grid>*{min-width:0;max-width:100%;min-height:0;max-height:100%;overflow:hidden}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.grid-cols-none{grid-template-columns:none}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-rows-auto{grid-template-rows:auto}.grid-rows-none{grid-template-rows:none}.grid-gap-none{gap:0}.grid-gap-xs{gap:var(--spacing-xs)}.grid-gap-sm{gap:var(--spacing-sm)}.grid-gap-md{gap:var(--spacing-md)}.grid-gap-base{gap:var(--spacing-base)}.grid-gap-lg{gap:var(--spacing-lg)}.grid-gap-xl{gap:var(--spacing-xl)}.grid-gap-2xl{gap:var(--spacing-2xl)}.grid-items-start{align-items:start}.grid-items-center{align-items:center}.grid-items-end{align-items:end}.grid-items-stretch{align-items:stretch}.grid-justify-start{justify-items:start}.grid-justify-center{justify-items:center}.grid-justify-end{justify-items:end}.grid-justify-stretch{justify-items:stretch}.grid-battery{gap:var(--spacing-base);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.grid-battery.density-compact{gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.grid-battery.density-spacious{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid-dashboard{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-data-table{gap:var(--spacing-sm);grid-template-columns:1fr}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}.col-span-9{grid-column:span 9}.col-span-10{grid-column:span 10}.col-span-11{grid-column:span 11}.col-span-12{grid-column:span 12}.col-span-full{grid-column:1/-1}.row-span-1{grid-row:span 1}.row-span-2{grid-row:span 2}.row-span-3{grid-row:span 3}.row-span-4{grid-row:span 4}.row-span-5{grid-row:span 5}.row-span-6{grid-row:span 6}@media (width>=640px){.grid-responsive .sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-responsive .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-responsive .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-responsive .sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-responsive .sm\:grid-gap-sm{gap:var(--spacing-sm)}.grid-responsive .sm\:grid-gap-md{gap:var(--spacing-md)}}@media (width>=768px){.grid-responsive .md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-responsive .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-responsive .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-responsive .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-responsive .md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-responsive .md\:grid-gap-md{gap:var(--spacing-md)}.grid-responsive .md\:grid-gap-base{gap:var(--spacing-base)}}@media (width>=1024px){.grid-responsive .lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-responsive .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-responsive .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-responsive .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-responsive .lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-responsive .lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-responsive .lg\:grid-gap-base{gap:var(--spacing-base)}.grid-responsive .lg\:grid-gap-lg{gap:var(--spacing-lg)}}@media (width>=1280px){.grid-responsive .xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-responsive .xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-responsive .xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-responsive .xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-responsive .xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-responsive .xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-responsive .xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-responsive .xl\:grid-gap-lg{gap:var(--spacing-lg)}}.input{width:100%;height:var(--button-height-base);padding:0 var(--spacing-base);border:var(--border-width-default) solid var(--color-border-primary);border-radius:var(--border-radius-base);font-family:var(--font-family);font-size:var(--font-size-base);background-color:var(--color-white);transition:box-shadow var(--speed-fast) var(--easing-default), border-color var(--speed-fast) var(--easing-default);line-height:var(--line-height-base);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.input:disabled{background-color:var(--color-gray100);cursor:not-allowed;opacity:var(--opacity-muted)}.input-sm{height:var(--button-height-sm);font-size:var(--font-size-sm);padding:0 var(--spacing-sm)}.input-lg{height:var(--button-height-lg);font-size:var(--font-size-lg);padding:0 var(--spacing-lg)}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:var(--shadow-focus-error)}.select{width:100%;height:var(--button-height-base);padding:0 var(--spacing-xl) 0 var(--spacing-base);border:var(--border-width-default) solid var(--color-border-primary);border-radius:var(--border-radius-base);font-family:var(--font-family);font-size:var(--font-size-base);background-color:var(--color-white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-base) center;appearance:none;cursor:pointer;transition:box-shadow var(--speed-fast) var(--easing-default), border-color var(--speed-fast) var(--easing-default)}.select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.select:disabled{background-color:var(--color-gray100);cursor:not-allowed;opacity:var(--opacity-muted)}.select-sm{height:var(--button-height-sm);font-size:var(--font-size-sm);padding:0 var(--spacing-lg) 0 var(--spacing-sm)}.select-lg{height:var(--button-height-lg);font-size:var(--font-size-lg);padding:0 var(--spacing-xl) 0 var(--spacing-lg)}.select-error{border-color:var(--color-error)}.select-error:focus{box-shadow:var(--shadow-focus-error)}.checkbox{align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:20px;display:inline-flex;position:relative}.checkbox-input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkbox-box{border:var(--border-width-thick) solid var(--color-border-secondary);border-radius:var(--border-radius-sm);background-color:var(--color-white);width:20px;height:20px;transition:all var(--transition-default);flex-shrink:0;display:inline-block;position:relative}.checkbox-input:checked~.checkbox-box{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-box:after{content:"";border:solid var(--color-white);opacity:0;width:4px;height:8px;transition:opacity var(--transition-default);border-width:0 2px 2px 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)rotate(45deg)}.checkbox-input:checked~.checkbox-box:after{opacity:1}.checkbox-input:focus-visible~.checkbox-box{box-shadow:var(--shadow-focus);outline:none}.checkbox-input:disabled~.checkbox-box{background-color:var(--color-gray100);border-color:var(--color-gray300);cursor:not-allowed;opacity:var(--opacity-muted)}.checkbox-input:disabled:checked~.checkbox-box{background-color:var(--color-gray400);border-color:var(--color-gray400)}.checkbox-input:disabled~.checkbox-label{opacity:var(--opacity-muted);cursor:not-allowed}.checkbox-label{font-size:var(--font-size-base);color:var(--color-text-primary);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;padding-top:0;line-height:20px}.checkbox:hover:not(:has(.checkbox-input:disabled)) .checkbox-box{border-color:var(--color-primary)}.checkbox-error .checkbox-box{border-color:var(--color-error)}.checkbox-error .checkbox-input:checked~.checkbox-box{background-color:var(--color-error);border-color:var(--color-error)}.checkbox-error .checkbox-input:focus-visible~.checkbox-box{box-shadow:var(--shadow-focus-error)}.checkbox-input:indeterminate~.checkbox-box{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-input:indeterminate~.checkbox-box:after{content:"";background-color:var(--color-white);opacity:1;border:none;width:10px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}.file-drop-wrapper{gap:var(--spacing-xs);flex-direction:column;width:100%;display:flex}.file-drop{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-lg);border:var(--border-width-default) dashed var(--color-border-primary);border-radius:var(--border-radius-base);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--speed-fast) ease, background-color var(--speed-fast) ease;background:0 0;display:flex}.file-drop:hover:not(.file-drop--disabled){border-color:var(--color-primary);color:var(--color-text-primary)}.file-drop:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.file-drop--dragging{border-color:var(--color-primary);background:var(--color-azure-radiance10);color:var(--color-text-primary)}.file-drop--filled{padding:var(--spacing-md);color:var(--color-text-primary);border-style:solid;justify-content:flex-start}.file-drop--error{border-color:var(--color-error)}.file-drop--disabled{cursor:not-allowed;opacity:.6}.file-drop__label{text-align:center}.file-drop__file{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.file-drop__filename{font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.file-drop__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.file-drop__clear{padding:var(--spacing-xs);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.file-drop__clear:hover,.file-drop__clear:focus-visible{color:var(--color-text-primary);background:var(--color-gray50)}.file-drop__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-drop__hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){.file-drop{transition:none}}.radio{align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;position:relative}.radio-input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:0}.radio-input:focus{box-shadow:var(--shadow-focus);border-radius:var(--border-radius-full);outline:none}.radio-input:disabled{cursor:not-allowed;opacity:var(--opacity-muted)}.radio-input:disabled~.radio-label{opacity:var(--opacity-muted);cursor:not-allowed}.radio-label{font-size:var(--font-size-base);color:var(--color-text-primary);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;line-height:1}.radio-error .radio-input{accent-color:var(--color-error)}.radio-error .radio-input:focus{box-shadow:var(--shadow-focus-error)}.textarea{width:100%;min-height:120px;padding:var(--spacing-base);border:var(--border-width-default) solid var(--color-border-primary);border-radius:var(--border-radius-base);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);resize:vertical;background-color:var(--color-white);transition:box-shadow var(--speed-fast) var(--easing-default), border-color var(--speed-fast) var(--easing-default)}.textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.textarea:disabled{background-color:var(--color-gray100);cursor:not-allowed;opacity:var(--opacity-muted)}.textarea::placeholder{color:var(--color-text-secondary)}.textarea-error{border-color:var(--color-error)}.textarea-error:focus{box-shadow:var(--shadow-focus-error)}.textarea-monospace{font-family:var(--font-family-mono);font-size:var(--font-size-base);background-color:var(--color-gray50)}.tooltip-wrapper{cursor:help;display:inline-block;position:relative}.tooltip{background:var(--color-gray900);color:var(--color-white,#fff);border-radius:var(--border-radius-sm);line-height:var(--line-height-tight,1.4);white-space:nowrap;z-index:9999;pointer-events:none;box-shadow:var(--shadow-xl);flex-direction:column;align-items:center;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}.tooltip--sm{padding:var(--spacing-tooltip-padding-sm,4px 8px);font-size:var(--font-size-xs,11px)}.tooltip--md{padding:var(--spacing-tooltip-padding-md,8px 16px);font-size:var(--font-size-base,14px)}.tooltip:after{content:"";border:4px solid #0000;border-top-color:var(--color-gray900);position:absolute;top:100%;left:50%;transform:translate(-50%)}.label{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);display:inline-flex}.label-required{color:var(--color-error);font-weight:var(--font-weight-semibold)}.form-field{margin-bottom:var(--spacing-lg)}.form-field-label-wrapper{justify-content:space-between;align-items:center;display:flex}.form-field-help{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-field-error-message{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error);font-weight:var(--font-weight-semibold)}.form-field-error .form-field-help{display:none}.navigation{background:var(--color-surface);display:flex}.navigation--horizontal{gap:var(--spacing-xs);padding:var(--spacing-base);border-bottom:var(--border-width-default) solid var(--color-border);flex-direction:row}.navigation--vertical{gap:var(--spacing-xs);flex-direction:column;min-width:200px;padding:0}.navigation__item{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-text-secondary);border-radius:var(--border-radius-base);transition:all var(--transition-default);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1;text-decoration:none;display:flex}.navigation__item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.navigation__item--active{color:var(--color-primary);background:var(--color-primary-soft)}.navigation__item--active:hover{background:var(--color-primary-soft)}.navigation__label{flex:1}.navigation-section{margin-bottom:var(--spacing-sm)}.navigation-section__header.btn{width:100%;padding:var(--spacing-xs) var(--spacing-sm);justify-content:space-between}.navigation-section__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.navigation-section__chevron{color:var(--color-text-tertiary);transition:transform var(--transition-default);display:flex}.navigation-section--collapsed .navigation-section__chevron{transform:rotate(-90deg)}.navigation-section__content{margin-top:var(--spacing-xs);padding-left:var(--spacing-md)}.logo{vertical-align:middle;flex-shrink:0;display:inline-block}.logo--full,.logo--compact{width:auto}.badge{font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-base);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;transition:all var(--transition-default);justify-content:center;align-items:center;line-height:1;display:inline-flex}.badge.compact{font-size:var(--font-size-xs);padding:2px var(--spacing-sm);min-height:18px}.badge.sm{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-base);min-width:140px;min-height:20px}.badge.md{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-lg);min-width:150px;min-height:24px}.badge.lg{font-size:var(--font-size-base);padding:var(--spacing-base) var(--spacing-xl);min-width:160px;min-height:32px}.badge.success{background-color:var(--color-success50);color:var(--color-success);border:var(--border-width-default) solid var(--color-success)}.badge.warning{background-color:var(--color-warning50);color:var(--color-warning);border:var(--border-width-default) solid var(--color-warning)}.badge.error{background-color:var(--color-error50);color:var(--color-error);border:var(--border-width-default) solid var(--color-error)}.badge.info{background-color:var(--color-primary-soft);color:var(--color-azure-radiance);border:var(--border-width-default) solid var(--color-azure-radiance)}.badge.inactive{background-color:var(--color-gray50);color:var(--color-text-secondary);border:var(--border-width-default) solid var(--color-border-primary)}.badge.primary{background-color:var(--color-primary-soft);color:var(--color-primary);border:var(--border-width-default) solid var(--color-primary)}.badge.secondary{background-color:var(--color-gray50);color:var(--color-text-primary);border:var(--border-width-default) solid var(--color-border-primary)}.badge.neutral{background-color:var(--color-alabaster);color:var(--color-text-secondary);border:var(--border-width-default) solid var(--color-border-primary)}.breadcrumb{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;margin:0;padding:0;display:flex}.breadcrumb-list{align-items:center;gap:var(--spacing-sm);margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item{align-items:center;margin:0;padding:0;display:flex}.breadcrumb-item:not(:last-child):after{content:"";margin-left:var(--spacing-sm)}.breadcrumb-link{color:var(--color-text-secondary);transition:color var(--transition-default);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) 0;text-decoration:none}.breadcrumb-link:hover{color:var(--color-primary);text-decoration:underline}.breadcrumb-link:focus{outline:2px solid var(--color-focus);outline-offset:2px}.breadcrumb-current{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) 0}.breadcrumb-separator{color:var(--color-text-tertiary);margin:0 var(--spacing-sm);align-items:center;display:inline-flex}.breadcrumb-separator .icon{margin:0 calc(var(--spacing-sm) * -.5)}.breadcrumb-separator-text{font-size:var(--font-size-sm);line-height:1}.breadcrumb-ellipsis{color:var(--color-text-tertiary);padding:var(--spacing-xs) var(--spacing-sm);cursor:default}.breadcrumb-ellipsis:focus{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--border-radius-sm)}.copy-button--icon .copy-button__text,.copy-button--text .copy-button__icon{display:none}.copy-button--copying .copy-button__icon{animation:1s linear infinite spin}.error-page{min-height:400px;padding:var(--spacing-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.error-page__content{flex-direction:column;align-items:center;width:100%;max-width:400px;display:flex}.error-page__header{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-base);color:var(--color-text-secondary);display:flex}.error-page__status-code{font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.error-page__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);line-height:var(--line-height-tight)}.error-page__message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:var(--line-height-relaxed)}.error-page__actions{gap:var(--spacing-base);flex-direction:column;align-items:center;display:flex}.error-page__actions>*{min-width:200px}.error-page__dev-info{margin-top:var(--spacing-xl);padding:var(--spacing-base);background:var(--color-gray50);border:var(--border-width-default) solid var(--color-border-secondary);border-radius:var(--border-radius-base);text-align:left;width:100%}.error-page__dev-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-base);align-items:center;gap:var(--spacing-sm);display:flex}.error-page__dev-title .copy-button{margin-left:auto}.error-page__dev-content{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:break-word;background:var(--color-white);padding:var(--spacing-base);border:var(--border-width-default) solid var(--color-border-primary);border-radius:var(--border-radius-sm)}.error-page__dev-content pre{font-family:inherit;font-size:inherit;white-space:pre-wrap;overflow-wrap:break-word;margin:0}@media (width>=640px){.error-page__actions{flex-direction:row;justify-content:center}.error-page__actions>*{min-width:auto}}.modal-backdrop{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.modal-backdrop.closing{animation:.2s ease-in-out fadeOut}.modal-scrim{position:absolute;inset:0}.modal{max-height:90vh;animation:.3s ease-out slideIn;position:relative;overflow:auto}.modal.closing{animation:.3s ease-out slideOut}.modal.sm{width:90%;max-width:400px}.modal.md{width:90%;max-width:600px}.modal.lg{width:90%;max-width:800px}.modal .card-header{justify-content:space-between;align-items:center;display:flex}.modal .card-footer{justify-content:flex-end;gap:12px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.reason-modal{gap:var(--spacing-base);flex-direction:column;display:flex}.reason-modal__explanation{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);gap:var(--spacing-sm);flex-direction:column;display:flex}.reason-modal__field{gap:var(--spacing-xs);flex-direction:column;display:flex}.reason-modal__count{color:var(--color-text-secondary)}.relative-time{font-variant-numeric:tabular-nums;white-space:nowrap}.step-list{--step-marker-size:.625rem;--step-rail-width:1rem;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step-list__item{grid-template-columns:var(--step-rail-width) 1fr auto;align-items:center;gap:var(--spacing-base);min-height:var(--button-height-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:grid;position:relative}.step-list__item:before{content:"";left:calc(var(--step-rail-width) / 2);background-color:var(--color-border-subtle);width:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.step-list__item--first:before{top:50%}.step-list__item--last:before{bottom:50%}.step-list__item--last:first-child:before{display:none}.step-list__item--reached:before{background-color:var(--color-success)}.step-list__marker{width:var(--step-marker-size);height:var(--step-marker-size);border-radius:var(--border-radius-full);background-color:var(--color-surface);box-shadow:0 0 0 1px var(--color-border-strong) inset;justify-self:center;position:relative}.step-list__item--reached .step-list__marker{background-color:var(--color-success);box-shadow:none}.step-list__item--stalled .step-list__marker{background-color:var(--color-warning);box-shadow:none}.step-list__item--current .step-list__marker{background-color:var(--color-surface);box-shadow:0 0 0 2px var(--color-azure-radiance) inset}.step-list__item--current.step-list__item--stalled .step-list__marker{box-shadow:0 0 0 2px var(--color-warning) inset}.step-list__item--pending:not(.step-list__item--current) .step-list__label{color:var(--color-text-primary)}.step-list__time{font-weight:var(--font-weight-semibold);white-space:nowrap;color:var(--color-text-primary)}.step-list__item--pending .step-list__time{color:var(--color-azure-radiance)}.step-list__item--stalled .step-list__time{color:var(--color-warning)}.progress-bar{gap:var(--spacing-xs);flex-direction:column;display:flex}.progress-bar-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.progress-bar-row{align-items:center;gap:var(--spacing-sm);display:flex}.progress-bar-track{background:var(--color-gray100);border-radius:var(--border-radius-sm);flex:1;height:4px;overflow:hidden}.progress-bar-fill{background:var(--progress-bar-color,var(--color-primary,var(--color-azure-radiance)));border-radius:var(--border-radius-sm);height:100%;transition:width .3s}.progress-bar-compact-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.progress-bar-percentage{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:3ch}.progress-bar-fill--indeterminate{width:40%;animation:1.4s ease-in-out infinite progress-bar-sweep}@keyframes progress-bar-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.progress-bar-fill--indeterminate{opacity:.5;width:100%;animation:none}}.skeleton{background:linear-gradient(90deg,#d0d0d0 0%,#e8e8e8 50%,#d0d0d0 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse;display:inline-block;overflow:hidden}.skeleton-radius-none{border-radius:var(--border-radius-none)}.skeleton-radius-sm{border-radius:var(--border-radius-sm)}.skeleton-radius-base{border-radius:var(--border-radius-base)}.skeleton-radius-lg{border-radius:var(--border-radius-lg)}.skeleton-radius-full{border-radius:var(--border-radius-full)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.metric-card-wrapper{transition:transform var(--transition-default), box-shadow var(--transition-default)}.metric-card-wrapper:hover{transform:translateY(-2px)}.metric-card{align-items:flex-start;gap:var(--spacing-base);display:flex}.metric-icon-wrapper{border-radius:var(--border-radius-lg);background:var(--color-alabaster);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-icon-wrapper.primary-bg{background:var(--color-bg-selected)}.metric-icon-wrapper.success-bg{background:var(--color-success50)}.metric-icon-wrapper.warning-bg{background:var(--color-warning50)}.metric-icon-wrapper.error-bg{background:var(--color-error50)}.metric-content{gap:var(--spacing-sm);flex-direction:column;flex:1;display:flex}.metric-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1}.metric-value.success{color:var(--color-success)}.metric-value.warning{color:var(--color-warning)}.metric-value.error{color:var(--color-error)}.metric-trend{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--spacing-xs);display:inline-flex}.metric-trend.success{color:var(--color-success)}.metric-trend.warning{color:var(--color-warning)}.metric-trend.error{color:var(--color-error)}.metric-trend.neutral{color:var(--color-text-secondary)}.metric-progress-section{margin-top:var(--spacing-base)}.metric-projection{gap:var(--spacing-micro);margin-top:var(--spacing-base);padding-top:var(--spacing-base);border-top:1px solid var(--color-border-primary);flex-direction:column;display:flex}.metric-loading-extras{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.metric-projection-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.metric-projection-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.metric-projection-sublabel{font-size:var(--font-size-sm);color:var(--color-text-tertiary,var(--color-text-secondary))}.metric-details{margin:var(--spacing-base) 0 0 0;padding-top:var(--spacing-base);border-top:1px solid var(--color-border-primary);gap:var(--spacing-xs);flex-direction:column;display:flex}.metric-details-row{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);margin:0;display:flex}.metric-details-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin:0}.metric-details-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;margin:0}.metric-icon-wrapper.loading{background:var(--color-alabaster)}.metric-icon-skeleton{background:var(--color-gray50,var(--color-border-primary));border-radius:var(--border-radius-sm);width:24px;height:24px;animation:1.2s ease-in-out infinite alternate pulse}.metric-value-skeleton{background:var(--color-alabaster);border-radius:var(--border-radius-sm);width:60px;height:36px;animation:1.2s ease-in-out infinite alternate pulse}.metric-label-skeleton{background:var(--color-alabaster);border-radius:var(--border-radius-sm);width:80px;height:12px;animation:1.2s ease-in-out infinite alternate pulse}.metric-trend-skeleton{background:var(--color-alabaster);border-radius:var(--border-radius-sm);width:100px;height:10px;margin-top:var(--spacing-xs);animation:1.2s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:1}to{opacity:var(--opacity-disabled)}}.tabs{gap:var(--spacing-lg);border-bottom:1px solid var(--color-border-primary);display:flex}.tabs-tab{padding:var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-default), border-color var(--transition-default);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-family:inherit}.tabs-tab:hover{color:var(--color-text-primary)}.tabs-tab.tabs-tab-active{color:var(--color-azure-radiance);border-bottom-color:var(--color-azure-radiance)}.tabs-tab:focus-visible{outline:2px solid var(--color-azure-radiance);outline-offset:2px;border-radius:var(--border-radius-sm)}.status-group-title{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0;display:flex}.status-group-content{flex-direction:column;display:flex}.status-card-item{border-bottom:var(--border-width-default) solid var(--color-border-primary)}.status-card-item:last-child{border-bottom:none}.status-item{justify-content:space-between;align-items:center;width:100%;display:flex}.status-item.interactive{cursor:inherit}.status-info{align-items:center;gap:var(--spacing-xs);display:flex}.status-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.uptime-bar-container{width:100%}.uptime-bar-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.uptime-bar-wrapper{position:relative}.uptime-bar-track{background-color:var(--color-gray50);border-radius:var(--border-radius-sm);align-items:center;gap:1px;height:32px;padding:2px;display:flex}.uptime-bar-segment{border-radius:var(--border-radius-form);height:24px;transition:transform var(--transition-default), opacity var(--transition-default);cursor:pointer;flex:1;position:relative}.uptime-bar-segment:hover{opacity:var(--opacity-hover);transform:scaleY(1.2)}.uptime-bar-healthy{background-color:var(--color-success)}.uptime-bar-degraded{background-color:var(--color-warning)}.uptime-bar-unhealthy{background-color:var(--color-error)}.uptime-bar-unknown{background-color:var(--color-gray200)}.uptime-bar-tooltip{background:var(--color-mine-shaft);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);white-space:nowrap;pointer-events:none;z-index:9999;box-shadow:var(--shadow-xl);border:var(--border-width-default) solid var(--color-gray700);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.uptime-bar-tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--color-mine-shaft);position:absolute;top:100%;left:50%;transform:translate(-50%)}.uptime-bar-tooltip-time{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-micro)}.uptime-bar-tooltip-status{font-size:var(--font-size-xs);opacity:var(--opacity-hover)}.uptime-bar-tooltip-healthy{color:var(--color-success)}.uptime-bar-tooltip-degraded{color:var(--color-warning)}.uptime-bar-tooltip-unhealthy{color:var(--color-error)}.uptime-bar-tooltip-unknown{color:var(--color-gray400)}.uptime-bar-timeline{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:space-between;display:flex}.uptime-bar-time{font-weight:var(--font-weight-semibold)}.donut-chart{justify-content:center;align-items:center;gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.donut-chart--sm{max-width:120px}.donut-chart--md{max-width:200px}.donut-chart--lg{max-width:280px}.donut-chart__svg{width:100%;overflow:visible}.donut-chart__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);fill:var(--color-text-primary)}.donut-chart--sm .donut-chart__value{font-size:var(--font-size-xl)}.donut-chart--lg .donut-chart__value{font-size:var(--font-size-4xl)}.donut-chart__label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-align:center;margin:0}.donut-chart__sublabel{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;margin:0}.line-chart{gap:var(--spacing-xs);width:100%;min-height:var(--line-chart-min-height,120px);flex-direction:column;flex:1;display:flex}.line-chart__chart{flex:1;min-height:0;position:relative}.line-chart__svg{width:100%;height:100%;display:block;overflow:visible}.line-chart__point{position:absolute;transform:translate(-50%,-50%)}.line-chart__hit-area{width:28px;height:28px}.line-chart__point .tooltip-wrapper{cursor:crosshair}.line-chart__tooltip-label{font-size:var(--font-size-xs);opacity:.7}.line-chart__gridline{stroke:var(--color-border-subtle);stroke-width:1px}.line-chart__axis{stroke:var(--color-border-primary);stroke-width:1.5px}.line-chart__axis-label{font-size:var(--font-size-xs);fill:var(--color-text-secondary)}.line-chart__area{fill:oklch(from var(--line-chart-color,var(--color-azure-radiance)) l c h / .12)}.line-chart__line{fill:none;stroke:var(--line-chart-color,var(--color-azure-radiance));stroke-width:2.5px;stroke-linejoin:round}.line-chart__dot{fill:var(--line-chart-color,var(--color-azure-radiance));stroke:var(--color-white);stroke-width:1.5px}.line-chart__dot--latest{stroke-width:2px}.line-chart__hover-guide{stroke:oklch(from var(--line-chart-color,var(--color-azure-radiance)) l c h / .3);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.line-chart__x-labels{flex-shrink:0;justify-content:space-between;padding-left:40px;padding-right:16px;display:flex}.line-chart__x-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.line-chart__legend{gap:var(--spacing-md);flex-shrink:0;padding-left:40px;display:flex}.line-chart__legend-item{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex}.line-chart__legend-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.device-location-map{width:100%;height:var(--device-location-map-height,280px)}.loc-marker-prev{width:12px;height:12px}.loc-marker-prev .loc-marker-dot{background:var(--color-text-primary);border:2px solid var(--color-surface-raised);width:12px;height:12px;box-shadow:0 0 0 1px color-mix(in oklab, var(--color-text-primary) 30%, transparent);border-radius:50%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loc-marker-current{width:28px;height:28px}.loc-marker-current .loc-marker-dot{background:var(--color-azure-radiance);border:3px solid var(--color-surface-raised);width:16px;height:16px;box-shadow:0 0 0 1px color-mix(in oklab, var(--color-azure-radiance) 40%, transparent);z-index:2;border-radius:50%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loc-marker-current .loc-marker-pulse{background:color-mix(in oklab, var(--color-azure-radiance) 35%, transparent);z-index:1;border-radius:50%;width:28px;height:28px;animation:2s ease-out infinite device-location-map-pulse;position:absolute;top:50%;left:50%}@keyframes device-location-map-pulse{0%{opacity:.6;transform:translate(-50%,-50%)scale(.7)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}@media (prefers-reduced-motion:reduce){.loc-marker-current .loc-marker-pulse{opacity:0;animation:none}}.empty-state{justify-content:center;align-items:center;gap:var(--spacing-xs,8px);padding:var(--spacing-xl,32px) var(--spacing-md,16px);text-align:center;color:var(--color-text-secondary,oklch(48% .015 260));flex-direction:column;display:flex}.empty-state__icon{color:var(--color-text-tertiary,oklch(62% .012 260));margin-bottom:var(--spacing-xs,8px)}.empty-state__title{font-size:var(--font-size-base);color:var(--color-text-primary,oklch(24% .02 260));margin:0;font-weight:600}.empty-state__description{font-size:var(--font-size-sm);color:var(--color-text-tertiary,oklch(62% .012 260));margin:0}.empty-state__extra{margin-top:var(--spacing-sm,12px)}@media (prefers-color-scheme:dark){.empty-state__title{color:var(--color-text-primary,oklch(94% .01 250))}}.device-location-card__map{position:relative}.device-location-card__overlay{z-index:500;background:color-mix(in oklab, var(--color-alabaster) 85%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.device-location-card__overlay>.card{pointer-events:auto;max-width:360px}.device-location-card__badge{align-items:center;gap:var(--spacing-xs);display:inline-flex}.device-location-card__meta{z-index:1000;justify-content:space-between;align-items:baseline;gap:var(--spacing-xs) var(--spacing-base);padding:var(--spacing-sm) var(--spacing-md);border-top:var(--border-width-default) solid var(--color-border-primary);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex;position:relative}.device-location-card__coords{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:var(--font-size-sm);color:var(--color-text-primary)}.device-location-card__gnss{align-items:baseline;gap:var(--spacing-md);margin-left:auto;display:flex}.device-location-card__failed--link{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.device-location-card__pings{padding:var(--spacing-xs) 0;overscroll-behavior:contain;max-height:240px;margin:0;list-style:none;overflow-y:auto}.device-location-card__ping{justify-content:space-between;align-items:center;gap:var(--spacing-base);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex}.device-location-card__ping-status{align-items:center;gap:var(--spacing-xs);color:var(--color-text-primary);display:inline-flex}.device-location-card__gnss--warn .device-location-card__failed{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.energy-flow{align-items:stretch;gap:var(--spacing-md);display:flex}.energy-flow__col{gap:var(--spacing-sm);flex-direction:column;flex:1;justify-content:center;display:flex}.energy-flow__col-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.energy-flow__arrow{color:var(--color-text-secondary);align-items:center;display:flex}.energy-flow__core{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg) var(--spacing-xl);border:var(--border-width-default) solid var(--color-azure-radiance);border-radius:var(--border-radius-lg);color:var(--color-azure-radiance);flex-direction:column;display:flex}.energy-flow__core-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.energy-flow__core-sub{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.energy-flow__node{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-default) solid var(--color-border-primary);border-radius:var(--border-radius-base);display:flex}.energy-flow__node.is-inactive{opacity:.5}.energy-flow__node-icon{color:var(--color-text-secondary);display:flex}.energy-flow__node-text{flex-direction:column;display:flex}.energy-flow__node-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.4px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.energy-flow__node-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.energy-flow__node-note{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.energy-flow__dir{color:var(--color-warning);font-weight:var(--font-weight-semibold)}.energy-flow__dir.is-in{color:var(--color-success)}@media (width<=720px){.energy-flow{flex-direction:column;align-items:stretch}.energy-flow__arrow{justify-content:center;transform:rotate(90deg)}}.table{border-collapse:separate;border-spacing:0;background:var(--color-bg-elevated);border-radius:var(--border-radius-lg);width:100%;box-shadow:var(--shadow-sm);border:var(--border-width-default) solid var(--color-border-subtle);transition:box-shadow var(--transition-default);overflow:hidden}.table:hover{box-shadow:var(--shadow-md)}.table--bordered{border:var(--border-width-default) solid var(--color-border-default)}.table--compact .table-cell,.table--compact .table-header-cell{padding:var(--spacing-table-padding-compact)}.table--comfortable .table-cell,.table--comfortable .table-header-cell{padding:var(--spacing-table-padding-comfortable)}.table--spacious .table-cell,.table--spacious .table-header-cell{padding:var(--spacing-table-padding-spacious)}.table thead tr:first-child th:first-child{border-top-left-radius:var(--border-radius-lg)}.table thead tr:first-child th:last-child{border-top-right-radius:var(--border-radius-lg)}.table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--border-radius-lg)}.table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--border-radius-lg)}.table-head{background-color:var(--color-gray50);border-bottom:var(--border-width-thick) solid var(--color-border-primary)}.table-row{border-bottom:var(--border-width-default) solid var(--color-border-subtle);transition:background-color var(--transition-default), box-shadow var(--transition-default)}.table--striped .table-row:nth-child(2n){background-color:var(--color-gray50)}.table--hover .table-row:hover{background-color:var(--color-bg-hover)}.table-row.cursor-pointer:hover{transform:translateY(-1px)}.table-cell{padding:var(--spacing-table-padding-comfortable);text-align:left;vertical-align:middle;line-height:var(--line-height-base);font-size:var(--font-size-base);color:var(--color-text-primary)}.table--bordered .table-cell{border-right:var(--border-width-default) solid #00000014;border-bottom:var(--border-width-default) solid #00000014;border-left:var(--border-width-default) solid #00000014}.table--compact .table-cell{padding:var(--spacing-table-padding-compact)}.table--comfortable .table-cell{padding:var(--spacing-table-padding-comfortable)}.table--spacious .table-cell{padding:var(--spacing-table-padding-spacious)}.table-header-cell{padding:var(--spacing-table-header-padding-comfortable);text-align:left;vertical-align:middle;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-secondary);background-color:var(--color-athens-gray);border-bottom:var(--border-width-default) solid var(--color-border-default)}.table--bordered .table-header-cell{border-top:var(--border-width-default) solid #00000014;border-right:var(--border-width-default) solid #00000014;border-bottom:var(--border-width-default) solid #00000014;border-left:var(--border-width-default) solid #00000014}.table--compact .table-header-cell{padding:var(--spacing-table-header-padding-compact)}.table--comfortable .table-header-cell{padding:var(--spacing-table-header-padding-comfortable)}.table--spacious .table-header-cell{padding:var(--spacing-table-header-padding-spacious)}.filter-chip{font:inherit;font-size:var(--font-size-sm);border:1px solid var(--color-border-strong,oklch(82% .01 250));color:var(--color-text-secondary,oklch(48% .015 260));border-radius:var(--border-radius-full);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 11px;transition:all .15s;display:inline-flex}.filter-chip--active{background:var(--color-accent-weak,oklch(95% .03 250));border-color:var(--color-accent,oklch(60% .16 250));color:var(--color-accent,oklch(60% .16 250));font-weight:600}.filter-chip:hover:not(.filter-chip--active){border-color:var(--color-text-secondary,oklch(48% .015 260))}.filter-chip:focus-visible{outline:2px solid var(--color-accent,oklch(60% .16 250));outline-offset:2px}.filter-chip__dot{border-radius:var(--border-radius-full);background:currentColor;flex:none;width:7px;height:7px}@media (prefers-color-scheme:dark){.filter-chip--active{background:var(--color-accent-weak,oklch(30% .05 255));border-color:var(--color-accent,oklch(72% .15 250));color:var(--color-accent,oklch(72% .15 250))}}.mqtt-event-list{gap:var(--spacing-md,16px);flex-direction:column;display:flex}.list-controls{justify-content:space-between;align-items:center;gap:var(--spacing-md,16px);flex-wrap:wrap;display:flex}.status-filters{flex-wrap:wrap;gap:6px;display:flex}.chip-count{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-tertiary,oklch(62% .012 260));margin-left:6px}.pending-row{box-shadow:inset 3px 0 0 var(--color-warning,oklch(66% .14 70))}.mono{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-primary,oklch(24% .02 260));background:0 0;padding:0}.message-cell{width:44%;max-width:0}.topic-cell{width:30%;max-width:0}.topic-cell .mono{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.qos-retain{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.qos-tag{font-size:var(--font-size-xs);letter-spacing:.02em;color:var(--color-text-tertiary,oklch(62% .012 260));font-variant-numeric:tabular-nums;font-weight:600}.retain-tag{font-size:var(--font-size-xs);border-radius:var(--border-radius-full);color:var(--color-warning,oklch(66% .14 82.5));background:var(--color-warning-bg,oklch(66% .14 82.5/.12));padding:1px 6px;font-weight:600}.payload-text,.error-text{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.payload-text{color:var(--color-text-secondary,oklch(48% .015 260))}.error-text{color:var(--color-error,oklch(58% .19 25));font-size:var(--font-size-sm)}.message-content{align-items:center;gap:6px;min-width:0;display:flex}.message-content .payload-text{flex:auto;min-width:0}.expand-button{color:var(--color-text-tertiary,oklch(62% .012 260));cursor:pointer;border-radius:var(--border-radius-sm,4px);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:transform .15s,color .15s;display:inline-flex}.expand-button:hover{color:var(--color-text-primary,oklch(24% .02 260))}.expand-button.expanded{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.expand-button{transition:color .15s}}.payload-detail{padding:var(--spacing-sm,12px);font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-primary,oklch(24% .02 260));background:var(--color-surface-sunken,oklch(97% .005 260));border-radius:var(--border-radius-sm,4px);white-space:pre-wrap;word-break:break-word;max-height:320px;margin:0;overflow:auto}.status-empty{color:var(--color-text-tertiary,oklch(62% .012 260))}.status-reason{margin-top:var(--spacing-micro);font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary,oklch(62% .012 260))}.event-kind{font-size:var(--font-size-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-tertiary,oklch(62% .012 260));font-weight:600}.direction-marker{white-space:nowrap;font-size:var(--font-size-sm);align-items:center;gap:6px;font-weight:600;line-height:1.4;display:inline-flex}.direction-marker[data-direction=outbound]{color:var(--color-outbound,oklch(58% .15 250))}.direction-marker[data-direction=inbound]{color:var(--color-inbound,oklch(55% .02 260))}.direction-label{color:var(--color-text-tertiary,oklch(62% .012 260));font-size:var(--font-size-sm);font-weight:400}.error-row{background:var(--color-error-bg,oklch(98% .02 25))}.load-older-container{padding:var(--spacing-md,16px);justify-content:center;display:flex}.state-loading{gap:var(--spacing-sm,12px);padding:var(--spacing-xl,32px) var(--spacing-md,16px);color:var(--color-text-secondary,oklch(48% .015 260));flex-direction:column;display:flex}.state-loading p{font-size:var(--font-size-base);margin:0}@media (prefers-color-scheme:dark){.pending-row{box-shadow:inset 3px 0 0 var(--color-warning,oklch(80% .13 78))}.mono{color:var(--color-text-primary,oklch(94% .01 250))}.payload-text{color:var(--color-text-secondary,oklch(75% .014 255))}.payload-detail{color:var(--color-text-primary,oklch(94% .01 250));background:var(--color-surface-sunken,oklch(26% .015 260))}.direction-marker[data-direction=outbound]{color:var(--color-outbound,oklch(74% .14 250))}.direction-marker[data-direction=inbound]{color:var(--color-inbound,oklch(70% .02 260))}}.service-card{width:100%}.service-card-header{margin-bottom:var(--spacing-base);justify-content:space-between;align-items:center;display:flex}.service-card-title{gap:var(--spacing-xs);flex-direction:column;display:flex}.service-card-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);align-items:center;gap:var(--spacing-xs);display:flex}.service-card-host{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-family-mono)}.service-card-body{gap:var(--spacing-base);flex-direction:column;display:flex}.service-card-message{font-size:var(--font-size-base);color:var(--color-text-primary);padding:var(--spacing-sm);background-color:var(--color-gray50);border-radius:var(--border-radius-sm)}.service-card-metrics{padding-top:var(--spacing-sm);border-top:var(--border-width-default) solid var(--color-border-primary);justify-content:space-between;align-items:center;display:flex}.service-card-metric{gap:var(--spacing-xs);flex-direction:column;display:flex}.service-card-metric-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.service-card-metric-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.service-card-uptime{margin:var(--spacing-sm) 0}.table-foot{background-color:var(--color-gray50);border-top:var(--border-width-thick) solid var(--color-border-primary);font-weight:var(--font-weight-semibold)}
