.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;min-width:220px;background:var(--navy);display:flex;flex-direction:column;height:100vh;overflow:hidden}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 16px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.logo-mark{width:36px;height:36px;background:var(--blue);color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-text{display:flex;flex-direction:column;gap:1px}.logo-primary{font-size:13px;font-weight:700;color:#fff;letter-spacing:.3px}.logo-secondary{font-size:10px;color:#ffffff73;letter-spacing:.2px}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:#ffffff8c;font-size:13px;font-weight:500;transition:background .15s,color .15s;text-align:left;width:100%}.nav-item:hover{background:#ffffff12;color:#ffffffd9}.nav-item.active{background:var(--blue);color:#fff}.nav-icon{font-size:15px;width:18px;text-align:center;flex-shrink:0}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.agency-badge{display:flex;flex-direction:column;gap:2px}.agency-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#ffffff4d}.agency-name{font-size:12px;font-weight:600;color:#ffffffbf}.agency-ccn{font-size:10px;color:#ffffff59;font-family:var(--font-mono)}.version-tag{font-size:10px;color:#fff3;font-family:var(--font-mono)}.main-content{flex:1;overflow-y:auto;background:var(--gray-50)}.page-header{padding:28px 32px 20px;border-bottom:1px solid var(--gray-200);background:var(--white)}.page-header h1{margin-bottom:4px}.page-header p{font-size:13px;color:var(--gray-600)}.page-body{padding:28px 32px}.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-sm)}.card+.card{margin-top:16px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px}.badge-high{background:var(--red-light);color:var(--red)}.badge-moderate{background:var(--amber-light);color:var(--amber)}.badge-info{background:var(--blue-light);color:var(--blue)}.badge-success{background:var(--teal-light);color:var(--teal)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:opacity .15s,background .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy-mid)}.btn-secondary{background:var(--gray-100);color:var(--gray-800);border:1px solid var(--gray-200)}.btn-secondary:hover:not(:disabled){background:var(--gray-200)}.btn-danger{background:var(--red-light);color:var(--red)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.form-input,.form-textarea,.form-select{width:100%;padding:9px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:14px;color:var(--gray-900);background:var(--white);outline:none;transition:border-color .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1e5fa81a}.form-textarea{resize:vertical;min-height:100px;line-height:1.5}.divider{height:1px;background:var(--gray-200);margin:20px 0}.spinner{width:20px;height:20px;border:2px solid var(--gray-200);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.flag-item{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:10px;background:var(--white)}.flag-item.high{border-left:3px solid var(--red)}.flag-item.moderate{border-left:3px solid var(--amber)}.flag-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.flag-title{font-size:13px;font-weight:600;color:var(--gray-900);flex:1}.flag-citation{font-size:11px;color:var(--gray-600);font-family:var(--font-mono)}.flag-body{font-size:13px;color:var(--gray-700);line-height:1.5}.flag-action{margin-top:8px;font-size:12px;color:var(--blue);font-weight:600}.qa-results{padding:20px 22px}.qa-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.qa-head h3{margin-bottom:8px}.qa-counts{display:flex;gap:6px;flex-wrap:wrap}.qa-count{font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}.qa-count.high{background:var(--red-light);color:var(--red)}.qa-count.moderate{background:var(--amber-light);color:var(--amber)}.qa-count.dx{background:var(--blue-light);color:var(--blue)}.qa-count.done{background:var(--teal-light);color:var(--teal)}.qa-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.qa-actions .btn{padding:8px 14px;font-size:13px}.qa-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600);cursor:pointer;width:100%;justify-content:flex-end}.qa-error{margin-bottom:12px;padding:8px 12px;background:var(--red-light);color:var(--red);border-radius:var(--radius-sm);font-size:13px;font-weight:600}.qa-clean{padding:24px;text-align:center;color:var(--teal);font-weight:600}.qa-hint{font-size:12px;color:var(--gray-500);margin-bottom:10px}.qa-flag{border:1px solid var(--gray-200);border-left:4px solid var(--amber);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:10px;background:var(--white);transition:opacity .15s}.qa-flag.high{border-left-color:var(--red)}.qa-flag.is-done{opacity:.55}.qa-flag.is-done .qa-fix{text-decoration:line-through}.qa-flag-top{display:flex;align-items:center;gap:8px}.qa-done input{width:16px;height:16px;cursor:pointer;accent-color:var(--teal)}.qa-num{font-size:12px;font-weight:700;color:var(--gray-500);min-width:14px}.qa-sev{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}.qa-sev.high{background:var(--red-light);color:var(--red)}.qa-sev.moderate{background:var(--amber-light);color:var(--amber)}.qa-title{font-size:14px;font-weight:600;color:var(--gray-900);flex:1;min-width:0}.qa-item{font-size:11px;font-family:var(--font-mono);color:var(--blue);background:var(--blue-light);padding:2px 7px;border-radius:4px;white-space:nowrap}.qa-arrow{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--gray-600);background:var(--gray-100);flex-shrink:0;transition:transform .2s,background .15s}.qa-arrow:hover{background:var(--gray-200)}.qa-arrow.open{transform:rotate(180deg)}.qa-fix{margin:8px 0 0 46px;font-size:14px;color:var(--gray-900);line-height:1.5}.qa-values{margin:6px 0 0 46px;display:flex;gap:12px;font-size:12px;color:var(--gray-600)}.qa-values b{color:var(--gray-900);font-family:var(--font-mono);font-size:13px}.qa-values b.qa-to{color:var(--teal)}.qa-box{margin:8px 0 0 46px;border-radius:var(--radius-sm);padding:8px 12px;border:1px solid}.qa-box.keep{background:var(--teal-light);border-color:#0f6e5640}.qa-box.order{background:var(--amber-light);border-color:#f5c475}.qa-box.addendum,.qa-box.note{background:var(--gray-50);border-color:var(--gray-200)}.qa-box-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--gray-600);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.qa-box.keep .qa-box-head{color:var(--teal)}.qa-box.order .qa-box-head{color:#854f0b}.qa-box-text{font-size:13px;color:var(--gray-900);line-height:1.5;white-space:pre-wrap}.qa-box-text.mono{font-family:var(--font-mono);font-size:12px}.qa-copy{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--blue);background:var(--white);border:1px solid var(--gray-200);border-radius:4px;padding:2px 8px}.qa-copy:hover{background:var(--blue-light)}.qa-details{margin:10px 0 0 46px;padding-top:10px;border-top:1px dashed var(--gray-200)}.qa-details p{font-size:13px;color:var(--gray-800);line-height:1.55}.qa-refs{margin-top:8px;display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--gray-800)}.qa-refs span{display:inline-block;min-width:92px;font-weight:700;color:var(--gray-500);font-size:11px;text-transform:uppercase;letter-spacing:.3px}.qa-meta{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.qa-support{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}.qa-support.s-strong{background:var(--teal-light);color:var(--teal)}.qa-support.s-moderate{background:var(--blue-light);color:var(--blue)}.qa-support.s-thin{background:var(--gray-100);color:var(--gray-600)}.qa-cite{font-size:11px;color:var(--gray-500);font-family:var(--font-mono)}.qa-section{margin-top:16px;border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.qa-section-head{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--gray-50);text-align:left}.qa-section-title{font-size:14px;font-weight:600;color:var(--gray-900)}.qa-section-badge{font-size:11px;font-weight:600;color:var(--blue);background:var(--blue-light);padding:2px 8px;border-radius:20px;flex:1;justify-self:start;max-width:max-content}.qa-section-head .qa-arrow{margin-left:auto;background:transparent}.qa-section-body{padding:12px 14px}.qa-dx{width:100%;border-collapse:collapse;font-size:13px}.qa-dx th{text-align:left;font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.4px;padding:4px 8px 6px;border-bottom:1px solid var(--gray-200)}.qa-dx td{padding:7px 8px;border-bottom:1px solid var(--gray-100);vertical-align:top}.qa-dx-slot{color:var(--gray-500);width:28px}.qa-dx-code{font-family:var(--font-mono);font-size:12px;white-space:nowrap}.qa-dx-reason{font-size:12px;color:var(--gray-500);margin-top:2px}.qa-verdict{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}.v-keep{background:var(--gray-100);color:var(--gray-600)}.v-change{background:var(--amber-light);color:var(--amber)}.v-move{background:var(--blue-light);color:var(--blue)}.v-remove{background:var(--red-light);color:var(--red)}.v-add{background:var(--teal-light);color:var(--teal)}.qa-snap{display:flex;flex-direction:column}.qa-snap-row{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:6px 0;border-bottom:1px solid var(--gray-100);font-size:13px}.qa-snap-label{font-weight:600;color:var(--gray-600)}.qa-snap-text{color:var(--gray-900);line-height:1.5;white-space:pre-wrap}.qa-before{margin-top:12px;padding:10px 12px;background:var(--amber-light);border-radius:var(--radius-sm)}.qa-before-title{font-size:12px;font-weight:700;color:#854f0b;margin-bottom:4px}.qa-before ul{padding-left:18px;font-size:13px;color:var(--gray-900);line-height:1.6}@media (max-width: 720px){.qa-fix,.qa-values,.qa-box,.qa-details{margin-left:0}.qa-snap-row{grid-template-columns:1fr;gap:2px}}.qa-details .qa-box{margin-left:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #0B1F3A;--navy-mid: #1A3358;--blue: #1E5FA8;--blue-light: #EAF1FB;--teal: #0F6E56;--teal-light: #E1F5EE;--amber: #B87A10;--amber-light:#FEF3DC;--red: #A32D2D;--red-light: #FCEBEB;--gray-50: #F8F9FA;--gray-100: #F1F3F5;--gray-200: #E9ECEF;--gray-300: #DEE2E6;--gray-400: #ADB5BD;--gray-500: #868E96;--gray-600: #6C757D;--gray-800: #343A40;--gray-900: #212529;--white: #FFFFFF;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", monospace}html,body,#root{height:100%;font-family:var(--font);font-size:15px;color:var(--gray-900);background:var(--gray-50);-webkit-font-smoothing:antialiased}button{font-family:var(--font);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font);font-size:14px}h1{font-size:22px;font-weight:600;color:var(--gray-900)}h2{font-size:18px;font-weight:600;color:var(--gray-900)}h3{font-size:15px;font-weight:600;color:var(--gray-800)}p{line-height:1.6;color:var(--gray-800)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}
