.login-page{display:flex;height:100vh;justify-content:flex-end;overflow:hidden;position:relative;width:100vw}.login-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;z-index:0}.login-bg,.login-overlay{inset:0;position:absolute}.login-overlay{background:linear-gradient(90deg,#0a2b9a8c 0,#007faf73 50%,#0a2b9abf);z-index:1}.watermark{color:#ffffff14;font-size:7rem;font-weight:800;left:25%;letter-spacing:1rem;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(-35deg);-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.login-panel{align-items:center;background:#fffffff7;box-shadow:-8px 0 40px #00000040;display:flex;height:100vh;justify-content:center;min-width:400px;position:relative;width:480px;z-index:3}.login-panel-inner{padding:48px 40px;width:100%}.login-logo{height:56px;margin-bottom:24px}.login-title{color:var(--clp-primary);font-size:1.25rem;font-weight:700;line-height:1.5;margin-bottom:32px}.login-form{gap:18px;margin-bottom:28px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:var(--clp-text);font-size:.85rem;font-weight:600}.form-group input{border:1.5px solid var(--clp-border);border-radius:8px;font-size:.95rem;outline:none;padding:12px 14px;transition:border-color .2s}.form-group input:focus{border-color:var(--clp-secondary);box-shadow:0 0 0 3px #007faf1f}.login-error{color:var(--clp-danger);font-size:.85rem;font-weight:500}.login-btn{background:linear-gradient(135deg,var(--clp-primary),var(--clp-secondary));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:13px;transition:opacity .2s}.login-btn:hover{opacity:.9}.login-btn:disabled{cursor:not-allowed;opacity:.6}.login-disclaimer{border-top:1px solid var(--clp-border);padding-top:20px}.login-disclaimer p{color:var(--clp-text-light);font-size:.72rem;line-height:1.6;margin-bottom:8px}.login-disclaimer .copyright{color:var(--clp-primary);font-weight:500}.dashboard{background:var(--clp-bg);min-height:100vh}.navbar{background:linear-gradient(135deg,var(--clp-primary),var(--clp-primary-light));box-shadow:0 2px 12px #0a2b9a40;height:60px;justify-content:space-between;padding:0 28px}.nav-left,.navbar{align-items:center;display:flex}.nav-left{gap:22px;min-width:0}.nav-brand{align-items:center;border-right:1px solid #ffffff40;display:flex;flex:0 0 auto;gap:12px;padding-right:12px}.nav-logo{display:block;height:38px;width:auto}.nav-app-name{color:#fff;font-size:1rem;font-weight:700;letter-spacing:0;white-space:nowrap}.nav-links{display:flex;gap:4px}.nav-link{border-radius:6px;color:#fffc;font-size:.88rem;font-weight:500;padding:8px 18px;text-decoration:none;transition:all .2s}.nav-link:hover{background:#ffffff1f;color:#fff}.nav-link.active{background:#fff3;color:#fff;font-weight:600}.nav-right{align-items:center;display:flex;gap:16px}.nav-user{align-items:flex-end;display:flex;flex-direction:column}.nav-user-name{color:#fff;font-size:.85rem;font-weight:600}.nav-user-role{color:#ffffffb3;font-size:.72rem}.nav-logout{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:500;padding:6px 16px;transition:background .2s}.nav-logout:hover{background:#ffffff40}.main-content{margin:0 auto;max-width:1400px;padding:28px}.la-page{display:flex;flex-direction:column;gap:24px}.la-header{align-items:flex-start;display:flex;justify-content:space-between}.la-title{color:var(--clp-primary);font-size:1.6rem;font-weight:700}.la-subtitle{color:var(--clp-text-light);font-size:.9rem;margin-top:4px}.la-create-btn{background:linear-gradient(135deg,var(--clp-primary),var(--clp-secondary));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:opacity .2s;white-space:nowrap}.la-create-btn:hover{opacity:.88}.la-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.stat-card{background:var(--clp-white);border-left:4px solid var(--clp-secondary);border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;gap:4px;padding:20px 24px}.stat-value{color:var(--clp-primary);font-size:1.5rem;font-weight:700}.stat-label{color:var(--clp-text-light);font-size:.82rem;font-weight:500}.la-table-container{background:var(--clp-white);border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.la-loading{color:var(--clp-text-light);padding:48px;text-align:center}.la-table{border-collapse:collapse;width:100%}.la-table thead{background:var(--clp-primary)}.la-table th{color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.4px;padding:14px 20px;text-align:left;text-transform:uppercase}.la-table td{border-bottom:1px solid #f0f0f0;font-size:.9rem;padding:14px 20px}.la-table tbody tr:hover{background:#f7faff;cursor:pointer}.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-weight:700;justify-content:center;min-width:92px;padding:4px 10px}.la-status-stack{display:flex;flex-direction:column;gap:4px}.la-progress-text{color:var(--clp-text-light);font-size:.8rem}.cc-page{gap:20px;margin:0 auto;max-width:1200px}.cc-header,.cc-page{display:flex;flex-direction:column}.cc-header{gap:4px}.cc-back{background:none;border:none;color:var(--clp-secondary);cursor:pointer;font-size:.85rem;padding:0;text-align:left;width:-webkit-fit-content;width:fit-content}.cc-back:hover{text-decoration:underline}.cc-title{color:var(--clp-primary);font-size:1.5rem;font-weight:700}.cc-steps{background:var(--clp-white);border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;gap:0;overflow:hidden}.cc-step{align-items:center;background:#f5f5f5;display:flex;flex:1 1;gap:10px;padding:16px 24px;position:relative;transition:all .3s}.cc-step:after{border-bottom:28px solid #0000;border-left:16px solid #f5f5f5;border-top:28px solid #0000;content:"";height:0;position:absolute;right:-16px;top:0;transition:border-color .3s;width:0;z-index:1}.cc-step:last-child:after{display:none}.cc-step.active{background:var(--clp-primary);color:#fff}.cc-step.active:after{border-left-color:var(--clp-primary)}.cc-step.done{background:var(--clp-secondary);color:#fff}.cc-step.done:after{border-left-color:var(--clp-secondary)}.cc-step-num{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.cc-step:not(.active):not(.done) .cc-step-num{background:#ddd;color:#888}.cc-step-label{font-size:.88rem;font-weight:600}.cc-card{background:var(--clp-white);border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:32px}.cc-card h2{color:var(--clp-primary);font-size:1.2rem;margin-bottom:4px}.cc-hint{font-size:.85rem}.cc-hint,.cc-upload-zone{color:var(--clp-text-light);margin-bottom:20px}.cc-upload-zone{align-items:center;border:2px dashed var(--clp-border);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:48px 24px;text-align:center;transition:border-color .2s,background .2s}.cc-upload-zone:hover{background:#f7fbff;border-color:var(--clp-secondary)}.cc-upload-icon{font-size:2rem}.cc-upload-formats{color:#aaa;font-size:.75rem}.cc-file-info{align-items:center;color:var(--clp-primary);display:flex;font-size:1rem;font-weight:500;gap:8px}.cc-file-icon{font-size:1.5rem}.cc-file-size{color:var(--clp-text-light);font-size:.8rem}.cc-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:opacity .2s}.cc-btn:disabled{cursor:not-allowed;opacity:.5}.cc-btn.primary{background:linear-gradient(135deg,var(--clp-primary),var(--clp-secondary));color:#fff}.cc-btn.primary:hover:not(:disabled){opacity:.88}.cc-btn.secondary{background:var(--clp-secondary);color:#fff;margin-top:8px;width:100%}.cc-btn.outline{background:none;border:1.5px solid var(--clp-border);color:var(--clp-text)}.cc-btn.outline:hover{border-color:var(--clp-secondary);color:var(--clp-secondary)}.cc-btn.small{background:var(--clp-secondary);border-radius:6px;color:#fff;font-size:.78rem;padding:5px 14px}.cc-fieldset{border:1.5px solid #e0e4ea;border-radius:8px;margin-top:16px;padding:20px}.cc-fieldset legend{color:var(--clp-primary);font-size:.9rem;font-weight:700;padding:0 8px}.cc-fieldset.sub{border-color:var(--clp-secondary)}.cc-fieldset.sub legend{color:var(--clp-secondary)}.cc-ai-fieldset{background:linear-gradient(180deg,#007faf0a,#007faf03)}.cc-ai-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.cc-ai-title{color:var(--clp-primary);font-size:1rem;margin:0 0 4px}.cc-ai-subtitle{color:var(--clp-text-light);font-size:.82rem;margin:0}.cc-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;letter-spacing:.02em;min-width:96px;padding:7px 12px;text-transform:uppercase}.cc-status-badge.ready{background:#1a7f371f;color:#1a7f37}.cc-status-badge.error{background:#c530301f;color:#c53030}.cc-status-badge.pending,.cc-status-badge.unavailable{background:#00000012;color:#5f6b7a}.cc-ai-markdown,.cc-ai-report{background:#fff;border:1px solid #e5e9ef;border-radius:8px;padding:16px 18px}.cc-ai-report{margin-bottom:14px}.cc-ai-empty{color:var(--clp-text-light);font-size:.84rem;margin:0 0 12px}.cc-ai-error{background:#c530300f;border:1px solid #c5303029;border-radius:8px;color:#8c2a2a;font-size:.84rem;margin-bottom:14px;padding:12px 14px}.cc-ai-last-report{background:#fff;border:1px solid #e5e9ef;border-radius:8px;margin-bottom:14px;margin-top:14px;max-width:1100px;padding:16px 18px}.cc-ai-details summary{color:var(--clp-secondary);cursor:pointer;font-size:.84rem;font-weight:700;margin-bottom:10px}.cc-ai-details[open] summary{margin-bottom:12px}.cc-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.cc-field{display:flex;flex-direction:column;gap:4px}.cc-field.full{grid-column:1/-1;margin-top:8px}.cc-field label{color:var(--clp-text-light);font-size:.78rem;font-weight:600}.cc-field input,.cc-field textarea{border:1.5px solid var(--clp-border);border-radius:6px;font-family:inherit;font-size:.85rem;outline:none;padding:8px 10px;transition:border-color .2s}.cc-field input:focus,.cc-field textarea:focus{border-color:var(--clp-secondary);box-shadow:0 0 0 2px #007faf1a}.cc-dist-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;margin-top:16px}.cc-dist-header h4{color:var(--clp-text);font-size:.85rem}.cc-table-wrap{overflow-x:auto}.cc-dist-table{border-collapse:collapse;font-size:.82rem;width:100%}.cc-dist-table th{background:var(--clp-primary);color:#fff;font-size:.75rem;font-weight:600;padding:8px 6px;text-align:center;white-space:nowrap}.cc-dist-table td{border-bottom:1px solid #eee;padding:4px}.cc-dist-table td input{border:1px solid #e0e4ea;border-radius:4px;font-size:.8rem;outline:none;padding:6px;width:100%}.cc-dist-table td input:focus{border-color:var(--clp-secondary)}.cc-btn-del{background:none;border:none;border-radius:4px;color:var(--clp-danger);cursor:pointer;font-size:1rem;padding:4px 8px}.cc-btn-del:hover{background:#fee}.cc-actions{display:flex;gap:12px;justify-content:space-between;margin-top:24px}.cc-done{padding:60px 32px;text-align:center}.cc-done-icon{align-items:center;background:var(--clp-secondary);border-radius:50%;color:#fff;display:inline-flex;font-size:2rem;height:64px;justify-content:center;margin-bottom:16px;width:64px}.cc-done p{color:var(--clp-text-light);margin-bottom:24px}.cc-done .cc-actions{justify-content:center}.md-content{line-height:1.7}.md-h1{font-size:1.1rem;margin:16px 0 8px}.md-h1,.md-h2{color:var(--clp-primary);font-weight:700}.md-h2{font-size:1rem;margin:14px 0 6px}.md-h3{color:var(--clp-secondary);font-size:.92rem;font-weight:700;margin:12px 0 4px}.md-p{font-size:.88rem;margin:4px 0}.md-list{margin:6px 0;padding-left:22px}.md-list li{font-size:.88rem;line-height:1.6;margin-bottom:4px}.md-table-wrap{background:#fff;border:1px solid #dfe5ee;border-radius:8px;margin:8px 0 12px;overflow-x:auto;width:100%}.md-table{border-collapse:collapse;font-size:.82rem;line-height:1.45;min-width:880px;width:100%}.md-table th{background:var(--clp-primary);color:#fff;font-weight:700;text-align:left;white-space:nowrap}.md-table td,.md-table th{padding:10px 12px;vertical-align:top}.md-table td{border-top:1px solid #edf1f6;color:var(--clp-text)}.md-table tbody tr:nth-child(2n){background:#f8fafc}.md-code-block{background:#1e293b;border-radius:6px;color:#e2e8f0;font-size:.82rem;margin:8px 0;overflow-x:auto;padding:12px 16px}.md-code-block,.md-inline-code{font-family:Consolas,Monaco,monospace}.md-inline-code{background:#e8edf8;border-radius:3px;color:var(--clp-primary);font-size:.84rem;padding:1px 6px}.md-spacer{height:6px}.tr-page{display:flex;flex-direction:column;gap:24px}.tr-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.tr-header-actions{display:flex;gap:10px}.tr-title{color:var(--clp-primary);font-size:1.6rem;font-weight:700}.tr-subtitle{color:var(--clp-text-light);font-size:.9rem;margin-top:4px}.tr-validate-btn{background:linear-gradient(135deg,var(--clp-primary),var(--clp-secondary));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:opacity .2s;white-space:nowrap}.tr-validate-btn:hover{opacity:.88}.tr-validate-btn-danger{background:linear-gradient(135deg,#b91c1c,#991b1b)}.tr-validate-btn-danger:hover{opacity:.88}.tr-table-container{background:var(--clp-white);border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.tr-loading{color:var(--clp-text-light);padding:48px;text-align:center}.tr-table{border-collapse:collapse;width:100%}.tr-table thead{background:var(--clp-primary)}.tr-table th{color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.4px;padding:14px 20px;text-align:left;text-transform:uppercase}.tr-table td{border-bottom:1px solid #f0f0f0;font-size:.9rem;padding:14px 20px}.tr-row-clickable{cursor:pointer;transition:background .15s}.tr-row-clickable:hover{background:#f7faff}.case-id{color:var(--clp-secondary);font-weight:600}.case-dev{font-weight:500}.case-load{color:var(--clp-primary);font-weight:600}.tr-empty-cell{color:var(--clp-text-light);padding:28px 20px;text-align:center}.status-badge{border-radius:20px;display:inline-block;font-size:.78rem;font-weight:600;padding:4px 12px}.status-ok{background:#dcfce7;color:#166534}.status-pending{background:#fef3c7;color:#92400e}.status-review{background:#dbeafe;color:#1e40af}.status-error{background:#fee2e2;color:#991b1b}.tr-status-stack{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.tr-progress-text{color:var(--clp-text-light);font-size:.76rem;line-height:1.3}.tr-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.tr-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;max-height:85vh;overflow-y:auto;width:680px}.tr-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px 28px}.tr-modal-header h2{color:var(--clp-primary);font-size:1.1rem}.tr-modal-close{background:none;border:none;border-radius:4px;color:var(--clp-text-light);cursor:pointer;font-size:1.2rem;padding:4px 8px}.tr-modal-close:hover{background:#f0f0f0}.tr-modal-body{padding:24px 28px}.tr-detail-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.tr-detail-item{display:flex;flex-direction:column;gap:3px}.tr-detail-span-2{grid-column:1/-1}.tr-detail-label{color:var(--clp-text-light);font-size:.75rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.tr-detail-value{color:var(--clp-text);font-size:.92rem}.tr-detail-subtext{color:var(--clp-text-light);font-size:.76rem;line-height:1.35}.tr-detail-highlight{color:var(--clp-primary);font-size:1.1rem;font-weight:700}.tr-error-text{color:#991b1b;word-break:break-word}.tr-modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:16px 28px}.tr-btn{border:none;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:600;padding:9px 22px;transition:opacity .2s}.tr-btn.primary{background:linear-gradient(135deg,var(--clp-primary),var(--clp-secondary));color:#fff}.tr-btn.primary:hover{opacity:.88}.tr-btn.outline{background:none;border:1.5px solid var(--clp-border);color:var(--clp-text)}.tr-btn.outline:hover{border-color:var(--clp-secondary);color:var(--clp-secondary)}@media (max-width:900px){.tr-header{flex-direction:column;gap:16px}.tr-table-container{overflow-x:auto}.tr-table{min-width:760px}.tr-detail-grid{grid-template-columns:1fr}.tr-detail-span-2{grid-column:auto}.tr-modal{width:min(92vw,680px)}}.vl-page{gap:20px;margin:0 auto;max-width:min(96vw,1440px)}.vl-header,.vl-page{display:flex;flex-direction:column}.vl-header{gap:4px}.vl-back{background:none;border:none;color:var(--clp-secondary);cursor:pointer;font-size:.85rem;padding:0;text-align:left;width:-webkit-fit-content;width:fit-content}.vl-back:hover{text-decoration:underline}.vl-title{color:var(--clp-primary);font-size:1.5rem;font-weight:700}.vl-steps{background:var(--clp-white);border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;overflow:hidden}.vl-step{align-items:center;background:#f5f5f5;display:flex;flex:1 1;gap:10px;padding:16px 24px;position:relative;transition:all .3s}.vl-step:after{border-bottom:28px solid #0000;border-left:16px solid #f5f5f5;border-top:28px solid #0000;content:"";height:0;position:absolute;right:-16px;top:0;transition:border-color .3s;width:0;z-index:1}.vl-step:last-child:after{display:none}.vl-step.active{background:var(--clp-primary);color:#fff}.vl-step.active:after{border-left-color:var(--clp-primary)}.vl-step.done{background:var(--clp-secondary);color:#fff}.vl-step.done:after{border-left-color:var(--clp-secondary)}.vl-step-num{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.vl-step:not(.active):not(.done) .vl-step-num{background:#ddd;color:#888}.vl-step-label{font-size:.88rem;font-weight:600}.vl-card{background:var(--clp-white);border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:32px}.vl-card h2{color:var(--clp-primary);font-size:1.2rem;margin-bottom:4px}.vl-hint{color:var(--clp-text-light);font-size:.85rem;margin-bottom:20px}.vl-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:14px}.vl-field{display:flex;flex-direction:column;gap:4px}.vl-field.full{grid-column:1/-1;margin-top:4px}.vl-field label{color:var(--clp-text-light);font-size:.78rem;font-weight:600}.vl-field input,.vl-field select,.vl-field textarea{background:#fff;border:1.5px solid var(--clp-border);border-radius:6px;font-family:inherit;font-size:.85rem;outline:none;padding:9px 10px;transition:border-color .2s}.vl-field input:focus,.vl-field select:focus,.vl-field textarea:focus{border-color:var(--clp-secondary);box-shadow:0 0 0 2px #007faf1a}.vl-summary{background:#f7faff;border:1px solid #e0e8f5;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:14px 18px}.vl-summary-item{color:var(--clp-text);font-size:.85rem}.vl-summary-item span{color:var(--clp-text-light);font-weight:600;margin-right:4px}.vl-upload-zone{align-items:center;border:2px dashed var(--clp-border);border-radius:10px;color:var(--clp-text-light);cursor:pointer;display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:52px 24px;text-align:center;transition:border-color .2s,background .2s}.vl-upload-zone:hover{background:#f7fbff;border-color:var(--clp-secondary)}.vl-upload-icon{font-size:2.5rem}.vl-upload-text{font-size:.95rem}.vl-upload-formats{color:#aaa;font-size:.75rem}.vl-file-info{align-items:center;color:var(--clp-primary);display:flex;font-size:1rem;gap:12px}.vl-file-icon{font-size:2rem}.vl-file-name{font-weight:600}.vl-file-size{color:var(--clp-text-light);font-size:.8rem}.vl-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:opacity .2s}.vl-btn:disabled{cursor:not-allowed;opacity:.5}.vl-btn.primary{background:linear-gradient(135deg,var(--clp-primary),var(--clp-secondary));color:#fff}.vl-btn.primary:hover:not(:disabled){opacity:.88}.vl-btn.outline{background:none;border:1.5px solid var(--clp-border);color:var(--clp-text)}.vl-btn.outline:hover{border-color:var(--clp-secondary);color:var(--clp-secondary)}.vl-actions{display:flex;gap:12px;justify-content:space-between;margin-top:24px}.vl-tbc{padding:40px 32px;text-align:center}.vl-tbc-icon{display:block;font-size:3rem;margin-bottom:12px}.vl-tbc-box{background:#f7faff;border:1px solid #e0e8f5;border-radius:10px;margin:24px auto;max-width:500px;padding:24px;text-align:left}.vl-tbc-box p{color:var(--clp-text);font-size:.88rem;margin-bottom:10px}.vl-tbc-box ul{margin-bottom:16px;padding-left:20px}.vl-tbc-box li{color:var(--clp-text-light);font-size:.85rem;margin-bottom:6px}.vl-tbc-note{color:var(--clp-secondary);font-size:.9rem;font-weight:600;margin-top:12px;text-align:center}.vl-tbc .vl-actions{justify-content:center}.vl-analyzing{padding:48px 0;text-align:center}.vl-spinner{animation:spin 1s linear infinite;border:4px solid #e0e8f5;border-radius:50%;border-top:4px solid var(--clp-secondary);height:48px;margin:0 auto 16px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.vl-error-box{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:32px;text-align:center}.vl-error-box h2{color:var(--clp-danger)}.vl-error-box p{color:#991b1b;font-size:.88rem;margin:12px 0;word-break:break-word}.vl-section{margin-top:24px}.vl-section h3{border-bottom:2px solid #e0e8f5;color:var(--clp-primary);font-size:1rem;font-weight:700;margin-bottom:12px;padding-bottom:6px}.vl-section-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.vl-section-title-row h3{flex:1 1;margin-bottom:0;min-width:180px}.vl-btn.small{border-radius:6px;font-size:.78rem;padding:7px 14px}.vl-table-scroll{background:#fff;border:1px solid #e0e8f5;border-radius:8px;overflow-x:auto;width:100%}.vl-data-table{border-collapse:collapse;min-width:720px;width:100%}.vl-data-table th{background:#f3f6fb;border-bottom:1px solid #dfe7f2;color:var(--clp-primary);font-size:.76rem;letter-spacing:.3px;padding:10px 12px;text-align:left;text-transform:uppercase}.vl-data-table td{border-bottom:1px solid #eef2f8;font-size:.84rem;padding:10px 12px;vertical-align:top}.vl-data-table tr:last-child td{border-bottom:none}.vl-data-table input{border:1.5px solid var(--clp-border);border-radius:6px;font-family:inherit;font-size:.84rem;min-width:90px;outline:none;padding:8px 9px;width:100%}.vl-data-table input:focus{border-color:var(--clp-secondary);box-shadow:0 0 0 2px #007faf1a}.vl-link-btn{background:none;border:none;color:var(--clp-danger);cursor:pointer;font-size:.8rem;font-weight:700;padding:8px 0}.vl-link-btn:hover{text-decoration:underline}.vl-rule-meta{color:var(--clp-text-light);font-size:.78rem;margin:-4px 0 10px;word-break:break-word}.vl-rule-meta span{color:var(--clp-primary);font-weight:700}.vl-inline-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:.84rem;margin-bottom:10px;padding:10px 12px}.vl-compliance-table{min-width:980px}.vl-rule-id div{color:var(--clp-primary);font-weight:800;white-space:nowrap}.vl-rule-id span{color:var(--clp-text-light);display:block;font-size:.74rem;line-height:1.35;margin-top:4px}.vl-rule-question{color:var(--clp-text);font-weight:700;line-height:1.35}.vl-evidence,.vl-result,.vl-rule-text{color:var(--clp-text-light);line-height:1.45;margin-top:5px}.vl-result{color:var(--clp-text)}.vl-compliance-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:800;justify-content:center;min-width:112px;padding:5px 9px;text-align:center}.vl-compliance-status.compliant,.vl-compliance-status.comply{background:#dcfce7;color:#166534}.vl-compliance-status.non-compliant,.vl-compliance-status.not-comply{background:#fee2e2;color:#991b1b}.vl-compliance-status.cannot-be-determined,.vl-compliance-status.needs-review{background:#fef3c7;color:#92400e}.vl-compliance-status.not-applicable{background:#e5e7eb;color:#374151}.vl-empty-cell{color:var(--clp-text-light);padding:28px 12px!important;text-align:center}.vl-extraction-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.vl-ext-card{background:#f7faff;border:1px solid #e0e8f5;border-radius:8px;padding:16px}.vl-ext-title{color:var(--clp-secondary);font-size:.82rem;font-weight:700;letter-spacing:.3px;margin-bottom:10px;text-transform:uppercase}.vl-ext-tags{display:flex;flex-wrap:wrap;gap:6px}.vl-tag{background:var(--clp-primary);border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:3px 10px}.vl-tag.off{background:#ccc;color:#666}.vl-ext-list{display:flex;flex-direction:column;gap:4px}.vl-ext-row{border-bottom:1px solid #eef2f8;display:flex;font-size:.82rem;justify-content:space-between;padding:3px 0}.vl-ext-count{color:var(--clp-primary);font-weight:600}.vl-analysis-box{background:#f9fafb;border:1px solid #e0e4ea;border-radius:8px;color:var(--clp-text);font-size:.88rem;line-height:1.7;max-height:none;overflow:visible;overflow-wrap:anywhere;padding:20px}.vl-analysis-box p{margin:0}.vl-token-meter{grid-gap:10px;background:#fff;border:1px solid #d8e1ef;border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin-bottom:12px;padding:12px}.vl-token-meter>div{display:flex;flex-direction:column;gap:2px}.vl-token-label{color:var(--clp-text-light);font-size:.72rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.vl-token-meter strong{color:var(--clp-primary);font-size:.95rem}.vl-token-note{color:var(--clp-text-light);font-size:.78rem;grid-column:1/-1}.vl-analysis-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.vl-analysis-tab{background:#fff;border:1.5px solid #d8e1ef;border-radius:999px;color:var(--clp-primary);cursor:pointer;font-size:.85rem;font-weight:700;padding:10px 16px;transition:all .2s}.vl-analysis-tab:hover{border-color:var(--clp-secondary);color:var(--clp-secondary)}.vl-analysis-tab.active{background:linear-gradient(135deg,var(--clp-primary),var(--clp-secondary));border-color:#0000;color:#fff}.vl-analysis-panel{background:#f9fafb;border:1px solid #e0e4ea;border-radius:10px;padding:16px}.vl-analysis-action-row{margin-bottom:12px}.vl-analysis-action-row h4{color:var(--clp-primary);font-size:.92rem;font-weight:700;margin:0}.vl-ai-table{min-width:680px}.vl-ai-section-table{min-width:1320px;table-layout:fixed}.vl-ai-section-table td,.vl-ai-section-table th{overflow-wrap:anywhere;word-break:break-word}.vl-ai-section-table td:first-child,.vl-ai-section-table th:first-child{width:72px}.vl-ai-section-table td:nth-child(2),.vl-ai-section-table th:nth-child(2){width:92px}.vl-ai-section-table td:nth-child(3),.vl-ai-section-table th:nth-child(3){width:14%}.vl-ai-section-table td:nth-child(4),.vl-ai-section-table th:nth-child(4){width:130px}.vl-ai-section-table td:nth-child(6),.vl-ai-section-table td:nth-child(7),.vl-ai-section-table td:nth-child(8),.vl-ai-section-table th:nth-child(6),.vl-ai-section-table th:nth-child(7),.vl-ai-section-table th:nth-child(8){text-align:center;width:84px}.vl-ai-section-table td:nth-child(9),.vl-ai-section-table th:nth-child(9){width:150px}.vl-ai-section-table td:nth-child(10),.vl-ai-section-table th:nth-child(10){width:190px}.vl-ai-section-table td:nth-child(11),.vl-ai-section-table td:nth-child(12),.vl-ai-section-table th:nth-child(11),.vl-ai-section-table th:nth-child(12){text-align:center;width:110px}.vl-rule-text-plain{color:var(--clp-text);line-height:1.5}.vl-rule-question-cell{color:var(--clp-text);line-height:1.45;min-width:260px;text-align:left}.vl-question-toggle{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:var(--clp-primary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;justify-self:start;min-height:30px;padding:5px 9px}.vl-question-toggle:hover{background:#f8fafc;border-color:var(--clp-primary)}.vl-question-detail-row td{background:#f8fafc;border-top:0}.vl-question-detail-box{background:#fff;border:1px solid #d8e1ef;border-radius:8px;color:var(--clp-text);font-size:.84rem;line-height:1.55;padding:10px 12px}.vl-question-point-list{color:var(--clp-text);font-size:.8rem;font-weight:600;line-height:1.45;margin:0;padding-left:18px}.vl-question-point-list.compact{grid-gap:4px;display:grid;gap:4px}.vl-question-point-list.expanded{grid-gap:6px;display:grid;font-size:.84rem;gap:6px;margin-top:8px}.vl-rule-cell{align-items:flex-start;display:flex;gap:8px;min-width:0}.vl-analysis-action-tools{align-items:center;display:flex;gap:8px}.vl-help-icon{align-items:center;appearance:none;-webkit-appearance:none;background:#e8edf8;border:1px solid #cfd8ea;border-radius:999px;color:var(--clp-primary);cursor:help;display:inline-flex;flex:0 0 auto;font-size:.75rem;font-weight:800;height:18px;justify-content:center;margin-top:2px;padding:0;width:18px}.vl-ai-rule-note{color:var(--clp-text-light);font-size:.78rem;line-height:1.5;margin-top:6px}.vl-rule-explanation-row td{background:#f9fafb}.vl-rule-warning-row td{background:#fef9c3}.vl-rule-warning-row .vl-rule-explanation-row td,.vl-rule-warning-row+.vl-rule-explanation-row td{background:#fff7b8}.vl-rule-unchecked-row td{background:#f8fafc;color:#475569}.vl-rule-unchecked-row .vl-decision-cell{background:#eef2f7}.vl-rule-no-row td{background:#f3f4f6!important;color:#6b7280}.vl-rule-no-row .vl-checked-answer-select,.vl-rule-no-row .vl-checked-remark,.vl-rule-no-row .vl-compliance-status,.vl-rule-no-row .vl-help-icon,.vl-rule-no-row .vl-method-badge,.vl-rule-no-row .vl-question-toggle,.vl-rule-no-row .vl-rule-id div,.vl-rule-no-row .vl-rule-text-plain{color:#4b5563}.vl-warning-badge{align-items:center;background:#fff7b8;border:1px solid #d6a400;border-radius:999px;color:#7a4b00;display:inline-flex;font-size:.72rem;font-weight:800;margin:0 8px 4px 0;padding:3px 8px;text-transform:uppercase}.vl-method-badge-row{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 6px}.vl-method-badge{align-items:center;background:#eef6ff;border:1px solid #cfd8ea;border-radius:999px;color:#075985;display:inline-flex;font-size:.68rem;font-weight:800;letter-spacing:.02em;padding:3px 7px;text-transform:uppercase}.vl-method-badge.success{background:#ecfdf3;border-color:#9ad0aa;color:#166534}.vl-method-badge.warning{background:#fff7b8;border-color:#d6a400;color:#7a4b00}.vl-method-badge.muted{background:#f3f4f6;border-color:#d1d5db;color:#4b5563}.vl-rule-na-row td{background:linear-gradient(#6b728024,#6b728024),#f3f4f6;color:#6b7280}.vl-rule-na-row .vl-help-icon,.vl-rule-na-row .vl-rule-id div,.vl-rule-na-row .vl-rule-text-plain{color:#4b5563}.vl-rule-na-row .vl-help-icon{background:#e5e7eb;border-color:#d1d5db}.vl-rule-na-cell{position:relative}.vl-rule-na-cell:after{background:#ffffffe0;border:1px solid #d1d5db;border-radius:999px;color:#6b7280;content:"Not applicable";font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:3px 8px;position:absolute;right:12px;text-transform:uppercase;top:10px}.vl-rule-explanation-box{grid-gap:8px;color:var(--clp-text);display:grid;gap:8px;line-height:1.55;padding:10px 4px;text-align:left}.vl-rule-explanation-box div{white-space:normal;word-break:break-word}.vl-evidence-brief{color:var(--clp-text)}.vl-user-remark-explanation{background:#007faf0f;border-left:3px solid var(--clp-secondary);border-radius:6px;padding:8px 10px}.vl-user-remark-meta{color:var(--clp-text-light);display:block;font-size:.78rem;margin-top:4px}.vl-test-link{text-decoration:none}.vl-inventory-panel{grid-gap:12px;display:grid;gap:12px}.vl-inventory-meta{grid-gap:4px;color:var(--clp-text-light);display:grid;font-size:.82rem;gap:4px}.vl-inventory-line{word-break:break-word}.vl-inventory-table{min-width:980px}.vl-decision-cell{text-align:center;vertical-align:middle!important}.vl-decision-checkbox{accent-color:var(--clp-primary);height:16px;width:16px}.vl-decision-checkbox:disabled{cursor:default;opacity:1}.vl-checked-answer-select,.vl-checked-remark{background:#fff;border:1.5px solid var(--clp-border);border-radius:6px;color:var(--clp-text);font-family:inherit;font-size:.82rem;outline:none;width:100%}.vl-checked-answer-select{min-width:132px;padding:8px 9px}.vl-checked-remark{min-height:58px;min-width:160px;padding:8px 9px;resize:vertical}.vl-checked-answer-select:focus,.vl-checked-remark:focus{border-color:var(--clp-secondary);box-shadow:0 0 0 2px #007faf1a}.vl-decision-value{color:var(--clp-primary);font-size:.78rem;font-weight:800}.vl-ai-notes{background:#fff;border:1px solid #e0e4ea;border-radius:8px;margin-top:14px;overflow:hidden}.vl-ai-notes summary{color:var(--clp-primary);cursor:pointer;font-size:.86rem;font-weight:700;list-style:none;padding:14px 16px}.vl-ai-notes summary::-webkit-details-marker{display:none}.vl-ai-notes[open] summary{background:#f9fafb;border-bottom:1px solid #e0e4ea}.vl-ai-notes .vl-analysis-box{border:none;border-radius:0;max-height:none}.vl-chat-box{background:#f9fafb;border:1px solid #e0e4ea;border-radius:8px;margin-bottom:10px;max-height:350px;min-height:80px;overflow-y:auto;padding:16px}.vl-chat-msg{margin-bottom:12px}.vl-chat-msg.user .vl-chat-text{background:var(--clp-primary);border-radius:8px 8px 0 8px;color:#fff;display:inline-block;float:right;max-width:80%;padding:10px 14px}.vl-chat-msg.assistant .vl-chat-text{background:#e8edf8;border-radius:8px 8px 8px 0;color:var(--clp-text);display:inline-block;max-width:80%;padding:10px 14px}.vl-chat-msg:after{clear:both;content:"";display:table}.vl-chat-label{color:var(--clp-text-light);font-size:.7rem;font-weight:600;margin-bottom:3px}.vl-chat-msg.user .vl-chat-label{text-align:right}.vl-chat-input{display:flex;gap:8px}.vl-chat-input input{border:1.5px solid var(--clp-border);border-radius:8px;flex:1 1;font-family:inherit;font-size:.88rem;outline:none;padding:10px 14px}.vl-chat-input input:focus{border-color:var(--clp-secondary)}.vl-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}@media (max-width:900px){.vl-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.vl-card{padding:20px}.vl-grid{grid-template-columns:1fr}.vl-steps{flex-direction:column}.vl-step:after{display:none}.vl-actions,.vl-analysis-tabs,.vl-chat-input{flex-direction:column}.vl-analysis-tab,.vl-btn{width:100%}}:root{--clp-primary:#0a2b9a;--clp-secondary:#007faf;--clp-primary-light:#1a3db0;--clp-bg:#f0f4f8;--clp-white:#fff;--clp-text:#1a1a2e;--clp-text-light:#6b7280;--clp-border:#d1d5db;--clp-danger:#dc2626}*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f4f8;background:var(--clp-bg);color:#1a1a2e;color:var(--clp-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}
/*# sourceMappingURL=main.67cbe3dd.css.map*/