.sidebar{background-color:#f7f7f7;border:none;display:flex;flex-direction:column;height:100vh;padding:25px 20px;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-width:275px;max-width:275px;flex-shrink:0;flex-grow:0;margin:-10px}.sidebar-header{display:flex;flex-direction:column;margin-bottom:-10px -20px 0px -10px}.sidebar-title{margin:0;font-size:1.25rem;color:#333;font-family:var(--primary-font)}.sidebar-header-buttons{margin-top:10px;display:flex;flex-direction:column;align-items:center}.btn{padding:6px 12px;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.sidebar-header-buttons .btn svg{position:relative;top:3px;padding-right:5px}.sidebar-header-buttons-addons{width:100%;margin-left:37px}.btn.primary,.btn.secondary{background-color:transparent;color:#333;width:100%;margin-left:-30px;margin-right:-10px;padding:10px;text-align:left;font-family:var(--primary-font)}.btn.primary:hover,.btn.secondary:hover{background-color:#e0e0e0;color:#252424}.sidebar-search-container{margin-top:15px;margin-bottom:15px}.sidebar-search-wrapper{max-height:0;opacity:0;overflow:hidden;transition:max-height .8s ease,opacity .8s ease}.sidebar-search-wrapper.open{max-height:60px;opacity:1;margin-bottom:10px}.sidebar-search{width:100%;padding:8px 10px;border-radius:6px;border:none;font-size:.8rem;outline:none;box-sizing:border-box;margin-top:10px;margin-left:0;font-family:var(--primary-font)}.sidebar-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-top:10px;margin-right:-10px}.sidebar-item{background-color:#ffffff9e;border-radius:8px;padding:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #00000014;transition:all .2s ease;cursor:pointer;position:relative;height:80px;min-height:80px;max-height:80px;overflow:hidden;box-sizing:border-box}.sidebar-item:hover{background-color:#f0f0ff;transform:translateY(-1px)}.sidebar-item.selected{background-color:var(--primary-green);color:#fff;border-left:none;transition:background-color .2s ease,border-left .2s ease}.sidebar-item-buttons{display:none}.sidebar-item:hover .sidebar-item-buttons{display:flex}.sidebar-item-text{font-size:13px}.btn.delete{background-color:var(--primary-red);color:#fff;font-size:.8rem;border-radius:5px;border:none;padding:4px 8px;cursor:pointer}.btn.delete:hover{background-color:var(--disabled-red)}.no-results{text-align:center;color:#888;font-size:.85rem;padding:20px 0}.fontRaleway{font-family:var(--primary-font)}.sp-picker-dialog{position:fixed;inset:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200;animation:fadeIn .2s ease-in-out}.sp-picker-content{background:#fff;width:95%;max-width:600px;max-height:85vh;border-radius:12px;box-shadow:0 4px 30px #00000026;padding:20px 24px;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .25s ease-out}.sp-picker-header{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.sp-picker-list{flex:1;overflow-y:auto;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:10px 0}.sp-picker-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;transition:background .2s ease;cursor:pointer}.sp-picker-item:hover{background:#f4f6fa}.sp-picker-item-left{display:flex;align-items:center;gap:10px;color:#333}.sp-picker-item-left span{font-size:.95rem}.sp-picker-icon{width:18px;height:18px;color:#555}.sp-picker-back{background:transparent;border:none;color:#000;font-weight:500;cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:6px}.sp-picker-back:hover{text-decoration:underline}.sp-picker-actions{display:flex;justify-content:flex-end;margin-top:12px;gap:8px}.sp-picker-actions button{padding:8px 16px;border:none;border-radius:8px;background-color:var(--primary-green);color:#fff;cursor:pointer;font-weight:600;font-family:var(--primary-font)}.sp-picker-actions button:disabled{background-color:#a3a3a3;cursor:not-allowed}.ghost{background-color:transparent!important;color:#000!important;padding:8px 16px 6px;border-radius:8px;transition:all .5s ease;border:none}.ghost:hover{background-color:#e5e5e3!important}.ghost.upload{padding:8px 16px 6px;border-radius:8px;border:none}.sp-upload-status{padding:8px 12px;background:#fff3cd;border-left:4px solid #ffcc00;margin-bottom:8px;border-radius:6px;font-size:14px}.sp-upload-success{padding:8px 12px;background:#d4edda;border-left:4px solid green;margin-bottom:8px;border-radius:6px;font-size:14px}.sp-path-bar{padding:6px 10px;border-radius:6px;font-size:13px;margin:10px 0;color:#333;word-break:break-all}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}.sp-picker-list::-webkit-scrollbar{width:8px}.sp-picker-list::-webkit-scrollbar-thumb{background:#d1d1d1;border-radius:8px}.sp-picker-list::-webkit-scrollbar-thumb:hover{background:#b7b7b7}.sp-picker-item.selected{background:#e8f0fe;border-left:3px solid #0078d4}.table-container{max-width:100%;margin:30px auto;border:1px solid #ddd;border-radius:10px;overflow-x:auto;background:#fff;box-shadow:0 2px 6px #0000001a}.data-table{width:100%;border-collapse:collapse;font-family:var(--primary-font)}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th{background-color:#f7f7f7;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th:hover{background-color:#f0f0f0;color:#007bff}.data-table tr:hover td{background-color:#fafafa}@media(max-width:600px){.data-table th,.data-table td{padding:10px;font-size:14px}}.class-display-flex-btn{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.btn-save-data{margin:5px 10px 10px 5px;padding:8px 16px;background-color:var(--primary-green);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-family:var(--primary-font);align-self:flex-end}.btn-download-data{margin:5px 10px 10px 5px;padding:8px 16px;background-color:var(--primary-green);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-family:var(--primary-font)}.btn-save-data:disabled{background-color:var(--disabled-blue);color:#f0f0f0;cursor:not-allowed;opacity:.6;pointer-events:none;font-family:var(--primary-font),}.modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;padding:20px;border-radius:8px;width:300px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center}.modal h3{margin-bottom:12px;font-size:16px;font-family:var(--primary-font)}.modal-btn{width:80%;height:80px;padding:10px;margin-top:8px;border-radius:6px;border:none;cursor:pointer;background:var(--primary-green);color:#fff;display:inline-flex;align-items:center;gap:8px;justify-content:center;font-family:var(--primary-font)}.modal-btn:hover{background-color:var(--secondary-green)}.modal-btn.cancel{font-family:var(--primary-font);background:transparent;color:#555}.modal-label{display:block;font-size:.85rem;margin-bottom:6px;color:#444}.modal-textarea{width:90%;min-height:40px;resize:vertical;padding:8px 10px;font-size:.9rem;line-height:1.4;border-radius:6px;border:1px solid #ccc;margin-bottom:16px;font-family:var(--primary-font)}.modal-textarea:focus{outline:none;border-color:var(--primary-green)}.modal-select{width:100%;padding:8px 10px;font-size:.9rem;border-radius:6px;border:1px solid #ccc;margin-bottom:20px;font-family:var(--primary-font)}.modal-select:focus{outline:none;border-color:var(--primary-green)}.notification{position:fixed!important;bottom:40px;right:40px;padding:12px 16px;border-radius:6px;font-size:14px;box-shadow:0 2px 8px #00000026}.notification.success{background:#e6f4ea;color:#1e7f3b}.notification.error{background:#fdecea;color:#b42318}.notification.info{background:#eef2ff;color:#3730a3}.notification-link{display:inline-block;margin-top:6px;font-size:13px;color:inherit;text-decoration:underline;cursor:pointer}.chat-container{display:flex;flex-direction:column;height:100%;width:80vw;margin:5px 20px 20px;border-radius:12px;background-color:#f9f9f9;overflow:hidden;box-shadow:0 0 8px #0000001a}.chat-heading{color:#000;font-family:var(--primary-font);margin-left:10px}.messages{flex:1;overflow-y:scroll;padding-top:15px;background-color:#f7f7f7;border:none;padding-left:30px;padding-right:0}.message{display:flex;margin-bottom:12px}.message .avatar{margin-right:10px}.avatar{margin-left:10px}.message.user{align-self:flex-end;flex-direction:row-reverse;margin-top:35px}.message.assistant{margin-top:20px;align-self:flex-start}.message-content{padding:10px 14px;border-radius:10px;max-width:80vw;max-height:500px;margin-top:25px;word-spacing:.1em;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;overflow-y:auto;line-height:2;font-size:15px;display:flex;flex-direction:column}.msg-heading{font-size:1.2rem;font-weight:700;font-family:var(--primary-font);margin-bottom:4px;color:#fff}.msg-response{margin-top:30px;font-family:var(--primary-font);color:#000;margin-right:250px;line-height:1.9;position:relative;white-space:pre-wrap;background-color:#e0e4e9;width:90%;font-size:14px;border-radius:10px;padding:20px 20px 40px;margin-bottom:30px;max-height:500px;overflow-wrap:break-word;overflow-y:auto;display:flex;flex-direction:column}.highlight-section{background-color:#fff;padding:20px;border-radius:10px}.msg-section ul{margin:4px 0 0 20px;padding:0}.msg-container{border:1px solid #ddd;border-radius:8px;padding:.5rem 1rem;font-family:var(--primary-font)}.msg-dropdown{cursor:pointer;font-weight:600;margin-bottom:.5rem;font-family:var(--primary-font);font-size:1rem;outline:none;border:none;background-color:transparent;color:#000}.msg-list{margin:.5rem 0 0 1rem;padding:0;list-style:disc;font-family:var(--primary-font)}.msg-list-item,.msg-list-item a{margin-left:16px;margin-bottom:2px;position:relative;font-family:var(--primary-font);color:#000}.msg-list-item:before{position:absolute;left:-12px}.chat-input-form{display:flex;border-top:1px solid #ddd;background-color:#fff;width:99%;padding:10px 60px 10px 25px}.chat-input-form input{flex:1;padding:8px 12px;border:none;border-radius:8px;margin-left:8px;font-size:14px;outline:none;font-family:var(--primary-font)}.chat-input-form input:disabled{background:none}.chat-input-form button{padding:8px 16px;border:none;border-radius:8px;background-color:var(--primary-green);color:#fff;cursor:pointer;font-weight:600;font-family:var(--primary-font)}.spin{animation:spin 1s linear infinite}.chat-input-form button:disabled{background-color:#a3a3a3;cursor:not-allowed}.task-status{padding-top:20px;margin:10px;display:flex;flex-direction:column;gap:10px}.task-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#333}.task-loading{animation:spin 1s linear infinite;color:#373333}.task-done{color:var(--primary-green)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.msg-section{margin-bottom:10px}.msg-heading{font-weight:600;margin-bottom:1px}.msg-sub-heading{font-weight:600;margin-bottom:4px}ul{padding-left:20px;margin:4px 0}li{margin-bottom:2px}.no-messages-placeholder{color:#888;font-size:1.5rem;text-align:center;margin-top:300px;transition:margin-top 1s ease,text-align .5s ease}.no-messages-placeholder.move-top{margin-top:-30px;text-align:left}.msg-collapse{max-height:0;overflow:hidden;transition:max-height 2s ease,opacity 2s ease;opacity:0}.msg-collapse.open{max-height:500px;opacity:1;font-family:var(--primary-font)}.file-upload-section{display:flex;align-items:center;gap:6px}.file-upload-label{cursor:pointer;color:#000;transition:color .2s}.file-upload-label:disabled{cursor:pointer;color:gray;transition:color .2s}.file-upload-label:hover{color:var(--primary-green)}.file-upload-icon{padding:0 10px}.file-upload-input{display:none}.file-name{font-size:12px;color:#374151;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.remove-file-icon{font-size:12px;color:#9ca3af;cursor:pointer;transition:color .2s}.remove-file-icon:hover{color:var(--primary-red)}.attachment-bubble{background-color:#d6d6d6;color:#333;border-radius:15px;padding:14px;font-size:13px;margin-top:10px;font-style:italic;box-shadow:0 1px 2px #0000001a;display:flex;align-items:center}.attachment-text{word-break:break-word;font-size:12px;font-weight:700}.class-display-flex{display:flex;flex-direction:column}.message-timestamp-user{color:gray;margin-top:-25px;margin-bottom:10px;font-size:.8rem;font-family:Roboto Mono,monospace;align-self:flex-end}.message-timestamp-assistant{color:gray;margin-top:-25px;margin-left:5px;font-size:.8rem;margin-bottom:10px;font-family:Roboto Mono,monospace}.btn-copy{padding:5px 10px;border-radius:5px;border:none;background-color:#fff;color:#333;cursor:pointer;font-weight:700;margin-top:-10px;margin-bottom:10px;margin-right:-10px;align-self:flex-end}.highlight-box{border-left:5px solid #dcdfe4;background-color:#f0f7ff;padding:16px;margin:16px 0;border-radius:6px;box-shadow:0 2px 5px #0000000d}.highlight-heading{font-size:18px;font-weight:600;color:#000;margin-bottom:8px}.highlight-list{padding-left:20px;margin:0;color:#333}.highlight-list li{margin-bottom:6px}.chat-subheading{color:#666;margin-bottom:24px}.example-prompts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.example-prompts-content{padding:8px 12px;border-radius:8px;border:none}.modal-backdrop{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container{width:560px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 20px 40px #0000002e}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;padding-bottom:12px}.modal-header h3{font-family:var(--primary-font);font-weight:600;color:#111827;margin-left:250px}.icon-btn{background:transparent;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:6px}.icon-btn:hover{background:#f3f4f6;color:#111827}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.tool-card{background:#f9fafb;border-radius:10px;padding:16px 12px;text-align:center;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.tool-card:hover{background:#fff;border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 6px 14px #00000014}.tool-icon{color:#2563eb;margin-bottom:8px}.tool-title{font-size:14px;font-weight:600;color:#111827}.tool-subtitle{margin-top:4px;font-size:12px;color:#6b7280}.tool-card[data-color=blue] .tool-icon{color:#2563eb}.tool-card[data-color=green] .tool-icon{color:#059669}.tool-card[data-color=purple] .tool-icon{color:#7c3aed}.tool-card[data-color=yellow] .tool-icon{color:#edb73a}.tool-card[data-color=pink] .tool-icon{color:#ed3a82}.tool-card[data-color=red] .tool-icon{color:#ed3a3a}.tool-card[data-color=orange] .tool-icon{color:#ed763a}.app-container{display:flex;height:95vh;font-family:var(--primary-font);font-optical-sizing:auto;font-style:normal}:root{--primary-green: rgba(45, 67, 121, .951);--secondary-green: rgba(10, 31, 84, .951);--disabled-blue: rgba(67, 94, 163, .951);--primary-red: #ef4444;--success-green: rgba(3, 93, 33, .951);--disabled-green: rgba(91, 157, 113, .951);--secondary-red: rgb(185 2 30 / 60%);--disabled-red:rgb(185 2 30 / 80%);--primary-font: "Nunito Sans", sans-serif}*::-webkit-scrollbar{width:4px;background-color:transparent}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:transparent}*::-webkit-scrollbar-thumb:hover{background:#000;border-radius:4px}*{scrollbar-width:thin}*::-webkit-scrollbar:hover{background:#0000001a}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#dbeafe,#f1f5f9);font-family:var(--primary-font)}.login-box{width:360px;padding:35px 30px;border-radius:18px;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 25px #00000026;text-align:center;animation:fadeIn .4s ease}.login-box h2{font-family:var(--primary-font);margin-bottom:25px;font-size:26px;color:#1e293b;font-weight:600}.login-input{width:80%;padding:14px 12px;margin-bottom:18px;font-family:var(--primary-font);border-radius:10px;border:1px solid #d1d5db;font-size:15px;background:#f8fafc;transition:.2s}.login-input:focus{font-family:var(--primary-font);outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40;background:#fff}.login-button{font-family:var(--primary-font);width:100%;padding:14px;background:var(--secondary-green);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:16px;font-weight:600;transition:.25s}.login-button:hover{background:var(--primary-green);transform:translateY(-2px)}.login-error{font-family:var(--primary-font);color:#dc2626;margin-top:12px;font-size:14px;font-weight:500}.remember-row{display:flex;align-items:center;margin-bottom:18px;gap:8px;font-size:14px;color:#1e293b}.remember-checkbox{width:16px;height:16px;cursor:pointer}.password-wrapper{position:relative;width:100%}.password-toggle{position:absolute;right:33px;top:40%;transform:translateY(-50%);cursor:pointer;font-size:18px;opacity:.7;-webkit-user-select:none;user-select:none;transition:.2s ease}.password-toggle:hover{opacity:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.utility-loader-overlay{position:fixed;inset:0;z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a40;display:flex;justify-content:center;align-items:center}.utility-loader-box{background:#fff;padding:32px 42px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 20px 60px #00000026;font-family:var(--primary-font)}.ai-spinner{position:relative;width:48px;height:48px}.ai-spinner div{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--primary-green);animation:spin 1.2s linear infinite}.ai-spinner div:nth-child(2){border-top-color:#22c55e88;animation-duration:1.8s}.ai-spinner div:nth-child(3){border-top-color:#22c55e44;animation-duration:2.4s}.utility-loader-text{font-size:14px;font-weight:600;color:#111827}.loader-dots span{animation:fadeDots 1.5s infinite}.loader-dots span:nth-child(2){animation-delay:.2s}.loader-dots span:nth-child(3){animation-delay:.4s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeDots{0%,80%,to{opacity:0}40%{opacity:1}}.input-label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:#333}.document-textarea{width:95%;min-height:120px;padding:12px 14px;border-radius:8px;border:1px solid #d0d0d0;font-size:14px;resize:vertical;margin-bottom:20px;font-family:inherit}.research-page{width:1350px;height:800px;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;gap:24px}.research-header h2{margin-top:200px;margin-left:500px;font-size:25px;font-weight:600}.research-header p{margin-top:100px;margin-left:350px;font-size:20px;color:#6b7280}.research-card{margin-top:100px;max-width:900px;margin-left:200px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:12px}.input-label{font-size:18px;font-weight:500;color:#374151;font-family:var(--primary-font)}.research-textarea{font-family:var(--primary-font);min-height:140px;padding:10px 12px;font-size:16px;border-radius:6px;border:1px solid #d1d5db;resize:vertical}.research-textarea:focus{font-family:var(--primary-font);outline:none;border-color:#6366f1}.primary-button{background:#6366f1;font-family:var(--primary-font);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:17px;cursor:pointer}.primary-button:disabled{background:#a5b4fc;cursor:not-allowed}.result-link{margin-top:12px;font-size:16px;display:flex;gap:6px}.result-link a{color:#6366f1;text-decoration:underline}.document-select{padding:8px 10px;border-radius:6px;border:1px solid #d1d5db;font-size:14px;margin-bottom:12px;cursor:pointer}.requirements-review-card{margin-top:24px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.requirements-header{display:flex;justify-content:space-between;align-items:center}.requirements-filter{padding:6px 8px;border-radius:6px}.requirements-subtitle{margin-top:16px;margin-bottom:8px}.requirements-table{width:100%;border-collapse:collapse}.requirements-table th,.requirements-table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;vertical-align:top}.board-container{max-width:100%;margin:0;font-family:var(--primary-font)}.action-bar{font-family:var(--primary-font);margin:20px 0;text-align:right}.primary-btn,.success-btn{font-family:var(--primary-font);padding:10px 18px;border-radius:6px;border:none;font-weight:600;cursor:pointer;transition:.2s ease}.primary-btn,.success-btn{background:var(--primary-green);font-family:var(--primary-font);color:#fff}.primary-btn:hover,.success-btn:hover{font-family:var(--primary-font);background:var(--secondary-green)}.primary-btn:disabled,.success-btn:disabled{font-family:var(--primary-font);background:var(--disabled-blue);color:#fff}.board-preview{display:flex;font-family:var(--primary-font);flex-direction:column;gap:20px}.epic-card{font-family:var(--primary-font);background:#eef2ff;border-left:6px solid var(--primary-green);padding:20px;border-radius:8px}.feature-card{font-family:var(--primary-font);background:#e0f2fe;border-left:6px solid var(--primary-green);padding:16px;margin-top:15px;margin-left:20px;border-radius:6px}.story-card{font-family:var(--primary-font);background:#ecfdf5;border-left:6px solid var(--success-green);padding:14px;margin-top:12px;margin-left:20px;border-radius:6px}.task-item{font-family:var(--primary-font);background:#f3f4f6;padding:8px 12px;margin-top:8px;margin-left:20px;border-radius:4px;border-left:4px solid #6b7280}.bug-item{font-family:var(--primary-font);background:#fef2f2;padding:8px 12px;margin-top:8px;margin-left:20px;border-radius:4px;border-left:4px solid var(--primary-red)}.epic-title{font-family:var(--primary-font);margin:0 0 8px;color:#312e81}.feature-title{font-family:var(--primary-font);margin:0 0 6px;color:#075985}.story-title{font-family:var(--primary-font);margin:0 0 6px;color:#065f46}.banner{font-family:var(--primary-font);margin-top:20px;padding:14px;border-radius:6px;font-weight:600}.banner.success{font-family:var(--primary-font);background:#dcfce7;color:var(--success-green);border-left:5px solid #16a34a}.banner.error{font-family:var(--primary-font);background:#fee2e2;color:var(--secondary-red);border-left:5px solid var(--primary-red)}.regenerate-section{margin-top:20px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;display:flex;flex-direction:column;gap:12px}.regenerate-section textarea{font-family:var(--primary-font);width:95%;min-height:90px;resize:vertical;padding:10px 12px;border-radius:6px;border:1px solid #d1d5db;font-size:14px}.regenerate-section textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 1px var(--primary-green)}.regenerate-section button{align-self:flex-end}.document-page{width:1350px;height:800px;margin:0 auto;padding:32px 24px 48px}.document-header{margin-top:100px;text-align:center}.document-header h2{margin-top:50px;font-size:30px;font-weight:600;margin-bottom:6px}.document-header p{margin-top:100px;font-size:20px;color:#666}.document-card{margin-top:40px;background:#fff;border-radius:12px;padding:24px;box-shadow:8px 8px 24px #0000001a;margin-bottom:32px}.input-label{display:block;width:95%;font-size:18px;font-weight:500;margin-bottom:6px;color:#333}.file-input{display:block;width:100%;margin-bottom:18px;font-size:13px}.file-input::file-selector-button{margin-right:12px;padding:6px 14px;border-radius:6px;border:1px solid #ccc;background:#f5f5f5;font-size:13px;cursor:pointer}.file-input::file-selector-button:hover{background:#eee}.document-textarea{width:98%;min-height:190px;padding:12px 14px;border-radius:8px;border:1px solid #d0d0d0;font-size:14px;resize:vertical;margin-bottom:20px;font-family:inherit}.document-textarea:focus{outline:none;border-color:#4a6cf7;box-shadow:0 0 0 2px #4a6cf726}.action-row{display:flex;justify-content:flex-end}.primary-button{padding:10px 20px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;background:#4a6cf7;color:#fff}.primary-button:disabled{opacity:.6;cursor:not-allowed}.pdf-section{margin-top:24px}.pdf-section h3{font-size:16px;font-weight:600;margin-bottom:12px}.pdf-section:before{content:"";display:block;height:1px;background:#eee;margin-bottom:20px}.sp-picker-button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px dashed #c7c7c7;background:#fafafa;cursor:pointer;font-size:13px;color:#333;margin-bottom:16px}.sp-picker-button:hover{background:#f0f0f0}.file-info{display:flex;align-items:center;justify-content:space-between;background:#f7f8fa;border-radius:8px;padding:8px 12px;margin-bottom:8px}.file-name{font-size:13px;color:#333;word-break:break-all}.remove-file-icon{cursor:pointer;color:#777}.remove-file-icon:hover{color:#d64545}.requirements-review-card{width:100%;background:#fff;border-radius:12px;padding:24px;box-sizing:border-box}.results-page{max-width:100%;width:1300px;padding-left:20px}.feedback-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:10px 14px;margin-top:10px;font-weight:500;font-size:14px;background:linear-gradient(135deg,#f5f7fa,#e4e9f2);color:#2f3a4a;border-radius:12px;transition:all .2s ease}.feedback-box{display:flex;flex-direction:column;background:#f8fafc;padding:14px;border-radius:0 0 12px 12px;margin-bottom:10px}.feedback-box .regenerate-button{align-self:flex-end}.regenerate-button{margin-top:10px;background:#7caea3;color:#fff;border:none;padding:8px 16px;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:6px}.feedback-textarea{width:98%;min-height:20px;padding:12px 14px;border-radius:10px;font-size:14px;font-family:inherit;background-color:#fff;transition:border .2s ease,box-shadow .2s ease}.diagram-wrapper{display:flex;justify-content:center;margin:20px 0}.diagram-title{text-align:center}.request-summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px;max-width:80vw}.request-summary-card h3{font-family:var(--primary-font);text-align:center;font-size:25px}.summary-section{font-family:var(--primary-font);margin-bottom:12px}.summary-section label{font-family:var(--primary-font);font-size:15px;font-weight:600;color:#374151;display:block;margin-bottom:4px;font-weight:700}.summary-text{font-family:var(--primary-font);font-size:14px;color:#111827;margin-top:-3px}.summary-file-list{font-family:var(--primary-font);list-style:none;padding-left:0}.summary-file-list li{font-family:var(--primary-font);font-size:13px;color:#1f2937;margin-bottom:4px}.file-path{font-family:var(--primary-font);color:#6b7280;margin-left:6px;font-size:12px}.results-page{max-width:"80vw";max-height:"80vh";margin-left:"25px";font-family:var(--primary-font);font-size:13px}.document-select{padding:8px 10px;border-radius:6px;border:1px solid #d1d5db;font-size:14px;margin-bottom:12px;cursor:pointer;font-family:var(--primary-font)}.action-row{font-family:var(--primary-font);margin-top:10px}.primary-button{font-family:var(--primary-font);padding:10px 16px;border-radius:6px;border:none;background:var(--primary-green);color:#fff;font-weight:500;cursor:pointer;transition:.2s}.primary-button:hover{font-family:var(--primary-font);background:var(--secondary-green)}.primary-button:disabled{font-family:var(--primary-font);background:var(--disabled-blue);cursor:not-allowed}.results-page{font-family:var(--primary-font);margin-top:20px}.request-summary-card{font-family:var(--primary-font);background:#fff;border-radius:10px;padding:20px;border:1px solid #e5e5e5;display:flex;flex-direction:column;gap:18px}.summary-section{font-family:var(--primary-font);display:flex;flex-direction:column;gap:6px}.summary-section label{font-family:var(--primary-font);font-weight:600;font-size:14px}.summary-text{background:#f9fafb;padding:10px;border-radius:6px;font-size:14px;font-family:var(--primary-font)}.summary-file-list{list-style:none;padding:0;font-family:var(--primary-font);margin:0}.summary-file-list li{padding:8px;border-bottom:1px solid #eee;font-family:var(--primary-font)}.wordcloud-output img{max-width:100%;border-radius:8px;border:1px solid #ddd;font-family:var(--primary-font)}.csv-table-wrapper{overflow-x:auto;border:1px solid #e5e5e5;border-radius:8px;font-family:var(--primary-font)}.csv-table{width:100%;border-collapse:collapse;font-size:14px;font-family:var(--primary-font)}.csv-table th{background:#f3f4f6;text-align:left;padding:10px;font-weight:600;border-bottom:1px solid #ddd;font-family:var(--primary-font)}.csv-table td{padding:8px 10px;border-bottom:1px solid #eee;font-family:var(--primary-font)}.csv-table tr:hover{background:#fafafa;font-family:var(--primary-font)}.group-btns{display:flex;flex-direction:row;gap:15px;font-family:var(--primary-font)}.group-btn{padding:10px 16px;border-radius:6px;border:1px solid var(--primary-green);background:#fff;color:#000;font-weight:500;cursor:pointer;transition:.2s;font-family:var(--primary-font)}.group-btn:hover{background-color:var(--disabled-blue);color:#fff}.group-btn:disabled{cursor:not-allowed}@media(max-width:768px){.document-card,.results-page{max-width:100%}}.nf-wrapper{width:1375px;height:900px;margin:25px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.nf-card{text-align:center;padding:40px 48px;border-radius:18px;background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 30px #0006;max-width:420px}.nf-code{font-size:84px;font-weight:700;margin-bottom:10px}.nf-message{font-size:20px;opacity:.85;margin-bottom:10px}.nf-path{font-size:13px;opacity:.55;margin-bottom:25px;word-break:break-all}.nf-rocket{font-size:44px;margin-bottom:20px;animation:nf-bounce 1.4s infinite}.nf-button{display:inline-block;padding:12px 22px;border-radius:10px;background:#6366f1;color:#fff;text-decoration:none;font-weight:600;transition:background .2s ease,transform .15s ease}.nf-button:hover{background:#4f46e5;transform:translateY(-2px)}@keyframes nf-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}
