:root{--navy:#2a2f54;--navy-light:#363c66;--navy-dark:#1e2240;--gold:#c6b195;--gold-light:#d4c4ac;--gold-dark:#a89270;--slate:#415a77;--steel:#778da9;--white:#fff;--cream:#f5f0eb;--border:hsla(34,30%,68%,.2);--border-hover:hsla(34,30%,68%,.4);--shadow:rgba(0,0,0,.3);--font-heading:Georgia,"Times New Roman",serif;--font-body:Arial,Helvetica,sans-serif;--font-mono:"Courier New",Courier,monospace}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;font-family:var(--font-body);background-color:var(--navy);color:var(--white);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400}a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold-light)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-body);font-size:15px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--navy-dark)}::-webkit-scrollbar-thumb{background:var(--slate);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--steel)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy-dark) 0,var(--navy) 50%,var(--navy-light) 100%);padding:20px}.login-card{background:var(--navy-light);border:1px solid var(--gold);border-radius:12px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 20px 60px var(--shadow)}.login-logo{display:flex;justify-content:center;margin-bottom:32px}.login-logo img{height:60px;width:auto}.login-title{font-family:var(--font-heading);font-size:24px;color:var(--gold);text-align:center;margin-bottom:8px}.login-subtitle{font-size:14px;color:var(--steel);text-align:center;margin-bottom:32px}.login-field{margin-bottom:20px}.login-field label{display:block;font-size:13px;color:var(--gold-dark);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.login-field input{width:100%;padding:12px 16px;background:var(--navy-dark);border:1px solid var(--border);border-radius:6px;color:var(--white);font-size:15px;transition:border-color .2s}.login-field input:focus{border-color:var(--gold);outline:none}.login-field input::placeholder{color:var(--slate)}.login-btn{width:100%;padding:14px;background:var(--gold);color:var(--navy-dark);border:none;border-radius:6px;font-size:16px;font-weight:600;font-family:var(--font-heading);cursor:pointer;transition:background .2s;margin-top:8px}.login-btn:hover{background:var(--gold-light)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#e74c3c;font-size:14px;text-align:center;margin-top:16px}.login-demo{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);font-size:13px;color:var(--steel);text-align:center}.login-demo code{background:var(--navy-dark);padding:2px 6px;border-radius:3px;font-family:var(--font-mono);font-size:12px;color:var(--gold-light)}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:180px;background:var(--navy-dark);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:16px 0;flex-shrink:0}.sidebar-logo{width:140px;height:auto;margin-bottom:28px;padding:0 16px;opacity:.95}.sidebar-logo img{width:100%;height:auto;object-fit:contain}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1 1;width:100%;padding:0 12px}.sidebar-btn{width:100%;height:auto;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--steel);cursor:pointer;transition:all .2s;font-size:13px;font-family:var(--font-body);letter-spacing:.3px;white-space:nowrap}.sidebar-btn:hover{background:var(--navy-light);color:var(--gold-light)}.sidebar-btn.active{background:var(--navy);color:var(--gold);border:1px solid var(--border)}.sidebar-btn svg{width:24px;height:24px;flex-shrink:0}.sidebar-bottom{display:flex;flex-direction:column;gap:4px;padding:0 12px;width:100%}.main-content{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.app-header{justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--navy);flex-shrink:0}.app-header,.header-left{display:flex;align-items:center}.header-left{gap:16px}.header-title{font-family:var(--font-heading);font-size:20px;color:var(--gold)}.header-mode{font-size:13px;color:var(--steel);padding:4px 12px;background:var(--navy-dark);border-radius:12px;border:1px solid var(--border)}.header-right{display:flex;align-items:center;gap:12px}.header-btn{padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--steel);font-size:13px;cursor:pointer;transition:all .2s}.header-btn:hover{border-color:var(--gold);color:var(--gold)}.chat-area{flex:1 1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.chat-welcome{text-align:center;padding:60px 20px;max-width:600px;margin:0 auto}.chat-welcome h2{font-size:28px;color:var(--gold);margin-bottom:12px}.chat-welcome p{color:var(--steel);font-size:15px;line-height:1.7;margin-bottom:8px}.chat-welcome .disclaimer{font-size:12px;color:var(--slate);margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.message{max-width:800px;width:100%;margin:0 auto}.message-user{display:flex;justify-content:flex-end}.message-user .message-content{background:var(--slate);color:var(--white);border-radius:16px 16px 4px 16px;padding:12px 18px;max-width:75%}.message-assistant{display:flex;justify-content:flex-start}.message-assistant .message-content{background:var(--navy-light);color:var(--cream);border-radius:16px 16px 16px 4px;padding:16px 20px;max-width:85%;border:1px solid var(--border)}.message-content h1{font-size:20px;font-weight:600;margin-bottom:12px;color:var(--gold)}.message-content h2{font-size:17px;font-weight:600;margin-bottom:10px;color:var(--gold-light)}.message-content h3{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--cream)}.message-content p{margin-bottom:12px;line-height:1.7}.message-content strong{color:var(--gold)}.message-content ol,.message-content ul{margin-left:20px;margin-bottom:12px}.message-content li{margin-bottom:6px;line-height:1.7}.message-content hr{border:none;border-top:1px solid var(--border);margin:16px 0}.message-content code{background:var(--navy-dark);padding:2px 6px;border-radius:3px;font-family:var(--font-mono);font-size:13px}.input-area{padding:16px 24px;border-top:1px solid var(--border);background:var(--navy);flex-shrink:0}.input-container{max-width:800px;margin:0 auto;display:flex;gap:12px;align-items:flex-end}.input-wrapper{flex:1 1;position:relative}.input-wrapper textarea{width:100%;padding:14px 16px;background:var(--navy-dark);border:1px solid var(--border);border-radius:12px;color:var(--white);font-size:15px;line-height:1.5;resize:none;min-height:48px;max-height:200px;transition:border-color .2s}.input-wrapper textarea:focus{border-color:var(--gold);outline:none}.input-wrapper textarea::placeholder{color:var(--slate)}.send-btn{width:48px;height:48px;background:var(--gold);color:var(--navy-dark);border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.send-btn:hover{background:var(--gold-light)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn svg{width:20px;height:20px}.tool-panel{flex:1 1;overflow-y:auto;padding:24px}.tool-header{text-align:center;margin-bottom:32px}.tool-header h2{font-size:24px;color:var(--gold);margin-bottom:8px}.tool-header p{color:var(--steel);font-size:14px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px;max-width:1000px;margin:0 auto}.tool-card{background:var(--navy-light);border:1px solid var(--border);border-radius:10px;padding:20px;cursor:pointer;transition:all .2s}.tool-card:hover{border-color:var(--gold);transform:translateY(-2px)}.tool-card h3{color:var(--gold);font-size:16px;margin-bottom:8px}.tool-card p{color:var(--steel);font-size:13px;line-height:1.5}.tool-card .fee{margin-top:8px;font-size:12px;color:var(--gold-dark)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:var(--gold-dark);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;background:var(--navy-dark);border:1px solid var(--border);border-radius:6px;color:var(--white);font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group select{cursor:pointer}.form-group select option{background:var(--navy-dark)}.checkbox-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.checkbox-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--cream)}.checkbox-item input[type=checkbox]{width:auto;accent-color:var(--gold)}.data-table{width:100%;border-collapse:collapse;margin:16px 0}.data-table th{text-align:left;background:var(--navy-dark);color:var(--gold);font-size:13px;font-weight:600}.data-table td,.data-table th{padding:10px 14px;border-bottom:1px solid var(--border)}.data-table td{font-size:14px;color:var(--cream)}.data-table tr:hover td{background:hsla(34,30%,68%,.05)}.search-bar{display:flex;gap:12px;margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}.search-bar input{flex:1 1;padding:10px 16px;background:var(--navy-dark);border:1px solid var(--border);border-radius:8px;color:var(--white);font-size:15px}.search-bar input:focus{border-color:var(--gold);outline:none}.search-bar select{padding:10px 14px;background:var(--navy-dark);color:var(--white);font-size:14px;cursor:pointer}.case-card,.search-bar select{border:1px solid var(--border);border-radius:8px}.case-card{background:var(--navy-light);padding:16px 20px;margin-bottom:12px}.case-card .case-name{font-family:var(--font-heading);font-size:16px;color:var(--gold);margin-bottom:4px}.case-card .case-citation{font-size:13px;color:var(--steel);margin-bottom:8px}.case-card .case-holding{font-size:14px;color:var(--cream);line-height:1.6;margin-bottom:8px}.case-card .case-meta{display:flex;gap:12px;flex-wrap:wrap}.case-card .case-tag{font-size:11px;padding:2px 8px;background:var(--navy-dark);border-radius:10px;color:var(--gold-dark)}.tlc-result{background:var(--navy-light);border:1px solid var(--gold);border-radius:10px;padding:24px;margin-top:16px}.tlc-result .deadline{font-family:var(--font-heading);font-size:24px;color:var(--gold);margin-bottom:8px}.tlc-result .days-left{font-size:18px;margin-bottom:16px}.tlc-result .days-left.urgent{color:#e74c3c}.tlc-result .days-left.warning{color:#f39c12}.tlc-result .days-left.safe{color:#2ecc71}.stat-card{background:var(--navy-light);border:1px solid var(--border);border-radius:10px;padding:20px}.stat-card .stat-value{font-family:var(--font-heading);font-size:32px;color:var(--gold)}.stat-card .stat-label{font-size:13px;color:var(--steel);margin-top:4px}.loading-dots{display:inline-flex;gap:4px;padding:8px 0}.loading-dots span{width:8px;height:8px;background:var(--gold);border-radius:50%;animation:bounce 1.4s infinite both}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){animation-delay:.32s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.text-large .message-content,.text-large .tool-panel{font-size:17px}.text-xlarge .message-content,.text-xlarge .tool-panel{font-size:19px}.dyslexic-font{font-family:OpenDyslexic,Arial,sans-serif!important}@media (max-width:768px){.sidebar{width:60px;padding:8px 0}.sidebar-logo{width:36px;padding:0 4px;margin-bottom:16px}.sidebar-btn{flex-direction:column;justify-content:center;gap:2px;padding:8px 4px;font-size:9px}.sidebar-btn span{overflow:hidden;text-overflow:ellipsis;max-width:52px;text-align:center}.sidebar-btn svg{width:20px;height:20px}.chat-area{padding:16px}.input-area{padding:12px 16px}.message-assistant .message-content,.message-user .message-content{max-width:90%}.app-header{padding:10px 16px}.header-title{font-size:16px}.tool-grid{grid-template-columns:1fr}}@media (max-width:480px){.sidebar{display:none}.mobile-nav{display:flex;overflow-x:auto;padding:8px;gap:4px;border-bottom:1px solid var(--border);background:var(--navy-dark)}.mobile-nav button{padding:8px 12px;white-space:nowrap;font-size:12px;background:transparent;color:var(--steel);border:1px solid var(--border);border-radius:16px}.mobile-nav button.active{background:var(--navy);color:var(--gold);border-color:var(--gold)}}