.heatmap-card{margin-bottom:var(--spacing-lg);overflow:visible;position:relative}.heatmap-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.heatmap-title{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--text-primary)}.heatmap-subtitle{margin:0;font-size:.78rem;color:var(--text-secondary)}.heatmap-legend{display:flex;align-items:center;gap:3px;flex-shrink:0}.heatmap-legend-label{font-size:.68rem;color:var(--text-secondary);margin:0 2px}.heatmap-legend-cell{width:11px;height:11px;border-radius:2px;background:var(--color-light-gray)}.heatmap-wrapper{display:flex;gap:4px;overflow:hidden}.heatmap-day-labels{display:flex;flex-direction:column;gap:2px;padding-top:20px;flex-shrink:0}.heatmap-day-label{font-size:.6rem;color:var(--text-secondary);height:11px;line-height:11px;width:10px;text-align:right}.heatmap-scroll{overflow-x:auto;overflow-y:visible;flex:1;scrollbar-width:none}.heatmap-scroll::-webkit-scrollbar{display:none}.heatmap-month-row{display:grid;gap:2px;height:18px;margin-bottom:2px}.heatmap-month-label{font-size:.62rem;color:var(--text-secondary);line-height:18px;white-space:nowrap;overflow:visible}.heatmap-grid{display:grid;grid-template-rows:1fr;gap:2px;width:max-content}.heatmap-col{display:grid;grid-template-rows:repeat(7,11px);gap:2px;transform-origin:bottom}.heatmap-cell{width:11px;height:11px;border-radius:2px;cursor:pointer;transition:transform .12s ease,outline .1s;background:var(--color-light-gray)}.heatmap-cell:hover{transform:scale(1.35);outline:1.5px solid rgba(247,155,114,.5);outline-offset:1px;z-index:2}.heatmap-tooltip{position:absolute;pointer-events:none;z-index:100;background:var(--color-secondary);color:#fff;border-radius:8px;padding:.45rem .7rem;font-size:.75rem;display:flex;flex-direction:column;gap:.15rem;white-space:nowrap;box-shadow:0 4px 14px #00000038;animation:tooltipIn .1s ease-out}.heatmap-tooltip strong{font-weight:700;font-size:.8rem}.heatmap-tooltip span{opacity:.82;text-transform:capitalize}@keyframes tooltipIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .heatmap-cell,[data-theme=dark] .heatmap-legend-cell{background:#ffffff12}[data-theme=dark] .heatmap-tooltip{background:#0f172a;border:1px solid var(--color-light-gray);color:var(--text-primary)}@media (prefers-reduced-motion: reduce){.heatmap-cell{transition:none}}@media (max-width: 768px){.heatmap-header{flex-direction:column;gap:.75rem}.heatmap-legend{align-self:flex-start}.heatmap-scroll{overflow-x:auto}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;min-width:280px;max-width:420px;padding:.85rem 1.1rem;border-radius:10px;box-shadow:0 4px 16px #0000001f;display:flex;align-items:center;justify-content:space-between;gap:.75rem}@media (max-width: 767px){.toast-container{bottom:calc(80px + env(safe-area-inset-bottom,0px) + .75rem);right:.75rem;left:.75rem;min-width:unset;max-width:unset}}.wf-card{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background:#f79b720f;border:1px solid rgba(247,155,114,.25);border-radius:var(--radius-lg)}.wf-card--failed{background:#ef44440d;border-color:#ef444440}.wf-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.wf-title-block{display:flex;flex-direction:column;gap:2px}.wf-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.wf-subtitle{font-size:.78rem;color:var(--text-secondary);margin:0}.wf-percentage{font-size:1.75rem;font-weight:700;font-family:var(--font-mono);color:var(--color-primary);line-height:1;white-space:nowrap}.wf-card--failed .wf-percentage{color:var(--color-danger)}.wf-bar-wrap{position:relative;height:8px;background:var(--color-light-gray);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-md)}.wf-bar-fill{height:100%;border-radius:var(--radius-sm);background:var(--color-primary);transition:width .5s ease}.wf-bar-fill--failed{background:var(--color-danger)}.wf-bar-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:var(--radius-sm);pointer-events:none}.wf-bar-shimmer:after{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);animation:wf-shimmer 1.8s ease-in-out infinite}@keyframes wf-shimmer{0%{transform:translate(-200%)}to{transform:translate(400%)}}.wf-pipeline{display:flex;flex-direction:column;gap:2px}.wf-step{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px 0;min-height:44px}.wf-step-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}.wf-step-icon--pending{border:2px solid var(--color-light-gray);background:transparent}.wf-step-icon--active{background:var(--color-primary);border:2px solid var(--color-primary);animation:pulse 1.5s ease-in-out infinite}.wf-step-icon--completed{background:var(--color-tertiary);border:2px solid var(--color-tertiary);color:var(--color-white)}.wf-step-icon--error{background:var(--color-danger);border:2px solid var(--color-danger);color:var(--color-white)}.wf-step-label{flex:1;font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-step-label--active{color:var(--text-primary);font-weight:600}.wf-step-label--completed{color:var(--text-primary)}.wf-step-badge{flex-shrink:0;font-size:.7rem;font-family:var(--font-mono);color:var(--color-muted);background:var(--color-bg-light);border:1px solid var(--color-light-gray);border-radius:var(--radius-full);padding:1px 6px}.wf-error-block{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#ef444414;border-radius:var(--radius-md);font-size:.85rem;color:var(--color-danger);display:flex;align-items:flex-start;gap:var(--spacing-sm)}.wf-error-icon{flex-shrink:0;margin-top:1px}@media (max-width: 768px){.wf-percentage{font-size:1.4rem}.wf-step-label{font-size:.8rem}}@media (prefers-reduced-motion: reduce){.wf-step-icon--active{animation:none}.wf-bar-shimmer:after{animation:none}}.publish-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0006;padding:var(--spacing-md)}.publish-confirm-modal{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;padding:var(--spacing-xl);outline:none}.publish-confirm-header{margin-bottom:var(--spacing-lg)}.publish-confirm-title{margin:0 0 var(--spacing-xs) 0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.publish-confirm-subtitle{margin:0;font-size:.85rem;color:var(--text-secondary)}.publish-confirm-recipients-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm)}.publish-confirm-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:var(--spacing-md)}.publish-confirm-chip{display:inline-flex;align-items:center;font-size:.75rem;padding:.2rem .65rem;border-radius:var(--radius-full);background:#2a475914;color:var(--color-secondary);border:1px solid rgba(42,71,89,.2);font-weight:500}.publish-confirm-no-recipients{font-size:.82rem;color:var(--text-secondary);font-style:italic;margin-bottom:var(--spacing-md)}.publish-confirm-warning{display:flex;align-items:flex-start;gap:.6rem;padding:var(--spacing-md);background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:.83rem;color:#92400e;line-height:1.5}.publish-confirm-warning-icon{flex-shrink:0;margin-top:1px}.publish-confirm-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}@media (max-width: 768px){.publish-confirm-overlay{align-items:flex-end;padding:0}.publish-confirm-modal{max-width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:var(--spacing-xl) var(--spacing-lg);padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom,24px));width:90vw;margin:0 auto}.publish-confirm-actions{flex-direction:column-reverse}.publish-confirm-actions button{width:100%}}.settings-tabs-nav{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;padding:.5rem;padding:.5rem!important}.member-list{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;gap:.5rem}.member-row{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:10px;border:1px solid var(--color-light-gray);transition:background .15s ease}.member-avatar{width:38px;height:38px;min-width:38px;border-radius:50%;-webkit-flex-shrink:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;font-weight:700;font-size:.85rem}.member-main{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:.75rem;overflow:hidden}.member-info{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}.member-name-row{font-weight:600;font-size:.9rem;color:var(--text-primary);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:.4rem;-webkit-flex-wrap:wrap;flex-wrap:wrap}.member-email{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-last-login{font-size:.75rem;color:var(--text-secondary);opacity:.7}.member-controls{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:.4rem;-webkit-flex-shrink:0;flex-shrink:0}.member-action-btn{background:none;border:1px solid var(--color-light-gray);color:var(--text-secondary);border-radius:7px;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;gap:.3rem;font-size:.8rem;min-height:34px;min-width:34px;padding:.4rem .55rem;transition:all .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit}.member-action-btn:hover{background:var(--color-bg-light)}.member-action-btn--resend{border-color:#f59e0b66;color:var(--color-warning)}.member-action-btn--resend:hover{background:#f59e0b14}.member-action-btn--danger{border-color:#ef44444d;color:var(--color-danger)}.member-action-btn--danger:hover{background:#ef44440f}.member-action-label{display:none}.invite-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:.75rem}.invite-submit-btn{display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:.25rem}.member-badge{display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:.2rem;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;white-space:nowrap;-webkit-flex-shrink:0;flex-shrink:0}.member-badge--pending{background:#f59e0b1f;color:var(--color-warning);border:1px solid rgba(245,158,11,.35)}.member-badge--inactive{background:var(--color-bg-light);color:var(--text-secondary);border:1px solid var(--color-light-gray)}.member-role-badge{font-size:.8rem;font-weight:600;padding:.35rem .75rem;background:var(--color-bg-light);border-radius:6px;white-space:nowrap;-webkit-flex-shrink:0;flex-shrink:0}.member-role-select{width:auto;padding:.35rem .5rem;font-size:.8rem;border-radius:6px;border:1px solid var(--color-light-gray);background:var(--color-white);cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;font-family:inherit}@media (max-width: 768px){.settings-layout{gap:.5rem!important}.settings-tabs-nav{-webkit-box-orient:horizontal!important;-webkit-flex-direction:row!important;flex-direction:row!important;overflow-x:scroll!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.4rem!important;padding:.5rem!important;border-radius:12px!important;-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.settings-tabs-nav::-webkit-scrollbar{display:none}.settings-tabs-nav .settings-tab{-webkit-box-flex:0!important;-webkit-flex:0 0 auto!important;flex:0 0 auto!important;width:auto!important;min-width:-webkit-max-content;min-width:max-content;white-space:nowrap;padding:.5rem .875rem!important;border-radius:999px!important;margin-bottom:0!important;font-size:.875rem!important}.member-row{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;padding:.75rem}.member-avatar{width:32px!important;height:32px!important;min-width:32px!important;font-size:.78rem!important;margin-top:2px}.member-main{-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column!important;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch!important;gap:.5rem;width:100%;overflow:visible;min-width:0}.member-info{width:100%;overflow:hidden}.member-controls{width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-flex-shrink:0;flex-shrink:0}.member-action-btn{min-height:36px;min-width:36px;padding:.45rem .65rem}.member-action-btn--danger .member-action-label{display:inline;font-size:.78rem}.member-role-select{min-height:36px;font-size:.85rem;padding:.4rem .5rem}.invite-form-grid{grid-template-columns:1fr 1fr!important}.invite-form-grid .form-group:nth-child(3){-webkit-column-span:all;grid-column:1 / -1}.invite-form-grid .form-group:nth-child(4){-webkit-column-span:all;grid-column:1 / -1}.invite-submit-btn{width:100%!important;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}}[data-theme=dark] .member-row{border-color:var(--color-light-gray)}[data-theme=dark] .member-row:hover{background:#ffffff08}[data-theme=dark] .member-role-select{background:var(--color-bg-light);color:var(--text-primary);border-color:var(--color-light-gray)}[data-theme=dark] .member-badge--pending{background:#f59e0b26}[data-theme=dark] .member-badge--inactive{background:#ffffff0d}[data-theme=dark] .member-action-btn{border-color:var(--color-light-gray)}[data-theme=dark] .member-action-btn:hover{background:#ffffff0f}[data-theme=dark] .settings-tabs-nav{background:var(--color-white)}.login-history-section{margin-top:2rem}.login-history-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 0;font-weight:600;color:var(--color-secondary);-webkit-user-select:none;user-select:none}[data-theme=dark] .login-history-header{color:var(--text-primary)}.login-history-header:hover{opacity:.8}.lh-fail-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:800;border-radius:50%;flex-shrink:0}.login-history-events{margin-top:1rem}.lh-desktop-table{display:none}@media (min-width: 640px){.lh-desktop-table{display:block;border:1px solid var(--color-light-gray);border-radius:var(--radius-md);overflow:hidden}.lh-mobile-cards{display:none}}.lh-table-head{display:grid;grid-template-columns:1.5fr 2fr 1fr 1.5fr;gap:.5rem;padding:.6rem 1rem;font-size:.75rem;font-weight:700;color:var(--text-secondary);background:var(--color-bg-light);border-bottom:1px solid var(--color-light-gray);text-transform:uppercase;letter-spacing:.04em}.lh-table-row{display:grid;grid-template-columns:1.5fr 2fr 1fr 1.5fr;gap:.5rem;padding:.75rem 1rem;font-size:.84rem;border-bottom:1px solid var(--color-light-gray);cursor:pointer;transition:background .12s;align-items:center;color:var(--text-primary)}.lh-table-row:last-child{border-bottom:none}.lh-table-row:hover{background:var(--color-bg-light)}.lh-cell-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.lh-mobile-cards{display:flex;flex-direction:column;gap:.5rem}.lh-mobile-card{border:1px solid var(--color-light-gray);border-radius:var(--radius-md);padding:.875rem;cursor:pointer;transition:background .12s}.lh-mobile-card:hover{background:var(--color-bg-light)}.lh-card-row{display:flex;align-items:flex-start;gap:.75rem}.lh-card-device{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.2rem}.lh-card-meta{display:flex;gap:.75rem;font-size:.78rem;color:var(--text-secondary);flex-wrap:wrap}.lh-reason-tag{display:inline-block;margin-top:.2rem;margin-left:.35rem;background:#ef44441a;color:var(--color-danger);font-size:.72rem;border-radius:6px;padding:.1rem .4rem}.lh-useragent{margin-top:.4rem;font-size:.75rem;color:var(--text-secondary);word-break:break-all;line-height:1.4}.login-history-load-more{width:100%;margin-top:1rem;padding:.6rem;background:transparent;border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);font-size:.875rem;transition:all .2s}.login-history-load-more:hover{background:var(--color-bg-light);color:var(--text-primary)}@media (prefers-reduced-motion: reduce){.login-history-events{animation:none!important;transition:none!important}}.totp-root{margin-bottom:1.5rem}.totp-status-card{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem;border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-lg);margin-bottom:1rem}.totp-status-header{display:flex;align-items:center;gap:1rem;flex:1;min-width:0;flex-wrap:wrap}.totp-status-icon{font-size:1.75rem;color:var(--text-secondary);flex-shrink:0;display:flex}.totp-status-icon.enabled{color:var(--color-tertiary)}.totp-status-title{font-weight:600;color:var(--color-secondary);font-size:.95rem}.totp-status-sub{font-size:.82rem;color:var(--text-secondary);margin-top:.2rem}.totp-flow-card{border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem}.totp-flow-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.totp-flow-header h4{font-size:1rem;font-weight:600;color:var(--color-secondary);margin:0}.totp-close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:1.1rem;padding:.25rem;display:flex;align-items:center;border-radius:var(--radius-md);transition:background .15s}.totp-close-btn:hover{background:var(--color-bg-light)}.totp-instructions{font-size:.875rem;color:var(--text-secondary);margin-bottom:1.25rem}.totp-qr-wrapper{display:flex;justify-content:center;margin-bottom:1rem}.totp-qr-img{width:180px;height:180px;border-radius:12px;padding:8px;background:#fff;border:1px solid var(--color-light-gray, #e5e7eb)}@media (max-width: 768px){.totp-qr-img{width:160px;height:160px}.totp-code-input{max-width:100%!important}}.totp-secret-toggle{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:.25rem 0;margin-bottom:.75rem;text-decoration:underline}.totp-secret-box{display:flex;align-items:center;gap:.5rem;background:var(--color-bg-light);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;font-family:monospace;font-size:.85rem;word-break:break-all}.totp-secret-box button{background:none;border:none;cursor:pointer;color:var(--text-secondary);flex-shrink:0}.totp-verify-section{margin-top:1rem}.totp-code-input{font-family:monospace;font-size:1.5rem;letter-spacing:.25em;text-align:center;max-width:220px;display:block}.totp-error{display:flex;align-items:center;gap:.4rem;color:var(--color-danger);font-size:.85rem;margin-top:.5rem}.totp-flow-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.totp-amber-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);font-size:.875rem;color:#92400e;margin-bottom:1.25rem}.totp-recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}@media (max-width: 768px){.totp-recovery-grid{grid-template-columns:1fr}}.totp-recovery-code{display:block;padding:.6rem 1rem;background:var(--color-bg-light);border:1px dashed var(--color-light-gray, #e5e7eb);border-radius:var(--radius-md);font-family:monospace;font-size:.9rem;color:var(--color-secondary);letter-spacing:.08em;text-align:center}.sessions-root{margin-top:1.5rem}.sessions-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1rem;background:none;border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-lg);cursor:pointer;font-size:.95rem;color:var(--color-secondary);font-weight:500;transition:background .15s}.sessions-toggle:hover{background:var(--color-bg-light)}.sessions-toggle-label{display:flex;align-items:center;gap:.5rem}.sessions-toggle-icon{color:var(--color-primary);font-size:1rem}.sessions-badge{background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;line-height:1.4}.sessions-chevron{font-size:1.1rem;color:var(--text-secondary);transition:transform .2s;display:inline-block}.sessions-chevron.open{transform:rotate(90deg)}.sessions-panel{border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-lg);margin-top:.5rem;overflow:hidden}.sessions-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--color-light-gray, #e5e7eb);flex-wrap:wrap;gap:.5rem}.sessions-panel-title{font-size:.875rem;font-weight:600;color:var(--color-secondary)}.sessions-refresh-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.25rem;display:flex;align-items:center;border-radius:var(--radius-md);transition:background .15s}.sessions-refresh-btn:hover{background:var(--color-bg-light)}.sessions-refresh-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sessions-revoke-all{color:var(--color-danger)!important;border-color:var(--color-danger)!important;font-size:.8rem}.sessions-loading{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.sessions-skeleton{height:52px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-bg-light) 25%,var(--color-light-gray, #e5e7eb) 50%,var(--color-bg-light) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.sessions-empty{padding:1.25rem 1rem;font-size:.875rem;color:var(--text-secondary);text-align:center}.sessions-list{list-style:none;margin:0;padding:0}.sessions-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--color-light-gray, #e5e7eb);transition:background .15s}.sessions-item:last-child{border-bottom:none}.sessions-item.current{background:#3b8c880d}.sessions-device-icon{font-size:1.25rem;color:var(--text-secondary);flex-shrink:0;display:flex}.sessions-item.current .sessions-device-icon{color:var(--color-tertiary)}.sessions-info{flex:1;min-width:0}.sessions-device-name{font-size:.9rem;font-weight:500;color:var(--color-secondary);display:flex;align-items:center;gap:.4rem}.sessions-current-badge{font-size:.72rem;background:#3b8c881f;color:var(--color-tertiary);padding:.1rem .4rem;border-radius:999px;font-weight:600}.sessions-meta{font-size:.78rem;color:var(--text-secondary);margin-top:.2rem;display:flex;gap:.75rem;flex-wrap:wrap}.sessions-revoke-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.3rem;display:flex;align-items:center;border-radius:var(--radius-md);transition:color .15s,background .15s;flex-shrink:0}.sessions-revoke-btn:hover:not(:disabled){color:var(--color-danger);background:#ef444414}.sessions-revoke-btn:disabled{opacity:.5;cursor:not-allowed}.sessions-confirm-modal{display:flex;align-items:flex-start;gap:.75rem;margin:.75rem 1rem;padding:1rem;background:#f59e0b12;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-md)}.sessions-confirm-icon{flex-shrink:0;margin-top:.1rem}.sessions-confirm-body{flex:1}.sessions-confirm-title{font-weight:600;font-size:.9rem;color:var(--text-primary);margin-bottom:.25rem}.sessions-confirm-desc{font-size:.82rem;color:var(--text-secondary);margin-bottom:.75rem}.sessions-confirm-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sessions-confirm-danger{background:#ef4444e6;color:#fff;border:none;font-size:.82rem}.sessions-confirm-danger:hover:not(:disabled){background:#ef4444}[data-theme=dark] .sessions-toggle,[data-theme=dark] .sessions-panel-title,[data-theme=dark] .sessions-device-name{color:var(--text-primary)}@media (max-width: 768px){.sessions-panel-header{flex-direction:column;align-items:flex-start}}.apikey-root{margin-top:1.5rem;position:relative}.apikey-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1rem;background:none;border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-lg);cursor:pointer;font-size:.95rem;color:var(--color-secondary);font-weight:500;transition:background .15s}.apikey-toggle:hover{background:var(--color-bg-light)}.apikey-toggle-label{display:flex;align-items:center;gap:.5rem}.apikey-toggle-icon{color:var(--color-primary);font-size:1rem}.apikey-badge{background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;line-height:1.4}.apikey-chevron{font-size:1.1rem;color:var(--text-secondary);transition:transform .2s;display:inline-block}.apikey-chevron.open{transform:rotate(90deg)}.apikey-panel{border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-lg);margin-top:.5rem;overflow:hidden}.apikey-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--color-light-gray, #e5e7eb)}.apikey-panel-title{font-size:.875rem;font-weight:600;color:var(--color-secondary)}.apikey-scope-chip{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;vertical-align:middle}.apikey-scope-chip.apikey-scope-read{background:#3b82f61f;color:#1d4ed8}.apikey-scope-chip.apikey-scope-read_write{background:#f79b7226;color:var(--color-primary)}[data-theme=dark] .apikey-scope-chip.apikey-scope-read{background:#3b82f633;color:#93c5fd}.apikey-scope-toggle{display:flex;gap:.5rem;flex-wrap:wrap}.scope-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border:1.5px solid var(--color-light-gray);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.scope-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.scope-btn.active{border-color:var(--color-primary);background:#f79b721a;color:var(--color-primary);font-weight:600}.apikey-form{padding:.875rem 1rem;border-bottom:1px solid var(--color-light-gray, #e5e7eb);display:flex;flex-direction:column;gap:.5rem}.apikey-form-actions{display:flex;gap:.5rem;flex-wrap:wrap}.apikey-loading{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.apikey-skeleton{height:48px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-bg-light) 25%,var(--color-light-gray, #e5e7eb) 50%,var(--color-bg-light) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.apikey-empty-state{padding:2rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;color:var(--text-primary)}.apikey-list{list-style:none;margin:0;padding:0}.apikey-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--color-light-gray, #e5e7eb)}.apikey-item:last-child{border-bottom:none}.apikey-item-icon{font-size:1rem;color:var(--text-secondary);flex-shrink:0;display:flex}.apikey-item-info{flex:1;min-width:0}.apikey-item-name{font-size:.9rem;font-weight:500;color:var(--color-secondary);display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.apikey-item-meta{font-size:.78rem;color:var(--text-secondary);margin-top:.2rem;display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.apikey-prefix{font-family:monospace;background:var(--color-bg-light);padding:.1rem .35rem;border-radius:var(--radius-sm);font-size:.78rem}.apikey-revoke-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.3rem;display:flex;align-items:center;border-radius:var(--radius-md);transition:color .15s,background .15s;flex-shrink:0}.apikey-revoke-btn:hover:not(:disabled){color:var(--color-danger);background:#ef444414}.apikey-revoke-btn:disabled{opacity:.5;cursor:not-allowed}.apikey-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000}.apikey-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;width:min(480px,92vw);background:var(--color-white, #fff);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:0 20px 60px #0000002e}[data-theme=dark] .apikey-modal{box-shadow:0 20px 60px #00000080}.apikey-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.3rem;display:flex;align-items:center;border-radius:var(--radius-md);font-size:1.1rem;transition:background .15s}.apikey-modal-close:hover{background:var(--color-bg-light)}.apikey-modal-header{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-md);margin-bottom:1rem}.apikey-modal-key-box{display:flex;align-items:center;gap:.5rem;background:var(--color-bg-light);border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1.25rem;word-break:break-all}.apikey-modal-actions{display:flex;gap:.75rem;flex-wrap:wrap}.apikey-copied-btn{background:var(--color-tertiary)!important;border-color:var(--color-tertiary)!important}[data-theme=dark] .apikey-toggle,[data-theme=dark] .apikey-panel-title,[data-theme=dark] .apikey-item-name{color:var(--text-primary)}.wh-root{margin-top:1.5rem}.wh-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1rem;background:none;border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-lg);cursor:pointer;font-size:.95rem;color:var(--color-secondary);font-weight:500;transition:background .15s}.wh-toggle:hover{background:var(--color-bg-light)}.wh-toggle-label{display:flex;align-items:center;gap:.5rem}.wh-toggle-icon{color:var(--color-primary);font-size:1rem}.wh-badge{background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;line-height:1.4}.wh-chevron{font-size:1.1rem;color:var(--text-secondary);transition:transform .2s;display:inline-block}.wh-chevron.open{transform:rotate(90deg)}.wh-panel{border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-lg);margin-top:.5rem;overflow:hidden}.wh-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--color-light-gray, #e5e7eb)}.wh-panel-title{font-size:.875rem;font-weight:600;color:var(--color-secondary)}.wh-secret-banner{margin:.75rem 1rem;padding:.875rem 1rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md)}.wh-secret-warning{font-size:.85rem;color:#92400e;margin-bottom:.5rem}.wh-secret-box{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-md);padding:.5rem .75rem;font-family:monospace;font-size:.82rem;word-break:break-all}.wh-secret-box code{flex:1}.wh-icon-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.2rem;display:flex;align-items:center;border-radius:var(--radius-sm);transition:background .15s;flex-shrink:0}.wh-icon-btn:hover{background:var(--color-bg-light)}.wh-form{padding:.875rem 1rem;border-bottom:1px solid var(--color-light-gray, #e5e7eb);display:flex;flex-direction:column;gap:.5rem}.wh-events-label{font-size:.82rem;font-weight:600;color:var(--color-secondary);margin-top:.25rem}.wh-events-grid{display:flex;gap:.5rem;flex-wrap:wrap}.wh-event-chip{padding:.35rem .75rem;border-radius:999px;font-size:.8rem;border:1px solid var(--color-light-gray, #e5e7eb);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s;color:var(--text-secondary);background:#fff}.wh-event-chip.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.wh-form-actions{display:flex;gap:.5rem;flex-wrap:wrap}.wh-loading{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.wh-skeleton{height:60px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-bg-light) 25%,var(--color-light-gray, #e5e7eb) 50%,var(--color-bg-light) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.wh-empty{padding:1.25rem 1rem;font-size:.875rem;color:var(--text-secondary);text-align:center}.wh-list{list-style:none;margin:0;padding:0}.wh-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--color-light-gray, #e5e7eb);transition:background .15s}.wh-item:last-child{border-bottom:none}.wh-item.inactive{opacity:.6}.wh-item-icon{font-size:1rem;color:var(--text-secondary);flex-shrink:0;display:flex;margin-top:.1rem}.wh-item-info{flex:1;min-width:0}.wh-item-url{font-size:.875rem;font-weight:500;color:var(--color-secondary);word-break:break-all}.wh-item-desc{font-size:.8rem;color:var(--text-secondary);margin-top:.15rem}.wh-item-events{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.4rem}.wh-event-tag{font-size:.72rem;background:var(--color-bg-light);color:var(--color-secondary);padding:.1rem .4rem;border-radius:999px;border:1px solid var(--color-light-gray, #e5e7eb)}.wh-item-meta{font-size:.78rem;color:var(--text-secondary);margin-top:.3rem;display:flex;gap:.5rem;align-items:center}.wh-inactive-badge{font-size:.72rem;background:#ef44441a;color:var(--color-danger);padding:.1rem .35rem;border-radius:999px;font-weight:600}.wh-item-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.wh-delete-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.3rem;display:flex;align-items:center;border-radius:var(--radius-md);transition:color .15s,background .15s}.wh-delete-btn:hover:not(:disabled){color:var(--color-danger);background:#ef444414}.wh-delete-btn:disabled{opacity:.5;cursor:not-allowed}.wh-upsell-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem;gap:.5rem}.wh-upsell-card h4{margin:.25rem 0 0;font-size:1rem;color:var(--text-primary)}.wh-upsell-card p{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);max-width:320px}.wh-test-panel{margin-top:.5rem;overflow:hidden}.wh-test-loading{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary);padding:.4rem 0}.wh-test-status{display:inline-block;font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;margin-bottom:.35rem}.wh-test-status.ok{background:#10b9811f;color:var(--color-success, #10B981)}.wh-test-status.error{background:#ef44441a;color:var(--color-danger)}.wh-test-body{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);background:var(--color-bg-light);border-radius:var(--radius-sm);padding:.5rem .75rem;white-space:pre-wrap;word-break:break-all;margin:0;max-height:120px;overflow-y:auto}.wh-test-btn{color:var(--color-tertiary)}.wh-test-btn:hover{background:#3b8c881a}@keyframes wh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wh-spin{animation:wh-spin 1s linear infinite}[data-theme=dark] .wh-toggle,[data-theme=dark] .wh-panel-title,[data-theme=dark] .wh-item-url{color:var(--text-primary)}[data-theme=dark] .wh-event-chip{background:var(--color-bg-light);color:var(--text-secondary)}[data-theme=dark] .wh-secret-box{background:var(--color-bg-light)}.survey-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.survey-modal{background:#fff;border-radius:var(--radius-lg);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem;position:relative}@media (max-width: 768px){.survey-modal-overlay{align-items:flex-end;padding:0}.survey-modal{border-radius:20px 20px 0 0;max-height:85vh;padding:1.5rem}}.survey-reason-item{border:2px solid var(--color-light-gray, #e5e7eb);border-radius:var(--radius-md);padding:.875rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:all .15s;margin-bottom:.5rem;min-height:44px}.survey-reason-item:hover{border-color:#f79b7280;background:#f79b7208}.survey-reason-item.selected{border-color:var(--color-primary);background:#f79b720f}.survey-radio{width:18px;height:18px;border-radius:50%;border:2px solid #d1d5db;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.survey-reason-item.selected .survey-radio{border-color:var(--color-primary);background:var(--color-primary)}.survey-reason-item.selected .survey-radio:after{content:"";width:6px;height:6px;border-radius:50%;background:#fff}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--color-white);border-top:1px solid var(--color-light-gray);display:none;justify-content:space-around;align-items:stretch;padding:.35rem .25rem;padding-bottom:max(.35rem,env(safe-area-inset-bottom));z-index:999;box-shadow:0 -2px 16px #0000000f}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;text-decoration:none;flex:1;min-width:0;background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-family);transition:color .18s}.mobile-nav-item.active{color:var(--color-primary)}.mobile-nav-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.3rem .75rem;border-radius:12px;transition:background .18s;gap:.15rem}.mobile-nav-item.active .mobile-nav-pill{background:#f79b7221}.mobile-nav-icon{font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.mobile-nav-item.active .mobile-nav-icon{transform:scale(1.1)}.mobile-nav-label{font-size:.72rem;font-weight:500;white-space:nowrap;line-height:1;letter-spacing:-.01em}@media (max-width: 768px){.mobile-nav{display:flex}.sidebar{display:none!important}.main-content{margin-left:0!important;padding-bottom:80px}.app-container{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 768px){body.app-shell{overflow:hidden;position:fixed;width:100%}body.app-shell .main-content{height:calc(100svh - 80px);overflow-y:auto;-webkit-overflow-scrolling:touch}}.more-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:998;animation:overlayIn .18s ease-out}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.more-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--color-white);border-radius:20px 20px 0 0;z-index:999;padding:.5rem .75rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));box-shadow:0 -4px 24px #0000001f;transform:translateY(110%);transition:transform .22s ease-out;pointer-events:none}.more-sheet--open{transform:translateY(0);pointer-events:auto}.more-sheet-handle{width:36px;height:4px;background:var(--color-light-gray);border-radius:2px;margin:0 auto .75rem}.more-sheet-item{display:flex;align-items:center;gap:.875rem;width:100%;padding:.875rem .75rem;background:none;border:none;cursor:pointer;border-radius:12px;font-family:var(--font-family);transition:background .15s;color:var(--text-primary);text-align:left}.more-sheet-item:hover,.more-sheet-item:active{background:var(--color-bg-light)}.more-sheet-item--active{color:var(--color-primary);background:#f79b7214}.more-sheet-item-icon{font-size:1.2rem;display:flex;align-items:center;flex-shrink:0;color:inherit}.more-sheet-item-label{flex:1;font-size:.95rem;font-weight:500}.more-sheet-item-arrow{color:var(--color-light-gray);flex-shrink:0;transition:color .15s}.more-sheet-item--active .more-sheet-item-arrow{color:var(--color-primary)}.landing-page{background:#fff;overflow-x:hidden;width:100%;max-width:100vw}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.landing-navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(42,71,89,.1);padding:1rem 0}.navbar-content{display:flex;align-items:center;justify-content:space-between;gap:2rem}.navbar-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.5rem;font-family:var(--font-display);color:var(--color-secondary)}.logo-icon{font-size:2rem}.navbar-links{display:flex;gap:2rem;flex:1;justify-content:flex-start;padding-left:2rem}.navbar-links a{color:var(--text-secondary);font-weight:500;transition:color .2s}.navbar-links a:hover{color:var(--color-primary)}.navbar-actions{display:flex;gap:1rem;align-items:center}.navbar-hamburger{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-secondary);padding:.4rem;border-radius:8px;transition:background .15s}.navbar-hamburger:hover{background:#2a475914}.navbar-mobile-menu{display:flex;flex-direction:column;background:#fffffffa;border-top:1px solid rgba(42,71,89,.1);padding:1rem 1.5rem 1.5rem;gap:.25rem}.navbar-mobile-menu a{color:var(--text-secondary);font-weight:500;padding:.75rem 0;border-radius:8px;font-size:1rem;transition:color .15s}.navbar-mobile-menu a:hover{color:var(--color-primary)}.navbar-mobile-divider{height:1px;background:#2a47591a;margin:.5rem 0}.navbar-mobile-login{font-weight:600!important;color:var(--color-secondary)!important}.navbar-mobile-cta{display:block!important;text-align:center;margin-top:.5rem}.btn-nav-login{color:var(--text-secondary);font-weight:600;padding:.5rem 1.5rem;transition:color .2s}.btn-nav-login:hover{color:var(--color-primary)}.btn-nav-cta{background:var(--color-primary);color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;transition:all .2s}.btn-nav-cta:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #f79b724d}.hero{padding:140px 0 80px;background:linear-gradient(180deg,#fff,#f8f9fa);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,rgba(247,155,114,.1) 0%,transparent 70%);border-radius:50%}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#f79b721a;color:var(--color-primary);padding:.5rem 1rem;border-radius:100px;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;font-family:var(--font-mono)}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;color:var(--color-secondary);margin-bottom:1.5rem;font-family:var(--font-display)}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-tertiary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:1.25rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem;max-width:540px}.hero-cta{display:flex;gap:1rem;margin-bottom:3rem}.btn-hero-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-primary);color:#fff;padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1.125rem;transition:all .3s;min-height:52px}.btn-hero-primary:hover{background:var(--color-primary-hover);transform:translateY(-3px);box-shadow:0 8px 24px #f79b7266}.btn-hero-secondary{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:2px solid var(--color-secondary);color:var(--color-secondary);padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1.125rem;transition:all .3s;min-height:52px}.btn-hero-secondary:hover{background:var(--color-secondary);color:#fff}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.hero-stat{text-align:left}.stat-number{font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-secondary)}.hero-stats-note{font-size:.75rem;color:var(--text-secondary);opacity:.7;margin-top:-1.5rem;margin-bottom:0}.hero-image{position:relative}.app-preview{position:relative;filter:drop-shadow(0 24px 48px rgba(42,71,89,.22))}.hero-device-img{width:100%;height:auto;border-radius:16px;display:block}section{padding:80px 0;overflow-x:hidden}.section-header{text-align:center;max-width:700px;margin:0 auto 4rem}.section-header h2{font-size:2.5rem;font-weight:800;color:var(--color-secondary);margin-bottom:1rem}.section-header p{font-size:1.125rem;color:var(--text-secondary);margin:0}.features-section{background:#fff}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:2rem}.feature-card{background:#fff;border:1px solid rgba(42,71,89,.1);border-radius:16px;padding:2rem;transition:all .3s}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #2a47591f;border-color:var(--color-primary)}.feature-icon{width:60px;height:60px;background:#f79b721a;color:var(--color-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.5rem}.feature-card h3{font-size:1.25rem;color:var(--color-secondary);margin-bottom:.75rem}.feature-card p{color:var(--text-secondary);line-height:1.6;margin:0}.how-it-works{background:linear-gradient(180deg,#f8f9fa,#fff)}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:3rem}.step-card{position:relative;text-align:center}.step-image-wrap{width:100%;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;margin-bottom:1.5rem;box-shadow:0 8px 24px #2a47591f}.step-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.step-card:hover .step-img{transform:scale(1.04)}.step-number{font-size:3.5rem;font-weight:800;color:#f79b7240;line-height:1;margin-bottom:.75rem}.step-card h3{font-size:1.375rem;color:var(--color-secondary);margin-bottom:.75rem}.step-card p{color:var(--text-secondary);line-height:1.6;margin:0}.pricing-section{background:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:2rem;max-width:1300px;margin:0 auto}.pricing-card{background:#fff;border:2px solid rgba(42,71,89,.1);border-radius:16px;padding:2.5rem;position:relative;transition:all .3s}.pricing-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #2a47591f}.pricing-card.popular{border-color:var(--color-primary);box-shadow:0 8px 32px #f79b7233}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-primary);color:#fff;padding:.5rem 1.5rem;border-radius:100px;font-size:.875rem;font-weight:600}.pricing-card.founders{border-color:#7c3aed;background:linear-gradient(135deg,#7c3aed08,#3b8c8808)}.pricing-card.founders:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#7c3aed,#3b8c88);border-radius:16px 16px 0 0}.founders-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#7c3aed,#3b8c88);color:#fff;padding:.4rem 1.25rem;border-radius:100px;font-size:.875rem;font-weight:600;white-space:nowrap}.btn-plan-disabled{display:block;width:100%;padding:1rem;border-radius:8px;font-weight:600;text-align:center;background:#e5e7eb;color:#9ca3af;cursor:not-allowed;border:2px solid transparent;font-size:inherit}.pricing-card h3{font-size:1.5rem;color:var(--color-secondary);margin-bottom:.5rem}.plan-description{color:var(--text-secondary);margin-bottom:1.5rem}.pricing-period-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2.5rem;background:#2a47590f;border-radius:100px;padding:.35rem;width:fit-content;margin-left:auto;margin-right:auto}.period-btn{padding:.6rem 1.5rem;border-radius:100px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;background:transparent;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;gap:.5rem}.period-btn.active{background:#fff;color:var(--color-secondary);box-shadow:0 2px 8px #2a47591f}.period-save-badge{font-size:.75rem;font-weight:700;background:var(--color-tertiary);color:#fff;padding:.15rem .5rem;border-radius:100px}.plan-price{margin-bottom:.5rem}.price-yearly-note{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.price-savings{color:var(--color-tertiary);font-weight:600}.plan-trial{font-size:.8rem;color:var(--color-tertiary);font-weight:600;margin-bottom:1.5rem}.price-amount{font-size:3rem;font-weight:800;color:var(--color-secondary)}.price-period{color:var(--text-secondary);font-size:1.125rem}.plan-features{list-style:none;margin-bottom:2rem}.plan-features li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:var(--text-secondary)}.plan-features li svg{color:var(--color-tertiary);flex-shrink:0}.btn-plan{width:100%;padding:1rem;border-radius:8px;font-weight:600;text-align:center;transition:all .2s;border:2px solid transparent}.btn-plan-primary{background:var(--color-primary);color:#fff}.btn-plan-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.btn-plan-outline{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-plan-outline:hover{background:var(--color-primary);color:#fff}.testimonials-section{background:linear-gradient(180deg,#f8f9fa,#fff)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:2rem}.testimonial-card{background:#fff;border:1px solid rgba(42,71,89,.1);border-radius:16px;padding:2rem}.testimonial-rating{display:flex;gap:.25rem;color:#ffc107;margin-bottom:1rem}.testimonial-text{color:var(--color-secondary);font-size:1.125rem;line-height:1.6;margin-bottom:1.5rem;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:1rem}.author-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.author-name{font-weight:600;color:var(--color-secondary);margin-bottom:.25rem}.author-role{font-size:.875rem;color:var(--text-secondary)}.faq-section{background:#fff}.faq-container{max-width:800px;margin:0 auto}.faq-item{background:#fff;border:1px solid rgba(42,71,89,.1);border-radius:12px;margin-bottom:1rem;overflow:hidden;cursor:pointer;transition:all .3s}.faq-item:hover,.faq-item.active{border-color:var(--color-primary)}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.5rem}.faq-question h3{font-size:1.125rem;color:var(--color-secondary);margin:0}.faq-toggle-icon{font-size:1.25rem;color:var(--color-primary);flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:-.5rem}.faq-answer{padding:0 1.5rem 1.5rem;animation:slideDown .3s ease}.faq-answer p{color:var(--text-secondary);line-height:1.6;margin:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cta-section{position:relative;overflow:hidden;background-size:cover;background-position:center;color:#fff;padding:0}.cta-section-overlay{background:linear-gradient(135deg,#2a4759ed,#3b8c88e0);padding:80px 0}.cta-content{text-align:center;max-width:700px;margin:0 auto}.cta-content h2{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:1rem}.cta-content p{font-size:1.25rem;opacity:.9;margin-bottom:2rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.btn-cta-primary{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--color-secondary);padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1.125rem;transition:all .3s}.btn-cta-primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px #ffffff4d}.btn-cta-secondary{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:2px solid white;color:#fff;padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1.125rem;transition:all .3s}.btn-cta-secondary:hover{background:#fff;color:var(--color-secondary)}.cta-note{font-size:1rem;font-weight:500;opacity:.95;margin:0;letter-spacing:.01em}.landing-footer{background:var(--color-secondary);color:#fffc;padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:1.5fr 2fr;gap:4rem;margin-bottom:3rem}.footer-brand p{margin:1rem 0 1.5rem;opacity:.8}.footer-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.5rem;color:#fff;margin-bottom:1rem}.footer-social{display:flex;gap:1rem}.footer-social a{width:40px;height:40px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s}.footer-social a:hover{background:var(--color-primary);transform:translateY(-2px)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column h4{color:#fff;font-weight:600;margin-bottom:1rem}.footer-column a{display:block;color:#ffffffb3;margin-bottom:.75rem;transition:color .2s}.footer-column a:hover{color:var(--color-primary)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;text-align:center}.footer-bottom p{opacity:.6;margin:0}@media (max-width: 1024px){.hero-title{font-size:2.5rem}.section-header h2{font-size:2rem}}@media (max-width: 768px){.navbar-links,.btn-nav-login,.btn-nav-cta{display:none}.navbar-hamburger{display:flex}.hero-content{grid-template-columns:1fr;text-align:center}.hero-text{order:1}.hero-image{order:2}.hero-title{font-size:2rem}.hero-description{max-width:100%}.hero-cta{flex-direction:column;align-items:stretch}.btn-hero-primary,.btn-hero-secondary{width:100%;justify-content:center}.hero-stats{grid-template-columns:repeat(3,1fr);gap:1rem;justify-items:center}.hero-stat{text-align:center}.footer-content,.footer-links{grid-template-columns:1fr}.cta-buttons{flex-direction:column}}@media (max-width: 480px){.container{padding:0 1rem}.hero{padding:100px 0 60px}.hero-title{font-size:1.75rem}.hero-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.75rem}.pricing-grid,.testimonials-grid,.features-grid{grid-template-columns:1fr}}.demo-report-section{background:#2a4759;padding:80px 0}.demo-report-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.demo-report-badge{display:inline-flex;align-items:center;gap:8px;background:#f79b7226;color:#f79b72;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:20px}.demo-report-text h2{font-size:2rem;font-weight:700;color:#fff;margin:0 0 16px;line-height:1.2}.demo-report-text>p{font-size:1rem;color:#ffffffbf;line-height:1.7;margin:0 0 28px}.demo-report-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.demo-report-features li{display:flex;align-items:center;gap:10px;color:#ffffffd9;font-size:.95rem}.demo-report-features li svg{color:#3b8c88;flex-shrink:0}.demo-report-form-wrap{background:#fff;border-radius:16px;padding:36px;box-shadow:0 8px 32px #0003}.demo-report-form h3{font-size:1.25rem;font-weight:700;color:#1a2f3d;margin:0 0 24px}.demo-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.demo-form-field label{font-size:.875rem;font-weight:600;color:#374151}.demo-form-field input{border:1.5px solid #d1d5db;border-radius:8px;padding:10px 14px;font-size:.95rem;color:#1f2937;transition:border-color .2s;background:#fff}.demo-form-field input:focus{outline:none;border-color:#2a4759}.demo-form-field input:disabled{background:#f9fafb;color:#9ca3af}.demo-form-error{color:#dc2626;font-size:.875rem;margin:0 0 12px}.demo-form-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:#f79b72;color:#fff;border:none;border-radius:8px;padding:13px 24px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s;margin-top:4px}.demo-form-submit:hover:not(:disabled){background:#e8885f;transform:translateY(-1px)}.demo-form-submit:disabled{opacity:.6;cursor:not-allowed}.demo-form-note{text-align:center;font-size:.8rem;color:#9ca3af;margin:10px 0 0}.demo-report-success{text-align:center;padding:20px 0;color:#2a4759}.demo-report-success svg{color:#3b8c88;margin-bottom:16px}.demo-report-success h3{font-size:1.4rem;font-weight:700;margin:0 0 8px}.demo-report-success p{color:#6b7280;margin:0 0 20px}.demo-report-again{background:none;border:1.5px solid #2A4759;border-radius:8px;padding:8px 20px;color:#2a4759;font-weight:600;cursor:pointer;font-size:.9rem;transition:background .2s,color .2s}.demo-report-again:hover{background:#2a4759;color:#fff}.demo-report-already-sent svg{color:#f79b72}.demo-already-sent-note{font-size:.8rem;color:#9ca3af;margin:-8px 0 16px}@media (max-width: 768px){.demo-report-inner{grid-template-columns:1fr;gap:40px}.demo-report-section{padding:60px 0}.demo-report-text h2{font-size:1.5rem}}@media (prefers-reduced-motion: reduce){.btn-nav-cta:hover,.btn-hero-primary:hover,.btn-hero-secondary:hover,.btn-plan-primary:hover,.btn-plan-outline:hover,.btn-cta-primary:hover,.btn-cta-secondary:hover,.feature-card:hover,.pricing-card:hover,.footer-social a:hover,.navbar-hamburger:hover{transform:none;transition:none}.faq-toggle-icon{transition:none!important}.faq-answer{animation:none}.step-card:hover .step-img{transform:none}}:root{--color-primary: #F79B72;--color-primary-hover: #E6804F;--color-primary-focus: rgba(247, 155, 114, .125);--color-secondary: #2A4759;--color-secondary-hover: #1F3342;--color-tertiary: #3B8C88;--color-tertiary-hover: #2F6B67;--color-accent: #7C3AED;--color-light-gray: #E5E7EB;--color-bg-light: #F9FAFB;--color-bg-page: #F8F9FA;--color-white: #FFFFFF;--color-muted: #6B7280;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #EF4444;--color-info: #3B82F6;--text-primary: #1F2937;--text-secondary: #6B7280;--text-light: #FFFFFF;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--font-display: "Space Grotesk", sans-serif;--font-body: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-family: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif}[data-theme=dark]{--color-bg-page: #0F172A;--color-white: #1E293B;--color-bg-light: #162032;--color-light-gray: #334155;--color-muted: #64748B;--text-primary: #F1F5F9;--text-secondary: #94A3B8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6,[data-theme=dark] .form-label,[data-theme=dark] .stat-value,[data-theme=dark] .stat-label,[data-theme=dark] .table th,[data-theme=dark] .form-input{color:var(--text-primary)}[data-theme=dark] .form-input::placeholder{color:#64748b}[data-theme=dark] select.form-input option{background:#1e293b;color:#f1f5f9}[data-theme=dark] .table tr:hover td{background:#f79b7214}@media (prefers-reduced-motion: reduce){body{transition:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.5;overflow-x:hidden;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:1rem;color:var(--text-primary);background:var(--color-bg-page);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-secondary);margin-bottom:var(--spacing-md)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--color-secondary);color:var(--text-light);padding:var(--spacing-lg);display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo h1{color:var(--text-light);font-size:1.5rem;margin:0}.sidebar-logo svg{width:28px;height:28px;color:var(--color-primary)}.sidebar-nav{flex:1}.nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);color:#fffc;border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);transition:all var(--transition-fast);cursor:pointer}.nav-item:hover{background:#ffffff1a;color:var(--text-light)}.nav-item.active{background:var(--color-primary);color:var(--text-light)}.nav-item svg{width:20px;height:20px}.sidebar-footer{padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.1)}.sidebar-user{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:1rem}.sidebar-user-info{text-align:left}.sidebar-user-name{font-weight:600;color:#fff;font-size:.9rem}.sidebar-user-role{color:#fff9;font-size:.8rem}.sidebar-logout{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);color:#fffc;background:#e74c3c33;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.9rem}.sidebar-logout:hover{background:#e74c3c59;color:#fff}.main-content{flex:1;margin-left:260px;padding:var(--spacing-xl)}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-light-gray)}.card-title{font-size:1.25rem;margin:0}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.grid-sidebar{display:grid;grid-template-columns:240px 1fr;gap:var(--spacing-xl)}.grid-main{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}@media (max-width: 1024px) and (min-width: 769px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--spacing-md)}.stat-icon{width:60px;height:60px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon.primary{background:#f79b7226;color:var(--color-primary)}.stat-icon.secondary{background:#2a475926;color:var(--color-secondary)}.stat-icon.tertiary{background:#3b8c8826;color:var(--color-tertiary)}.stat-icon.warning{background:#f39c1226;color:var(--color-warning)}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:var(--color-secondary);line-height:1}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-top:var(--spacing-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-height:44px;min-width:44px}.btn-primary{background:var(--color-primary);color:var(--text-light)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #f79b7266}.btn-secondary{background:var(--color-secondary);color:var(--text-light)}.btn-secondary:hover{background:var(--color-secondary-hover)}.btn-tertiary{background:var(--color-tertiary);color:var(--text-light)}.btn-tertiary:hover{background:var(--color-tertiary-hover)}.btn-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--text-light)}.btn-danger{background:var(--color-danger);color:var(--text-light)}.btn-danger:hover{background:#c0392b}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}.btn-lg{padding:var(--spacing-lg) var(--spacing-xl);font-size:1.125rem}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-weight:600;color:var(--color-secondary);margin-bottom:var(--spacing-sm)}.form-input{width:100%;padding:var(--spacing-md);font-size:1rem;border:2px solid var(--color-light-gray);border-radius:var(--radius-md);transition:border-color var(--transition-fast);background:var(--color-white)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus)}.form-input::placeholder{color:#999}textarea.form-input{min-height:120px;resize:vertical}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-light-gray)}.table th{font-weight:600;color:var(--color-secondary);background:var(--color-bg-light)}.table tr:hover td{background:#f79b720d}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase}.badge-success{background:#3b8c8826;color:var(--color-tertiary)}.badge-warning{background:#f39c1226;color:var(--color-warning)}.badge-danger{background:#e74c3c26;color:var(--color-danger)}.badge-info{background:#3498db26;color:var(--color-info)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-tertiary) 100%);padding:var(--spacing-lg)}.auth-card{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-xxl);width:100%;max-width:440px}.auth-logo{text-align:center;margin-bottom:var(--spacing-xl)}.auth-logo h1{color:var(--color-primary);font-size:2rem;margin:var(--spacing-md) 0 0}.login-form .form-group{margin-bottom:var(--spacing-lg)}.login-form .btn{width:100%;margin-top:var(--spacing-md)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.user-menu{display:flex;align-items:center;gap:var(--spacing-md)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--text-light);display:flex;align-items:center;justify-content:center;font-weight:600}.user-info{text-align:right}.user-name{font-weight:600;color:var(--color-secondary)}.user-role{font-size:.875rem;color:var(--text-secondary)}.chart-container{position:relative;height:300px}.loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xxl)}.spinner{width:40px;height:40px;border:4px solid var(--color-light-gray);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state{text-align:center;padding:var(--spacing-xxl);color:var(--text-secondary)}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--spacing-xl);width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary)}@media (max-width: 1024px){.sidebar{width:80px;padding:var(--spacing-md)}.sidebar-logo h1,.nav-item span,.sidebar-user-info,.sidebar-logout span{display:none}.nav-item,.sidebar-logout{justify-content:center}.main-content{margin-left:80px}}@media (max-width: 768px){.grid-2col,.grid-sidebar,.grid-main{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.stat-card{padding:.875rem;gap:.625rem}.stat-icon{width:44px;height:44px;font-size:1.1rem;flex-shrink:0}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.dashboard-header{flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.user-menu{width:100%;justify-content:space-between}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-up{animation:slideUp var(--transition-normal)}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md)}.skeleton-text{height:16px;margin-bottom:.5rem;border-radius:4px}.skeleton-title{height:24px;width:60%;margin-bottom:1rem;border-radius:4px}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-card{height:200px;border-radius:var(--radius-lg)}.skeleton-button{height:40px;width:120px;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modern-card{background:var(--color-white);border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000a;border:1px solid rgba(42,71,89,.06);transition:all .3s ease}.modern-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.modern-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modern-card-title{font-size:1.125rem;font-weight:600;color:var(--color-secondary);margin:0}.modern-card-body{color:var(--text-secondary);line-height:1.6}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.glass-dark{background:#2a4759b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#fff}.sidebar{background:linear-gradient(180deg,var(--color-secondary) 0%,#1F3342 100%);box-shadow:2px 0 12px #0000001a}.sidebar-logo{padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-lg)}.btn{font-family:var(--font-family);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:before{width:300px;height:300px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.form-input{font-family:var(--font-family)}.form-input:hover{border-color:var(--color-primary)}.form-input::placeholder{color:#94a3b8}.form-group-floating{position:relative;margin-bottom:1.5rem}.form-group-floating input{padding:1.5rem 1rem .5rem}.form-group-floating label{position:absolute;left:1rem;top:1rem;pointer-events:none;transition:all .2s;color:var(--text-secondary)}.form-group-floating input:focus+label,.form-group-floating input:not(:placeholder-shown)+label{top:.5rem;font-size:.75rem;color:var(--color-primary)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem}.toast{background:var(--color-white);border-radius:var(--radius-md);padding:1rem 1.5rem;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:1rem;min-width:300px;animation:slideInRight .3s ease}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-danger)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-info)}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.progress{width:100%;height:8px;background:var(--color-bg-light);border-radius:100px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-tertiary) 100%);border-radius:100px;transition:width .3s ease}.progress-bar-animated{animation:progressAnimation 2s ease infinite}@keyframes progressAnimation{0%{transform:translate(-100%)}to{transform:translate(100%)}}.avatar-group{display:flex;align-items:center}.avatar-group .user-avatar{margin-left:-8px;border:2px solid white;box-shadow:0 2px 4px #0000001a}.avatar-group .user-avatar:first-child{margin-left:0}.table{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden}.table thead{background:#f8f9fa}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:#f79b7208}.table tbody tr:last-child td{border-bottom:none}.text-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-tertiary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.backdrop-blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}@media (max-width: 768px){.main-content{padding:1rem}.dashboard-header{position:sticky;top:0;background:#f8f9fa;z-index:10;margin:-1rem -1rem 1rem;padding:1rem}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.kb-tabs{display:flex;gap:.25rem;margin-bottom:var(--spacing-lg);background:var(--color-white);border-radius:var(--radius-lg);padding:.25rem;box-shadow:var(--shadow-sm)}.kb-tab{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);position:relative}.kb-tab:hover{color:var(--color-secondary);background:var(--color-bg-light)}.kb-tab.active{color:var(--text-light);background:var(--color-primary);box-shadow:var(--shadow-sm)}.kb-tab-badge{background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:var(--radius-full);min-width:18px;text-align:center;line-height:1.3}.kb-dropzone{border:2px dashed var(--color-light-gray);border-radius:var(--radius-lg);padding:var(--spacing-xxl) var(--spacing-xl);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:var(--color-bg-light)}.kb-dropzone:hover{border-color:var(--color-primary);background:#f79b720a}.kb-dropzone-active{border-color:var(--color-primary);background:#f79b7214;transform:scale(1.01);box-shadow:0 0 0 4px var(--color-primary-focus)}.kb-dropzone-icon{font-size:3rem;color:var(--color-primary);margin-bottom:var(--spacing-md);display:block;margin-left:auto;margin-right:auto}.kb-dropzone-text{font-size:1rem;color:var(--color-secondary);margin-bottom:var(--spacing-sm)}.kb-dropzone-hint{font-size:.8rem;color:var(--text-secondary);margin:0}.kb-file-list{display:flex;flex-direction:column;gap:.5rem}.kb-file-item{padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-light-gray);background:var(--color-white);transition:all var(--transition-fast)}.kb-file-item.kb-file-success{border-color:var(--color-success);background:#3b8c880a}.kb-file-item.kb-file-error{border-color:var(--color-danger);background:#e74c3c0a}.kb-file-item.kb-file-uploading{border-color:var(--color-primary);background:#f79b720a}.kb-file-info{display:flex;align-items:center;gap:.75rem}.kb-upload-summary{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:#3b8c8814;border:1px solid var(--color-success);font-size:.9rem}.spin-icon{animation:spin 1s linear infinite}.kb-desktop-table{display:block}.kb-mobile-list{display:none}@media (max-width: 768px){.kb-desktop-table{display:none}.kb-mobile-list{display:flex;flex-direction:column;gap:.75rem}}.chat-layout{display:grid;grid-template-columns:260px 1fr;gap:1rem;height:calc(100vh - 210px);min-height:400px}.chat-conv-wrapper{display:flex;flex-direction:column;min-height:0}.chat-area-panel{min-height:0}.chat-toggle-convs,.chat-close-mobile,.chat-mobile-overlay{display:none}.chat-provider-badge{display:inline-flex!important}@media (max-width: 768px){.chat-layout{grid-template-columns:1fr;height:calc(100vh - 220px);min-height:300px}.chat-toggle-convs{display:inline-flex;font-size:.875rem;padding:.5rem .75rem}.chat-toggle-convs span{display:none}.chat-close-mobile{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.4rem;border-radius:var(--radius-sm);font-size:1.1rem}.chat-conv-wrapper{display:none}.chat-conv-wrapper.mobile-open{display:flex;position:fixed;top:0;left:0;right:0;bottom:80px;z-index:500;background:var(--color-white);box-shadow:0 4px 32px #0000002e}.chat-conv-wrapper.mobile-open .chat-conversations-panel{flex:1;border-radius:0;border:none}.chat-mobile-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:499}}.reports-desktop-table{display:block}.reports-mobile-list{display:none}.invoices-desktop-table{display:block}.invoices-mobile-list{display:none}@media (max-width: 768px){.reports-desktop-table{display:none}.reports-mobile-list{display:flex;flex-direction:column;gap:.5rem}.invoices-desktop-table{display:none}.invoices-mobile-list{display:flex;flex-direction:column;gap:.5rem}}.report-mobile-card,.invoice-mobile-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--color-light-gray);border-radius:var(--radius-md);flex-wrap:wrap;background:var(--color-white)}.report-mobile-main{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.report-mobile-main strong{font-size:.9rem;color:var(--color-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.report-mobile-meta,.invoice-mobile-meta{width:100%;font-size:.78rem;color:var(--text-secondary)}.invoice-mobile-main{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.invoice-mobile-amount{font-weight:700;font-size:.95rem;color:var(--color-secondary);margin-left:auto}.dash-greeting{position:relative;padding:1.5rem 0 2rem;margin-bottom:1.75rem;overflow:hidden}.dash-greeting:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(42,71,89,.09) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;z-index:0}.dash-greeting>*{position:relative;z-index:1}.dash-hero-report{display:flex;border-radius:12px;overflow:hidden;border:1px solid var(--color-light-gray);background:var(--color-white);box-shadow:var(--shadow-md);min-height:168px;transition:box-shadow .15s,transform .15s}.dash-hero-thumb{width:185px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.dash-hero-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.dash-hero-body{flex:1;padding:1.25rem 1.5rem;display:flex;flex-direction:column;min-width:0}.dash-report-strip{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.75rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.dash-report-strip::-webkit-scrollbar{display:none}.dash-report-strip .report-shelf-item{flex-shrink:0;width:145px}@media (max-width: 768px){.dash-greeting{padding:1.25rem 0 1.5rem;margin-bottom:1.25rem}.dash-hero-thumb{width:110px}.dash-hero-body{padding:.9rem 1rem}}.report-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:1.25rem}.report-shelf-item{position:relative}.report-shelf-item:before,.report-shelf-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:5px;background:#ede9e2;box-shadow:0 1px 4px #00000012;z-index:0}.report-shelf-item:before{transform:rotate(2deg) translate(3px,2px)}.report-shelf-item:after{transform:rotate(-1.5deg) translate(-2px,3px)}[data-theme=dark] .report-shelf-item:before,[data-theme=dark] .report-shelf-item:after{background:#243447;box-shadow:0 1px 4px #0000004d}.report-card-a4{position:relative;z-index:1;display:flex;flex-direction:column;aspect-ratio:1 / 1.414;border-radius:5px;overflow:hidden;background:var(--color-white);box-shadow:2px 4px 18px #0000001c,0 1px 3px #0000000f;transition:box-shadow .15s,transform .15s;text-decoration:none;color:inherit}.report-card-a4:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-4px)}.report-card-a4-thumb{flex:1;position:relative;overflow:hidden;min-height:0}.report-card-a4-strip{position:absolute;top:0;left:0;right:0;height:4px;z-index:2}.report-card-a4-meta{flex-shrink:0;padding:.55rem .6rem .6rem;border-top:1px solid var(--color-light-gray);background:var(--color-white)}@media (max-width: 768px){.report-shelf{display:flex;overflow-x:auto;gap:.75rem;padding-bottom:1rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.report-shelf::-webkit-scrollbar{display:none}.report-shelf-item{flex-shrink:0;width:148px}}.report-shelf-item-add:before,.report-shelf-item-add:after{content:none}.report-card-a4-add{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1 / 1.414;width:100%;border-radius:5px;border:2px dashed var(--add-card-color, var(--color-light-gray));background:color-mix(in srgb,var(--add-card-color, var(--primary)) 5%,transparent);cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;opacity:.6}.report-card-a4-add:hover{opacity:1;transform:translateY(-4px);box-shadow:0 6px 20px #0000001a}.project-add-btn{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}@media (max-width: 768px){.project-add-btn{display:none}}@media print{.sidebar,.mobile-nav,.btn,.nav-item{display:none!important}.main-content{margin-left:0!important}.card{box-shadow:none;border:1px solid #ddd}}.auth-split-body{margin:0;padding:0;font-family:var(--font-family);min-height:100vh;overflow-y:auto;background:var(--color-bg-light)}.auth-split-container{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;width:100%}.auth-brand-side{background:var(--color-secondary);background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);position:relative;overflow:hidden}.auth-brand-side:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#2a4759c7;pointer-events:none;z-index:1}@keyframes authBgFloat{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(-10px,-5px) rotate(1deg)}66%{transform:translate(10px,5px) rotate(-1deg)}}.auth-brand-content{text-align:center;position:relative;z-index:2;max-width:450px}.auth-brand-logo{margin:0 auto var(--spacing-xl);display:flex;align-items:center;justify-content:center;overflow:hidden;animation:authLogoFloat 6s ease-in-out infinite}@keyframes authLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-brand-title{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-md);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.auth-brand-subtitle{font-size:1.125rem;margin-bottom:var(--spacing-xl);color:#ffffffe6;line-height:1.6}.auth-brand-features{list-style:none;padding:0;margin:0;text-align:left}.auth-brand-features li{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);font-size:1rem;color:#fffffff2}.auth-brand-features li svg{width:20px;height:20px;color:var(--color-primary);flex-shrink:0}.auth-brand-quote{background:#ffffff1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--spacing-lg);text-align:left;margin-top:var(--spacing-xl)}.auth-brand-quote-text{font-size:.975rem;color:#fffffff2;font-style:italic;line-height:1.6;margin-bottom:var(--spacing-md)}.auth-brand-quote-author{display:flex;align-items:center;gap:var(--spacing-md)}.auth-brand-quote-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}.auth-brand-quote-author strong{display:block;color:#fff;font-size:.875rem;font-weight:600}.auth-brand-quote-author span{display:block;color:#ffffffa6;font-size:.775rem}.auth-name-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.auth-form-side{background:var(--color-white);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);position:relative}.auth-form-side:before{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(to bottom,transparent,rgba(42,71,89,.1),transparent)}.auth-form-container{max-width:400px;width:100%}.auth-page-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-page-title{color:var(--color-secondary);font-size:1.75rem;margin-bottom:var(--spacing-sm);font-weight:700}.auth-page-subtitle{color:var(--text-secondary);font-size:1rem;margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-form .form-group{margin-bottom:0}.btn-auth{width:100%;padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary),var(--color-tertiary));color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);text-decoration:none}.btn-auth:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f79b7266}.btn-auth--outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-auth--outline:hover{background:var(--color-primary);color:#fff}.auth-footer{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-light-gray)}.auth-footer-link{margin-bottom:var(--spacing-md);font-size:.9rem;color:var(--text-secondary)}.auth-footer-link:last-child{margin-bottom:0}.auth-link{color:var(--color-primary);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.25rem;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-primary-hover);text-decoration:none}.auth-divider{text-align:center;margin:var(--spacing-lg) 0;position:relative}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--color-light-gray)}.auth-divider span{background:#fff;padding:0 var(--spacing-md);color:var(--text-secondary);font-size:.875rem;position:relative}.auth-social{display:flex;flex-direction:column;gap:var(--spacing-sm)}.btn-auth--social{background:var(--color-bg-light);color:var(--text-secondary);border:1px solid var(--color-light-gray)}.btn-auth--social:hover{background:var(--color-light-gray);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.auth-alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.auth-alert--error{background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);color:var(--color-danger)}.auth-alert--success{background:#3b8c881a;border:1px solid rgba(59,140,136,.3);color:var(--color-tertiary)}.auth-alert--info{background:#3498db1a;border:1px solid rgba(52,152,219,.3);color:var(--color-info)}.password-strength{margin-top:var(--spacing-sm)}.password-strength-bar{height:4px;background:var(--color-light-gray);border-radius:2px;overflow:hidden;margin-bottom:var(--spacing-xs)}.password-strength-bar-fill{height:100%;transition:width .3s ease,background .3s ease}.password-strength-bar-fill.weak{background:var(--color-danger);width:33%}.password-strength-bar-fill.medium{background:var(--color-warning);width:66%}.password-strength-bar-fill.strong{background:var(--color-tertiary);width:100%}.password-strength-text{font-size:.75rem;color:var(--text-secondary)}.btn-auth:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-auth .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.auth-success-message{text-align:center;padding:var(--spacing-xl)}.auth-success-icon{width:64px;height:64px;background:#3b8c8826;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg);color:var(--color-tertiary);font-size:1.5rem}@media (max-width: 1024px){.auth-split-container{grid-template-columns:40% 60%}}@media (max-width: 768px){.auth-split-body{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:100dvh;height:auto}.auth-split-container{grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:100dvh;height:auto}.auth-brand-side{padding:1rem 1.25rem;min-height:auto;height:auto;position:relative;overflow:hidden;align-items:flex-start;justify-content:flex-start}.auth-brand-content{display:flex;flex-direction:row;align-items:center;gap:1rem;text-align:left;max-width:100%}.auth-brand-logo{width:52px;height:52px;flex-shrink:0;margin:0;animation:none;overflow:hidden}.auth-brand-subtitle{font-size:.82rem;margin-bottom:0;line-height:1.4}.auth-brand-quote,.auth-brand-features{display:none}.auth-form-side{padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg);height:auto;align-items:flex-start;overflow-y:auto;overflow-x:hidden}.auth-form-side:before{display:none}.auth-form-container{max-width:100%;padding-bottom:var(--spacing-xl)}.auth-page-title{font-size:1.5rem}.auth-form{gap:var(--spacing-md)}.auth-name-row{grid-template-columns:1fr}.form-group{margin-bottom:var(--spacing-md)}.btn-auth{padding:var(--spacing-md) var(--spacing-lg)}}.auth-container-legacy{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-tertiary) 100%);padding:var(--spacing-lg)}.firma-canvas{border:1.5px solid var(--color-light-gray);border-radius:8px;cursor:crosshair;touch-action:none;background:#fff;display:block;-webkit-user-select:none;user-select:none}.firma-canvas:hover,.firma-canvas:active{border-color:var(--color-primary)}.markup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0d0d0d;display:flex;flex-direction:column}.markup-toolbar{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:#1a1a2e;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;flex-wrap:wrap;min-height:56px;order:0}.markup-group{display:flex;align-items:center;gap:.2rem}.markup-sep{width:1px;height:28px;background:#ffffff1f;margin:0 .35rem;flex-shrink:0}.markup-btn{display:inline-flex;align-items:center;gap:.3rem;min-width:48px;min-height:48px;padding:.3rem .6rem;border:1.5px solid transparent;border-radius:var(--radius-md);background:transparent;color:#ffffffa6;cursor:pointer;font-size:.78rem;font-family:var(--font-family);font-weight:500;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.markup-btn:hover:not(:disabled){background:#ffffff14;color:#fff}.markup-btn--active{background:var(--color-primary)!important;color:#fff!important;border-color:transparent!important}.markup-btn--save{background:var(--color-tertiary);color:#fff;border-color:transparent}.markup-btn--save:hover:not(:disabled){background:var(--color-tertiary-hover);color:#fff}.markup-btn--save:disabled{opacity:.6;cursor:not-allowed}.markup-btn:disabled{opacity:.45;cursor:not-allowed}.markup-color{width:28px;height:28px;min-width:28px;border-radius:50%;border:2.5px solid rgba(255,255,255,.2);cursor:pointer;transition:transform .15s,border-color .15s}.markup-color:hover:not(:disabled){transform:scale(1.15)}.markup-color--active{border-color:#fff!important;box-shadow:0 0 0 2px #fff6;transform:scale(1.15)}.markup-canvas-area{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;order:1}.markup-canvas-area canvas{display:block;touch-action:none}.markup-btn-label{display:inline}@media (max-width: 768px){.markup-overlay{flex-direction:column-reverse}.markup-toolbar{order:0;border-bottom:none;border-top:1px solid rgba(255,255,255,.08);padding:.4rem .5rem;padding-bottom:calc(.4rem + env(safe-area-inset-bottom));justify-content:center;gap:.15rem;min-height:64px}.markup-btn-label{display:none}.markup-btn{min-width:44px;min-height:44px;padding:.4rem;justify-content:center}.markup-sep{height:22px;margin:0 .2rem}.markup-canvas-area{order:1}}.pdf-preview-mobile{display:none}@media (max-width: 768px){.pdf-preview-desktop{display:none}.pdf-preview-mobile{display:block}}.dash-two-col{display:grid;grid-template-columns:1fr 360px;gap:var(--spacing-lg);align-items:start}@media (max-width: 1100px){.dash-two-col{grid-template-columns:1fr}}.dash-chart-card{height:100%}.stat-delta-up{color:var(--color-tertiary);font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:.2rem}.stat-delta-down{color:var(--color-danger);font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:.2rem}.sidebar-upgrade-card{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.75rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.25);border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.sidebar-upgrade-card:hover{background:#fbbf242e}.sidebar-upgrade-text{flex:1;font-size:.78rem;color:#ffffffd9;font-weight:500}.sidebar-upgrade-badge{font-size:.62rem;font-weight:700;padding:2px 6px;background:#fbbf2440;color:#fbbf24;border-radius:4px;letter-spacing:.03em}
