.connection-status{align-items:center;gap:.75rem;padding:0 .5rem;display:flex}.status-dot{cursor:default;align-items:center;gap:.375rem;display:flex}.status-dot-indicator{background-color:#3a3a3a;border:1px solid #0003;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:all .3s;display:inline-block}.status-dot-label{color:var(--color-text-secondary);white-space:nowrap;font-size:.6875rem;font-weight:500}.status-dot-connected .status-dot-indicator{background-color:#22c55e;border-color:#16a34a;box-shadow:0 0 3px #22c55e,0 0 8px #22c55e80,inset 0 -1px 2px #00000026}.status-dot-disconnected .status-dot-indicator{background-color:#4b5563;border-color:#00000026;box-shadow:inset 0 1px 2px #0003}.status-dot-warning .status-dot-indicator{background-color:#eab308;border-color:#ca8a04;box-shadow:0 0 3px #eab308,0 0 8px #eab30880,inset 0 -1px 2px #00000026}.status-dot-loading .status-dot-indicator{background-color:#6b7280;border-color:#00000026;animation:1.5s ease-in-out infinite status-pulse}@keyframes status-pulse{0%,to{opacity:.3}50%{opacity:.8}}@media (width<=768px){.status-dot-label{display:none}.connection-status{gap:.5rem}}:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-success:#16a34a;--color-warning:#ca8a04;--color-error:#dc2626;--color-bg:#fff;--color-bg-secondary:#f8fafc;--color-text:#1e293b;--color-text-secondary:#64748b;--color-border:#e2e8f0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{background:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:auto;border-left:4px solid;align-items:center;gap:.75rem;min-width:300px;max-width:450px;padding:.875rem 1rem;animation:.3s ease-out toast-slide-in;display:flex}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{border-left-color:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left-color:var(--color-error)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning{border-left-color:var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-left-color:var(--color-primary)}.toast-info .toast-icon{color:var(--color-primary)}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-message{color:var(--color-text);flex:1;font-size:.875rem;line-height:1.4}.toast-dismiss{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.toast-dismiss:hover{background:var(--color-bg-secondary);color:var(--color-text)}@media (width<=480px){.toast-container{left:1rem;right:1rem}.toast{min-width:unset;max-width:unset}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sort-button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-weight:600;display:inline-flex}.sort-button:hover{color:var(--color-primary)}.sort-icon.inactive{opacity:.45}.searchable-select{position:relative}.searchable-select input{box-sizing:border-box;width:100%}.searchable-select-clear{cursor:pointer;color:#999;background:0 0;border:none;padding:0 .25rem;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.searchable-select-clear:hover{color:#333}.searchable-select-dropdown{z-index:100;background:#fff;border:1px solid #ddd;border-radius:.375rem;max-height:200px;margin:.25rem 0 0;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.searchable-select-option{cursor:pointer;padding:.5rem .75rem;font-size:.875rem}.searchable-select-option:hover,.searchable-select-option.highlighted{background:#f0f4ff}.searchable-select-option.selected{color:var(--color-primary,#4a6cf7);font-weight:600}.searchable-select-option.no-results{color:#999;cursor:default;font-style:italic}.sort-icon.active{opacity:1}*,:before,:after{box-sizing:border-box}*{margin:0}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}html{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg)}body,#root{min-height:100vh}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.route-loading{justify-content:center;align-items:center;min-height:200px;display:flex}.not-found-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.not-found-container h1{color:var(--color-text-secondary);font-size:4rem;line-height:1}.not-found-container p{color:var(--color-text-secondary);margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sync-indeterminate{0%{margin-left:-40%}to{margin-left:100%}}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background-color:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.app-header h1{color:var(--color-primary);font-size:1.5rem;font-weight:700}.main-nav{gap:.5rem;display:flex}.main-nav a{border-radius:var(--radius-md);color:var(--color-text-secondary);padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .15s}.main-nav a:hover{background:var(--color-bg-secondary);color:var(--color-text)}.main-nav a.active{background:var(--color-primary);color:#fff}.user-menu{align-items:center;gap:1rem;display:flex}.user-email{color:var(--color-text-secondary);font-size:.875rem}.btn-logout{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.btn-logout:hover{background:var(--color-bg);border-color:var(--color-text-secondary)}.app-main{background:var(--color-bg-secondary);flex:1;padding:0}.welcome-message{text-align:center;max-width:600px;margin:0 auto;padding:3rem 2rem}.welcome-message h2{margin-bottom:1rem;font-size:2rem}.welcome-message p{color:var(--color-text-secondary);margin-bottom:.5rem}.auth-container{background-color:var(--color-bg-secondary);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background-color:var(--color-bg);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:2rem}.auth-card h1{color:var(--color-primary);text-align:center;margin-bottom:.5rem;font-size:2rem;font-weight:700}.auth-card h2{text-align:center;color:var(--color-text-secondary);margin-bottom:2rem;font-size:1.25rem;font-weight:500}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-group input{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .15s}.form-group input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}button{cursor:pointer;background:0 0;border:none}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);padding:.75rem 1.5rem;font-weight:600;transition:background-color .15s}.auth-card .btn-primary{width:100%}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-link{color:var(--color-primary);font-weight:500;text-decoration:underline}.btn-link:hover{color:var(--color-primary-dark)}.error-message{color:var(--color-error);border-radius:var(--radius-md);background-color:#fef2f2;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.auth-toggle{text-align:center;color:var(--color-text-secondary);margin-top:1.5rem;font-size:.875rem}.auth-back-link{text-align:center;margin-top:.75rem;font-size:.875rem}.auth-back-link a{color:var(--color-text-secondary);text-decoration:none}.auth-back-link a:hover{color:var(--color-primary)}.upgrade-prompt{background:var(--color-bg-tertiary,#f8f5f0);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:flex-start;gap:.625rem;padding:.75rem;display:flex}.upgrade-prompt-icon{color:var(--color-text-secondary);flex-shrink:0;margin-top:1px}.upgrade-prompt-text{flex-direction:column;gap:.125rem;display:flex}.upgrade-prompt-label{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.upgrade-prompt-desc{color:var(--color-text-secondary);font-size:.8125rem}.tier-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm);padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.tier-badge.free{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.tier-badge.plus{color:#1a56db;background:#e8f0fe}.tier-badge.pro{color:#92400e;background:#fef3c7}
