.error-boundary-page{background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);place-items:center;padding:24px;display:grid}.error-boundary-panel{background:var(--bg-card);border:1px solid var(--border-color);width:min(100%,560px);box-shadow:0 18px 48px var(--shadow-lg);border-radius:14px;padding:28px}.error-boundary-kicker{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:800;display:block}.error-boundary-panel h1{color:var(--text-primary);letter-spacing:0;text-wrap:balance;margin:0 0 12px;font-size:2rem;font-weight:820;line-height:1.08}.error-boundary-panel p{color:var(--text-secondary);margin:0;line-height:1.6}.error-boundary-actions{margin-top:22px}.error-boundary-actions button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:9px;min-height:42px;padding:10px 16px;font-weight:700;transition:transform .18s,background .18s,box-shadow .18s}.error-boundary-actions button:hover{background:var(--accent-hover);box-shadow:0 10px 22px var(--accent-glow);transform:none}.error-boundary-actions button:active{transform:none}.error-boundary-details{color:var(--text-muted);margin-top:18px}.error-boundary-details summary{cursor:pointer;font-weight:700}.error-boundary-details pre{color:var(--text-secondary);background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:8px;margin:10px 0 0;padding:12px;overflow-x:auto}:root{--bg-primary:#f2f7f7;--bg-card:#fbfeff;--bg-card-hover:#e5eeee;--bg-input:#fbfeff;--bg-elevated:#fff;--border-color:#ccd9d9;--border-subtle:#162a2f0e;--text-primary:#1f2a2d;--text-secondary:#526368;--text-muted:#74868b;--accent:#3f96a3;--accent-hover:#327985;--accent-light:#abd9de;--accent-glow:#3f96a338;--shadow:#142b310e;--shadow-md:#142b311b;--shadow-lg:#142b312e;--bg-info:#3f96a318;--bg-success:#43886b18;--bg-warning:#b87c261d;--bg-danger:#b4464a18;--text-info:#327985;--text-success:#3f7d64;--text-warning:#9f6b22;--text-danger:#a94549;--chat-bg:#e4eeee;--chat-messages-bg:#fbfeff;--chat-input-bg:#fbfeff;--ring-offset:#f2f7f7;--surface-pressed:#d8e5e5;--surface-ink:#0c1315;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-variant-numeric:tabular-nums;color:var(--text-primary);background-color:var(--bg-primary);font-family:Satoshi,Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}[data-theme=dark]{--bg-primary:#070d0f;--bg-card:#0f171a;--bg-card-hover:#162225;--bg-input:#101a1d;--bg-elevated:#111d20;--border-color:#e2f6f81b;--border-subtle:#e2f6f80e;--text-primary:#edf7f8;--text-secondary:#b6c8cc;--text-muted:#829aa0;--accent:#56a9b4;--accent-hover:#6bb7c1;--accent-light:#b9e4e8;--accent-glow:#56a9b438;--shadow:#0000003d;--shadow-md:#00000061;--shadow-lg:#00000094;--bg-info:#56a9b421;--bg-success:#5b998021;--bg-warning:#dca24421;--bg-danger:#dc606521;--text-info:#a8dce2;--text-success:#acd9c2;--text-warning:#e7bf70;--text-danger:#efa4a7;--chat-bg:#091113;--chat-messages-bg:#070d0f;--chat-input-bg:#101a1d;--ring-offset:#070d0f;--surface-pressed:#1e2d31;--surface-ink:#04090a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-tap-highlight-color:transparent;min-height:100vh}body:before{content:"";pointer-events:none;opacity:0;z-index:-1;background:0 0;position:fixed;inset:0}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}button,a,input,select,textarea{min-width:0}:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 78%, white 22%);outline-offset:3px}::selection{background:var(--accent-glow);color:var(--text-primary)}input,select,textarea{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-color);font-family:inherit;font-size:16px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-header h1{color:var(--text-primary);letter-spacing:0;text-wrap:balance;margin-bottom:4px;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.55rem);font-weight:850}.page-header p{color:var(--text-secondary);max-width:66ch;line-height:1.65}.section-kicker{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:820;display:inline-block}.control-panel-heading,.list-section-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.control-panel-heading h2,.list-section-heading h2{color:var(--text-primary);letter-spacing:0;margin:0;font-size:1.15rem;font-weight:780}.control-panel-heading p{color:var(--text-muted);text-align:right;max-width:44ch;font-size:.88rem}.empty-state{text-align:center;color:var(--text-secondary);background:color-mix(in srgb, var(--bg-card) 56%, transparent);border:1px dashed var(--border-color);border-radius:8px;padding:64px 24px}.empty-state p{margin-bottom:16px}.route-loading{width:min(100%,320px);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 18px 42px var(--shadow);text-align:center;border-radius:8px;margin:48px auto;padding:16px 18px;font-size:.95rem;font-weight:650}.detail-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:0;font-size:.8rem}.thread-picker-item{background:var(--bg-card-hover);border:1px solid var(--border-color);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;font-family:inherit;font-size:.88rem;transition:all .15s;display:flex}.thread-picker-item:hover{border-color:var(--accent);background:var(--bg-info)}.thread-picker-subject{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.thread-picker-date{color:var(--text-muted);flex-shrink:0;margin-left:12px;font-size:.78rem}.loading-screen{min-height:100vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.page-header{gap:12px;margin-bottom:16px}.page-header h1{font-size:1.4rem}.empty-state{padding:40px 16px}}@media (width<=480px){.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:1.25rem}}
