*{box-sizing:border-box}body{margin:0;padding:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;font-size:14px;line-height:1.4;color:var(--dynapt-text-primary);background-color:var(--dynapt-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}#root{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--dynapt-hover);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--dynapt-text-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dynapt-text-secondary)}.light-theme,:root{--dynapt-primary:#0078d4;--dynapt-secondary:#323130;--dynapt-accent:#00bcf2;--dynapt-success:#107c10;--dynapt-warning:#f7b900;--dynapt-danger:#d13438;--dynapt-background:#f3f2f1;--dynapt-surface:#fff;--dynapt-border:#e1dfdd;--dynapt-text-primary:#323130;--dynapt-text-secondary:#605e5c;--dynapt-text-tertiary:#8a8886;--dynapt-hover:#f8f9fa;--dynapt-selected:#f3f9fd;--dynapt-shadow:rgba(0,0,0,.08);--dynapt-shadow-hover:rgba(0,0,0,.12);--dynapt-shadow-elevated:rgba(0,0,0,.15)}.dark-theme{--dynapt-primary:#60cdff;--dynapt-secondary:#e1dfdd;--dynapt-accent:#00bcf2;--dynapt-success:#4caf50;--dynapt-warning:#ffb74d;--dynapt-danger:#f44336;--dynapt-background:#1e1e1e;--dynapt-surface:#2d2d2d;--dynapt-border:#3d3d3d;--dynapt-text-primary:#e1dfdd;--dynapt-text-secondary:#c8c6c4;--dynapt-text-tertiary:#a19f9d;--dynapt-hover:#3d3d3d;--dynapt-selected:#1a3a5c;--dynapt-shadow:rgba(0,0,0,.3);--dynapt-shadow-hover:rgba(0,0,0,.4);--dynapt-shadow-elevated:rgba(0,0,0,.5)}.app-container{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header{height:60px;background:var(--dynapt-surface);border-bottom:1px solid var(--dynapt-border);display:flex;align-items:center;padding:0 20px;z-index:100}.app-content{flex:1 1;display:flex;overflow:hidden}.app-sidebar{width:280px;background:var(--dynapt-surface);border-right:1px solid var(--dynapt-border);overflow-y:auto}.app-main{flex:1 1;padding:20px;overflow-y:auto;background:var(--dynapt-background)}.card{background:var(--dynapt-surface);border:1px solid var(--dynapt-border);border-radius:4px;padding:20px;margin-bottom:20px;box-shadow:0 1px 2px var(--dynapt-shadow);transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--dynapt-border)}.card-title{font-size:16px;font-weight:600;color:var(--dynapt-text-primary);margin:0}.grid-2{grid-template-columns:1fr 1fr;grid-gap:20px}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.status-indicator{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-success{background:#dff6dd;color:var(--dynapt-success)}.status-warning{background:#fff4ce;color:#8a6f00}.status-danger{background:#fde7e9;color:var(--dynapt-danger)}.status-info{background:#cff4fc;color:#055160}.progress-bar{width:100%;height:8px;background:#e1dfdd;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--dynapt-primary);transition:width .3s ease}.assessment-module{background:var(--dynapt-surface);border:2px solid var(--dynapt-border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:120px}.assessment-module:hover{border-color:var(--dynapt-primary);transform:translateY(-2px);box-shadow:0 4px 8px var(--dynapt-shadow-hover)}.assessment-module.selected{border-color:var(--dynapt-primary);background:var(--dynapt-selected)}.assessment-module-icon{font-size:32px;margin-bottom:8px}.assessment-module-title{font-size:14px;font-weight:600;color:var(--dynapt-text-primary);margin-bottom:4px}.assessment-module-description{font-size:12px;color:var(--dynapt-text-secondary);line-height:1.3}.logo{height:32px;width:auto}.customer-logo{height:24px;width:auto;border-radius:4px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.p-0{padding:0}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.flex{display:flex}.flex-column{flex-direction:column}.align-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.full-width{width:100%}.full-height{height:100%}.page-container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.page-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--dynapt-border)}.cursor-pointer{cursor:pointer}.cursor-pointer:hover{background-color:var(--dynapt-hover);transition:background-color .2s ease}.grid-5{grid-template-columns:repeat(5,1fr);grid-gap:20px}.grid-5,.grid-6{display:grid;gap:20px}.grid-6{grid-template-columns:repeat(6,1fr);grid-gap:20px}@media (max-width:768px){.grid-2,.grid-3,.grid-4,.grid-5,.grid-6{grid-template-columns:1fr}.app-sidebar{width:240px}.app-main{padding:16px}}@media (max-width:1024px){.grid-3,.grid-4,.grid-5,.grid-6{grid-template-columns:repeat(2,1fr)}}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-row>*{flex:1 1}.table-container{overflow-x:auto;border:1px solid var(--dynapt-border);border-radius:4px}.loading-container{display:flex;align-items:center;justify-content:center;padding:40px;flex-direction:column;gap:16px}.empty-state{text-align:center;padding:60px 20px;color:var(--dynapt-text-secondary)}.empty-state-icon{font-size:48px;color:var(--dynapt-text-tertiary);margin-bottom:16px}.notification-success{background-color:#dff6dd;border:1px solid #c3f0ca;color:var(--dynapt-success);padding:12px 16px;border-radius:4px;margin-bottom:16px}.notification-error{background-color:#fde7e9;border:1px solid #f1aeb5;color:var(--dynapt-danger);padding:12px 16px;border-radius:4px;margin-bottom:16px}.notification-warning{background-color:#fff4ce;border:1px solid #ffdf6b;color:#8a6f00;padding:12px 16px;border-radius:4px;margin-bottom:16px}.notification-info{background-color:#cff4fc;border:1px solid #9eeaf9;color:#055160;padding:12px 16px;border-radius:4px;margin-bottom:16px}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--dynapt-shadow-elevated)}.focus-visible{outline:2px solid var(--dynapt-primary);outline-offset:2px}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#c8c6c4 #f1f1f1}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--dynapt-hover);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--dynapt-text-tertiary);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--dynapt-text-secondary)}.fade-in{animation:fadeIn .3s ease-in}.slide-in-right{animation:slideInRight .3s ease-out}.slide-in-left{animation:slideInLeft .3s ease-out}.scale-in{animation:scaleIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.primary-tabs{margin-bottom:24px}.primary-tabs button[role=tab]{min-width:180px;padding:12px 20px;font-weight:500;transition:all .2s ease}.primary-tabs button[role=tab]:hover{background-color:#f3f9fd}.report-template-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.report-template-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px rgba(0,0,0,.12);border-color:var(--dynapt-primary)}.comparison-grid{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:24px;gap:24px;align-items:center}.comparison-divider{width:2px;height:100%;background:linear-gradient(to bottom,transparent,var(--dynapt-border) 20%,var(--dynapt-border) 80%,transparent)}@media (max-width:1024px){.comparison-grid{grid-template-columns:1fr;gap:16px}.comparison-divider{width:100%;height:2px;background:linear-gradient(to right,transparent,var(--dynapt-border) 20%,var(--dynapt-border) 80%,transparent)}}.filter-panel{background:#fafafa;border:1px solid var(--dynapt-border);border-radius:6px;padding:16px;margin-bottom:20px}.filter-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.bulk-operation-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:#fff8e1;border:2px solid #ffd54f;border-radius:6px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,.1);animation:slideInDown .3s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.assessment-history-row{transition:background-color .2s ease}.assessment-history-row:hover{background-color:#f8f9fa}.assessment-history-row.selected{background-color:#f3f9fd;border-left:3px solid var(--dynapt-primary)}.assessment-history-row.current{background-color:#fff9c4;font-weight:600}.score-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:16px;font-weight:600;font-size:14px}.score-badge.excellent{background-color:#dff6dd;color:var(--dynapt-success);border:1px solid #c3f0ca}.score-badge.good{background-color:#fff4ce;color:#8a6f00;border:1px solid #ffdf6b}.score-badge.needs-improvement{background-color:#fde7e9;color:var(--dynapt-danger);border:1px solid #f1aeb5}.trend-chart-container{min-height:400px;padding:20px;background:var(--dynapt-surface);border-radius:8px;border:1px solid var(--dynapt-border)}.export-preview-container{background:#f8f9fa;border:2px dashed var(--dynapt-border);border-radius:8px;padding:24px;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.email-preview{background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px;border-radius:8px;box-shadow:inset 0 0 40px rgba(0,0,0,.1)}.email-preview-inner{background:#fff;border-radius:8px;padding:32px;max-width:600px;margin:0 auto;box-shadow:0 8px 24px rgba(0,0,0,.2)}.progress-step{position:relative;padding:16px;border-left:3px solid var(--dynapt-border);margin-left:12px}.progress-step.completed{border-color:var(--dynapt-success)}.progress-step.active{border-color:var(--dynapt-primary);background-color:#f3f9fd}.progress-step:before{content:"";position:absolute;left:-8px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--dynapt-border);border:2px solid #fff}.progress-step.completed:before{background:var(--dynapt-success)}.progress-step.active:before{background:var(--dynapt-primary);box-shadow:0 0 0 4px rgba(0,120,212,.2);animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px rgba(0,120,212,.2)}50%{box-shadow:0 0 0 8px rgba(0,120,212,.1)}}.responsive-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--dynapt-border);border-radius:4px;margin-bottom:20px}@media (max-width:768px){.responsive-table-wrapper table{min-width:600px}.primary-tabs button[role=tab]{min-width:auto;padding:10px 12px;font-size:13px}.filter-panel-grid{grid-template-columns:1fr}.bulk-operation-toolbar{flex-direction:column;align-items:stretch;gap:12px}.bulk-operation-toolbar>div{width:100%;display:flex;flex-wrap:wrap;gap:8px}.email-preview{padding:20px 10px}.email-preview-inner{padding:16px}.report-template-card{min-width:100%}}@media print{.app-header,.app-sidebar,.bulk-operation-toolbar,.filter-panel,.primary-tabs,button{display:none!important}.app-main{padding:0}.card{page-break-inside:avoid;box-shadow:none;border:1px solid #ddd}body{background:#fff}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--dynapt-primary);outline-offset:2px;border-radius:2px}@media (prefers-contrast:high){.card{border-width:2px}.primary-tabs button[role=tab]{border:2px solid}.score-badge{border-width:2px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hover-lift:hover,.report-template-card:hover{transform:none}}.dark-theme{--dynapt-text-primary:#fff;--dynapt-text-secondary:#e1dfdd;--dynapt-text-tertiary:#c8c6c4}.dark-theme .assessment-module:hover{background:var(--dynapt-hover)}.dark-theme .assessment-history-row:hover,.dark-theme .primary-tabs button[role=tab]:hover{background-color:var(--dynapt-hover)}.dark-theme .assessment-history-row.selected{background-color:var(--dynapt-selected)}.dark-theme .assessment-history-row.current{background-color:rgba(255,193,7,.1);border-left:3px solid var(--dynapt-warning)}.dark-theme .filter-panel{background:var(--dynapt-hover)}.dark-theme .bulk-operation-toolbar{background:rgba(255,193,7,.1);border-color:var(--dynapt-warning)}.dark-theme .export-preview-container{background:var(--dynapt-hover)}.dark-theme .progress-step.active{background-color:var(--dynapt-selected)}.dark-theme select{background-color:var(--dynapt-surface);color:var(--dynapt-text-primary);border-color:var(--dynapt-border)}.dark-theme select:focus{border-color:var(--dynapt-primary);outline:none}.dark-theme .notification-success{background-color:rgba(76,175,80,.1);border-color:var(--dynapt-success);color:var(--dynapt-success)}.dark-theme .notification-error{background-color:rgba(244,67,54,.1);border-color:var(--dynapt-danger);color:var(--dynapt-danger)}.dark-theme .notification-warning{background-color:rgba(255,183,77,.1);border-color:var(--dynapt-warning);color:var(--dynapt-warning)}.dark-theme .notification-info{background-color:rgba(0,188,242,.1);border-color:var(--dynapt-accent);color:var(--dynapt-accent)}