/* ADAPTED from app/moment/web/static/app.css (legacy-shell-auth, M13, docs/SHELL_AUTH_REUSE_MAP.md §1
   / ARCHITECTURE.md §11.5: "adapt — app.css (.card, .pill, .notice, .table-wrap)").
   The legacy app.css was an entire older design generation (dark sidebar, its own .card/.pill/
   button/input styling, business components .period-grid/.matrix/.rep-grid/.avatar/
   .folder-upload-zone, and its own .auth-page). It was loaded before brand.css, which redefines
   the shared class names and wins the cascade (SHELL_AUTH_REUSE_MAP §1 duplication note) --
   copying that whole file verbatim would only re-introduce dead/overridden and business-only rules.
   Kept, per ARCHITECTURE.md §11.5, only the rules that fill a real gap brand.css leaves open:
     - `*{box-sizing:border-box}` -- global reset that brand.css assumes but never sets; needed for
       .card/.table-wrap padding to match the original design.
     - `.card{...}` -- brand.css also styles .card, but app.css is loaded first, so this is a
       harmless base that brand.css's own .card rule overrides where they overlap.
     - `.pill,.tag` + the approved/computed/blocked status modifiers -- same status-color system
       brand.css augments; kept here because it is the one that existed first in the cascade and
       DESIGN_SYSTEM's status colors depend on the .pill/.tag base existing.
     - `.notice` + `.notice.error` + `.notice.warning` + `.notice small` -- brand.css only sets
       `.notice{border-radius:3px}`; the colored error/warning variants used by login.html's and
       totp.html's `{% if error %}<p class="notice error">` blocks live only here.
     - `.table-wrap` + the base `table`/`th`/`td`/`tbody tr:hover` rules it depends on.
   Everything else (dark sidebar theme, old buttons/inputs, .period-grid, .matrix, .rep-grid,
   .avatar, .folder-upload-zone, .auth-page/.auth-card, .qr/.otp, .code-editor/.code-view, the
   @media(max-width:900px) block) was legacy-business or superseded by brand.css and was dropped. */
*{box-sizing:border-box}
.card{background:#fff;border:1px solid #e2e9ed;border-radius:13px;padding:24px;margin-bottom:22px;box-shadow:0 3px 9px #19384c04}
.pill,.tag{display:inline-flex;border-radius:20px;background:#edf1f4;padding:3px 12px;font-size:12px;color:#536c7c;white-space:nowrap}
.pill.approved,.pill.closed,.pill.completed{background:#e3f3e9;color:#236542}
.pill.computed{background:#e9eefc;color:#486493}
.pill.blocked,.pill.failed,.pill.danger{background:#f9e7e4;color:#a04537}
.tag{margin:2px;border-radius:5px;font-size:11px}
.notice{border-right:3px solid #799eaf;background:#f0f5f7;padding:12px 15px;border-radius:6px;margin:13px 0;font-size:14px}
.notice.error{border-color:#bb5347;background:#fdf0ee;color:#913a31}
.notice.warning{border-color:#cd9b42;background:#fffaed;color:#785b22}
.notice small{display:block;font-size:11px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;text-align:right;font-size:13px}
th{font-size:12px;color:#647d8a;background:#f7f9fa;white-space:nowrap}
th,td{border-bottom:1px solid #e7edf0;padding:12px 14px;vertical-align:top}
td:first-child{font-weight:500}
tbody tr:hover{background:#f8fbfb}
