:root{color-scheme:light dark;--surface-page: #f9f9f7;--surface-1: #fcfcfb;--surface-2: #f1f0ec;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--gridline: #e1e0d9;--border: rgba(11, 11, 11, .1);--hover-wash: rgba(11, 11, 11, .035);--focus-ring: #2a78d6;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--status-unknown: #898781;--seg-waiting: #898781;--seg-active: #2a78d6;--seg-problem: #ec835a;--seg-done: #0ca30c}@media (prefers-color-scheme: dark){:root{--surface-page: #0d0d0d;--surface-1: #1a1a19;--surface-2: #222221;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--gridline: #2c2c2a;--border: rgba(255, 255, 255, .1);--hover-wash: rgba(255, 255, 255, .045);--seg-active: #3987e5}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;min-height:100vh;background:var(--surface-page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}#root{padding:2rem 1.75rem 4rem;margin:0 auto}h1,h2,h3{font-weight:650;letter-spacing:-.01em}a{color:var(--focus-ring)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.cell-muted{color:var(--text-muted);font-size:.85em}.app-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1.5rem}.app-header h1{font-size:1.5rem;margin:0}.app-header__subtitle{margin:0;color:var(--text-secondary);font-size:.95rem}.app-header__actions{margin-left:auto;display:flex;align-items:center;gap:.7rem}.refresh-button{padding:.4rem .9rem;font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text-primary);white-space:nowrap}.refresh-button:hover:not(:disabled){background:var(--hover-wash)}.refresh-button:disabled{opacity:.6;cursor:default}.meta-line{color:var(--text-muted);font-size:.85rem;margin:0 0 1rem}.login-screen{display:flex;justify-content:center;padding-top:12vh}.login-card{padding:1.75rem;max-width:460px;width:100%;display:flex;flex-direction:column;gap:.9rem}.login-card__title{margin:0;font-size:1.2rem}.login-card__text{margin:0;color:var(--text-secondary);font-size:.92rem}.login-button{align-self:flex-start;padding:.55rem 1.1rem;border-radius:8px;background:var(--focus-ring);color:#fff;font-weight:600;font-size:.92rem;text-decoration:none}.login-button:hover{filter:brightness(1.08)}.app-user{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;color:var(--text-secondary);white-space:nowrap}.error-banner{display:flex;align-items:flex-start;gap:1rem;padding:.8rem 1rem;margin-bottom:1rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--status-critical) 45%,var(--border));background:color-mix(in srgb,var(--status-critical) 10%,var(--surface-1))}.error-banner__body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.error-banner__title{font-size:.92rem;color:var(--text-primary)}.error-banner__hint{font-size:.85rem;color:var(--text-secondary)}.error-banner .refresh-button{margin-left:auto;flex:none}.skeleton{display:inline-block;height:.85rem;border-radius:5px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--gridline) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--input{width:240px;height:2rem;border-radius:7px}.skeleton--chip{width:110px;height:1.6rem;border-radius:7px}.skeleton--key{width:74px;flex:none}.skeleton--summary{flex:1 1 auto;max-width:420px}.skeleton--meter{width:110px;flex:none}.skeleton-rows{padding:.4rem 1.25rem 1rem}.skeleton-row{display:flex;align-items:center;gap:1.2rem;padding:.62rem 0;border-bottom:1px solid var(--gridline)}.skeleton-row:last-child{border-bottom:none}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #0b0b0b0a;overflow:hidden}.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--gridline)}.table-toolbar__search{padding:.45rem .7rem;min-width:240px;font-size:.9rem;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text-primary)}.table-toolbar__search:focus-visible{background:var(--surface-1)}.table-toolbar__count{margin-left:auto;color:var(--text-muted);font-size:.85rem;white-space:nowrap}.status-filter{position:relative}.status-filter__toggle{padding:.45rem .85rem;font-size:.9rem;cursor:pointer;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text-primary);white-space:nowrap}.status-filter__toggle:hover{background:var(--hover-wash)}.status-filter__menu{position:absolute;z-index:10;top:calc(100% + 4px);left:0;padding:.6rem;min-width:240px;max-height:340px;overflow-y:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0b0b0b2e;display:flex;flex-direction:column;gap:.15rem}.status-filter__reset{align-self:flex-start;margin-bottom:.4rem;padding:.3rem .5rem;font-size:.85rem;cursor:pointer;border:none;background:none;color:var(--focus-ring);border-radius:5px}.status-filter__reset:hover{background:var(--hover-wash)}.status-filter__option{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border-radius:5px;cursor:pointer;white-space:nowrap;font-size:.9rem}.status-filter__option:hover{background:var(--hover-wash)}.issue-table__scroll{overflow-x:auto;max-width:100%}.issue-table{width:100%;border-collapse:collapse;font-size:.88rem}.issue-table thead th{position:sticky;top:0;background:var(--surface-1);z-index:1}.issue-table th,.issue-table td{padding:.55rem .8rem;text-align:left;border-bottom:1px solid var(--gridline);vertical-align:middle}.issue-table tbody tr:hover{background:var(--hover-wash)}.issue-table__th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;color:var(--text-secondary);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.02em}.issue-table__th:hover{color:var(--text-primary)}.issue-table__empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.cell-type,.cell-priority,.cell-assignee{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.cell-icon{flex:none;border-radius:2px}.cell-avatar{flex:none;border-radius:50%;width:20px;height:20px}.cell-summary{display:inline-block;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;color:var(--text-primary)}.cell-key{font-variant-numeric:tabular-nums;font-weight:600;text-decoration:none}.cell-key:hover{text-decoration:underline}.issue-table__row{cursor:pointer}.issue-table__row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.expand-toggle{display:inline-block;color:var(--text-muted);font-size:.8rem;line-height:1;padding:0 .2rem}.issue-table__row:hover .expand-toggle{color:var(--text-primary)}.issue-table__row--expanded{background:var(--hover-wash)}.issue-table__expanded-row td{padding:0;background:var(--surface-2)}.related-panel{padding:1rem 1.25rem 1.2rem 2.6rem}.related-panel__status{padding:.9rem 1.25rem 1.1rem 2.6rem;margin:0;font-size:.85rem}.link-kind-badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:.78em;white-space:nowrap}.cell-due{display:block;line-height:1.35;white-space:nowrap}.cell-window{white-space:nowrap;font-variant-numeric:tabular-nums}.cell-due small{display:block}.timeline{display:flex;flex-direction:column;gap:.1rem}.timeline__axis{position:relative;height:1.2rem;margin-bottom:.3rem;border-bottom:1px solid var(--gridline)}.timeline__tick{position:absolute;top:0;font-size:.72rem;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.timeline__tick:after{content:"";position:absolute;left:0;top:1.2rem;width:1px;height:.25rem;background:var(--gridline)}.timeline__row{padding:.5rem 0 .6rem;border-bottom:1px solid var(--gridline)}.timeline__row:last-of-type{border-bottom:none}.timeline__row--root{border-bottom:none;padding-bottom:.7rem}.timeline__divider{display:flex;align-items:center;gap:.7rem;margin:.9rem 0 .5rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);white-space:nowrap}.timeline__divider:first-child{margin-top:0}.timeline__divider:after{content:"";height:1px;flex:1;background:var(--gridline)}.timeline__divider--empty{font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-muted)}.timeline__root-mark{width:3px;height:14px;border-radius:2px;background:var(--focus-ring);flex:none}.timeline__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.85rem}.timeline__summary{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.timeline__track{position:relative;height:14px;background:var(--surface-2);border-radius:4px;overflow:hidden}.timeline__seg{position:absolute;top:0;height:100%;min-width:2px;border-right:1px solid var(--surface-1);cursor:help}.timeline__seg--waiting{background:var(--seg-waiting)}.timeline__seg--active{background:var(--seg-active)}.timeline__seg--problem{background:var(--seg-problem)}.timeline__seg--done{background:var(--seg-done)}.timeline__status{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;flex:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary)}.timeline__status .total-chip__dot{background:var(--seg-waiting)}.timeline__status--active .total-chip__dot{background:var(--seg-active)}.timeline__status--problem .total-chip__dot{background:var(--seg-problem)}.timeline__status--done .total-chip__dot{background:var(--seg-done)}.timeline__status-age{color:var(--text-muted);font-weight:500;font-variant-numeric:tabular-nums}.timeline__totals{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.total-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .5rem;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);font-size:.76rem;white-space:nowrap}.total-chip__dot{width:7px;height:7px;border-radius:50%;flex:none}.total-chip__dot--waiting{background:var(--seg-waiting)}.total-chip__dot--active{background:var(--seg-active)}.total-chip__dot--problem{background:var(--seg-problem)}.total-chip__dot--done{background:var(--seg-done)}.total-chip__value{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.total-chip__visits{color:var(--text-muted);font-variant-numeric:tabular-nums}.timeline__legend{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--gridline);font-size:.76rem;color:var(--text-secondary)}.timeline__legend-item{display:inline-flex;align-items:center;gap:.35rem}.timeline__legend-hint{margin-left:auto}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .55rem .15rem .45rem;border-radius:999px;font-size:.8em;white-space:nowrap;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border)}.status-badge__dot{width:7px;height:7px;border-radius:50%;flex:none}.status-badge--waiting .status-badge__dot{background:var(--seg-waiting)}.status-badge--active .status-badge__dot{background:var(--seg-active)}.status-badge--problem .status-badge__dot{background:var(--seg-problem)}.status-badge--done .status-badge__dot{background:var(--seg-done)}.remaining-bar{display:inline-flex;align-items:center;gap:.55rem;min-width:118px}.remaining-bar--empty{color:var(--text-muted)}.remaining-bar__dot{width:8px;height:8px;border-radius:50%;flex:none}.remaining-bar__track{width:60px;height:6px;border-radius:999px;background:var(--gridline);overflow:hidden;flex:none}.remaining-bar__fill{height:100%;border-radius:4px}.remaining-bar__label{font-variant-numeric:tabular-nums;font-weight:600;font-size:.85em;color:var(--text-primary)}
