.cf-page{max-width:1000px;width:100%;padding:100px 1rem 1rem;box-sizing:border-box;display:flex;flex-direction:column;gap:1.5rem}.cf-page-narrow{max-width:720px!important;width:720px!important}@media (max-width:1000px){.cf-page{padding:80px 1rem 1rem;max-width:100vw}}.cf-card{background:var(--bg-card);border:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-radius:var(--radius-sm);padding:1.25rem}.cf-card-sm{padding:.75rem 1rem}.cf-section-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.cf-muted{color:var(--text-secondary);font-size:13px}.cf-score{font-size:2.5rem;font-weight:700;line-height:1}.cf-score-good{color:var(--accent-green)}.cf-score-mid{color:var(--accent-yellow)}.cf-score-bad{color:var(--accent-red)}.cf-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius);font-size:11px;font-weight:600;border:1px solid transparent}.cf-badge-pending{background:color-mix(in srgb,var(--border) 15%,transparent);color:var(--text-secondary)}.cf-badge-processing{background:color-mix(in srgb,var(--text-link) 15%,transparent);color:var(--text-link);border-color:color-mix(in srgb,var(--text-link) 30%,transparent)}.cf-badge-done{background:color-mix(in srgb,var(--accent-green) 15%,transparent);color:var(--accent-green);border-color:color-mix(in srgb,var(--accent-green) 30%,transparent)}.cf-badge-error{background:color-mix(in srgb,var(--accent-red) 15%,transparent);color:var(--accent-red);border-color:color-mix(in srgb,var(--accent-red) 30%,transparent)}.cf-tag-positive{color:var(--accent-green)}.cf-tag-neutral{color:var(--text-secondary)}.cf-tag-negative{color:var(--accent-red)}.cf-tag-inbound{color:var(--text-link)}.cf-tag-outbound{color:var(--accent-purple)}.cf-table{width:100%;border-collapse:collapse;font-size:13px}.cf-table thead th{padding:10px 12px 10px 0;text-align:left;color:var(--text-secondary);font-weight:500;border-bottom:1px solid color-mix(in srgb,var(--border) 20%,transparent);white-space:nowrap}.cf-table tbody tr{border-bottom:1px solid color-mix(in srgb,var(--border) 10%,transparent);cursor:pointer;transition:background .15s}.cf-table tbody tr:hover{background:color-mix(in srgb,var(--accent-green) 5%,transparent)}.cf-table tbody td{padding:10px 12px 10px 0;color:var(--text-primary)}.cf-tabs{display:flex;gap:0;border-bottom:1px solid color-mix(in srgb,var(--border) 20%,transparent)}.cf-tab{padding:8px 16px;font-size:13px;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;border-radius:0;cursor:pointer;transition:color .15s,border-color .15s}.cf-tab:hover{color:var(--text-primary);box-shadow:none}.cf-tab.active{color:var(--accent-green);border:none!important;border-bottom:2px solid var(--accent-green)!important;background:none;box-shadow:none}.cf-progress-track{width:100%;height:8px;background:color-mix(in srgb,var(--border) 15%,transparent);border-radius:99px;overflow:hidden}.cf-progress-bar{height:100%;border-radius:99px;transition:width .4s ease}.cf-progress-bar-green{background:var(--accent-green)}.cf-progress-bar-yellow{background:var(--accent-yellow)}.cf-progress-bar-red{background:var(--accent-red)}.cf-progress-bar-link{background:var(--text-link)}.cf-toggle{position:relative;width:40px;height:22px;background:color-mix(in srgb,var(--border) 30%,transparent);border-radius:99px;border:none;padding:0;cursor:pointer;transition:background .2s;flex-shrink:0}.cf-toggle:hover{box-shadow:none}.cf-toggle.on{background:var(--accent-green)}.cf-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:white;border-radius:50%;transition:transform .2s;pointer-events:none}.cf-toggle.on .cf-toggle-thumb{transform:translateX(18px)}.cf-stats-row{display:grid;gap:1rem}.cf-stats-row-3{grid-template-columns:repeat(3,1fr)}.cf-stats-row-2{grid-template-columns:repeat(2,1fr)}@media (max-width:600px){.cf-stats-row-3{grid-template-columns:1fr 1fr}.cf-stats-row-2{grid-template-columns:1fr}}.cf-stat-card{background:var(--bg-card);border:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-radius:var(--radius-sm);padding:1rem}.cf-stat-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.cf-stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.cf-filters{background:var(--bg-card);border:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-radius:var(--radius-sm);padding:.75rem 1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.cf-filter-input{width:auto!important;flex:1;min-width:130px;max-width:200px;padding:7px 12px!important;font-size:13px!important}.cf-btn{padding:7px 16px;font-size:13px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--border) 40%,transparent);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .15s,box-shadow .15s}.cf-btn:hover{background:color-mix(in srgb,var(--border) 10%,transparent);box-shadow:none}.cf-btn-primary{background:color-mix(in srgb,var(--accent-green) 80%,transparent);border-color:color-mix(in srgb,var(--accent-green) 40%,transparent);color:var(--accent-white)}.cf-btn-primary:hover{background:var(--accent-green);box-shadow:0 0 10px color-mix(in srgb,var(--accent-green) 30%,transparent)}.cf-btn-danger{background:color-mix(in srgb,var(--accent-red) 10%,transparent);border-color:color-mix(in srgb,var(--accent-red) 30%,transparent);color:var(--accent-red)}.cf-btn-danger:hover{background:color-mix(in srgb,var(--accent-red) 20%,transparent);box-shadow:none}.cf-btn-sm{padding:4px 10px;font-size:12px}.cf-pagination{display:flex;justify-content:center;align-items:center;gap:.75rem}.cf-checklist-item{display:flex;align-items:flex-start;gap:8px;font-size:13px}.cf-checklist-icon-ok{color:var(--accent-green);font-size:14px;margin-top:1px}.cf-checklist-icon-fail{color:var(--accent-red);font-size:14px;margin-top:1px}.cf-error-tag{padding:10px 12px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent-red) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-red) 25%,transparent);margin-bottom:8px}.cf-error-tag-code{font-size:11px;font-family:monospace;color:var(--accent-red)}.cf-error-tag-label{font-size:13px;font-weight:600;color:var(--text-primary)}.cf-error-tag-desc{font-size:12px;color:var(--text-secondary);margin-top:3px}.cf-rec-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-primary);padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 10%,transparent)}.cf-rec-item:last-child{border-bottom:none}.cf-rec-arrow{color:var(--accent-green);margin-top:1px;flex-shrink:0}.cf-divider{border:none;border-top:1px solid color-mix(in srgb,var(--border) 15%,transparent);margin:10px 0}.cf-cost-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:3px 0}.cf-cost-row-total{font-weight:600;font-size:13px;padding-top:6px}.cf-pipeline-row{background:var(--bg-card);border:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-radius:var(--radius-sm);overflow:hidden}.cf-pipeline-header{display:flex;align-items:center;gap:10px;padding:12px 16px}.cf-pipeline-body{padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--border) 15%,transparent)}.cf-mode-btn{padding:4px 10px;font-size:11px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--border) 30%,transparent);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.cf-mode-btn:hover:not(:disabled){background:color-mix(in srgb,var(--border) 10%,transparent);color:var(--text-primary);box-shadow:none}.cf-mode-btn.active{background:color-mix(in srgb,var(--accent-green) 20%,transparent);border-color:color-mix(in srgb,var(--accent-green) 40%,transparent);color:var(--accent-green);cursor:default}.cf-modal-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:rgba(10,10,20,.6);padding:16px;box-sizing:border-box}.cf-modal{background:var(--bg-card);border:1px solid color-mix(in srgb,var(--border) 30%,transparent);border-radius:16px;padding:20px 20px 24px;width:100%;max-width:440px;box-shadow:0 18px 40px rgba(0,0,0,.45);position:relative;max-height:100vh;overflow-y:auto}.cf-pkg-option{display:block;width:100%;text-align:left;background:transparent;border:1px solid color-mix(in srgb,var(--border) 25%,transparent);border-radius:var(--radius);padding:10px 14px;cursor:pointer;transition:all .15s;margin-bottom:8px;color:var(--text-primary)}.cf-pkg-option:last-child{margin-bottom:0}.cf-pkg-option:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-green) 40%,transparent);background:color-mix(in srgb,var(--accent-green) 6%,transparent);box-shadow:none}.cf-tariff-card{padding:14px 16px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--border) 20%,transparent);display:flex;align-items:center;justify-content:space-between;gap:12px}.cf-tariff-card.current{border-color:color-mix(in srgb,var(--accent-green) 40%,transparent);background:color-mix(in srgb,var(--accent-green) 6%,transparent)}.cf-tariff-card.popular{border-color:color-mix(in srgb,var(--text-link) 50%,transparent);background:color-mix(in srgb,var(--text-link) 5%,transparent);position:relative}.cf-popular-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius);font-size:11px;font-weight:600;background:color-mix(in srgb,var(--text-link) 15%,transparent);color:var(--text-link);border:1px solid color-mix(in srgb,var(--text-link) 30%,transparent)}.cf-banner-warn{border-radius:var(--radius);background:color-mix(in srgb,var(--accent-yellow) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-yellow) 25%,transparent);color:var(--accent-yellow)}.cf-banner-info,.cf-banner-warn{padding:10px 14px;font-size:13px}.cf-banner-info{border-radius:var(--radius);background:color-mix(in srgb,var(--text-link) 8%,transparent);border:1px solid color-mix(in srgb,var(--text-link) 25%,transparent);color:var(--text-link)}.cf-banner-warn-pipelines{padding:10px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent-yellow) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-yellow) 25%,transparent);color:var(--accent-yellow);font-size:13px;margin-bottom:1rem}.cf-pkg-item{border:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px}.cf-pkg-item:last-child{margin-bottom:0}.cf-transcript{font-size:13px;color:var(--text-primary);white-space:pre-wrap;font-family:var(--font-sans);line-height:1.7}.cf-history-item{padding:10px 12px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--border) 15%,transparent);margin-bottom:8px}.cf-history-item:last-child{margin-bottom:0}.cf-page-header h1{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.cf-page-header p{margin-top:4px}.cf-back-btn,.cf-page-header p{font-size:13px;color:var(--text-secondary)}.cf-back-btn{background:none;border:1px solid color-mix(in srgb,var(--border) 40%,transparent);border-radius:var(--radius);padding:5px 12px;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.cf-back-btn:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--border) 70%,transparent);box-shadow:none}.cf-project-item{background:var(--bg-card);border:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-radius:var(--radius-sm);padding:14px 16px;display:flex;align-items:center;gap:12px;transition:border-color .15s;flex-wrap:wrap}.cf-project-item:hover{border-color:color-mix(in srgb,var(--accent-green) 30%,transparent)}.cf-project-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}@media (max-width:520px){.cf-project-actions{width:100%}.cf-project-actions .cf-btn{flex:1;text-align:center;justify-content:center}}.cf-project-name{font-weight:600;color:var(--text-primary);font-size:14px}.cf-project-code{font-size:12px;color:var(--text-secondary);margin-top:2px}.cf-current-badge{border-radius:var(--radius);background:color-mix(in srgb,var(--accent-green) 15%,transparent);color:var(--accent-green);border:1px solid color-mix(in srgb,var(--accent-green) 30%,transparent)}.cf-current-badge,.cf-pending-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600}.cf-pending-badge{border-radius:var(--radius);background:color-mix(in srgb,var(--accent-yellow) 15%,transparent);color:var(--accent-yellow);border:1px solid color-mix(in srgb,var(--accent-yellow) 30%,transparent)}