.compliance{--sev-critical:#8c0a12;--sev-high:#d81420;--sev-medium:#f2686e;--sev-low:#f8c5c8}.compliance .bar-seg,.compliance .chip,.compliance .stat-tile .n{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.compliance .layer-tabs,.compliance .view-toggle{display:flex;flex-wrap:wrap;gap:.3rem}.compliance .view-toggle{margin-bottom:.9rem}.compliance .layer-tab,.compliance .view-tab{padding:.45rem .8rem;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;color:var(--graphite);background:none;border:0;border-radius:var(--radius);white-space:nowrap}.compliance .layer-tab:hover,.compliance .view-tab:hover{background:var(--paper);color:var(--ink)}.compliance .layer-tab.active,.compliance .view-tab.active{background:var(--ink);color:var(--white)}.compliance .layer-tabs{margin-bottom:1.1rem}.compliance .card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:1.6rem;margin-bottom:1.25rem}.compliance .progress-rail{display:flex;gap:3px;margin-bottom:1.6rem}.compliance .progress-rail .seg{flex:1 1;height:3px;border-radius:0;background:var(--paper-deep)}.compliance .progress-rail .seg.done{background:var(--red)}.compliance .progress-rail .seg.current{background:var(--red);opacity:.45}.compliance .step-label{font-size:.8125rem;font-weight:700;color:var(--red-deep);text-transform:none;letter-spacing:0;margin-bottom:.3rem}.compliance .step-title{font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem);font-weight:700;color:var(--ink);letter-spacing:-.022em;line-height:1.1;margin:0 0 .5rem}.compliance .step-desc{font-family:var(--font-serif);font-size:1rem;line-height:1.55;color:var(--graphite);margin:0 0 1.6rem;max-width:42em}.compliance .q{padding-block:1.35rem;border-top:1px solid var(--rule)}.compliance .q:first-of-type{border-top:0;padding-top:.35rem}.compliance .q:last-child{padding-bottom:.35rem}.compliance .q-label{font-family:var(--font-serif);font-size:1.1875rem;font-weight:600;color:var(--ink);line-height:1.35;margin-bottom:.35rem;max-width:34em}.compliance .q-hint{font-size:.8125rem;color:var(--graphite-soft);margin-bottom:.8rem;max-width:40em}.compliance .opt-row{display:flex;flex-wrap:wrap;gap:.5rem}.compliance .band-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:.5rem;gap:.5rem}.compliance .opt{border:1.5px solid var(--rule);background:var(--white);color:var(--graphite);border-radius:var(--radius);padding:.65rem .9rem;font:inherit;font-size:1rem;font-weight:600;text-align:left;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color .12s var(--ease),background-color .12s var(--ease)}.compliance .opt:hover{border-color:var(--graphite-soft)}.compliance .opt.selected{border-color:var(--red);background:var(--red-wash);color:var(--ink)}.compliance .opt.multi{position:relative;padding-left:2.15rem}.compliance .opt.multi:before{content:"\2713";position:absolute;left:.65rem;top:50%;width:1rem;height:1rem;margin-top:-.5rem;border:1.5px solid var(--rule);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;line-height:1;color:transparent}.compliance .opt.multi.selected:before{background:var(--red);border-color:var(--red);color:var(--white)}.compliance .nav-row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:1.75rem;padding-top:1.4rem;border-top:1px solid var(--rule)}.compliance button.ghost,.compliance button.primary{font:inherit;font-weight:600;letter-spacing:-.005em;border-radius:var(--radius);padding:.82em 1.5em;cursor:pointer;border:1.5px solid transparent;transition:background-color .15s var(--ease),border-color .15s var(--ease)}.compliance button.primary{background:var(--red);color:var(--white)}.compliance button.primary:hover:not(:disabled){background:var(--red-deep)}.compliance button.primary:disabled{opacity:.4;cursor:not-allowed}.compliance button.ghost{background:transparent;border-color:var(--rule);color:var(--ink)}.compliance button.ghost:hover{border-color:var(--ink)}.compliance .stat-grid{display:flex;flex-wrap:wrap;gap:1.4rem 2.5rem;padding-top:1.25rem;margin:1.25rem 0 1.5rem;border-top:1px solid var(--rule)}.compliance .stat-tile{border:0;background:none;padding:.35rem 0;border-radius:0}.compliance .stat-tile .n{font-size:1.75rem;font-weight:700;line-height:1;color:var(--ink)}.compliance .stat-tile .l{font-size:.8125rem;color:var(--graphite-soft);margin-top:.2rem}.compliance .bar-row{display:flex;height:1.5rem;border-radius:0;overflow:hidden;margin:.4rem 0 .5rem;border:1px solid var(--rule)}.compliance .bar-seg{display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;min-width:2px;overflow:hidden}.compliance .legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:.8125rem;color:var(--graphite-soft);margin-bottom:1.5rem}.compliance .legend .dot{display:inline-block;width:.6rem;height:.6rem;border-radius:1px;margin-right:.35rem;border:1px solid rgba(0,0,0,.12)}.compliance .section-title{font-size:1.1875rem;font-weight:700;color:var(--ink);margin:0 0 .5rem;display:flex;align-items:baseline;gap:.5rem;letter-spacing:-.015em}.compliance .section-desc{font-family:var(--font-serif);font-size:1rem;line-height:1.55;color:var(--graphite);margin:0 0 1.1rem;max-width:42em}.compliance .control-item,.compliance .watch-item{border-top:1px solid var(--rule);padding:.9rem 0}.compliance .control-item:first-child,.compliance .watch-item:first-child{border-top:none}.compliance .control-name,.compliance .watch-name{font-size:1rem;font-weight:600;color:var(--ink)}.compliance .control-drivers,.compliance .watch-meta{font-size:.8125rem;color:var(--graphite-soft);margin-top:.2rem}.compliance .req-item{border-top:1px solid var(--rule);padding:.85rem 0;display:flex;gap:.7rem;align-items:flex-start}.compliance .req-item:first-child{border-top:none}.compliance .req-box{width:1rem;height:1rem;border:1.5px solid var(--graphite-soft);border-radius:2px;flex-shrink:0;margin-top:.2rem}.compliance .req-text{font-family:var(--font-serif);font-size:1rem;line-height:1.45;flex:1 1;color:var(--ink)}.compliance .req-meta{display:flex;gap:.35rem;margin-top:.4rem;flex-wrap:wrap}.compliance .chip{font-size:.6875rem;font-weight:700;padding:.1rem .45rem;border-radius:2px;border:1px solid var(--rule);color:var(--graphite);background:var(--paper)}.compliance .chip.priority-Critical{background:var(--sev-critical);border-color:var(--sev-critical);color:var(--white)}.compliance .chip.priority-High{background:var(--red-wash);border-color:var(--red-edge);color:var(--red-deep)}.compliance .chip.priority-Medium{background:var(--paper);border-color:var(--rule);color:var(--graphite)}.compliance .chip.priority-Low{background:var(--white);border-color:var(--rule);color:var(--graphite)}.compliance .chip.status-Met{background:var(--white);border-color:var(--teal);color:var(--teal)}.compliance .chip.status-Partial{background:var(--white);border-color:var(--red-edge);color:var(--red-deep)}.compliance .chip.status-Gap{background:var(--red-wash);border-color:var(--red-deep);color:var(--red-deep)}.compliance .empty-note{font-family:var(--font-serif);font-size:1rem;color:var(--graphite-soft);padding:1.5rem 0;text-align:center}.compliance .banner-note,.compliance .disclaimer{font-size:.8125rem;color:var(--ink);line-height:1.5;background:var(--paper);border:0;border-left:3px solid var(--graphite-soft);border-radius:0;padding:.8rem 1rem}.compliance .banner-note{border-left-color:var(--red);background:var(--red-wash);margin-bottom:1.5rem}.compliance .ba-watch-note{font-size:.8125rem;color:var(--graphite-soft);margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--rule);line-height:1.5}.compliance .search-box{width:100%;font:inherit;font-size:1rem;padding:.7rem .85rem;border-radius:var(--radius);border:1.5px solid var(--rule);background:var(--white);color:var(--ink);margin-bottom:.9rem}.compliance .search-box:hover{border-color:var(--graphite-soft)}.compliance .toplinks{display:flex;flex-wrap:wrap;gap:1.1rem;margin:0 0 1.25rem}.compliance .link-btn{background:none;border:0;padding:0;cursor:pointer;font:inherit;text-decoration:underline;font-size:.8125rem;color:var(--red-deep);font-weight:600;text-decoration-thickness:1px;text-underline-offset:.18em}.compliance .verify-flag{color:var(--red-deep);font-weight:700}.compliance .ba-item{border-top:1px solid var(--rule);padding:1.1rem 0}.compliance .ba-item:first-child{border-top:none}.compliance .ba-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.compliance .ba-name{font-size:1.0625rem;font-weight:700;color:var(--ink);letter-spacing:-.012em}.compliance .ba-desc{font-family:var(--font-serif);font-size:1rem;color:var(--graphite);line-height:1.5;margin-bottom:.45rem;max-width:42em}.compliance .ba-row{font-size:.875rem;line-height:1.55;margin-top:.3rem;max-width:46em}.compliance .ba-row b{font-weight:600;color:var(--ink)}.compliance .detailsform{margin-top:1.2rem}.compliance .detailsform__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));grid-gap:1rem;gap:1rem;margin-bottom:1rem}.compliance .field{display:block}.compliance .field__label{display:block;font-size:.8125rem;font-weight:600;color:var(--ink);margin-bottom:.35rem}.compliance .field__optional{font-weight:400;color:var(--graphite-soft)}.compliance .field__input{width:100%;font:inherit;font-size:1rem;padding:.7rem .85rem;border:1.5px solid var(--rule);border-radius:var(--radius);background:var(--white);color:var(--ink)}.compliance .field__input:hover{border-color:var(--graphite-soft)}.compliance .field__error{display:block;margin-top:.3rem;font-size:.8125rem;font-weight:600;color:var(--red-deep)}.compliance .consentline{display:flex;gap:.6rem;align-items:flex-start;font-size:.875rem;color:var(--graphite);line-height:1.45}.compliance .consentline input{margin-top:.25rem;flex-shrink:0}.compliance__page{padding-block:2.5rem 5rem}.compliance__head{padding-bottom:1.1rem;margin-bottom:1.75rem;border-bottom:2px solid var(--ink)}.compliance__title{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.1rem);margin:0;font-weight:700;letter-spacing:-.028em;color:var(--ink);line-height:1.1}.compliance__sub{font-size:.9375rem;color:var(--graphite);margin:.5rem 0 0;max-width:44em;line-height:1.5}.compliance .diagnose{display:block;margin-top:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;color:var(--red-deep);word-break:break-word}