@charset "UTF-8";:root{--primary-color: #21543d;--primary-light-color: #2f7254;--secondary-color: #5e9d81;--tertiary-color: #722f37;--accent-color: #a8dadc;--light-accent-color: #e0f3f4;--black-color: #221f1f;--text-muted-color: #55616d;--grey-color: #6c757d;--light-grey-color: #bbbbbb75;--dark-grey-color: rgba(34, 31, 31, .7);--white-color: #fefefe;--dark-white-color: #e6ecf0;--surface-color: #ffffff;--surface-elevated-color: #f7fafc;--border-color: #d7e0e8;--shadow-color: rgba(17, 24, 39, .12);--red-color: #ee7a72;--dark-red-color: #d62828;--background-color: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--dark-primary-color: #10281e}body.dark-mode{--primary-color: #7be0b2;--primary-light-color: #9ae9c4;--secondary-color: #57b18b;--tertiary-color: #ff8f9a;--accent-color: #6fdef0;--light-accent-color: #203549;--black-color: #edf3f9;--text-muted-color: #b8c5d3;--grey-color: #c5d0dd;--light-grey-color: rgba(197, 208, 221, .45);--dark-grey-color: rgba(237, 243, 249, .78);--white-color: #141d28;--dark-white-color: #0d141d;--surface-color: #172230;--surface-elevated-color: #1d2a39;--border-color: rgba(140, 173, 201, .4);--shadow-color: rgba(3, 8, 15, .55);--red-color: #ff8f8f;--dark-red-color: #f56c78;--background-color: linear-gradient(135deg, #0f1824 0%, #152232 100%);--dark-primary-color: #143829}:root{--series-1: #21543d;--series-2: #eb6834;--series-3: #722f37;--status-good: #2fa57b;--status-warning: #e0a100;--status-critical: #d62828;--status-good-text: #1a6640;--status-warning-text: #8a5500;--status-critical-text: #8b2020;--status-unknown: #8a94a0;--chart-grid: rgba(34, 31, 31, .08);--chart-label: #55616d;--chart-band: rgba(214, 40, 40, .1)}body.dark-mode{--series-1: #7be0b2;--series-2: #f08a5d;--series-3: #ff8f9a;--status-good: #4fd2a0;--status-warning: #f2b632;--status-critical: #f56c78;--status-good-text: #7be0b2;--status-warning-text: #f2b632;--status-critical-text: #ff9aa2;--status-unknown: #8798aa;--chart-grid: rgba(237, 243, 249, .1);--chart-label: #b8c5d3;--chart-band: rgba(245, 108, 120, .16)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:color-mix(in srgb,var(--secondary-color) 5%,transparent)}*::selection{background-color:var(--primary-color);color:var(--white-color)}body:not(.using-keyboard-navigation) :focus,body:not(.using-keyboard-navigation) :focus-visible{outline:none!important;box-shadow:none!important}body.using-keyboard-navigation :focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-color) 80%,transparent);transition:all .2s ease-in-out}button,a{touch-action:manipulation;text-decoration:none}button:active,a:active{transform:scale(.98);transition:transform .2s}a{color:var(--primary-color)}a:hover{color:var(--secondary-color)}body{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;line-height:1.45;background:var(--background-color);color:var(--black-color);height:100vh;height:100dvh;width:100vw;display:flex;flex-direction:column;transition:background .25s ease,color .25s ease;-webkit-font-smoothing:antialiased}app-root{display:flex;flex-direction:column;flex:1;min-height:0}h1,h2,h3,p,ul,ol,dl,dd{margin:0}.material-icons{font-size:20px;line-height:1;vertical-align:middle;-webkit-user-select:none;user-select:none;flex-shrink:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:color-mix(in srgb,var(--secondary-color) 10%,transparent);border-radius:8px}::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--text-muted-color)}.faint{color:var(--grey-color)}.num{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem}.small{font-size:.8rem}.page{display:flex;flex-direction:column;gap:1rem;min-width:0}.grid{display:grid;gap:1rem;align-items:stretch}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media(max-width:1100px){.cols-main,.cols-3{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.cols-2{grid-template-columns:minmax(0,1fr)}}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;border-radius:14px;border:1px solid var(--border-color);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 12%,transparent),color-mix(in srgb,var(--secondary-color) 8%,transparent))}.page-head h1{color:var(--black-color);font-family:Anta,sans-serif;font-size:1.8rem;line-height:1.2}.page-head p{margin-top:.35rem;color:var(--text-muted-color);font-size:.95rem}.page-head__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.55rem 1rem;border:1px solid color-mix(in srgb,var(--primary-color) 35%,transparent);border-radius:10px;background:var(--white-color);color:var(--primary-color);font:inherit;font-size:.9rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.btn .material-icons{font-size:18px}.btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary-color) 8%,transparent);border-color:color-mix(in srgb,var(--primary-color) 55%,transparent)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{border-color:transparent;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color),var(--primary-color));background-size:200% 200%;background-position:0% 0%;color:var(--white-color);box-shadow:0 4px 12px color-mix(in srgb,var(--secondary-color) 30%,transparent)}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-color),var(--secondary-color),var(--primary-color));background-size:200% 200%;background-position:100% 100%;border-color:transparent;box-shadow:0 8px 20px color-mix(in srgb,var(--secondary-color) 40%,transparent);transform:translateY(-1px)}.btn--ghost{border-color:transparent;background:transparent}.btn--ghost:hover:not(:disabled){border-color:transparent;background:color-mix(in srgb,var(--primary-color) 8%,transparent)}.btn--danger{border-color:color-mix(in srgb,var(--dark-red-color) 40%,transparent);color:var(--dark-red-color)}.btn--danger:hover:not(:disabled){border-color:var(--dark-red-color);background:color-mix(in srgb,var(--dark-red-color) 8%,transparent)}.btn--sm{min-height:32px;padding:.3rem .75rem;font-size:.82rem}.btn--pill{border-radius:999px}.btn--icon{width:40px;min-height:40px;padding:0;border-radius:50%;border-color:transparent;background:transparent}.btn--icon .material-icons{font-size:24px}.btn--icon:hover:not(:disabled){border-color:transparent;background:color-mix(in srgb,var(--accent-color) 20%,transparent);color:var(--secondary-color);transform:scale(1.1)}.btn--icon.is-on{background:color-mix(in srgb,var(--accent-color) 28%,transparent);color:var(--primary-color)}.btn--icon.btn--sm{width:32px;min-height:32px}.btn--icon.btn--sm .material-icons{font-size:20px}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.05rem;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--black-color);font:inherit;font-size:.88rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.chip:hover{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 8%,transparent)}.chip--active,.chip--active:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--white-color);font-weight:600}.chip--sm{padding:.3rem .7rem;font-size:.8rem}.tabs{display:inline-flex;gap:.35rem;padding:.35rem;max-width:100%;overflow-x:auto;border:1px solid var(--border-color);border-radius:999px;background:color-mix(in srgb,var(--black-color) 3%,transparent);scrollbar-width:thin}.tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.1rem;border:0;border-radius:999px;background:transparent;color:var(--text-muted-color);font:inherit;font-size:.9rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease}.tab:hover{color:var(--black-color)}.tab--active,.tab--active:hover{background:var(--surface-color);color:var(--primary-color);box-shadow:0 1px 3px color-mix(in srgb,var(--shadow-color) 70%,transparent)}.field{min-height:40px;padding:0 .85rem;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-color);color:var(--black-color);font:inherit;font-size:.9rem;min-width:0;transition:border-color .2s ease,box-shadow .2s ease}.field::placeholder{color:var(--text-muted-color);opacity:.8}.field:hover{border-color:color-mix(in srgb,var(--primary-color) 45%,transparent)}.field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--secondary-color) 25%,transparent)}select.field{cursor:pointer}.field-label{display:block;margin-bottom:.3rem;color:var(--grey-color);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.card{border:1px solid var(--border-color);border-radius:14px;padding:.9rem 1rem;background:var(--white-color);box-shadow:0 8px 20px color-mix(in srgb,var(--black-color) 4%,transparent);min-width:0;display:flex;flex-direction:column}.card--flush{padding:0;overflow:hidden}.card--flush .card__head{padding:.9rem 1rem 0}.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.card__head h2{color:var(--primary-color);font-size:1.03rem;font-weight:700}.card__head p,.card__head .sub{margin-top:.2rem;color:var(--text-muted-color);font-size:.84rem;text-align:right}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}@media(max-width:500px){.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.kpi-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--border-color);border-radius:12px;padding:.8rem .9rem;background:var(--white-color);box-shadow:0 4px 14px color-mix(in srgb,var(--black-color) 4%,transparent);min-width:0}.kpi-label{display:block;color:var(--grey-color);font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.kpi-value{display:block;margin-top:.25rem;color:var(--black-color);font-size:1.7rem;line-height:1.1;font-family:Anta,sans-serif}.kpi-value--good{color:var(--status-good-text)}.kpi-value--warn{color:var(--status-warning-text)}.kpi-value--bad{color:var(--status-critical-text)}.kpi-delta{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;margin-top:auto;padding-top:.4rem;min-height:1.6rem;color:var(--text-muted-color);font-size:.78rem}.kpi-delta .material-icons{font-size:16px}.kpi-delta--bad{color:var(--status-critical-text)}.kpi-delta--good{color:var(--status-good-text)}.state{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:10px;font-weight:600}.state--loading{background:color-mix(in srgb,var(--secondary-color) 12%,transparent);color:var(--primary-color)}.state--error{background:color-mix(in srgb,var(--red-color) 16%,transparent);color:var(--status-critical-text)}.empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;text-align:center;color:var(--text-muted-color)}.empty .material-icons{font-size:40px;color:var(--grey-color);opacity:.7}.is-refreshing{opacity:.6;transition:opacity .15s}.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .65rem .15rem .5rem;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-elevated-color);color:var(--black-color);font-size:.78rem;font-weight:600;white-space:nowrap}.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--status-unknown)}.pill--good .dot{background:var(--status-good)}.pill--warning .dot{background:var(--status-warning)}.pill--critical .dot{background:var(--status-critical)}.status-dot{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%;background:var(--status-good)}.status-dot--down{background:var(--status-critical);box-shadow:0 0 0 4px color-mix(in srgb,var(--status-critical) 22%,transparent)}.status-dot--pending{background:var(--status-warning)}.status-dot--maintenance{background:var(--status-unknown)}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:linear-gradient(45deg,var(--red-color),#ff4757);color:#fff;font-size:.7rem;font-weight:700;box-shadow:0 2px 8px color-mix(in srgb,var(--red-color) 28%,transparent);flex-shrink:0}.table-card{background:var(--white-color);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 1px 4px #00000014;overflow:hidden;min-width:0}.table-wrap{overflow:auto;max-width:100%}table.table{width:100%;border-collapse:collapse}table.table th{position:sticky;top:0;z-index:1;padding:13px 14px;text-align:left;background:var(--surface-elevated-color);border-bottom:1px solid var(--border-color);color:var(--text-muted-color);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}table.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.table th.sortable:hover,table.table th.sortable.active{color:var(--primary-color)}table.table td{padding:12px 14px;border-bottom:1px solid var(--border-color);color:var(--black-color);font-size:14px;vertical-align:middle}table.table tr:last-child td{border-bottom:none}table.table tbody tr{transition:background .15s}table.table tbody tr:hover{background:var(--surface-elevated-color)}table.table tbody tr.clickable{cursor:pointer}table.table tbody tr.selected{background:color-mix(in srgb,var(--primary-color) 8%,transparent)}table.table .right{text-align:right}.scrim{position:fixed;inset:0;z-index:1100;border:0;background:#0f172a5c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
