body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.feedback-buttons-container{display:inline-block;margin-left:5px;min-height:24px;position:relative;width:40px}.feedback-buttons{background-color:#ffffffe6;border-radius:4px;box-shadow:0 1px 3px #0000001a;padding:4px;position:absolute;right:0;top:0}.feedback-button{align-items:center;color:#555;justify-content:center}.ai-coach-container{background-color:var(--brand-bg);display:flex;flex-direction:column;height:calc(100vh - 140px);padding:1rem}.ai-coach-header{margin-bottom:1rem}.ai-coach-header h2{color:var(--brand-darkblue);margin-bottom:.5rem}.ai-coach-header p{color:var(--brand-darkblue);margin:0}.messages-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;flex-direction:column;margin-bottom:1rem;overflow-y:auto;padding:1rem;position:relative}.message{margin-bottom:1rem;max-width:80%}.user-message{align-self:flex-end}.assistant-message{align-self:flex-start}.message-content{border-radius:1rem;color:var(--brand-text);padding:.75rem 1rem;position:relative}.user-message .message-content{background-color:var(--brand-darkblue);border-bottom-right-radius:.25rem;color:#fff}.assistant-message .message-content{background-color:#f0f0f0;border-bottom-left-radius:.25rem;color:var(--brand-darkblue)}.input-section{align-items:flex-start;display:flex;gap:12px;margin-bottom:10px}.input-form{display:flex;width:calc(100% - 120px)}.input-container{position:relative;width:100%}.input-form{flex:1 1}.input-form textarea{border:1px solid #ddd;border-radius:12px;box-sizing:border-box;font-size:1rem;height:80px;padding:12px 60px 12px 12px;resize:none;width:100%}.send-btn{align-items:center;background-color:var(--brand-darkblue);border:none;border-radius:10px!important;color:#fff;cursor:pointer;display:flex!important;height:40px!important;justify-content:center;max-width:40px!important;min-width:40px!important;padding:0!important;position:absolute;right:12px;top:7px;transition:background-color .2s ease;width:40px!important;z-index:10}.send-btn:hover{background-color:var(--brand-blue)}.send-btn:disabled{background-color:#ccc;cursor:not-allowed}.send-btn svg{display:block;margin:0 auto}.typing-indicator{align-items:center;display:flex;gap:.25rem;justify-content:center}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite both;background-color:#fff;border-radius:50%;display:inline-block;height:6px;width:6px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.suggested-prompts{background-color:#f0f4f8;border-radius:8px;box-sizing:border-box;margin:20px 20px 20px 0;padding:15px 20px;width:calc(100% - 20px)}.suggested-prompts-header{color:var(--brand-darkblue);font-size:1.1rem;font-weight:500;margin-bottom:12px}.prompt-buttons{align-items:flex-start;display:flex;flex-direction:column;gap:10px}.prompt-button{background-color:#e7f3ff;border:1px solid #d0e8ff;border-radius:18px;color:var(--brand-darkblue);cursor:pointer;font-size:.95rem;max-width:90%;padding:10px 16px;text-align:left;transition:all .2s ease;width:auto}.prompt-button:hover{background-color:var(--brand-blue);box-shadow:0 2px 5px #0000001a}.new-session-btn{align-self:center;background-color:var(--brand-darkblue);border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;font-weight:500;height:40px;margin:0;max-width:120px;min-width:100px;padding:.5rem 1rem;transition:background-color .2s ease;white-space:nowrap;width:auto}.new-session-btn:hover{background-color:var(--brand-blue)}.new-session-btn:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:576px){.prompt-button{flex:1 1 100%}.input-form textarea{min-height:60px}.send-btn{height:36px!important;max-width:36px!important;min-width:36px!important;width:36px!important}}.ai-coach-disclaimer{background-color:#e7f3ff;border:1px solid #bee5ff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;padding:.75rem 1rem}.disclaimer-content{color:var(--brand-darkblue);font-size:.9rem;line-height:1.4}.disclaimer-content strong{color:var(--brand-darkblue);font-weight:600}.feedback-buttons-container{align-items:center;display:flex;margin-left:8px}.feedback-buttons{display:flex;gap:8px}.feedback-button{background:none;border:1px solid #ddd;border-radius:4px;color:#999;cursor:pointer;display:flex;padding:4px;transition:background-color .2s,color .2s}.feedback-button:hover{background-color:#f0f0f0;color:#333}.thumbs-up:hover{color:var(--brand-darkblue)}.thumbs-down:hover{color:#d32f2f}.feedback-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.feedback-modal{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0003;max-width:500px;width:100%}.feedback-modal-header{border-bottom:1px solid #eee;display:flex;padding:16px;position:relative}.feedback-modal-header h3{color:var(--brand-darkblue);font-size:18px;margin:0}.close-button{align-items:center;background:var(--brand-darkblue);border:1px solid var(--brand-darkblue);border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:10px;top:0;width:24px}.close-button:hover{background-color:var(--brand-blue)}.feedback-modal-body{padding:16px}.feedback-modal-body textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:inherit;margin:0;min-height:100px;padding:8px;resize:vertical;width:100%}.feedback-modal-footer{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:16px}.cancel-button{background-color:#f5f5f5;border:none;border:1px solid var(--brand-darkblue);border-radius:4px;color:var(--brand-darkblue)}.cancel-button,.submit-button{cursor:pointer;padding:8px 16px}.submit-button{background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff}.submit-button:hover{background-color:var(--brand-blue)}.markdown-renderer{word-wrap:break-word;color:inherit;line-height:1.6;text-align:left!important}.assistant-message .markdown-renderer{line-height:1.2}.ai-message .markdown-renderer{line-height:1.3}.markdown-renderer *{text-align:left!important}.markdown-renderer h1,.markdown-renderer h2,.markdown-renderer h3,.markdown-renderer h4,.markdown-renderer h5,.markdown-renderer h6{color:var(--brand-darkblue);font-weight:600;line-height:1.3;margin-bottom:.5em;margin-top:1.5em}.markdown-renderer h1{border-bottom:2px solid var(--brand-blue);font-size:1.8em;padding-bottom:.3em}.markdown-renderer h2{border-bottom:1px solid var(--brand-blue);font-size:1.5em;padding-bottom:.3em}.markdown-renderer h3{font-size:1.3em}.markdown-renderer h4{font-size:1.1em}.markdown-renderer h5,.markdown-renderer h6{font-size:1em}.markdown-renderer h1:first-child,.markdown-renderer h2:first-child,.markdown-renderer h3:first-child,.markdown-renderer h4:first-child,.markdown-renderer h5:first-child,.markdown-renderer h6:first-child{margin-top:0}.markdown-renderer p{margin-bottom:.1em;margin-top:0}.assistant-message .markdown-renderer p{margin-bottom:.3em}.ai-message .markdown-renderer p{margin-bottom:0}.markdown-renderer strong{color:var(--brand-darkblue);font-weight:600}.markdown-renderer em{font-style:italic}.markdown-renderer a{color:var(--brand-darkblue);text-decoration:underline;text-decoration-color:var(--brand-blue);transition:color .2s ease}.markdown-renderer a:hover{color:var(--brand-blue);text-decoration-color:var(--brand-darkblue)}.markdown-renderer ol,.markdown-renderer ul{margin-bottom:1em;padding-left:1.5em}.markdown-renderer ul{list-style-type:disc}.markdown-renderer ol{list-style-type:decimal}.markdown-renderer li{margin-bottom:.25em}.markdown-renderer li:last-child{margin-bottom:0}.markdown-renderer ol ol,.markdown-renderer ol ul,.markdown-renderer ul ol,.markdown-renderer ul ul{margin-bottom:.25em;margin-top:.25em}.markdown-renderer code{background-color:#f5f5f5;border-radius:3px;color:var(--brand-darkblue);font-family:Courier New,Consolas,monospace;font-size:.9em;padding:.2em .4em}.markdown-renderer pre{background-color:#2d3748;border-radius:6px;margin:1em 0;overflow-x:auto;padding:1em}.markdown-renderer pre code{background-color:initial;border-radius:0;color:inherit;font-size:.9em;padding:0}.markdown-renderer .token.cdata,.markdown-renderer .token.comment,.markdown-renderer .token.doctype,.markdown-renderer .token.prolog{color:#999}.markdown-renderer blockquote{background-color:#1167be0d;border-left:4px solid var(--brand-blue);font-style:italic;margin:1em 0;padding:.5em 1em}.markdown-renderer blockquote p{margin-bottom:.5em}.markdown-renderer blockquote p:last-child{margin-bottom:0}.markdown-renderer hr{border:none;border-top:2px solid var(--brand-blue);margin:2em 0}.markdown-renderer table{border-collapse:collapse;margin:1em 0;width:100%}.markdown-renderer td,.markdown-renderer th{border:1px solid #ddd;padding:.5em;text-align:left}.markdown-renderer th{background-color:var(--brand-bg);color:var(--brand-darkblue);font-weight:600}@media (max-width:768px){.markdown-renderer{font-size:.9em}.markdown-renderer h1{font-size:1.6em}.markdown-renderer h2{font-size:1.4em}.markdown-renderer h3{font-size:1.2em}.markdown-renderer pre{margin:.8em 0;padding:.8em}}.message-wrapper{display:flex;position:relative;width:100%}.message-content{flex:1 1}.actions-dropdown{margin-left:auto;position:relative}.actions-btn{align-items:center;background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.3rem .8rem}.actions-btn:hover{background-color:var(--brand-blue)}.dropdown-caret{font-size:.7rem;margin-top:2px}.actions-menu{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 5px #0000001a;margin-top:5px;min-width:180px;position:absolute;right:0;top:100%;z-index:10}.chat-placeholder{margin-bottom:12px}.actions-menu button{background:none;border:none;border-radius:0;color:var(--brand-darkblue);cursor:pointer;display:block;font-size:.85rem;margin:0;padding:8px 12px;text-align:left;width:100%}.actions-menu button:hover{background-color:#f5f5f5}.menu-divider{background-color:#ddd;height:1px;margin:4px 0}.actions-menu .clear-session-btn{color:#dc3545;font-weight:500}.actions-menu .clear-session-btn:hover{background-color:#fff8f8}.actions-menu button:not(:last-child){border-bottom:1px solid #eee}.report-writer-container{background-color:var(--brand-bg);min-height:calc(100vh - 120px);padding:0 1rem 1rem 2rem}.report-writer-container h2{display:inline-block;font-size:1.5rem;line-height:10px;margin:0 1rem 0 0;vertical-align:middle}.report-select-container{align-items:center;display:flex;flex:1 1;justify-content:center;margin:0}.report-select{border:1px solid #ddd;border-radius:4px;font-size:.7rem;height:30px;line-height:20px;margin:0;max-width:300px;padding:.5rem;vertical-align:middle;width:100%}.report-layout{display:flex;gap:20px;height:calc(100vh - 140px);margin-top:10px}.report-chat{background:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;display:flex;flex:0.3 1;flex-direction:column;padding:10px 10px 10px 15px}.report-chat h3,.report-chat>:first-child,.report-chat>div>h3,.report-chat>h3{color:var(--brand-darkblue)}.chat-messages{border:1px solid #ccc;border-radius:4px;flex:1 1;margin-bottom:10px;overflow-y:auto;padding:10px}.chat-message{border-radius:4px;margin-bottom:12px;padding:8px;white-space:pre-wrap}.chat-message.loading{opacity:.8}.loading-indicator{align-items:center;display:inline-flex;margin-left:8px}.loading-indicator .dot{animation:bounce 1.4s ease-in-out infinite both;background-color:#888;border-radius:50%;display:inline-block;height:8px;margin-right:4px;width:8px}.loading-indicator .dot:first-child{animation-delay:-.32s}.loading-indicator .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.ai-message{background-color:#f0f4f8;white-space:pre-wrap}.user-message{background-color:initial}.chat-input-area{align-items:center;background-color:#ffffffe6;border-radius:24px;box-shadow:0 1px 3px #0000001a;display:flex;margin-bottom:12px;padding:8px 16px;position:relative}.chat-input-area textarea{background:#0000;border:none;flex:1 1;font-family:inherit;font-size:14px;max-height:150px;min-height:24px;outline:none;padding:8px 0;resize:none}.chat-input-buttons{display:flex;flex-direction:column;gap:5px;height:70px;justify-content:center}.chat-input-area button{align-items:center;background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;height:32px;justify-content:center;margin:0;min-height:32px;min-width:32px;padding:0;width:32px}.chat-input-area button.send-btn:after{content:"➤";font-size:1rem}.chat-actions{display:flex;gap:12px;margin-bottom:12px}.message-content{white-space:pre-wrap}.list-item{align-items:flex-start;display:flex;margin:2px 0}.list-number{margin-right:1px;min-width:24px;text-align:right}.list-bullet{margin-right:8px}.action-btn{align-items:center;background:#0000;border:none;border-radius:16px;color:var(--brand-darkblue);cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 12px;transition:all .2s ease}.action-btn:hover{background-color:#1167be1a}.icon-archive:before{content:"📁";font-size:16px}.icon-evaluate:before{content:"✓";font-size:16px}.voice-btn:active{transform:scale(.9)}.action-btn:active{transform:scale(.95)}.voice-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;margin-left:8px;padding:0;transition:all .2s ease;width:32px}.voice-btn:hover{background-color:var(--brand-blue)}.voice-btn svg path{fill:#fff}.voice-btn[data-recording=true]{background-color:#ff4c4c1a}.voice-btn[data-recording=true] svg path{fill:#ff4c4c!important}.report-preview-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.report-preview-header h3{color:var(--brand-darkblue);margin:0}.report-preview{background:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;flex:0.7 1;overflow-y:auto;padding:10px;position:relative}.report-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:0}.report-buttons button{background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.3rem .8rem;white-space:nowrap;width:auto}.new-report-btn,.report-buttons button:hover{background-color:var(--brand-blue)}.new-report-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-right:10px;padding:.3rem .8rem}.new-report-btn:hover{background-color:var(--brand-darkblue)}.new-report-btn:disabled{background-color:#ccc;cursor:not-allowed}.select-report-prompt{animation:pulse 2s infinite;background-color:var(--brand-blue);border:2px solid var(--brand-darkblue);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--brand-white);font-size:1.2rem;font-weight:700;margin:2rem auto;max-width:80%;padding:2rem;text-align:center}.template-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:2fr 2fr;grid-template-rows:auto auto auto auto;margin-top:10px}.banner-left,.banner-right{background:#fffa97;border:1px solid #ccc;border-radius:4px;font-size:.8rem;padding:5px}.banner-left strong{display:inline-block;font-size:.9em;margin-bottom:4px}.banner-left input{font-size:.8rem;height:15px;margin-bottom:4px;padding:4px}.banner-left br{line-height:.5}.banner-right{font-size:.9rem;text-align:right}.banner-right div{margin-bottom:2px}.banner-right div:last-child{color:#666;font-weight:700;text-transform:uppercase}.banner-left-kd,.banner-right-kd{background:#b3ff9f}.template-box{background:#fff;border:1px solid #ccc;border-radius:4px;display:flex;flex-direction:column;padding:10px}.template-box h4{align-items:center;color:var(--brand-darkblue);display:flex;font-size:.9rem;margin-bottom:8px;margin-top:0}.template-box h4 .subtitle{color:#666;font-size:.8rem;margin-left:8px}.template-box textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;flex-grow:1;font-family:inherit;font-size:14px;line-height:1.5;margin-top:5px;min-height:60px;padding:10px;resize:vertical;width:100%}.template-grid .template-box textarea{display:block;margin:0;overflow:auto;width:calc(100% - 2px)}.template-large{min-height:150px}.template-box.done-box h4,.template-box.learned h4,.template-box.recommendations h4,template-box.purpose h4{align-items:center;display:flex}button:disabled{opacity:.6}.chat-input-area textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.action-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:900px){.report-layout{flex-direction:column;height:auto}.report-chat,.report-preview{min-height:400px;width:100%}}.open-doc-btn{background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:.7rem;margin-left:5px;padding:2px 8px;vertical-align:middle}.open-doc-btn:hover{background-color:var(--brand-blue)}.sources-section{background-color:#f7f9fc;border:1px solid #e0e6ed;border-radius:6px;margin-top:12px;padding:10px}.sources-section h4{color:var(--brand-darkblue);font-size:.9rem;margin:0 0 8px}.sources-list{list-style:none;margin:0;max-height:150px;overflow-y:auto;padding:0}.source-item{margin-bottom:5px}.source-link{color:var(--brand-darkblue);display:inline-block;font-size:.9rem;padding:3px 0;text-decoration:none}.source-link:hover{text-decoration:underline}.source-link:before{content:"📄 ";margin-right:5px}@media (max-width:600px){.btn-text{display:none}.action-btn{padding:8px}.chat-input-area{padding:6px 12px}}.archive-container{-webkit-font-smoothing:antialiased;background-color:var(--brand-bg);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;gap:20px;height:auto;margin-top:20px;min-height:calc(100vh - 120px);padding:1rem 1rem 1rem 2rem}.archive-container h2{color:var(--brand-darkblue);display:inline-block;font-size:1.5rem;line-height:10px;margin:0 1rem 0 0;vertical-align:middle}.project-creation{display:flex;gap:10px;margin-bottom:15px}.project-creation .project-name-input{border:1px solid #ddd;border-radius:4px;flex:3 1;padding:8px}.project-creation .add-project-btn{background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;padding:8px 15px}.project-creation .add-project-btn:hover{background-color:var(--brand-blue)}.archive-layout{display:flex;gap:20px;height:calc(100vh - 200px);margin-top:20px}.archive-structure-column,.upload-projects-column{background:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;display:flex;flex-basis:calc(50% - 10px);flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;overflow:auto;padding:15px;width:calc(50% - 10px)}.archive-structure-column h3,.upload-projects-column h3{color:var(--brand-darkblue);margin-top:0}.projects-list{flex:1 1;overflow-y:auto}.projects-list h4{color:var(--brand-darkblue);margin-bottom:10px;margin-top:0}.projects-list ul{list-style:none;margin:0;padding:0}.projects-list li{border-radius:4px;cursor:pointer;padding:8px;transition:background-color .2s}.projects-list li:hover{background-color:#f0f4f8}.projects-list li.selected{background-color:#e7f3ff;color:var(--brand-darkblue)}.file-upload-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:15px;width:92%}.file-upload-controls input[type=file]{flex:3 1}.file-upload-controls button{align-self:flex-start;background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:8px;padding:10px 16px}.file-upload-controls button:disabled{background-color:#ccc;cursor:not-allowed}.file-upload-controls button:hover{background-color:var(--brand-blue)}.dropzone{background-color:#fafafa;border:2px dashed #ccc;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:20px;text-align:center;transition:border-color .2s ease;width:100%}.dropzone.active,.dropzone:hover{border-color:var(--brand-darkblue)}.dropzone p{color:#666;margin:0}.dropzone .file-types{color:#888;font-size:.8rem;margin-top:8px}.selected-files{background-color:#f8f9fa;border-radius:4px;margin-top:1rem;min-width:0;padding:1rem;width:100%}.selected-files h4{color:var(--brand-darkblue);margin:0 0 .5rem}.selected-files ul{list-style:none;margin:0;padding:0}.selected-files li{color:#666;font-size:.9rem;padding:.25rem 0;word-break:break-all}.uploaded-files{flex:1 1;min-width:0;overflow-y:auto;width:100%}.uploaded-files h3{color:var(--brand-darkblue);margin-top:0}.files-list{list-style:none;margin:0;padding:0}.file-item{align-items:center;background:#f9f9f9;border-left:3px solid #0000;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;min-width:0;padding:.8rem}.file-item.success{border-left-color:#4caf50}.file-item.failed{border-left-color:#f44336}.file-item.processing{border-left-color:#2196f3}.file-info{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.file-name{display:block;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-word}.file-meta{color:#666;display:flex;flex-wrap:wrap;font-size:.8rem;margin-top:4px}.file-size,.file-type{margin-right:10px}.embedding-badge{border-radius:8px;font-size:.7rem;margin-left:8px;padding:.1rem .4rem;white-space:nowrap}.embedding-badge.success{background-color:#e8f5e9;color:#2e7d32}.embedding-badge.failed{background-color:#ffebee;color:#c62828}.embedding-badge.processing{background-color:#e3f2fd;color:#1565c0}.file-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.open-file-btn{background-color:var(--brand-darkblue);border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.8rem;margin-right:8px;min-width:fit-content;padding:4px 8px}.open-file-btn:hover{background-color:var(--brand-blue)}.delete-file-btn{background-color:#fee2e2;border:none;border-radius:3px;color:#b91c1c;cursor:pointer;font-size:.8rem;min-width:fit-content;padding:4px 8px}.delete-file-btn:hover{background-color:#fecaca}.project-actions{display:flex;gap:10px;justify-content:flex-end;margin-bottom:15px}.delete-btn{background-color:#dc3545;color:#fff;font-size:.9rem;padding:6px 12px}.delete-btn:hover{background-color:#c82333}.upload-error{color:#dc3545;font-size:.9rem;margin-top:4px}.error{color:#e53e3e;text-align:center}@media (max-width:768px){.archive-layout{flex-direction:column;height:auto}.archive-structure-column,.upload-projects-column{flex:none;height:auto;margin-bottom:20px;width:100%}}.user-admin-container{background-color:var(--brand-bg);min-height:calc(100vh - 140px);padding:1rem}.user-admin-layout{display:flex;gap:20px;margin-top:20px}.user-creation-section,.users-list-section{background:#fff;border:1px solid #ddd;border-radius:4px;flex:1 1;padding:15px}.user-creation-section h3,.users-list-section h3{color:var(--brand-darkblue);margin-top:0}.user-creation-form .form-group{margin-bottom:1rem}.user-creation-form label{color:var(--brand-darkblue);display:block;font-weight:700;margin-bottom:.5rem}.user-creation-form input,.user-creation-form select{border:1px solid #ddd;border-radius:4px;padding:.5rem;width:95%}.create-user-btn{background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.75rem;width:100%}.create-user-btn:hover{background-color:var(--brand-blue)}.users-list{max-height:calc(100vh - 300px);overflow-y:auto}.user-details .user-role{margin-top:.5rem}.delete-btn{border:none;border-radius:4px;cursor:pointer;padding:.5rem 1rem}.delete-btn:hover{background-color:#fecaca}.session-status-bar{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.session-info{color:var(--brand-darkblue);font-size:.9rem;font-weight:500}.token-expiry{align-items:center;color:#64748b;display:flex;font-size:.85rem;font-weight:500;gap:.25rem}.token-expiry.warning{animation:pulse-warning 2s infinite;color:#dc2626;font-weight:600}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.session-warning-banner{animation:gentle-bounce 3s infinite;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:8px;box-shadow:0 2px 4px #f59e0b33;color:#92400e;font-weight:600;margin-bottom:1rem;padding:1rem;text-align:center}@keyframes gentle-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-2px)}60%{transform:translateY(-1px)}}.session-expired-message{background:#fff;border:2px solid #fee2e2;border-radius:12px;box-shadow:0 10px 25px #0000001a;margin:2rem auto;max-width:500px;padding:3rem 2rem;text-align:center}.session-expired-message h2{color:#dc2626;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.session-expired-message p{color:#6b7280;font-size:1.1rem;line-height:1.5;margin:0 0 2rem}.session-expired-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.go-home-btn,.login-again-btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;min-width:140px;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.login-again-btn{background:linear-gradient(135deg,var(--brand-darkblue) 0,var(--brand-blue) 100%);box-shadow:0 4px 12px #3b82f64d;color:#fff}.login-again-btn:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.go-home-btn{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 4px 12px #6b72804d;color:#fff}.go-home-btn:hover{box-shadow:0 6px 20px #6b728066;transform:translateY(-2px)}.global-error-message{align-items:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:8px;box-shadow:0 2px 4px #dc26261a;color:#dc2626;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:1rem}.dismiss-error{background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:1.2rem;font-weight:700;margin:0;padding:.25rem;transition:background-color .2s ease;width:auto}.dismiss-error:hover{background-color:#dc26261a}.impersonation-banner{align-items:center;background-color:#ff9800;border-radius:4px;color:#fff;display:flex;font-weight:700;justify-content:space-between;margin-bottom:1rem;padding:1rem}.stop-impersonation-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;margin:0;padding:.5rem 1rem;width:auto}.stop-impersonation-btn:hover{background-color:#d32f2f}.tab-navigation{border-bottom:2px solid #ddd;display:flex;margin-bottom:2rem}.tab-navigation button{background:none;border:none;border-bottom:3px solid #0000;color:var(--brand-darkblue);cursor:pointer;font-weight:500;margin:0;padding:1rem 2rem;width:auto}.tab-navigation button:hover{background-color:#f5f5f5}.tab-navigation button.active{background-color:#f0f8ff;border-bottom-color:var(--brand-darkblue)}.tenants-section{padding:1rem}.tenants-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.tenant-card{border:1px solid #ddd;box-shadow:0 2px 4px #0000001a}.tenant-card h4{color:var(--brand-darkblue);margin:0 0 .5rem}.tenant-card p{color:#666;margin:0 0 1rem}.impersonate-btn{background-color:var(--brand-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;margin:0;padding:.75rem 1rem;width:100%}.impersonate-btn:hover{background-color:var(--brand-darkblue)}.usage-section{padding:1rem}.usage-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.refresh-btn{background-color:#4caf50;border:none;border-radius:4px;cursor:pointer;margin:0;padding:.75rem 1.5rem;width:auto}.refresh-btn:hover{background-color:#45a049}.usage-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.usage-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.usage-card h4{border-bottom:1px solid #eee;color:var(--brand-darkblue);margin:0 0 1rem;padding-bottom:.5rem}.usage-stats{margin-bottom:1rem}.usage-item{display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.25rem 0}.usage-item span:first-child{color:#333;font-weight:500}.usage-item span:last-child{color:var(--brand-darkblue);font-weight:700}.usage-progress{background-color:#f0f0f0;border-radius:10px;height:20px;margin-bottom:1rem;overflow:hidden}.progress-bar{border-radius:10px;height:100%;transition:width .3s ease}.token-limit-control{align-items:center;display:flex;gap:.5rem}.token-limit-control label{color:#333;font-weight:500;margin-bottom:0}.token-limit-control input{border:1px solid #ddd;border-radius:4px;margin:0;padding:.5rem;width:80px}.user-item{align-items:center;background:#f9f9f9;border-bottom:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:1rem}.user-details{display:flex;flex-direction:column;gap:.25rem}.user-details strong{color:var(--brand-darkblue)}.user-details .user-role{background-color:#e7f3ff;border-radius:4px;color:#666;color:var(--brand-darkblue);display:inline-block;font-size:.8rem;margin-top:.25rem;padding:.2rem .5rem;width:fit-content}.user-details .tenant-info{color:#666;font-size:.8rem;font-style:italic}.form-group label{color:var(--brand-darkblue);display:block;font-weight:700;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;padding:.5rem;width:95%}.tenant-management-section{padding:1rem}.tenant-creation-section{box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.tenant-creation-section h4{color:var(--brand-darkblue);margin:0 0 1rem}.tenant-creation-form{max-width:500px}.tenant-creation-form .form-group{margin-bottom:1rem}.tenant-creation-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;padding:.5rem;resize:vertical;width:95%}.create-tenant-btn{background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;margin:0;padding:.75rem 1.5rem;width:auto}.create-tenant-btn:hover{background-color:var(--brand-blue)}.existing-tenants-section{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.existing-tenants-section h4{color:var(--brand-darkblue);margin:0 0 1rem}.tenants-list{max-height:400px;overflow-y:auto}.tenant-item{align-items:center;background:#f9f9f9;border-bottom:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:1rem}.tenant-details{display:flex;flex-direction:column;gap:.25rem}.tenant-details strong{color:var(--brand-darkblue);font-size:1.1rem}.tenant-details span{color:#666;font-size:.9rem}.delete-tenant-btn{background-color:#fee2e2;border:none;border-radius:4px;color:#b91c1c;cursor:pointer;margin:0;padding:.5rem 1rem;width:auto}.delete-tenant-btn:hover{background-color:#fecaca}.tenant-management-section{padding:20px}.section-header{margin-bottom:20px}.section-header h3{color:#333}.create-tenant-btn,.refresh-btn,.retry-btn,.toggle-form-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px}.create-tenant-btn,.toggle-form-btn{background-color:#007bff;color:#fff}.create-tenant-btn:hover,.toggle-form-btn:hover{background-color:#0056b3}.create-tenant-btn:disabled{background-color:#6c757d;cursor:not-allowed}.refresh-btn{background-color:#28a745}.refresh-btn:hover{background-color:#218838}.retry-btn{background-color:#ffc107;color:#212529}.retry-btn:hover{background-color:#e0a800}.tenant-creation-section{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:30px;padding:20px}.tenant-creation-form{border-top:1px solid #eee;margin-top:20px;padding-top:20px}.tenant-creation-form .form-group{margin-bottom:15px}.tenant-creation-form label{color:#333;display:block;font-weight:500;margin-bottom:5px}.tenant-creation-form input,.tenant-creation-form textarea{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.tenant-creation-form input:focus,.tenant-creation-form textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.tenants-list-section{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.tenants-table-container{margin:20px 0;overflow-x:auto}.tenants-table{border-collapse:collapse;margin:0;width:100%}.tenants-table td,.tenants-table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.tenants-table th{color:#495057;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.tenants-table th,.tenants-table tr:hover{background-color:#f8f9fa}.tenants-table .no-data{color:#6c757d;font-style:italic;padding:40px;text-align:center}.tenant-info{display:flex;flex-direction:column}.tenant-info strong{color:#333;font-weight:600;margin-bottom:2px}.tenant-email{color:#6c757d;font-size:12px}.aws-info{display:flex;flex-direction:column}.aws-info div{color:#333;font-weight:500}.aws-info small{color:#6c757d;font-size:11px}.status-badge{display:inline-block;font-size:12px;padding:4px 12px;text-align:center}.status-creating{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-setting-up{background-color:#cce5ff;border:1px solid #99d6ff;color:#004085}.status-ready{background-color:#d4edda;border:1px solid #a3d4a7;color:#155724}.status-failed{background-color:#f8d7da;border:1px solid #f1aeb5;color:#721c24}.status-unknown{background-color:#e2e3e5;border:1px solid #ced4da;color:#383d41}.auto-refresh-indicator{color:#6c757d;font-size:12px;font-style:italic;margin-top:15px;text-align:center}.loading-container{color:#6c757d;padding:40px;text-align:center}.error-message{background-color:#f8d7da;border:1px solid #f1aeb5;color:#721c24;margin-bottom:20px;padding:12px}@media (max-width:768px){.section-header{align-items:flex-start;flex-direction:column;gap:10px}.tenants-table{font-size:14px}.tenants-table td,.tenants-table th{padding:8px}.session-status-bar{gap:.5rem}.session-expired-actions,.session-status-bar{align-items:stretch;flex-direction:column}.go-home-btn,.login-again-btn{min-width:auto;width:100%}}.billing-dashboard{margin:0 auto;max-width:1400px;padding:1rem}.billing-header{border-bottom:2px solid #eee;margin-bottom:2rem;padding-bottom:1rem}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.billing-header h3{color:var(--brand-darkblue);font-size:1.5rem;font-weight:600;margin:0}.month-selector{align-items:center;display:flex;gap:.5rem}.month-selector label{color:var(--brand-darkblue);font-weight:500;margin-bottom:0}.month-dropdown{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:var(--brand-darkblue);font-size:.9rem;margin:0;min-width:180px;padding:.5rem 1rem}.month-dropdown:focus{border-color:var(--brand-blue);box-shadow:0 0 0 2px #3b82f61a;outline:none}.summary-section{margin-bottom:2.5rem}.summary-section h4{color:var(--brand-darkblue);font-size:1.2rem;font-weight:600;margin:0 0 1rem}.summary-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:1rem}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:1.5rem;transition:box-shadow .2s ease}.summary-card:hover{box-shadow:0 4px 8px #0000001a}.card-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.card-icon{font-size:1.5rem}.card-title{color:#6b7280;font-size:.9rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.card-value{color:var(--brand-darkblue);font-size:2rem;font-weight:700;line-height:1;margin-bottom:.5rem}.card-subtitle{color:#6b7280;font-size:.85rem}.growth-positive{color:#22c55e;font-weight:500}.growth-negative{color:#ef4444;font-weight:500}.growth-neutral{color:#6b7280;font-weight:500}.tenants-section{margin-bottom:2.5rem}.tenants-section h4{color:var(--brand-darkblue);font-size:1.2rem;font-weight:600;margin:0 0 1.5rem}.tenants-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.tenant-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:1.5rem;transition:all .2s ease}.tenant-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.tenant-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.tenant-header h5{color:var(--brand-darkblue);flex:1 1;font-size:1.1rem;font-weight:600;margin:0}.status-badge{border-radius:12px;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.status-good{background-color:#dcfce7;color:#166534}.status-excellent{background-color:#dbeafe;color:#1e40af}.status-warning{background-color:#fef3c7;color:#92400e}.tenant-stats{margin-bottom:1rem}.stat-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.5rem 0}.stat-row:last-child{border-bottom:none}.stat-label{color:#6b7280;font-size:.9rem;font-weight:500}.stat-value{color:var(--brand-darkblue);font-size:.9rem;font-weight:600}.stat-total{font-size:1rem;font-weight:700}.tenant-insights{display:flex;flex-wrap:wrap;gap:.5rem}.insight-badge{background-color:#f3f4f6;border-radius:16px;color:#374151;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.export-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:2rem;padding:1.5rem}.export-section h4{color:var(--brand-darkblue);font-size:1.1rem;font-weight:600;margin:0 0 1rem}.export-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.export-btn,.refresh-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;margin:0;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease;width:auto}.export-btn{background-color:var(--brand-blue);color:#fff}.export-btn:hover:not(:disabled){background-color:var(--brand-darkblue);transform:translateY(-1px)}.export-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.refresh-btn{background-color:#10b981;color:#fff}.refresh-btn:hover:not(:disabled){background-color:#059669;transform:translateY(-1px)}.refresh-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.export-info{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem}.export-info p{color:#6b7280;font-size:.9rem;margin:.25rem 0}.export-info strong{color:var(--brand-darkblue)}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.loading-container p{color:#6b7280;font-size:1.1rem;margin:0}.error-container .error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;margin-bottom:1rem;padding:1rem}.retry-btn{background-color:var(--brand-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;margin:0;padding:.75rem 1.5rem;width:auto}.retry-btn:hover{background-color:var(--brand-darkblue)}.no-data{color:#6b7280;padding:3rem 1rem;text-align:center}.no-data p{font-size:1.1rem;margin:0}@media (max-width:768px){.billing-dashboard{padding:.5rem}.header-content{align-items:stretch;flex-direction:column}.summary-grid,.tenants-grid{grid-template-columns:1fr}.export-controls{flex-direction:column}.export-btn,.refresh-btn{justify-content:center;width:100%}.tenant-header{align-items:stretch;flex-direction:column;gap:.5rem}.status-badge{align-self:flex-start}}@media (max-width:480px){.card-value{font-size:1.5rem}.stat-row{align-items:flex-start;flex-direction:column;gap:.25rem}.month-dropdown{font-size:.8rem;min-width:140px}}.login-container,.register-container{align-items:center;background-color:var(--brand-bg);display:flex;justify-content:center;min-height:100vh}.login-form,.register-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;width:100%}h2{color:var(--brand-darkblue);margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}label{display:block;font-weight:700;margin-bottom:.5rem}.login-form .form-group input,.register-form .form-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem!important;width:100%!important}.login-form button,.register-form button{background-color:var(--brand-darkblue);border:none;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem;width:100%}button:hover{background-color:var(--brand-blue)}button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#ffebee;border-radius:4px;color:#c62828;margin-bottom:1rem;padding:.75rem}p{margin-top:1rem;text-align:center}a{color:var(--brand-darkblue);text-decoration:none}a:hover{text-decoration:underline}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:1.5rem;position:relative;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.modal-header h3{color:var(--brand-darkblue);margin:0}.modal-header .close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;margin:0;padding:0;width:auto}.note{color:#666;font-size:.8rem;margin-top:.5rem}.project-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.section-header{margin-bottom:1rem}.decision-list,.events-list,.gap-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:1rem}.decision-card,.event-card,.gap-card{background:#f9f9f9;border:1px solid #eee;border-radius:6px;padding:1rem}.decision-header,.gap-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.decision-header h4,.gap-header h4{color:var(--brand-darkblue);margin:0}.status-badge{font-size:.7rem;padding:.2rem .5rem}.card-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.small-btn{padding:.3rem .6rem}.project-board-container{overflow-x:auto;padding:1rem}.project-board-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.project-status{background-color:#e7f3ff;border-radius:4px;color:var(--brand-darkblue);font-size:.9rem;padding:.25rem .75rem}.board-controls{margin-bottom:1rem}.add-ie-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.add-ie-btn,.add-ie-btn:hover{background-color:var(--brand-darkblue)}.board-container{display:flex;gap:1.5rem;min-height:400px;padding-bottom:1rem}.ie-column{background:var(--brand-bg);border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-direction:column;max-height:calc(100vh - 200px);min-width:300px;width:300px}.ie-column-header{align-items:center;background-color:var(--brand-darkblue);border-top-left-radius:6px;border-top-right-radius:6px;color:#fff;display:flex;justify-content:space-between;padding:1rem}.ie-column-header h3{color:#fff;font-size:1.1rem;margin:0}.ie-column-actions{display:flex;gap:.5rem}.icon-btn{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;margin:0;padding:.25rem;width:auto}.icon-btn:hover{background-color:#fff3;border-radius:4px}.ie-column-content{flex-grow:1;min-height:200px;overflow-y:auto;padding:1rem}.dragging-over{background-color:#e7f3ff}.no-items-text{color:#888;font-style:italic;margin:2rem 0;text-align:center}.add-kd-btn{background-color:var(--brand-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;margin:.75rem;padding:.5rem}.add-kd-btn:hover{background-color:#e68c00}.kd-card{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 4px #0000000d;cursor:grab;margin-bottom:.75rem;padding:.75rem;touch-action:none}.kd-card:active{cursor:grabbing}.kd-card-header{justify-content:space-between}.kd-card-body{color:#333;font-size:.9rem;margin-bottom:.75rem}.kd-card-body p{margin:.5rem 0}.kd-card-actions{display:flex;gap:.5rem;justify-content:flex-end}.small-btn{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;margin:0;padding:.25rem .5rem;width:auto}.no-events-message{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem;text-align:center;width:100%}.no-events-message p{color:#666;margin-bottom:1.5rem}.kd-card-knowledge-gaps{border-top:1px dashed #ddd;margin-top:.75rem;padding-top:.5rem}.kg-list{font-size:.85rem;margin:.5rem 0 0;padding-left:1.25rem}.kg-item{color:#666;margin-bottom:.25rem}.kg-title{color:var(--brand-darkblue);cursor:pointer;display:inline-block;max-width:150px;overflow:hidden;text-decoration:underline;text-decoration-style:dotted;text-overflow:ellipsis;white-space:nowrap}.kg-title:hover{text-decoration-style:solid}.view-toggle{align-items:center;display:flex;margin-left:20px}.view-toggle label{align-items:center;cursor:pointer;display:flex;margin-left:15px}.view-toggle input{margin-right:5px}.side-drawer{background:#fff;box-shadow:-2px 0 6px #0003;height:100%;overflow-y:auto;padding:20px;position:fixed;right:-400px;top:0;transition:right .3s ease;width:400px;z-index:999}.side-drawer.open{right:0}.side-drawer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.side-drawer-header h3{color:var(--brand-darkblue);margin:0}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.2rem}.drawer-content{gap:15px}.drawer-content,.drawer-field{display:flex;flex-direction:column}.drawer-field label{font-weight:500;margin-bottom:5px}.drawer-field input,.drawer-field select,.drawer-field textarea{border:1px solid #ddd;border-radius:4px;padding:8px}.drawer-field textarea{min-height:80px;resize:vertical}.sequence-input-container{align-items:center;display:flex;gap:5px}.sequence-input-container span{font-weight:700}.sequence-input-container input{width:60px}.drawer-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.drawer-actions button{border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.drawer-actions .cancel-btn{background-color:#f0f0f0;color:#333}.drawer-actions .save-btn{background-color:var(--brand-darkblue);color:#fff}.flow-container{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:center;min-height:400px;padding:20px}.flow-placeholder{color:#666;font-style:italic}.kd-number{background-color:#e7f3ff;border-radius:4px;color:var(--brand-darkblue);display:inline-block;font-size:.9rem;font-weight:700;margin-bottom:5px;padding:2px 6px}.kd-card-header{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:.5rem}.kd-card-header h4{color:var(--brand-darkblue);font-size:1rem;margin:0}.kd-status{align-self:flex-start;background-color:#e7f3ff;border-radius:4px;color:var(--brand-darkblue);font-size:.7rem;margin-top:5px;padding:.1rem .5rem;text-transform:capitalize}.kd-card-wrapper{margin-bottom:.75rem;position:relative}.kd-sequence-badge{background-color:var(--brand-darkblue);border-radius:4px;box-shadow:0 1px 3px #0003;color:#fff;font-size:.8rem;font-weight:700;left:10px;padding:2px 8px;position:absolute;top:-10px;z-index:10}.add-kg-btn{background-color:#e7f3ff;color:var(--brand-darkblue)}.add-kg-btn:hover{background-color:#d0e8ff}.kd-detail-container,.kg-detail-container{background-color:var(--brand-bg);min-height:calc(100vh - 120px);padding:2rem}.kd-detail-header,.kg-detail-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.header-left{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.header-left h2{color:var(--brand-darkblue);margin:0}.title-input{font-size:1.5rem;font-weight:700;min-width:300px;padding:.3rem;width:100%}.status-badge,.title-input{color:var(--brand-darkblue)}.status-badge{background-color:#e7f3ff;border-radius:4px;font-size:.9rem;padding:.25rem .75rem;text-transform:capitalize}.header-actions{display:flex;gap:.5rem}.add-btn,.back-btn,.board-btn,.cancel-btn,.delete-btn,.edit-btn,.project-btn,.save-btn{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;margin:0;padding:.5rem 1rem;width:auto}.save-btn{background-color:#4caf50;color:#fff}.cancel-btn{background-color:#f3f4f6;border:1px solid #d1d5db;color:#6b7280}.edit-btn{background-color:#ffeba3;color:#b45309}.delete-btn{background-color:#fee2e2;color:#b91c1c}.back-btn{background-color:#f3f4f6;border:1px solid #d1d5db;color:#6b7280}.board-btn,.project-btn{background-color:var(--brand-darkblue);color:#fff}.add-btn{background-color:#e7f3ff;color:var(--brand-darkblue)}.kd-detail-metadata,.kg-detail-metadata{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.metadata-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.metadata-row:last-child{margin-bottom:0}.metadata-item{flex:1 1;min-width:200px}.metadata-item input,.metadata-item select{border:1px solid #ddd;border-radius:4px;margin-top:.3rem;padding:.5rem;width:100%}.kd-detail-description,.kg-detail-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.kd-detail-description h3,.kd-detail-section h3,.kg-detail-section h3{color:var(--brand-darkblue);margin-bottom:1rem;margin-top:0}.kd-detail-description p,.kg-detail-section p{line-height:1.6;margin:0}.kd-detail-description textarea,.kg-detail-section textarea{border:1px solid #ddd;border-radius:4px;padding:.75rem;resize:vertical;width:100%}.kd-detail-actions,.kg-detail-actions{display:flex;gap:1rem;margin-bottom:2rem}.kd-detail-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h3{color:var(--brand-darkblue);margin:0}.no-items{color:#6b7280;font-style:italic;padding:2rem 0;text-align:center}.knowledge-gaps-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.knowledge-gap-card{background:#f9f9f9;border:1px solid #ddd;border-radius:8px;padding:1rem}.gap-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.gap-header h4{color:var(--brand-darkblue);margin:0}.gap-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.view-btn{background-color:#e7f3ff;border:none;border-radius:4px;color:var(--brand-darkblue);cursor:pointer;font-size:.8rem;padding:.4rem .75rem}.decision-link{color:var(--brand-daarkblue);text-decoration:none}.decision-link:hover{text-decoration:underline}.section-hint{color:#666;font-size:.9rem;font-style:italic;margin-bottom:.5rem;margin-top:0}.related-knowledge-gaps{background-color:var(--brand-bg);border-radius:4px;margin:1rem 0;padding:.75rem}.related-knowledge-gaps ul{margin-bottom:.25rem;margin-top:.5rem;padding-left:1.5rem}.sequence-input-group{align-items:center;display:flex;gap:.25rem}.sequence-input-group span{font-weight:700}.kd-detail-section,.kg-detail-section{margin-bottom:1.5rem}.core-hypothesis-container{background-color:var(--brand-bg);min-height:calc(100vh - 120px);padding:2rem}.core-hypothesis-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:1.5rem;padding:1.5rem}.hypothesis-form{margin-top:1.5rem}.hypothesis-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;margin-bottom:1rem;min-height:120px;padding:.75rem;resize:vertical;width:100%}.save-hypothesis-btn{background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.save-hypothesis-btn:hover{background-color:var(--blue)}.hypothesis-image{border:1px solid #ddd;border-radius:4px;margin-top:1.5rem;max-width:100%;padding:.5rem}.upload-section{border:2px dashed #ddd;border-radius:4px;margin-top:1.5rem;padding:1rem;text-align:center}.upload-btn{background-color:#f0f4f8;border:1px solid #ddd;border-radius:4px;color:var(--brand-darkblue);cursor:pointer;display:inline-block;margin-top:.5rem;padding:.5rem 1rem}:root{--brand-darkblue:#0f1770;--brand-blue:#2c5dd1;--brand-text:#0f1770;--brand-bg:#eef3f9;--brand-white:#fff}.sidebar{background:var(--brand-darkblue);color:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:hidden;padding:0;position:fixed;top:0;transition:width .3s ease;width:250px;z-index:50}.sidebar h2{color:#fff;font-weight:700;margin:0 0 1rem;text-align:left}.sidebar ul{flex:1 1;list-style:none;margin:0;padding:0}.sidebar ul li{cursor:pointer;margin-bottom:4px;padding:0}.sidebar ul li a{align-items:center;color:#fff;display:flex;padding:12px 15px;text-decoration:none;transition:background-color .2s}.sidebar ul li a:hover,.sidebar ul li.active a{background:var(--brand-blue)}.nav-icon{align-items:center;display:flex;height:24px;justify-content:center;margin-right:15px;width:24px}.sidebar.collapsed .nav-icon{margin-right:0}.sidebar.collapsed .spark-logo{height:36px;width:36px}.sidebar.collapsed .nav-text{display:none}.sidebar ul li.active,.sidebar ul li:hover{background:var(--brand-blue)}.sidebar-logo{bottom:80px;box-sizing:border-box;left:0;margin-top:20px;padding:0 20px;position:absolute;text-align:center;width:100%}.sidebar-logo img{height:auto;max-width:80%;opacity:.9}.sidebar.collapsed{width:60px}.sidebar.collapsed+.main-container{margin-left:60px;width:calc(100% - 60px)}.spark-logo{border-radius:50%;height:40px;object-fit:contain;padding:3px;width:40px}.hamburger-icon{background:#0000;border:none;color:#fff;cursor:pointer;display:none;font-size:24px;left:20px;position:fixed;top:20px;z-index:60}.sidebar.collapsed .hamburger-icon{display:block;left:25px}.sidebar.collapsed .e-logo-img{height:36px;width:36px}.sidebar-toggle{background:#0000;border:none;color:#fff;cursor:pointer;font-size:20px;margin:0;padding:0;position:absolute;right:10px;top:20px;width:auto;z-index:2}.divider{border-top:1px solid #fff;cursor:default!important;margin:10px 0;padding:0!important}.divider:hover{background:#0000!important}.project-selector{cursor:default!important;padding:10px}.project-selector:hover{background:#0000!important}.project-selector label{display:block;margin-bottom:5px}.project-selector select{border:none;border-radius:4px;padding:8px;width:100%}.model-selector{color:#fff;margin-bottom:20px;margin-top:auto;padding:15px}.model-selector label{display:block;font-size:.9rem;font-weight:700;margin-bottom:5px}.model-dropdown{background-color:#fff;border:none;border-radius:4px;color:var(--brand-darkblue);font-size:.9rem;padding:8px;width:100%}@media (max-width:768px){.app-layout{position:relative}.sidebar{left:-250px;position:absolute;top:0;transition:left .3s ease;z-index:20}.sidebar-brand{align-items:center;display:flex;margin-bottom:20px;padding:20px 15px}.sidebar.open{left:0}.hamburger-btn{background:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;left:10px;padding:5px 10px;position:fixed;top:10px;z-index:30}.disabled-link{cursor:not-allowed;opacity:.5}}.brand-text{color:#fff;gap:10px}.brand-logo,.brand-text{align-items:center;display:flex}.brand-logo{justify-content:center}.brand-name{display:flex;flex-direction:column;font-family:Arial,sans-serif;line-height:1.2}.brand-name span:first-child{font-weight:700}.brand-name span:last-child{font-weight:400}.brand-icon{justify-content:center;width:100%}.brand-horizontal{align-items:center;display:flex;justify-content:flex-start;padding:20px 15px;width:100%}.spark-logo-horizontal{background-color:initial;filter:none;height:auto;max-width:200px;object-fit:contain;width:90%}.spark-logo-circular-collapsed{background-color:initial;border:1px solid #fff3;border-radius:50%;height:40px;object-fit:cover;width:40px}.sidebar-brand{background-color:var(--brand-darkblue);border-bottom:1px solid #ffffff1a;margin-bottom:20px}.brand-icon{align-items:center;display:flex;justify-content:flex-start;padding:15px}.app-layout{display:flex;min-height:100vh}.main-container{margin-left:250px;transition:margin-left .3s ease;width:calc(100% - 250px)}.main-content{background-color:var(--brand-bg);flex:1 1;padding:20px}.app-header{background-color:var(--brand-darkblue);color:#fff;padding:.5rem 0;position:sticky;top:0;z-index:10}.app-header h1{color:#fff;font-size:1.5rem;font-weight:500;margin:0}.header-container{align-items:center;display:flex;height:40px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem 0 3rem}.logo a{color:#fff;font-size:1.2rem;font-weight:700;text-decoration:none}.main-nav{display:flex;gap:1.5rem}.main-nav a{color:#fff;text-decoration:none}.main-nav a:hover{text-decoration:underline}.user-controls{align-items:center;display:flex;gap:1rem}.user-greeting{margin-right:.5rem}.logout-btn{background-color:var(--brand-darkblue);border:none;border-radius:4px;color:#fff;cursor:pointer;margin:0;padding:.3rem .8rem;width:auto}.logout-btn:hover{background-color:var(--brand-blue)}.dashboard-header{align-items:center;background-color:var(--brand-darkblue);color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.dashboard-header h1{font-size:1.5rem;margin:0}.user-info{align-items:center;display:flex;gap:.75rem}.role-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase;white-space:nowrap}.role-badge-super-admin{background-color:#dc2626;color:#fff}.role-badge-tenant-admin{background-color:#059669;color:#fff}.role-badge-default,.role-badge-user{background-color:#6b7280;color:#fff}@media (max-width:768px){.user-info{align-items:flex-end;flex-direction:column;gap:.25rem}.user-greeting{font-size:.9rem}.role-badge{font-size:.7rem;padding:.2rem .5rem}}.user-info button{background-color:var(--brand-blue);margin:0;padding:.5rem 1rem;width:auto}.dashboard{background-color:var(--brand-bg);min-height:100vh}.dashboard-content{padding:2rem}.placeholder-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem;padding:2rem}.dashboard-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.dashboard-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.dashboard-card h2{color:var(--brand-darkblue);margin-top:0;text-align:left}.card-link{background-color:#e7f3ff;border-radius:4px;color:var(--brand-darkblue);display:inline-block;margin-top:1rem;padding:.5rem 1rem;text-decoration:none}.card-link:hover{background-color:#d0e8ff}.placeholder-page{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.create-project-container,.dashboard,.edit-project-container,.project-detail-container,.project-list-container{padding-top:1rem}
/*# sourceMappingURL=main.6d66105d.css.map*/