:root{--brand: #218aff;--brand-hover: #0779ef;--brand-glow: rgba(33, 138, 255, .1);--brand-surface: #e8f4fd;--brand-on: #fff;--nav-bg: #3B4B63;--nav-bg-dark: #2A3545}html,body{height:100%;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333;background-color:#fff}body{display:flex;flex-direction:column;line-height:1.6}app-root{display:flex;flex-direction:column;min-height:100vh}a{color:var(--brand);transition:color .2s ease}a:hover{color:var(--brand-hover)}.btn-primary,button.primary,.button-primary{background-color:var(--brand);color:var(--brand-on);border:none;padding:12px 24px;border-radius:4px;font-weight:600;text-decoration:none;display:inline-block;transition:background-color .3s ease,transform .2s ease;cursor:pointer;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.btn-primary:hover,button.primary:hover,.button-primary:hover{background-color:var(--brand-hover);transform:translateY(-1px)}.btn-secondary,button.secondary,.button-secondary{background-color:transparent;color:var(--brand);border:2px solid var(--brand);padding:10px 22px;border-radius:4px;font-weight:600;text-decoration:none;display:inline-block;transition:all .3s ease;cursor:pointer;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.btn-secondary:hover,button.secondary:hover,.button-secondary:hover{background-color:var(--brand);color:var(--brand-on);transform:translateY(-1px)}footer,.footer{background-color:var(--nav-bg);color:#fff;padding:40px 0;margin-top:auto}.footer-dark{background-color:var(--nav-bg-dark)}.navbar,.header{background-color:#fff;border-bottom:1px solid #E5E5E5;box-shadow:0 2px 4px #0000001a}.navbar-brand,.logo{color:var(--nav-bg);font-weight:700}.nav-link{color:#333;transition:color .3s ease}.nav-link:hover{color:var(--brand)}.card{background-color:#fff;border:1px solid #E5E5E5;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:box-shadow .3s ease,transform .3s ease}.card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.card-header{background-color:#f8f9fa;border-bottom:1px solid #E5E5E5;padding:16px 20px;font-weight:600}.card-body{padding:20px}h1,h2,h3,h4,h5,h6{color:var(--nav-bg);font-weight:600;margin-bottom:16px}.text-muted{color:#666}.text-primary{color:var(--brand)}.text-blue{color:var(--nav-bg)}.form-control,input[type=text],input[type=email],input[type=password],textarea,select{border:2px solid #E5E5E5;border-radius:4px;padding:12px 16px;font-size:14px;transition:border-color .3s ease,box-shadow .3s ease;background-color:#fff}.form-control:focus,input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.alert{border-radius:4px;padding:16px;margin-bottom:16px}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-warning{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-info{background-color:var(--brand-surface);border-color:var(--brand);color:var(--brand)}.chat-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.message-user{background-color:var(--brand);color:#fff;border-radius:18px 18px 4px;padding:12px 16px;margin:8px 0 8px auto;max-width:80%}.message-bot{background-color:#f8f9fa;color:#333;border-radius:18px 18px 18px 4px;padding:12px 16px;margin:8px 0;max-width:80%}.spinner{border:3px solid #E5E5E5;border-top:3px solid var(--brand);border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bg-primary{background-color:var(--brand)}.bg-blue{background-color:var(--nav-bg)}.bg-light{background-color:#fff}.bg-gray{background-color:#f8f9fa}table{border-collapse:collapse;width:100%;margin:16px 0;background-color:#fff}table th,table td{border:1px solid #E5E5E5;padding:12px 16px;text-align:left;vertical-align:top}table th{background-color:#f8f9fa;font-weight:600;color:#333;border-bottom:2px solid #E5E5E5}table tr:nth-child(2n){background-color:#f8f9fa80}table tr:hover{background-color:var(--brand-glow)}@media (max-width: 768px){.btn-primary,.btn-secondary,button{width:100%;margin-bottom:8px}.card{margin-bottom:16px}table{font-size:14px}table th,table td{padding:8px 12px}}
