
:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--bg:#2e3a46;--panel:#344351;--panel2:#3c4d5b;--line:#4c5d6b;--text:#eef3f6;--muted:#b8c5ce;--accent:#f8a65c;--up:#61d8a3;--down:#f17b7b;--maintenance:#f1c477;--unknown:#aebbc7;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-size:14px;line-height:1.5;background:var(--bg);color:var(--text)}.container{width:min(1080px,calc(100% - 48px));margin-inline:auto}
.topbar{background:#2e3a46;border-bottom:1px solid rgba(238,243,246,.10)}.topbar-content{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:139px;padding-block:13px}.brand{display:flex;align-items:center}.brand-logo{width:210px;height:auto;display:block;object-fit:contain}.header-right{display:flex;align-items:center;gap:24px}.header-meta{font-size:12px;letter-spacing:.045em;color:#cbd5dd}.language-switch{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:#263440;border:1px solid #475767;border-radius:11px;flex:none}.flag-btn{appearance:none;background:transparent;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;width:48px;height:38px;flex:0 0 48px;padding:0;cursor:pointer;line-height:1;transition:background .15s ease,border-color .15s ease}.flag-btn:hover{background:#415464}.flag-btn[aria-pressed="true"]{border-color:var(--accent);background:#425263;box-shadow:inset 0 0 0 1px rgba(248,166,92,.12)}.flag-btn:focus-visible,.refresh:focus-visible,.secondary-btn:focus-visible,.x-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.main{padding-top:44px;padding-bottom:52px;flex:1}.intro{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.section-eyebrow{font-size:11px;letter-spacing:.11em;color:var(--accent);font-weight:700;text-transform:uppercase;margin-bottom:7px}.intro h1{font-size:clamp(23px,3vw,30px);line-height:1.25;font-weight:650;letter-spacing:-.65px;margin:0 0 7px}.intro p{margin:0}.muted{color:var(--muted)}.refresh,.secondary-btn{appearance:none;background:#3c4d5b;border:1px solid #5c6b79;border-radius:7px;color:var(--text);padding:10px 15px;font:inherit;cursor:pointer;transition:background .16s}.refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;line-height:1.2;flex-shrink:0}.refresh:hover,.secondary-btn:hover{background:#4b5e6c}.refresh:disabled,.secondary-btn:disabled{opacity:.5;cursor:default}.refresh-symbol{display:block;width:20px;height:20px;flex:0 0 20px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.overview{display:flex;align-items:center;gap:13px;margin-bottom:23px;padding:17px 20px;border:1px solid #437765;background:#284a42;border-radius:9px;color:#b2f4d3;font-weight:600;font-size:14px}.overview.down{border-color:#a86363;background:#553b42;color:#ffc0c0}.overview.maintenance{border-color:#977846;background:#534838;color:#ffe0a2}.overview.unknown,.overview.loading{border-color:#596c7a;background:#384956;color:#d5e0e8}.status-icon{width:24px;height:24px;display:inline-flex;justify-content:center;align-items:center;flex:none;background:currentColor;border-radius:50%;font-size:14px;font-weight:800}.status-icon::first-letter{color:var(--bg)}.overview .status-icon{color:inherit;background:rgba(255,255,255,.12)}
.message,.history-warning{margin:0 0 20px;border:1px solid #847650;border-left:3px solid var(--maintenance);padding:12px 15px;background:#4e4739;color:#ffdfa4;border-radius:6px;white-space:pre-line}.message[hidden],.history-warning[hidden]{display:none}.message.critical{border-color:#885459;border-left-color:#f17b7b;background:#543d43;color:#ffd7d7}.message.positive{border-color:#427962;border-left-color:#61d8a3;background:#2c4b42;color:#b1f4d4}.message.info{border-color:#54758c;border-left-color:#8bc4f0;background:#354b5e;color:#d6ecff}.message strong{display:block;margin-bottom:4px}.history-warning{font-size:13px}
.table-wrap{border:1px solid #526272;border-radius:10px;overflow:hidden;box-shadow:0 12px 30px rgba(10,16,24,.10);background:var(--panel)}.scroll-table{width:100%;overflow-x:auto;scrollbar-color:#7b8a98 var(--panel)}.status-table{border-collapse:collapse;width:100%;min-width:760px;text-align:center}.status-table th,.status-table td{border-bottom:1px solid #485969;padding:14px 10px;white-space:nowrap}.status-table th{font-weight:650;background:#3b4a57;color:#d2dee5;font-size:12px}.status-table .service-col{text-align:left;width:36%;padding-left:22px}.status-table td.service-name{text-align:left;padding-left:22px;color:#e9eff3;font-weight:500}.status-table .uptime-col{width:120px}.status-table th.day-col{min-width:66px;width:8%}.status-table tbody tr:last-child td{border-bottom:0}.status-table tbody tr:not(.group):hover{background:rgba(255,255,255,.025)}.status-table .group td{background:#415361;padding:10px 22px;border-bottom-color:#586a76;text-align:left;font-size:13px;font-weight:700;color:#fff;letter-spacing:.012em}.status-table .group:not(:first-child) td{border-top:1px solid #61707d}.service-state{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:11px;vertical-align:1px}.service-state.up{background:var(--up)}.service-state.down{background:var(--down)}.service-state.maintenance{background:var(--maintenance)}.service-state.paused,.service-state.unknown{background:var(--unknown)}.uptime-value{font-variant-numeric:tabular-nums;font-weight:650;color:var(--up)}.uptime-value.imperfect{color:var(--maintenance)}.uptime-value.low{color:var(--down)}.uptime-value.missing{color:#b6c1c9}.day-dot{display:inline-block;border-radius:50%;width:15px;height:15px;vertical-align:middle}.day-dot.up,.dot.up{background:var(--up)}.day-dot.down,.dot.down{background:var(--down)}.day-dot.maintenance,.dot.maintenance{background:var(--maintenance)}.day-dot.unknown,.day-dot.paused,.dot.unknown{background:#8394a1}.day-dot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.loading-cell{color:#b6c3cc!important;text-align:center;padding:28px!important}
.table-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#b0bfca;font-size:12px;margin-top:15px}.secondary-btn{font-size:12px;padding:8px 13px}.legend{display:flex;flex-wrap:wrap;gap:20px;color:#c4cfd7;font-size:12px;margin-top:23px}.legend>span{display:inline-flex;align-items:center;gap:8px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%}.footer{padding:21px 0;border-top:1px solid rgba(238,243,246,.10);color:#acbac5;font-size:12px}.footer .container{text-align:center}
dialog{color:var(--text);background:#344452;border:1px solid #657581;border-radius:11px;padding:0;width:min(470px,calc(100% - 24px));box-shadow:0 20px 60px rgba(0,0,0,.45)}dialog::backdrop{background:rgba(12,22,32,.7)}.dialog-box{padding:27px}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header h2{margin:0;font-size:19px;font-weight:650}.x-button{background:none;border:0;color:#d2dce4;font-size:26px;cursor:pointer}.dialog-box label{display:block;font-size:13px;margin-top:17px;margin-bottom:8px;font-weight:600}.dialog-box select{width:100%;padding:10px;border:1px solid #687988;background:#2e3a46;color:var(--text);border-radius:5px;font:inherit}.sla-result{font-size:39px;font-weight:700;color:var(--up);text-align:center;padding:23px 0 13px;font-variant-numeric:tabular-nums}.hint{font-size:12px;color:#b9c5cd}.dialog-actions{display:flex;justify-content:flex-end;margin-top:15px}.scroll-hint{display:none;font-size:12px;color:#b5c4ce;text-align:right;margin:0 0 8px}
@media(max-width:760px){.scroll-hint{display:block}}
@media(max-width:650px){.container{width:calc(100% - 28px)}.topbar-content{min-height:95px;gap:12px}.brand-logo{width:153px}.header-meta{display:none}.header-right{gap:8px}.language-switch{padding:6px;gap:7px}.flag-btn{width:46px;height:38px;flex-basis:46px}.main{padding-top:28px}.intro{align-items:start}.intro h1{font-size:24px}.intro p{font-size:12px}.refresh{padding:8px 11px;font-size:12px;white-space:nowrap;gap:6px}.refresh-symbol{width:19px;height:19px;flex-basis:19px}.status-table{min-width:730px}.status-table td.service-name{padding-left:13px}.status-table .service-col{padding-left:13px}.overview{font-size:13px}.table-footer{align-items:start}.legend{gap:10px 15px}.dialog-box{padding:18px}}
@media(max-width:380px){.brand-logo{width:137px}.refresh{width:40px;height:40px;min-height:40px;padding:0;gap:0}.refresh span[data-i18n="refresh"]{display:none}}
@media(max-width:300px){.brand-logo{width:124px}.topbar-content{gap:8px}.language-switch{padding:5px;gap:5px}.flag-btn{width:42px;height:36px;flex-basis:42px}}

.flag-image{display:block;max-width:32px;max-height:21px;width:auto;height:auto;border-radius:2px;object-fit:contain;box-shadow:0 0 0 1px rgba(255,255,255,.18)}

.brand{color:inherit;text-decoration:none;border-radius:5px}.brand:hover .brand-logo{opacity:.92}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:5px}

/* Floating daily uptime tooltip (not clipped by the table scroll container). */
.day-dot{cursor:help}
.day-tooltip{position:fixed;z-index:1000;transform:translateX(-50%);min-width:182px;max-width:min(270px,calc(100vw - 20px));padding:11px 15px 12px;background:#1e2b36;border:1px solid #69808e;border-radius:9px;box-shadow:0 12px 28px rgba(0,0,0,.38);color:#f2f7f9;pointer-events:none;text-align:center;line-height:1.45}
.day-tooltip[hidden]{display:none}
.day-tooltip-date{font-size:13px;font-weight:700;white-space:nowrap}
.day-tooltip-uptime{margin-top:5px;font-size:12px;color:#d2e0e9;white-space:nowrap}
.day-tooltip:after{content:"";position:absolute;top:100%;left:var(--tooltip-arrow-x,50%);width:10px;height:10px;transform:translate(-50%,-50%) rotate(45deg);background:#1e2b36;border-right:1px solid #69808e;border-bottom:1px solid #69808e}
.day-tooltip.below:after{top:0;transform:translate(-50%,-50%) rotate(45deg);border-right:0;border-bottom:0;border-left:1px solid #69808e;border-top:1px solid #69808e}
/* Custom bilingual 404 page. */
.not-found-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;min-height:calc(100vh - 300px);padding:65px 0}
.not-found-code{font-size:clamp(76px,13vw,150px);line-height:1;color:#f8a65c;font-weight:750;letter-spacing:-.05em}
.not-found-layout h1{font-size:clamp(22px,3vw,32px);margin:8px 0 0}
.not-found-layout p{color:var(--muted);max-width:520px;font-size:15px;margin:0 0 20px}
.not-found-link{display:inline-flex;align-items:center;justify-content:center;color:#18232c;background:#f8a65c;padding:11px 18px;text-decoration:none;border-radius:7px;font-weight:700}
.not-found-link:hover{background:#ffb878}
.not-found-link:focus-visible{outline:2px solid white;outline-offset:4px}

/* Uptime value tooltip uses the same unclipped, centered floating popup as daily status dots. */
.uptime-number{display:inline-block;border-radius:4px;cursor:help;touch-action:manipulation}
.uptime-number:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
