@import url("https://fonts.googleapis.com/css2?family=Literata:opsz,wght@7..72,500;7..72,700&family=Manrope:wght@400;500;600;700&display=swap");:root{--ink:#0e1a24;--ink-soft:#1c2e3c;--fog:#d7e0e7;--paper:#f3f6f8;--gold:#b08d57;--gold-bright:#d4b483;--danger:#9b2c2c;--ok:#1f6f5b;--line:rgba(14,26,36,.12);--shadow:0 24px 60px rgba(14,26,36,.18);--radius:14px;--font-display:"Literata",Georgia,serif;--font-body:"Manrope","Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(176,141,87,.22),transparent 55%),radial-gradient(900px 500px at 100% 0,rgba(28,46,60,.18),transparent 50%),linear-gradient(165deg,#eef3f6,#f7f9fb 45%,#e8eef3)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}@media (max-width:900px){.app-shell{grid-template-columns:1fr}}.sidebar{background:linear-gradient(180deg,var(--ink) 0,var(--ink-soft) 100%);color:var(--fog);padding:28px 20px;display:flex;flex-direction:column;gap:28px;min-height:100vh}.brand{font-family:var(--font-display);font-size:2rem;letter-spacing:.02em;line-height:1.1}.brand span{display:block;margin-top:6px;font-family:var(--font-body);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);opacity:.9}.nav{display:flex;flex-direction:column;gap:8px}.nav a{padding:10px 12px;border-radius:10px;color:rgba(215,224,231,.85);transition:background .16s ease,color .16s ease,transform .16s ease}.nav a.active,.nav a:hover{background:hsla(36,49%,67%,.14);color:#fff;transform:translateX(2px)}.main{padding:28px clamp(16px,3vw,40px) 48px}.panel{background:hsla(0,0%,100%,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(16px,2.5vw,28px)}.hero-auth{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.hero-auth:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(14,26,36,.88),rgba(28,46,60,.55)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cpath fill='%23d4b483' fill-opacity='0.08' d='M80 8c8 24 24 40 48 48-24 8-40 24-48 48-8-24-24-40-48-48 24-8 40-24 48-48z'/%3E%3C/svg%3E");background-size:cover,180px;z-index:0;animation:drift 18s ease-in-out infinite alternate}@keyframes drift{0%{transform:scale(1) translateY(0)}to{transform:scale(1.04) translateY(-12px)}}.auth-card{position:relative;z-index:1;width:min(440px,100%);background:rgba(243,246,248,.94);border-radius:20px;padding:36px 32px;box-shadow:var(--shadow);animation:rise .7s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.auth-card h1{font-family:var(--font-display);font-size:2.6rem;margin:0 0 8px;color:var(--ink)}.auth-card .tagline{margin:0 0 24px;color:var(--ink-soft);opacity:.8}.form{gap:12px}.form,.form label{display:flex;flex-direction:column}.form label{gap:6px;font-size:.92rem;font-weight:600}.composer textarea,.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;color:var(--ink)}.composer textarea,.form textarea{min-height:110px;resize:vertical}.btn{border:none;border-radius:999px;padding:12px 18px;font-weight:700;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--ink) 0,#274457 100%);color:#fff;box-shadow:0 10px 24px rgba(14,26,36,.25)}.btn-gold{background:linear-gradient(135deg,var(--gold) 0,var(--gold-bright) 100%);color:var(--ink)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.muted{color:rgba(14,26,36,.65);font-size:.92rem}.error{color:var(--danger);font-size:.9rem}.chat-layout{display:grid;grid-template-columns:240px 1fr;grid-gap:16px;gap:16px;min-height:calc(100vh - 120px)}@media (max-width:900px){.chat-layout{grid-template-columns:1fr}}.conv-list{display:flex;flex-direction:column;gap:8px}.conv-item{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px}.conv-item.active{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(176,141,87,.35)}.messages{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 280px);overflow:auto;padding-right:4px}.bubble{max-width:min(760px,92%);padding:14px 16px;border-radius:14px;white-space:pre-wrap;line-height:1.5;animation:rise .28s ease both}.bubble.user{align-self:flex-end;background:var(--ink);color:#fff}.bubble.assistant{align-self:flex-start;background:#fff;border:1px solid var(--line)}.composer{margin-top:16px;display:flex;flex-direction:column;gap:10px}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:rgba(176,141,87,.18);font-size:.78rem;font-weight:700}.listening{box-shadow:0 0 0 3px rgba(176,141,87,.35)}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:800px){.grid-2{grid-template-columns:1fr}}.section-title{font-family:var(--font-display);font-size:1.8rem;margin:0 0 8px}.tool-chip{font-size:.8rem;color:var(--ink-soft);background:rgba(28,46,60,.06);border-radius:8px;padding:6px 10px}