:root{--paper: #f7f7f5;--panel: #ffffff;--ink: #171c24;--muted: hsl(215 18% 35%);--primary: hsl(0 70% 34%);--border: hsl(214 18% 84%);--quiet: #f5f5f3;--warning-bg: #fbf3e4;--warning-ink: #6b4a12;--warning-border: #e4d0a4;--danger-bg: #fff0ef;--danger-ink: #872727;--danger-border: #eac2bf;color:var(--ink);background:var(--paper);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;background:var(--paper);color:var(--ink)}body{overflow-wrap:break-word}button,input{font:inherit;color:inherit}button,input{min-height:44px;font-size:1rem}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.app-shell{width:min(100%,40rem);margin:0 auto;padding:0 max(1rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.page-header{padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:.75rem}.page-header h1{margin:0;font-size:clamp(1.7rem,4vw,2.15rem);font-weight:700;letter-spacing:-.04em;line-height:1.15}.header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.header-row h1{min-width:0}.header-row .secondary-button{flex:0 0 auto}.staff-line{margin:.35rem 0 0;color:var(--ink);font-size:.9rem;font-weight:650}.page-header p{margin:.4rem 0 0;color:var(--muted);line-height:1.5}.toolbar{position:sticky;top:env(safe-area-inset-top);z-index:2;display:grid;gap:.65rem;margin-inline:-1rem;padding:.35rem 1rem .85rem;background:var(--paper);border-bottom:1px solid var(--border)}.field{display:grid;gap:.3rem;min-width:0}.field span{color:var(--muted);font-size:.8rem;font-weight:650}.field input{width:100%;max-width:100%;min-width:0;border:1px solid var(--border);border-radius:.5rem;background:var(--panel);padding:.55rem .75rem}.toolbar-row,.chip-row,.pager{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.chip,.secondary-button{border:1px solid var(--border);border-radius:.5rem;background:var(--panel);color:var(--ink);padding:.45rem .9rem;font-weight:650}.chip{border-radius:999px}.chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:#fff}.date-row{display:grid;gap:.5rem}.banner{display:grid;gap:.65rem;margin-top:.85rem;padding:.85rem 1rem;border-radius:.5rem;justify-items:start}.banner p{margin:0;line-height:1.45}.banner.error{background:var(--danger-bg);color:var(--danger-ink);border:1px solid var(--danger-border)}.banner.stale{background:var(--quiet);color:var(--ink);border:1px solid var(--border)}.scope-note,.refresh-note,.empty-state{color:var(--muted);line-height:1.5}.scope-note,.refresh-note{margin:.85rem 0 0;font-size:.875rem}.empty-state{margin:.85rem 0 0}.waiver-list{display:grid;gap:.75rem;margin-top:.85rem}.waiver-card{min-width:0;border:1px solid var(--border);border-radius:.65rem;background:var(--panel)}.waiver-summary{display:grid;width:100%;gap:.35rem;border:0;border-radius:.65rem;background:transparent;padding:.9rem 1rem;text-align:left}.summary-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.summary-name{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}.summary-action,.summary-meta,.summary-contact{color:var(--muted);font-size:.9rem;line-height:1.4}.summary-action{flex:0 0 auto;font-size:.8rem;font-weight:650}.summary-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.flag{border:1px solid var(--border);border-radius:999px;background:var(--quiet);color:var(--ink);padding:.2rem .55rem;font-size:.78rem;font-weight:650;line-height:1.35}.flag.warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-ink)}.waiver-details{display:grid;gap:1rem;border-top:1px solid var(--border);padding:.25rem 1rem 1rem}.detail-section h3{margin:.85rem 0 .55rem;font-size:1rem;font-weight:650}.detail-section dl,.disclosure dl{display:grid;gap:.5rem;margin:.55rem 0 0}.detail-row{min-width:0;border-radius:.45rem;background:var(--quiet);padding:.7rem .75rem}.detail-row dt{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.detail-row dd{margin:.25rem 0 0;overflow-wrap:anywhere;white-space:pre-line;line-height:1.4}.disclosure{border-top:1px solid var(--border);padding-top:.35rem}.disclosure summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:650}.detail-section .scope-note{margin:0;padding:.75rem;background:var(--quiet);border-left:3px solid #7d858f;color:#394452}.pager{margin-top:1rem}.pager .secondary-button{flex:1 1 8rem}.unlock-page{min-height:100dvh;display:grid;place-items:center;padding:max(1.5rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.unlock-card{width:min(100%,28.75rem);display:grid;gap:1.25rem;border:1px solid var(--border);border-radius:.75rem;background:var(--panel);padding:2rem 1.5rem}.unlock-card h1{margin:0;font-size:clamp(1.7rem,4vw,2.15rem);font-weight:700;letter-spacing:-.04em;line-height:1.15}.brand-mark{margin:0;color:var(--primary);font-size:.85rem;font-weight:800;letter-spacing:.04em}.muted{margin:0;color:var(--muted);line-height:1.5}.text-sm{font-size:.875rem}.stack{display:grid;gap:.35rem}.stack label{margin-top:.45rem;color:var(--muted);font-size:.8rem;font-weight:650}.stack input{width:100%;border:1px solid var(--border);border-radius:.5rem;background:var(--panel);padding:.55rem .75rem}.primary-button{margin-top:.7rem;border:0;border-radius:.5rem;background:var(--primary);color:#fff;font-weight:650;padding:.55rem .9rem}.error-message{margin:.2rem 0 0;color:var(--danger-ink);line-height:1.45}.release-note{margin:0;border-top:1px solid var(--border);padding-top:1rem;color:var(--muted);font-size:.75rem}@media(max-width:30rem){.unlock-card{padding:1.25rem}}@media(min-width:40rem){.date-row,.detail-section dl,.disclosure dl{grid-template-columns:1fr 1fr}}
