:root{--primary-color: #5754E4;--secondary-color: #F0EFFF;--accent-color: #8D8CFF;--dark-color: #2D2C43;--light-color: #FFFFFF;--border-color: #E2E2E2;--bg-color: #F8F9FA;--success-color: #4CAF50;--warning-color: #FF9800;--error-color: #F44336;--info-color: #2196F3;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--dark-color);line-height:1.5}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.loading{display:flex;align-items:center;justify-content:center;padding:2rem}.loading-spinner{border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top:3px solid var(--primary-color);width:30px;height:30px;animation:spin 1s linear infinite;margin-right:1rem}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:var(--radius-md);font-size:.875rem;margin-top:1rem}.icon-button{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--dark-color);border-radius:var(--radius-sm)}.icon-button:hover{background-color:var(--secondary-color)}.icon{width:1.25rem;height:1.25rem}.app-container{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-color)}.app-header{background-color:var(--light-color);color:var(--dark-color);padding:.75rem 1.5rem;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-color);z-index:1000;position:relative;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:1rem}.header-left h1{font-size:1.25rem;font-weight:600;margin:0}.header-right{display:flex;align-items:center}.settings-button{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--dark-color);border-radius:var(--radius-sm)}.settings-button:hover{background-color:var(--secondary-color)}.settings-icon{width:1.5rem;height:1.5rem}.app-main{display:flex;flex:1;overflow:hidden;min-height:0}.sources-panel,.chat-panel,.study-panel{display:flex;flex-direction:column;overflow:hidden;background-color:var(--light-color);min-height:0}.sources-panel{flex-shrink:0;border-right:1px solid var(--border-color);transition:all .3s ease;width:auto;min-width:auto}.study-panel{flex:1;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--border-color)}.chat-panel{flex-shrink:0;border-right:none;transition:all .3s ease;width:auto;min-width:auto}.sources-panel,.study-panel,.chat-panel{transition:width .3s ease,height .3s ease,transform .3s ease}@media (max-width: 1200px){.sources-panel{width:280px;min-width:260px}.chat-panel{width:300px;min-width:280px}}@media (max-width: 1024px){.sources-panel{width:260px;min-width:240px}.chat-panel{width:280px;min-width:260px}.study-panel{min-width:300px}}@media (max-width: 1400px) and (min-width: 1201px){.study-panel{min-width:450px}}@media (max-width: 1100px) and (min-width: 901px){.app-main{gap:0}.sources-panel{width:240px;min-width:220px}.chat-panel{width:260px;min-width:240px}}@media (max-width: 900px){.app-main{flex-direction:column;overflow-y:auto}.sources-panel{width:100%;max-width:100%;min-width:auto;height:auto;min-height:250px;max-height:350px;border-right:none;border-bottom:1px solid var(--border-color);flex-shrink:0;position:relative;transform:none;z-index:auto}.study-panel{flex:1;min-width:auto;min-height:400px;border-right:none;border-bottom:1px solid var(--border-color)}.chat-panel{width:100%;max-width:100%;min-width:auto;height:auto;min-height:300px;flex-shrink:0}}@media (max-width: 768px){.app-main{flex-direction:column;overflow-y:auto}.sources-panel{position:relative;width:100%;min-width:auto;max-width:none;height:auto;min-height:60px;transform:none;transition:all .3s ease;z-index:10;border-right:none;border-bottom:1px solid var(--border-color);box-shadow:none;order:-1}.study-panel{width:100%;min-width:auto;height:60vh;min-height:400px;border-right:none;border-bottom:1px solid var(--border-color)}.chat-panel{width:100%;max-width:100%;min-width:auto;height:auto;min-height:60px;flex-shrink:0}}@media (max-width: 480px){.app-header{padding:.5rem 1rem}.header-left h1{font-size:1rem}.study-panel{min-height:350px}.chat-panel{min-height:250px}}.chat-panel-container{display:flex;flex-direction:column;height:100%;overflow:hidden;transition:width .3s ease,min-width .3s ease;position:relative}.chat-panel-container.expanded{width:320px;min-width:320px;max-width:400px}.chat-panel-container.collapsed{width:60px;min-width:60px}.chat-menu-button-container{position:absolute;top:.75rem;right:.75rem;z-index:10;transition:all .3s ease}.chat-panel-container.collapsed .chat-menu-button-container{position:relative;top:.75rem;right:0;width:100%;display:flex;justify-content:center}.chat-menu-button{width:40px;height:40px;border:none;background:var(--primary-color, #5754E4);border-radius:var(--radius-md, 8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.chat-menu-button:hover{background:var(--accent-color, #8D8CFF);transform:translateY(-2px);box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}.chat-menu-button:active{transform:translateY(0);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.chat-menu-button .chat-menu-icon{width:20px!important;height:20px!important;color:var(--light-color, #FFFFFF)!important;fill:var(--light-color, #FFFFFF)!important;stroke:var(--light-color, #FFFFFF)!important}.chat-content{flex:1;display:flex;flex-direction:column;transition:opacity .3s ease,visibility .3s ease;padding-top:60px}.chat-content.visible{opacity:1;visibility:visible}.chat-content.hidden{opacity:0;visibility:hidden;height:0;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.message{display:flex;flex-direction:column;max-width:80%}.message.user{align-self:flex-end}.message.assistant,.message.system{align-self:flex-start}.message-content{padding:1rem;border-radius:var(--radius-md);font-size:.9375rem}.message.user .message-content{background-color:var(--primary-color);color:#fff;border-bottom-right-radius:0}.message.assistant .message-content{background-color:var(--secondary-color);color:var(--dark-color);border-bottom-left-radius:0}.message.system .message-content{background-color:var(--bg-color);color:var(--dark-color);border:1px solid var(--border-color)}.loading-indicator{display:flex;gap:.25rem;padding:1rem;background-color:var(--secondary-color);border-radius:var(--radius-md);border-bottom-left-radius:0}.loading-indicator span{width:.5rem;height:.5rem;border-radius:50%;background-color:var(--accent-color);animation:pulse 1.5s infinite ease-in-out}.loading-indicator span:nth-child(2){animation-delay:.2s}.loading-indicator span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:1}}.chat-input-container{display:flex;padding:1rem;border-top:1px solid var(--border-color);background-color:var(--light-color)}.chat-input-container input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;outline:none;margin-right:.75rem}.chat-input-container input:focus{border-color:var(--primary-color)}.send-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);padding:0 1.25rem;font-weight:500;cursor:pointer;transition:background-color .2s}.send-button:hover{background-color:var(--accent-color)}.send-button:disabled{background-color:var(--border-color);cursor:not-allowed}@media (min-width: 769px){.chat-panel-container.expanded{width:320px;min-width:320px;max-width:400px}}@media (max-width: 1024px) and (min-width: 769px){.chat-panel-container.expanded{width:300px;min-width:300px;max-width:350px}}@media (max-width: 768px){.chat-messages{padding:1rem;gap:1rem}.message{max-width:90%}.message-content{padding:.75rem;font-size:.875rem}.chat-input-container{padding:.75rem}.chat-input-container input{font-size:.875rem;padding:.6rem .75rem}.send-button{padding:0 1rem;font-size:.875rem}.chat-menu-button{width:44px;height:44px}.chat-menu-button .chat-menu-icon{width:22px!important;height:22px!important}.chat-panel-container.expanded{width:100%;min-width:auto;max-width:none;height:auto;max-height:40vh}}.study-panel-container{display:flex;flex-direction:column;height:100%;padding:1rem;overflow:hidden}.study-panel-header{margin-bottom:1.5rem}.study-panel-header h2{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.study-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.tab-button{background:none;border:none;cursor:pointer;padding:.5rem 1rem;font-size:.875rem;border-radius:var(--radius-sm);transition:all .2s}.tab-button:hover{background-color:var(--secondary-color)}.tab-button.active{background-color:var(--primary-color);color:#fff}.study-panel-content{flex:1;overflow-y:auto}.generate-container{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.project-info,.files-info,.document-types{background-color:var(--bg-color);border-radius:var(--radius-md);padding:1rem}.project-info h3,.files-info h3,.document-types h3{font-size:1rem;margin:0 0 .75rem;color:var(--dark-color);font-weight:600}.project-card{background-color:var(--light-color);border-radius:var(--radius-sm);padding:.75rem;border-left:3px solid var(--primary-color)}.project-card h4{margin:0 0 .25rem;font-size:.9375rem;color:var(--dark-color)}.project-card p{margin:0;font-size:.8125rem;color:#0009}.no-project-message,.no-files-message,.no-results-message{color:#00000080;font-size:.875rem;font-style:italic;text-align:center;padding:1rem}.doc-types-grid{display:flex;flex-direction:column;gap:.75rem}.doc-type-card{background-color:var(--light-color);border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:all .2s}.doc-type-card:hover{border-color:var(--primary-color)}.doc-type-label{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer}.doc-type-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary-color)}.doc-type-info h4{margin:0 0 .25rem;font-size:.875rem;color:var(--dark-color)}.doc-type-info p{margin:0;font-size:.75rem;color:#0009}.generate-actions{display:flex;justify-content:center;padding-top:1rem}.generate-button{display:flex;align-items:center;gap:.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.generate-button:hover:not(:disabled){background-color:var(--accent-color);transform:translateY(-1px)}.generate-button:disabled{background-color:var(--border-color);cursor:not-allowed;transform:none}.button-icon{width:1rem;height:1rem}.results-container{padding:1rem 0}.results-container h3{font-size:1rem;margin:0 0 1rem;color:var(--dark-color);font-weight:600}.results-content{display:flex;flex-direction:column;gap:1.5rem}.results-summary{background-color:var(--bg-color);border-radius:var(--radius-md);padding:1rem}.results-summary h4{margin:0 0 .75rem;font-size:.9375rem;color:var(--dark-color)}.results-summary p{margin:0 0 .25rem;font-size:.8125rem;color:#000000b3}.result-item{background-color:var(--light-color);border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden}.result-item h4{margin:0;padding:.75rem 1rem;background-color:var(--secondary-color);font-size:.875rem;color:var(--dark-color);border-bottom:1px solid var(--border-color)}.result-content{padding:1rem}.result-content pre{margin:0;font-family:var(--font-mono);font-size:.75rem;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;color:var(--dark-color);max-height:300px;overflow-y:auto}.config-container{padding:1rem 0}.config-container h3{font-size:1rem;margin:0 0 1rem;color:var(--dark-color);font-weight:600}.ai-info{background-color:var(--bg-color);border-radius:var(--radius-md);padding:1rem}.ai-info h4{margin:0 0 .75rem;font-size:.9375rem;color:var(--dark-color)}.ai-info p{margin:0 0 .25rem;font-size:.8125rem;color:#000000b3}@media (max-width: 768px){.study-panel-container{padding:.75rem}.study-panel-header h2{font-size:1.25rem}.study-tabs{flex-wrap:wrap;gap:.25rem}.tab-button{font-size:.8125rem;padding:.4rem .75rem}.generate-container{gap:1rem}.project-info,.files-info,.document-types{padding:.75rem}.generate-button{padding:.6rem 1.25rem;font-size:.8125rem}}.validation-message{margin:1rem 0;padding:.75rem;border-radius:var(--radius-md);background-color:var(--bg-color);border:1px solid var(--border-color);display:flex;align-items:center;gap:.5rem}.validation-text{margin:0;font-size:.875rem;line-height:1.4}.validation-text.success{color:#059669;border-color:#34d399;background-color:#ecfdf5}.validation-text.warning{color:#dc2626;border-color:#f87171;background-color:#fef2f2}.validation-spinner{animation:spin 1s linear infinite;font-size:1rem}.help-text{margin:.5rem 0 0;padding:.5rem;font-size:.8125rem;color:#0009;background-color:#f8fafc;border-radius:var(--radius-sm);border-left:3px solid var(--accent-color)}.help-text strong{color:var(--primary-color)}.generate-button:disabled{background-color:#e5e7eb;color:#9ca3af;cursor:not-allowed;border-color:#d1d5db}.generate-button:disabled:hover{background-color:#e5e7eb;transform:none;box-shadow:none}.results-panel{margin-top:1.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--light-color);overflow:hidden}.results-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-color);border-bottom:1px solid var(--border-color)}.results-header h4{margin:0;font-size:1rem;color:var(--dark-color)}.download-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:all .2s}.download-button:hover{background-color:var(--accent-color);transform:translateY(-1px)}.download-icon{width:1rem;height:1rem}.results-content{padding:1rem}.document-preview{display:flex;flex-direction:column;gap:1rem}.document-info{background-color:var(--bg-color);padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.document-info p{margin:.25rem 0;font-size:.875rem;color:var(--dark-color)}.document-info strong{color:var(--primary-color)}.document-content h5{margin:0 0 .5rem;font-size:.9375rem;color:var(--dark-color)}.content-preview{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius-sm);padding:.75rem;font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;white-space:pre-wrap;max-height:200px;overflow-y:auto;color:#374151}.results-raw{background-color:#1f2937;border-radius:var(--radius-sm);padding:1rem;overflow-x:auto}.results-raw pre{margin:0;color:#d1d5db;font-family:var(--font-mono);font-size:.8125rem;line-height:1.4}.configuration-form{background-color:var(--bg-color);border-radius:var(--radius-md);padding:1.25rem;margin:1rem 0;border:1px solid var(--border-color)}.configuration-form h4{margin:0 0 1rem;font-size:1rem;color:var(--dark-color);font-weight:600;display:flex;align-items:center;gap:.5rem}.config-group{margin-bottom:1rem}.config-label{display:block;font-size:.875rem;font-weight:500;color:var(--dark-color);margin-bottom:.5rem}.config-select{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;background-color:#fff;transition:border-color .2s}.config-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.config-checkboxes{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--dark-color);cursor:pointer;transition:color .2s}.checkbox-label:hover{color:var(--primary-color)}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary-color);cursor:pointer}.preview-sections{display:flex;flex-direction:column;gap:.75rem}.preview-section{background-color:var(--light-color);border-radius:var(--radius-sm);padding:.75rem;border-left:3px solid var(--accent-color);transition:transform .2s,box-shadow .2s}.preview-section:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.preview-section strong{display:block;font-size:.875rem;font-weight:600;color:var(--dark-color);margin-bottom:.25rem}.preview-section p{margin:0;font-size:.8125rem;color:#0009;line-height:1.4}@media (max-width: 768px){.configuration-form{padding:1rem;margin:.75rem 0}.config-checkboxes{gap:.5rem}.checkbox-label{font-size:.8125rem}.preview-sections{gap:.5rem}.preview-section{padding:.5rem}}.project-progress{background-color:var(--light-color);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.overall-progress{margin-bottom:1.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--dark-color)}.progress-percentage{font-size:1.125rem;font-weight:700;color:var(--primary-color)}.progress-bar{width:100%;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:4px;transition:width .3s ease}.progress-stats{font-size:.875rem;color:#0009;text-align:center}.stages-navigation{display:flex;flex-direction:row;gap:1rem}.stage-group{background-color:#fff;border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--border-color)}.stage-group.stage-preliminar{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#f0fdf4)}.stage-group.stage-preliminar .stage-title{color:#065f46}.stage-group.stage-preliminar .stage-progress{background-color:#10b9811a;color:#065f46}.stage-group.stage-analisis{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#f0f9ff)}.stage-group.stage-analisis .stage-title{color:#1e40af}.stage-group.stage-analisis .stage-progress{background-color:#3b82f61a;color:#1e40af}.stage-group.stage-diseno{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fefce8)}.stage-group.stage-diseno .stage-title{color:#92400e}.stage-group.stage-diseno .stage-progress{background-color:#f59e0b1a;color:#92400e}.stage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.stage-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--dark-color)}.stage-progress{font-size:.8125rem;color:var(--primary-color);font-weight:600;background-color:#3b82f61a;padding:.25rem .5rem;border-radius:var(--radius-sm)}.stage-sections{display:flex;flex-direction:column;gap:.5rem}.section-button{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#fff;cursor:pointer;transition:all .2s;text-align:left}.section-button:hover:not(.disabled){border-color:var(--primary-color);box-shadow:0 2px 4px #0000000d;transform:translateY(-1px)}.section-button.active{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a;background-color:#3b82f605}.section-button.disabled{opacity:.6;cursor:not-allowed;background-color:#f9fafb}.section-button.section-preliminar-1{border-color:#10b98166;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.section-button.section-preliminar-1:hover:not(.disabled){border-color:#10b981;box-shadow:0 2px 8px #10b98133;background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.section-button.section-preliminar-1.active{border-color:#10b981;box-shadow:0 0 0 2px #10b98140;background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.section-button.section-preliminar-2{border-color:#10b98199;background:linear-gradient(135deg,#a7f3d0,#6ee7b7)}.section-button.section-preliminar-2:hover:not(.disabled){border-color:#10b981;box-shadow:0 2px 8px #10b9814d;background:linear-gradient(135deg,#6ee7b7,#34d399)}.section-button.section-preliminar-2.active{border-color:#10b981;box-shadow:0 0 0 2px #10b98159;background:linear-gradient(135deg,#6ee7b7,#34d399)}.section-button.section-preliminar-3{border-color:#10b981b3;background:linear-gradient(135deg,#34d399,#10b981)}.section-button.section-preliminar-3:hover:not(.disabled){border-color:#059669;box-shadow:0 2px 8px #10b98159;background:linear-gradient(135deg,#10b981,#059669)}.section-button.section-preliminar-3.active{border-color:#059669;box-shadow:0 0 0 2px #10b98166;background:linear-gradient(135deg,#10b981,#059669)}.section-button.section-analisis-1{border-color:#3b82f64d;background:linear-gradient(135deg,#f0f9ff,#eff6ff)}.section-button.section-analisis-1:hover:not(.disabled){border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.section-button.section-analisis-1.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.section-button.section-analisis-2{border-color:#3b82f680;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.section-button.section-analisis-2:hover:not(.disabled){border-color:#2563eb;box-shadow:0 2px 8px #3b82f640;background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.section-button.section-analisis-2.active{border-color:#2563eb;box-shadow:0 0 0 2px #3b82f64d;background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.section-button.section-analisis-3{border-color:#3b82f6b3;background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.section-button.section-analisis-3:hover:not(.disabled){border-color:#1d4ed8;box-shadow:0 2px 8px #3b82f659;background:linear-gradient(135deg,#93c5fd,#60a5fa)}.section-button.section-analisis-3.active{border-color:#1d4ed8;box-shadow:0 0 0 2px #3b82f666;background:linear-gradient(135deg,#93c5fd,#60a5fa)}.section-button.section-diseno-1{border-color:#f59e0b4d;background:linear-gradient(135deg,#fefce8,#fffbeb)}.section-button.section-diseno-1:hover:not(.disabled){border-color:#f59e0b;box-shadow:0 2px 8px #f59e0b26;background:linear-gradient(135deg,#fef3c7,#fed7aa)}.section-button.section-diseno-1.active{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33;background:linear-gradient(135deg,#fef3c7,#fed7aa)}.section-button.section-diseno-2{border-color:#f59e0b80;background:linear-gradient(135deg,#fef3c7,#fed7aa)}.section-button.section-diseno-2:hover:not(.disabled){border-color:#d97706;box-shadow:0 2px 8px #f59e0b40;background:linear-gradient(135deg,#fed7aa,#fdba74)}.section-button.section-diseno-2.active{border-color:#d97706;box-shadow:0 0 0 2px #f59e0b4d;background:linear-gradient(135deg,#fed7aa,#fdba74)}.section-button.section-diseno-3{border-color:#f59e0bb3;background:linear-gradient(135deg,#fed7aa,#fdba74)}.section-button.section-diseno-3:hover:not(.disabled){border-color:#b45309;box-shadow:0 2px 8px #f59e0b59;background:linear-gradient(135deg,#fdba74,#fb923c)}.section-button.section-diseno-3.active{border-color:#b45309;box-shadow:0 0 0 2px #f59e0b66;background:linear-gradient(135deg,#fdba74,#fb923c)}.section-icon{position:relative;display:flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem}.section-emoji{font-size:1.25rem}.section-status{position:absolute;bottom:-2px;right:-2px;background-color:#fff;border-radius:50%;padding:2px;border:1px solid var(--border-color)}.status-icon{width:.875rem;height:.875rem}.status-icon.completed{color:var(--success-color)}.status-icon.in-progress{color:var(--warning-color)}.status-icon.error{color:var(--error-color)}.status-icon.blocked{color:var(--muted-color)}.status-dot{width:.875rem;height:.875rem;border-radius:50%}.status-dot.ready{background-color:var(--primary-color)}.status-dot.available{background-color:var(--muted-color)}.section-info{flex:1;min-width:0}.section-name{display:block;font-weight:500;color:var(--dark-color);margin-bottom:.25rem}.section-status-text{display:block;font-size:.8125rem;color:#0009}.generation-progress{position:fixed;top:1rem;right:1rem;max-width:400px;z-index:1000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.progress-container{background-color:#fff;border-radius:var(--radius-md);box-shadow:0 10px 25px #00000026;border:1px solid var(--border-color);overflow:hidden}.generation-active,.generation-success,.generation-error{padding:1.25rem}.progress-header,.success-header,.error-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.progress-icon .spinning{animation:spin 1s linear infinite;color:var(--primary-color);width:1.25rem;height:1.25rem}.success-icon{color:var(--success-color);width:1.25rem;height:1.25rem}.error-icon{color:var(--error-color);width:1.25rem;height:1.25rem}.progress-info h4,.success-info h4,.error-info h4{margin:0 0 .25rem;font-size:.9375rem;font-weight:600;color:var(--dark-color)}.progress-info p,.success-info p,.error-info p{margin:0;font-size:.8125rem;color:#0009}.progress-bar-container{margin-bottom:1rem}.progress-bar-container .progress-bar{height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.progress-fill.animated{background:linear-gradient(90deg,var(--primary-color),var(--accent-color));animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.progress-text{text-align:center;font-size:.8125rem;font-weight:500;color:var(--primary-color)}.time-info{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:#0009}.time-item{display:flex;align-items:center;gap:.25rem}.time-icon{width:.875rem;height:.875rem}.success-stats,.error-actions{display:flex;justify-content:center;align-items:center;font-size:.8125rem;color:#0009}.retry-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:var(--primary-color-dark)}.button-icon{width:.875rem;height:.875rem}.notification-system{position:fixed;top:1rem;left:1rem;z-index:1000;pointer-events:none}.notifications-container{display:flex;flex-direction:column;gap:.75rem;max-width:400px}.notification{background-color:#fff;border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;border:1px solid var(--border-color);overflow:hidden;animation:slideInLeft .3s ease-out;pointer-events:auto;position:relative}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success{border-left:4px solid var(--success-color)}.notification-error{border-left:4px solid var(--error-color)}.notification-warning{border-left:4px solid var(--warning-color)}.notification-info{border-left:4px solid var(--info-color)}.notification-content{padding:1rem}.notification-header{display:flex;align-items:flex-start;gap:.75rem}.notification-icon{width:1.125rem;height:1.125rem;margin-top:.125rem}.notification-icon.success{color:var(--success-color)}.notification-icon.error{color:var(--error-color)}.notification-icon.warning{color:var(--warning-color)}.notification-icon.info{color:var(--info-color)}.notification-text{flex:1;min-width:0}.notification-title{font-weight:600;color:var(--dark-color);margin-bottom:.25rem;font-size:.9375rem}.notification-message{font-size:.8125rem;color:#000000b3;line-height:1.4}.notification-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.notification-time{font-size:.75rem;color:#00000080}.notification-close{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:background-color .2s}.notification-close:hover{background-color:#0000000d}.close-icon{width:.875rem;height:.875rem;color:#00000080}.notification-details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color);font-size:.8125rem;color:#000000b3}.notification-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.notification-action{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#fff;cursor:pointer;font-size:.8125rem;transition:all .2s}.notification-action:hover{background-color:var(--secondary-color)}.notification-action.primary{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.notification-action.primary:hover{background-color:var(--primary-color-dark)}.notification-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background-color:#0000000d}.notification-progress-bar{height:100%;background-color:var(--primary-color);width:100%;animation:shrink linear;transform-origin:left}@keyframes shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 768px){.project-progress{padding:1rem;margin-bottom:1rem}.stage-group{padding:.75rem}.section-button{padding:.5rem;gap:.5rem}.section-icon{min-width:2rem;height:2rem}.generation-progress{top:.5rem;right:.5rem;left:.5rem;max-width:none}.notification-system{top:.5rem;left:.5rem;right:.5rem}.notifications-container{max-width:none}}.historias-usuario-content{display:flex;flex-direction:column;gap:1.5rem}.configuration-panel{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.config-toggle-button{width:100%;padding:1rem;background:var(--secondary-color);border:none;cursor:pointer;font-weight:600;color:var(--text-color);text-align:left;transition:background-color .2s}.config-toggle-button:hover{background:var(--border-color)}.config-expanded{padding:1.5rem;background:var(--surface-color)}.config-section{margin-bottom:1.5rem}.config-section:last-child{margin-bottom:0}.config-section h4{margin-bottom:.75rem;color:var(--text-color);font-size:.95rem;font-weight:600}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.config-tag{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-color);color:#fff;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.config-tag button{background:none;border:none;cursor:pointer;padding:0;color:#fff;opacity:.8;transition:opacity .2s}.config-tag button:hover{opacity:1}.tag-remove-icon{width:.875rem;height:.875rem}.add-tag-button{display:inline-flex;align-items:center;gap:.5rem;background:var(--border-color);color:var(--text-color);border:1px dashed var(--text-color);padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.875rem;cursor:pointer;transition:all .2s}.add-tag-button:hover{background:var(--secondary-color);border-color:var(--primary-color)}.checkbox-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:background-color .2s}.checkbox-item:hover{background:var(--secondary-color)}.checkbox-item input[type=checkbox]{margin:0}.no-documents{color:var(--text-muted);font-style:italic;margin:0}.detail-level-select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);color:var(--text-color);font-size:.875rem}.results-summary{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem}.results-summary h4{margin-bottom:1rem;color:var(--text-color);font-size:1rem;font-weight:600}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-item{text-align:center;padding:1rem;background:var(--secondary-color);border-radius:var(--radius-md)}.stat-number{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-color);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-muted)}.filters-section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.filters-section h4{margin-bottom:.75rem;color:var(--text-color);font-size:.95rem;font-weight:600}.filters-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.filters-container select{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);color:var(--text-color);font-size:.875rem}.historias-list h4{margin-bottom:1rem;color:var(--text-color);font-size:1rem;font-weight:600}.historia-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:1rem;overflow:hidden;transition:box-shadow .2s}.historia-card:hover{box-shadow:0 4px 12px #0000001a}.historia-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--secondary-color);border-bottom:1px solid var(--border-color)}.historia-title{display:flex;align-items:center;gap:.75rem}.historia-id{background:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.historia-title h5{margin:0;color:var(--text-color);font-size:1rem;font-weight:600}.historia-badges{display:flex;gap:.5rem;align-items:center}.priority-badge,.story-points-badge,.epica-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.epica-badge{background:var(--accent-color)}.edit-historia-button{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-muted);border-radius:var(--radius-sm);transition:all .2s}.edit-historia-button:hover{background:var(--border-color);color:var(--text-color)}.historia-content{padding:1.5rem}.historia-text{font-size:1rem;line-height:1.6;margin-bottom:1rem;padding:1rem;background:var(--secondary-color);border-radius:var(--radius-md);border-left:4px solid var(--primary-color)}.historia-text strong{color:var(--primary-color);font-weight:600}.criterios-aceptacion{margin-bottom:1rem}.criterios-aceptacion h6{margin-bottom:.5rem;color:var(--text-color);font-size:.9rem;font-weight:600}.criterios-aceptacion ul{list-style:none;padding:0;margin:0}.criterios-aceptacion>ul>li{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:.5rem}.condiciones-list{margin-top:.5rem;padding-left:1rem}.condiciones-list li{background:var(--secondary-color);padding:.375rem .75rem;margin-bottom:.25rem;border-radius:var(--radius-sm);font-size:.875rem;position:relative}.condiciones-list li:before{content:"→";color:var(--primary-color);font-weight:700;position:absolute;left:.25rem}.dependencias{margin-bottom:1rem}.dependencias h6{margin-bottom:.5rem;color:var(--text-color);font-size:.9rem;font-weight:600}.dependencias-list{display:flex;flex-wrap:wrap;gap:.5rem}.dependencia-tag{background:var(--warning-color);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.historia-notas h6{margin-bottom:.5rem;color:var(--text-color);font-size:.9rem;font-weight:600}.historia-notas p{background:var(--secondary-color);padding:.75rem;border-radius:var(--radius-md);margin:0;font-size:.875rem;line-height:1.5}.historia-edit-mode{padding:1.5rem}.edit-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.edit-title-input{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);color:var(--text-color);font-size:1rem;font-weight:600}.edit-actions{display:flex;gap:.5rem}.save-button,.cancel-button{background:none;border:1px solid;cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:all .2s}.save-button{border-color:var(--success-color);color:var(--success-color)}.save-button:hover{background:var(--success-color);color:#fff}.cancel-button{border-color:var(--error-color);color:var(--error-color)}.cancel-button:hover{background:var(--error-color);color:#fff}.edit-historia-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);color:var(--text-color);font-size:.875rem;line-height:1.5;resize:vertical;min-height:80px}.no-historias{text-align:center;padding:2rem;color:var(--text-muted)}.no-historias p{margin-bottom:.5rem}.spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.historia-header{flex-direction:column;align-items:flex-start;gap:1rem}.historia-badges{align-self:stretch;justify-content:space-between}.summary-stats,.filters-container{grid-template-columns:1fr}.tags-container{flex-direction:column;align-items:flex-start}.edit-header{flex-direction:column;align-items:stretch}.edit-actions{align-self:flex-end}}.project-stages{display:flex;flex-direction:row;justify-content:center;gap:1.5rem;margin-bottom:2rem;padding:0 1rem;flex-wrap:wrap}@media (max-width: 1400px){.project-stages{gap:1rem}}@media (max-width: 1320px){.project-stages{gap:.75rem}.stage-group{min-width:240px;max-width:320px;padding:1.25rem}}@media (max-width: 1280px){.project-stages{flex-direction:column;align-items:center;gap:1.5rem}}@media (max-width: 768px){.project-stages{padding:0 .5rem;gap:1rem}}.stage-group{background:var(--light-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);flex:1;min-width:280px;max-width:380px}@media (max-width: 1280px){.stage-group{width:100%;max-width:600px;min-width:auto}}@media (max-width: 768px){.stage-group{padding:1rem;max-width:none}}.stage-title{font-size:1.1rem;font-weight:600;color:var(--dark-color);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--secondary-color);text-align:center}.stage-tabs{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 1281px){.stage-tabs{flex-direction:column}}@media (max-width: 1280px){.stage-tabs{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.75rem}}@media (max-width: 768px){.stage-tabs{flex-direction:column;gap:.5rem}}.tab-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--light-color);color:var(--dark-color);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.tab-button:hover{border-color:var(--primary-color);background:var(--secondary-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.tab-button.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:var(--light-color);border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tab-icon{font-size:1.1rem}.tab-text{font-weight:500}.section-container{background:var(--light-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.section-header{margin-bottom:2rem;text-align:center;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.section-header h3{font-size:1.5rem;font-weight:700;color:var(--dark-color);margin:0 0 .5rem}.section-description{color:#666;font-size:.95rem;margin:0;line-height:1.4}.client-form{max-width:800px;margin:0 auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:var(--dark-color);margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.875rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-sans);transition:border-color .2s ease,box-shadow .2s ease;background:var(--light-color)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5754e41a}.form-group textarea{resize:vertical;min-height:100px}.document-upload-section{margin:1.5rem 0;padding:1.5rem;background:#f8f9ff;border:2px dashed var(--primary-color);border-radius:var(--radius-md);text-align:center}.upload-button-container{display:flex;flex-direction:column;align-items:center;gap:.75rem}.upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:background-color .2s ease,transform .2s ease;text-decoration:none}.upload-button:hover{background:var(--primary-dark);transform:translateY(-2px)}.upload-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.upload-help-text{font-size:.85rem;color:#666;font-style:italic}.upload-error{margin-top:1rem;padding:.75rem;background:#fee;color:#c53030;border:1px solid #fed7d7;border-radius:var(--radius-sm);font-size:.9rem}.upload-success{margin-top:1rem;padding:.75rem;background:#f0fff4;color:#2f855a;border:1px solid #9ae6b4;border-radius:var(--radius-sm);font-size:.9rem}.form-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color);text-align:center}.button-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.save-client-button,.update-client-button{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;min-width:200px;justify-content:center}.save-client-button{background:#10b981;color:#fff;box-shadow:0 2px 4px #10b98133}.save-client-button:hover:not(:disabled){background:#059669;transform:translateY(-2px);box-shadow:0 4px 8px #10b9814d}.update-client-button{background:var(--primary-color);color:#fff;box-shadow:0 2px 4px #5754e433}.update-client-button:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px #5754e44d}.save-client-button:disabled,.update-client-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.help-texts{text-align:left;max-width:600px;margin:0 auto}.help-text{margin:.5rem 0;font-size:.85rem;color:#666;line-height:1.4}.help-text.warning{color:#d97706;font-weight:500}.methods-grid,.objectives-grid,.components-grid,.sprint-elements{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.5rem 0}.method-card,.objective-type,.component-card,.element-card,.level-card{background:var(--secondary-color);padding:1.5rem;border-radius:var(--radius-md);border:1px solid rgba(87,84,228,.2);transition:transform .2s ease,box-shadow .2s ease}.method-card:hover,.objective-type:hover,.component-card:hover,.element-card:hover,.level-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.method-card h5,.objective-type h5,.component-card h5,.element-card h5,.level-card h5{font-size:1.1rem;font-weight:600;color:var(--primary-color);margin:0 0 .5rem}.method-card p,.objective-type p,.component-card p,.element-card p,.level-card p{margin:0;color:#666;font-size:.9rem;line-height:1.4}.informe-preview,.objectives-framework,.dfd-levels,.agile-info,.sprint-planning,.der-elements,.use-case-elements{background:var(--bg-color);padding:1.5rem;border-radius:var(--radius-md);margin:1.5rem 0;border:1px solid var(--border-color)}.informe-preview h4,.objectives-framework h4,.agile-info h4,.sprint-planning h4,.use-case-elements h4{color:var(--primary-color);font-weight:600;margin:0 0 1rem}.informe-preview ul,.der-elements ul{margin:0;padding-left:1.5rem}.informe-preview li,.der-elements li{margin-bottom:.5rem;color:#555}.scrum-elements{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.scrum-tag{background:var(--primary-color);color:var(--light-color);padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500}.element-info h5{color:var(--primary-color);font-weight:600;margin-bottom:1rem}.generate-section{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.generate-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:var(--light-color);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);text-decoration:none}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#4c49d6,#7a79ff)}.generate-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.button-icon{width:1.2rem;height:1.2rem}.results-panel{background:var(--light-color);border-radius:var(--radius-lg);padding:2rem;margin-top:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.results-panel h4{color:var(--primary-color);font-weight:600;margin:0 0 1rem;font-size:1.2rem}.results-content{background:var(--bg-color);padding:1rem;border-radius:var(--radius-md);overflow-x:auto}.results-content pre{margin:0;font-family:var(--font-mono);font-size:.85rem;color:#333;white-space:pre-wrap;word-wrap:break-word}@media (max-width: 768px){.stage-tabs{flex-direction:column}.tab-button{justify-content:center;padding:1rem}.form-row{grid-template-columns:1fr;gap:1rem}.methods-grid,.objectives-grid,.components-grid,.sprint-elements{grid-template-columns:1fr}.section-container{padding:1.5rem}.generate-button{width:100%;justify-content:center}}@media (max-width: 480px){.section-header h3{font-size:1.3rem}.stage-group,.section-container{padding:1rem}}.relevamiento-content{margin-top:1.5rem}.relevamiento-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e7ff;flex-wrap:wrap}.tab-button{padding:.75rem 1.25rem;border:none;background:transparent;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s ease;font-weight:500;display:flex;align-items:center;gap:.5rem}.tab-button:hover{color:#4f46e5;background:#f8fafc}.tab-button.active{color:#4f46e5;border-bottom-color:#4f46e5;background:#f8fafc}.tab-content{min-height:300px}.tab-panel{animation:fadeIn .3s ease}.stakeholder-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-bottom:1rem;position:relative}.stakeholder-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.stakeholder-card .form-group{margin-bottom:1rem}.stakeholder-card .form-group:last-child{margin-bottom:0}.add-button{background:#10b981;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s ease;display:flex;align-items:center;gap:.5rem}.add-button:hover{background:#059669}.remove-button{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;position:absolute;top:1rem;right:1rem;transition:background .3s ease}.remove-button:hover{background:#dc2626}.placeholder-content{text-align:center;padding:2rem;color:#6b7280}.placeholder-content h4{margin-bottom:.5rem;color:#374151}@media (max-width: 768px){.relevamiento-tabs{justify-content:center}.tab-button{padding:.5rem 1rem;font-size:.875rem}.stakeholder-card .form-row{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--light-color);border-radius:var(--radius-lg);padding:2rem;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.25rem;font-weight:600;margin:0}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--dark-color);padding:.25rem}.form-container{max-width:800px;margin:0 auto;padding:2rem;background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--dark-color)}.form-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9375rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #5754e41a}.form-textarea{resize:vertical;min-height:100px;font-family:inherit}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--accent-color);transform:translateY(-1px)}.btn-secondary{background-color:var(--secondary-color);color:var(--dark-color);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--light-color);border-color:var(--primary-color)}.btn-danger{background-color:var(--error-color);color:#fff}.btn-danger:hover:not(:disabled){background-color:#d32f2f}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.card{background-color:var(--light-color);border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:1rem;background-color:var(--secondary-color);border-bottom:1px solid var(--border-color)}.card-title{font-size:1.125rem;font-weight:600;margin:0}.card-body{padding:1rem}.card-footer{padding:1rem;background-color:var(--bg-color);border-top:1px solid var(--border-color)}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px}.badge-primary{background-color:var(--primary-color);color:#fff}.badge-secondary{background-color:var(--secondary-color);color:var(--dark-color)}.badge-success{background-color:var(--success-color);color:#fff}.badge-warning{background-color:var(--warning-color);color:#fff}.badge-error{background-color:var(--error-color);color:#fff}.file-upload{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s ease}.file-upload:hover{border-color:var(--primary-color)}.file-upload.drag-over{border-color:var(--primary-color);background-color:var(--secondary-color)}.file-upload-input{display:none}.file-upload-icon{width:3rem;height:3rem;margin:0 auto 1rem;color:var(--border-color)}.file-upload-text{font-size:1rem;color:var(--dark-color);margin-bottom:.5rem}.file-upload-hint{font-size:.875rem;color:#0009}.table{width:100%;border-collapse:collapse;margin:1rem 0}.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.table th{font-weight:600;background-color:var(--bg-color)}.table tr:hover{background-color:var(--secondary-color)}@media (max-width: 768px){.modal-content{padding:1rem;margin:1rem}.form-container{padding:1rem}.btn{width:100%;justify-content:center}.card-header,.card-body,.card-footer{padding:.75rem}.file-upload{padding:1.5rem 1rem}.table{font-size:.875rem}.table th,.table td{padding:.5rem}}.mermaid-viewer{width:100%}.mermaid-viewer .diagram-header{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.mermaid-viewer .diagram-header h4{margin:0;color:#1f2937;font-size:16px;font-weight:600}.mermaid-viewer .diagram-container{position:relative;border:1px solid #e5e7eb;border-radius:8px;background-color:#fff;padding:16px;overflow:auto}.mermaid-viewer .diagram-container svg{max-width:100%!important;height:auto!important}.mermaid-viewer .error-message{animation:fadeIn .3s ease-in;padding:20px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;text-align:center}.diagramas-flujo-viewer{width:100%;max-width:1200px;margin:0 auto;padding:20px}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:20px}.config-field select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:14px;color:#1f2937;transition:border-color .2s ease}.config-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.checkbox-field{display:flex;align-items:center;gap:8px}.generate-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px}.results-panel,.diagram-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;overflow:hidden}.results-header,.diagram-header{display:flex;align-items:center;gap:8px;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:background-color .2s ease}.results-header:hover,.diagram-header:hover{background:#f3f4f6}.results-header h4,.diagram-header h4{margin:0;color:#1f2937;font-size:18px;font-weight:600}.results-content,.diagram-content{padding:20px}.analysis-section{margin-bottom:20px}.analysis-section h5{margin:0 0 12px;color:#1f2937;font-size:16px;font-weight:600}.analysis-section p{color:#4b5563;line-height:1.6;margin:0 0 16px}.processes-list,.entities-list{margin-bottom:16px}.processes-list h6,.entities-list h6{margin:0 0 8px;color:#374151;font-size:14px;font-weight:600}.processes-list ul,.entities-list ul{margin:0;padding-left:20px;color:#4b5563}.processes-list li{margin-bottom:4px}.level-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.level-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.level-button:hover{background:#e5e7eb;border-color:#9ca3af}.level-button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.diagram-count{background:#0000001a;padding:2px 6px;border-radius:10px;font-size:12px}.level-button.active .diagram-count{background:#fff3}.diagram-selector{display:flex;align-items:center;gap:12px;margin-bottom:20px}.diagram-selector label{font-weight:500;color:#374151;font-size:14px}.diagram-selector select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:14px;color:#1f2937}.diagram-visualization{margin-top:20px}.diagram-description{margin-top:16px;padding:16px;background:#f9fafb;border-radius:8px}.diagram-description h6{margin:0 0 8px;color:#1f2937;font-size:14px;font-weight:600}.diagram-description p{margin:0;color:#4b5563;line-height:1.5}.diagram-components{margin-top:16px}.diagram-components h6{margin:0 0 12px;color:#1f2937;font-size:14px;font-weight:600}.components-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.component-card{padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.component-card strong{display:block;color:#1f2937;font-size:14px;margin-bottom:4px}.component-type{display:inline-block;padding:2px 8px;background:#dbeafe;color:#1e40af;font-size:12px;border-radius:12px;margin-bottom:8px}.component-card p{margin:0;color:#6b7280;font-size:13px;line-height:1.4}.no-diagrams{text-align:center;padding:40px;color:#6b7280}.results-panel,.diagram-panel{animation:fadeIn .3s ease-out}@media (max-width: 768px){.diagramas-flujo-viewer{padding:16px}.config-grid{grid-template-columns:1fr}.level-selector{flex-direction:column;align-items:stretch}.level-button{justify-content:center}.diagram-selector{flex-direction:column;align-items:stretch}.components-grid{grid-template-columns:1fr}}.workflow-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:1rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#2c3e50}.workflow-dashboard *{box-sizing:border-box}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 8px 32px #1f26875e;border:1px solid rgba(255,255,255,.18)}.project-info h2{margin:0 0 .5rem;font-size:1.8rem;font-weight:700;color:#2c3e50}.project-meta{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#7f8c8d}.health-indicator{font-size:1.2rem;filter:drop-shadow(0 0 3px currentColor)}.health-score{font-weight:600}.separator{color:#bdc3c7;font-weight:300}.active-stage{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.progress{font-weight:600;color:#27ae60}.dashboard-controls{display:flex;align-items:center;gap:1rem}.refresh-indicator{color:#3498db;font-size:.9rem;animation:spin 1s linear infinite}.date-range-picker{display:flex;gap:.5rem}.date-range-picker input{padding:.5rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem}.btn{padding:.6rem 1.2rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff}.workflow-dashboard.loading,.workflow-dashboard.error,.workflow-dashboard.empty{display:flex;align-items:center;justify-content:center;min-height:80vh}.loading-content,.error-content,.empty-content{text-align:center;background:#fffffff2;padding:3rem;border-radius:20px;box-shadow:0 20px 60px #0000001a;max-width:400px}.loading-content h3,.error-content h3,.empty-content h3{margin:1rem 0 .5rem;font-size:1.5rem;color:#2c3e50}.loading-content p,.error-content p,.empty-content p{color:#7f8c8d;margin-bottom:1.5rem}.spinner{width:40px;height:40px;border:4px solid #ecf0f1;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.spinner.large{width:60px;height:60px;border-width:6px}.alerts-section{margin-bottom:1.5rem}.alert{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.5rem;border-radius:12px;margin-bottom:.5rem;border-left:4px solid;animation:slideInRight .3s ease}.alert-info{background:#3498db1a;border-left-color:#3498db;color:#2980b9}.alert-warning{background:#f39c121a;border-left-color:#f39c12;color:#d68910}.alert-error{background:#e74c3c1a;border-left-color:#e74c3c;color:#c0392b}.alert-success{background:#27ae601a;border-left-color:#27ae60;color:#229954}.alert-content strong{display:block;margin-bottom:.3rem;font-weight:700}.alert-content p{margin:0 0 .3rem;line-height:1.4}.alert-content small{font-size:.8rem;opacity:.8}.alert-timestamp{font-size:.75rem;opacity:.7;white-space:nowrap}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.kpis-section{margin-bottom:2rem}.kpis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.kpi-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #1f26875e;border:1px solid rgba(255,255,255,.18);transition:transform .3s ease,box-shadow .3s ease}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #1f268780}.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.kpi-header h4{margin:0;font-size:.9rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.kpi-trend{font-size:1.2rem}.kpi-value{font-size:2.2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(45deg,currentColor,transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.kpi-status{font-size:.75rem;font-weight:600;text-transform:uppercase;padding:.3rem .8rem;border-radius:20px;display:inline-block}.kpi-status.excellent{background:#27ae6033;color:#27ae60}.kpi-status.good{background:#8bc34a33;color:#8bc34a}.kpi-status.warning{background:#ff980033;color:#ff9800}.kpi-status.critical{background:#f4433633;color:#f44336}.dashboard-tabs{display:flex;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:.5rem;margin-bottom:1.5rem;box-shadow:0 8px 32px #1f26875e;overflow-x:auto}.tab{flex:1;min-width:120px;padding:.8rem 1rem;border:none;background:transparent;color:#7f8c8d;cursor:pointer;border-radius:12px;font-weight:600;font-size:.9rem;transition:all .3s ease;white-space:nowrap}.tab:hover{background:#3498db1a;color:#3498db}.tab.active{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff;box-shadow:0 4px 12px #3498db4d}.dashboard-content{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #1f26875e;border:1px solid rgba(255,255,255,.18);min-height:500px}.overview-tab{animation:fadeIn .3s ease}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.overview-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1.5rem;box-shadow:0 4px 16px #0000001a}.overview-card h3{margin:0 0 1.5rem;color:#2c3e50;font-size:1.2rem;font-weight:700}.progress-circle{display:flex;justify-content:center;margin-bottom:1.5rem}.circle-progress{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.circle-inner{width:80px;height:80px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.progress-text{font-size:1.5rem;font-weight:700;color:#2c3e50}.overview-stats{display:flex;justify-content:space-around}.stat{text-align:center}.stat-value{display:block;font-size:1.8rem;font-weight:700;color:#3498db;margin-bottom:.3rem}.stat-label{font-size:.8rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.available-documents{max-height:300px;overflow-y:auto}.available-doc{display:flex;justify-content:space-between;align-items:center;padding:.8rem;background:#fff;border-radius:8px;margin-bottom:.5rem;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease}.available-doc:hover{transform:translate(4px);box-shadow:0 4px 8px #0000001a}.doc-info{display:flex;flex-direction:column;gap:.3rem}.doc-type{font-weight:600;color:#2c3e50}.doc-stage{font-size:.8rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.doc-meta{display:flex;align-items:center;gap:.5rem}.doc-time{font-size:.8rem;color:#95a5a6}.required-badge{background:#e74c3c;color:#fff;font-size:.7rem;padding:.2rem .5rem;border-radius:10px;font-weight:600}.no-documents{text-align:center;color:#7f8c8d;font-style:italic;padding:2rem}.recommendations{max-height:300px;overflow-y:auto}.recommendation{background:#fff;border-radius:8px;padding:1rem;margin-bottom:.8rem;border-left:4px solid;box-shadow:0 2px 4px #0000000d}.recommendation.high{border-left-color:#e74c3c}.recommendation.medium{border-left-color:#f39c12}.recommendation.low{border-left-color:#3498db}.rec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.rec-title{font-weight:600;color:#2c3e50}.rec-priority{font-size:.7rem;padding:.2rem .5rem;border-radius:10px;font-weight:600;text-transform:uppercase}.rec-priority.high{background:#e74c3c33;color:#e74c3c}.rec-priority.medium{background:#f39c1233;color:#f39c12}.rec-priority.low{background:#3498db33;color:#3498db}.rec-description{margin:0 0 .5rem;color:#7f8c8d;line-height:1.4}.rec-action{color:#27ae60;font-weight:500}.no-recommendations{text-align:center;color:#27ae60;font-weight:600;padding:2rem}.progress-tab{animation:fadeIn .3s ease}.stages-progress h3{margin:0 0 1.5rem;color:#2c3e50;font-size:1.3rem}.stages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stage-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1.5rem;box-shadow:0 4px 16px #0000001a;transition:transform .3s ease}.stage-card:hover{transform:translateY(-4px)}.stage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stage-header h4{margin:0;color:#2c3e50;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.stage-percentage{font-size:1.5rem;font-weight:700;color:#3498db}.stage-progress-bar{background:#ecf0f1;height:8px;border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2980b9);border-radius:4px;transition:width .3s ease}.stage-stats{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.status-badge{padding:.3rem .8rem;border-radius:12px;font-size:.8rem;font-weight:600}.status-badge.complete{background:#27ae6033;color:#27ae60}.status-badge.pending{background:#f39c1233;color:#f39c12}.velocity-section{margin-top:2rem}.velocity-section h3{margin:0 0 1rem;color:#2c3e50}.velocity-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;padding:2rem;text-align:center}.velocity-current{margin-bottom:1rem}.velocity-value{display:block;font-size:3rem;font-weight:700;margin-bottom:.5rem}.velocity-label{font-size:.9rem;opacity:.9}.velocity-trend{font-size:.9rem}.trend{font-weight:600;text-transform:capitalize}.trend.up{color:#2ecc71}.trend.down{color:#e74c3c}.workflow-tab{animation:fadeIn .3s ease}.workflow-metrics h3{margin:0 0 1.5rem;color:#2c3e50}.workflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.workflow-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1.5rem;box-shadow:0 4px 16px #0000001a}.workflow-card h4{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.metric-value{font-size:2.5rem;font-weight:700;color:#3498db;margin-bottom:.5rem}.metric-detail{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:#7f8c8d}.state-distribution,.bottlenecks{display:flex;flex-direction:column;gap:.5rem}.state-item,.bottleneck-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.state-name,.bottleneck-name{font-weight:600;color:#2c3e50}.state-count{background:#3498db;color:#fff;padding:.2rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600}.bottleneck-impact{font-size:.8rem;color:#e74c3c;font-weight:600}.quality-tab{animation:fadeIn .3s ease}.quality-metrics h3{margin:0 0 1.5rem;color:#2c3e50}.quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.quality-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 4px 16px #0000001a;transition:transform .3s ease}.quality-card:hover{transform:translateY(-4px)}.quality-card h4{margin:0 0 1rem;color:#2c3e50;font-size:1rem}.quality-indicator{font-size:.9rem;font-weight:600;margin-top:.5rem}.quality-bar{background:#ecf0f1;height:8px;border-radius:4px;overflow:hidden;margin:1rem 0}.quality-fill{height:100%;border-radius:4px;transition:width .3s ease}.comment-distribution{display:flex;flex-direction:column;gap:.5rem}.comment-type{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.comment-name{font-weight:600;color:#2c3e50;text-transform:capitalize}.comment-count{background:#9b59b6;color:#fff;padding:.2rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600}.timeline-tab{animation:fadeIn .3s ease}.timeline-content h3{margin:0 0 1.5rem;color:#2c3e50}.timeline-chart{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.timeline-stage{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.timeline-stage:last-child{border-bottom:none;margin-bottom:0}.stage-name{min-width:120px;font-weight:600;color:#2c3e50;text-transform:uppercase;font-size:.9rem}.stage-timeline{flex:1;display:flex;align-items:center;gap:1rem}.timeline-bar{flex:1;height:20px;background:#ecf0f1;border-radius:10px;overflow:hidden}.planned-bar{height:100%;background:linear-gradient(90deg,#3498db,#2980b9);border-radius:10px;min-width:20px}.stage-duration{font-size:.8rem;color:#7f8c8d;white-space:nowrap}.upcoming-deadlines{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1.5rem}.upcoming-deadlines h4{margin:0 0 1rem;color:#2c3e50}.deadline-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem;background:#fff;border-radius:8px;margin-bottom:.5rem;box-shadow:0 2px 4px #0000000d}.deadline-task{font-weight:600;color:#2c3e50}.deadline-date{font-size:.9rem;color:#e74c3c;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.overview-grid,.stages-grid,.workflow-grid,.quality-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.kpis-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width: 768px){.workflow-dashboard{padding:.5rem}.dashboard-header{flex-direction:column;gap:1rem;text-align:center}.dashboard-controls,.date-range-picker{flex-direction:column;width:100%}.date-range-picker input{width:100%}.dashboard-tabs{flex-wrap:wrap;gap:.5rem}.tab{flex:none;min-width:auto}.overview-grid,.stages-grid,.workflow-grid,.quality-grid,.kpis-grid{grid-template-columns:1fr}.project-meta{flex-wrap:wrap;justify-content:center}.overview-stats{flex-direction:column;gap:1rem}.timeline-stage{flex-direction:column;align-items:flex-start;gap:.5rem}.stage-timeline{width:100%}}@media (max-width: 480px){.dashboard-content,.overview-card,.stage-card,.workflow-card,.quality-card,.kpi-card{padding:1rem}.kpi-value{font-size:1.8rem}.metric-value{font-size:2rem}.velocity-value{font-size:2.5rem}}.validation-panel{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:1.5rem;color:#2c3e50;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0003}.validation-panel *{box-sizing:border-box}.validation-header{display:flex;justify-content:space-between;align-items:flex-start;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 16px #0000001a}.panel-title h3{margin:0 0 .5rem;font-size:1.3rem;font-weight:700;color:#2c3e50}.last-validated{font-size:.8rem;color:#7f8c8d;font-style:italic}.validation-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.stage-selector{display:flex;align-items:center;gap:.5rem}.stage-selector label{font-size:.9rem;font-weight:600;color:#2c3e50}.stage-selector select{padding:.5rem .8rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem;background:#fff;color:#2c3e50;cursor:pointer;transition:border-color .3s ease}.stage-selector select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.stage-selector select:disabled{opacity:.6;cursor:not-allowed}.validation-btn{display:flex;align-items:center;gap:.5rem;font-weight:600}.validation-panel.empty{display:flex;align-items:center;justify-content:center;min-height:400px}.empty-content{text-align:center;background:#fffffff2;padding:3rem;border-radius:16px;box-shadow:0 8px 24px #0000001a}.empty-content h3{margin:0 0 1rem;font-size:1.5rem;color:#2c3e50}.empty-content p{color:#7f8c8d;margin:0}.validation-error{background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-left:4px solid #e74c3c;border-radius:8px;padding:1rem;margin-bottom:1.5rem;animation:slideInDown .3s ease}.error-content strong{display:block;color:#c0392b;font-weight:700;margin-bottom:.5rem}.error-content p{color:#e74c3c;margin:0 0 1rem;line-height:1.4}.validation-loading{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:3rem;text-align:center;margin-bottom:1.5rem;box-shadow:0 4px 16px #0000001a}.loading-content h4{margin:1rem 0 .5rem;font-size:1.2rem;color:#2c3e50}.loading-content p{color:#7f8c8d;margin:0}.validation-empty{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:3rem;text-align:center;box-shadow:0 4px 16px #0000001a}.empty-icon{font-size:3rem;margin-bottom:1rem}.validation-empty h4{margin:0 0 .5rem;font-size:1.2rem;color:#2c3e50}.validation-empty p{color:#7f8c8d;margin:0}.validation-results{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a;animation:slideInUp .3s ease}.validation-section{border-bottom:1px solid rgba(0,0,0,.1)}.validation-section:last-child{border-bottom:none}.section-header{padding:1rem 1.5rem;cursor:pointer;background:linear-gradient(90deg,#f8f9fa,#e9ecef);transition:background-color .3s ease;-webkit-user-select:none;user-select:none}.section-header:hover{background:linear-gradient(90deg,#e9ecef,#dee2e6)}.section-title{display:flex;align-items:center;gap:.8rem}.section-title h4{margin:0;font-size:1.1rem;font-weight:700;color:#2c3e50;flex:1}.expand-icon{font-size:.9rem;transition:transform .3s ease}.validation-status{display:flex;align-items:center;gap:.5rem}.status-text{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-text.valid{color:#27ae60}.status-text.invalid{color:#e74c3c}.section-badge{padding:.3rem .6rem;border-radius:12px;font-size:.75rem;font-weight:700;text-align:center;min-width:24px}.section-badge.success{background:#27ae6033;color:#27ae60}.section-badge.error{background:#e74c3c33;color:#e74c3c}.section-badge.warning{background:#f39c1233;color:#f39c12}.section-badge.critical{background:#e74c3c4d;color:#c0392b;animation:pulse 2s infinite}.section-badge.info{background:#3498db33;color:#3498db}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.section-content{padding:1.5rem;background:#fff;animation:expandDown .3s ease}@keyframes expandDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:1000px;padding-top:1.5rem;padding-bottom:1.5rem}}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:1.2rem;text-align:center;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.summary-icon{font-size:2rem;margin-bottom:.8rem}.summary-info{display:flex;flex-direction:column;gap:.5rem}.summary-value{font-size:2rem;font-weight:700;color:#3498db}.summary-label{font-size:.8rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.overall-message{background:#3498db1a;border-left:4px solid #3498db;border-radius:8px;padding:1rem;font-style:italic;color:#2980b9}.overall-message p{margin:0;line-height:1.4}.missing-prerequisites,.satisfied-prerequisites{display:flex;flex-direction:column;gap:1rem}.prerequisite-item{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid;transition:transform .3s ease}.prerequisite-item:hover{transform:translate(4px)}.prerequisite-item.missing{border-left-color:#e74c3c;background:#e74c3c05}.prerequisite-item.satisfied{border-left-color:#27ae60;background:#27ae6005}.prereq-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.prereq-info{display:flex;flex-direction:column;gap:.3rem}.prereq-type{font-weight:700;font-size:1rem;color:#2c3e50}.prereq-stage{font-size:.8rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.prereq-status{font-size:.9rem;font-weight:600;padding:.3rem .8rem;border-radius:12px;display:flex;align-items:center;gap:.3rem}.prereq-status.error{background:#e74c3c33;color:#e74c3c}.prereq-status.success{background:#27ae6033;color:#27ae60}.prereq-description{color:#7f8c8d;line-height:1.4;margin-bottom:.5rem}.prereq-time{font-size:.8rem;color:#95a5a6;font-weight:500}.prereq-completed{font-size:.8rem;color:#27ae60;font-weight:500}.blockers-list{display:flex;flex-direction:column;gap:1rem}.blocker-item{background:#e74c3c0d;border:1px solid rgba(231,76,60,.2);border-left:4px solid #e74c3c;border-radius:8px;padding:1rem;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.blocker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.blocker-title{font-weight:700;font-size:1rem;color:#c0392b}.blocker-severity{background:#e74c3c33;color:#e74c3c;padding:.2rem .6rem;border-radius:10px;font-size:.7rem;font-weight:700;text-transform:uppercase}.blocker-description{color:#7f8c8d;line-height:1.4;margin-bottom:.8rem}.blocker-resolution{background:#27ae601a;border-left:3px solid #27ae60;padding:.8rem;border-radius:6px;font-size:.9rem;line-height:1.4}.blocker-resolution strong{color:#27ae60}.warnings-list{display:flex;flex-direction:column;gap:1rem}.warning-item{background:#f39c120d;border:1px solid rgba(243,156,18,.2);border-left:4px solid #f39c12;border-radius:8px;padding:1rem}.warning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.warning-title{font-weight:700;font-size:1rem;color:#d68910}.warning-type{background:#f39c1233;color:#f39c12;padding:.2rem .6rem;border-radius:10px;font-size:.7rem;font-weight:700;text-transform:uppercase}.warning-message{color:#7f8c8d;line-height:1.4;margin-bottom:.8rem}.warning-suggestion{background:#3498db1a;border-left:3px solid #3498db;padding:.8rem;border-radius:6px;font-size:.9rem;line-height:1.4}.warning-suggestion strong{color:#3498db}.next-steps{display:flex;flex-direction:column;gap:1rem}.next-step{display:flex;gap:1rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease}.next-step:hover{transform:translate(4px)}.step-number{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 8px #3498db4d}.step-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.step-title{font-weight:700;font-size:1rem;color:#2c3e50}.step-description{color:#7f8c8d;line-height:1.4}.step-priority{font-size:.8rem;font-weight:600;padding:.2rem .6rem;border-radius:10px;align-self:flex-start}.step-priority.high{background:#e74c3c33;color:#e74c3c}.step-priority.medium{background:#f39c1233;color:#f39c12}.step-priority.low{background:#3498db33;color:#3498db}.btn{padding:.6rem 1.2rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.btn-primary{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff;box-shadow:0 2px 8px #3498db4d}.btn-secondary{background:#ecf0f1;color:#2c3e50}.btn-small{padding:.4rem .8rem;font-size:.8rem}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.spinner.small{width:16px;height:16px;border-width:2px}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.validation-panel{padding:1rem;max-height:100vh}.validation-header{flex-direction:column;gap:1rem;text-align:center}.validation-controls{justify-content:center;width:100%}.summary-grid{grid-template-columns:1fr 1fr;gap:.8rem}.section-header,.section-content{padding:1rem}.next-step{flex-direction:column;gap:.8rem}.step-number{align-self:flex-start}.prereq-header,.blocker-header,.warning-header{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width: 480px){.validation-panel{padding:.5rem}.validation-header{padding:1rem}.summary-grid{grid-template-columns:1fr}.summary-card{padding:1rem}.summary-value{font-size:1.5rem}.section-title{gap:.5rem}.section-title h4{font-size:1rem}}.sprint-planning-viewer{width:100%;max-width:1200px;margin:0 auto;padding:20px}.viewer-header{margin-bottom:24px;text-align:center}.viewer-header h3{margin:0 0 8px;color:#1f2937;font-size:24px;font-weight:700}.viewer-description{color:#6b7280;font-size:16px;margin:0}.config-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;overflow:hidden}.config-header{display:flex;align-items:center;gap:8px;padding:16px 20px;background:#fff;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:background-color .2s ease}.config-header:hover{background:#f9fafb}.config-header h4{margin:0;color:#1f2937;font-size:18px;font-weight:600}.toggle-icon{width:16px;height:16px;color:#6b7280;transition:transform .2s ease}.config-content{padding:20px}.config-grid{display:flex;flex-direction:column;gap:24px;margin-bottom:20px}.config-section{background:#fff;padding:16px;border-radius:8px;border:1px solid #e5e7eb}.config-section h5{margin:0 0 16px;color:#1f2937;font-size:16px;font-weight:600}.config-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.config-row:last-child{margin-bottom:0}.config-field label{display:block;margin-bottom:4px;font-weight:500;color:#374151;font-size:14px}.config-field input,.config-field select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:14px;color:#1f2937;transition:border-color .2s ease}.config-field input:focus,.config-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.checkbox-field{display:flex;align-items:center;gap:8px;margin-top:16px}.checkbox-field label{display:flex;align-items:center;gap:8px;margin:0;cursor:pointer}.checkbox-field input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.generate-section{text-align:center;margin-top:20px}.generate-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px}.generate-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.generate-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.button-icon{width:18px;height:18px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.results-panel,.sprints-panel,.metrics-panel,.timeline-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;overflow:hidden}.results-header,.sprints-header,.metrics-header,.timeline-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:background-color .2s ease}.results-header:hover,.sprints-header:hover,.metrics-header:hover,.timeline-header:hover{background:#f3f4f6}.results-header h4,.sprints-header h4,.metrics-header h4,.timeline-header h4{margin:0;color:#1f2937;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.results-content,.sprints-content,.metrics-content,.timeline-content{padding:20px}.export-buttons{display:flex;gap:8px}.export-button{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.export-button:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.export-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card{display:flex;align-items:center;gap:12px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.card-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#3b82f6;color:#fff;border-radius:50%}.card-content h5{margin:0 0 4px;color:#6b7280;font-size:14px;font-weight:500}.card-content p{margin:0;color:#1f2937;font-size:18px;font-weight:700}.executive-summary{margin-bottom:20px;padding:16px;background:#f0f9ff;border-left:4px solid #3b82f6;border-radius:4px}.executive-summary h6{margin:0 0 8px;color:#1f2937;font-size:14px;font-weight:600}.executive-summary p{margin:0;color:#4b5563;line-height:1.5}.recommendations{padding:16px;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px}.recommendations h6{margin:0 0 8px;color:#1f2937;font-size:14px;font-weight:600}.recommendations ul{margin:0;padding-left:20px;color:#4b5563}.recommendations li{margin-bottom:4px}.sprint-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.sprint-tab{display:flex;flex-direction:column;align-items:center;padding:12px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:120px}.sprint-tab:hover{background:#e5e7eb;border-color:#9ca3af}.sprint-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.sprint-tab-content{display:flex;flex-direction:column;align-items:center;gap:4px}.sprint-name{font-weight:600;font-size:14px}.sprint-points{font-size:12px;opacity:.8}.sprint-detail{margin-top:20px}.sprint-header{margin-bottom:20px}.sprint-header h5{margin:0 0 8px;color:#1f2937;font-size:20px;font-weight:700}.sprint-meta{display:flex;flex-wrap:wrap;gap:16px;color:#6b7280;font-size:14px}.sprint-meta span{display:flex;align-items:center;gap:4px}.meta-icon{width:14px;height:14px}.sprint-objective{margin-bottom:24px;padding:16px;background:#f0f9ff;border-left:4px solid #3b82f6;border-radius:4px}.sprint-objective h6{margin:0 0 8px;color:#1f2937;font-size:14px;font-weight:600}.sprint-objective p{margin:0;color:#4b5563;line-height:1.5}.sprint-stories{margin-bottom:24px}.sprint-stories h6{margin:0 0 16px;color:#1f2937;font-size:16px;font-weight:600}.stories-list{display:flex;flex-direction:column;gap:16px}.story-card{padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a}.story-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.story-id{padding:4px 8px;background:#e5e7eb;color:#374151;font-size:12px;font-weight:600;border-radius:4px}.story-priority{padding:4px 8px;font-size:12px;font-weight:600;border-radius:4px;background:#3b82f61a}.story-points{margin-left:auto;padding:4px 8px;background:#3b82f6;color:#fff;font-size:12px;font-weight:600;border-radius:4px}.story-title{margin:0 0 8px;color:#1f2937;font-size:16px;font-weight:600}.story-description{margin:0 0 12px;color:#4b5563;line-height:1.5}.acceptance-criteria{margin-bottom:12px;padding:12px;background:#f9fafb;border-radius:4px}.acceptance-criteria strong{color:#1f2937;font-size:14px}.acceptance-criteria ul{margin:8px 0 0;padding-left:20px;color:#4b5563}.acceptance-criteria li{margin-bottom:4px}.story-dependencies{padding:8px 12px;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px;font-size:14px}.story-dependencies strong{color:#1f2937}.sprint-milestones,.sprint-risks{margin-bottom:16px}.sprint-milestones h6,.sprint-risks h6{margin:0 0 8px;color:#1f2937;font-size:14px;font-weight:600}.sprint-milestones ul,.sprint-risks ul{margin:0;padding-left:20px;color:#4b5563}.sprint-milestones li,.sprint-risks li{margin-bottom:4px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.metric-card{padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;text-align:center}.metric-card h6{margin:0 0 8px;color:#6b7280;font-size:14px;font-weight:500}.metric-value{color:#1f2937;font-size:24px;font-weight:700}.priority-distribution{padding:16px;background:#f9fafb;border-radius:8px}.priority-distribution h6{margin:0 0 16px;color:#1f2937;font-size:14px;font-weight:600}.priority-bars{display:flex;flex-direction:column;gap:12px}.priority-bar{display:flex;align-items:center;gap:12px;font-size:14px}.priority-label{width:50px;font-weight:500;color:#374151}.bar-container{flex:1;height:20px;background:#e5e7eb;border-radius:10px;overflow:hidden}.bar{height:100%;border-radius:10px;transition:width .3s ease}.bar.high-priority{background:#dc2626}.bar.medium-priority{background:#f59e0b}.bar.low-priority{background:#10b981}.priority-count{width:30px;text-align:right;font-weight:600;color:#1f2937}.timeline-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:16px;background:#f9fafb;border-radius:8px}.timeline-summary p{margin:0;color:#4b5563}.timeline-summary strong{color:#1f2937}.timeline-milestones h6{margin:0 0 16px;color:#1f2937;font-size:16px;font-weight:600}.milestones-list{display:flex;flex-direction:column;gap:16px}.milestone-item{display:flex;gap:16px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.milestone-date{flex-shrink:0;width:80px;padding:8px 12px;background:#3b82f6;color:#fff;font-size:12px;font-weight:600;text-align:center;border-radius:4px;height:fit-content}.milestone-content h6{margin:0 0 4px;color:#1f2937;font-size:14px;font-weight:600}.milestone-content p{margin:0 0 8px;color:#4b5563;font-size:14px}.milestone-deliverables{margin:0;padding-left:20px;color:#6b7280;font-size:13px}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h4{margin:0 0 8px;color:#374151;font-size:20px;font-weight:600}.empty-state p{max-width:500px;margin:0 auto;line-height:1.5}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.results-panel,.sprints-panel,.metrics-panel,.timeline-panel{animation:fadeIn .3s ease-out}@media (max-width: 768px){.sprint-planning-viewer{padding:16px}.config-row,.summary-cards{grid-template-columns:1fr}.sprint-selector{flex-direction:column}.sprint-meta{flex-direction:column;gap:8px}.story-header{flex-wrap:wrap}.metrics-grid{grid-template-columns:1fr}.export-buttons{flex-direction:column;width:100%}.export-button{justify-content:center}.milestone-item{flex-direction:column}.milestone-date{width:auto;align-self:flex-start}}.der-viewer{display:flex;flex-direction:column;gap:20px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;min-height:600px}.der-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:2px solid #e3f2fd}.der-title h3{margin:0 0 5px;color:#1565c0;font-size:24px;font-weight:600;display:flex;align-items:center;gap:10px}.der-title h3:before{content:"🗄️";font-size:28px}.project-name{color:#666;font-size:14px;font-weight:400}.der-controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.config-group{display:flex;flex-direction:column;gap:5px}.config-group label{font-size:12px;font-weight:600;color:#555;text-transform:uppercase}.config-group select{padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;cursor:pointer;min-width:120px}.config-group select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.action-buttons{display:flex;gap:10px;align-items:center}.btn{padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(45deg,#1976d2,#42a5f5);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(45deg,#1565c0,#1e88e5);transform:translateY(-1px);box-shadow:0 4px 12px #1976d24d}.btn-secondary{background:#f5f5f5;color:#666;border:2px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#eee;border-color:#ccc}.btn-success{background:linear-gradient(45deg,#388e3c,#66bb6a);color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(45deg,#2e7d32,#4caf50)}.export-dropdown{position:relative;display:inline-block}.dropdown-toggle:after{content:" ▼";font-size:12px;margin-left:5px}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:160px;display:none}.export-dropdown:hover .dropdown-menu{display:block}.dropdown-menu button{display:block;width:100%;padding:10px 15px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:#333}.dropdown-menu button:hover{background:#f5f5f5}.advanced-options{background:#f8f9fa;border-radius:8px;padding:15px}.advanced-options summary{cursor:pointer;font-weight:600;color:#555;margin-bottom:10px}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.options-grid label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.options-grid input[type=checkbox]{width:18px;height:18px;cursor:pointer}.normalization-select{display:flex;flex-direction:column;gap:5px}.normalization-select select{padding:8px;border:1px solid #ddd;border-radius:4px}.der-content{flex:1;display:flex;flex-direction:column}.alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;position:relative}.alert-error{background:#ffebee;border:1px solid #ffcdd2;color:#d32f2f}.alert-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:20px;cursor:pointer;color:inherit;opacity:.7}.alert-close:hover{opacity:1}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.spinner{width:40px;height:40px;border:4px solid #e3f2fd;border-top:4px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-state p{font-size:16px;color:#333;margin:0 0 5px}.loading-state small{color:#666;font-size:14px}.der-tabs{display:flex;border-bottom:2px solid #e0e0e0;margin-bottom:20px}.tab{padding:12px 20px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;color:#666;border-bottom:3px solid transparent;transition:all .2s ease}.tab:hover{color:#1976d2;background:#f5f5f5}.tab.active{color:#1976d2;border-bottom-color:#1976d2;background:#e3f2fd}.tab-content{flex:1;overflow-y:auto}.diagram-tab{display:flex;flex-direction:column;gap:20px}.diagram-controls{display:flex;align-items:center;gap:15px;padding:15px;background:#f8f9fa;border-radius:8px}.diagram-controls label{display:flex;align-items:center;gap:8px;font-weight:600;color:#555}.diagram-controls select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff}.table-view{overflow-x:auto}.entities-table h4{color:#333;margin-bottom:15px}.table-container{border-radius:8px;overflow:hidden;border:1px solid #e0e0e0}.entities-grid{width:100%;border-collapse:collapse;background:#fff}.entities-grid th{background:#f5f5f5;padding:12px 15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.entities-grid td{padding:12px 15px;border-bottom:1px solid #f0f0f0;vertical-align:top}.entities-grid tr:hover{background:#f9f9f9}.entity-type{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.entity-type.fuerte{background:#e8f5e8;color:#2e7d32}.entity-type.débil{background:#fff3e0;color:#f57c00}.entity-type.asociativa{background:#e3f2fd;color:#1976d2}.entities-tab{display:flex;flex-direction:column;gap:20px}.entities-header{display:flex;justify-content:space-between;align-items:center}.filter-input{padding:10px 15px;border:2px solid #e0e0e0;border-radius:25px;font-size:14px;width:300px;background:#fff}.filter-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.entities-list{display:grid;gap:15px}.entity-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease}.entity-card:hover{border-color:#1976d2;box-shadow:0 4px 12px #1976d21a}.entity-card.selected{border-color:#1976d2;background:#e3f2fd}.entity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.entity-header h4{margin:0;color:#333;font-size:18px}.entity-type-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:uppercase}.entity-type-badge.fuerte{background:#c8e6c9;color:#2e7d32}.entity-type-badge.débil{background:#ffe0b2;color:#f57c00}.entity-type-badge.asociativa{background:#bbdefb;color:#1976d2}.entity-description{color:#666;margin:10px 0;line-height:1.5}.entity-stats{display:flex;gap:20px;color:#888;font-size:14px}.entity-details{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.entity-details h5{color:#333;margin:0 0 15px;font-size:16px}.attributes-list{display:flex;flex-direction:column;gap:10px}.attribute-item{background:#f8f9fa;padding:12px;border-radius:8px;border-left:4px solid #1976d2}.attribute-header{display:flex;align-items:center;gap:10px;margin-bottom:5px}.attribute-name{font-weight:600;color:#333}.attribute-type{color:#666;font-family:Courier New,monospace;background:#e0e0e0;padding:2px 6px;border-radius:4px;font-size:12px}.badge{padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.badge.pk{background:#ffeb3b;color:#f57f17}.badge.fk{background:#ff9800;color:#fff}.badge.unique{background:#9c27b0;color:#fff}.attribute-description{color:#666;font-size:14px;margin:0}.indices-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.index-item{background:#f0f7ff;padding:8px 12px;border-radius:6px;display:flex;align-items:center;gap:10px;font-size:14px}.index-name{font-weight:600;color:#1976d2}.index-type{background:#e3f2fd;color:#1976d2;padding:2px 6px;border-radius:4px;font-size:12px;text-transform:uppercase}.index-columns{color:#666;font-family:Courier New,monospace}.relations-tab{display:flex;flex-direction:column;gap:15px}.relation-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .2s ease}.relation-card:hover{border-color:#4caf50;box-shadow:0 4px 12px #4caf501a}.relation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.relation-header h4{margin:0;color:#333;font-size:18px}.cardinality{background:#4caf50;color:#fff;padding:4px 12px;border-radius:16px;font-size:14px;font-weight:600}.relation-entities{display:flex;align-items:center;gap:15px;margin-bottom:15px}.relation-entities .entity{background:#e3f2fd;color:#1976d2;padding:6px 12px;border-radius:20px;font-weight:600;font-size:14px}.relation-arrow{color:#4caf50;font-weight:700;font-size:18px}.relation-description{color:#666;line-height:1.5;margin-bottom:10px}.business-rule{background:#fff3e0;border-left:4px solid #ff9800;padding:12px;border-radius:0 6px 6px 0;color:#e65100;font-size:14px}.sql-tab{display:flex;flex-direction:column;gap:20px}.sql-scripts{display:flex;flex-direction:column;gap:30px}.sql-script-section h4{color:#333;margin:0 0 15px;font-size:18px;display:flex;align-items:center;gap:10px}.sql-script-section h4:before{content:"⚡";color:#ff9800}.sql-code-container{position:relative;background:#2d3748;border-radius:8px;overflow:hidden}.sql-code{margin:0;padding:20px;background:#2d3748;color:#e2e8f0;font-family:Courier New,Monaco,monospace;font-size:14px;line-height:1.5;overflow-x:auto;white-space:pre}.copy-button{position:absolute;top:10px;right:10px;background:#4a5568;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s ease}.copy-button:hover{background:#2d3748}.no-sql{text-align:center;padding:40px;color:#666}.no-sql p{margin-bottom:20px;font-size:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#666}.empty-state p{font-size:16px;margin-bottom:20px}@media (max-width: 768px){.der-header{flex-direction:column;align-items:stretch}.der-controls{justify-content:center}.config-group{min-width:0}.action-buttons{justify-content:center;flex-wrap:wrap}.options-grid{grid-template-columns:1fr}.der-tabs{overflow-x:auto;white-space:nowrap}.tab{white-space:nowrap}.filter-input{width:100%}.relation-entities{flex-wrap:wrap}.entities-grid{font-size:14px}.entities-grid th,.entities-grid td{padding:8px 10px}}@media (max-width: 480px){.der-viewer{padding:15px;margin:10px}.der-title h3{font-size:20px}.btn{padding:8px 12px;font-size:13px}.entity-card,.relation-card{padding:15px}.sql-code{padding:15px;font-size:12px}}.der-hardcoded-example{max-width:1200px;margin:0 auto;padding:20px}.example-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:12px;margin-bottom:30px;text-align:center}.example-header h2{margin:0 0 15px;font-size:28px;font-weight:600}.example-description{font-size:16px;opacity:.9;line-height:1.6;margin-bottom:25px}.mock-data-info{background:#ffffff1a;padding:20px;border-radius:8px;text-align:left;max-width:600px;margin:0 auto}.mock-data-info h4{margin:0 0 15px;font-size:18px}.mock-data-info ul{margin:0;padding-left:20px}.mock-data-info li{margin-bottom:8px;line-height:1.5}.mock-data-info strong{color:#ffeb3b}@media (max-width: 768px){.der-hardcoded-example{padding:15px}.example-header{padding:20px}.example-header h2{font-size:24px}.example-description{font-size:14px}.mock-data-info{padding:15px}}.logo:hover{transform:scale(1.05)}.nav-links{display:flex;gap:1.5rem;font-size:.875rem}.nav-links a{color:var(--dark-color);opacity:.8;transition:opacity .2s}.nav-links a:hover{opacity:1;color:var(--primary-color)}.main-content{flex:1;display:flex;flex-direction:column;height:calc(100vh - 99px);overflow:hidden}.notebook-layout{display:flex;width:100%;height:100%;overflow:hidden}.studio-panel{width:350px;min-width:300px;max-width:400px;border-left:1px solid var(--border-color);background-color:#fff;overflow-y:auto;display:flex;flex-direction:column}.footer{margin-top:auto;padding:1.5rem 0;background-color:var(--light-color);color:var(--dark-color);text-align:center;font-size:.875rem}.dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.dashboard-card{background-color:#fff;border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.dashboard-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card-title{font-size:1.25rem;font-weight:600;color:var(--dark-color)}.card-content{color:#0009}.projects-list{margin-top:1.5rem}.project-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;margin-bottom:.5rem;background-color:#fff;border-radius:6px;box-shadow:var(--shadow-sm);transition:transform .2s ease}.project-item:hover{transform:translate(5px)}.project-info{display:flex;flex-direction:column;gap:.25rem}.project-name{font-weight:600;color:var(--dark-color)}.project-meta{font-size:.75rem;color:#0009}.project-actions{display:flex;gap:.5rem}.document-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}.document-type-card{padding:1.25rem;border-radius:var(--radius-md);background-color:#fff;border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.document-type-card:hover{border-color:var(--primary-color);transform:translateY(-3px)}.document-type-card.active{border-color:var(--primary-color);box-shadow:0 0 0 2px #5754e433}.document-type-title{font-weight:600;margin-bottom:.5rem}.document-type-description{font-size:.875rem;color:#0009;margin-bottom:.75rem}.formats-list{display:flex;gap:.5rem;flex-wrap:wrap}.format-tag{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background-color:var(--light-color);color:var(--dark-color)}@media (max-width: 768px){.dashboard,.document-types{grid-template-columns:1fr}.nav-links{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.dashboard-card,.project-item,.document-type-card{background-color:#1f2937}.document-type-title{color:var(--light-color)}}.upload-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.upload-modal-content{background-color:var(--light-color);border-radius:var(--radius-md);padding:2rem;width:90%;max-width:500px;box-shadow:var(--shadow-lg)}.upload-modal h3{margin-top:0;margin-bottom:1.5rem;font-size:1.25rem}.upload-modal input[type=file]{width:100%;padding:1rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);margin-bottom:1.5rem;cursor:pointer}.upload-modal-actions{display:flex;justify-content:flex-end;gap:1rem}.cancel-button,.upload-button{padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s}.cancel-button{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--dark-color)}.cancel-button:hover{background-color:var(--border-color)}.upload-button{background-color:var(--primary-color);border:none;color:#fff}.upload-button:hover{background-color:var(--accent-color)}.upload-button:disabled{background-color:var(--border-color);cursor:not-allowed}.error-message{color:var(--error-color);background-color:#f443361a;padding:.75rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem;border-left:3px solid var(--error-color);display:flex;align-items:center;justify-content:space-between}.retry-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:var(--accent-color)}.file-info{display:flex;flex-direction:column;gap:.25rem}.file-project{color:var(--dark-color)}.no-files-message{text-align:center;padding:2rem 0;color:var(--dark-color);opacity:.7;font-style:italic}.loading-message{color:var(--dark-color);opacity:.7;text-align:center;padding:2rem 0;font-style:italic;display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 0;text-align:center}.empty-state p{margin-bottom:1rem;color:var(--dark-color);opacity:.7}.add-file-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s}.add-file-button:hover{background-color:var(--accent-color)}.upload-icon{width:1.25rem;height:1.25rem}.file-summary{margin-bottom:1.5rem;background-color:var(--bg-color);border-radius:var(--radius-md);padding:1rem}.file-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.file-summary-header h4{margin:0;font-size:.9375rem}.download-button{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:all .2s}.download-button:hover{background-color:var(--border-color)}.file-icon{width:1rem;height:1rem}.send-icon{width:1.25rem;height:1.25rem;margin-right:.5rem}.document-modal .markdown-content{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333}.document-modal .markdown-content h1{color:#2c3e50;border-bottom:3px solid #3498db;padding-bottom:.5rem;margin-bottom:1.5rem;font-size:1.8rem;font-weight:600}.document-modal .markdown-content h2{color:#34495e;border-bottom:2px solid #ecf0f1;padding-bottom:.3rem;margin-top:2rem;margin-bottom:1rem;font-size:1.4rem;font-weight:600}.document-modal .markdown-content h3{color:#34495e;margin-top:1.5rem;margin-bottom:.8rem;font-size:1.2rem;font-weight:600}.document-modal .markdown-content h4{color:#34495e;margin-top:1.2rem;margin-bottom:.6rem;font-size:1.1rem;font-weight:600}.document-modal .markdown-content p{margin-bottom:1rem;text-align:justify}.document-modal .markdown-content strong{color:#2c3e50;font-weight:600}.document-modal .markdown-content ul,.document-modal .markdown-content ol{margin-bottom:1rem;padding-left:1.5rem}.document-modal .markdown-content li{margin-bottom:.5rem}.document-modal .markdown-content table{width:100%;border-collapse:collapse;margin:1rem 0;background:#fff;box-shadow:0 1px 3px #0000001a}.document-modal .markdown-content th,.document-modal .markdown-content td{border:1px solid #ddd;padding:.75rem;text-align:left}.document-modal .markdown-content th{background-color:#f8f9fa;font-weight:600;color:#2c3e50}.document-modal .markdown-content tr:nth-child(2n){background-color:#f9f9f9}.document-modal .markdown-content hr{border:none;border-top:2px solid #ecf0f1;margin:2rem 0}.document-modal .markdown-content blockquote{border-left:4px solid #3498db;margin:1rem 0;padding-left:1rem;color:#7f8c8d;font-style:italic}.document-modal .markdown-content code{background-color:#f8f9fa;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.85rem;color:#e74c3c}.document-modal .markdown-content pre{background-color:#f8f9fa;padding:1rem;border-radius:5px;overflow-x:auto;margin:1rem 0}.document-modal .markdown-content pre code{background:none;padding:0;color:#2c3e50}.document-modal .markdown-content input[type=checkbox]{margin-right:.5rem}.document-modal .markdown-content{max-width:none;margin:0}@media (max-width: 768px){.document-modal .markdown-content{padding:1rem}.document-modal .markdown-content h1{font-size:1.5rem}.document-modal .markdown-content h2{font-size:1.3rem}.document-modal .markdown-content table{font-size:.8rem}.document-modal .markdown-content th,.document-modal .markdown-content td{padding:.5rem}}.sources-panel-container{display:flex;flex-direction:column;height:100%;overflow:hidden;transition:width .3s ease,min-width .3s ease;position:relative}.sources-panel-container.expanded{width:100%;min-width:300px;padding:1rem}.sources-panel-container.collapsed{width:60px;min-width:60px;padding:0}.menu-button-container{position:absolute;top:.75rem;left:.75rem;z-index:10;transition:all .3s ease}.sources-panel-container.collapsed .menu-button-container{position:relative;top:.75rem;left:0;width:100%;display:flex;justify-content:center}.menu-button{width:40px;height:40px;border:none;background:var(--primary-color, #5754E4);border-radius:var(--radius-md, 8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.menu-button:hover{background:var(--accent-color, #8D8CFF);transform:translateY(-2px);box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}.menu-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.menu-button .menu-icon{width:20px!important;height:20px!important;color:var(--light-color, #FFFFFF)!important;fill:var(--light-color, #FFFFFF)!important;stroke:var(--light-color, #FFFFFF)!important}.sources-content{flex:1;display:flex;flex-direction:column;transition:opacity .3s ease,visibility .3s ease;padding-top:60px}.sources-content.visible{opacity:1;visibility:visible}.sources-content.hidden{opacity:0;visibility:hidden;height:0;overflow:hidden}.sources-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sources-header h2{font-size:1.25rem;margin:0}.sources-actions{display:flex;gap:.5rem}.select-all-container{margin-bottom:1rem}.select-all-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;cursor:pointer}.files-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;align-items:center;padding:.75rem;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s}.file-item:hover,.file-item.selected{background-color:var(--secondary-color)}.file-checkbox{margin-right:.75rem}.checkbox-button{width:1.25rem;height:1.25rem;border-radius:4px;border:2px solid var(--border-color);background-color:transparent;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.checkbox-button.selected{background-color:var(--primary-color);border-color:var(--primary-color)}.check-icon{width:.875rem;height:.875rem;color:#fff}.file-icon{margin-right:.75rem}.file-type-icon{width:1.5rem;height:1.5rem;color:var(--dark-color)}.file-name{font-size:.875rem}.project-selection{margin-bottom:1rem}.project-selection label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.project-selection select{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--light-color);font-size:.875rem}.no-project-message,.no-files-message{color:#00000080;font-size:.875rem;font-style:italic;text-align:center;padding:1rem}.loading-message{display:flex;align-items:center;justify-content:center;padding:1rem;font-size:.875rem;color:var(--dark-color)}.loading-message .loading-spinner{width:1rem;height:1rem;margin-right:.5rem}.files-by-stage{display:flex;flex-direction:column;gap:1rem}.stage-group{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.stage-header{background-color:var(--secondary-color);padding:.75rem 1rem;font-weight:600;font-size:.875rem;border-bottom:1px solid var(--border-color)}.document-types{display:flex;flex-direction:column}.document-type-group{border-bottom:1px solid var(--border-color)}.document-type-group:last-child{border-bottom:none}.document-type-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--bg-color);font-size:.8125rem;font-weight:500}.document-type-icon{font-size:1rem}.document-type-files{padding:.5rem}.document-type-files .file-item{padding:.5rem;margin-bottom:.25rem;font-size:.8125rem}.empty-type{padding:.5rem 1rem;color:#0006;font-style:italic;font-size:.75rem;text-align:center}.file-item-container{width:100%}.file-actions{opacity:.9;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:.9;transform:translateY(0)}}.action-button{transition:background-color .2s ease,transform .1s ease;font-weight:500}.action-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.action-button:active{transform:translateY(0)}.view-button:hover{background-color:#0056b3!important}.edit-button:hover{background-color:#1e7e34!important}.delete-button:hover{background-color:#c82333!important}@media (max-width: 480px){.file-actions{gap:.15rem!important}.action-button{padding:.2rem .4rem!important;font-size:.7rem!important}}@media (max-width: 768px){.sources-panel-container.expanded{padding:.75rem}.sources-panel-container.collapsed{padding:0}.sources-header h2{font-size:1.1rem}.files-list{gap:.25rem}.file-item{padding:.5rem}.menu-button{width:44px;height:44px}.menu-button .menu-icon{width:22px!important;height:22px!important}}.stage-section{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem;transition:all .2s}.stage-section.stage-preliminar{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#f0fdf4)}.stage-section.stage-analisis{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#f0f9ff)}.stage-section.stage-diseno{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fefce8)}.stage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.stage-title{margin:0;font-size:1.1rem;font-weight:600}.stage-preliminar .stage-title{color:#065f46}.stage-analisis .stage-title{color:#1e40af}.stage-diseno .stage-title{color:#92400e}.stage-progress{font-size:.8125rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.stage-preliminar .stage-progress{background-color:#10b9811a;color:#065f46}.stage-analisis .stage-progress{background-color:#3b82f61a;color:#1e40af}.stage-diseno .stage-progress{background-color:#f59e0b1a;color:#92400e}.document-type-section{border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:1rem;transition:all .2s}.document-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.type-info{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.type-icon{font-size:1.1rem}.type-count{padding:.1rem .4rem;border-radius:12px;font-size:.75rem;min-width:1.5rem;text-align:center;font-weight:600}.document-type-section.type-preliminar-1{border-color:#10b98166;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.document-type-section.type-preliminar-1 .type-count{background-color:#10b98133;color:#065f46}.document-type-section.type-preliminar-2{border-color:#10b98199;background:linear-gradient(135deg,#a7f3d0,#6ee7b7)}.document-type-section.type-preliminar-2 .type-count{background-color:#10b9814d;color:#065f46}.document-type-section.type-analisis-1{border-color:#3b82f64d;background:linear-gradient(135deg,#f0f9ff,#eff6ff)}.document-type-section.type-analisis-1 .type-count{background-color:#3b82f633;color:#1e40af}.document-type-section.type-analisis-2{border-color:#3b82f680;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.document-type-section.type-analisis-2 .type-count{background-color:#3b82f64d;color:#1e40af}.document-type-section.type-analisis-3{border-color:#3b82f6b3;background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.document-type-section.type-analisis-3 .type-count{background-color:#3b82f666;color:#1e40af}.document-type-section.type-analisis-4{border-color:#3b82f6cc;background:linear-gradient(135deg,#93c5fd,#60a5fa)}.document-type-section.type-analisis-4 .type-count{background-color:#3b82f680;color:#1e40af}.document-type-section.type-diseno-1{border-color:#f59e0b4d;background:linear-gradient(135deg,#fefce8,#fffbeb)}.document-type-section.type-diseno-1 .type-count{background-color:#f59e0b33;color:#92400e}.document-type-section.type-diseno-2{border-color:#f59e0b80;background:linear-gradient(135deg,#fef3c7,#fed7aa)}.document-type-section.type-diseno-2 .type-count{background-color:#f59e0b4d;color:#92400e}.document-type-section.type-diseno-3{border-color:#f59e0bb3;background:linear-gradient(135deg,#fed7aa,#fdba74)}.document-type-section.type-diseno-3 .type-count{background-color:#f59e0b66;color:#92400e}.document-type-section:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.stage-preliminar .document-type-section:hover{box-shadow:0 2px 8px #10b98133}.stage-analisis .document-type-section:hover{box-shadow:0 2px 8px #3b82f633}.stage-diseno .document-type-section:hover{box-shadow:0 2px 8px #f59e0b33}.type-files{margin-left:1.5rem;border-left:2px solid var(--border-color);padding-left:.75rem}.type-preliminar-1 .type-files{border-left-color:#10b98166}.type-preliminar-2 .type-files{border-left-color:#10b98199}.type-analisis-1 .type-files{border-left-color:#3b82f64d}.type-analisis-2 .type-files{border-left-color:#3b82f680}.type-analisis-3 .type-files{border-left-color:#3b82f6b3}.type-analisis-4 .type-files{border-left-color:#3b82f6cc}.type-diseno-1 .type-files{border-left-color:#f59e0b4d}.type-diseno-2 .type-files{border-left-color:#f59e0b80}.type-diseno-3 .type-files{border-left-color:#f59e0bb3}.document-type-selector{margin-bottom:1.5rem}.document-type-selector.loading,.document-type-selector.error{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center;border:2px dashed var(--border-color);border-radius:var(--border-radius);background-color:var(--background-secondary)}.document-type-selector.loading .loading-spinner{font-size:2rem;margin-bottom:.5rem;animation:spin 1s linear infinite}.document-type-selector.error .error-icon{font-size:2rem;margin-bottom:.5rem;color:var(--color-error)}.document-type-selector .form-group{margin-bottom:1.5rem}.document-type-selector .form-label{display:flex;align-items:center;gap:.25rem;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.document-type-selector .label-required{color:var(--color-error);font-weight:700}.document-type-selector .form-select{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--background-primary);color:var(--text-primary);font-size:1rem;transition:all .2s ease}.document-type-selector .form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.document-type-selector .form-select:disabled{background-color:var(--background-disabled);color:var(--text-disabled);cursor:not-allowed}.document-type-selector .form-select option{padding:.5rem;background-color:var(--background-primary);color:var(--text-primary)}.document-type-selector .field-description,.document-type-selector .field-warning{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.75rem;border-radius:var(--border-radius);font-size:.875rem;line-height:1.4}.document-type-selector .field-description{background-color:rgba(var(--color-info-rgb),.1);border:1px solid rgba(var(--color-info-rgb),.2);color:var(--color-info)}.document-type-selector .field-warning{background-color:rgba(var(--color-warning-rgb),.1);border:1px solid rgba(var(--color-warning-rgb),.2);color:var(--color-warning)}.document-type-selector .description-icon,.document-type-selector .warning-icon{flex-shrink:0;margin-top:.1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.document-type-selector .form-group{margin-bottom:1rem}.document-type-selector .form-select{font-size:16px}}.document-type-selector .form-select:hover:not(:disabled){border-color:var(--color-primary-light)}.document-type-selector .form-group{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.document-type-selector .form-group.fade-in{animation:fadeInUp .3s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-settings-container{position:relative;display:inline-block}.ai-settings-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface-color, #ffffff);border:2px solid var(--border-color, #e0e0e0);border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.875rem;font-weight:500;color:var(--text-color, #333333);box-shadow:0 2px 4px #0000001a}.ai-settings-button:hover{border-color:var(--primary-color, #007bff);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.ai-settings-button.test-mode{border-color:#ff9800;background:linear-gradient(135deg,#fff3e0,#fff)}.ai-settings-button.test-mode:hover{border-color:#f57c00;background:linear-gradient(135deg,#ffe0b2,#fff3e0)}.ai-settings-button.production-mode{border-color:#4caf50;background:linear-gradient(135deg,#e8f5e8,#fff)}.ai-settings-button.production-mode:hover{border-color:#388e3c;background:linear-gradient(135deg,#c8e6c9,#e8f5e8)}.ai-icon{font-size:1.2rem}.ai-name{font-weight:600;min-width:80px;text-align:left}.settings-icon{font-size:.875rem;opacity:.7;transition:transform .3s ease}.ai-settings-button:hover .settings-icon{transform:rotate(90deg)}.ai-settings-panel{position:absolute;top:100%;right:0;width:400px;max-width:90vw;background:var(--surface-color, #ffffff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:1000;margin-top:.5rem;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-settings-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--primary-color, #007bff);color:#fff}.ai-settings-header h3{margin:0;font-size:1.1rem;font-weight:600}.close-button{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s ease}.close-button:hover{background-color:#fff3}.ai-settings-content{max-height:70vh;overflow-y:auto;padding:0}.settings-section{padding:1.25rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.settings-section:last-child{border-bottom:none}.settings-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-color, #333333)}.providers-list{display:flex;flex-direction:column;gap:.75rem}.provider-option{display:flex;align-items:center;gap:1rem;padding:1rem;border:2px solid var(--border-color, #e0e0e0);border-radius:8px;cursor:pointer;transition:all .2s ease}.provider-option:hover{border-color:var(--primary-color, #007bff);background-color:var(--hover-color, #f8f9fa)}.provider-option.active{border-color:var(--primary-color, #007bff);background-color:var(--primary-light, #e3f2fd)}.provider-icon{font-size:1.5rem}.provider-info{flex:1}.provider-name{font-weight:600;color:var(--text-color, #333333);margin-bottom:.25rem}.provider-description{font-size:.875rem;color:var(--text-color-secondary, #666666)}.provider-status{display:flex;align-items:center}.active-indicator{color:var(--primary-color, #007bff);font-size:1.2rem;font-weight:700}.test-settings{background:linear-gradient(135deg,#fff3e0,#fff);border:1px solid #ffcc02;border-radius:8px;margin:0 1.25rem;margin-top:0}.setting-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem}.setting-item:last-child{margin-bottom:0}.setting-item label{font-size:.875rem;font-weight:500;color:var(--text-color, #333333);display:flex;align-items:center;gap:.5rem}.setting-item input[type=checkbox]{margin:0}.setting-item select{padding:.5rem;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;background:#fff;font-size:.875rem}.setting-item input[type=range]{flex:1;margin:0 .5rem}.current-status{display:flex;flex-direction:column;gap:.5rem}.status-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.active{background-color:#4caf50;color:#fff}.status-badge.inactive{background-color:#f44336;color:#fff}.settings-tips{margin-top:1rem}.tip{display:flex;gap:.75rem;padding:1rem;border-radius:8px;font-size:.875rem}.tip.warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.tip.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.tip-icon{font-size:1.2rem;flex-shrink:0}.tip-content{flex:1}.tip-content strong{display:block;margin-bottom:.25rem}.tip-content p{margin:0;line-height:1.4}.ai-settings-actions{display:flex;justify-content:space-between;padding:1rem 1.25rem;background-color:var(--surface-color-secondary, #f8f9fa);border-top:1px solid var(--border-color, #e0e0e0);gap:1rem}.reset-button{padding:.5rem 1rem;background:none;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;color:var(--text-color-secondary, #666666);cursor:pointer;transition:all .2s ease;font-size:.875rem}.reset-button:hover{border-color:var(--warning-color, #ff9800);color:var(--warning-color, #ff9800)}.close-panel-button{padding:.5rem 1rem;background:var(--primary-color, #007bff);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background-color .2s ease;font-size:.875rem;font-weight:500}.close-panel-button:hover{background:var(--primary-dark, #0056b3)}.ai-settings-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mock-utilities{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color, #e0e0e0)}.mock-utilities h5{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--text-color, #333333)}.utility-buttons{display:flex;flex-direction:column;gap:.75rem}.utility-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;background:var(--bg-color, #ffffff);color:var(--text-color, #333333);font-size:.875rem;cursor:pointer;transition:all .2s ease}.utility-button:hover{background:var(--bg-color-secondary, #f8f9fa);border-color:var(--primary-color, #007bff);transform:translateY(-1px)}.seed-button:hover{border-color:#28a745;color:#28a745}.regenerate-button:hover{border-color:#17a2b8;color:#17a2b8}.clear-button:hover{border-color:#dc3545;color:#dc3545}.utility-button:active{transform:translateY(0)}@media (max-width: 768px){.ai-settings-panel{width:95vw;right:50%;transform:translate(50%)}.ai-settings-button .ai-name{display:none}.setting-item{flex-direction:column;align-items:flex-start;gap:.5rem}.utility-buttons{gap:.5rem}.utility-button{padding:.625rem .75rem;font-size:.8125rem}}
