.navbar{background:linear-gradient(135deg,#1f6b43,#2f8f5d);color:#fff;padding:0;box-shadow:0 12px 30px #1f6b4333;margin-bottom:30px}.navbar-container{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.navbar-brand h1{margin:0;padding:20px 0;font-size:1.8em;font-weight:700}.navbar-menu{display:flex;gap:0}.navbar-link{display:block;padding:20px 30px;color:#fff;text-decoration:none;font-weight:500;transition:all .3s;border-bottom:3px solid transparent}.navbar-link:hover{background:#ffffff1a;border-bottom-color:#ffffff4d}.navbar-link.active{background:#ffffff26;border-bottom-color:#fff;font-weight:600}@media (max-width: 768px){.navbar-container{flex-direction:column;padding:15px}.navbar-brand h1{font-size:1.5em;padding:10px 0}.navbar-menu{width:100%;justify-content:space-around}.navbar-link{padding:15px 20px;font-size:.9em}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;padding:30px;border-radius:10px;max-width:500px;width:90%;box-shadow:0 10px 30px #0000004d;animation:slideDown .3s}@keyframes slideDown{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h3{margin-top:0;margin-bottom:20px;color:#667eea;font-size:1.5em}.modal-content .form-group{margin-bottom:20px}.modal-content label{display:block;margin-bottom:8px;font-weight:600;color:#555}.modal-content input[type=text]{width:100%;padding:12px;border:2px solid #ddd;border-radius:5px;font-size:1em;transition:border-color .3s}.modal-content input[type=text]:focus{outline:none;border-color:#667eea}.modal-content textarea{width:100%;padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:1em;font-family:inherit;line-height:1.5;color:#2d3748;background-color:#fff;transition:all .2s ease;resize:vertical;min-height:80px;box-sizing:border-box}.modal-content textarea:hover{border-color:#cbd5e0}.modal-content textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background-color:#fafafa}.modal-content textarea::placeholder{color:#a0aec0;opacity:1}.modal-content textarea::-webkit-resizer{border-radius:0 0 8px}.error-message{color:#e53e3e;font-size:.9em;margin-top:5px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.btn-secondary{background:#718096;color:#fff}.btn-secondary:hover{background:#4a5568}.admin-view{max-width:1400px;margin:0 auto;padding:20px}.select-input:focus{outline:none;border-color:#667eea}.help-text{color:#666;font-size:.9em;margin-bottom:10px}.cards-list{margin-top:20px}.cards-count{margin-bottom:15px;padding:10px;background:#f7fafc;border-radius:5px;color:#555}.cards-count strong{color:#667eea;font-size:1.2em}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.card-item{background:#fff;padding:15px;border:1px solid #ddd;border-radius:5px;border-left:4px solid #667eea;box-shadow:0 2px 4px #0000001a;transition:transform .2s}.card-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.empty-state{text-align:center;padding:60px 20px;color:#999;background:#f9f9f9;border-radius:8px;border:2px dashed #ddd}.sorting-view{max-width:1400px;margin:0 auto;padding:20px}.participant-mode{padding-bottom:40px}.welcome-panel,.thanks-panel,.exercise-header,.pending-panel,.categories-panel{background:#ffffffe6;border:1px solid #dce8dc;border-radius:24px;box-shadow:0 24px 60px #1f362714}.welcome-panel,.thanks-panel{padding:40px}.welcome-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#edf7ef;color:#1f6b43;font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.welcome-panel h2,.thanks-panel h2,.exercise-header h2{margin:18px 0 14px;color:#1f3424;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08}.welcome-intro,.thanks-panel p,.exercise-header p{max-width:900px;color:#4f5f52;font-size:1.08rem;line-height:1.7}.welcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.welcome-card{padding:22px;background:#f9fcf9;border:1px solid #dce8dc;border-radius:18px}.welcome-card h3,.instructions-panel h3,.categories-panel-header h3,.pending-panel-header h3{margin:0 0 10px;color:#1f3424;font-size:1.15rem}.welcome-card p,.categories-panel-header p,.pending-panel-header p{margin:0;color:#5c6d60;line-height:1.6}.instructions-panel{padding:24px;background:#f4f8f4;border-radius:20px;border:1px solid #dce8dc}.instructions-panel ol{margin:0;padding-left:22px;color:#425244;line-height:1.8}.project-meta{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:24px 0 30px;color:#637364;font-size:.95rem}.btn-hero{min-width:220px}.exercise-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:28px;margin-bottom:24px}.exercise-actions{width:min(100%,340px);display:flex;flex-direction:column;gap:12px}.progress-card{padding:18px;background:#f4f8f4;border-radius:18px;border:1px solid #dce8dc}.progress-card strong,.progress-card span{display:block}.progress-card strong{color:#1f3424;margin-bottom:8px}.progress-card span{color:#5d6c60;line-height:1.5}.sorting-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:24px;align-items:start}.pending-panel,.categories-panel{padding:24px}.pending-panel{position:sticky;top:24px}.pending-panel.drag-over,.category-dropzone.drag-over{border-color:#2f8f5d;box-shadow:0 18px 38px #2f8f5d29;background:#f3fbf5}.pending-cards-list,.category-card-list{display:flex;flex-direction:column;gap:12px}.categories-panel-header{margin-bottom:20px}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.category-dropzone{min-height:240px;padding:18px;background:#fbfdfb;border:2px dashed #d5e1d6;border-radius:20px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.category-dropzone-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.category-dropzone-header h3{margin:0 0 6px;color:#1f3424}.category-dropzone-header span{color:#607062;font-size:.9rem}.category-count{min-width:42px;padding:8px 10px;border-radius:999px;background:#eaf5ec;color:#1f6b43;text-align:center;font-weight:700}.categorized-card-row{display:flex;gap:10px;align-items:stretch}.draggable-card{width:100%;border:1px solid #dbe6dc;border-radius:16px;background:#fff;padding:14px 16px;text-align:left;cursor:grab;box-shadow:0 10px 24px #24312712;transition:transform .2s ease,box-shadow .2s ease}.draggable-card:hover{transform:translateY(-1px);box-shadow:0 16px 28px #2431271a}.draggable-card span,.draggable-card small{display:block}.draggable-card span{color:#223126;line-height:1.45}.draggable-card small{margin-top:8px;color:#6b7a6d;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.draggable-card.categorized{flex:1}.return-card-button{flex-shrink:0;padding:0 14px;border:1px solid #d7e2d8;border-radius:14px;background:#fff;color:#566657;font-weight:600;cursor:pointer}.return-card-button:hover{background:#f5f8f5}.empty-state-small{padding:18px;border-radius:16px;background:#f7faf7;color:#748275;line-height:1.5;text-align:center}@media (max-width: 980px){.exercise-header,.sorting-layout,.welcome-grid{grid-template-columns:1fr}.exercise-header{flex-direction:column}.exercise-actions,.pending-panel{width:100%;position:static}}@media (max-width: 640px){.sorting-view{padding:14px}.welcome-panel,.thanks-panel,.exercise-header,.pending-panel,.categories-panel{padding:20px;border-radius:20px}.categorized-card-row{flex-direction:column}.return-card-button{padding:10px 14px}}.analytics-view{max-width:1400px;margin:0 auto;padding:20px}.analytics-controls{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.info-box{background:#f7fafc;padding:20px;border-radius:8px;border-left:4px solid #667eea;margin-bottom:30px}.info-box h3{color:#667eea;margin-top:0;margin-bottom:15px}.info-box ul{margin:0;padding-left:20px;color:#555}.info-box li{margin-bottom:10px;line-height:1.6}.dendrogram-container{margin-top:30px}.dendrogram-container h3{color:#667eea;margin-bottom:20px;text-align:center}.dendrogram-image-wrapper{text-align:center;background:#fff;padding:20px;border-radius:8px}.dendrogram-image-wrapper img{max-width:100%;height:auto;border:1px solid #ddd;border-radius:4px}.analytics-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0;padding-bottom:0}.tab-button{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1em;font-weight:600;color:#666;transition:all .3s;margin-bottom:-2px}.tab-button:hover:not(:disabled){color:#667eea;background:#f7fafc}.tab-button.active{color:#667eea;border-bottom-color:#667eea}.tab-button:disabled{opacity:.5;cursor:not-allowed}.matrix-container{margin-top:30px}.matrix-container h3{color:#667eea;margin-bottom:20px}.similarity-matrix-wrapper{overflow-x:auto;background:#fff;padding:20px;border-radius:8px}.similarity-matrix{width:100%;border-collapse:collapse;font-size:.85em;min-width:500px}.similarity-matrix thead{background:#f7fafc;position:sticky;top:0;z-index:10}.similarity-matrix th{padding:10px 8px;text-align:center;font-weight:600;color:#333;border:1px solid #e0e0e0;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.matrix-row-label{background:#f7fafc;font-weight:600;padding:10px 12px;text-align:left;border:1px solid #e0e0e0;position:sticky;left:0;z-index:5;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.matrix-cell{padding:8px;text-align:center;border:1px solid #e0e0e0;min-width:60px;font-size:.9em;cursor:pointer;transition:transform .2s}.matrix-cell:hover{transform:scale(1.1);z-index:1;position:relative;box-shadow:0 2px 8px #0003}.standardization-container{margin-top:30px}.standardization-container h3{color:#667eea;margin-bottom:20px}.standardization-table-wrapper{overflow-x:auto;background:#fff;padding:20px;border-radius:8px}.standardization-table{width:100%;border-collapse:collapse;font-size:.95em}.standardization-table thead{background:#f7fafc}.standardization-table th{padding:12px 15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #667eea}.standardization-table td{padding:10px 15px;border-bottom:1px solid #e0e0e0}.standardization-table tbody tr:hover{background:#f7fafc}.card-name-cell{font-weight:600;background:#f7fafc;vertical-align:top}.first-category-row{border-top:2px solid #ddd}.percentage-bar-container{position:relative;width:100%;height:24px;background:#e0e0e0;border-radius:4px;overflow:hidden}.percentage-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s}.percentage-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.85em;font-weight:600;color:#333;z-index:1}.analysis-container{margin-top:30px;padding:20px;background:#fff;border-radius:8px}.analysis-section{margin-bottom:30px}.analysis-section h4{font-size:1.2em;font-weight:600;margin-bottom:15px}.analysis-section ul{list-style-type:disc;padding-left:20px}.analysis-section li{margin-bottom:10px;line-height:1.8}.graph-container{margin-top:30px}.graph-with-legend{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.graph-wrapper{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e0e0e0}.graph-legend{flex-shrink:0;background:#f7fafc;padding:16px;border-radius:8px;border:1px solid #e0e0e0;min-width:140px}.graph-legend-title{font-size:.85em;font-weight:600;color:#333;margin-bottom:12px;line-height:1.3}.graph-legend-bar-wrap{display:flex;align-items:stretch;gap:10px}.graph-legend-bar{display:flex;flex-direction:column-reverse;gap:2px}.graph-legend-item{height:18px;width:28px;border-radius:2px}.graph-legend-scale{display:flex;flex-direction:column-reverse;align-items:flex-end;gap:2px;font-size:.8em;color:#555}.graph-legend-scale span{height:18px;line-height:18px}*{margin:0;padding:0;box-sizing:border-box}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:#f7f4ec;color:#243127}#root{min-height:100vh}.app-container{min-height:100vh;display:flex;flex-direction:column}.section{background:#fff;padding:25px;border-radius:18px;margin-bottom:20px;box-shadow:0 20px 50px #24312714;flex:1}.section h2{color:#1f6b43;margin-bottom:20px;font-size:1.8em;border-bottom:1px solid #dde7dc;padding-bottom:10px}.form-group{margin-bottom:20px}.form-group h3{color:#555;margin-bottom:15px;font-size:1.3em}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#555}.form-group input[type=text],.form-group input[type=file],.form-group select{width:100%;padding:10px;border:2px solid #ddd;border-radius:5px;font-size:1em;transition:border-color .3s}.form-group input[type=text]:focus,.form-group select:focus{outline:none;border-color:#1f6b43}.btn{padding:12px 24px;border:none;border-radius:999px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s;margin-right:10px;margin-bottom:10px}.btn-primary{background:#1f6b43;color:#fff}.btn-primary:hover{background:#175435;transform:translateY(-2px);box-shadow:0 14px 26px #1f6b433d}.btn-secondary{background:#fff;color:#1f6b43;border:1px solid #c7d7c8}.btn-secondary:hover{background:#eef5ef}.btn-success{background:#3a8f62;color:#fff}.btn-success:hover{background:#2f7851}.btn-danger{background:#f56565;color:#fff}.btn-danger:hover{background:#e53e3e}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.stats{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.stat-box{background:#f2f7f3;padding:15px;border-radius:5px;border-left:4px solid #1f6b43;flex:1;min-width:150px}.stat-box strong{display:block;font-size:1.5em;color:#1f6b43}.stat-box span{color:#666;font-size:.9em}.error{background:#fff0ef;color:#a5372a;padding:15px;border-radius:14px;margin-bottom:20px;border-left:4px solid #d85847}.success{background:#edf7ef;color:#1f5a38;padding:15px;border-radius:14px;margin-bottom:20px;border-left:4px solid #3a8f62}.empty-state{text-align:center;padding:60px 20px;color:#647267;background:#fffdf8;border-radius:18px;border:2px dashed #d6e1d6}.empty-state p{font-size:1.1em;margin:0}.select-input{width:100%;padding:12px;border:2px solid #ddd;border-radius:5px;font-size:1em;background:#fff;cursor:pointer}.select-input:focus{outline:none;border-color:#1f6b43}
