:root{--bg:#f7f9fc;--surface:#fff;--surface-muted:#f2f5f9;--line:#d9e2ec;--line-strong:#c8d5e3;--ink:#102336;--muted:#526579;--accent:#174b73}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{color:var(--ink);background:var(--bg);font-family:IBM Plex Sans,Avenir Next,Helvetica Neue,sans-serif;line-height:1.4}.page-shell{width:100%;padding:0 1.1rem 1.2rem}.view-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 0;display:flex}.view-head h1{letter-spacing:.01em;margin:0;font-size:clamp(1.3rem,1.8vw,1.8rem)}.signout-button{border:1px solid var(--line);background:var(--surface);height:2rem;color:var(--ink);cursor:pointer;padding:.35rem .7rem;font-size:.86rem}.signout-button:hover{border-color:var(--accent)}.auth-shell{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{border:1px solid var(--line);background:var(--surface);width:min(420px,100%);padding:1.2rem}.auth-card h1{margin:0;font-size:1.35rem}.auth-card p{color:var(--muted);margin:.35rem 0 1rem;font-size:.9rem}.auth-form{gap:.8rem;display:grid}.auth-form label{color:var(--muted);gap:.3rem;font-size:.83rem;display:grid}.auth-form input{border:1px solid var(--line);height:2.2rem;color:var(--ink);background:var(--surface);padding:.38rem .56rem;font-size:.92rem}.auth-form input:focus{border-color:var(--accent);outline:none}.auth-form button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;height:2.2rem;padding:.38rem .56rem;font-size:.9rem;font-weight:600}.auth-form button:hover{filter:brightness(1.05)}.auth-error{color:#9f3022;margin:0;font-size:.84rem}.filters{z-index:10;background:var(--bg);border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(140px,1fr));gap:.55rem;padding:.78rem 0;display:grid;position:sticky;top:0}.filters label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.83rem;display:flex}.filters input,.filters select,.filters button{border:1px solid var(--line);height:2.15rem;color:var(--ink);background:var(--surface);border-radius:0;padding:.38rem .56rem;font-size:.9rem;transition:border-color .12s ease-out}.filters input:focus,.filters select:focus,.filters button:focus{border-color:var(--accent);outline:none}.filters button{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer;align-self:end;font-weight:600}.filters button:hover{filter:brightness(1.05)}.table-card{background:var(--surface);border:1px solid var(--line);border-top:none}.table-card header{border-bottom:1px solid var(--line);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem .9rem;display:flex}.table-card h2{letter-spacing:.01em;margin:0;font-size:1rem}.table-card header span{color:var(--muted);font-size:.84rem}.table-wrap{max-height:calc(100vh - 252px);overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem}thead th{z-index:2;border-bottom:1px solid var(--line-strong);background:#edf3f8;position:sticky;top:0}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2eaf2;padding:.65rem}th{color:#2a3e52;font-weight:600}tbody tr:nth-child(2n){background:#f9fbfd}tbody tr:hover{background:#f1f7fc}td pre{white-space:pre-wrap;word-break:break-word;color:#12344d;max-width:100%;margin:0;font-family:SFMono-Regular,Menlo,monospace;font-size:.77rem;line-height:1.34}.status{color:var(--muted);margin:.8rem .9rem}.error{color:#b42318;background:#ffe9e4;border:1px solid #f7beb3;margin:.8rem .9rem;padding:.5rem .6rem}.state-cell{white-space:nowrap}.state-label{text-transform:capitalize;letter-spacing:.01em;color:#22364a;border-left:2px solid #9fb0c3;padding-left:.5rem;font-size:.78rem;font-weight:600;display:inline-block}.state-success{color:#1e6d4a;border-left-color:#1d8f58}.state-info{color:#1b5f8b;border-left-color:#177ab8}.state-warning{color:#825b17;border-left-color:#b97d1c}.state-error{color:#9f3022;border-left-color:#c53a29}.state-urgent{color:#5f2d94;border-left-color:#6f34ad}@media (max-width:1020px){.filters{grid-template-columns:repeat(3,minmax(140px,1fr))}.table-wrap{max-height:none}}@media (max-width:700px){.page-shell{padding:0 .7rem 1rem}.filters{grid-template-columns:repeat(2,minmax(120px,1fr))}th,td{padding:.56rem}td pre{max-width:240px}}@media (max-width:520px){.filters{grid-template-columns:1fr}.filters button{width:100%}}
