.home-page{max-width:960px;margin:0 auto;padding:60px 20px;text-align:center}.home-page h1{font-size:32px;margin-bottom:16px;color:#1a5276}.home-page .subtitle{font-size:16px;color:#5d6d7e;margin-bottom:40px}.modules{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.module-card{width:320px;padding:32px 24px;border-radius:12px;background:#fff;box-shadow:0 4px 12px #0000000f;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit}.module-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.module-card h3{font-size:20px;margin-bottom:12px}.module-card p{font-size:14px;color:#5d6d7e;line-height:1.6}.module-card .badge{display:inline-block;margin-top:16px;padding:4px 12px;border-radius:20px;font-size:12px}.badge.active{background:#d4efdf;color:#1e8449}.badge.pending{background:#f9e79f;color:#9a7d0a}.agri-law-page{display:flex;flex-direction:column;height:100vh;max-width:960px;margin:0 auto}.agri-law-page.with-sidebar{flex-direction:row;max-width:1400px}.loading-state{display:flex;align-items:center;justify-content:center;height:100vh;color:#5d6d7e;font-size:16px}.session-sidebar{width:280px;min-width:280px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e5e7e9}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e5e7e9}.sidebar-header h3{font-size:15px;color:#2c3e50;font-weight:600}.btn-new{padding:6px 12px;border:none;border-radius:6px;background:#22c55e;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-new:hover{background:#16a34a}.examples-panel{padding:12px;border-bottom:1px solid #e5e7e9;background:#f8fafc}.examples-panel h4{font-size:13px;color:#475569;margin-bottom:8px;font-weight:600}.example-item{padding:8px 10px;margin-bottom:6px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;font-size:12px;color:#334155;line-height:1.5;cursor:pointer;transition:all .2s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.example-item:hover{background:#ecfdf5;border-color:#22c55e;color:#065f46}.session-list{flex:1;overflow-y:auto;padding:8px}.session-item{position:relative;padding:12px;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:4px}.session-item:hover{background:#f0f3f4}.session-item.active{background:#e8f6f3}.session-title{font-size:14px;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:20px}.session-meta{display:flex;gap:8px;margin-top:4px;font-size:12px;color:#99a3a4}.btn-delete{position:absolute;top:8px;right:8px;width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:#99a3a4;font-size:16px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center}.session-item:hover .btn-delete{display:flex}.btn-delete:hover{background:#22c55e;color:#fff}.sidebar-footer{padding:12px 16px;border-top:1px solid #e5e7e9;font-size:12px;color:#99a3a4;text-align:center}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.page-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(to bottom,#1d4ed8,#3b82f6);border-bottom:none;min-height:60px;color:#fff}.page-header h2{font-size:18px;color:#fff}.header-center{display:flex;flex-direction:column;align-items:center;gap:4px}.session-label{font-size:12px;color:#fffc;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header button{padding:8px 16px;border:none;border-radius:6px;background:#22c55e;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.page-header button:hover{background:#16a34a}.chat-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.empty-state{text-align:center;color:#99a3a4;margin-top:40px}.bubble{max-width:80%;padding:12px 16px;border-radius:12px;line-height:1.6;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:#1a5276;color:#fff}.bubble.assistant{align-self:flex-start;background:#fff;border:1px solid #e5e7e9}.bubble.loading{color:#99a3a4}.bubble-actions{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0;opacity:0;transition:opacity .2s}.bubble:hover .bubble-actions{opacity:1}.action-btn{padding:3px 10px;border:none;border-radius:4px;background:#f1f5f9;color:#475569;font-size:12px;cursor:pointer;transition:all .2s}.action-btn:hover{background:#22c55e;color:#fff}.bubble.assistant .bubble-content{white-space:normal}.bubble.assistant .bubble-content h1,.bubble.assistant .bubble-content h2,.bubble.assistant .bubble-content h3,.bubble.assistant .bubble-content h4{font-size:15px;font-weight:600;margin:12px 0 8px;color:#1e293b}.bubble.assistant .bubble-content p{margin:8px 0;line-height:1.7}.bubble.assistant .bubble-content ul,.bubble.assistant .bubble-content ol{margin:8px 0;padding-left:20px}.bubble.assistant .bubble-content li{margin:4px 0}.bubble.assistant .bubble-content pre{background:#f1f5f9;padding:10px 12px;border-radius:6px;overflow-x:auto;margin:8px 0;font-size:13px}.bubble.assistant .bubble-content code{background:#f1f5f9;padding:2px 5px;border-radius:4px;font-size:13px;color:#be123c}.bubble.assistant .bubble-content pre code{background:transparent;padding:0;color:inherit}.bubble.assistant .bubble-content blockquote{border-left:3px solid #22C55E;margin:8px 0;padding-left:12px;color:#475569}.bubble.assistant .bubble-content strong{font-weight:600;color:#0f172a}.bubble.assistant .bubble-content a{color:#1d4ed8;text-decoration:underline}.bubble.assistant .bubble-content table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}.bubble.assistant .bubble-content th,.bubble.assistant .bubble-content td{border:1px solid #e2e8f0;padding:6px 10px;text-align:left}.bubble.assistant .bubble-content th{background:#f8fafc;font-weight:600}.input-area{display:flex;gap:12px;padding:16px 20px;background:#fff;border-top:1px solid #e5e7e9}.input-area input{flex:1;padding:12px 16px;border:1px solid #d5dbdb;border-radius:8px;font-size:14px}.input-area button{padding:12px 24px;border:none;border-radius:8px;background:#22c55e;color:#fff;cursor:pointer;font-weight:500;transition:background .2s}.input-area button:hover{background:#16a34a}.input-area button:disabled{background:#86efac}.input-area .btn-pause{background:#ef4444}.input-area .btn-pause:hover{background:#dc2626}.sources-panel{padding:12px 20px;background:#fdfefe;border-top:1px solid #e5e7e9;max-height:200px;overflow-y:auto}.sources-panel h4{font-size:14px;color:#5d6d7e;margin-bottom:8px}.source-item{margin-bottom:8px;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e5e7e9}.source-doc{font-weight:600;color:#1a5276}.source-page{margin-left:8px;font-size:12px;color:#99a3a4}.source-text{margin-top:4px;font-size:13px;color:#5d6d7e}.pet-law-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center}.pet-law-page h2{color:#1a5276;margin-bottom:16px}.pet-law-page p{color:#5d6d7e;margin-bottom:24px}.pet-law-page button{padding:10px 20px;border:none;border-radius:6px;background:#22c55e;color:#fff;cursor:pointer;font-weight:500;transition:background .2s}.pet-law-page button:hover{background:#16a34a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f6fa;color:#2c3e50}#root{min-height:100vh}
