@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root,[data-theme=light]{--bg-app:#f5f6fa;--bg-sidebar:#fff;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#00000009;--bg-active:#4f8aff14;--bg-input:#f0f1f5;--bg-overlay:#0006;--border-subtle:#00000012;--border-medium:#0000001f;--border-strong:#0000002e;--text-primary:#1a1a2e;--text-secondary:#5c5c7a;--text-muted:#8c8ca8;--text-on-accent:#fff;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-panel:-1px 0 3px #0000000a;--scrollbar-thumb:#00000026;--scrollbar-hover:#00000040;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg-app:#0c0c14;--bg-sidebar:#111119;--bg-surface:#16161f;--bg-elevated:#1c1c28;--bg-hover:#ffffff0a;--bg-active:#4f8aff1f;--bg-input:#1c1c28;--bg-overlay:#0009;--border-subtle:#ffffff0f;--border-medium:#ffffff1a;--border-strong:#ffffff26;--text-primary:#e4e4ee;--text-secondary:#9898b0;--text-muted:#5c5c72;--text-on-accent:#fff;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-panel:-1px 0 6px #0000004d;--scrollbar-thumb:#ffffff1f;--scrollbar-hover:#fff3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--accent-blue:#4f8aff;--accent-blue-soft:#4f8aff1f;--accent-purple:#8b5cf6;--accent-purple-soft:#8b5cf61f;--accent-green:#22c55e;--accent-green-soft:#22c55e1f;--accent-amber:#f59e0b;--accent-amber-soft:#f59e0b1f;--accent-red:#ef4444;--accent-red-soft:#ef44441f;--accent-cyan:#06b6d4;--accent-cyan-soft:#06b6d41f;--priority-hot:#ef4444;--priority-hot-bg:#ef44441a;--priority-warm:#f59e0b;--priority-warm-bg:#f59e0b1a;--priority-cold:#4f8aff;--priority-cold-bg:#4f8aff1a;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--ease-fast:.12s ease;--ease-base:.2s ease;--ease-slow:.35s ease;--sidebar-w:232px;--header-h:52px;--ai-panel-w:720px}:root,[data-theme=light]{--badge-empty-bg:#f3f4f6;--badge-empty-text:#4b5563;--badge-bg-lightness:90%;--badge-text-lightness:30%}[data-theme=dark]{--badge-empty-bg:#ffffff14;--badge-empty-text:#9898b0;--badge-bg-lightness:15%;--badge-text-lightness:75%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{font-family:var(--font-sans);background:var(--bg-app);color:var(--text-primary);min-height:100vh;line-height:1.5;overflow-x:hidden}#root{min-height:100vh}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.app-layout{min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.app-header{height:var(--header-h);border-bottom:1px solid var(--border-subtle);padding:0 var(--sp-6);background:var(--bg-surface);z-index:50;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-content{padding:var(--sp-6);flex:1;width:100%;max-width:1600px}.app-content.centered{margin:0 auto}.ai-panel{width:var(--ai-panel-w);background:var(--bg-surface);border-left:1px solid var(--border-subtle);height:100vh;transition:width var(--ease-base), opacity var(--ease-base);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;overflow:hidden}.ai-panel.collapsed{opacity:0;pointer-events:none;border-left:none;width:0}.ai-panel-header{height:var(--header-h);padding:0 var(--sp-4);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.ai-panel-header-title{align-items:center;gap:var(--sp-2);white-space:nowrap;font-size:.85rem;font-weight:600;display:flex}.ai-panel-header-title svg{width:18px;height:18px;color:var(--accent-purple)}.ai-panel-header-badge{color:var(--text-muted);background:var(--bg-hover);border-radius:var(--radius-full);white-space:nowrap;padding:2px 6px;font-size:.65rem;font-weight:500}.ai-toggle-btn{display:none}.ai-expand-arrow{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md) 0 0 var(--radius-md);padding:var(--sp-2) var(--sp-1);cursor:pointer;z-index:100;color:var(--text-secondary);transition:all var(--ease-fast);border-right:none;justify-content:center;align-items:center;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-2px 0 10px #0000000d}.ai-expand-arrow:hover{color:var(--text-primary);background:var(--bg-hover)}.header-tabs{gap:var(--sp-4);align-items:center;height:100%;display:flex}.header-tab{color:var(--text-secondary);cursor:pointer;height:100%;padding:0 var(--sp-2);transition:color var(--ease-fast);background:0 0;border:none;font-size:.85rem;font-weight:500;position:relative}.header-tab:hover{color:var(--text-primary)}.header-tab.active{color:var(--accent-blue)}.header-tab.active:after{content:"";background:var(--accent-blue);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.header-user-menu{position:relative}.header-user-dropdown{margin-top:var(--sp-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--sp-2);gap:var(--sp-1);z-index:200;flex-direction:column;min-width:150px;display:flex;position:absolute;top:100%;left:0}.header-user-dropdown button{text-align:left;width:100%;padding:var(--sp-2) var(--sp-3);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:var(--sp-2);background:0 0;border:none;font-size:.85rem;display:flex}.header-user-dropdown button:hover{background:var(--bg-hover);color:var(--text-primary)}.header-user{align-items:center;gap:var(--sp-2);cursor:pointer;padding:var(--sp-1);border-radius:var(--radius-md);transition:background var(--ease-fast);display:flex}.header-user:hover{background:var(--bg-hover)}.header-user .avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.header-user .user-name{color:var(--text-primary);font-size:.85rem;font-weight:500}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:6px var(--sp-4);border-radius:var(--radius-md);font-size:.82rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--ease-fast);white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn svg{width:15px;height:15px}.btn-primary{background:var(--accent-blue);color:var(--text-on-accent);border-color:var(--accent-blue)}.btn-primary:hover{background:#3d7aef;box-shadow:0 0 12px #4f8aff33}.btn-ghost{color:var(--text-secondary);border-color:var(--border-medium);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-subtle{color:var(--text-muted);background:0 0;border:none;padding:4px 8px}.btn-subtle:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-sm{padding:3px 10px;font-size:.76rem}.btn-icon{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--ease-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-subtle)}.btn-icon svg{width:16px;height:16px}.input{width:100%;padding:7px var(--sp-3);background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);transition:all var(--ease-fast);outline:none;font-size:.85rem}.input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-soft)}.input::placeholder{color:var(--text-muted)}.select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239898b0' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:32px}.badge{border-radius:var(--radius-full);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:4px;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.badge-hot{background:var(--priority-hot-bg);color:var(--priority-hot)}.badge-warm{background:var(--priority-warm-bg);color:var(--priority-warm)}.badge-cold{background:var(--priority-cold-bg);color:var(--priority-cold)}.badge-stage{border-radius:var(--radius-full);padding:2px 8px;font-size:.7rem;font-weight:500}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-xs);transition:all var(--ease-base)}.card:hover{box-shadow:var(--shadow-sm)}.card-header{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.card-title{color:var(--text-primary);font-size:.88rem;font-weight:600}.card-subtitle{color:var(--text-muted);font-size:.75rem}.stats-row{gap:var(--sp-3);margin-bottom:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-xs)}.stat-value{margin-bottom:2px;font-size:1.6rem;font-weight:700;line-height:1}.stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.quick-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.quick-action{border-radius:var(--radius-full);cursor:pointer;transition:all var(--ease-fast);border:1px solid var(--border-medium);color:var(--text-secondary);font-size:.76rem;font-weight:500;font-family:var(--font-sans);background:0 0;padding:5px 12px}.quick-action:hover{box-shadow:var(--shadow-xs);background:var(--bg-hover);transform:translateY(-1px)}.quick-action.success{color:var(--accent-green);border-color:#22c55e4d}.quick-action.success:hover{background:var(--accent-green-soft)}.quick-action.danger{color:var(--accent-red);border-color:#ef44444d}.quick-action.danger:hover{background:var(--accent-red-soft)}.quick-action.warning{color:var(--accent-amber);border-color:#f59e0b4d}.quick-action.warning:hover{background:var(--accent-amber-soft)}.quick-action.info{color:var(--accent-purple);border-color:#8b5cf64d}.quick-action.info:hover{background:var(--accent-purple-soft)}.form-group{gap:var(--sp-1);flex-direction:column;display:flex}.form-group label{color:var(--text-secondary);font-size:.76rem;font-weight:500}.icon-select-wrapper{align-items:center;display:flex;position:relative}.icon-select-dot{z-index:1;pointer-events:none;border-radius:50%;width:8px;height:8px;position:absolute;left:10px}.icon-select-wrapper .icon-select{padding-left:26px}.pipeline-bar{border-radius:var(--radius-md);background:var(--bg-input);height:6px;margin-bottom:var(--sp-2);gap:2px;display:flex;overflow:hidden}.pipeline-segment{height:100%;transition:width var(--ease-slow);border-radius:1px;min-width:2px}.pipeline-labels{gap:var(--sp-2);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.pipeline-chip{border-radius:var(--radius-full);cursor:pointer;transition:all var(--ease-fast);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.72rem;font-weight:500;font-family:var(--font-sans);background:0 0;align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.pipeline-chip:hover{background:var(--bg-hover)}.pipeline-chip.active{border-color:currentColor}.pipeline-chip .chip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.pipeline-chip .chip-count{font-weight:700}.filter-bar{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.filter-bar .input{max-width:240px}.filter-bar .select{max-width:160px}.client-table{border-collapse:separate;border-spacing:0;width:100%}.client-table thead th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--sp-2) var(--sp-3);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-medium);background:var(--bg-surface);z-index:1;font-size:.7rem;font-weight:600;position:sticky;top:0}.client-table tbody tr{cursor:pointer;transition:background var(--ease-fast)}.client-table tbody tr:hover{background:var(--bg-hover)}.client-table tbody td{padding:8px var(--sp-3);border-bottom:1px solid var(--border-subtle);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.82rem;overflow:hidden}.client-table tbody tr:last-child td{border-bottom:none}.client-table .col-name{color:var(--text-primary);max-width:260px;font-weight:600}.client-table .col-meta{color:var(--text-muted);font-size:.75rem}.client-table .col-muted{color:var(--text-secondary)}.stage-indicator{align-items:center;gap:6px;font-size:.78rem;font-weight:500;display:inline-flex}.stage-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.priority-dots{align-items:center;gap:3px;display:inline-flex}.priority-dots .pdot{border-radius:50%;width:6px;height:6px}.upcoming-list{flex-direction:column;display:flex}.upcoming-item{align-items:center;gap:var(--sp-3);padding:6px var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--ease-fast);font-size:.82rem;display:flex}.upcoming-item:hover{background:var(--bg-hover)}.upcoming-date{color:var(--accent-amber);min-width:52px;font-size:.78rem;font-weight:500}.upcoming-name{min-width:140px;font-weight:600}.upcoming-action{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.calendar-container{gap:var(--sp-6);flex-direction:column;height:calc(100vh - 120px);display:flex}.calendar-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.calendar-header h2{margin:0;font-size:1.1rem;font-weight:700}.calendar-nav{align-items:center;gap:var(--sp-2);display:flex}.calendar-layout{gap:var(--sp-4);flex-grow:1;min-height:0;display:flex}.calendar-main{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-direction:column;flex-grow:1;display:flex;position:relative;overflow:hidden}.scrollable-months{flex-direction:column;display:flex;overflow-y:auto}.calendar-sidebar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:350px;box-shadow:var(--shadow-xs);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.cal-grid-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);z-index:10;grid-template-columns:repeat(7,1fr);display:grid;position:sticky;top:0}.cal-day-header{text-align:center;color:var(--text-muted);padding:var(--sp-2) 0;font-size:.75rem;font-weight:600}.cal-grid{background:var(--border-subtle);grid-template-columns:repeat(7,1fr);grid-auto-rows:120px;gap:1px;display:grid}.cal-day{background:var(--bg-surface);min-height:unset;cursor:pointer;transition:background var(--ease-fast);flex-direction:column;gap:2px;padding:4px;display:flex;overflow:hidden}.cal-day:hover{background:var(--bg-hover)}.cal-day.today{background:#4f8aff0d}.cal-day.today .cal-day-num{background:var(--accent-blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin:0 auto;display:flex}.cal-day.selected{outline:2px solid var(--accent-blue);outline-offset:-2px}.cal-day-num{color:var(--text-primary);text-align:center;margin-bottom:4px;padding:2px 0;font-size:.75rem;font-weight:500;line-height:1}.cal-day-num.first-day-label{text-align:left;color:var(--text-primary);margin-bottom:6px;padding-left:4px;font-size:1rem;font-weight:700}.cal-day.today .cal-day-num.first-day-label{border-radius:4px;justify-content:flex-start;width:auto;margin:0 0 6px;padding:2px 6px}.cal-event-pill{white-space:nowrap;text-overflow:ellipsis;border-radius:3px;align-items:center;gap:4px;padding:2px 4px;font-size:.65rem;font-weight:500;line-height:1.2;display:flex;overflow:hidden}.cal-event-indicator{border-radius:2px;flex-shrink:0;width:4px;height:10px;margin-right:4px}.sidebar-header{padding:var(--sp-4);border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-primary);justify-content:space-between;align-items:center;font-weight:600;display:flex}.sidebar-body{padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.sidebar-event{padding:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;transition:all var(--ease-fast)}.sidebar-event:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sidebar-event-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.sidebar-event-time{color:var(--accent-amber);font-size:.7rem;font-weight:700}.sidebar-event-title{color:var(--text-primary);font-size:.85rem;font-weight:600}.sidebar-event-desc{color:var(--text-secondary);margin-top:4px;font-size:.75rem;line-height:1.4}.chat-messages{padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-empty{text-align:center;justify-content:center;align-items:center;gap:var(--sp-3);height:100%;padding:var(--sp-6);flex-direction:column;display:flex}.chat-empty-icon{opacity:.5;font-size:2.2rem}.chat-empty h3{color:var(--text-primary);font-size:1rem;font-weight:600}.chat-empty p{color:var(--text-secondary);font-size:.82rem}.chat-suggestions{gap:var(--sp-2);width:100%;margin-top:var(--sp-2);flex-direction:column;display:flex}.chat-suggestion{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--border-medium);color:var(--text-secondary);font-size:.78rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--ease-fast);text-align:left;background:0 0}.chat-suggestion:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--text-primary)}.chat-msg{gap:var(--sp-2);max-width:92%;animation:.2s chatFadeIn;display:flex}.chat-msg.user{flex-direction:row-reverse;align-self:flex-end}.chat-msg.assistant{align-self:flex-start}.chat-msg-avatar{border-radius:var(--radius-full);background:var(--bg-elevated);border:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;display:flex}.chat-msg.user .chat-msg-avatar{background:var(--accent-blue-soft)}.chat-msg-bubble{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-lg);font-size:.82rem;line-height:1.55}.chat-msg.user .chat-msg-bubble{background:var(--accent-blue);color:var(--text-on-accent);border-bottom-right-radius:var(--radius-sm)}.chat-msg.assistant .chat-msg-bubble{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-bottom-left-radius:var(--radius-sm);color:var(--text-primary)}.chat-msg-bubble.error{background:var(--accent-red-soft);color:var(--accent-red);border-color:#ef44444d}.chat-msg-content{word-wrap:break-word;overflow-wrap:break-word}.chat-msg-content p{margin:0 0 4px}.chat-typing{gap:4px;padding:4px 2px;display:flex}.chat-typing .dot{background:var(--text-muted);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite typingDot}.chat-typing .dot:nth-child(2){animation-delay:.2s}.chat-typing .dot:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-input-area{padding:var(--sp-3);border-top:1px solid var(--border-subtle);flex-shrink:0}.chat-input-form{align-items:flex-end;gap:var(--sp-2);display:flex}.chat-input{padding:var(--sp-2) var(--sp-3);background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-sans);resize:none;max-height:100px;transition:border-color var(--ease-fast);outline:none;flex:1;font-size:.82rem;line-height:1.5}.chat-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-soft)}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{border-radius:var(--radius-full);background:var(--accent-blue);color:#fff;cursor:pointer;width:34px;height:34px;transition:all var(--ease-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;display:flex}.chat-send-btn:hover:not(:disabled){background:#3d7aef;box-shadow:0 0 12px #4f8aff33}.chat-send-btn:disabled{opacity:.3;cursor:default}.chat-send-btn.stop{background:var(--accent-red)}.chat-send-btn.stop:hover{background:#dc2626}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.login-screen{background:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:380px;padding:var(--sp-10);box-shadow:var(--shadow-lg);animation:.4s loginSlide}.login-card h1{text-align:center;margin-bottom:var(--sp-1);background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-weight:700}.login-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:var(--sp-6);font-size:.82rem}.login-form{gap:var(--sp-4);flex-direction:column;display:flex}@keyframes loginSlide{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.timeline{padding-left:var(--sp-6);position:relative}.timeline:before{content:"";background:var(--border-subtle);width:2px;position:absolute;top:0;bottom:0;left:9px}.timeline-item{padding-bottom:var(--sp-5);position:relative}.timeline-dot{left:calc(-1 * var(--sp-6) + 3px);border-radius:var(--radius-full);background:var(--bg-surface);border:2px solid var(--accent-blue);z-index:1;width:14px;height:14px;position:absolute;top:4px}.timeline-dot.telefon{border-color:var(--accent-purple)}.timeline-dot.email{border-color:var(--accent-blue)}.timeline-dot.spotkanie{border-color:var(--accent-amber)}.timeline-dot.oferta{border-color:var(--accent-green)}.timeline-dot.notatka{border-color:var(--text-muted)}.timeline-dot.status_change{border-color:var(--accent-cyan)}.timeline-date{color:var(--text-muted);margin-bottom:2px;font-size:.7rem;font-weight:500}.timeline-summary{color:var(--text-primary);font-size:.82rem;line-height:1.5}.timeline-author{color:var(--text-muted);margin-top:2px;font-size:.68rem}.voice-recorder{align-items:center;gap:var(--sp-2);display:flex}.voice-btn{border-radius:var(--radius-full);border:2px solid var(--accent-red);background:var(--accent-red-soft);width:34px;height:34px;color:var(--accent-red);cursor:pointer;transition:all var(--ease-base);justify-content:center;align-items:center;font-size:.9rem;display:flex}.voice-btn.recording{background:var(--accent-red);color:#fff;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 10px #ef444400}}.voice-timer{font-family:var(--font-mono);color:var(--text-secondary);min-width:50px;font-size:.85rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.mt-2{margin-top:var(--sp-2)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-2{margin-bottom:var(--sp-2)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.text-sm{font-size:.78rem}.text-xs{font-size:.7rem}.text-muted{color:var(--text-secondary)}.text-center{text-align:center}.w-full{width:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--ease-base)}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.slide-in{animation:slideIn var(--ease-base)}
