:root{--background-primary: #1e1e1e;--background-secondary: #252526;--background-tertiary: #333333;--text-primary: #d4d4d4;--text-secondary: #a0a0a0;--accent-primary: #007acc;--accent-primary-hover: #0095ff;--border-color: #444444;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--error-color: #f44747;--success-color: #4CAF50}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);background-color:var(--background-primary);color:var(--text-primary);font-size:16px;overflow:hidden}.close-sidebar-floating{position:absolute;top:.75rem;left:.75rem;background:var(--background-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:.4rem;border-radius:4px;cursor:pointer;display:none;z-index:101;min-width:32px;min-height:32px;align-items:center;justify-content:center;transition:all .2s ease}.close-sidebar-floating:hover{background:var(--background-secondary);color:var(--text-primary);border-color:var(--accent-primary)}@media (max-width: 768px){.close-sidebar-floating{display:flex}.sidebar-header{padding-left:3rem;padding-top:.75rem}}@media (max-width: 768px){html,body{font-size:14px}}.hidden{display:none!important}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:300}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:40px;height:40px;border:4px solid var(--background-tertiary);border-top:4px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner p{color:var(--text-secondary);font-weight:500}#auth-container{display:flex;justify-content:center;align-items:center;height:100vh;padding:1rem}.auth-form-wrapper{width:100%;max-width:400px;padding:2rem;background-color:var(--background-secondary);border-radius:8px;border:1px solid var(--border-color)}.auth-form-wrapper h1{text-align:center;margin-bottom:2rem;font-size:1.75rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form .form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form label{font-weight:500}.auth-form input{padding:.75rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--background-tertiary);color:var(--text-primary);font-size:1rem}.auth-form input:focus{outline:none;border-color:var(--accent-primary)}.auth-form .primary-btn{padding:.8rem;font-size:1rem;margin-top:.5rem}.auth-form-toggle{text-align:center;margin-top:1.5rem;font-size:.9rem}.auth-form-toggle button{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:inherit;text-decoration:underline}.auth-error{color:var(--error-color);text-align:center;font-size:.9rem;margin-top:-.5rem;margin-bottom:.5rem}.app-container{display:flex;height:calc(var(--vh, 1vh) * 100);position:relative;overflow:hidden;transition:grid-template-columns .3s ease-in-out}.menu-toggle-btn{display:flex}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:99;display:none}.sidebar{width:260px;background-color:var(--background-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1rem;flex-shrink:0;z-index:100;transition:width .3s ease-in-out,padding .3s ease-in-out,transform .3s ease-in-out;overflow-x:hidden}.app-container.sidebar-collapsed .sidebar{width:0;padding-left:0;padding-right:0;border-right-color:transparent}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.sidebar-header h2{font-size:1.25rem;font-weight:600}.sidebar-header-actions{display:flex;align-items:center;gap:.5rem}.primary-btn{background-color:var(--accent-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px}.primary-btn:hover:not(:disabled){background-color:var(--accent-primary-hover)}.primary-btn:disabled{background-color:#004a7a;cursor:not-allowed;opacity:.7}.secondary-btn{background-color:var(--background-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease;min-height:44px}.secondary-btn:hover{background-color:#4d4d4d}.destructive-btn{background-color:#d93025;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease;min-height:44px}.destructive-btn:hover{background-color:#c5221f}#sessions-list{list-style:none;overflow-y:auto;flex-grow:1}#sessions-list li{padding:.75rem;margin-bottom:.5rem;border-radius:6px;cursor:pointer;transition:background-color .2s ease;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;justify-content:space-between;align-items:center;min-height:44px}#sessions-list li:hover{background-color:var(--background-tertiary)}#sessions-list li.active{background-color:var(--accent-primary);color:#fff}.delete-session-btn{background:none;border:none;color:var(--text-secondary);visibility:hidden;opacity:0;transition:opacity .2s,color .2s;cursor:pointer;padding:.2rem;line-height:1;min-width:24px;min-height:24px}#sessions-list li:hover .delete-session-btn,#sessions-list li .delete-session-btn:focus{visibility:visible;opacity:1}.delete-session-btn:hover{color:var(--error-color)}#sessions-list li.active .delete-session-btn{color:#fff}#sessions-list li.active .delete-session-btn:hover{color:#fdd}.chat-container{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;height:calc(var(--vh, 1vh) * 100);min-width:0}.chat-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--background-secondary);display:flex;align-items:center;flex-shrink:0;gap:.5rem;min-height:60px}.chat-header h1{font-size:1.25rem;font-weight:600;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 .5rem}.title-edit-input{flex-grow:1;font-size:1.25rem;font-weight:600;background-color:var(--background-tertiary);border:1px solid var(--accent-primary);border-radius:4px;color:var(--text-primary);padding:.2rem .4rem;font-family:inherit;margin:0 .5rem}.title-edit-input:focus{outline:none}.session-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.session-nav{display:flex;padding:0 1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--background-secondary);gap:1rem;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-btn{background:none;border:none;color:var(--text-secondary);padding:.75rem .25rem;cursor:pointer;font-family:var(--font-family);font-size:.95rem;font-weight:600;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap;min-height:44px;flex-shrink:0}.nav-btn:hover{color:var(--text-primary)}.nav-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}#view-container{flex-grow:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.welcome-message{max-width:600px;margin:auto;padding:2rem;text-align:center}.preparation-form,.summary-view{max-width:800px;margin:2rem auto;padding:2rem;background-color:var(--background-secondary);border-radius:8px}.preparation-form h3,.summary-view h3{text-align:center;margin-bottom:.5rem;font-size:1.5rem}.preparation-form p{text-align:center;margin-bottom:2rem;color:var(--text-secondary)}.preparation-form form{display:flex;flex-direction:column;gap:1rem}.prep-section{border:1px solid var(--border-color);border-radius:8px;background-color:var(--background-tertiary);transition:background-color .2s}.prep-section[open]{background-color:#3c3c3c}.prep-section summary{padding:1rem;cursor:pointer;list-style:none;position:relative;font-size:1.1rem;font-weight:600;min-height:44px;display:flex;align-items:center}.prep-section summary::marker,.prep-section summary::-webkit-details-marker{display:none}.prep-section summary:after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--text-secondary);transition:transform .2s}.prep-section[open] summary:after{transform:translateY(-50%) rotate(45deg)}.prep-fields{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.preparation-form label{font-weight:500;margin-bottom:-.75rem}.preparation-form input,.preparation-form textarea{width:100%;padding:.75rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--background-secondary);color:var(--text-primary);font-size:1rem;font-family:var(--font-family);resize:vertical;transition:background-color .2s,color .2s;min-height:44px}.preparation-form textarea:disabled{background-color:var(--background-tertiary);color:var(--text-secondary)}.preparation-form button{margin-top:1rem;padding:.8rem;font-size:1.1rem}#analysis-container{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}#analysis-container h3{text-align:center;margin-bottom:1.5rem;font-size:1.25rem}.start-negotiation-btn{width:100%;padding:.8rem;font-size:1.1rem;margin-top:1rem}.summary-view h4{font-size:1.1rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem}.summary-section{margin-top:2rem}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.summary-header h4{margin-bottom:0}.chat-area{display:flex;flex-grow:1;overflow:hidden;gap:1rem;padding:1.5rem;min-height:0}.chat-panel{width:50%;background-color:var(--background-secondary);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-panel h2{font-size:1.1rem;font-weight:600;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.log-container{flex-grow:1;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch}.transcript-entry{padding:.75rem;background-color:var(--background-tertiary);border-radius:6px;margin-bottom:.75rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.transcript-entry strong{font-weight:600;color:var(--accent-primary)}.message-wrapper{display:flex;margin-bottom:1.25rem;max-width:100%}.message-wrapper.model{justify-content:flex-start}.message-bubble{padding:.75rem 1.25rem;line-height:1.6;background-color:var(--background-tertiary);border-radius:18px 18px 18px 4px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.message-bubble.error{background-color:var(--error-color);color:#fff}.message-bubble strong{font-weight:600;color:var(--accent-primary)}.message-bubble ul{padding-left:1.25rem;margin-top:.5rem}.message-bubble li{margin-bottom:.25rem}.chat-input-area{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--background-secondary);flex-shrink:0}#chat-form{display:flex;align-items:flex-end;gap:.75rem;background-color:var(--background-tertiary);border-radius:8px;padding:.5rem;border:1px solid var(--border-color);max-width:900px;margin:0 auto}#chat-form.hidden{display:flex}#chat-form:focus-within{border-color:var(--accent-primary)}#chat-input{flex-grow:1;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-family);font-size:1rem;resize:none;max-height:200px;overflow-y:auto;line-height:1.5;min-height:44px}#chat-input:focus{outline:none}.icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s;flex-shrink:0;min-width:44px;min-height:44px}.icon-btn:hover{color:var(--text-primary);background-color:#ffffff1a}.icon-btn:disabled{opacity:.5;cursor:not-allowed}#record-btn.recording{color:var(--error-color);animation:pulse 1.5s infinite}#record-btn.processing{color:var(--accent-primary);animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:200;padding:1rem}.modal-overlay.hidden{display:none}.modal-content{background-color:var(--background-secondary);padding:2rem;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;border:1px solid var(--border-color)}.modal-content h2{margin-bottom:-.5rem}.modal-content p{color:var(--text-secondary)}#summary-form{display:flex;flex-direction:column;gap:1rem}#summary-input{width:100%;padding:.75rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--background-primary);color:var(--text-primary);font-size:1rem;font-family:var(--font-family);resize:vertical;min-height:100px}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.prep-card{background-color:var(--background-tertiary);border:1px solid var(--accent-primary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 6px #0000001a}.prep-card h4{margin-bottom:1rem;font-size:1.2rem;color:var(--accent-primary)}.required-mark{color:var(--error-color);margin-left:.25rem;font-weight:700}#prep-intend-get{border-left:3px solid var(--accent-primary)}#prep-intend-get:focus{background-color:#007acc0d}textarea:invalid{border-color:var(--error-color)}#profile-content{display:flex;flex-direction:column;gap:1.5rem}.profile-detail{display:flex;flex-direction:column;gap:.25rem}.profile-detail span:first-child{font-size:.9rem;color:var(--text-secondary)}.profile-detail span:last-child{font-size:1.1rem;font-weight:500}.membership-status{display:flex;align-items:center;gap:.5rem}.membership-badge{padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:600}.membership-badge.free{background-color:var(--background-tertiary);border:1px solid var(--text-secondary);color:var(--text-secondary)}.membership-badge.premium{background-color:#2e7d32;color:#e8f5e9}.loading-indicator{padding:0 1rem .5rem;display:flex;align-items:center;gap:5px}.loading-indicator.hidden{display:none}.loading-indicator span{width:8px;height:8px;border-radius:50%;background-color:var(--text-secondary);animation:bounce 1.4s infinite ease-in-out both}.loading-indicator span:nth-child(1){animation-delay:-.32s}.loading-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width: 768px){.menu-toggle-btn{display:flex;margin-right:.5rem}.sidebar{position:fixed;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .3s ease-in-out;z-index:100;width:280px;border-right:1px solid var(--border-color)}.app-container.sidebar-collapsed .sidebar{width:280px;padding:1rem}.chat-area{flex-direction:column;padding:.75rem;gap:.75rem}.chat-panel{width:100%;flex:1;min-height:0}.preparation-form,.summary-view{margin:1rem;padding:1rem}.chat-header{padding:.75rem 1rem}.chat-header h1{font-size:1.1rem;min-width:0}.session-nav{padding:0 1rem}.nav-btn{font-size:.9rem;padding:.75rem .5rem}.chat-input-area{padding:.75rem 1rem}#chat-form{gap:.5rem}.modal-content{padding:1.5rem;margin:1rem}.modal-actions{justify-content:center}.modal-actions button{flex:1;min-width:120px}.session-actions{gap:.25rem}.session-actions .primary-btn{padding:.4rem .8rem;font-size:.9rem}.prep-section summary{font-size:1rem;padding:.75rem}.prep-fields{padding:0 .75rem .75rem;gap:1rem}body.sidebar-open .sidebar{transform:translate(0)}body.sidebar-open .sidebar-overlay{display:block}}@media (max-width: 480px){.preparation-form,.summary-view{margin:.5rem;padding:.75rem}.chat-area{padding:.5rem}.sidebar{width:100%}.auth-form-wrapper{margin:.5rem;padding:1.5rem}.modal-content{margin:.5rem;padding:1rem}}@media (max-width: 768px) and (orientation: landscape){.preparation-form,.summary-view{margin:.5rem auto;padding:1rem}}
