.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;padding:48px 40px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-header h1{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.login-header p{font-size:16px;color:#666}.google-login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;font-weight:500;color:#333;cursor:pointer;transition:all .2s ease}.google-login-btn:hover{background:#f8f9fa;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.google-login-btn:active{transform:translateY(0)}.google-icon{width:24px;height:24px}.tg-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-top:20px;box-shadow:0 1px 3px #0000000f}.tg-card-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.tg-icon{width:40px;height:40px;border-radius:50%;background:#229ed9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tg-icon svg{width:22px;height:22px;fill:#fff}.tg-card-header h3{font-size:1.05rem;font-weight:600;color:#111827;margin:0}.tg-badge{margin-left:auto;padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.tg-badge--connected{background:#dcfce7;color:#166534}.tg-badge--disconnected{background:#f3f4f6;color:#6b7280}.tg-description{font-size:.88rem;color:#6b7280;margin:0 0 20px;line-height:1.5}.tg-connected{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tg-connected-info{font-size:.85rem;color:#374151}.tg-connected-info strong{display:block;font-weight:600;color:#111827;margin-bottom:2px}.btn-disconnect{padding:8px 18px;border-radius:8px;border:1px solid #fca5a5;background:#fff1f1;color:#b91c1c;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.btn-disconnect:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.btn-disconnect:disabled{opacity:.55;cursor:not-allowed}.tg-instructions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px;margin-bottom:16px;font-size:.85rem;color:#374151;line-height:1.6}.tg-instructions ol{margin:8px 0 0;padding-left:20px}.tg-instructions li{margin-bottom:4px}.tg-instructions code{background:#e2e8f0;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:.82rem;color:#0f172a}.tg-form{display:flex;gap:10px;flex-wrap:wrap}.tg-code-input{flex:1;min-width:140px;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:1.1rem;font-family:monospace;letter-spacing:.15em;text-align:center;color:#111827;transition:border-color .15s,box-shadow .15s;outline:none}.tg-code-input:focus{border-color:#229ed9;box-shadow:0 0 0 3px #229ed926}.tg-code-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.btn-connect{padding:10px 22px;border-radius:8px;border:none;background:#229ed9;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.btn-connect:hover:not(:disabled){background:#1a8abf}.btn-connect:disabled{opacity:.55;cursor:not-allowed}.tg-error{margin-top:10px;font-size:.82rem;color:#b91c1c}.tg-toggle-btn{background:none;border:none;color:#229ed9;font-size:.82rem;cursor:pointer;padding:0;margin-top:8px;text-decoration:underline;display:inline-block}.gm-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-top:20px;box-shadow:0 1px 3px #0000000f}.gm-card-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.gm-icon{width:40px;height:40px;border-radius:50%;background:#ea4335;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gm-icon svg{width:22px;height:22px;fill:#fff}.gm-card-header h3{font-size:1.05rem;font-weight:600;color:#111827;margin:0}.gm-badge{margin-left:auto;padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.gm-badge--connected{background:#dcfce7;color:#166534}.gm-badge--disconnected{background:#f3f4f6;color:#6b7280}.gm-description{font-size:.88rem;color:#6b7280;margin:0 0 20px;line-height:1.5}.gm-connected{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.gm-connected-info{font-size:.85rem;color:#374151}.gm-connected-info strong{display:block;font-weight:600;color:#111827;margin-bottom:2px}.gm-btn-connect{padding:10px 22px;border-radius:8px;border:none;background:#ea4335;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.gm-btn-connect:hover:not(:disabled){background:#d33426}.gm-btn-connect:disabled{opacity:.55;cursor:not-allowed}.gm-btn-disconnect{padding:8px 18px;border-radius:8px;border:1px solid #fca5a5;background:#fff1f1;color:#b91c1c;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.gm-btn-disconnect:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.gm-btn-disconnect:disabled{opacity:.55;cursor:not-allowed}.gm-error{margin-top:10px;font-size:.82rem;color:#b91c1c}.cal-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-top:20px;box-shadow:0 1px 3px #0000000f}.cal-card-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.cal-icon{width:40px;height:40px;border-radius:50%;background:#1a73e8;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cal-icon svg{width:22px;height:22px;fill:#fff}.cal-card-header h3{font-size:1.05rem;font-weight:600;color:#111827;margin:0}.cal-badge{margin-left:auto;padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.cal-badge--connected{background:#dcfce7;color:#166534}.cal-badge--disconnected{background:#f3f4f6;color:#6b7280}.cal-description{font-size:.88rem;color:#6b7280;margin:0 0 20px;line-height:1.5}.cal-connected{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cal-connected-info{font-size:.85rem;color:#374151}.cal-connected-info strong{display:block;font-weight:600;color:#111827;margin-bottom:2px}.cal-btn-connect{padding:10px 22px;border-radius:8px;border:none;background:#1a73e8;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.cal-btn-connect:hover:not(:disabled){background:#1765cc}.cal-btn-connect:disabled{opacity:.55;cursor:not-allowed}.cal-btn-disconnect{padding:8px 18px;border-radius:8px;border:1px solid #fca5a5;background:#fff1f1;color:#b91c1c;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.cal-btn-disconnect:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.cal-btn-disconnect:disabled{opacity:.55;cursor:not-allowed}.cal-error{margin-top:10px;font-size:.82rem;color:#b91c1c}.voice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#111827f5;color:#f9fafb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.voice-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:1px solid #4b5563;background:transparent;color:#f9fafb;font-size:1rem;cursor:pointer;transition:background .15s}.voice-close:hover{background:#ffffff1a}.voice-orb{width:160px;height:160px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #4b5563;transition:box-shadow .2s,border-color .2s,transform .2s}.voice-orb--listening{border-color:#34d399;box-shadow:0 0 0 8px #34d39926}.voice-orb--thinking,.voice-orb--tool_running{border-color:#fbbf24;box-shadow:0 0 0 8px #fbbf2426;animation:voice-pulse 1.4s ease-in-out infinite}.voice-orb--speaking{border-color:#60a5fa;box-shadow:0 0 0 12px #60a5fa33;animation:voice-pulse .9s ease-in-out infinite}@keyframes voice-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.voice-ptt{width:104px;height:104px;border-radius:50%;border:none;background:#f9fafb;color:#111827;font-size:2rem;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;transition:transform .1s,background .15s}.voice-ptt:active:not(:disabled){transform:scale(.94)}.voice-ptt:disabled{opacity:.4;cursor:not-allowed}.voice-pill{font-size:1.1rem;font-weight:600;margin:6px 0 0;min-height:1.5em}.voice-pill--listening{color:#34d399}.voice-pill--thinking,.voice-pill--tool_running{color:#fbbf24}.voice-pill--speaking{color:#60a5fa}.voice-hint{color:#9ca3af;font-size:.85rem;margin:0}.voice-transcript{max-width:560px;color:#d1d5db;font-size:.95rem;margin:4px 0 0}.voice-reply{max-width:560px;color:#f9fafb;font-size:1rem;margin:4px 0 0}.voice-error{max-width:560px;color:#f87171;font-size:.9rem;margin:4px 0 0}.chat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-top:20px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.chat-header-actions{display:flex;align-items:center;gap:8px}.chat-voice-mode-btn{padding:6px 14px;border-radius:8px;border:1px solid #111827;background:#111827;color:#f9fafb;font-size:.82rem;font-weight:500;cursor:pointer;transition:opacity .15s}.chat-voice-mode-btn:hover{opacity:.85}.chat-header h3{font-size:1.05rem;font-weight:600;color:#111827;margin:0}.chat-clear-btn{padding:6px 14px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.chat-clear-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.chat-clear-btn:disabled{opacity:.5;cursor:not-allowed}.chat-messages{min-height:220px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px}.chat-empty{color:#9ca3af;font-size:.85rem;text-align:center;margin:auto 0}.chat-message{display:flex}.chat-message--user{justify-content:flex-end}.chat-message--korta{justify-content:flex-start}.chat-bubble{max-width:78%;padding:9px 13px;border-radius:14px;font-size:.88rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.chat-message--user .chat-bubble{background:#1a73e8;color:#fff;border-bottom-right-radius:4px}.chat-message--korta .chat-bubble{background:#f3f4f6;color:#111827;border-bottom-left-radius:4px}.chat-bubble code{background:#0000000f;padding:1px 5px;border-radius:5px;font-size:.82em}.chat-message--user .chat-bubble code{background:#ffffff2e}.chat-tools{margin-top:6px;font-size:.72rem;opacity:.65}.chat-voice-note{margin-top:6px;font-size:.72rem;opacity:.75}.chat-audio{display:block;margin-top:8px;width:min(260px,100%);height:36px}.chat-audio::-webkit-media-controls-panel{border-radius:8px}.chat-mic-btn{width:42px;height:42px;flex-shrink:0;border-radius:10px;border:1px solid #d1d5db;background:#fff;font-size:1.05rem;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.chat-mic-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.chat-mic-btn:disabled{opacity:.5;cursor:not-allowed}.chat-mic-btn--recording{border-color:#dc2626;color:#dc2626;animation:chat-rec-pulse 1.4s infinite ease-in-out}@keyframes chat-rec-pulse{0%,to{box-shadow:0 0 #dc262659}50%{box-shadow:0 0 0 6px #dc26261f}}.chat-typing{display:flex;gap:4px;align-items:center}.chat-typing span{width:6px;height:6px;border-radius:50%;background:#9ca3af;animation:chat-blink 1.2s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chat-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-error{margin:10px 0 0;font-size:.82rem;color:#b91c1c}.chat-input-row{display:flex;gap:10px;margin-top:14px;align-items:flex-end}.chat-input{flex:1;resize:none;padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;font-size:.9rem;font-family:inherit;line-height:1.4;outline:none;transition:border-color .15s,box-shadow .15s}.chat-input:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81f}.chat-input:disabled{background:#f9fafb}.chat-send-btn{padding:10px 20px;border-radius:10px;border:none;background:#1a73e8;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.chat-send-btn:hover:not(:disabled){background:#1765cc}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.dashboard-container{max-width:800px;margin:0 auto;padding:40px 20px;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;color:#fff}.dashboard-header h1{font-size:32px;font-weight:700}.logout-btn{padding:10px 24px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.profile-card{background:#fff;border-radius:16px;padding:40px;text-align:center;box-shadow:0 20px 60px #0000004d;margin-bottom:24px;animation:fadeIn .5s ease-out}.profile-picture{width:100px;height:100px;border-radius:50%;margin-bottom:20px;border:4px solid #667eea}.profile-card h2{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.email{font-size:16px;color:#666;margin-bottom:12px}.user-id{font-size:14px;color:#999;font-family:monospace}.info-card{background:#fffffff2;border-radius:12px;padding:24px;box-shadow:0 10px 30px #0003;animation:fadeIn .5s ease-out .2s backwards}.info-card h3{font-size:18px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.info-card p{font-size:14px;color:#666}.integrations-section{animation:fadeIn .5s ease-out .3s backwards}.section-title{font-size:18px;font-weight:600;color:#ffffffeb;margin-bottom:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.apps-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.app-card{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:box-shadow .15s ease,transform .15s ease}.app-card:hover:not(:disabled){box-shadow:0 2px 10px #0000001f;transform:translateY(-1px)}.app-card:disabled{opacity:.6;cursor:wait}.app-card-title{font-weight:600}.app-card-subtitle{font-size:.85rem;color:#666}.app-handoff-error{color:#b3261e;margin:4px 0 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
