:root{font-family:Tahoma,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#004a91;text-decoration:none}a:hover{color:#cc0e70;text-decoration:underline}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}.header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e5e5;z-index:100;box-shadow:0 2px 4px #0000000d}.header-content{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:1200px;margin:0 auto}.header-left{flex:1;display:flex;align-items:center;gap:16px}.header-logo{height:40px;width:auto}.header-title{font-size:1.25rem;font-weight:600;color:#004a91;margin:0}.header-center{flex:2;display:flex;justify-content:center;padding:0 24px}.progress-container{display:flex;align-items:center;gap:12px;width:100%;max-width:300px}.progress-bar{flex:1;height:8px;background:#e5e5e5;border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease,background-color .3s ease}.progress-text{font-size:.875rem;color:#666;white-space:nowrap}.header-right{flex:1;display:flex;justify-content:flex-end}.language-selector-wrapper{display:flex;gap:8px}.language-flag-button{width:40px;height:40px;border-radius:50%;border:2px solid #e5e5e5;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.language-flag-button:hover{border-color:#cc0e70;transform:scale(1.1)}.language-flag-button.active{border-color:#cc0e70;box-shadow:0 0 0 3px #cc0e7033}.flag-icon{display:block;border-radius:2px}.language-version-container{display:flex;flex-direction:column;align-items:center;gap:4px}.version-label{font-size:.65rem;color:#aaa;font-weight:400}.session-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;background:#f8f9fa;border-top:1px solid #e5e5e5;max-width:1200px;margin:0 auto}.session-code{display:flex;align-items:center;gap:8px}.session-label{font-size:.875rem;color:#666}.session-value{font-family:monospace;font-size:.875rem;font-weight:600;color:#004a91;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #ddd}.session-button{padding:4px 12px;background:#fff;border:1px solid #ddd;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease}.session-button:hover{border-color:#004a91;color:#004a91}.session-actions{display:flex;align-items:center;gap:12px}.last-saved{font-size:.75rem;color:#28a745}.resume-button{background:#004a91;color:#fff;border-color:#004a91}.resume-button:hover{background:#003670;color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;padding:24px;min-width:400px;max-width:90%;box-shadow:0 4px 20px #00000026}.modal h2{margin:0 0 16px;color:#333}.modal-content{margin-bottom:20px}.modal-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:monospace;text-transform:uppercase;box-sizing:border-box}.modal-input:focus{outline:none;border-color:#004a91}.error-message{color:#dc3545;font-size:.875rem;margin-top:8px}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.modal-button{padding:10px 20px;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s ease}.modal-button.cancel{background:#fff;border:1px solid #ddd;color:#666}.modal-button.cancel:hover{border-color:#999}.modal-button.primary{background:#004a91;border:1px solid #004A91;color:#fff}.modal-button.primary:hover{background:#003670}@media(max-width:768px){.header-content{flex-direction:column;gap:12px;padding:12px 16px}.header-left,.header-center,.header-right{width:100%;justify-content:center}.progress-container{max-width:100%}.session-bar{flex-direction:column;gap:12px;padding:12px 16px}.session-code,.session-actions{width:100%;justify-content:center}}.storage-warning{width:100%;background:linear-gradient(135deg,#fff3cd,#ffe69c);border-bottom:2px solid #FFD93D;z-index:99}.storage-warning.expanded{padding:12px 24px}.storage-warning.collapsed{padding:0}.storage-warning-content{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;gap:12px}.storage-warning-icon{font-size:1.5rem;flex-shrink:0}.storage-warning-text{flex:1}.storage-warning-text strong{display:block;color:#856404;font-size:.95rem;margin-bottom:4px}.storage-warning-text p{margin:0;color:#664d03;font-size:.85rem;line-height:1.4}.storage-warning-dismiss{background:transparent;border:none;color:#856404;font-size:1.25rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;flex-shrink:0}.storage-warning-dismiss:hover{background:#8564041a}.storage-warning-collapsed-btn{width:100%;background:#ffe69c;border:none;padding:6px 24px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .2s ease}.storage-warning-collapsed-btn:hover{background:#ffd93d}.storage-warning-collapsed-icon{font-size:1rem}.storage-warning-collapsed-text{color:#664d03;font-size:.8rem;font-weight:500}@media(max-width:768px){.storage-warning.expanded{padding:12px 16px}.storage-warning-content{flex-wrap:wrap}.storage-warning-text{flex-basis:calc(100% - 60px)}.storage-warning-text strong{font-size:.9rem}.storage-warning-text p{font-size:.8rem}}.voice-input-button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;background:linear-gradient(135deg,#f8f8f8,#e8e8e8);border:2px solid #ddd;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0;user-select:none;-webkit-user-select:none;touch-action:none}.voice-input-button:hover:not(:disabled):not(.listening){background:linear-gradient(135deg,#fff,#f0f0f0);border-color:#cc0e70;transform:scale(1.05)}.voice-input-button:active:not(:disabled){transform:scale(.95)}.voice-input-button:disabled{opacity:.5;cursor:not-allowed}.voice-input-button.listening{background:linear-gradient(135deg,#cc0e70,#a30b5a);border-color:#cc0e70;color:#fff;transform:scale(1.1);box-shadow:0 0 0 4px #cc0e704d,0 4px 12px #cc0e7066;animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 4px #cc0e704d,0 4px 12px #cc0e7066}50%{box-shadow:0 0 0 8px #cc0e7033,0 4px 20px #cc0e7080}}.voice-button-content{display:flex;align-items:center;justify-content:center;position:relative}.mic-icon{transition:transform .2s ease}.voice-input-button.listening .mic-icon{transform:scale(.9)}.listening-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.sound-wave{display:flex;align-items:center;justify-content:center;gap:2px;height:20px}.sound-wave span{display:block;width:3px;background:#fff;border-radius:2px;animation:sound-wave .5s ease-in-out infinite}.sound-wave span:nth-child(1){animation-delay:0s;height:8px}.sound-wave span:nth-child(2){animation-delay:.1s;height:14px}.sound-wave span:nth-child(3){animation-delay:.2s;height:18px}.sound-wave span:nth-child(4){animation-delay:.1s;height:14px}.sound-wave span:nth-child(5){animation-delay:0s;height:8px}@keyframes sound-wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}.listening-label{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-size:.7rem;color:#cc0e70;font-weight:600;white-space:nowrap;background:#fff;padding:2px 8px;border-radius:10px;box-shadow:0 2px 8px #00000026;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.voice-not-supported{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#f0f0f0;border-radius:50%;opacity:.5;cursor:not-allowed;font-size:1.2rem}.voice-input-button.processing{background:linear-gradient(135deg,#004a91,#036);border-color:#004a91;color:#fff}.processing-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.voice-input-wrapper{position:relative;display:inline-flex;flex-shrink:0}.voice-input-button.has-error{border-color:#dc3545;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.voice-error-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#dc3545;color:#fff;padding:8px 12px;border-radius:6px;font-size:.75rem;white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #dc35454d;display:flex;align-items:center;gap:6px;animation:tooltip-fade-in .3s ease}.voice-error-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-width:0 6px 6px 6px;border-style:solid;border-color:transparent transparent #DC3545 transparent}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.voice-error-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:#fff;color:#dc3545;border-radius:50%;font-weight:700;font-size:.7rem}.voice-error-text{max-width:200px;white-space:normal;line-height:1.3}.employee-info .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(max-width:768px){.employee-info .form-grid{grid-template-columns:1fr}}.summary-section .textarea-with-voice{display:flex;gap:8px;align-items:flex-start}.summary-section textarea{flex:1;resize:vertical;min-height:120px}.what-axis .goals-list{display:flex;flex-direction:column;gap:16px}.goal-item{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:16px;transition:box-shadow .2s ease,transform .2s ease}.goal-item:hover{box-shadow:0 2px 8px #00000014}.goal-item.dragging{opacity:.5;transform:scale(1.02)}.goal-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e5e5e5}.drag-handle{cursor:grab;color:#999;font-size:1.25rem;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.goal-number{font-weight:600;color:#004a91}.remove-goal{margin-left:auto;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #ddd;border-radius:50%;color:#999;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.remove-goal:hover{background:#dc3545;border-color:#dc3545;color:#fff}.goal-content{display:flex;flex-direction:column;gap:12px}.goal-content .input-with-voice,.goal-content .textarea-with-voice{display:flex;gap:8px;align-items:flex-start}.goal-content .input-with-voice input,.goal-content .textarea-with-voice textarea{flex:1}.goal-content textarea{resize:vertical;min-height:80px}.goal-scoring{display:flex;gap:16px;margin-top:8px}.score-group{flex:1;max-width:250px}.weight-group{flex:0 0 120px}.weight-group input{text-align:center}.needs-input{border-color:orange!important;background-color:#fff8e6!important}.goals-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid #e5e5e5}.weight-total{display:flex;align-items:center;gap:12px}.total-label{font-weight:600;color:#333}.total-label.error{color:#dc3545}.weight-error{color:#dc3545;font-size:.875rem}.weight-valid{color:#28a745;font-weight:700}.add-goal-button{padding:10px 20px;background:#004a91;color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background .2s ease}.add-goal-button:hover{background:#003670}.max-goals{color:#666;font-size:.875rem;font-style:italic}@media(max-width:768px){.goal-scoring{flex-direction:column}.score-group,.weight-group{max-width:none;flex:1}}.how-axis .no-level-selected{padding:40px;text-align:center;background:#f8f9fa;border-radius:8px;color:#666}.level-info{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:16px;background:#f0f4f8;border-radius:8px;border-left:4px solid #004A91}.level-badge{display:flex;align-items:center;gap:8px;flex-shrink:0}.level-label{font-size:.875rem;color:#666}.level-value{font-size:1.5rem;font-weight:700;color:#004a91;background:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #004A91}.level-description{margin:0;color:#333;font-size:.875rem;line-height:1.5}.veto-warning{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:20px;color:#856404;font-size:.875rem}.warning-icon{font-size:1.25rem}.competencies-list{display:flex;flex-direction:column;gap:16px}.competency-item{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:16px}.competency-header{margin-bottom:12px}.competency-category{display:flex;align-items:center;gap:12px}.category-name{font-weight:600;color:#004a91}.subcategory-name{color:#666;font-size:.875rem}.subcategory-name:before{content:"›";margin-right:8px;color:#999}.competency-content{margin-bottom:16px}.competency-title{margin:0 0 12px;color:#333;line-height:1.5}.competency-indicators{font-size:.875rem;color:#666}.competency-indicators summary{cursor:pointer;color:#004a91;font-weight:500;padding:8px 0}.competency-indicators summary:hover{text-decoration:underline}.competency-indicators ul{margin:8px 0 0 20px;padding:0}.competency-indicators li{margin-bottom:6px;line-height:1.4}.competency-scoring{display:flex;align-items:center;gap:16px;padding-top:16px;border-top:1px solid #e5e5e5}.score-label{font-weight:500;color:#333}.score-buttons{display:flex;gap:8px}.score-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #ddd;border-radius:50%;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.score-button:hover{border-color:#004a91;color:#004a91}.score-button.selected{background:#004a91;border-color:#004a91;color:#fff}.score-button.selected.veto{background:#dc3545;border-color:#dc3545}.score-description{font-size:.875rem;color:#666;font-style:italic}@media(max-width:768px){.level-info{flex-direction:column;align-items:flex-start}.competency-scoring{flex-wrap:wrap}}.performance-grid-section .grid-container{display:flex;align-items:flex-start;gap:40px;padding:20px;background:#f8f9fa;border-radius:8px}.grid-wrapper{display:grid;grid-template-areas:". ylabel yaxis grid ." ". . . xaxis ." ". . . xlabel .";grid-template-columns:20px 20px 30px 180px 20px;grid-template-rows:180px 30px 20px;gap:4px;align-items:center;justify-items:center}.axis-label{font-weight:600;color:#004a91;font-size:.875rem}.y-axis-label{grid-area:ylabel;writing-mode:vertical-rl;transform:rotate(180deg)}.x-axis-label{grid-area:xlabel}.y-axis{grid-area:yaxis;display:flex;flex-direction:column;justify-content:space-around;height:100%;text-align:right;font-weight:500;color:#666}.x-axis{grid-area:xaxis;display:flex;justify-content:space-around;width:100%;font-weight:500;color:#666}.grid{grid-area:grid;display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px);gap:2px;background:#333;padding:2px;border-radius:4px}.grid-cell{display:flex;align-items:center;justify-content:center;position:relative}.grid-cell.position{box-shadow:inset 0 0 0 3px #fff}.position-marker{color:#fff;font-size:24px;text-shadow:0 0 4px rgba(0,0,0,.5);animation:pulse-marker 2s ease-in-out infinite}@keyframes pulse-marker{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.scores-display{display:flex;flex-direction:column;gap:16px;padding:20px;background:#fff;border-radius:8px;border:1px solid #e5e5e5;min-width:200px}.score-item{display:flex;justify-content:space-between;align-items:center}.score-name{font-weight:500;color:#666}.score-value{font-size:1.5rem;font-weight:700;color:#004a91}.position-info{padding-top:16px;border-top:1px solid #e5e5e5;color:#333;font-weight:500}.grid-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #e5e5e5}.legend-item{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#666}.legend-color{width:16px;height:16px;border-radius:2px}@media(max-width:768px){.performance-grid-section .grid-container{flex-direction:column;align-items:center}.scores-display{width:100%;max-width:300px}}.self-assessment .textarea-with-voice{display:flex;gap:8px;align-items:flex-start}.self-assessment textarea{flex:1;resize:vertical;min-height:120px}.comments .textarea-with-voice{display:flex;gap:8px;align-items:flex-start}.comments textarea{flex:1;resize:vertical;min-height:120px}.actions-section{background:#f8f9fa;border-top:1px solid #e5e5e5;margin-top:40px}.actions-container{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.action-button{padding:14px 28px;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.action-button:disabled{opacity:.6;cursor:not-allowed}.action-button.primary{background:#004a91;color:#fff;border-color:#004a91}.action-button.primary:hover:not(:disabled){background:#003670;border-color:#003670}.action-button.secondary{background:#fff;color:#004a91;border-color:#004a91}.action-button.secondary:hover:not(:disabled){background:#f0f4f8}.action-button.danger{background:#fff;color:#dc3545;border-color:#dc3545}.action-button.danger:hover:not(:disabled){background:#dc3545;color:#fff}.preview-modal{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e5e5}.preview-header h2{margin:0;color:#004a91}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1}.close-button:hover{color:#333}.preview-content{padding:24px;overflow-y:auto;flex:1}.preview-document{max-width:600px;margin:0 auto;font-family:Tahoma,sans-serif}.preview-title{color:#004a91;text-align:center;margin-bottom:8px}.preview-employee{text-align:center;margin-bottom:4px}.preview-subtitle{text-align:center;color:#666;margin-bottom:24px}.preview-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e5e5}.preview-section h3{color:#004a91;margin-bottom:12px;font-size:1.1rem}.preview-table{width:100%;border-collapse:collapse}.preview-table td{padding:8px;border-bottom:1px solid #f0f0f0}.preview-table td:first-child{font-weight:500;width:40%;color:#666}.preview-goal{margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:4px}.preview-goal p{margin:8px 0;color:#666}.preview-score{color:#cc0e70;font-style:italic}.preview-footer{text-align:center;color:#999;margin-top:24px;padding-top:16px;border-top:1px solid #e5e5e5}@media(max-width:768px){.actions-container{flex-direction:column}.action-button{width:100%}}*{box-sizing:border-box}html{font-size:16px}body{margin:0;padding:0;font-family:Tahoma,Segoe UI,sans-serif;color:#333;background:linear-gradient(135deg,#cc0e7008,#fff,#cc0e700d);background-attachment:fixed;line-height:1.5;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:0 24px 40px;width:100%}.section{background:linear-gradient(180deg,#fffffffa,#fffffff2);border-radius:12px;padding:24px;margin-top:24px;box-shadow:0 2px 8px #cc0e7014,0 1px 3px #0000000f;border:1px solid rgba(204,14,112,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section:hover{box-shadow:0 4px 12px #cc0e701f,0 2px 4px #00000014}.section-title{margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#cc0e70,#004a91) 1;color:#004a91;font-size:1.25rem;font-weight:600}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#cc0e70;box-shadow:0 0 0 3px #cc0e701a}.form-group.has-error input,.form-group.has-error textarea,.form-group.has-error select{border-color:#dc3545}.field-error{display:block;color:#dc3545;font-size:.875rem;margin-top:4px}.input-with-voice{display:flex;gap:8px;align-items:center}.input-with-voice input{flex:1}.textarea-with-voice{display:flex;gap:8px;align-items:flex-start}.textarea-with-voice textarea{flex:1}::placeholder{color:#999;opacity:1}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}button{font-family:inherit}@media(max-width:768px){html{font-size:14px}.main-content{padding:0 16px 24px}.section{padding:16px;margin-top:16px}}@media print{.header,.actions-section{display:none}.section{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}
