:root{--bg:#f3efe6;--bg-elevated:#fffdf8;--ink:#1a241c;--muted:#5f6b61;--line:#1f3d2b1f;--brand:#1f3d2b;--brand-soft:#2f5a3f;--accent:#c4a35a;--danger:#a33b2b;--ok:#2f6b45;--waiting:#b7791f;--active:#2f6b45;--closed:#6b7280;--shadow:0 10px 30px #1a241c14;--radius:18px;--font-ui:"Outfit", "Avenir Next", sans-serif;--font-display:"Source Serif 4", Georgia, serif;--safe-bottom:env(safe-area-inset-bottom,0px);--composer-pad:calc(12px + var(--safe-bottom));color:var(--ink);background:var(--bg);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%, #c4a35a2e, transparent 55%), radial-gradient(900px 500px at 100% 0%, #2f5a3f1f, transparent 50%), var(--bg);margin:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.screen-center{min-height:100dvh;color:var(--muted);place-items:center;padding:24px;display:grid}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f3efe6eb;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.brand-mark{font-family:var(--font-display);letter-spacing:.02em;color:var(--brand);font-size:1.15rem;font-weight:700}.conn-pill{color:var(--muted);background:#1f3d2b0f;border-radius:999px;padding:4px 10px;font-size:.75rem}.conn-pill.is-live{color:var(--ok)}.conn-pill.is-offline{color:var(--waiting)}.tabs{grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 12px 0;display:grid}.tab{color:var(--muted);background:0 0;border:0;border-radius:12px;padding:10px 8px;font-weight:500}.tab.is-active{background:var(--brand);color:#fffdf8}.list{padding:12px;padding-bottom:calc(24px + var(--safe-bottom));flex-direction:column;gap:10px;display:flex}.card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;cursor:pointer;width:100%;padding:14px 14px 12px}.card:hover{border-color:#1f3d2b47}.card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card-title{font-size:1rem;font-weight:600}.card-time{color:var(--muted);white-space:nowrap;font-size:.78rem}.card-preview{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:.92rem;line-height:1.35;display:-webkit-box;overflow:hidden}.meta-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{color:var(--brand-soft);background:#1f3d2b14;border-radius:999px;padding:3px 8px;font-size:.72rem}.chip.waiting{color:var(--waiting);background:#b7791f24}.chip.active{color:var(--active);background:#2f6b4524}.chip.closed{color:var(--closed);background:#6b728024}.chip.unread{background:var(--brand);color:#fff}.empty{text-align:center;color:var(--muted);padding:48px 20px}.login-page{min-height:100dvh;padding:28px 20px calc(28px + var(--safe-bottom));background:linear-gradient(#1f3d2be0,#1f3d2b8c 42%,#f3efe6f5 68%),radial-gradient(800px 500px at 80% 10%,#c4a35a59,#0000 60%),#1f3d2b;flex-direction:column;justify-content:flex-end;display:flex}.login-hero{color:#f7f1e4;margin-bottom:28px}.login-hero h1{font-family:var(--font-display);letter-spacing:.02em;margin:0 0 8px;font-size:clamp(2.4rem,9vw,3.4rem)}.login-hero p{opacity:.88;max-width:22rem;margin:0;line-height:1.45}.login-card{background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:24px;padding:20px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--muted);font-size:.85rem}.field input,.composer textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;padding:12px 14px}.btn{cursor:pointer;border:0;border-radius:14px;padding:12px 16px;font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fffdf8;width:100%}.btn-ghost{color:var(--brand);background:0 0}.btn-danger{color:var(--danger);background:#a33b2b1a}.error-banner{color:var(--danger);background:#a33b2b1a;border-radius:12px;margin-bottom:12px;padding:10px 12px;font-size:.9rem}.toast{left:50%;bottom:calc(24px + var(--safe-bottom));background:var(--ink);color:#fff;z-index:50;text-align:center;border-radius:999px;max-width:min(92vw,360px);padding:10px 16px;font-size:.9rem;position:fixed;transform:translate(-50%)}.chat-page{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.chat-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f3efe6f2;padding:10px 12px 12px;position:sticky;top:0}.chat-header-row{align-items:center;gap:8px;display:flex}.chat-header h2{flex:1;margin:0;font-size:1.05rem}.context-box{color:var(--muted);background:#1f3d2b0f;border-radius:14px;margin-top:10px;padding:10px 12px;font-size:.85rem;line-height:1.4}.messages{flex-direction:column;flex:1;gap:10px;padding:14px 12px 12px;display:flex;overflow-y:auto}.bubble{word-break:break-word;border-radius:16px;max-width:min(86%,420px);padding:10px 12px;font-size:.95rem;line-height:1.4}.bubble.user{border:1px solid var(--line);background:#fff;align-self:flex-start}.bubble.agent{background:var(--brand);color:#fffdf8;align-self:flex-end}.bubble.system{color:var(--muted);text-align:center;background:#1f3d2b14;align-self:center;font-size:.82rem}.bubble-time{opacity:.7;margin-top:6px;font-size:.7rem;display:block}.bubble img{border-radius:12px;max-width:100%;display:block}.composer{border-top:1px solid var(--line);padding:10px 12px var(--composer-pad);background:#fffdf8f5;grid-template-columns:auto 1fr auto;align-items:end;gap:8px;display:grid;position:sticky;bottom:0}.composer textarea{resize:none;min-height:44px;max-height:120px}.icon-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;width:44px;height:44px}.take-panel{border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow);margin:16px 12px;padding:18px}.take-panel h3{font-family:var(--font-display);margin:0 0 8px}.muted{color:var(--muted)}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.topbar-nav-link{white-space:nowrap;padding:8px 10px;text-decoration:none}@media (width>=900px){.workbench-desktop{width:100%;max-width:1100px;margin:0 auto}}
