:root{--brand: #334155;--brand-contrast: #ffffff;--ink: #1a2130;--ink-muted: #5d6676;--line: #dfe3ea;--surface: #ffffff;--canvas: #f5f6f8;--danger: #9b1c1c;--danger-bg: #fdecec;--radius: 10px;--shadow: 0 1px 2px rgba(16, 22, 34, .06), 0 4px 16px rgba(16, 22, 34, .05)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand)}.app{display:flex;min-height:100%;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar__logo{height:32px;width:auto}.topbar__name{font-weight:650;letter-spacing:-.01em;margin-right:auto}.topbar__who{color:var(--ink-muted);font-size:14px}.main{width:100%;max-width:880px;margin:0 auto;padding:28px 20px 64px;flex:1}.page-title{margin:0 0 4px;font-size:22px;letter-spacing:-.02em}.page-sub{margin:0 0 24px;color:var(--ink-muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.list{list-style:none;margin:0;padding:0}.list__item+.list__item{border-top:1px solid var(--line)}.row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.row:hover,.row:focus-visible{background:#f2f4f7}.row__main{flex:1;min-width:0}.row__title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__meta{color:var(--ink-muted);font-size:13px;margin-top:2px}.row__chevron{color:var(--ink-muted);flex:none}.badge{flex:none;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:#eceff4;color:var(--brand);border:1px solid #d5dbe5}.badge--muted{background:#f0f2f5;color:var(--ink-muted);border-color:var(--line)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px 20px;padding:16px;margin:0}.facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.facts dd{margin:2px 0 0;font-weight:550}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;border:1px solid transparent;background:var(--brand);color:var(--brand-contrast);font:inherit;font-weight:600;cursor:pointer}.btn:disabled{opacity:.55;cursor:default}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn--link{background:none;border:0;color:var(--brand);padding:0;font-weight:600}.field{display:block;margin-bottom:14px}.field__label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field__input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--surface)}.field__input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.login{min-height:100%;display:grid;place-items:center;padding:24px}.login__card{width:100%;max-width:380px;padding:28px}.login__brand{text-align:center;margin-bottom:22px}.login__brand img{max-height:48px;width:auto;margin-bottom:10px}.login__brand h1{font-size:18px;margin:0;letter-spacing:-.01em}.alert{padding:11px 13px;border-radius:8px;background:var(--danger-bg);color:var(--danger);font-size:14px;margin-bottom:16px;border:1px solid #f4d0d0}.empty{padding:44px 20px;text-align:center;color:var(--ink-muted)}.spinner{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;margin:44px auto}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2s}}.viewer{width:100%;height:min(78vh,900px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.toolbar{display:flex;align-items:center;gap:10px;margin:18px 0 12px;flex-wrap:wrap}.toolbar__spacer{margin-left:auto}@supports (color: color-mix(in srgb,red 50%,white)){.row:hover,.row:focus-visible{background:color-mix(in srgb,var(--brand) 5%,#ffffff)}.badge:not(.badge--muted){background:color-mix(in srgb,var(--brand) 9%,#ffffff);border-color:color-mix(in srgb,var(--brand) 22%,#ffffff)}}
