:root{--vio-main: #b93c36;--vio-nav-bg: #191919;--vio-bg: #232323;--vio-yellow: #ff0;--vio-green: #090;--vio-blue: #369;--vio-red: #cf180e}@font-face{font-family:Roboto;src:url(/assets/Roboto-Regular-CGSfnFoJ.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto-Light;src:url(/assets/Roboto-Light-BLlptLT-.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}html,body,#root{height:100%}body{margin:0;padding:0;background:var(--vio-bg);color:#fff;font-family:Roboto,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.app{min-height:100%;display:flex;flex-direction:column}header.app-header{background:var(--vio-nav-bg);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 6px #0006}header.app-header h1{margin:0;font-size:1.25rem;color:var(--vio-main)}.header-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.status-badge{padding:.25rem .5rem;border-radius:.375rem;font-weight:600;font-size:.9rem}.status-ok{background:var(--vio-green);color:#000}.status-error{background:var(--vio-red)}.status-unknown{background:#777}main.app-main{padding:1.5rem;flex:1 1 auto}.dashboard-placeholder{background:linear-gradient(180deg,#ffffff05,#00000008);border:1px solid rgba(255,255,255,.03);padding:1rem;border-radius:8px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.dashboard-header h2{margin:0 0 .25rem}.dashboard-header p{margin:0;color:#cfcfcf}.section-eyebrow{color:#e38a84;font-size:.7rem;font-weight:700;letter-spacing:.12em}.button-row{display:flex;flex-wrap:wrap;gap:.5rem}.button-row button{background:transparent;border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:6px;padding:.5rem .8rem;cursor:pointer;transition:background .2s ease}.button-row button.active{background:var(--vio-main);border-color:var(--vio-main)}.source-selector{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.source-selector h2{margin:0 0 .25rem}.source-selector p{margin:0;color:#cfcfcf}.source-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;margin-bottom:1.25rem}.dashboard-error,.dashboard-empty{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#d5d5d5;background:#ffffff09}.dashboard-error{border-color:#cf180e73;color:#ffaaa5;background:#cf180e14}.source-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.9rem 1rem;color:#fff;text-align:left;cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}.source-card:hover{border-color:#b93c36b3;transform:translateY(-1px)}.source-card.selected{background:#b93c361f;border-color:var(--vio-main)}.source-card.archiv{border-style:dashed}.source-card.archiv .source-card-status{background:#ffc10729;color:#ffd36a}.source-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;font-weight:700}.source-card-status{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .45rem;border-radius:999px;background:#09990933;color:#8fe68d;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.source-card-count{font-size:1.7rem;font-weight:700;margin-bottom:.6rem}.source-card-infos{display:flex;flex-direction:row;gap:1rem}.source-card-meta{display:flex;flex-direction:column;gap:.15rem;color:#d3d3d3;font-size:.8rem}.source-card-meta strong{font-size:.8rem;color:#fff}.source-table-panel{margin:1rem 0;background:#ffffff06;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:1rem}.source-table-panel h3{margin:0 0 .75rem}.source-table-wrap{overflow-x:auto}.source-table{width:100%;border-collapse:collapse;min-width:700px}.source-table th,.source-table td{padding:.7rem .75rem;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:top}.source-table th{color:#dcdcdc;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.source-table a{color:#f3c9c7}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin:1rem 0 1.5rem}.period-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.9rem .75rem}.period-label{color:#d8d8d8;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.period-value{font-size:1.5rem;font-weight:700;margin:.35rem 0}.period-sub,.period-max{color:#ccc;font-size:.8rem}.period-max{margin-top:.2rem}.period-trend{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;margin-top:.55rem;font-size:.72rem;font-weight:600}.period-trend-caption{flex-basis:100%;color:#aaa;font-size:.68rem;font-weight:400}.trend-up{color:#79d39a}.trend-down{color:#f08a83}.trend-neutral,.trend-unavailable{color:#aaa}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.info-panel{background:#ffffff06;border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:1rem}.info-panel h3{margin:0 0 .9rem;font-size:1rem}.mini-stat{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.mini-stat:last-child{border-bottom:0}.mini-stat span{color:#d6d6d6}.mini-stat strong{text-align:right}.weekday-list{display:flex;flex-direction:column;gap:.35rem}.weekday-row{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.weekday-row:last-child{border-bottom:0}.heatmap-panel{min-height:200px}.app-footer{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:2.5rem 0 .25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);color:#8f8f8f;font-size:.78rem;letter-spacing:.01em}.app-footer-heart{color:var(--vio-main);font-size:.95rem;line-height:1;text-shadow:0 0 10px rgba(185,60,54,.45)}.app-footer a{color:#d9d9d9;font-weight:600;text-decoration:none;transition:color .16s ease,text-shadow .16s ease}.app-footer a:hover,.app-footer a:focus-visible{color:#fff;text-shadow:0 0 10px rgba(255,255,255,.35)}.heatmap-panel h3{margin-bottom:.3rem}.heatmap-panel .desc{font-size:.8rem;margin:0 0 .5rem;color:#cfcfcf}.heatmap-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem}.heatmap-cell{min-height:2.4rem;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;border:1px solid rgba(255,255,255,.08)}.summary-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.summary-card{min-width:110px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:.7rem .8rem}.summary-source{font-size:.72rem;color:#ddd}.summary-value{font-size:1.5rem;font-weight:700;margin:.25rem 0}.summary-meta{font-size:.75rem;color:#bbb}.chart-area{margin-top:1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem;box-shadow:inset 0 1px #ffffff0a}.chart-area .button-row{margin-bottom:1rem}.chart-area .recharts-responsive-container{background:#00000014;border-radius:10px;padding:.25rem}.system-data-panel{margin-top:1rem;padding:clamp(1rem,3vw,1.6rem);border:1px solid rgba(255,255,255,.08);border-radius:14px;background:radial-gradient(ellipse at top right,rgba(185,60,54,.13),transparent 42%),#0000001f}.system-data-area{margin:1rem 0;padding:1rem;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:linear-gradient(115deg,#b93c3614,#ffffff05 58%)}.system-data-area-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.system-data-area-heading h2{margin:.25rem 0;font-size:1.15rem}.system-data-area-heading p{margin:0;color:#aaa;font-size:.85rem}.system-area-toggle{padding:.65rem .9rem;border:1px solid rgba(227,93,84,.45);border-radius:8px;background:#b93c3629;color:#fff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.system-area-toggle:hover{background:#b93c3647}.system-data-header,.system-data-toolbar,.system-catalog-card-heading,.system-data-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.system-data-eyebrow,.system-catalog-kind{color:#e38a84;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.system-data-header h2{margin:.3rem 0;font-size:clamp(1.3rem,3vw,1.8rem)}.system-data-header p{margin:0;color:#c4c4c4}.system-version{display:flex;flex-direction:column;gap:.25rem;padding:.7rem .9rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0a;text-align:right}.system-version span{color:#aaa;font-size:.72rem}.system-version strong{font-size:1rem}.system-data-toolbar{margin:1.25rem 0 1rem;align-items:stretch}.system-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:.65rem;margin:1rem 0}.system-metric-card{display:flex;min-width:0;flex-direction:column;gap:.45rem;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff0b}.system-metric-card span{color:#aaa;font-size:.75rem}.system-metric-card strong{font-size:1.1rem;overflow-wrap:anywhere}.system-data-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.system-data-tabs button{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .8rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff06;color:#ddd;cursor:pointer}.system-data-tabs button.active{border-color:#e35d54cc;background:#b93c3633;color:#fff}.system-data-count{min-width:1.3rem;padding:.12rem .35rem;border-radius:999px;background:#ffffff17;color:#ddd;font-size:.7rem;text-align:center}.system-data-search{position:relative;display:flex;align-items:center;min-width:min(100%,220px)}.system-data-search input{width:100%;padding:.6rem 2rem .6rem .75rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;outline:none;background:#0000002e;color:#fff;font:inherit}.system-data-search input:focus{border-color:#e35d54cc}.system-data-search>span:last-child{position:absolute;right:.7rem;color:#aaa;font-size:1.2rem}.system-settings-grid,.system-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:.7rem}.system-setting-card,.system-catalog-card{min-width:0;padding:.85rem .95rem;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#ffffff09}.system-setting-card{display:flex;flex-direction:column;gap:.55rem}.system-setting-card span{color:#aaa;font-size:.78rem;overflow-wrap:anywhere}.system-setting-card strong{font-size:1.05rem;overflow-wrap:anywhere}.system-settings-history,.system-settings-extra{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.08)}.system-history-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.system-history-heading h3{margin:0;font-size:1.05rem}.system-history-heading p,.system-history-heading>span{margin:.3rem 0 0;color:#999;font-size:.75rem}.system-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.7rem}.system-history-card{min-width:0;padding:.85rem;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#ffffff06}.system-history-card h4{margin:0 0 .65rem;color:#e7b0ad;font-size:.85rem}.system-history-chart-card{padding-bottom:.55rem}.system-history-chart-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.system-history-chart-heading h4{margin-bottom:.3rem}.system-history-chart-heading>strong{color:#fff;font-size:.95rem}.system-history-chart-heading>span{color:#999;font-size:.7rem;white-space:nowrap}.system-history-forecast-note{margin:.25rem 0 .4rem;color:#999;font-size:.7rem;line-height:1.4}.system-history-chart{width:100%;height:190px}.system-update-empty{padding:1.2rem 0}.system-update-list{display:grid;gap:.45rem;max-height:145px;margin:.55rem 0 0;padding:.55rem 0 0;overflow:auto;border-top:1px solid rgba(255,255,255,.06);list-style:none}.system-update-list li{display:flex;justify-content:space-between;gap:.5rem;font-size:.7rem}.system-update-list strong{color:#ddd}.system-update-list time{color:#999;text-align:right;white-space:nowrap}.system-history-single{display:flex;flex-direction:column;gap:.3rem;padding:1rem .25rem}.system-history-single strong{font-size:1.25rem}.system-history-single time,.system-history-single span{color:#999;font-size:.75rem}.system-history-card ol{display:grid;gap:.55rem;max-height:230px;margin:0;padding:0 .2rem 0 1.1rem;overflow:auto}.system-version-history{scrollbar-width:thin;scrollbar-color:#75403e rgba(255,255,255,.04);scrollbar-gutter:stable}.system-version-history::-webkit-scrollbar{width:8px}.system-version-history::-webkit-scrollbar-track{border-radius:999px;background:#ffffff0a}.system-version-history::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#75403e;background-clip:padding-box}.system-version-history::-webkit-scrollbar-thumb:hover{background:#b93c36;background-clip:padding-box}.system-history-card li{padding-left:.15rem;color:#888}.system-history-card li::marker{color:#cb5751}.system-history-card li strong,.system-history-card li time,.system-version-interval{display:block}.system-history-card li strong{color:#f2f2f2;font-size:.9rem;overflow-wrap:anywhere}.system-history-card li time{margin-top:.15rem;color:#999;font-size:.7rem}.system-version-interval{margin-top:.15rem;color:#8fcfa4;font-size:.7rem}.system-history-empty{margin:0;color:#999;font-size:.78rem}.system-catalog-card-heading{align-items:flex-start}.system-catalog-image{flex:0 0 64px;width:64px;height:64px;object-fit:contain;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#0003}.system-catalog-card h3{margin:.25rem 0 0;font-size:1rem;overflow-wrap:anywhere}.system-catalog-mark{color:#df7b74;font-size:1.2rem}.system-catalog-hash{display:block;margin:.7rem 0;color:#d5aaa7;font-size:.7rem;overflow-wrap:anywhere}.system-catalog-card dl{display:grid;gap:.45rem;margin:.7rem 0 0}.system-catalog-card dl>div{display:flex;justify-content:space-between;gap:.75rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.06)}.system-catalog-card dt{color:#aaa;font-size:.75rem}.system-catalog-card dd{margin:0;font-size:.78rem;text-align:right;overflow-wrap:anywhere}.system-item-card{padding:0;overflow:hidden}.system-item-card summary{display:flex;align-items:center;gap:.75rem;padding:.55rem;cursor:pointer;list-style:none}.system-item-card summary::-webkit-details-marker{display:none}.system-item-card summary .system-catalog-image{flex-basis:48px;width:48px;height:48px}.system-item-summary{display:flex;flex:1;flex-direction:column;gap:.2rem;min-width:0}.system-item-summary strong{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-item-summary small{color:#aaa;font-size:.72rem}.system-item-expand{display:grid;width:1.6rem;height:1.6rem;place-items:center;border-radius:50%;background:#ffffff12;color:#ddd;transition:transform .16s ease}.system-item-card[open] .system-item-expand{transform:rotate(45deg)}.system-item-card dl{margin:0;padding:0 .8rem .8rem}.system-item-card dl>div:first-child{border-top:1px solid rgba(255,255,255,.06)}.system-data-message{display:flex;flex-direction:column;gap:.4rem;padding:2rem 1rem;border:1px dashed rgba(255,255,255,.12);border-radius:10px;color:#c6c6c6;text-align:center}.system-data-message strong{color:#fff}.system-data-error{border-color:#cf180e80;color:#ffaaa5}.system-data-footer{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.07);color:#aaa;font-size:.75rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 700px){.source-selector,.dashboard-header,.system-data-header,.system-data-toolbar{flex-direction:column;align-items:flex-start}.system-data-area-heading,.system-history-heading{align-items:flex-start;flex-direction:column}.system-data-search{width:100%}.system-version{text-align:left}.system-data-footer{align-items:flex-start;flex-direction:column;gap:.35rem}.button-row{width:100%}.button-row button{flex:1 1 42%}}main.app-main{width:min(100% - 2rem,1440px);margin:0 auto;padding:1.25rem 0 2rem}header.app-header{position:relative;z-index:5;flex-wrap:wrap;padding:.85rem max(1rem,calc((100vw - 1440px)/2));border-bottom:1px solid rgba(255,255,255,.08)}.app-header .logo{min-width:0}.app-header .logo img{width:44px;height:44px;flex:0 0 auto;display:block;object-fit:contain}.app-header h1{font-size:clamp(1rem,2vw,1.25rem);line-height:1.25}.dashboard-placeholder{padding:clamp(.85rem,2vw,1.5rem);border-color:#ffffff12;background:#0f0f0f2e}.source-selector,.dashboard-header{padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.07)}.source-selector h2,.dashboard-header h2{font-size:1.2rem}.source-card{min-width:0;min-height:150px}.source-card-header>span:first-child{overflow-wrap:anywhere}.source-card-meta strong{overflow-wrap:anywhere}.header-right{min-width:0}.status-indicator{width:.6rem;height:.6rem;border-radius:50%;box-shadow:0 0 0 3px #ffffff0f}.header-status{display:inline-flex;align-items:center;gap:.55rem;min-height:38px;padding:.4rem .7rem;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#ffffff09;font-size:.78rem;white-space:nowrap}.header-status.status-ok{color:#e7e7e7}.header-status.status-error{border-color:#ff665c4d;background:#ff665c1a;color:#ffd0cc}.header-status.status-unknown{color:#ddd}.header-status.status-ok .status-indicator{background:#55d37b}.header-status.status-error .status-indicator{background:#ff665c}.header-status.status-unknown .status-indicator{background:#a5a5a5}.header-status-health{font-weight:600}.header-status-divider{width:1px;height:1rem;background:#ffffff29}.header-status-sync{color:#bdbdbd;font-size:.74rem}.status-badge{padding:.25rem .45rem;font-size:.7rem}.status-ok.status-badge{background:#09990938;color:#9aefa0}.status-error.status-badge{background:#cf180e38;color:#ffaaa5}.status-unknown.status-badge{background:#ffffff1a;color:#ddd}.chart-area,.chart-area .recharts-responsive-container{min-width:0}.source-table-wrap,.chart-area{max-width:100%}button,summary{touch-action:manipulation}button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #f18b83;outline-offset:2px}@media (max-width: 700px){header.app-header{gap:.65rem;padding:.7rem 1rem}.app-header .logo{flex:1 1 100%}.app-header .logo img{width:36px;height:36px}.header-right{width:100%;margin-left:0}main.app-main{width:calc(100% - 1rem);padding:.5rem 0 1rem}.dashboard-placeholder{padding:.8rem;border-radius:12px}.source-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.65rem}.source-card{min-height:0;padding:.8rem}.source-card-infos{flex-wrap:wrap;gap:.65rem 1rem}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.period-card{padding:.7rem}.period-value{font-size:1.25rem}.stats-grid{grid-template-columns:minmax(0,1fr);gap:.65rem}.info-panel,.chart-area{padding:.8rem}.heatmap-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem}.heatmap-cell{min-height:2rem;font-size:.65rem}.system-update-list li{flex-direction:column;gap:.15rem}.system-update-list time{text-align:left;white-space:normal}.app-footer{flex-wrap:wrap;margin-top:1.5rem}}@media (max-width: 380px){.overview-grid{grid-template-columns:minmax(0,1fr)}}.app{padding:0}header{margin-bottom:0}.app-header .logo{display:flex;align-items:center;gap:.5rem}.app-header .logo .dot{width:12px;height:12px;border-radius:50%;background:var(--vio-main);display:inline-block}
