html,body,#root{width:100%;height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--navy:#14213d;--navy-dark:#0d172b;--blue:#2563eb;--blue-dark:#1d4ed8;--blue-soft:#eff6ff;--text:#172033;--text-muted:#697386;--text-light:#8a94a6;--border:#e4e8ef;--border-dark:#d5dbe5;--background:#f4f6fa;--white:#fff;--success:#16875d;--success-soft:#ecfdf5;--danger:#dc3545;--danger-soft:#fff1f2;--shadow-sm:0 1px 2px #0f172a0a;--shadow:0 8px 30px #0f172a12;--shadow-lg:0 20px 50px #0f172a1f;--radius-sm:8px;--radius:12px;--radius-lg:16px;background:#f4f6fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--background);color:var(--text);margin:0}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:1px;outline:3px solid #2563eb26}.app{background:radial-gradient(circle at top right, #2563eb09, transparent 30%), var(--background);flex-direction:column;min-height:100vh;display:flex}.header{border-bottom:1px solid var(--border);z-index:10;background:#fffffff5;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px 26px;display:flex;position:relative;box-shadow:0 1px #0f172a05}.header>div:first-child{flex-direction:column;gap:3px;display:flex}.header h1{color:var(--navy);letter-spacing:-.4px;margin:0;font-size:21px;font-weight:750;line-height:1.2}.header span{color:var(--text-muted);font-size:12px;font-weight:500}.header-actions{align-items:center;gap:9px;display:flex}.header-actions button{border:1px solid var(--border-dark);color:#334155;cursor:pointer;background:#fff;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:650;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}.header-actions button:hover{background:#f8fafc;border-color:#c5ccd8;transform:translateY(-1px)}.header-actions button:first-child{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 4px 12px #14213d24}.header-actions button:first-child:hover{background:var(--navy-dark);border-color:var(--navy-dark)}.workspace{flex:1;min-height:0;display:flex}.sidebar{border-right:1px solid var(--border);background:#fbfcfe;flex-direction:column;width:285px;min-width:285px;display:flex;overflow:hidden auto}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:16px 17px;display:flex}.sidebar-header h2{color:var(--navy);letter-spacing:-.1px;margin:0;font-size:15px;font-weight:750}.sidebar-header button{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:700;transition:background .18s,transform .18s,box-shadow .18s;box-shadow:0 3px 10px #2563eb2e}.sidebar-header button:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 5px 14px #2563eb3b}.client-search{padding:13px 14px 10px}.client-search input{border:1px solid var(--border);width:100%;color:var(--text);box-shadow:var(--shadow-sm);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23808a9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cline x1='16.65' y1='16.65' x2='21' y2='21'%3E%3C/line%3E%3C/svg%3E") 12px no-repeat;border-radius:9px;padding:10px 12px 10px 36px;font-size:13px;transition:border-color .18s,box-shadow .18s}.client-search input::placeholder{color:#9aa3b2}.client-search input:focus{border-color:#93b4f8;outline:none;box-shadow:0 0 0 3px #2563eb17}.new-client-form{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;margin:2px 14px 10px;padding:12px}.new-client-form input{border:1px solid var(--border-dark);width:100%;color:var(--text);background:#fff;border-radius:7px;outline:none;padding:9px 10px;font-size:13px}.new-client-form input:focus{border-color:#8eb0f5;box-shadow:0 0 0 3px #2563eb14}.new-client-actions{gap:7px;margin-top:9px;display:flex}.new-client-actions button{border:1px solid var(--border-dark);color:#475569;cursor:pointer;background:#fff;border-radius:7px;flex:1;padding:8px 10px;font-size:12px;font-weight:650}.new-client-actions button:first-child{border-color:var(--blue);background:var(--blue);color:#fff}.new-client-actions button:first-child:hover{background:var(--blue-dark)}.new-client-actions button:last-child:hover{background:#f8fafc}.new-client-actions button:disabled{opacity:.55;cursor:not-allowed}.client-list{flex-direction:column;gap:5px;padding:4px 10px 16px;display:flex}.client-item{text-align:left;color:#334155;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;width:100%;padding:10px 11px;transition:background .17s,border-color .17s,color .17s,transform .17s;display:flex}.client-item:hover{background:#f0f5ff;border-color:#e0eaff;transform:translate(1px)}.client-item.selected{color:#1749a5;background:#edf4ff;border-color:#cbdcff}.client-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.client-arrow{color:#9aa3b2;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:inline-flex}.client-item.selected .client-arrow{color:var(--blue);font-weight:800}.empty-clients{color:var(--text-light);text-align:center;margin:18px 10px;font-size:12px}.chat-container{background:radial-gradient(circle at 75% 10%,#2563eb06,#0000 25%),#f7f9fc;flex-direction:column;flex:1;min-width:0;display:flex}.chat-area{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:18px 28px 24px;overflow-y:auto}.context-bar{border:1px solid var(--border);min-height:44px;box-shadow:var(--shadow-sm);color:var(--text-muted);background:#fff;border-radius:10px;align-items:center;gap:8px;margin-bottom:20px;padding:9px 13px;font-size:12px;display:flex}.context-bar strong{color:var(--navy);font-weight:700}.context-bar button{color:var(--blue);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:11px;font-weight:700}.context-bar button:hover{text-decoration:underline}.context-bar.no-client{background:#fafbfc}.context-bar.no-client small{color:var(--text-light)}.welcome{text-align:center;border:1px solid var(--border);max-width:650px;box-shadow:var(--shadow-sm);background:#ffffffc2;border-radius:18px;margin:90px auto 0;padding:44px 35px}.welcome:before{content:"⚖";background:var(--navy);color:#fff;border-radius:15px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 18px;font-size:24px;display:flex;box-shadow:0 8px 20px #14213d29}.welcome h2{color:var(--navy);letter-spacing:-.6px;margin:0 0 10px;font-size:25px;font-weight:750}.welcome p{color:var(--text-muted);margin:8px 0;font-size:14px;line-height:1.65}.message{max-width:min(78%,820px);box-shadow:var(--shadow-sm);border-radius:13px;margin-bottom:15px;padding:15px 17px;animation:.2s ease-out messageAppear}@keyframes messageAppear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.message strong{letter-spacing:.1px;margin-bottom:7px;font-size:11px;font-weight:750;display:block}.message p{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.7}.user-message{background:var(--navy);border:1px solid var(--navy);color:#fff;border-bottom-right-radius:5px;margin-left:auto}.user-message strong{color:#ffffffb8}.assistant-message{border:1px solid var(--border);color:#334155;background:#fff;border-bottom-left-radius:5px;margin-right:auto}.assistant-message strong{color:var(--navy)}.draft-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;margin-bottom:22px;overflow:hidden}.draft-panel-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f8fbff 0%,#fff 65%);padding:21px 23px}.draft-panel-header h2{color:var(--navy);letter-spacing:-.3px;margin:0 0 5px;font-size:19px;font-weight:750}.draft-panel-header p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.draft-warning{color:#76591c;background:#fffaf0;border:1px solid #f3dfb1;border-radius:10px;flex-direction:column;gap:5px;margin:20px;padding:16px;font-size:12px;display:flex}.draft-warning strong{font-size:13px}.draft-client{background:var(--blue-soft);border:1px solid #dbeafe;border-radius:9px;align-items:center;gap:10px;margin:18px 20px 0;padding:11px 13px;display:flex}.draft-client span{color:#64748b;font-size:11px}.draft-client strong{color:#1749a5;font-size:13px}.draft-form{flex-direction:column;padding:20px;display:flex}.draft-form label{color:#475569;text-transform:uppercase;letter-spacing:.35px;margin:0 0 7px;font-size:11px;font-weight:750}.draft-form input,.draft-form select,.draft-form textarea{border:1px solid var(--border-dark);width:100%;color:var(--text);background:#fff;border-radius:9px;margin-bottom:17px;font-size:13px;transition:border-color .18s,box-shadow .18s}.draft-form input,.draft-form select{height:42px;padding:0 12px}.draft-form textarea{resize:vertical;min-height:145px;padding:12px;line-height:1.6}.draft-form input::placeholder,.draft-form textarea::placeholder{color:#a1a9b6}.draft-form input:focus,.draft-form select:focus,.draft-form textarea:focus{border-color:#91b0ee;outline:none;box-shadow:0 0 0 3px #2563eb14}.draft-form button{background:linear-gradient(135deg, var(--blue), #1e4fbd);color:#fff;cursor:pointer;border:none;border-radius:9px;width:100%;min-height:44px;margin-top:2px;font-size:13px;font-weight:750;transition:transform .18s,box-shadow .18s,opacity .18s;box-shadow:0 6px 16px #2563eb2e}.draft-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #2563eb3d}.draft-form button:disabled{opacity:.55;cursor:not-allowed}.draft-result{background:#fbfcfe;border:1px solid #dce3ed;border-radius:12px;margin:0 20px 20px;overflow:hidden}.draft-result-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:14px 15px;display:flex}.draft-result-header h3{color:var(--navy);margin:0 0 3px;font-size:14px;font-weight:750}.draft-result-header span{color:var(--success);font-size:11px;font-weight:600}.download-draft-button{background:var(--success-soft);color:#08764e;cursor:pointer;border:1px solid #b9e5d2;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-height:36px;padding:0 13px;font-size:11px;font-weight:750;text-decoration:none;transition:background .18s,transform .18s,border-color .18s;display:inline-flex}.download-draft-button:hover{background:#dff8ec;border-color:#9dd7bc;transform:translateY(-1px)}.draft-content{color:#263247;resize:vertical;background:#fbfcfe;border:none;outline:none;width:100%;min-height:400px;padding:20px;font-family:Georgia,Times New Roman,serif;font-size:14px;line-height:1.8;display:block}.upload-area{background:0 0;align-items:center;gap:10px;width:100%;max-width:1120px;margin:0 auto;padding:10px 28px 9px;display:flex}.upload-area button{border:1px solid var(--border-dark);color:#475569;cursor:pointer;min-height:34px;box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:11px;font-weight:700;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.upload-area button:before{content:"↥";margin-right:6px;font-size:15px}.upload-area button:hover:not(:disabled){background:#f8fafc;border-color:#b9c3d2;transform:translateY(-1px)}.upload-area button:disabled{opacity:.55;cursor:not-allowed}.upload-area span{text-overflow:ellipsis;white-space:nowrap;color:#16704f;background:#edf8f3;border-radius:7px;max-width:350px;padding:7px 10px;font-size:10px;font-weight:650;overflow:hidden}.input-area{align-items:flex-end;gap:10px;width:100%;max-width:1120px;margin:0 auto;padding:8px 28px 20px;display:flex}.input-area textarea{resize:vertical;border:1px solid var(--border-dark);min-height:54px;max-height:180px;color:var(--text);background:#fff;border-radius:11px;flex:1;padding:13px 14px;font-size:13px;line-height:1.55;transition:border-color .18s,box-shadow .18s;box-shadow:0 3px 14px #0f172a0b}.input-area textarea::placeholder{color:#98a1b0}.input-area textarea:focus{border-color:#91b0ee;outline:none;box-shadow:0 0 0 3px #2563eb14,0 3px 14px #0f172a0b}.input-area button{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:10px;width:82px;min-width:82px;height:54px;font-size:12px;font-weight:750;transition:background .18s,transform .18s,box-shadow .18s;box-shadow:0 6px 16px #14213d29}.input-area button:hover:not(:disabled){background:var(--navy-dark);transform:translateY(-1px);box-shadow:0 8px 20px #14213d36}.input-area button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.login-page{background:radial-gradient(circle at 20% 20%,#2563eb1f,#0000 30%),radial-gradient(circle at 80% 80%,#14213d1c,#0000 30%),#f2f5fa;justify-content:center;align-items:center;min-height:100vh;padding:25px;display:flex}.login-card{width:min(410px,100%);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #ffffffe6;border-radius:18px;padding:39px 36px 34px;animation:.35s ease-out loginAppear;position:relative}@keyframes loginAppear{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card:before{content:"⚖";background:linear-gradient(135deg, var(--navy), #253b68);color:#fff;border-radius:15px;justify-content:center;align-items:center;width:55px;height:55px;margin-bottom:20px;font-size:25px;display:flex;box-shadow:0 9px 22px #14213d33}.login-card h1{color:var(--navy);letter-spacing:-.6px;margin:0 0 6px;font-size:25px;font-weight:800;line-height:1.2}.login-card p{color:var(--text-muted);margin:0 0 27px;font-size:13px;line-height:1.5}.login-card input{box-sizing:border-box;border:1px solid var(--border-dark);width:100%;height:45px;color:var(--text);background:#fff;border-radius:9px;outline:none;margin-bottom:12px;padding:0 13px;font-size:13px;transition:border-color .18s,box-shadow .18s;display:block}.login-card input::placeholder{color:#9ca5b3}.login-card input:focus{border-color:#91b0ee;box-shadow:0 0 0 3px #2563eb14}.login-card button{background:var(--navy);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:9px;width:100%;min-height:44px;margin-top:7px;padding:0 12px;font-size:13px;font-weight:700;transition:background .18s,transform .18s,box-shadow .18s,opacity .18s;box-shadow:0 6px 15px #14213d26}.login-card button:hover:not(:disabled){background:var(--navy-dark);transform:translateY(-1px);box-shadow:0 8px 19px #14213d33}.login-card button+button{border-color:var(--border-dark);color:#475569;box-shadow:none;background:#fff;margin-top:9px}.login-card button+button:hover:not(:disabled){color:var(--navy);box-shadow:none;background:#f8fafc}.login-card button:disabled{opacity:.55;cursor:not-allowed;transform:none}.sidebar::-webkit-scrollbar{width:7px}.chat-area::-webkit-scrollbar{width:7px}.draft-content::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background:0 0}.chat-area::-webkit-scrollbar-track{background:0 0}.draft-content::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#d5dbe5;border-radius:20px}.chat-area::-webkit-scrollbar-thumb{background:#d5dbe5;border-radius:20px}.draft-content::-webkit-scrollbar-thumb{background:#d5dbe5;border-radius:20px}.sidebar::-webkit-scrollbar-thumb:hover{background:#b9c2d0}.chat-area::-webkit-scrollbar-thumb:hover{background:#b9c2d0}.draft-content::-webkit-scrollbar-thumb:hover{background:#b9c2d0}@media (width<=900px){.sidebar{width:235px;min-width:235px}.chat-area,.upload-area,.input-area{padding-left:20px;padding-right:20px}.message{max-width:86%}}@media (width<=700px){.header{min-height:68px;padding:12px 15px}.header h1{font-size:17px}.header span{font-size:10px}.header-actions{gap:5px}.header-actions button{padding:8px 9px;font-size:10px}.workspace{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;min-width:0;max-height:230px}.sidebar-header{min-height:55px;padding:12px 14px}.client-search{padding:9px 12px 7px}.client-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:3px 10px 12px;display:grid}.client-item{min-width:0}.chat-area{padding:13px 13px 15px}.context-bar{margin-bottom:13px;font-size:11px}.welcome{margin-top:45px;padding:30px 20px}.welcome h2{font-size:21px}.message{max-width:92%;padding:12px 13px}.message p{font-size:13px}.draft-panel-header{padding:17px}.draft-form{padding:16px}.draft-client{margin:15px 16px 0}.draft-result{margin:0 16px 16px}.draft-result-header{flex-direction:column;align-items:flex-start}.download-draft-button{width:100%}.upload-area{flex-wrap:wrap;padding:7px 13px}.upload-area span{max-width:220px}.input-area{align-items:stretch;padding:6px 13px 13px}.input-area textarea{min-height:50px}.input-area button{width:68px;min-width:68px}.login-page{padding:15px}.login-card{padding:31px 24px 27px}}@media (width<=430px){.header{align-items:flex-start}.header-actions{flex-direction:column;align-items:stretch}.header-actions button{white-space:nowrap}.client-list{grid-template-columns:1fr}.input-area{gap:7px}.input-area button{width:62px;min-width:62px}.welcome{margin-top:25px}.welcome:before{width:45px;height:45px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
