:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.theme-toggle{background:transparent;border:2px solid var(--border-color);border-radius:8px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:var(--text-primary)}.theme-toggle:hover{background:var(--hover-bg);border-color:var(--primary-color);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{display:block}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-nav{background:var(--card-bg);border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000000d}.nav-content{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);font-size:1.25rem;font-weight:600;transition:opacity .2s ease}.nav-brand:hover{opacity:.8}.nav-brand-icon{font-size:1.5rem}.nav-brand-text{font-weight:700}.nav-actions{display:flex;align-items:center;gap:1rem}.logout-button{padding:.5rem 1rem;background:transparent;color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.logout-button:active{transform:scale(.98)}.main-content{flex:1;padding:2rem}.main-content.full-height{padding:0}@media(max-width:768px){.nav-content{padding:1rem}.nav-brand-text{display:none}.main-content{padding:1rem}}[data-theme=dark] .app-nav{background:var(--card-bg);border-bottom-color:var(--border-color);box-shadow:0 2px 8px #0003}.home-page{min-height:100vh;padding:2rem;max-width:1400px;margin:0 auto}.home-page-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.home-logout-button{padding:.5rem 1rem;background:transparent;color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.home-logout-button:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.home-logout-button:active{transform:scale(.98)}.home-header{text-align:center;margin-bottom:3rem;padding:2rem 0}.home-header h1{font-size:3rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-top:.5rem}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-top:2rem}.app-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease;position:relative}.app-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--primary-color)}.app-card.coming-soon{opacity:.7}.app-card.coming-soon:hover{transform:none;border-color:var(--border-color);box-shadow:none}.app-card-link{display:block;text-decoration:none;color:inherit;padding:2rem;height:100%}.app-card-content{padding:2rem;height:100%}.app-icon{font-size:3.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;height:80px}.app-title{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.app-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1.5rem;min-height:3.2rem}.app-footer{display:flex;justify-content:flex-end;margin-top:auto}.app-status-badge{padding:.4rem .9rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.app-status-badge.active{background:var(--success-bg);color:var(--success-color)}.app-status-badge.coming-soon{background:var(--info-bg);color:var(--info-color)}@media(max-width:768px){.home-page{padding:1rem}.home-header h1{font-size:2rem}.home-subtitle{font-size:1rem}.apps-grid{grid-template-columns:1fr;gap:1.5rem}.app-icon{font-size:2.5rem;height:60px}}[data-theme=dark] .app-card{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .app-card:hover{border-color:var(--primary-color);box-shadow:0 8px 24px #0000004d}.billing-page{max-width:1400px;margin:0 auto}.diff-positive{color:#22c55e;font-weight:600}.diff-negative{color:#ef4444;font-weight:600}.diff-zero,.diff-na{color:var(--text-secondary)}.billing-header{margin-bottom:2rem}.billing-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.billing-page{padding:0}.vendor-header{flex-direction:column;align-items:flex-start;gap:1rem}.vendor-stats{width:100%;flex-direction:column;gap:.5rem}.stat-badge{display:block;text-align:center}.tabs-container{overflow-x:scroll;-webkit-overflow-scrolling:touch}.tab-button{padding:.75rem 1rem;font-size:.875rem}}.forms-page{max-width:1400px;margin:0 auto}.forms-header{text-align:center;margin-bottom:3rem;padding:2rem 0}.forms-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.forms-subtitle{font-size:1.125rem;color:var(--text-secondary);margin-top:.5rem}.forms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-top:2rem}.form-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;padding:2rem;transition:all .3s ease;position:relative}.form-card.active{cursor:pointer}.form-card.active:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--primary-color)}.form-card.active:focus{outline:2px solid var(--primary-color);outline-offset:2px}.form-card.placeholder{opacity:.7;cursor:not-allowed}.form-icon{font-size:3rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;height:70px}.form-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary);line-height:1.4}.form-description{font-size:.95rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1.5rem;min-height:3rem}.form-footer{display:flex;justify-content:flex-end;margin-top:auto}.form-status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.form-status-badge.active{background:var(--primary-color);color:#fff;transition:background-color .2s ease}.form-card.active:hover .form-status-badge.active{background:var(--primary-hover)}.form-status-badge.placeholder{background:var(--info-bg);color:var(--info-color)}.external-icon{font-size:1rem;font-weight:700}@media(max-width:768px){.forms-page{padding:0}.forms-header h1{font-size:2rem}.forms-subtitle{font-size:1rem}.forms-grid{grid-template-columns:1fr;gap:1.5rem}.form-icon{font-size:2.5rem;height:60px}}[data-theme=dark] .form-card{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .form-card.active:hover{border-color:var(--primary-color);box-shadow:0 8px 24px #0000004d}.ta-page{max-width:1400px;margin:0 auto}.ta-header{margin-bottom:2rem}.ta-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.ta-subtitle{color:var(--text-secondary);font-size:1rem}.ta-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-top:2rem}.ta-tool-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease;position:relative}.ta-tool-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--primary-color)}.ta-tool-card-link{display:block;text-decoration:none;color:inherit;padding:2rem;height:100%}.ta-tool-icon{font-size:3.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;height:80px}.ta-tool-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.ta-tool-full-name{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.ta-tool-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1.5rem;min-height:3.2rem}.ta-tool-footer{display:flex;justify-content:flex-end;margin-top:auto}.ta-tool-badge{padding:.4rem .9rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--success-bg);color:var(--success-color)}.client-selector-container{margin-bottom:2rem}.client-selector-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.client-selector-row label{font-weight:600;color:var(--text-primary)}.client-select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;background-color:var(--bg-primary);color:var(--text-primary);min-width:250px;cursor:pointer}.client-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.add-client-btn{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s}.add-client-btn:hover{background:var(--primary-hover)}.score-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.score-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;text-align:center}.score-card-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.score-card-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.score-card-value.percentage{color:var(--primary-color)}.score-card-value.good{color:var(--success-color)}.score-card-value.warning{color:#f59e0b}.score-card-value.poor{color:var(--error-color)}.category-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.category-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(to right,var(--header-gradient-start),var(--header-gradient-end));border-bottom:1px solid var(--border-color);cursor:pointer}.category-header:hover{background:var(--hover-bg)}.category-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.category-score{display:flex;align-items:center;gap:1rem}.category-score-badge{padding:.4rem .8rem;border-radius:6px;font-size:.875rem;font-weight:600;background:var(--bg-secondary);color:var(--text-secondary)}.category-toggle{font-size:1.25rem;transition:transform .2s}.category-toggle.expanded{transform:rotate(180deg)}.category-content{padding:0}.question-row{display:grid;grid-template-columns:1fr auto auto auto;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);align-items:center}.question-row:last-child{border-bottom:none}.question-row:hover{background:var(--hover-bg)}.question-text{font-size:.95rem;color:var(--text-primary);line-height:1.5}.answer-toggle{display:flex;gap:.5rem}.answer-btn{padding:.4rem 1rem;border:2px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;background:var(--bg-primary);color:var(--text-secondary)}.answer-btn:hover{border-color:var(--primary-color)}.answer-btn.yes.selected{background:var(--success-color);border-color:var(--success-color);color:#fff}.answer-btn.no.selected{background:var(--error-color);border-color:var(--error-color);color:#fff}.ticket-input{padding:.4rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;width:120px;background:var(--bg-primary);color:var(--text-primary)}.ticket-input:focus{outline:none;border-color:var(--primary-color)}.ticket-input::placeholder{color:var(--text-secondary)}.save-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}.save-btn{padding:.75rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.save-btn:hover:not(:disabled){background:var(--primary-hover)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.save-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.save-status.success{color:var(--success-color)}.save-status.error{color:var(--error-color)}.summary-table-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.summary-table{width:100%;border-collapse:collapse}.summary-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:2px solid var(--border-color);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.summary-table td{padding:1rem;border-bottom:1px solid var(--border-color)}.summary-table tbody tr:hover{background:var(--hover-bg)}.summary-table tbody tr:last-child td{border-bottom:none}.progress-bar{width:100%;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-fill.good{background:var(--success-color)}.progress-fill.warning{background:#f59e0b}.progress-fill.poor{background:var(--error-color)}@media(max-width:768px){.ta-tools-grid{grid-template-columns:1fr}.question-row{grid-template-columns:1fr;gap:.75rem}.answer-toggle{justify-content:flex-start}.ticket-input{width:100%}.score-summary{grid-template-columns:repeat(2,1fr)}.client-selector-row{flex-direction:column;align-items:stretch}.client-select{width:100%}}.cm-header-row,.qm-header-row,.fb-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.cm-message,.qm-message,.fb-message{padding:1rem;border-radius:6px;margin-bottom:1.5rem;font-weight:500}.cm-message.success,.qm-message.success,.fb-message.success{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-color)}.cm-message.error,.qm-message.error,.fb-message.error{background:var(--error-bg);color:var(--error-color);border:1px solid var(--error-color)}.cm-filters,.qm-filters{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-bottom:2rem;padding:1rem 1.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px}.cm-filter-group,.qm-filter-group{display:flex;align-items:center;gap:.5rem}.cm-filter-group label,.qm-filter-group label{font-weight:600;color:var(--text-secondary);font-size:.875rem}.cm-search-input,.qm-search-input{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);min-width:200px}.cm-search-input:focus,.qm-search-input:focus{outline:none;border-color:var(--primary-color)}.cm-filter-stats,.qm-filter-stats{margin-left:auto;font-size:.875rem;color:var(--text-secondary)}.cm-empty,.qm-empty,.fb-empty{text-align:center;padding:4rem 2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px}.cm-empty p,.qm-empty p,.fb-empty p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:1.5rem}.cm-modal-overlay,.qm-modal-overlay,.fb-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.cm-modal,.qm-modal,.fb-modal{background:var(--card-bg);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.qm-modal{max-width:600px}.cm-modal-header,.qm-modal-header,.fb-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.cm-modal-header h2,.qm-modal-header h2,.fb-modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.cm-modal-close,.qm-modal-close,.fb-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;line-height:1}.cm-modal-close:hover,.qm-modal-close:hover,.fb-modal-close:hover{color:var(--text-primary)}.cm-modal-body,.qm-modal-body,.fb-modal-body{padding:1.5rem;overflow-y:auto}.cm-modal-footer,.qm-modal-footer,.fb-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.cm-form-group,.qm-form-group,.fb-form-group{margin-bottom:1.25rem}.cm-form-group:last-child,.qm-form-group:last-child,.fb-form-group:last-child{margin-bottom:0}.cm-form-group label,.qm-form-group label,.fb-form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary);font-size:.9rem}.cm-form-input,.qm-form-input,.qm-form-select,.fb-input,.fb-select{width:100%;padding:.65rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;background:var(--bg-primary);color:var(--text-primary)}.cm-form-input:focus,.qm-form-input:focus,.qm-form-select:focus,.qm-form-textarea:focus,.fb-input:focus,.fb-select:focus,.fb-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.cm-cancel-btn,.qm-cancel-btn,.fb-btn-cancel{padding:.65rem 1.25rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;color:var(--text-primary)}.cm-cancel-btn:hover,.qm-cancel-btn:hover,.fb-btn-cancel:hover{background:var(--hover-bg)}.cm-save-btn,.qm-save-btn,.fb-btn-primary{padding:.65rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s}.cm-save-btn:hover:not(:disabled),.qm-save-btn:hover:not(:disabled),.fb-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.cm-save-btn:disabled,.qm-save-btn:disabled,.fb-btn-primary:disabled{opacity:.6;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:ta-spin 1s linear infinite}@keyframes ta-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.cm-header-row,.qm-header-row,.fb-header-row{flex-direction:column;align-items:stretch}.cm-filters,.qm-filters{flex-direction:column;align-items:stretch;gap:1rem}.cm-filter-group,.qm-filter-group{flex-direction:column;align-items:stretch;gap:.25rem}.cm-search-input,.qm-search-input,.qm-filter-select{width:100%;min-width:unset}.cm-filter-stats,.qm-filter-stats{margin-left:0;text-align:center}.qm-modal,.fb-modal{max-height:100vh;border-radius:0}}[data-theme=dark] .ta-tool-card{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .ta-tool-card:hover{box-shadow:0 8px 24px #0000004d}.qm-page{padding-bottom:2rem}.add-btn{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}.add-btn:hover{background:var(--primary-hover)}.qm-filter-select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;min-width:150px}.qm-filter-select:focus{outline:none;border-color:var(--primary-color)}.qm-category-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.qm-category-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(to right,var(--header-gradient-start),var(--header-gradient-end));border-bottom:1px solid var(--border-color)}.qm-category-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.qm-category-count{font-size:.875rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.25rem .75rem;border-radius:12px}.qm-questions-list{padding:0}.qm-question-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);transition:background-color .2s}.qm-question-row:last-child{border-bottom:none}.qm-question-row:hover{background:var(--hover-bg)}.qm-question-row.archived{opacity:.6;background:var(--bg-secondary)}.qm-question-info{flex:1;min-width:0}.qm-question-text{font-size:.95rem;color:var(--text-primary);line-height:1.5;margin-bottom:.25rem}.qm-question-description{font-size:.85rem;color:var(--text-secondary);font-style:italic;line-height:1.4;margin-bottom:.5rem;padding-left:.75rem;border-left:2px solid var(--border-color)}.qm-question-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--text-secondary);flex-wrap:wrap}.qm-points{background:var(--bg-secondary);padding:.15rem .5rem;border-radius:4px}.qm-archived-badge{background:var(--error-bg);color:var(--error-color);padding:.15rem .5rem;border-radius:4px;font-weight:600}.qm-id{color:var(--text-secondary);opacity:.7}.qm-question-actions{display:flex;gap:.5rem;flex-shrink:0}.qm-edit-btn,.qm-archive-btn,.qm-restore-btn{padding:.4rem .8rem;border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--bg-primary);color:var(--text-primary)}.qm-edit-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.qm-archive-btn:hover{border-color:var(--error-color);color:var(--error-color)}.qm-restore-btn{background:var(--success-bg);border-color:var(--success-color);color:var(--success-color)}.qm-restore-btn:hover{background:var(--success-color);color:#fff}.qm-delete-btn{padding:.4rem .8rem;border:1px solid var(--error-color);border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--error-bg);color:var(--error-color)}.qm-delete-btn:hover{background:var(--error-color);color:#fff}.qm-category-input-group{display:flex;gap:.75rem}.qm-custom-cat-btn{padding:.65rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;color:var(--text-primary)}.qm-custom-cat-btn:hover{background:var(--hover-bg);border-color:var(--primary-color)}.qm-form-textarea{width:100%;padding:.65rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:80px;background:var(--bg-primary);color:var(--text-primary)}.qm-description-textarea{min-height:60px;font-size:.9rem;color:var(--text-secondary)}.qm-point-input{width:100px;flex:0}.qm-checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.qm-checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}@media(max-width:768px){.qm-question-row{flex-direction:column;gap:.75rem}.qm-question-actions{width:100%;justify-content:flex-end}.qm-category-input-group{flex-direction:column}}.cm-page{padding-bottom:2rem}.cm-search-input{min-width:250px}.cm-clients-list{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.cm-list-header{display:grid;grid-template-columns:1fr 120px 150px 160px;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(to right,var(--header-gradient-start),var(--header-gradient-end));border-bottom:1px solid var(--border-color);font-weight:600;font-size:.875rem;color:var(--text-secondary)}.cm-client-row{display:grid;grid-template-columns:1fr 120px 150px 160px;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);align-items:center;transition:background-color .2s}.cm-client-row:last-child{border-bottom:none}.cm-client-row:hover{background:var(--hover-bg)}a.cm-client-row-link{text-decoration:none;color:inherit;cursor:pointer;display:grid;grid-template-columns:1fr 120px 150px 160px;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);align-items:center;transition:background-color .2s}a.cm-client-row-link:last-child{border-bottom:none}a.cm-client-row-link:hover{background:var(--hover-bg)}.cm-col-name{display:flex;flex-direction:column;gap:.25rem}.cm-client-name{font-weight:500;color:var(--text-primary)}.cm-client-id{font-size:.75rem;color:var(--text-secondary);opacity:.7}.cm-col-alignment{font-size:.875rem}.cm-alignment-value{font-weight:600;font-size:.95rem}.cm-alignment-value.good{color:var(--success-color)}.cm-alignment-value.warning{color:#f59e0b}.cm-alignment-value.poor{color:var(--error-color)}.cm-alignment-none{color:var(--text-secondary);opacity:.5}.cm-col-created{font-size:.875rem;color:var(--text-secondary)}.cm-col-actions{display:flex;justify-content:flex-end;gap:.5rem}.cm-edit-btn{padding:.4rem .8rem;border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--bg-primary);color:var(--text-primary)}.cm-edit-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.cm-delete-btn{padding:.4rem .8rem;border:1px solid var(--error-color);border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--error-bg);color:var(--error-color)}.cm-delete-btn:hover:not(:disabled){background:var(--error-color);color:#fff}.cm-delete-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.cm-list-header{display:none}.cm-client-row,a.cm-client-row-link{grid-template-columns:1fr;gap:.5rem}.cm-col-created{font-size:.8rem}.cm-col-actions{justify-content:flex-start;padding-top:.5rem}}.fb-page{padding-bottom:2rem}.fb-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.fb-create-btn{padding:.65rem 1.25rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}.fb-create-btn:hover{background:var(--primary-hover)}.fb-btn-secondary{padding:.65rem 1.25rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block}.fb-btn-secondary:hover{background:var(--hover-bg)}.fb-btn-small{padding:.4rem .75rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer}.fb-btn-small:hover{background:var(--primary-hover)}.fb-btn-small.fb-btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.fb-btn-small.fb-btn-outline:hover{background:var(--hover-bg)}.fb-btn-small.fb-btn-danger{background:var(--error-color)}.fb-btn-small.fb-btn-danger:hover{background:#dc2626}.fb-forms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.fb-form-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:all .2s;cursor:pointer}.fb-form-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--primary-color)}.fb-form-card.archived{opacity:.6}.fb-form-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.fb-form-card-header h3{margin:0;font-size:1.1rem;color:var(--text-primary);flex:1;min-width:0}.fb-form-card-menu{display:flex;align-items:center;gap:.5rem;flex-shrink:0;position:relative}.fb-form-card-menu-btn{background:none;border:1px solid transparent;color:var(--text-secondary);font-size:1.25rem;line-height:1;cursor:pointer;padding:.15rem .4rem;border-radius:4px;transition:all .15s}.fb-form-card-menu-btn:hover{background:var(--hover-bg);border-color:var(--border-color);color:var(--text-primary)}.fb-form-card-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:140px;overflow:hidden}.fb-dropdown-item{display:block;width:100%;padding:.6rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-primary);text-decoration:none;background:none;border:none;text-align:left;cursor:pointer;transition:background-color .15s;white-space:nowrap}.fb-dropdown-item:hover{background:var(--hover-bg)}.fb-dropdown-item-danger{color:var(--error-color)}.fb-dropdown-item-danger:hover{background:var(--error-bg)}.fb-archived-badge{background:var(--error-bg);color:var(--error-color);padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.fb-form-card-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.4}.fb-form-card-stats{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.fb-delete-link{padding:.4rem .75rem;border-radius:4px;font-size:.85rem;font-weight:500;background:transparent;color:var(--error-color);border:1px solid var(--error-color);cursor:pointer;transition:all .2s}.fb-delete-link:hover:not(:disabled){background:var(--error-color);color:#fff}.fb-delete-link:disabled{opacity:.5;cursor:not-allowed}.fb-delete-link.permanent{background:var(--error-color);color:#fff}.fb-delete-link.permanent:hover:not(:disabled){background:#dc2626}.fb-restore-link{padding:.4rem .75rem;border-radius:4px;font-size:.85rem;font-weight:500;background:transparent;color:var(--success-color);border:1px solid var(--success-color);cursor:pointer;transition:all .2s}.fb-restore-link:hover:not(:disabled){background:var(--success-color);color:#fff}.fb-restore-link:disabled{opacity:.5;cursor:not-allowed}.fb-form-title-area{flex:1;min-width:0}.fb-form-title-row{display:flex;align-items:center;gap:.5rem}.fb-form-title-row h1{margin:0}.fb-rename-btn{background:none;border:1px solid transparent;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:.25rem .4rem;border-radius:4px;line-height:1;transition:all .15s;flex-shrink:0}.fb-rename-btn:hover{color:var(--primary-color);border-color:var(--border-color);background:var(--hover-bg)}.fb-rename-form{display:flex;flex-direction:column;gap:.5rem}.fb-rename-form .fb-form-group{margin-bottom:0}.fb-rename-form .fb-form-group label{font-size:.8rem;margin-bottom:.25rem}.fb-rename-input{font-size:1.1rem!important;font-weight:600}.fb-rename-actions{display:flex;gap:.5rem;margin-top:.25rem}.fb-groups{display:flex;flex-direction:column;gap:1.5rem}.fb-group{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.fb-group-header{display:flex;align-items:flex-start;padding:1rem 1.25rem;background:linear-gradient(to right,var(--header-gradient-start),var(--header-gradient-end));border-bottom:1px solid var(--border-color);gap:1rem;flex-wrap:wrap}.fb-group-info{flex:1;min-width:0}.fb-group-info h3{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-primary)}.fb-group-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.fb-group-actions{display:flex;gap:.5rem;flex-shrink:0}.fb-group-questions{padding:0}.fb-no-questions{padding:1.5rem;text-align:center;color:var(--text-secondary);font-size:.9rem;margin:0}.fb-question-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--border-color);gap:1rem}.fb-question-item:last-child{border-bottom:none}.fb-question-item:hover{background:var(--hover-bg)}.fb-question-info{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:1;min-width:0}.fb-question-category{background:var(--bg-secondary);padding:.2rem .5rem;border-radius:4px;font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.fb-question-text{flex:1;font-size:.9rem;color:var(--text-primary);min-width:0}.fb-question-points{font-size:.8rem;color:var(--text-secondary);flex-shrink:0}.fb-group-order-controls,.fb-question-order-controls{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.fb-order-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.65rem;cursor:pointer;padding:.2rem .4rem;border-radius:3px;line-height:1;transition:all .15s}.fb-order-btn:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.fb-order-btn:disabled{opacity:.3;cursor:not-allowed}.fb-order-btn-sm{font-size:.55rem;padding:.15rem .3rem}.fb-remove-question{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;line-height:1}.fb-remove-question:hover{color:var(--error-color)}.fb-modal.fb-modal-large{max-width:800px}.fb-modal-body{flex:1}.fb-textarea{width:100%;padding:.65rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;background:var(--bg-primary);color:var(--text-primary)}.fb-modal-footer{align-items:center}.fb-selected-count{margin-right:auto;font-size:.9rem;color:var(--text-secondary)}.fb-question-filters{display:flex;gap:.75rem;margin-bottom:1rem}.fb-question-filters .fb-input{flex:1}.fb-question-filters .fb-select{width:auto;min-width:180px}.fb-question-list{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:6px}.fb-question-select-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .15s}.fb-question-select-item:last-child{border-bottom:none}.fb-question-select-item:hover{background:var(--hover-bg)}.fb-question-select-item.selected{background:#2563eb1a}.fb-question-select-item input[type=checkbox]{margin-top:.25rem;flex-shrink:0}.fb-question-select-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.fb-question-select-info .fb-question-text{font-size:.9rem}@media(max-width:768px){.fb-header-row{flex-direction:column;align-items:stretch}.fb-header-actions{justify-content:flex-start}.fb-forms-grid{grid-template-columns:1fr}.fb-group-header{flex-direction:column;align-items:flex-start}.fb-group-actions{width:100%;justify-content:flex-end}.fb-question-filters{flex-direction:column}.fb-question-filters .fb-select{width:100%}.fb-modal{border-radius:0;max-height:100vh}}.ff-page{padding-bottom:2rem}.back-link{display:inline-block;color:var(--primary-color);text-decoration:none;font-size:.875rem;margin-bottom:.5rem}.back-link:hover{text-decoration:underline}.ff-client-selector{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.ff-client-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.ff-client-row label{font-weight:600;color:var(--text-primary)}.ff-client-select,.ff-client-input{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;background:var(--bg-primary);color:var(--text-primary);min-width:200px}.ff-client-select:focus,.ff-client-input:focus{outline:none;border-color:var(--primary-color)}.ff-add-client-btn{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer}.ff-add-client-btn:hover:not(:disabled){background:var(--primary-hover)}.ff-add-client-btn:disabled{opacity:.6;cursor:not-allowed}.ff-manage-clients-link{padding:.5rem 1rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s}.ff-manage-clients-link:hover{border-color:var(--primary-color);color:var(--primary-color)}.ff-client-search-wrapper{position:relative;min-width:250px}.ff-client-search{width:100%;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;background:var(--bg-primary);color:var(--text-primary)}.ff-client-search:focus{outline:none;border-color:var(--primary-color)}.ff-client-search::placeholder{color:var(--text-primary);opacity:1}.ff-client-dropdown-backdrop{position:fixed;inset:0;z-index:99}.ff-client-dropdown{position:absolute;top:100%;left:0;right:0;max-height:250px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;margin-top:4px;padding:0;list-style:none;z-index:100;box-shadow:0 4px 12px #00000026}.ff-client-dropdown-item{padding:.6rem 1rem;cursor:pointer;font-size:.95rem;color:var(--text-primary)}.ff-client-dropdown-item:hover{background:var(--hover-bg)}.ff-client-dropdown-item.selected{background:var(--primary-color);color:#fff}.ff-client-dropdown-empty{padding:.75rem 1rem;color:var(--text-secondary);font-style:italic;font-size:.9rem}.ff-score-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.ff-score-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;text-align:center}.ff-score-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.ff-score-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.ff-score-value.good{color:var(--success-color)}.ff-score-value.warning{color:#f59e0b}.ff-score-value.poor{color:var(--error-color)}.ff-group{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.ff-group-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(to right,var(--header-gradient-start),var(--header-gradient-end));border-bottom:1px solid var(--border-color);cursor:pointer}.ff-group-header:hover{background:var(--hover-bg)}.ff-group-info h3{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-primary)}.ff-group-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.ff-group-score{display:flex;align-items:center;gap:.75rem}.ff-group-score-badge{padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;background:var(--bg-secondary);color:var(--text-secondary)}.ff-group-toggle{font-size:1rem;transition:transform .2s}.ff-group-toggle.expanded{transform:rotate(180deg)}.ff-group-content{padding:0}.ff-no-questions{padding:1.5rem;text-align:center;color:var(--text-secondary);margin:0}.ff-question-block{border-bottom:1px solid var(--border-color)}.ff-question-block:last-child{border-bottom:none}.ff-question-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem}.ff-question-content{flex:1}.ff-question-text{font-size:.95rem;color:var(--text-primary);line-height:1.5}.ff-question-description{font-size:.85rem;color:var(--text-secondary);font-style:italic;line-height:1.4;margin-top:.35rem;padding-left:.75rem;border-left:2px solid var(--border-color)}.ff-question-points{color:var(--text-secondary);font-size:.85rem;margin-left:.5rem}.ff-answer-toggle{display:flex;gap:.4rem;flex-shrink:0}.ff-answer-btn{padding:.4rem .9rem;border:2px solid var(--border-color);border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;background:var(--bg-primary);color:var(--text-secondary)}.ff-answer-btn:hover{border-color:var(--primary-color)}.ff-answer-btn.yes.selected{background:var(--success-color);border-color:var(--success-color);color:#fff}.ff-answer-btn.no.selected{background:var(--error-color);border-color:var(--error-color);color:#fff}.ff-answer-btn.na.selected{background:#6b7280;border-color:#6b7280;color:#fff}.ff-notes-row{display:flex;gap:.75rem;padding:0 1.25rem 1rem;align-items:center}.ff-notes-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary)}.ff-notes-input:focus{outline:none;border-color:var(--primary-color)}.ff-history-btn{padding:.4rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap;color:var(--text-primary)}.ff-history-btn:hover{background:var(--hover-bg)}.ff-history-panel{background:var(--bg-secondary);padding:1rem 1.25rem;border-top:1px solid var(--border-color)}.ff-history-panel h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary)}.ff-history-list{list-style:none;padding:0;margin:0}.ff-history-item{padding:.5rem 0;border-bottom:1px solid var(--border-color)}.ff-history-item:last-child{border-bottom:none}.ff-history-answer{display:flex;gap:.75rem;align-items:center;font-size:.85rem}.ff-history-badge{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.ff-history-badge.yes{background:var(--success-bg);color:var(--success-color)}.ff-history-badge.no{background:var(--error-bg);color:var(--error-color)}.ff-history-badge.na{background:var(--bg-secondary);color:var(--text-secondary)}.ff-history-date{color:var(--text-secondary)}.ff-history-user{color:var(--text-secondary);font-style:italic}.ff-history-notes{margin-top:.5rem;font-size:.85rem;color:var(--text-primary);padding-left:.5rem;border-left:2px solid var(--border-color)}.ff-history-empty{font-size:.85rem;color:var(--text-secondary);margin:0}.ff-submit-section{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.ff-save-status{font-size:.9rem;font-weight:500}.ff-save-status.success{color:var(--success-color)}.ff-save-status.error{color:var(--error-color)}.ff-submit-btn{padding:.75rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.ff-submit-btn:hover:not(:disabled){background:var(--primary-hover)}.ff-submit-btn:disabled{opacity:.6;cursor:not-allowed}.ff-empty{text-align:center;padding:4rem 2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px}.ff-empty p{font-size:1.1rem;color:var(--text-secondary);margin:0}@media(max-width:768px){.ff-client-row{flex-direction:column;align-items:stretch}.ff-client-select,.ff-client-input{width:100%;min-width:unset}.ff-score-summary{grid-template-columns:repeat(2,1fr)}.ff-question-row{flex-direction:column;gap:.75rem}.ff-answer-toggle{align-self:flex-start}.ff-notes-row{flex-direction:column;align-items:stretch}.ff-submit-section{flex-direction:column;align-items:stretch;gap:.75rem}.ff-submit-btn{width:100%}}.cd-page{padding-bottom:2rem}.cd-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.cd-header-actions{display:flex;align-items:center;gap:.75rem;align-self:flex-end}.cd-month-selector{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:600;background:var(--card-bg);color:var(--text-primary);cursor:pointer;min-width:150px}.cd-month-selector:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.cd-historical-banner{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;margin-bottom:1rem;background:#2563eb14;border:1px solid rgba(37,99,235,.2);border-radius:8px;font-size:.9rem;color:var(--text-primary)}.cd-historical-banner-btn{padding:.3rem .75rem;border:1px solid var(--primary-color);border-radius:4px;background:transparent;color:var(--primary-color);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto}.cd-historical-banner-btn:hover{background:var(--primary-color);color:#fff}.cd-historical-loading{text-align:center;padding:4rem 2rem}.cd-historical-loading p{color:var(--text-secondary);margin-top:1rem}.cd-score-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.cd-score-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;text-align:center}.cd-score-card-clickable{cursor:pointer;transition:all .2s}.cd-score-card-clickable:hover{border-color:var(--error-color);box-shadow:0 0 0 1px var(--error-color)}.cd-score-card-active{border-color:var(--error-color);box-shadow:0 0 0 2px var(--error-color);background:var(--error-bg)}.cd-score-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.cd-filter-badge{display:inline-block;font-size:.65rem;padding:.1rem .4rem;border-radius:3px;background:var(--error-color);color:#fff;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;margin-left:.35rem}.cd-score-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.cd-score-value.good{color:var(--success-color)}.cd-score-value.warning{color:#f59e0b}.cd-score-value.poor{color:var(--error-color)}.cd-category{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;overflow:hidden}.cd-category-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(to right,var(--header-gradient-start),var(--header-gradient-end));cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.cd-category-header:hover{background:var(--hover-bg)}.cd-category-header.expanded{border-bottom:1px solid var(--border-color)}.cd-category-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.cd-category-info h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.cd-category-stats{font-size:.8rem;color:var(--text-secondary)}.cd-category-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.cd-category-percentage{font-size:1.1rem;font-weight:700;min-width:45px;text-align:right}.cd-category-badge{padding:.3rem .7rem;border-radius:6px;font-size:.8rem;font-weight:600;background:var(--bg-secondary);color:var(--text-secondary);white-space:nowrap}.cd-progress-wrapper{width:120px}.cd-category-toggle{font-size:1rem;color:var(--text-secondary);transition:transform .2s;flex-shrink:0}.cd-category-toggle.expanded{transform:rotate(180deg)}.cd-category-content{padding:0}.cd-question-block{border-bottom:1px solid var(--border-color)}.cd-question-block:last-child{border-bottom:none}.cd-question-row{padding:.75rem 1.25rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;transition:background-color .2s}.cd-question-clickable{cursor:pointer}.cd-question-clickable:hover{background:var(--hover-bg)}.cd-answer-no{border-left:3px solid var(--error-color)}.cd-answer-yes{border-left:3px solid var(--success-color)}.cd-question-info{flex:1;min-width:0}.cd-question-text{font-size:.95rem;color:var(--text-primary);line-height:1.5}.cd-question-description{font-size:.85rem;color:var(--text-secondary);font-style:italic;line-height:1.4;margin-top:.25rem;padding-left:.75rem;border-left:2px solid var(--border-color)}.cd-question-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.cd-question-answer-badge{font-size:.8rem;font-weight:600;padding:.2rem .6rem;border-radius:4px;white-space:nowrap}.cd-question-answer-badge.yes{background:var(--success-bg);color:var(--success-color)}.cd-question-answer-badge.no{background:var(--error-bg);color:var(--error-color)}.cd-question-points{font-size:.85rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;white-space:nowrap}.cd-question-points.yes{color:var(--success-color);background:var(--success-bg)}.cd-question-points.no{color:var(--error-color);background:var(--error-bg)}.cd-history-panel{background:var(--bg-secondary);padding:1rem 1.25rem;border-top:1px solid var(--border-color)}.cd-history-panel h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.cd-history-list{list-style:none;padding:0;margin:0}.cd-history-item{padding:.5rem 0;border-bottom:1px solid var(--border-color)}.cd-history-item:last-child{border-bottom:none}.cd-history-answer{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.cd-history-badge{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.cd-history-badge.yes{background:var(--success-bg);color:var(--success-color)}.cd-history-badge.no{background:var(--error-bg);color:var(--error-color)}.cd-history-badge.na{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.cd-history-date{font-size:.8rem;color:var(--text-secondary)}.cd-history-user{font-size:.8rem;color:var(--text-secondary);font-style:italic}.cd-history-notes{margin-top:.35rem;font-size:.85rem;color:var(--text-primary);padding-left:.75rem;border-left:2px solid var(--border-color)}.cd-history-empty{font-size:.85rem;color:var(--text-secondary);margin:0}.cd-history-toggle-btn{padding:.5rem 1.25rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;background:var(--card-bg);color:var(--text-primary);transition:all .2s;align-self:flex-end}.cd-history-toggle-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.cd-history-toggle-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.cd-score-history{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;margin-bottom:2rem}.cd-score-history-title{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.cd-score-history-loading,.cd-score-history-empty{color:var(--text-secondary);font-size:.9rem;margin:0}.cd-score-history-table-wrapper{overflow-x:auto}.cd-score-history-table{width:100%;border-collapse:collapse}.cd-score-history-table th{padding:.6rem .75rem;text-align:left;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:2px solid var(--border-color);text-transform:uppercase;font-size:.7rem;letter-spacing:.05em;white-space:nowrap}.cd-score-history-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-color);font-size:.9rem;color:var(--text-primary);white-space:nowrap}.cd-score-history-table tbody tr:last-child td{border-bottom:none}.cd-score-history-table tbody tr:hover{background:var(--hover-bg)}.cd-score-history-table tbody tr.cd-score-history-active{background:#2563eb14;border-left:3px solid var(--primary-color)}.cd-score-history-pct{font-weight:700}.cd-score-history-pct.good{color:var(--success-color)}.cd-score-history-pct.warning{color:#f59e0b}.cd-score-history-pct.poor{color:var(--error-color)}.cd-change-positive{color:var(--success-color);font-weight:600}.cd-change-negative{color:var(--error-color);font-weight:600}.cd-change-neutral{color:var(--text-secondary)}.cd-no-data{text-align:center;padding:4rem 2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px}.cd-no-data p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:1rem}@media(max-width:768px){.cd-header-row{flex-direction:column;align-items:stretch}.cd-header-actions{flex-wrap:wrap}.cd-month-selector{min-width:0;flex:1}.cd-historical-banner{flex-direction:column;text-align:center;gap:.5rem}.cd-historical-banner-btn{margin-left:0}.cd-score-summary{grid-template-columns:repeat(2,1fr)}.cd-category-header{flex-direction:column;align-items:stretch;gap:.75rem}.cd-category-right{flex-wrap:wrap;gap:.5rem}.cd-progress-wrapper{width:100%}.cd-question-row{flex-direction:column;gap:.5rem}}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--accent-color: #7c3aed;--success-color: #10b981;--error-color: #ef4444;--border-color: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--card-bg: #ffffff;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1);--hover-bg: #f3f4f6;--header-gradient-start: #f8fafc;--header-gradient-end: #f1f5f9;--success-bg: #d1fae5;--info-bg: #dbeafe;--info-color: #1e40af}[data-theme=dark]{--primary-color: #3b82f6;--primary-hover: #60a5fa;--accent-color: #a78bfa;--success-color: #34d399;--error-color: #f87171;--border-color: #374151;--text-primary: #f9fafb;--text-secondary: #9ca3af;--bg-primary: #1f2937;--bg-secondary: #111827;--card-bg: #1f2937;--shadow: 0 1px 3px 0 rgb(0 0 0 / .3);--hover-bg: #374151;--header-gradient-start: #374151;--header-gradient-end: #4b5563;--success-bg: #064e3b;--info-bg: #1e3a8a;--info-color: #93c5fd}*{box-sizing:border-box;margin:0;padding:0}html{transition:background-color .3s ease,color .3s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.dashboard{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-header{margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dashboard-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.subtitle{color:var(--text-secondary);font-size:1rem}.dashboard-actions{margin-bottom:2rem}.summary-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow)}.summary-card h3{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.summary-value{font-size:1.875rem;font-weight:700;color:var(--text-primary)}.audit-trigger{display:flex;align-items:center;gap:1rem}.trigger-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.trigger-button:hover:not(:disabled){background-color:var(--primary-hover)}.trigger-button:disabled{opacity:.6;cursor:not-allowed}.status-success{color:var(--success-color);font-weight:600}.status-error{color:var(--error-color);font-weight:600}.data-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow)}.data-section h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.no-data{text-align:center;padding:3rem;color:var(--text-secondary)}.billing-table-container{width:100%}.table-controls{margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}.date-selectors-row{display:flex;flex-wrap:wrap;gap:2rem;align-items:center}.date-selector{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.date-selector label{font-weight:600;color:var(--text-primary);min-width:60px}.month-selector{display:flex;align-items:center;gap:.5rem}.month-selector label{font-weight:500;color:var(--text-primary)}.month-select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.month-select:hover{border-color:var(--primary-color)}.month-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.filter-input{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;width:300px;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary)}.billing-table{width:100%;border-collapse:collapse;font-size:.875rem}.billing-table thead{background-color:var(--bg-secondary)}.billing-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:2px solid var(--border-color)}.billing-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary)}.billing-table tbody tr{background-color:var(--bg-primary);transition:background-color .2s ease}.billing-table tbody tr:hover{background-color:var(--bg-secondary)}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header:hover{color:var(--primary-color)}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:1rem}.pagination button{padding:.5rem .75rem;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:4px;cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--primary-color)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;color:var(--error-color)}.error-container h2{font-size:1.5rem;font-weight:700}@media(max-width:768px){.dashboard{padding:1rem}.summary-container{grid-template-columns:1fr}.filter-input{width:100%}}.vendor-section{margin-bottom:3rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-primary)}.vendor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(to right,var(--header-gradient-start),var(--header-gradient-end));border-bottom:2px solid var(--border-color);transition:background .3s ease}.vendor-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.vendor-stats{display:flex;gap:1rem}.stat-badge{padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.vendor-section .billing-table-container{padding:0;box-shadow:none;border-radius:0}.vendor-section .table-controls{padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}@media(max-width:768px){.vendor-header{flex-direction:column;align-items:flex-start;gap:1rem}.vendor-stats{width:100%;flex-direction:column;gap:.5rem}.stat-badge{display:block;text-align:center}}.tabs-container{display:flex;gap:.25rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color);overflow-x:auto;padding-bottom:0}.tab-button{background:transparent;border:none;border-bottom:3px solid transparent;padding:1rem 1.5rem;font-size:.95rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;position:relative;bottom:-2px}.tab-button:hover{color:var(--primary-color);background-color:var(--bg-secondary)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background-color:transparent}.tab-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.tabs-container{overflow-x:scroll;-webkit-overflow-scrolling:touch}.tab-button{padding:.75rem 1rem;font-size:.875rem}}
