:root{--omu-blue:#0d2c6c;--omu-red:#d9232a;--light-gray:#f0f2f5;--text-dark:#333;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}body{font-family:var(--font-family);background-color:#eef1f6;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d9dde8' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");margin:0}.chat-window::-webkit-scrollbar{width:8px}.chat-window::-webkit-scrollbar-track{background:#f1f1f1}.chat-window::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.chat-window::-webkit-scrollbar-thumb:hover{background:#aaa}.chat-container{box-sizing:border-box;flex-direction:column;justify-content:space-between;align-items:center;height:100vh;display:flex}.chat-header{background-color:var(--omu-blue);color:#fff;box-sizing:border-box;z-index:10;justify-content:center;align-items:center;width:100%;padding:12px 20px;font-size:1.25rem;font-weight:600;display:flex;box-shadow:0 4px 12px #00000026}.chat-header:before{margin-right:10px;font-weight:700;display:inline-block}.chat-window{background:#fff;flex-direction:column;flex:1;gap:12px;width:100%;max-width:750px;margin:0;padding:20px;display:flex;overflow-y:auto}.message{word-wrap:break-word;border-radius:20px;max-width:75%;padding:12px 18px;line-height:1.5;animation:.3s cubic-bezier(.25,.46,.45,.94) both pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.message.assistant{color:var(--text-dark);background-color:#eef1f6;border-bottom-left-radius:5px;align-self:flex-start}.message.user{background:linear-gradient(135deg,var(--omu-blue),#1e4ba0);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}.message.is-typing .dot-flashing{color:#9880ff;background-color:#9880ff;border-radius:5px;width:10px;height:10px;animation:1s linear .5s infinite alternate dot-flashing;position:relative}.message.is-typing .dot-flashing:before,.message.is-typing .dot-flashing:after{content:"";display:inline-block;position:absolute;top:0}.message.is-typing .dot-flashing:before{color:#9880ff;background-color:#9880ff;border-radius:5px;width:10px;height:10px;animation:1s infinite alternate dot-flashing;left:-15px}.message.is-typing .dot-flashing:after{color:#9880ff;background-color:#9880ff;border-radius:5px;width:10px;height:10px;animation:1s 1s infinite alternate dot-flashing;left:15px}@keyframes dot-flashing{0%{background-color:#ccc}50%,to{background-color:#666}}.input-area{box-sizing:border-box;background-color:#fff;border-top:1px solid #ddd;align-items:center;width:100%;max-width:750px;padding:10px 15px;display:flex}.input-area input{background:0 0;border:none;outline:none;flex:1;padding:14px;font-size:1rem}.input-area button{background-color:var(--omu-red);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-left:10px;transition:all .2s;display:flex}.input-area button:hover{background-color:#b81c22;transform:scale(1.1)}.input-area button:before{content:"";background-color:#fff;width:24px;height:24px;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M1.946 9.315c-.522-.174-.527-.455.01-.634l19.087-6.362c.529-.176.832.12.684.638l-5.454 19.086c-.15.529-.455.547-.679.045L12 14l6-8-8 6-8.054-2.685z'/%3E%3C/svg%3E") 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M1.946 9.315c-.522-.174-.527-.455.01-.634l19.087-6.362c.529-.176.832.12.684.638l-5.454 19.086c-.15.529-.455.547-.679.045L12 14l6-8-8 6-8.054-2.685z'/%3E%3C/svg%3E") 50% no-repeat}:root{--primary-color:#0d2c6c;--danger-color:#d9232a;--success-color:#28a745;--info-color:#17a2b8;--light-bg:#f8f9fa;--dark-bg:#343a40;--border-color:#dee2e6;--text-color:#495057;--text-color-light:#fff;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 8px #00000012;--border-radius:8px}body{font-family:var(--font-family);background-color:var(--light-bg);color:var(--text-color);margin:0}.login-wrapper{background-color:var(--primary-color);background-image:radial-gradient(circle,#ffffff1a 1px,#0000 1px);background-size:20px 20px;justify-content:center;align-items:center;height:100vh;display:flex}.login-container{background:var(--text-color-light);border-radius:var(--border-radius);text-align:center;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 10px 30px #0000001a}.login-container h1{color:var(--primary-color);margin-bottom:1.5rem}.login-form input{border:1px solid var(--border-color);border-radius:var(--border-radius);box-sizing:border-box;width:100%;margin-bottom:1rem;padding:12px;font-size:1rem}.login-form input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #0d2c6c1a}.login-form button{border-radius:var(--border-radius);background-color:var(--primary-color);width:100%;color:var(--text-color-light);cursor:pointer;border:none;padding:12px;font-size:1rem;font-weight:600;transition:background-color .2s}.login-form button:hover{background-color:#0b245a}.admin-layout{grid-template-columns:260px 1fr;height:100vh;display:grid}.sidebar{background-color:var(--primary-color);color:var(--text-color-light);flex-direction:column;padding:1.5rem;display:flex}.sidebar-header{text-align:center;margin-bottom:2rem;font-size:1.5rem;font-weight:700}.sidebar-header span{opacity:.7;font-weight:400}.sidebar-section{margin-bottom:2rem}.sidebar-section h2{text-transform:uppercase;opacity:.5;letter-spacing:1px;margin-bottom:.75rem;font-size:.9rem}.sidebar-section select{border-radius:var(--border-radius);width:100%;color:var(--text-color-light);background-color:#0003;border:1px solid #fff3;padding:10px;font-size:1rem}.sidebar-section select:focus{border-color:var(--text-color-light);outline:none}.logout-btn{background:var(--danger-color);color:var(--text-color-light);border-radius:var(--border-radius);cursor:pointer;border:none;width:100%;margin-top:auto;padding:12px;font-weight:600;transition:background-color .2s}.logout-btn:hover{background-color:#c82333}.main-content{background-color:var(--light-bg);padding:2rem;overflow-y:auto}.main-header{margin-bottom:2rem}.main-header h1{margin:0;font-size:2rem}.admin-card{background:var(--text-color-light);border-radius:var(--border-radius);box-shadow:var(--shadow-md);border:1px solid var(--border-color);margin-bottom:1.5rem;padding:1.5rem}.admin-card h2{border-bottom:1px solid var(--border-color);margin-top:0;margin-bottom:1rem;padding-bottom:.75rem}.document-list{padding:0;list-style:none}.document-list li{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.document-list li:last-child{border-bottom:none}.document-list span{word-break:break-all;padding-right:1rem}.btn{border-radius:var(--border-radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 16px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:var(--text-color-light)}.btn-primary:hover{box-shadow:var(--shadow-sm);background-color:#0b245a;transform:translateY(-2px)}.btn-danger{background-color:var(--danger-color);color:var(--text-color-light)}.btn-danger:hover{background-color:#c82333}.btn:disabled{cursor:not-allowed;background-color:#ccc;transform:none}.file-upload-wrapper{align-items:center;gap:1rem;display:flex}.file-input-label{border:1px dashed var(--text-color);border-radius:var(--border-radius);cursor:pointer;padding:10px 16px;display:inline-block}.file-input-label:hover{border-color:var(--primary-color);color:var(--primary-color)}.file-input{display:none}.file-name{font-style:italic}.status-message{border-radius:var(--border-radius);text-align:center;margin-bottom:1.5rem;padding:1rem;animation:.3s fade-in}.status-message.success{color:#155724;background-color:#d4edda}.status-message.error{color:#721c24;background-color:#f8d7da}.status-message.info{color:#0c5460;background-color:#d1ecf1}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loader-wrapper{justify-content:center;padding:2rem;display:flex}.loader{border:5px solid #f3f3f3;border-top:5px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
