.navbar[data-v-1c260cea]{z-index:10;background:#111620;border-bottom:1px solid #1e2530;align-items:center;gap:1.5rem;height:52px;padding:0 1.5rem;display:flex;position:sticky;top:0}.brand[data-v-1c260cea]{color:#22d3a0;letter-spacing:-.01em;margin-right:auto;font-size:1.1rem;font-weight:700}.links[data-v-1c260cea]{gap:1.25rem;display:flex}.links a[data-v-1c260cea]{color:#5a6478;font-size:.9rem;text-decoration:none;transition:color .15s}.links a.router-link-active[data-v-1c260cea],.links a[data-v-1c260cea]:hover{color:#e2e8f0}.logout[data-v-1c260cea]{color:#5a6478;cursor:pointer;background:0 0;border:1px solid #252d3a;border-radius:4px;padding:.3rem .75rem;font-size:.85rem;transition:color .15s,border-color .15s}.logout[data-v-1c260cea]:hover{color:#e2e8f0;border-color:#8b97a6}@media (width<=480px){.navbar[data-v-1c260cea]{gap:.75rem;padding:0 .75rem}.brand[data-v-1c260cea]{font-size:1rem}.links[data-v-1c260cea]{gap:.75rem}.links a[data-v-1c260cea]{font-size:.82rem}.logout[data-v-1c260cea]{padding:.25rem .5rem;font-size:.78rem}}body{color:#e2e8f0;background:#0e1117}.login-container[data-v-2c3ae223]{background:#0e1117;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form[data-v-2c3ae223]{background:#161b22;border:1px solid #252d3a;border-radius:10px;flex-direction:column;gap:.75rem;width:100%;max-width:360px;padding:2.5rem;display:flex}h1[data-v-2c3ae223]{text-align:center;color:#22d3a0;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}label[data-v-2c3ae223]{color:#8b97a6;font-size:.875rem}input[data-v-2c3ae223]{color:#e2e8f0;background:#0e1117;border:1px solid #252d3a;border-radius:6px;padding:.6rem .75rem;font-size:1rem}input[data-v-2c3ae223]:focus{border-color:#22d3a0;outline:none}button[data-v-2c3ae223]{color:#0a0f14;cursor:pointer;background:#22d3a0;border:none;border-radius:6px;margin-top:.5rem;padding:.7rem;font-size:1rem;font-weight:600}button[data-v-2c3ae223]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-2c3ae223]{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.sidebar-layout[data-v-b0d41693]{height:calc(100vh - 52px);display:flex;overflow:hidden}.sidebar[data-v-b0d41693]{background:#111620;border-right:1px solid #1e2530;flex-direction:column;gap:2px;width:175px;min-width:175px;padding:.75rem .5rem;display:flex}.sidebar-btn[data-v-b0d41693]{text-align:left;cursor:pointer;color:#5a6478;background:0 0;border:none;border-radius:5px;width:100%;padding:.45rem .75rem;font-size:.875rem;transition:background .12s,color .12s;display:block}.sidebar-btn[data-v-b0d41693]:hover{color:#e2e8f0;background:#1c232e}.sidebar-btn.active[data-v-b0d41693]{color:#0a0f14;background:#22d3a0;font-weight:600}.sidebar-content[data-v-b0d41693]{flex:1;padding:1rem 1.5rem;overflow-y:auto}@media (width<=640px){.sidebar-layout[data-v-b0d41693]{flex-direction:column}.sidebar[data-v-b0d41693]{border-bottom:1px solid #1e2530;border-right:none;flex-direction:row;gap:4px;width:100%;min-width:0;padding:.4rem .75rem;overflow-x:auto}.sidebar-btn[data-v-b0d41693]{white-space:nowrap;flex-shrink:0;width:auto;padding:.4rem .9rem}.sidebar-content[data-v-b0d41693]{padding:.75rem 1rem}}.badge[data-v-71319e3e]{white-space:nowrap;border-radius:12px;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.critical[data-v-71319e3e]{color:#f87171;background:#ef44441f}.warning[data-v-71319e3e]{color:#fb923c;background:#fb923c1f}.caution[data-v-71319e3e]{color:#fbbf24;background:#fbbf241f}.ok[data-v-71319e3e]{color:#4ade80;background:#4ade801f}.chart-wrapper[data-v-f1f0fada]{background:#161b22;border:1px solid #252d3a;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.chart-title[data-v-f1f0fada]{color:#e2e8f0;margin:0 0 .25rem;font-size:.95rem;font-weight:600}.chart-box[data-v-f1f0fada]{width:100%;position:relative}.ann-legend[data-v-f1f0fada]{flex-wrap:wrap;gap:.75rem;margin-bottom:.25rem;display:flex}.ann-item[data-v-f1f0fada]{color:#8b97a6;align-items:center;gap:.35rem;font-size:.78rem;display:flex}.ann-swatch[data-v-f1f0fada]{border-radius:2px;flex-shrink:0;width:20px;height:12px;display:inline-block}.day-range[data-v-98c5bae7]{align-items:center;gap:.25rem;display:flex}.day-pill[data-v-98c5bae7]{cursor:pointer;color:#5a6478;background:#161b22;border:1px solid #252d3a;border-radius:4px;padding:.2rem .55rem;font-size:.8rem;line-height:1.4;transition:border-color .12s,color .12s}.day-pill[data-v-98c5bae7]:hover{color:#e2e8f0;border-color:#8b97a6}.day-pill.active[data-v-98c5bae7]{color:#0a0f14;background:#22d3a0;border-color:#22d3a0;font-weight:600}.page-header[data-v-d2f13c71]{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1[data-v-d2f13c71]{color:#e2e8f0;margin:0;font-size:1.3rem}.hint[data-v-d2f13c71]{color:#5a6478;font-size:.8rem}.hint.ts-warn[data-v-d2f13c71]{color:#fbbf24}.hint.ts-old[data-v-d2f13c71]{color:#f87171}section[data-v-d2f13c71]{margin-bottom:2.5rem}h2[data-v-d2f13c71]{color:#8b97a6;margin:0 0 .75rem;font-size:1rem}.charts[data-v-d2f13c71]{flex-direction:column;gap:1rem;display:flex}.search-input[data-v-d2f13c71]{color:#e2e8f0;background:#161b22;border:1px solid #252d3a;border-radius:5px;outline:none;width:200px;padding:.35rem .7rem;font-size:.875rem}.search-input[data-v-d2f13c71]::placeholder{color:#5a6478}.search-input[data-v-d2f13c71]:focus{border-color:#22d3a0}.btn-primary[data-v-d2f13c71]{color:#0a0f14;cursor:pointer;background:#22d3a0;border:none;border-radius:5px;padding:.4rem .9rem;font-size:.875rem;font-weight:600;position:relative;overflow:hidden}.btn-primary[data-v-d2f13c71]:disabled{opacity:.5;cursor:not-allowed}.btn-progress[data-v-d2f13c71]{pointer-events:none;background:#fbbf24;height:3px;transition:width .5s;position:absolute;bottom:0;left:0}.loading[data-v-d2f13c71],.empty[data-v-d2f13c71]{color:#5a6478;text-align:center;padding:3rem}.error-msg[data-v-d2f13c71]{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.project-grid[data-v-d2f13c71]{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;display:grid}.project-card[data-v-d2f13c71]{color:inherit;background:#161b22;border:1px solid #252d3a;border-radius:8px;padding:1rem;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:block}.project-card[data-v-d2f13c71]:hover{border-color:#3a4560;box-shadow:0 2px 12px #0006}.project-card.is-hidden[data-v-d2f13c71]{opacity:.35}.project-card.is-hidden[data-v-d2f13c71]:hover{opacity:.65}.card-top[data-v-d2f13c71]{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.4rem;display:flex}.card-top-right[data-v-d2f13c71]{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.project-id[data-v-d2f13c71]{word-break:break-all;color:#e2e8f0;font-size:.9rem;font-weight:600}.card-meta[data-v-d2f13c71]{color:#5a6478;justify-content:space-between;font-size:.8rem;display:flex}.btn-card-hide[data-v-d2f13c71]{opacity:0;color:#5a6478;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.3rem;transition:opacity .12s,color .12s;display:flex}.project-card:hover .btn-card-hide[data-v-d2f13c71]{opacity:1}.btn-card-hide[data-v-d2f13c71]:hover{color:#f87171}.btn-card-hide.restore[data-v-d2f13c71]{opacity:1;color:#22d3a0}.btn-toggle[data-v-d2f13c71]{color:#8b97a6;cursor:pointer;background:0 0;border:1px solid #252d3a;border-radius:5px;padding:.35rem .75rem;font-size:.875rem;transition:border-color .12s,color .12s}.btn-toggle[data-v-d2f13c71]:hover{color:#e2e8f0;border-color:#8b97a6}.gap-bar[data-v-d2f13c71]{border-radius:4px;margin-top:.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:500}.gap-bar.green[data-v-d2f13c71]{color:#4ade80;background:#4ade801a}.gap-bar.yellow[data-v-d2f13c71]{color:#fbbf24;background:#fbbf241a}.gap-bar.orange[data-v-d2f13c71]{color:#fb923c;background:#fb923c1a}.gap-bar.red[data-v-d2f13c71]{color:#f87171;background:#ef44441a}@media (width<=640px){.page-header[data-v-d2f13c71]{gap:.6rem;margin-bottom:.9rem}.page-header h1[data-v-d2f13c71]{font-size:1.1rem}.search-input[data-v-d2f13c71]{width:100%;margin-left:0!important}.project-grid[data-v-d2f13c71]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.card-top[data-v-d2f13c71]{flex-direction:column;gap:.3rem}.card-top-right[data-v-d2f13c71]{align-self:flex-start}}@media (hover:none){.project-card[data-v-d2f13c71]:hover{box-shadow:none;border-color:#252d3a}.btn-card-hide[data-v-d2f13c71]{display:none}.is-managing .btn-card-hide[data-v-d2f13c71]{opacity:1;display:flex}}.btn-manage[data-v-d2f13c71]{color:#8b97a6;cursor:pointer;background:0 0;border:1px solid #252d3a;border-radius:5px;padding:.35rem .75rem;font-size:.875rem;transition:border-color .12s,color .12s;display:none}.btn-manage.active[data-v-d2f13c71]{color:#22d3a0;border-color:#22d3a0}@media (hover:none){.btn-manage[data-v-d2f13c71]{display:block}}.page[data-v-9d57808a]{padding:1rem 1.5rem}.page-header[data-v-9d57808a]{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1[data-v-9d57808a]{color:#e2e8f0;margin:0;font-size:1.4rem}.back[data-v-9d57808a]{color:#22d3a0;white-space:nowrap;font-size:.875rem;text-decoration:none}.back[data-v-9d57808a]:hover{text-decoration:underline}.cache-hint[data-v-9d57808a]{color:#5a6478;font-size:.8rem}.cache-hint.ts-warn[data-v-9d57808a]{color:#fbbf24}.cache-hint.ts-old[data-v-9d57808a]{color:#f87171}.report-badge[data-v-9d57808a]{color:#22d3a0;letter-spacing:.03em;text-transform:uppercase;background:#22d3a01f;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.btn-refresh[data-v-9d57808a]{color:#0a0f14;cursor:pointer;background:#22d3a0;border:none;border-radius:5px;margin-left:auto;padding:.4rem .9rem;font-size:.875rem;font-weight:600;position:relative;overflow:hidden}.btn-refresh[data-v-9d57808a]:disabled{opacity:.5;cursor:not-allowed}.btn-progress[data-v-9d57808a]{pointer-events:none;background:#fbbf24;height:3px;transition:width .5s;position:absolute;bottom:0;left:0}.loading[data-v-9d57808a],.empty[data-v-9d57808a]{color:#5a6478;text-align:center;padding:3rem}.error-msg[data-v-9d57808a]{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.charts[data-v-9d57808a]{flex-direction:column;gap:2rem;display:flex}@media (width<=640px){.page[data-v-9d57808a]{padding:.75rem 1rem}.page-header[data-v-9d57808a]{gap:.6rem;margin-bottom:1rem}.page-header h1[data-v-9d57808a]{font-size:1.15rem}.charts[data-v-9d57808a]{gap:1.25rem}}.page-header[data-v-cbd14101]{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1[data-v-cbd14101]{color:#e2e8f0;margin:0;font-size:1.3rem}.hint[data-v-cbd14101]{color:#5a6478;font-size:.8rem;font-weight:400}.hint.ts-warn[data-v-cbd14101]{color:#fbbf24}.hint.ts-old[data-v-cbd14101]{color:#f87171}.btn-primary[data-v-cbd14101]{color:#0a0f14;cursor:pointer;background:#22d3a0;border:none;border-radius:5px;padding:.4rem .9rem;font-size:.875rem;font-weight:600}.btn-primary[data-v-cbd14101]:disabled{opacity:.5;cursor:not-allowed}.btn-inline[data-v-cbd14101]{color:#0a0f14;cursor:pointer;background:#22d3a0;border:none;border-radius:4px;padding:.25rem .6rem;font-size:.85rem;font-weight:600;position:relative;overflow:hidden}.btn-inline[data-v-cbd14101]:disabled{opacity:.5;cursor:not-allowed}.btn-progress[data-v-cbd14101]{pointer-events:none;background:#fbbf24;height:3px;transition:width .5s;position:absolute;bottom:0;left:0}.loading[data-v-cbd14101],.empty[data-v-cbd14101]{color:#5a6478;text-align:center;padding:3rem}.error-msg[data-v-cbd14101]{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.search-input[data-v-cbd14101]{color:#e2e8f0;background:#161b22;border:1px solid #252d3a;border-radius:5px;outline:none;width:220px;margin-bottom:1rem;padding:.35rem .7rem;font-size:.875rem;display:block}.search-input[data-v-cbd14101]::placeholder{color:#5a6478}.search-input[data-v-cbd14101]:focus{border-color:#22d3a0}.report-selector[data-v-cbd14101]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.report-pill[data-v-cbd14101]{cursor:pointer;color:#8b97a6;background:#161b22;border:1px solid #252d3a;border-radius:20px;padding:.35rem .85rem;font-size:.85rem;transition:border-color .12s,color .12s}.report-pill[data-v-cbd14101]:hover{color:#e2e8f0;border-color:#8b97a6}.report-pill.active[data-v-cbd14101]{color:#0a0f14;background:#22d3a0;border-color:#22d3a0;font-weight:600}section[data-v-cbd14101]{margin-bottom:2.5rem}h2[data-v-cbd14101]{color:#8b97a6;margin:0 0 .75rem;font-size:1rem}.charts[data-v-cbd14101]{flex-direction:column;gap:1rem;display:flex}.project-grid[data-v-cbd14101]{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;display:grid}.project-card[data-v-cbd14101]{color:inherit;background:#161b22;border:1px solid #252d3a;border-radius:8px;padding:1rem;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:block}.project-card[data-v-cbd14101]:hover{border-color:#3a4560;box-shadow:0 2px 12px #0006}.card-top[data-v-cbd14101]{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.4rem;display:flex}.project-id[data-v-cbd14101]{word-break:break-all;color:#e2e8f0;font-size:.9rem;font-weight:600}.card-meta[data-v-cbd14101]{color:#5a6478;justify-content:space-between;font-size:.8rem;display:flex}.gap-bar[data-v-cbd14101]{border-radius:4px;margin-top:.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:500}.gap-bar.green[data-v-cbd14101]{color:#4ade80;background:#4ade801a}.gap-bar.yellow[data-v-cbd14101]{color:#fbbf24;background:#fbbf241a}.gap-bar.orange[data-v-cbd14101]{color:#fb923c;background:#fb923c1a}.gap-bar.red[data-v-cbd14101]{color:#f87171;background:#ef44441a}.card-top-right[data-v-cbd14101]{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.project-card.is-hidden[data-v-cbd14101]{opacity:.35}.project-card.is-hidden[data-v-cbd14101]:hover{opacity:.65}.btn-card-hide[data-v-cbd14101]{opacity:0;color:#5a6478;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.3rem;transition:opacity .12s,color .12s;display:flex}.project-card:hover .btn-card-hide[data-v-cbd14101]{opacity:1}.btn-card-hide[data-v-cbd14101]:hover{color:#f87171}.btn-card-hide.restore[data-v-cbd14101]{opacity:1;color:#22d3a0}.btn-toggle[data-v-cbd14101]{color:#8b97a6;cursor:pointer;background:0 0;border:1px solid #252d3a;border-radius:5px;padding:.35rem .75rem;font-size:.875rem;transition:border-color .12s,color .12s}.btn-toggle[data-v-cbd14101]:hover{color:#e2e8f0;border-color:#8b97a6}@media (width<=640px){.page-header[data-v-cbd14101]{gap:.6rem;margin-bottom:.9rem}.page-header h1[data-v-cbd14101]{font-size:1.1rem}.search-input[data-v-cbd14101]{width:100%;margin-left:0!important}.project-grid[data-v-cbd14101]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.card-top[data-v-cbd14101]{flex-direction:column;gap:.3rem}.card-top-right[data-v-cbd14101]{align-self:flex-start}}@media (hover:none){.project-card[data-v-cbd14101]:hover{box-shadow:none;border-color:#252d3a}.btn-card-hide[data-v-cbd14101]{display:none}.is-managing .btn-card-hide[data-v-cbd14101]{opacity:1;display:flex}}.btn-manage[data-v-cbd14101]{color:#8b97a6;cursor:pointer;background:0 0;border:1px solid #252d3a;border-radius:5px;padding:.35rem .75rem;font-size:.875rem;transition:border-color .12s,color .12s;display:none}.btn-manage.active[data-v-cbd14101]{color:#22d3a0;border-color:#22d3a0}@media (hover:none){.btn-manage[data-v-cbd14101]{display:block}}.page[data-v-2988527a]{padding:1rem 1.5rem}.page-header[data-v-2988527a]{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1[data-v-2988527a]{color:#e2e8f0;margin:0;font-size:1.4rem}.back[data-v-2988527a]{color:#22d3a0;white-space:nowrap;font-size:.875rem;text-decoration:none}.back[data-v-2988527a]:hover{text-decoration:underline}.header-actions[data-v-2988527a]{align-items:center;gap:.75rem;margin-left:auto;display:flex}.cache-hint[data-v-2988527a]{color:#5a6478;font-size:.8rem}.btn-refresh[data-v-2988527a]{color:#0a0f14;cursor:pointer;background:#22d3a0;border:none;border-radius:5px;padding:.45rem 1rem;font-size:.875rem;font-weight:600;position:relative;overflow:hidden}.btn-refresh[data-v-2988527a]:disabled{opacity:.5;cursor:not-allowed}.btn-progress[data-v-2988527a]{pointer-events:none;background:#fbbf24;height:3px;transition:width .5s;position:absolute;bottom:0;left:0}.section-header[data-v-2988527a]{color:#5a6478;margin-bottom:1rem;font-size:.85rem}.loading[data-v-2988527a],.empty[data-v-2988527a]{color:#5a6478;text-align:center;padding:3rem}.error-msg[data-v-2988527a]{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.charts[data-v-2988527a]{flex-direction:column;gap:2rem;display:flex}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{color:#e2e8f0;-webkit-font-smoothing:antialiased;background:#0e1117;margin:0;font-family:system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}a{color:inherit}
