.admin-portal{min-height:100vh;background:#f9fafb;padding:24px}.admin-portal-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.back-btn{padding:8px 16px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#4b5563;font-size:14px;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#f9fafb;border-color:#d1d5db}.admin-portal-header h1{font-size:24px;font-weight:600;color:#1f2937;margin:0}.admin-portal-tabs{display:flex;gap:8px;border-bottom:2px solid #e5e7eb;margin-bottom:24px}.admin-portal-tabs .tab{padding:12px 24px;border:none;background:transparent;color:#6b7280;font-size:15px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.admin-portal-tabs .tab:hover{color:#1f2937}.admin-portal-tabs .tab.active{color:#1d4ed8;border-bottom-color:#1d4ed8}.admin-portal-content{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.tab-header h2{font-size:20px;font-weight:600;color:#1f2937;margin:0}.tab-actions{display:flex;gap:12px}.refresh-btn,.export-btn{padding:8px 16px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#4b5563;font-size:14px;cursor:pointer;transition:all .2s ease}.refresh-btn:hover,.export-btn:hover{background:#f9fafb;border-color:#d1d5db}.export-btn{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.export-btn:hover{background:#2563eb;border-color:#2563eb}.loading,.empty-state{text-align:center;padding:48px;color:#6b7280;font-size:15px}.documents-table,.audit-log-info{overflow-x:auto}.documents-table table,.audit-log-info table{width:100%;border-collapse:collapse;font-size:14px}.documents-table th,.audit-log-info th{background:#f9fafb;padding:12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.documents-table td,.audit-log-info td{padding:12px;border-bottom:1px solid #e5e7eb;color:#4b5563}.documents-table tr:hover,.audit-log-info tr:hover{background:#f9fafb}.filename-cell{font-weight:500;color:#1f2937}.breakdown{display:flex;flex-direction:column;gap:4px;font-size:13px}.breakdown span{padding:2px 6px;background:#eff6ff;border-radius:4px;display:inline-block;width:fit-content}.change-log summary{cursor:pointer;color:#1d4ed8;font-weight:500;-webkit-user-select:none;user-select:none}.change-log summary:hover{color:#2563eb;text-decoration:underline}.change-log ul{margin-top:8px;padding-left:20px;list-style:disc}.change-log li{margin:4px 0;font-size:13px;color:#6b7280}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:16px;background:#f9fafb;border-radius:6px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:13px;font-weight:500;color:#374151}.filter-group input{padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;background:#fff;color:#1f2937}.filter-group input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.apply-filters-btn{align-self:flex-end;padding:8px 16px;border:1px solid #1d4ed8;border-radius:6px;background:#1d4ed8;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.apply-filters-btn:hover{background:#2563eb;border-color:#2563eb}.audit-log-info>p{margin-bottom:16px;color:#6b7280;font-size:14px}.action-cell{text-transform:capitalize;font-weight:500}.resource-id-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.details-cell summary{cursor:pointer;color:#1d4ed8;font-weight:500;-webkit-user-select:none;user-select:none}.details-cell summary:hover{color:#2563eb;text-decoration:underline}.details-cell pre{margin-top:8px;padding:12px;background:#f9fafb;border-radius:4px;font-size:12px;overflow-x:auto;max-width:500px}@media (max-width: 768px){.admin-portal{padding:16px}.filters{grid-template-columns:1fr}.documents-table,.audit-log-info{font-size:12px}.documents-table th,.documents-table td,.audit-log-info th,.audit-log-info td{padding:8px}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#fff;color:#1f2937;overflow:hidden}.chat-container{display:flex;height:100vh;background:#fff;position:relative}.sidebar{width:280px;min-width:180px;max-width:400px;background:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;position:relative;transition:transform .3s ease,width .3s ease;z-index:100;overflow:hidden}.sidebar.collapsed{transform:translate(-100%);width:0;min-width:0}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden}.sidebar-header{padding:16px;border-bottom:1px solid #e5e7eb;display:flex;gap:8px;align-items:center;background:#fff}.new-chat-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid #1d4ed8;border-radius:8px;background:#1d4ed8;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.new-chat-btn:hover{background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 2px 4px #1d4ed833}.collapse-btn{padding:8px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.collapse-btn:hover{background:#f3f4f6;color:#1f2937}.sidebar-toggle{position:fixed;top:16px;left:16px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#1f2937;cursor:pointer;z-index:200;display:none;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.sidebar-toggle:hover{background:#f9fafb;box-shadow:0 4px 12px #00000026}.sidebar.collapsed~.sidebar-toggle{display:flex;align-items:center;justify-content:center}.sidebar-section{padding:12px 16px;border-bottom:1px solid #e5e7eb}.sidebar-section details{border:none}.sidebar-section summary{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;list-style:none;transition:color .2s ease}.sidebar-section summary::-webkit-details-marker{display:none}.sidebar-section summary:hover{color:#1f2937}.section-title{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.conversation-list,.chat-list{list-style:none;padding:0;margin:8px 0 0;max-height:none;overflow-y:visible}.chat-list{max-height:none;flex:0 0 auto;overflow-y:visible}.chat-item,.conversation-list li{display:flex;align-items:center;padding:10px 12px;margin:2px 0;border-radius:6px;cursor:pointer;font-size:14px;color:#4b5563;transition:all .15s ease;position:relative}.chat-item:hover,.conversation-list li:hover{background:#f3f4f6;color:#1f2937}.chat-item.active{background:#eff6ff;color:#1d4ed8;font-weight:500}.chat-item span:first-child,.conversation-list li span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item button{background:none;border:none;padding:4px;margin-left:4px;cursor:pointer;opacity:0;transition:all .2s ease;color:#9ca3af;display:flex;align-items:center;justify-content:center}.chat-item:hover button{opacity:1}.chat-item button:hover{color:#1f2937}.pin-btn:hover{color:#f59e0b!important}.fav-btn:hover{color:#ef4444!important}.delete-btn:hover{color:#dc2626!important}.title-edit{flex:1;padding:4px 8px;border:1px solid #1d4ed8;border-radius:4px;background:#fff;color:#1f2937;font-size:14px;outline:none}.sidebar-footer{margin-top:auto;padding:16px;border-top:1px solid #e5e7eb;background:#fff}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#f9fafb;color:#1f2937;border-color:#d1d5db}.admin-divider{height:1px;background:#e5e7eb;margin:16px 0}.admin-title{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.admin-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.admin-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#4b5563;font-size:13px;cursor:pointer;transition:all .2s ease}.admin-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#1f2937}.doc-btn{width:100%;justify-content:flex-start}#docLibraryContent{margin-top:12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.doc-search{width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#1f2937;font-size:13px;margin-bottom:8px;outline:none;transition:border-color .2s ease}.doc-search:focus{border-color:#1d4ed8}.doc-list{list-style:none;padding:8px;margin:0;max-height:none;overflow-y:visible;background:#fff;border-radius:4px;border:1px solid #e5e7eb}.doc-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6;font-size:13px}.doc-list li:last-child{border-bottom:none}.doc-list a{flex:1;color:#1d4ed8;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.doc-list a:hover{color:#2563eb;text-decoration:underline}.doc-list button{background:none;border:none;color:#dc2626;cursor:pointer;padding:4px;font-size:14px;transition:color .2s ease}.doc-list button:hover{color:#991b1b}.resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;transition:background .2s ease}.resize-handle:hover,.resize-handle.resizing{background:#1d4ed8}.chat-main{flex:1;display:flex;flex-direction:column;background:#fff;position:relative;min-width:0}.upload-trigger{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #1d4ed8;border-radius:8px;background:#fff;color:#1d4ed8;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;z-index:10}.upload-trigger:hover{background:#eff6ff;transform:translateY(-1px);box-shadow:0 2px 4px #1d4ed81a}.chat-messages{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.message{max-width:70%;padding:12px 16px;border-radius:12px;font-size:15px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap;animation:messageSlide .3s ease;letter-spacing:.01em}.message p{margin:.2em 0;line-height:1.4}.message p:first-child{margin-top:0}.message p:last-child{margin-bottom:0}.message p+p{margin-top:.25em}.message ul,.message ol{margin:.3em 0;padding-left:1.5em}.message li{margin:.1em 0;line-height:1.4}.message h1,.message h2,.message h3,.message h4{margin:.4em 0 .2em;line-height:1.3}.message h1:first-child,.message h2:first-child,.message h3:first-child,.message h4:first-child{margin-top:0}.message .inline-image{margin:12px 0;text-align:center;clear:both}.message .inline-image img{max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.message .inline-image img:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.message .inline-image figcaption{font-size:.875em;color:#6b7280;margin-top:4px;font-style:italic}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;background:#eff6ff;color:#1f2937;border-bottom-right-radius:4px}.message.assistant{align-self:flex-start;background:#f3f4f6;color:#1f2937;border-bottom-left-radius:4px}.message.system{align-self:center;background:#fef3c7;color:#92400e;border:1px solid #fde68a;font-size:14px;max-width:90%;text-align:center}.message.assistant.thinking{display:flex;gap:6px;padding:16px;max-width:fit-content}.message.assistant.thinking span{width:8px;height:8px;background:#9ca3af;border-radius:50%;animation:thinking 1.4s infinite both}.message.assistant.thinking span:nth-child(2){animation-delay:.2s}.message.assistant.thinking span:nth-child(3){animation-delay:.4s}@keyframes thinking{0%,80%,to{opacity:.4;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.sources-block{margin-top:12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px}.sources-block summary{cursor:pointer;font-weight:600;color:#1d4ed8;list-style:none;display:flex;align-items:center;gap:6px}.sources-block summary::-webkit-details-marker{display:none}.sources-block ul{margin-top:8px;padding-left:20px}.sources-block li{margin:4px 0}.sources-block a{color:#1d4ed8;text-decoration:none;transition:color .2s ease}.sources-block a:hover{color:#1e40af;text-decoration:underline}.sources-block a.source-link{cursor:pointer;transition:color .2s ease}.sources-block a:hover{color:#2563eb;text-decoration:underline}.message-feedback{display:flex;gap:8px;margin-top:12px;padding-top:8px;border-top:1px solid rgba(0,0,0,.05)}.feedback-btn{background:transparent;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:16px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;height:32px}.feedback-btn:hover{background:#f3f4f6;border-color:#9ca3af;transform:scale(1.05)}.feedback-btn:active{transform:scale(.95)}.feedback-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.feedback-btn.active{background:#eff6ff;border-color:#3b82f6}.feedback-btn.feedback-up.active{background:#dcfce7;border-color:#22c55e}.feedback-btn.feedback-down.active{background:#fee2e2;border-color:#ef4444}.chat-input{flex:1;padding:10px 0;border:none;background:transparent;color:#fff;font-size:15px;outline:none;min-width:0}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;padding:32px;border-radius:12px;width:90%;max-width:400px;box-shadow:0 10px 40px #0003;animation:modalSlide .3s ease}@keyframes modalSlide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{margin-bottom:20px;font-size:20px;font-weight:600;color:#1f2937}.modal-input,.modal-select,.modal-file{width:100%;padding:10px 12px;margin-bottom:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#1f2937;font-size:14px;outline:none;transition:border-color .2s ease}.modal-input:focus,.modal-select:focus{border-color:#1d4ed8}.modal-actions{display:flex;gap:12px;margin-top:20px}.modal-btn{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-btn.primary{background:#1d4ed8;color:#fff}.modal-btn.primary:hover{background:#2563eb}.modal-btn.danger{background:#dc2626;color:#fff}.modal-btn.danger:hover{background:#991b1b}.modal-btn.secondary{background:#f3f4f6;color:#4b5563}.modal-btn.secondary:hover{background:#e5e7eb;color:#1f2937}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 768px){.sidebar{position:fixed;height:100vh;z-index:150;width:280px}.sidebar.collapsed{transform:translate(-100%)}.message{max-width:85%}.chat-messages{padding:16px}.chat-input-area{padding:12px}}.message.assistant ul,.message.assistant ol{margin:.8em 0;padding-left:1.5em;list-style-position:outside;font-size:15px;line-height:1.7;color:#1f2937}.message.assistant ol{list-style-type:decimal;counter-reset:item}.message.assistant ol>li{margin-bottom:.8em;padding-left:.5em;font-weight:500}.message.assistant ul{list-style-type:disc}.message.assistant ul>li{margin-bottom:.6em;padding-left:.3em}.message.assistant ol ol,.message.assistant ul ul,.message.assistant ol ul,.message.assistant ul ol{margin-top:.5em;margin-bottom:.5em;padding-left:1.8em}.message.assistant ol ol{list-style-type:lower-alpha}.message.assistant ol ol>li,.message.assistant ul ul>li{margin-bottom:.4em;padding-left:.3em;font-weight:400;color:#374151}.message.assistant ol ol ol,.message.assistant ul ul ul{list-style-type:circle;padding-left:1.5em}.message.assistant p{margin:.6em 0}.message.assistant ul+p,.message.assistant ol+p{margin-top:1em}.message.assistant li code{background:#f3f4f6;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.message.assistant li strong{font-weight:600;color:#1f2937}.message.assistant li a{color:#1d4ed8;text-decoration:none;border-bottom:1px solid rgba(29,78,216,.2);transition:color .2s ease,border-color .2s ease}.message.assistant li a:hover{color:#2563eb;border-color:#2563eb66}.message.assistant p a,.message.assistant a{color:#1d4ed8;text-decoration:none;border-bottom:1px solid rgba(29,78,216,.2);transition:color .2s ease,border-color .2s ease;font-weight:500}.message.assistant p a:hover,.message.assistant a:hover{color:#2563eb;border-color:#2563eb66}.message.assistant hr{border:none;border-top:1px solid #e5e7eb;margin:1.2em 0}.message.assistant h1,.message.assistant h2,.message.assistant h3{margin-top:1em;margin-bottom:.5em;font-weight:600;color:#1f2937}.message.assistant h1{font-size:1.4em}.message.assistant h2{font-size:1.2em}.message.assistant h3{font-size:1.1em}.message.assistant blockquote{border-left:3px solid #1d4ed8;padding-left:1em;margin:1em 0;color:#4b5563;font-style:italic}.message.assistant pre{background:#1f2937;color:#f9fafb;padding:1em;border-radius:6px;overflow-x:auto;margin:1em 0}.message.assistant pre code{background:transparent;padding:0;color:inherit}.message.assistant code{background:#f3f4f6;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;color:#1f2937}.message.assistant table{border-collapse:collapse;width:100%;margin:1em 0}.message.assistant th,.message.assistant td{border:1px solid #e5e7eb;padding:.5em;text-align:left}.message.assistant th{background:#f3f4f6;font-weight:600}.message.assistant tr:hover{background:#f9fafb}.mic-btn:hover{background:#e5e7eb}.mic-icon{width:20px;height:20px;stroke:#1f2937;transition:stroke .3s ease,transform .3s ease}.mic-visual{display:flex;align-items:center;gap:6px}.mic-btn.listening .mic-icon{stroke:#fff;transform:scale(1.1)}.chat-input-area{padding:20px 24px;background:#fff;border-top:1px solid #e5e7eb}.input-wrapper{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0a2a43;border-radius:12px;box-shadow:0 2px 8px #0a2a4333;min-height:56px}.chat-input{flex:1 1 auto;min-width:0;padding:10px 12px;border:none;background:transparent;color:#fff;font-size:15px;outline:none}.chat-input::placeholder{color:#fff9}.mic-btn{position:relative;flex-shrink:0;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:#f3f4f6;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mic-btn:hover{background:#e5e7eb;transform:scale(1.05)}.mic-visual{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:100%}.mic-icon{width:20px;height:20px;stroke:currentColor;transition:stroke .3s ease,transform .3s ease;flex-shrink:0}.waveform{display:none;align-items:flex-end;gap:2px;height:14px}.waveform span{display:block;width:2px;height:6px;background:#1d4ed8;border-radius:1px;animation:wave 1s ease-in-out infinite;opacity:.8}.waveform span:nth-child(1){animation-delay:0s}.waveform span:nth-child(2){animation-delay:.1s}.waveform span:nth-child(3){animation-delay:.2s}.waveform span:nth-child(4){animation-delay:.3s}.waveform span:nth-child(5){animation-delay:.4s}@keyframes wave{0%,to{height:5px;opacity:.6}50%{height:14px;opacity:1}}.mic-btn.listening{background:#1d4ed8;color:#fff;animation:micPulse 1.5s infinite ease-in-out}.mic-btn.listening .mic-icon{stroke:#fff;display:none}.mic-btn.listening .waveform{display:flex}.mic-btn.listening .waveform span{background:#fff}@keyframes micPulse{0%,to{box-shadow:0 0 #1d4ed866}50%{box-shadow:0 0 0 8px #1d4ed81a}}.send-btn{flex-shrink:0;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:#1d4ed8;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.send-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 4px #1d4ed84d}.send-btn:active{transform:translateY(0)}.send-btn svg,.mic-btn svg{width:20px;height:20px;pointer-events:none}@media (max-width: 768px){.input-wrapper{padding:10px 12px;gap:8px}.mic-btn,.send-btn{width:40px;height:40px}.chat-input{font-size:14px}}.images-container{display:flex;flex-direction:column;gap:1rem;margin:1rem 0;padding:.75rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.message-image{margin:0;padding:0;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.message-image:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.message-image img{width:100%;max-width:600px;height:auto;display:block;cursor:zoom-in;border-bottom:1px solid #e0e0e0}.message-image figcaption{padding:.75rem;font-size:.875rem;color:#666;font-style:italic;background:#fff;border-top:1px solid #f0f0f0}@media (max-width: 768px){.message-image img{max-width:100%}.images-container{margin:.75rem 0;padding:.5rem}}@media (prefers-color-scheme: dark){.images-container{background:#2a2a2a;border-color:#444}.message-image{background:#333}.message-image img{border-bottom-color:#444}.message-image figcaption{background:#333;color:#aaa;border-top-color:#444}}html,body{margin:0;padding:0;width:100%;height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto}body{font-family:Inter,Arial,sans-serif;background-color:#f9f9f9;color:#333}.login-container{display:flex;align-items:center;justify-content:center;height:100vh;padding:1rem}.login-card{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 6px 18px #0000001a;max-width:380px;width:100%;text-align:center}.logo-text{font-size:1.6rem;font-weight:700;margin-bottom:.5rem}.subtitle{color:#555;margin-bottom:1.5rem}.login-btn{width:100%;padding:.75rem;margin-bottom:.75rem;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:opacity .2s ease}.google{background:#fff;border:1px solid #ddd}.microsoft{background:#2b579a;color:#fff}.apple{background:#000;color:#fff}.primary{background:#10a37f;color:#fff;font-weight:700}.login-btn:hover{opacity:.9}.input-box{width:100%;padding:.7rem;margin-bottom:.9rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem}.login-btn.primary{width:100%;background:#10a37f;color:#fff;font-weight:700;padding:.8rem;border-radius:8px;border:none;cursor:pointer;transition:opacity .2s ease}.login-btn.primary:hover{opacity:.9}.divider{display:flex;align-items:center;margin:1rem 0}.divider span{flex-grow:1;text-align:center;font-size:.85rem;color:#666;position:relative}.divider span:before,.divider span:after{content:"";flex:1;border-bottom:1px solid #ddd;margin:0 8px}.footer-text{font-size:.75rem;color:#777;margin-top:.8rem}.footer-text a{color:#10a37f;text-decoration:none}.footer-text a:hover{text-decoration:underline}.logo-wrapper{text-align:center;margin-bottom:1rem}.logo-wrapper img{max-width:180px;height:auto}.top-logo img{width:200px;height:auto;display:block;margin:0 auto 20px}.bottom-logo img{width:65px;height:auto;display:block;margin:25px auto 0;opacity:.95}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh;width:100vw}
