*{margin:0;padding:0;box-sizing:border-box}:root{--bg-main: #f8f9fa;--bg-card: #ffffff;--text-main: #212529;--text-muted: #6c757d;--border-color: #dee2e6;--border-hover: #adb5bd;--primary-main: #1aa28e;--primary-light: rgba(26, 162, 142, .1);--error-main: #d32f2f;--chip-bg-default: #e9ecef;--chip-text-default: #495057;--chip-bg-backend: #e0f2f1;--chip-text-backend: #00695c;--chip-bg-frontend: #f3e5f5;--chip-text-frontend: #7b1fa2;--chip-bg-fullstack: #fff8e1;--chip-text-fullstack: #ff8f00}html,body,#root{width:100%;min-height:100%}html{background-color:var(--color-background-default, var(--bg-main))}body{background-color:var(--color-background-default, var(--bg-main));color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow-x:hidden}.app-wrapper{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%;background-color:var(--color-background-default, var(--bg-main))}.main-content{flex:1;width:100%;margin:0 auto;padding:48px 24px;box-sizing:border-box;max-width:1200px}@media(max-width:768px){.main-content{padding:24px 16px 32px}}:root{--color-primary: #2dd4bf;--color-secondary: #c084fc;--color-background-default: #0d1117;--color-background-paper: #161b22;--color-text-primary: #c9d1d9;--color-text-secondary: #8b949e;--color-divider: #30363d;--color-warning: #fbbf24;--color-info: #60a5fa;--color-error: #f44336;--color-hover-border: #58a6ff;--color-success: #22c55e;--border-radius-card: 12px;--border-radius-dialog: 16px;--border-radius-chip: 16px;--border-radius-button: 20px;--border-radius-input: 8px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif}body{background-color:var(--color-background-default);color:var(--color-text-primary);font-family:var(--font-family)}.input-text{width:100%;padding:12px 16px;font-size:14px;font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-background-paper);border:1px solid var(--color-divider);border-radius:var(--border-radius-card);outline:none;transition:all .3s ease;box-sizing:border-box}.input-text:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2dd4bf26}.submit-button:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 16px #2dd4bf40}.submit-button:active{transform:translateY(0);box-shadow:0 2px 8px #2dd4bf33}.form-container{padding:32px;background-color:var(--color-background-paper);border-radius:16px;border:1px solid var(--color-divider);position:relative}.project-name{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:8px}.project-description{color:var(--color-text-secondary);margin-bottom:24px}.input-container{margin-bottom:32px;display:flex;flex-direction:column;gap:8px;width:100%;max-width:800px}.label-input{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.input-wrapper{position:relative;display:flex;align-items:center;width:100%}.input-text{flex-grow:1}.autocompletar-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background-color:var(--color-background-paper);color:var(--color-text-primary);border:1px solid var(--color-divider);border-radius:var(--border-radius-button);font-family:var(--font-family);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.autocompletar-btn .btn-icon{color:var(--color-secondary);font-size:16px;transition:transform .3s ease}.autocompletar-btn:hover{background-color:var(--color-background-default);border-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #c084fc33}.autocompletar-btn:hover .btn-icon{transform:rotate(15deg) scale(1.1)}.autocompletar-btn:active{transform:translateY(0);box-shadow:0 2px 6px #c084fc26}.input-text:disabled{background-color:transparent;border-color:transparent;padding-left:0;color:var(--color-text-primary);font-weight:500;opacity:.9}.input-text:disabled::-webkit-calendar-picker-indicator{display:none}.language-select{width:100%;padding:12px;border-radius:8px;border:1px solid var(--color-divider);background-color:var(--color-background-default);color:var(--color-text-primary)}.loading-overlay{position:absolute;inset:0;background-color:#fffc;display:flex;justify-content:center;align-items:center;font-size:1.5rem;color:#000;z-index:10;border-radius:16px}.textarea-input{width:100%;min-height:100px;padding:10px 14px;font-family:inherit;font-size:1rem;color:var(--color-text-primary);background-color:var(--color-background-default);border:1px solid var(--color-divider);border-radius:var(--border-radius-card);resize:vertical;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.textarea-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2dd4bf33}.textarea-input:disabled{background-color:transparent;border-color:transparent;padding-left:0;padding-top:0;color:var(--color-text-primary);font-weight:500;opacity:.9;cursor:default;resize:none}.chips-container{display:flex;flex-wrap:wrap;gap:10px;width:100%;padding:4px 0}.chip{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;border:1px solid transparent}.chip-default{background-color:var(--color-background-default);color:var(--color-text-secondary);border-color:var(--color-divider)}.clickable-chips .chip-default:hover{background-color:var(--color-divider);color:var(--color-text-primary);cursor:pointer}.chip-selected{background-color:#2dd4bf1a;color:var(--color-primary);border-color:var(--color-primary)}.clickable-chips .chip-selected{cursor:pointer}.clickable-chips .chip-selected:hover{background-color:#2dd4bf33}.readonly-chip{cursor:default!important;opacity:.9}.no-data-text{font-size:.9rem;color:var(--color-text-secondary);font-style:italic;padding-left:0}.uvl-configurator{width:100%;box-sizing:border-box;color:var(--color-text-primary);font-family:var(--font-family);font-size:14px}.section-title{width:100%;margin:16px 0 8px;color:var(--color-text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.feature-group{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:12px;width:100%;padding:4px 4px 16px;box-sizing:border-box}.feature-group--nested{gap:10px;padding:4px 0 12px}.feature-card{display:flex;flex:1 1 0%;flex-direction:column;min-width:min(100%,140px);max-width:100%;overflow:hidden;box-sizing:border-box;border:1px solid var(--color-divider);border-radius:var(--border-radius-card);background-color:var(--color-background-paper);transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-card.active{flex:5 1 0%;min-width:min(100%,250px);border-color:var(--color-primary);box-shadow:0 4px 12px #2dd4bf26}.feature-card.mandatory{border-top:3px solid var(--color-primary);background-color:var(--color-background-default)}.feature-group--nested .feature-card{flex:1 1 170px;min-width:min(100%,170px)}.feature-group--nested .feature-card.active{flex:3.5 1 280px;min-width:min(100%,260px)}.feature-group--deep .feature-card{flex:1 1 150px;min-width:min(100%,150px)}.feature-group--deep .feature-card.active{flex:3 1 240px;min-width:min(100%,220px)}.feature-header{display:flex;align-items:center;margin:0;padding:12px 14px;cursor:pointer;transition:background-color .2s;flex-wrap:nowrap}.feature-header:hover{background-color:var(--color-hover-border, rgba(45, 212, 191, .05))}.feature-name{margin-left:10px;font-weight:500;line-height:1.3;-webkit-user-select:none;user-select:none;white-space:normal;word-break:break-word}.feature-card.active>.feature-header .feature-name{color:var(--color-primary);font-weight:700}.feature-children{width:100%;padding:12px 8px;box-sizing:border-box;border-top:1px dashed var(--color-divider);background-color:transparent}.feature-children .feature-group{padding-bottom:10px}.feature-children .feature-card{flex:1 1 0%;min-width:min(100%,120px)}.feature-children .feature-card.active{flex:3 1 0%;min-width:min(100%,200px)}.feature-children .feature-header{padding:8px 10px}.feature-children .feature-name{font-size:13px}.feature-children .section-title{margin:8px 0 6px;font-size:.65rem}.feature-header input{display:none}.custom-control{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--color-text-secondary);transition:all .2s}.custom-radio{border-radius:50%}.feature-header input[type=radio]:checked+.custom-radio{border-color:var(--color-primary)}.feature-header input[type=radio]:checked+.custom-radio:after{content:"";width:8px;height:8px;border-radius:50%;background-color:var(--color-primary)}.custom-checkbox{border-radius:4px}.feature-header input[type=checkbox]:checked+.custom-checkbox{border-color:var(--color-primary);background-color:var(--color-primary)}.feature-header input[type=checkbox]:checked+.custom-checkbox:after{content:"✓";color:var(--color-background-paper, #ffffff);font-size:12px;font-weight:900}.feature-header input:disabled+.custom-control{opacity:.5;cursor:not-allowed}.mandatory-indicator{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;flex-shrink:0}.mandatory-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-primary)}.feature-children .custom-control,.feature-children .mandatory-indicator{width:14px;height:14px}.feature-children .mandatory-dot{width:6px;height:6px}.language-dropdown-container{width:100%;padding:0 14px 12px;box-sizing:border-box}.language-select{width:100%;padding:8px 12px;border:1px solid var(--color-divider);border-radius:4px;outline:none;cursor:pointer;appearance:none;background-color:var(--color-background-default);background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23999%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 10px top 50%;background-size:10px auto;color:var(--color-text-primary);font-family:var(--font-family);font-size:13px;transition:all .2s ease}.language-select:focus,.language-select:hover{border-color:var(--color-primary)}.language-select:disabled{opacity:.5;cursor:not-allowed}.language-select option{color:var(--color-text-primary);background-color:var(--color-background-paper)}@media(max-width:768px){.feature-group{flex-direction:column;gap:8px;padding:0 0 16px}.feature-card,.feature-card.active,.feature-group--nested .feature-card,.feature-group--nested .feature-card.active,.feature-group--deep .feature-card,.feature-group--deep .feature-card.active,.feature-children .feature-card,.feature-children .feature-card.active{width:100%;min-width:unset;flex:none}.feature-children{margin-top:8px;padding:8px 0 0 12px;border-top:none;border-left:2px solid var(--color-divider)}.feature-header{padding:10px 12px}}.readonly-mode .feature-header{cursor:default}.readonly-mode .feature-header:hover{background-color:transparent}.readonly-mode .feature-card:not(.active) .custom-control{display:none}.readonly-mode .feature-card:not(.active){opacity:.6;border-color:transparent;background-color:transparent;box-shadow:none}.readonly-mode .feature-card:not(.active) .feature-name{color:var(--color-text-secondary)}.readonly-mode .feature-header input:disabled+.custom-control{opacity:1;cursor:default}.modal-box .modal-body{padding:.5rem 1.5rem 1.5rem!important}.modal-box .modal-list{margin-top:0!important;padding-top:0!important;padding-left:1.5rem!important}.modal-box .modal-list-item:first-child{margin-top:0!important;padding-top:0!important}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1300}.modal-box{position:relative;width:90%;max-width:450px;background-color:var(--color-background-paper, #ffffff);border:1px solid var(--color-divider, #e0e0e0);border-radius:12px;box-shadow:0 8px 32px #0000004d;outline:none}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-divider, #e0e0e0)}.modal-title{display:flex;align-items:center;gap:.5rem;font-weight:600;margin:0;font-size:1.25rem}.modal-icon-container{display:flex;font-size:1.6rem;color:inherit}.modal-body{padding:1rem 1.5rem 1.5rem}.modal-list{margin:0!important;padding:0 0 0 1.5rem!important;font-size:1rem;line-height:1.5;color:var(--color-text-primary, inherit)}.modal-list-item{margin:0 0 .5rem!important;padding:0!important}.modal-list-item:last-child{margin-bottom:0!important}.modal-text{margin:0!important;font-size:1rem;line-height:1.5;color:var(--color-text-primary, inherit)}.modal-footer{padding:1rem 1.5rem;display:flex;justify-content:flex-end;border-top:1px solid var(--color-divider, #e0e0e0)}.modal-close-icon-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;display:flex;color:var(--color-text-secondary, #666);transition:color .2s}.modal-close-icon-btn:hover{color:var(--color-text-primary, #000)}.modal-btn-confirm{color:#fff;text-transform:none;font-weight:600;padding:8px 24px;border-radius:var(--border-radius-button, 8px);cursor:pointer;border:1px solid transparent;transition:all .2s}.modal-btn-confirm:hover{filter:brightness(1.1);transform:translateY(-1px)}.type-error{color:var(--color-error, #f44336)!important}.type-success{color:var(--color-success, #4caf50)!important}.type-warning{color:var(--color-warning, #ff9800)!important}.type-info{color:var(--color-info, #2196f3)!important}.type-error-bg{background-color:var(--color-error, #f44336)}.type-success-bg{background-color:var(--color-success, #4caf50)}.type-info-bg{background-color:var(--color-info, #2196f3)}.type-warning-bg{background-color:var(--color-warning, #ff9800);color:#000}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-spin{animation:spin 1.2s linear infinite}.navbar{position:sticky;top:0;width:100%;background-color:var(--color-background-default);border-bottom:1px solid var(--color-divider);z-index:1100}.navbar-container{width:100%;margin:0 auto;padding:0 24px}.toolbar{display:flex;justify-content:space-between;align-items:center;min-height:64px;width:100%}.logo-link{flex-grow:1;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--color-text-primary);font-weight:700;font-size:1.25rem}.nav-links{display:flex;align-items:center;gap:8px;min-width:0}.nav-link{text-decoration:none;color:var(--color-text-secondary);padding:8px 16px;border-radius:var(--border-radius-button);transition:color .2s ease-in-out}.nav-link:hover{color:var(--color-text-primary)}.nav-link.active{color:var(--color-primary);font-weight:700}.action-button{margin-left:16px;padding:8px 16px;border-radius:var(--border-radius-button);text-decoration:none;color:var(--color-text-primary);border:1px solid var(--color-divider);transition:all .2s ease-in-out}.action-button:hover{border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:768px){.navbar-container{padding:0 16px}.toolbar{flex-wrap:wrap;align-items:stretch;gap:12px;padding:12px 0}.logo-link{flex:1 1 100%;font-size:1rem;line-height:1.25}.nav-links{width:100%;flex-wrap:wrap;justify-content:flex-start}.nav-link,.action-button{margin-left:0;padding:10px 14px;text-align:center}}.project-card{height:100%;display:flex;flex-direction:column;background-color:var(--color-background-paper);border:1px solid var(--color-divider);border-radius:var(--border-radius-card);transition:transform .2s ease-in-out,border-color .2s;cursor:pointer}.project-card:hover{border-color:var(--color-hover-border);transform:translateY(-4px)}.project-card-content{flex-grow:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px}.project-title{font-weight:700;font-size:1.25rem;margin:0}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:12px}.chip{display:inline-block;padding:4px 12px;border-radius:var(--border-radius-chip);font-size:.75rem;font-weight:500;line-height:1.5}.chip.primary{background-color:var(--color-primary);color:var(--color-background-default)}.chip.secondary{background-color:var(--color-secondary);color:var(--color-background-default)}.chip.warning{background-color:var(--color-warning);color:var(--color-background-default)}.chip.info{background-color:var(--color-info);color:var(--color-background-default)}.chip.default{background-color:var(--color-divider);color:var(--color-text-primary)}.chip.outlined{background-color:transparent;border:1px solid var(--color-divider);color:var(--color-text-secondary)}.project-description{color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.875rem}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.delete-project-btn{background:transparent;border:none;cursor:pointer;padding:0;color:var(--color-text-secondary)}.delete-project-btn:hover{color:var(--color-error)}.delete-project-btn span{font-size:1.25rem}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1300}.modal-box{position:relative;width:90%;max-width:450px;background-color:var(--color-background-paper);border:1px solid var(--color-divider);border-radius:12px;box-shadow:0 4px 20px #0000001a;outline:none}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-divider)}.modal-title{display:flex;align-items:center;gap:.5rem;color:var(--color-error);font-weight:600;margin:0;font-size:1.25rem}.modal-close-icon-btn{color:var(--color-text-secondary);background:none;border:none;font-size:1.5rem;cursor:pointer}.modal-close-icon-btn:hover{color:var(--color-text-primary)}.modal-body{padding:1.5rem;color:var(--color-text-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1.25rem 1.5rem;border-top:1px solid var(--color-divider)}.modal-btn-cancel{background-color:transparent;color:var(--color-text-secondary);text-transform:none;font-weight:600;box-shadow:none;border:1px solid var(--color-divider);padding:8px 16px;border-radius:var(--border-radius-button);cursor:pointer}.modal-btn-cancel:hover{background-color:#0000000a}.modal-btn-delete{background-color:var(--color-error);color:var(--color-background-default);text-transform:none;font-weight:600;box-shadow:none;border:1px solid var(--color-error);padding:8px 16px;border-radius:var(--border-radius-button);cursor:pointer}.modal-btn-delete:hover{background-color:#d32f2f}.home-wrapper{padding:32px 0}.home-header{display:flex;justify-content:space-between;align-items:center;text-align:left;margin-top:32px;margin-bottom:48px}.home-title{font-size:3rem;font-weight:700;margin:0 0 8px;color:var(--color-text-primary)}.home-highlight{color:var(--color-primary)}.home-subtitle{font-size:1.25rem;color:var(--color-text-secondary);margin:8px 0 0;font-weight:400}.create-project-btn{background-color:var(--color-primary);color:#fff;padding:12px 24px;border:none;border-radius:var(--border-radius-button);cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .3s}.create-project-btn:hover{background-color:#26a39a}.home-grid{display:grid;gap:24px;grid-template-columns:repeat(1,1fr)}@media(min-width:600px){.home-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.home-grid{grid-template-columns:repeat(4,1fr)}}.page-container{display:flex;justify-content:center;align-items:center;min-height:60vh}.login-form{display:flex;flex-direction:column;gap:24px;padding:40px;width:100%;max-width:420px;background-color:var(--color-background-paper);border:1px solid var(--color-divider);border-radius:var(--border-radius-dialog)}.login-header{text-align:center;margin-bottom:8px}.login-title{font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--color-text-secondary);margin-top:8px}.form-input{width:100%;padding:12px;border-radius:var(--border-radius-input);border:1px solid var(--color-divider);background-color:var(--color-background-default);color:var(--color-text-primary);font-size:1rem}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-button{width:100%;padding:12px;border-radius:var(--border-radius-button);border:none;background-color:var(--color-primary);color:var(--color-background-default);font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s ease-in-out}.form-button:hover{background-color:#26a39a}.configurator-page{padding:24px;max-width:1200px;margin:0 auto;width:100%}.configurator-main-title{font-size:1.5rem;font-weight:800;color:var(--color-text-primary);margin-bottom:24px;border-bottom:2px solid var(--color-divider);padding-bottom:12px}.feature-header.root-header{padding:16px 20px}.feature-header.root-header .feature-name{font-size:16px;font-weight:600}.feature-children.root-children{padding:16px}.label-comments{color:var(--color-text-primary)}.comments-container{margin-top:32px;display:flex;flex-direction:column;gap:8px;width:100%}.label-comments{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.submit-button{margin-top:24px;padding:14px 28px;font-size:15px;font-weight:700;font-family:var(--font-family);color:var(--color-background-default, #1a232f);background-color:var(--color-primary);border:none;border-radius:var(--border-radius-card);cursor:pointer;transition:all .2s ease;align-self:flex-start;display:inline-flex;justify-content:center}.configurator-page{display:flex;flex-direction:column}.type-container{margin-top:40px;padding-top:24px;border-top:2px solid var(--color-divider);width:100%}.type-container>h2{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0 0 20px;display:flex;align-items:center;gap:8px}.project-container{background-color:var(--color-background-paper);border:1px solid var(--color-divider);border-radius:var(--border-radius-card);padding:20px;margin-bottom:16px;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.project-container:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--color-text-secondary)}.project-container>h2{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.libraries-container{display:flex;flex-wrap:wrap;gap:8px}.libraries-container span{background-color:var(--color-background-default);color:var(--color-text-primary);border:1px solid var(--color-divider);padding:6px 12px;border-radius:16px;font-size:.85rem;font-weight:500;white-space:nowrap;transition:all .2s;cursor:default}.libraries-container span:hover{background-color:var(--color-hover-border, rgba(45, 212, 191, .1));border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:768px){.project-container{padding:16px}.type-container{margin-top:32px}}.swot-button{margin-top:16px;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:var(--border-radius-card);cursor:pointer;transition:background-color .2s ease}.swot-button:hover{background-color:darken(var(--color-primary),10%)}.project-container{transition:all .2s ease-in-out}.project-container:hover{background-color:#f8f9fa}.project-container.selected{background-color:#e6f2ff;border-color:#007bff;box-shadow:0 4px 8px #0000001a}.no-results-message{margin-top:32px;padding:40px 24px;background-color:var(--color-background-paper);border:2px dashed var(--color-divider);border-radius:var(--border-radius-card);text-align:center;display:flex;justify-content:center;align-items:center}.no-results-message p{margin:0;font-size:1.1rem;font-weight:500;color:var(--color-text-secondary)}.textarea-comments{width:100%;min-height:120px;padding:12px 16px;font-family:inherit;font-size:1rem;color:var(--color-text-primary);background-color:var(--color-background-paper, #ffffff);border:1px solid var(--color-divider);border-radius:var(--border-radius-card, 8px);resize:vertical;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.textarea-comments:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2dd4bf33}.textarea-comments::placeholder{color:var(--color-text-secondary, #888)}@media(max-width:768px){.configurator-page{padding:0}.configurator-main-title{font-size:1.25rem;margin-bottom:20px;padding-bottom:10px}.feature-header.root-header{padding:14px 16px}.feature-children.root-children{padding:12px}.submit-button,.swot-button{width:100%;justify-content:center}.comments-container{margin-top:24px}.project-container{padding:14px}.project-container>h2{font-size:1rem;margin-bottom:12px}.libraries-container span{white-space:normal}}.libraries-container.clickable-chips{margin-top:12px;margin-bottom:16px}.libraries-container.clickable-chips span{cursor:pointer;-webkit-user-select:none;user-select:none}.libraries-container.clickable-chips span.chip-selected{background-color:var(--color-primary);color:var(--color-background-default, #ffffff);border-color:var(--color-primary)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:9999;padding:4vh 4vw;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box}.modal-content{background-color:var(--color-background-paper);color:var(--color-text-primary);border:1px solid var(--color-divider);border-radius:var(--border-radius-dialog);padding:2.5rem;width:100%;max-width:1200px;max-height:100%;display:flex;flex-direction:column;position:relative;box-shadow:0 25px 50px -12px #00000080;box-sizing:border-box}.close-button{position:absolute;top:1.2rem;right:1.5rem;background:none;border:none;font-size:1.2rem;font-weight:700;color:var(--color-text-secondary);cursor:pointer;transition:color .2s ease;z-index:10}.close-button:hover{color:var(--color-error)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-shrink:0}.modal-header h2{margin:0;color:var(--color-text-primary);font-size:1.8rem;text-align:left}.download-pdf-button{background-color:var(--color-primary);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,opacity .2s ease;display:flex;align-items:center;gap:.5rem}.download-pdf-button:hover{opacity:.9}.download-pdf-button:disabled{background-color:var(--color-divider);color:var(--color-text-secondary);cursor:not-allowed}.swot-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;overflow-y:auto;padding-right:.5rem;flex-grow:1}@media(max-width:768px){.swot-container{grid-template-columns:1fr}.modal-header{flex-direction:column;align-items:flex-start;gap:1rem}}.swot-container::-webkit-scrollbar{width:8px}.swot-container::-webkit-scrollbar-track{background:transparent}.swot-container::-webkit-scrollbar-thumb{background-color:var(--color-divider);border-radius:4px}.swot-category{padding:1.5rem;border-radius:var(--border-radius-card);background-color:var(--color-background-default);border:1px solid var(--color-divider);border-top:4px solid var(--color-divider);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.swot-category:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006;border-color:var(--color-hover-border)}.swot-category h3{margin-top:0;margin-bottom:1rem;font-size:1.25rem}.swot-category ul{margin:0;padding-left:1.2rem;color:var(--color-text-secondary);line-height:1.6}.swot-category li{margin-bottom:.5rem}.swot-category:nth-child(1){border-top-color:var(--color-primary)}.swot-category:nth-child(1) h3{color:var(--color-primary)}.swot-category:nth-child(2){border-top-color:var(--color-info)}.swot-category:nth-child(2) h3{color:var(--color-info)}.swot-category:nth-child(3){border-top-color:var(--color-error)}.swot-category:nth-child(3) h3{color:var(--color-error)}.swot-category:nth-child(4){border-top-color:var(--color-warning)}.swot-category:nth-child(4) h3{color:var(--color-warning)}.uvl-tree-editor{display:flex;flex-direction:column;gap:16px;width:100%;max-width:960px;margin:0 auto}.uvl-tree-editor h2{margin:0;padding-bottom:12px;border-bottom:2px solid var(--color-divider);color:var(--color-text-primary);font-size:1.5rem;font-weight:800}.editor-container{overflow-x:auto;padding:16px 24px 16px 12px;border:1px solid var(--color-divider);border-radius:var(--border-radius-card);background-color:var(--color-background-paper)}.editable-node{display:flex;flex-direction:column}.node-header,.relation-header{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;transition:background-color .2s ease}.node-header:hover,.relation-header:hover{background-color:var(--color-hover-border, rgba(45, 212, 191, .05))}.node-name-input{flex:1;min-width:180px;max-width:360px;padding:4px 8px;border:1px solid transparent;border-radius:4px;outline:none;background-color:transparent;color:var(--color-text-primary);font-family:var(--font-family);font-size:14px;font-weight:500;transition:all .2s ease}.node-name-input:hover{border-color:var(--color-divider)}.node-name-input:focus{border-color:var(--color-primary);background-color:var(--color-background-default);box-shadow:0 0 0 2px #2dd4bf26}.node-name-input:disabled{color:var(--color-primary);font-weight:700;cursor:default}.node-type-select{padding:4px 8px;border:1px solid var(--color-divider);border-radius:4px;outline:none;cursor:pointer;background-color:var(--color-background-default);color:var(--color-text-secondary);font-size:12px;font-weight:600}.node-type-select:focus{border-color:var(--color-primary);color:var(--color-primary)}.relation-group{display:flex;flex-direction:column;gap:6px}.relation-badge{min-width:70px;padding:4px 8px;border-radius:999px;background-color:var(--color-background-default);color:var(--color-text-secondary);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center}.relation-actions,.node-header:hover .node-actions,.relation-header:hover .node-actions{opacity:1}.spacer{width:24px;flex-shrink:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.icon-btn:hover{background-color:var(--color-divider);color:var(--color-text-primary)}.node-actions{display:flex;gap:4px;margin-left:auto;opacity:0;transition:opacity .2s ease}.add-btn:hover{color:var(--color-primary);background-color:#2dd4bf1a}.delete-btn:hover{color:#ef4444;background-color:#ef44441a}.node-children{display:flex;flex-direction:column;gap:10px;margin-left:20px;padding-left:12px;border-left:1px dashed var(--color-divider)}.relation-children{gap:4px}.submit-button{align-self:flex-start;padding:12px 24px;border:none;border-radius:var(--border-radius-card);background-color:var(--color-primary);color:var(--color-background-default, #1a232f);font-family:var(--font-family);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease}.submit-button:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 4px 12px #2dd4bf40}.submit-button:active{transform:translateY(0)}@media(max-width:768px){.editor-container{padding:12px}.relation-header{flex-wrap:wrap}.node-actions{opacity:1}.node-name-input{max-width:none}.relation-badge{min-width:auto}}.node-attributes.single-row{display:flex;align-items:center;flex-shrink:0;margin-left:0;padding:0}.attribute-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.attribute-badge{font-size:10px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em}.attribute-input{padding:4px 8px;border:1px solid var(--color-divider);border-radius:4px;outline:none;background-color:var(--color-background-paper);color:var(--color-text-primary);font-family:var(--font-family);font-size:13px;transition:all .2s ease}.attribute-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2dd4bf26}.attribute-input:disabled{opacity:.6;cursor:not-allowed}.key-input{width:140px;font-weight:600}.value-input{width:180px;min-width:180px}.attribute-separator{color:var(--color-text-secondary);font-weight:700}.conflicts-page{display:flex;flex-direction:column;gap:24px;width:100%;max-width:1280px;margin:0 auto}.conflicts-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:16px;border-bottom:2px solid var(--color-divider)}.conflicts-title{margin:0 0 8px;font-size:1.8rem;font-weight:800;color:var(--color-text-primary)}.conflicts-subtitle{margin:0;max-width:760px;color:var(--color-text-secondary);line-height:1.5}.conflicts-actions{display:flex;gap:12px;flex-wrap:wrap}.conflicts-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:24px;align-items:start}.conflicts-sidebar,.conflicts-editor{min-width:0}.conflicts-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.conflicts-sidebar-header h2{margin:0;font-size:1.1rem;color:var(--color-text-primary)}.conflicts-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border-radius:999px;background-color:#f4433624;color:var(--color-error);font-weight:700}.conflicts-count.ready{background-color:#22c55e24;color:var(--color-success)}.conflicts-list{display:flex;flex-direction:column;gap:16px}.conflicts-ready,.conflicts-empty{padding:28px;border:1px solid var(--color-divider);border-radius:var(--border-radius-card);background-color:var(--color-background-paper)}.conflicts-ready h3,.conflicts-empty h2{margin:0 0 8px;color:var(--color-text-primary)}.conflicts-ready p,.conflicts-empty p{margin:0;color:var(--color-text-secondary);line-height:1.5}.conflicts-empty{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.secondary-button{padding:12px 24px;border:1px solid var(--color-divider);border-radius:var(--border-radius-card);background-color:transparent;color:var(--color-text-primary);font-family:var(--font-family);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease}.secondary-button:hover{border-color:var(--color-error);color:var(--color-error)}.submit-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:960px){.conflicts-header{flex-direction:column}.conflicts-layout{grid-template-columns:1fr}}
