.app{max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app-header{background:#fff;padding:30px;border-radius:15px;box-shadow:0 8px 32px #0000001a;margin-bottom:30px;text-align:center}.app-header h1{margin:0 0 20px;color:#333;font-size:2.5em;font-weight:700}.progress-section{max-width:500px;margin:0 auto}.progress-bar{width:100%;height:20px;background:#f0f0f0;border-radius:10px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#45a049);transition:width .3s ease;border-radius:10px}.progress-text{font-size:1.1em;color:#666;font-weight:500}.main-content{background:#fff;padding:30px;border-radius:15px;box-shadow:0 8px 32px #0000001a}.search-box{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:10px;border:2px solid #e9ecef}.search-box input{width:100%;padding:12px 16px;border:2px solid #dee2e6;border-radius:8px;font-size:16px;margin-bottom:10px;transition:border-color .3s ease}.search-box input:focus{outline:none;border-color:#667eea}.search-results{color:#666;font-size:14px}.technologies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:25px}.technology-card{background:#fff;border:2px solid #f0f0f0;border-radius:12px;padding:25px;transition:all .3s ease;box-shadow:0 4px 6px #0000000d}.technology-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a;border-color:#667eea}.tech-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.tech-header h3{margin:0 15px 0 0;color:#333;font-size:1.4em;font-weight:600;flex:1}.status-button{padding:8px 16px;border:none;border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;font-size:14px}.status-not-started{background:#ffebee;color:#c62828}.status-in-progress{background:#fff3e0;color:#ef6c00}.status-completed{background:#e8f5e8;color:#2e7d32}.status-button:hover{transform:scale(1.05)}.tech-description{color:#666;line-height:1.5;margin-bottom:15px}.notes-section{margin-top:20px;padding:15px;background:#f9f9f9;border-radius:8px;border-left:4px solid #667eea}.notes-section h4{margin:0 0 10px;color:#333;font-size:1.1em}.notes-section textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;resize:vertical;font-family:inherit;font-size:14px;transition:border-color .3s ease}.notes-section textarea:focus{outline:none;border-color:#667eea}.notes-hint{font-size:.8em;color:#666;margin-top:8px;font-style:italic}.no-results{text-align:center;padding:40px;color:#666}.no-results p{font-size:1.2em;margin:0}@media(max-width:768px){.app{padding:10px}.app-header h1{font-size:2em}.technologies-grid{grid-template-columns:1fr}.tech-header{flex-direction:column}.tech-header h3{margin-right:0;margin-bottom:10px}.status-button{align-self:flex-start}}.search-box{margin:15px 0;padding:15px;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a}.search-box input{width:100%;padding:10px 12px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;margin-bottom:8px;transition:border-color .3s ease}.search-box input:focus{outline:none;border-color:#4a90e2}.search-results{color:#666;font-size:13px;font-weight:500}.notes-section{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #4a90e2}.notes-section h4{margin:0 0 10px;color:#333;font-size:14px;font-weight:600}.notes-section textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;resize:vertical;font-family:inherit;font-size:13px;transition:border-color .3s ease}.notes-section textarea:focus{outline:none;border-color:#4a90e2}.notes-hint{font-size:12px;color:#666;margin-top:6px;font-style:italic}.technology-item{margin-bottom:20px}.technology-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:15px;box-shadow:0 2px 8px #0000001a;border-left:4px solid #ddd;transition:all .3s ease;cursor:pointer}.technology-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.technology-card h3{color:#2c3e50;font-size:1.3em;font-weight:600;margin:0 0 10px;line-height:1.3}.technology-card .tech-description{color:#5a6c7d;font-size:.95em;line-height:1.5;margin:0 0 15px;opacity:1}.status-button{padding:8px 16px;border:none;border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;font-size:14px;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}.status-not-started{background:#ff6b6b}.status-in-progress{background:#ffa726}.status-completed{background:#4caf50}.detailed-statistics h3{color:#2c3e50;font-weight:600}.stat-item .stat-value{color:#2c3e50;font-weight:700}.stat-item .stat-label{color:#5a6c7d;font-weight:500}.search-box input{color:#2c3e50;font-weight:500}.search-box input::placeholder{color:#8a9ba8;opacity:.8}.search-results,.filter-buttons button{color:#5a6c7d;font-weight:500}.filter-buttons button.active{color:#fff;font-weight:600}.notes-section h4{color:#2c3e50;font-weight:600}.notes-section textarea{color:#2c3e50;font-weight:500}.notes-hint{color:#5a6c7d;font-weight:500}.main-container{max-width:1200px;margin:0 auto;padding:0 20px 40px}.page{background:#fff;border-radius:16px;padding:30px;box-shadow:0 8px 32px #0000001a;margin-top:20px}.fade-enter{opacity:0;transform:translateY(20px)}.fade-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#667eea}.page-loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:20px}.api-integration-section{background:#fff;border-radius:12px;padding:25px;margin:20px 0;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0}.api-integration-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.api-integration-section h2{margin:0;color:#2c3e50;font-size:1.5em;display:flex;align-items:center;gap:10px}.toggle-api-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.toggle-api-btn:hover{background:#5a6fd8;transform:translateY(-2px)}.toggle-api-btn.active{background:#4a5fc1}.api-stats{margin-top:15px;padding:10px 15px;background:#e8f4f8;border-radius:8px;border-left:4px solid #3498db}.api-stats-badge{color:#2c3e50;font-weight:600;display:flex;align-items:center;gap:8px}.search-section{background:#fff;border-radius:12px;padding:25px;margin:20px 0;box-shadow:0 4px 15px #0000001a}.search-section h3{margin:0 0 20px;color:#2c3e50;font-size:1.3em;display:flex;align-items:center;gap:10px}.api-search-results{background:#f8f9fa;border-radius:12px;padding:20px;margin:20px 0;border:2px dashed #dee2e6}.api-search-results h3{margin:0 0 15px;color:#495057;font-size:1.2em}.api-result .technology-card{background:linear-gradient(135deg,#f8fff8,#f0f8ff);border:1px dashed #a5d8ff}.api-result .technology-card:hover{background:linear-gradient(135deg,#f0fff0,#e8f4ff)}.api-source-info{display:flex;align-items:center;gap:15px;margin-top:10px;padding:10px;background:#f0f8ff;border-radius:8px}.api-badge{padding:4px 8px;background:#3498db;color:#fff;border-radius:4px;font-size:.8em;font-weight:600}.add-from-api-btn{padding:6px 12px;background:#2ecc71;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9em;transition:background .3s ease}.add-from-api-btn:hover{background:#27ae60}.technology-card.from-api .card-header .title-wrapper{display:flex;align-items:center;gap:8px}.api-indicator{font-size:1.2em;opacity:.7}.api-hint{font-size:.85em;color:#6c757d;font-style:italic;margin-left:10px}@media(max-width:768px){.api-integration-section .section-header{flex-direction:column;gap:15px;align-items:flex-start}.toggle-api-btn{width:100%}.api-source-info{flex-direction:column;align-items:flex-start;gap:10px}.add-from-api-btn{width:100%}}.optional-features{background:#fff;border-radius:12px;padding:25px;margin:20px 0;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0}.feature-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.feature-toggle h3{margin:0;color:#2c3e50;font-size:1.3em}.toggle-buttons{display:flex;gap:10px;flex-wrap:wrap}.toggle-btn{padding:10px 15px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:8px}.toggle-btn:hover{background:#e9ecef;border-color:#667eea}.toggle-btn.active{background:#667eea;color:#fff;border-color:#667eea}.debounce-search-section{margin-bottom:20px}.debounce-search-section h4{margin:0 0 15px;color:#34495e;font-size:1.1em}.search-status{display:flex;align-items:center;gap:10px;margin-top:10px;color:#667eea;font-size:.9em}.searching-indicator{width:16px;height:16px;border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.search-results-info{margin-top:10px;padding:8px 12px;background:#f8f9fa;border-radius:6px;color:#495057;font-size:.9em}.api-results{color:#667eea;font-weight:600}.api-search-preview{margin-top:20px;padding:15px;background:#f0f8ff;border-radius:8px;border:1px solid #cce7ff}.api-search-preview h5{margin:0 0 10px;color:#2c3e50;font-size:1em}.preview-items{display:flex;flex-direction:column;gap:8px}.preview-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #dee2e6}.api-badge{padding:2px 6px;background:#3498db;color:#fff;border-radius:4px;font-size:.75em;font-weight:600}.add-preview-btn{margin-left:auto;padding:4px 8px;background:#2ecc71;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;transition:background .3s ease}.add-preview-btn:hover{background:#27ae60}.more-results{font-size:.85em;color:#6c757d;font-style:italic;text-align:center;padding:5px}.api-stats-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 20px;border-radius:8px;margin:15px 0;text-align:center;font-weight:500;box-shadow:0 4px 12px #667eea4d}.api-stats-banner strong{font-weight:700;font-size:1.2em}@media(max-width:768px){.feature-toggle{flex-direction:column;align-items:flex-start}.toggle-buttons{width:100%;flex-direction:column}.toggle-btn{width:100%;justify-content:center}.preview-item{flex-direction:column;align-items:flex-start;gap:5px}.add-preview-btn{margin-left:0;width:100%}}.progress-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:16px;box-shadow:0 8px 32px #667eea4d;margin-bottom:20px}.header-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:20px}.progress-header h1{margin:0;font-size:1.8em;font-weight:800;color:gold;text-shadow:0 2px 4px rgba(0,0,0,.4),0 0 20px rgba(255,215,0,.3);background:linear-gradient(45deg,gold,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-overview{display:flex;align-items:center;gap:25px;flex:1;max-width:500px}.progress-text{display:flex;flex-direction:column;align-items:flex-start;min-width:180px}.progress-percent{font-size:2.2em;font-weight:800;line-height:1;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4)}.progress-details{font-size:.95em;color:#fffffff2;font-weight:500;margin-top:5px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.progress-bar-container{flex:1;min-width:200px}.progress-bar{width:100%;height:20px;background:#fff3;border-radius:12px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a,0 2px 8px #0000001a;position:relative;border:2px solid rgba(255,255,255,.3)}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#45a049,#2e7d32);border-radius:10px;transition:width .5s ease-in-out;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #ffffff4d,0 2px 8px #4caf504d}.progress-fill:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.stats-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;background:#ffffff1a;padding:20px;border-radius:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.15)}.stat-item{text-align:center;padding:20px 15px;border-radius:12px;background:#ffffff14;transition:all .4s ease;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden;cursor:pointer}.stat-item:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:all .4s ease}.stat-item:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.stat-item:hover{transform:translateY(-5px) scale(1.02);background:#ffffff26;box-shadow:0 8px 25px #00000026,0 0 0 2px #ffffff4d}.stat-item:hover:after{left:100%}.stat-item:hover:before{height:6px}.stat-item.total{background:#667eea26;border:1px solid rgba(102,126,234,.4)}.stat-item.total:before{background:linear-gradient(90deg,#667eea,#764ba2)}.stat-item.total:hover{background:#667eea40;box-shadow:0 8px 25px #667eea33,0 0 0 2px #667eea80}.stat-item.completed{background:#4caf5026;border:1px solid rgba(76,175,80,.4)}.stat-item.completed:before{background:linear-gradient(90deg,#4caf50,#2e7d32)}.stat-item.completed:hover{background:#4caf5040;box-shadow:0 8px 25px #4caf5033,0 0 0 2px #4caf5080}.stat-item.in-progress{background:#ffa72626;border:1px solid rgba(255,167,38,.4)}.stat-item.in-progress:before{background:linear-gradient(90deg,#ffa726,#f57c00)}.stat-item.in-progress:hover{background:#ffa72640;box-shadow:0 8px 25px #ffa72633,0 0 0 2px #ffa72680}.stat-item.not-started{background:#f4433626;border:1px solid rgba(244,67,54,.4)}.stat-item.not-started:before{background:linear-gradient(90deg,#f44336,#b71c1c)}.stat-item.not-started:hover{background:#f4433640;box-shadow:0 8px 25px #f4433633,0 0 0 2px #f4433680}.stat-number{font-size:2.2em;font-weight:800;margin-bottom:8px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4);position:relative;z-index:2}.stat-label{font-size:.9em;color:#fffffff2;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3);position:relative;z-index:2}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stat-item{animation:fadeInUp .6s ease-out}.stat-item:nth-child(1){animation-delay:.1s}.stat-item:nth-child(2){animation-delay:.2s}.stat-item:nth-child(3){animation-delay:.3s}.stat-item:nth-child(4){animation-delay:.4s}@media(max-width:768px){.progress-header{padding:20px}.header-main{flex-direction:column;align-items:stretch;text-align:center}.progress-header h1{font-size:1.5em}.progress-overview{flex-direction:column;gap:15px;align-items:center}.progress-text{align-items:center}.progress-bar-container{width:100%}.stats-overview{grid-template-columns:repeat(2,1fr);gap:10px;padding:15px}.stat-item{padding:15px 10px}.stat-number{font-size:1.8em}}@media(max-width:480px){.progress-header{padding:15px}.stats-overview{grid-template-columns:1fr;gap:8px}.stat-item{padding:12px 8px}.progress-percent{font-size:1.8em}.progress-bar{height:16px}}.technology-card{border-radius:12px;padding:0;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;cursor:pointer}.technology-card:hover{transform:translateY(-3px);box-shadow:0 4px 15px #00000026}.technology-card:active{transform:translateY(-1px)}.technology-card.selected{box-shadow:0 0 0 3px #667eea,0 4px 15px #0003;transform:scale(1.02);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 3px #667eea,0 4px 15px #0003}50%{box-shadow:0 0 0 6px #667eea4d,0 4px 15px #0003}to{box-shadow:0 0 0 3px #667eea,0 4px 15px #0003}}.technology-card{transition:all .5s ease}.card-content{padding:25px;transition:all .3s ease}.technology-card.completed{border-left:6px solid #4caf50;background:linear-gradient(135deg,#f8fff8,#e8f5e9)}.technology-card.in-progress{border-left:6px solid #ff9800;background:linear-gradient(135deg,#fffaf0,#fff3e0)}.technology-card.not-started{border-left:6px solid #f44336;background:linear-gradient(135deg,#fff5f5,#ffebee)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.card-title{margin:0;color:#2c3e50;font-size:1.4em;font-weight:600;flex:1}.status-badge{padding:6px 12px;border-radius:20px;font-size:.85em;font-weight:600;margin-left:15px;white-space:nowrap}.status-badge.completed{background-color:#4caf50;color:#fff}.status-badge.in-progress{background-color:#ff9800;color:#fff}.status-badge.not-started{background-color:#f44336;color:#fff}.card-description{color:#555;line-height:1.6;margin-bottom:15px;font-size:1.1em}.card-progress{border-top:1px solid rgba(0,0,0,.1);padding-top:15px}.progress-text{font-size:.9em;color:#666;font-weight:500}@media(max-width:768px){.card-header{flex-direction:column;align-items:flex-start}.status-badge{margin-left:0;margin-top:10px}.card-title{font-size:1.2em}}.modal-background{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-window{background:#fff;border-radius:12px;padding:0;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.4rem;color:#333;font-weight:600}.close-button{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:5px 10px;border-radius:4px;transition:all .2s ease}.close-button:hover{color:#333;background:#f5f5f5}.modal-content{padding:24px}.quick-actions{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:20px 0}.quick-actions h3{margin:0 0 15px;color:#333;font-size:1.2em;text-align:center}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;justify-items:center}.action-btn{width:120px;height:120px;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:15px;box-shadow:0 4px 12px #667eea4d}.action-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea66}.action-btn:active{transform:translateY(-1px)}.action-btn.complete-all{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 12px #4caf504d}.action-btn.complete-all:hover{box-shadow:0 6px 20px #4caf5066}.action-btn.reset-all{background:linear-gradient(135deg,#ff6b6b,#ee5a52);box-shadow:0 4px 12px #ff6b6b4d}.action-btn.reset-all:hover{box-shadow:0 6px 20px #ff6b6b66}.action-btn.random-select{background:linear-gradient(135deg,#ffa726,#fb8c00);box-shadow:0 4px 12px #ffa7264d}.action-btn.random-select:hover{box-shadow:0 6px 20px #ffa72666}.btn-icon{font-size:2em;margin-bottom:5px}.btn-text{font-size:.85em;font-weight:600;text-align:center;line-height:1.2}@media(max-width:768px){.actions-grid{grid-template-columns:repeat(3,1fr);gap:10px}.action-btn{width:100px;height:100px;padding:12px}.btn-icon{font-size:1.7em}.btn-text{font-size:.8em}}@media(max-width:480px){.actions-grid{grid-template-columns:1fr;gap:12px}.action-btn{width:100%;height:80px;flex-direction:row;justify-content:flex-start;padding:15px 20px;gap:15px}.btn-icon{margin-bottom:0;font-size:1.5em}.btn-text{font-size:.9em;text-align:left}}.action-btn.export-data{background:linear-gradient(135deg,#9c27b0,#7b1fa2);box-shadow:0 4px 12px #9c27b04d}.action-btn.export-data:hover{box-shadow:0 6px 20px #9c27b066}.export-success{text-align:center}.success-icon{font-size:3em;margin-bottom:15px}.export-success h3{color:#4caf50;margin-bottom:15px}.export-stats{background:#f8f9fa;padding:15px;border-radius:8px;margin:15px 0;text-align:left}.export-stats p{margin:8px 0;color:#555}.close-modal-btn{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1em;transition:background .3s ease}.close-modal-btn:hover{background:#5a6fd8}.filter-buttons{background:#fff;border-radius:12px;padding:20px;margin:20px 0;box-shadow:0 2px 10px #0000001a}.filter-buttons h3{margin:0 0 15px;color:#333;text-align:center}.filter-options{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.filter-btn{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:8px}.filter-btn:hover{border-color:#667eea;transform:translateY(-1px)}.filter-btn.active{background:#667eea;color:#fff;border-color:#667eea}.filter-emoji{font-size:16px}@media(max-width:768px){.filter-options{flex-direction:column}.filter-btn{width:100%;justify-content:center}}.detailed-statistics{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:20px 0}.detailed-statistics h3{margin:0 0 20px;color:#333;font-size:1.3em;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin-bottom:25px}.stat-item{text-align:center;padding:15px 10px;border-radius:8px;background:#f8f9fa;transition:transform .2s ease}.stat-item:hover{transform:translateY(-2px)}.stat-item.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-item.not-started{border-left:4px solid #ff6b6b}.stat-item.in-progress{border-left:4px solid #4ecdc4}.stat-item.completed{border-left:4px solid #45b7d1}.stat-value{font-size:2em;font-weight:700;margin-bottom:5px}.stat-label{font-size:.9em;opacity:.8;margin-bottom:5px}.stat-percentage{font-size:.8em;font-weight:600;opacity:.9}.progress-summary{background:#f8f9fa;padding:15px;border-radius:8px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600}.progress-percent{color:#45b7d1;font-weight:700}.progress-bar-detailed{height:20px;background:#e9ecef;border-radius:10px;overflow:hidden;display:flex;margin-bottom:15px}.progress-fill{height:100%;transition:width .3s ease}.not-started-fill{background:#ff6b6b}.in-progress-fill{background:#4ecdc4}.completed-fill{background:#45b7d1}.progress-legend{display:flex;justify-content:space-around;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.85em}.legend-color{width:12px;height:12px;border-radius:50%}.not-started-color{background:#ff6b6b}.in-progress-color{background:#4ecdc4}.completed-color{background:#45b7d1}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.progress-legend{flex-direction:column;align-items:flex-start}}.api-technologies-loader{background:#fff;border-radius:12px;padding:25px;margin:20px 0;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0}.api-technologies-loader h3{margin:0 0 20px;color:#2c3e50;font-size:1.4em;display:flex;align-items:center;gap:10px}.api-loader-content{display:flex;flex-direction:column;gap:25px}.public-apis-section h4,.custom-api-section h4{margin:0 0 15px;color:#34495e;font-size:1.1em}.api-buttons{display:flex;flex-direction:column;gap:10px}.api-button{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:15px;text-align:left;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:5px}.api-button:hover{background:#e9ecef;border-color:#667eea;transform:translateY(-2px)}.api-button:disabled{opacity:.6;cursor:not-allowed}.api-name{font-weight:600;color:#2c3e50}.api-description{font-size:.9em;color:#6c757d}.custom-api-form{display:flex;gap:10px;margin-bottom:10px}.api-url-input{flex:1;padding:12px 15px;border:2px solid #dee2e6;border-radius:8px;font-size:14px;transition:border-color .3s ease}.api-url-input:focus{outline:none;border-color:#667eea}.load-api-button{padding:12px 25px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background .3s ease}.load-api-button:hover:not(:disabled){background:#5a6fd8}.load-api-button:disabled{background:#b0b7d3;cursor:not-allowed}.api-hint{font-size:.9em;color:#6c757d;margin:0;font-style:italic}.api-status{padding:15px;border-radius:8px;background:#f8f9fa}.loading-status{display:flex;align-items:center;gap:10px;color:#667eea}.spinner{width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.error-status{display:flex;align-items:center;gap:10px;color:#e74c3c}.error-icon{font-size:1.2em}.retry-button{margin-left:auto;padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em}.retry-button:hover{background:#c0392b}.success-status{display:flex;align-items:center;gap:10px;color:#27ae60}.success-icon{font-size:1.2em}.api-preview{border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.api-preview h5{margin:0;padding:10px 15px;background:#f8f9fa;border-bottom:1px solid #dee2e6;color:#495057;font-size:.95em}.preview-content{padding:15px;max-height:200px;overflow-y:auto;background:#fcfcfc}.preview-content pre{margin:0;font-size:.85em;color:#6c757d;font-family:Courier New,monospace;white-space:pre-wrap;word-wrap:break-word}@media(max-width:768px){.custom-api-form{flex-direction:column}.api-button{padding:12px}.api-technologies-loader{padding:20px}}.search-with-debounce{width:100%;margin-bottom:20px}.search-input-container{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:12px 45px 12px 15px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:all .3s ease;background:#fff}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input:disabled{background:#f8f9fa;cursor:not-allowed}.search-controls{position:absolute;right:10px;display:flex;align-items:center;gap:8px}.search-loading-indicator{display:flex;align-items:center}.search-spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.clear-search-button{background:none;border:none;font-size:18px;color:#6c757d;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.clear-search-button:hover{background:#f8f9fa;color:#495057}.clear-search-button:active{transform:scale(.95)}.search-stats{margin-top:8px;padding:0 5px;min-height:24px}.searching-text{color:#667eea;font-size:.9em;font-weight:500}.search-term-info{color:#6c757d;font-size:.9em}.search-term-info strong{color:#495057;font-weight:600}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.search-input{padding:10px 40px 10px 12px;font-size:14px}.clear-search-button{width:24px;height:24px;font-size:16px}.search-spinner{width:16px;height:16px}}
