.sidebar{position:fixed;left:0;top:0;height:100vh;width:280px;max-width:100vw;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:width var(--transition-base),transform var(--transition-base);z-index:1000;overflow:hidden;box-sizing:border-box}.sidebar.closed{width:80px}.sidebar-header{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);min-height:64px;flex-shrink:0;box-sizing:border-box}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-text{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.5px}.logo-icon{font-size:1.5rem;font-weight:700;color:var(--color-accent);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-light);border-radius:var(--radius-md)}.sidebar-nav{flex:1;padding:var(--spacing-md);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;box-sizing:border-box}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;background:none;border:none;font-size:.9375rem;font-family:inherit}.nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item.active{background:var(--color-accent-light);color:var(--color-accent)}.nav-item.active .nav-icon{color:var(--color-accent)}.nav-icon{flex-shrink:0;width:20px;height:20px}.nav-label{white-space:nowrap;font-weight:500}.sidebar.closed .nav-label{display:none}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);flex-shrink:0;box-sizing:border-box}.nav-item.logout{color:var(--color-error)}.nav-item.logout:hover{background:#ef44441a;color:var(--color-error)}@media (max-width: 768px){.sidebar{width:280px;max-width:85vw;transform:translate(-100%);transition:transform var(--transition-base)}.sidebar.open{transform:translate(0);box-shadow:2px 0 8px #00000026}.sidebar.closed{width:280px;max-width:85vw;transform:translate(-100%)}.sidebar-header{padding:var(--spacing-md);min-height:56px}.sidebar-nav{padding:var(--spacing-sm)}.nav-item{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}.sidebar-footer{padding:var(--spacing-sm)}}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);height:5vh;position:fixed;top:0;left:280px;z-index:100;width:calc(100% - 280px);box-sizing:border-box;transition:left var(--transition-base),width var(--transition-base)}.header.sidebar-closed{left:80px;width:calc(100% - 80px)}.header-left{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.header-menu-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.header-menu-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.header-search{position:relative;flex:1;max-width:400px}.header-search svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.header-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) 2.5rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;transition:all var(--transition-fast)}.header-search-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-card)}.header-search-input::placeholder{color:var(--color-text-tertiary)}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.header-icon-btn{position:relative;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.header-icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.header-badge{position:absolute;top:0;right:0;background:var(--color-error);color:#fff;font-size:.75rem;font-weight:600;padding:.125rem .375rem;border-radius:9999px;min-width:18px;text-align:center}.header-user{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.header-user:hover{background:var(--color-bg-hover)}.header-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.header-username{font-size:.9375rem;font-weight:500;color:var(--color-text-primary)}.header-user-chevron{transition:transform var(--transition-fast);color:var(--color-text-tertiary)}.header-user-chevron.open{transform:rotate(180deg)}.header-notifications-wrapper,.header-user-wrapper{position:relative}.header-notifications-panel{position:absolute;top:calc(100% + var(--spacing-sm));right:0;width:380px;max-width:calc(100vw - 2rem);max-height:500px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000026;z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.header-notifications-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.header-notifications-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.header-notifications-mark-all{background:none;border:none;color:var(--color-accent);font-size:.875rem;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.header-notifications-mark-all:hover{background:var(--color-bg-hover)}.header-notifications-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.header-notifications-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.header-notifications-list{overflow-y:auto;flex:1}.header-notifications-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);font-size:.9375rem}.header-notification-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);position:relative}.header-notification-item:hover{background:var(--color-bg-hover)}.header-notification-item.unread{background:var(--color-accent-light)}.header-notification-item.unread:hover{background:#3b82f626}.header-notification-content{flex:1;min-width:0}.header-notification-title{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.header-notification-message{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);line-height:1.4}.header-notification-time{font-size:.75rem;color:var(--color-text-tertiary)}.header-notification-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);flex-shrink:0;margin-top:var(--spacing-xs)}.header-user-menu{position:absolute;top:calc(100% + var(--spacing-sm));right:0;width:240px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000026;z-index:1000;overflow:hidden;animation:slideDown .2s ease-out}.header-user-menu-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.header-user-menu-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.header-user-menu-info{flex:1;min-width:0}.header-user-menu-name{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-menu-email{font-size:.8125rem;color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-menu-divider{height:1px;background:var(--color-border);margin:var(--spacing-xs) 0}.header-user-menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:none;border:none;color:var(--color-text-primary);font-size:.9375rem;cursor:pointer;transition:all var(--transition-fast);text-align:left}.header-user-menu-item:hover{background:var(--color-bg-hover)}.header-user-menu-item svg{color:var(--color-text-secondary);flex-shrink:0}.header-user-menu-item:hover svg{color:var(--color-text-primary)}.header-user-menu-item-danger{color:var(--color-error)}.header-user-menu-item-danger:hover{background:#ef44441a;color:var(--color-error)}.header-user-menu-item-danger svg{color:var(--color-error)}@media (max-width: 768px){.header{padding:var(--spacing-sm) var(--spacing-md);min-height:56px;left:0!important;width:100%!important}.header-left{gap:var(--spacing-sm)}.header-menu-btn{padding:var(--spacing-xs);min-width:44px;min-height:44px}.header-search,.header-username{display:none}.header-right{gap:var(--spacing-xs)}.header-icon-btn{padding:var(--spacing-sm);min-width:44px;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.header-badge{font-size:.7rem;min-width:16px;height:16px;padding:.1rem .3rem;top:-2px;right:-2px}.header-user{padding:var(--spacing-xs);min-width:44px;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.header-user-avatar{width:32px;height:32px;font-size:.875rem}.header-user-chevron{display:none}.header-notifications-panel{position:fixed;top:56px;left:0;right:0;width:100vw;max-width:100vw;max-height:calc(100vh - 56px);border-radius:0;border-left:none;border-right:none;border-top:1px solid var(--color-border);box-shadow:0 4px 20px #0000004d;animation:slideDownMobile .3s ease-out}@keyframes slideDownMobile{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-notifications-header{padding:var(--spacing-md) var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-sm)}.header-notifications-header h3{font-size:1.125rem;flex:1;min-width:0}.header-notifications-mark-all{font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md);min-height:44px;flex-shrink:0;white-space:nowrap}.header-notifications-close{padding:var(--spacing-sm);min-width:44px;min-height:44px;flex-shrink:0}.header-notifications-list{max-height:calc(100vh - 140px)}.header-notification-item{padding:var(--spacing-lg);min-height:80px;gap:var(--spacing-md);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.header-notification-title{font-size:1rem;margin-bottom:var(--spacing-sm)}.header-notification-message{font-size:.9375rem;line-height:1.5;margin-bottom:var(--spacing-sm);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.header-notification-time{font-size:.8125rem}.header-notification-dot{width:10px;height:10px;margin-top:var(--spacing-xs)}.header-notifications-empty{padding:var(--spacing-2xl);font-size:1rem}.header-user-menu{position:fixed;top:56px;right:0;left:0;width:100vw;max-width:100vw;border-radius:0;border-left:none;border-right:none;border-top:1px solid var(--color-border);box-shadow:0 4px 20px #0000004d;animation:slideDownMobile .3s ease-out}.header-user-menu-header{padding:var(--spacing-lg)}.header-user-menu-avatar{width:48px;height:48px;font-size:1.25rem}.header-user-menu-name{font-size:1rem}.header-user-menu-email{font-size:.875rem;word-break:break-all}.header-user-menu-item{padding:var(--spacing-lg);min-height:56px;font-size:1rem;gap:var(--spacing-lg);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.header-user-menu-item svg{width:20px;height:20px}.header-user-menu-divider{margin:var(--spacing-sm) 0}}.layout{display:flex;min-height:100vh;background:var(--color-bg-primary);position:relative;overflow-x:hidden}.layout-main{flex:1;display:flex;flex-direction:column;margin-left:280px;transition:margin-left var(--transition-base);min-width:0;box-sizing:border-box;width:calc(100% - 280px)}.layout-main.sidebar-closed{margin-left:80px;width:calc(100% - 80px)}.layout-content{flex:1;padding:var(--spacing-lg);overflow-y:auto;padding-top:7vh}.sidebar-overlay{display:none}@media (max-width: 768px){.layout-main{margin-left:0!important;width:100%!important;max-width:100vw}.layout-main.sidebar-open,.layout-main.sidebar-closed{margin-left:0!important;width:100%!important}.layout-content{padding:var(--spacing-md);width:100%;max-width:100%;box-sizing:border-box;padding-top:74px;overflow-y:visible;overflow-x:hidden;height:auto;min-height:auto}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;pointer-events:auto;transition:opacity var(--transition-base)}}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-accent);opacity:0;transition:opacity var(--transition-base)}.stat-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card:hover:before{opacity:1}.stat-card-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.stat-card-clickable:active{transform:translateY(0)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.stat-card-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-accent-light);color:var(--color-accent);display:flex;align-items:center;justify-content:center}.stat-card-trend{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.stat-card-trend.trend-up{color:var(--color-success);background:#10b9811a}.stat-card-trend.trend-down{color:var(--color-error);background:#ef44441a}.stat-card-trend.trend-neutral{color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.stat-card-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-card-value{font-size:2rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.stat-card-title{font-size:.9375rem;color:var(--color-text-secondary);font-weight:500}.stat-card-subtitle{font-size:.875rem;color:var(--color-text-tertiary);margin-top:var(--spacing-xs)}.stat-card.loading{border:none;padding:0;overflow:hidden}.stat-card-skeleton{width:100%;height:120px;background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-hover) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:loading 1.5s infinite}.stat-card-blue .stat-card-icon{background:#3b82f61a;color:var(--color-accent)}.stat-card-green .stat-card-icon{background:#10b9811a;color:var(--color-success)}.stat-card-purple .stat-card-icon{background:#8b5cf61a;color:#8b5cf6}.stat-card-orange .stat-card-icon{background:#f59e0b1a;color:var(--color-warning)}@media (max-width: 768px){.stat-card{padding:var(--spacing-md);aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-between}.stat-card-header{margin-bottom:var(--spacing-sm)}.stat-card-icon{width:36px;height:36px}.stat-card-icon svg{width:18px;height:18px}.stat-card-trend{font-size:.75rem;padding:2px var(--spacing-xs)}.stat-card-trend svg{width:12px;height:12px}.stat-card-value{font-size:1.5rem}.stat-card-title{font-size:.8125rem}.stat-card-subtitle{font-size:.75rem;margin-top:0}.stat-card-content{gap:2px}.stat-card-skeleton{height:100%}}.chart-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base)}.chart-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.chart-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.chart-card-title-section{flex:1}.chart-card-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.chart-card-subtitle{font-size:.875rem;color:var(--color-text-secondary)}.chart-card-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.chart-card-content{min-height:200px}.chart-card.loading{border:none;padding:0;overflow:hidden}.chart-card-skeleton{width:100%;height:300px;background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-hover) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.stat-builder-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.9375rem}.stat-builder-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-accent);color:var(--color-text-primary)}.stat-builder-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.stat-builder-modal{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.stat-builder-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.stat-builder-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.stat-builder-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.stat-builder-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.stat-builder-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.stat-builder-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.stat-builder-item-header{display:flex;align-items:center;gap:var(--spacing-sm)}.stat-builder-item-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-sm)}.stat-builder-input,.stat-builder-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;transition:all var(--transition-fast);font-family:inherit}.stat-builder-input:focus,.stat-builder-select:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-hover)}.stat-builder-input{flex:1}.stat-builder-remove{background:none;border:none;color:var(--color-error);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.stat-builder-remove:hover{background:#ef44441a}.stat-builder-add{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.9375rem}.stat-builder-add:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.stat-builder-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.stat-builder-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none}.stat-builder-btn.primary{background:var(--color-accent);color:#fff}.stat-builder-btn.primary:hover{background:var(--color-accent-hover)}.stat-builder-btn.secondary{background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border)}.stat-builder-btn.secondary:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.ovh-live-widget{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--color-border)}.ovh-live-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.ovh-live-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text);flex:1}.connection-status{font-size:.75rem;margin-left:auto}.connection-status.connected{color:var(--color-success)}.connection-status.disconnected{color:var(--color-error)}.ovh-live-content{min-height:200px}.no-call-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--color-text-secondary)}.no-call-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-call-message p{margin:.5rem 0;font-size:1rem;font-weight:500}.no-call-message small{font-size:.875rem;opacity:.7}.client-card{background:var(--color-bg);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--color-border)}.client-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.client-avatar{width:48px;height:48px;border-radius:50%;background:var(--gradient-modal-header);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.client-info h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--color-text)}.client-number{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.client-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.detail-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.detail-row .label{display:flex;align-items:center;gap:.375rem;font-weight:500;color:var(--color-text-secondary);min-width:120px}.detail-row .value{color:var(--color-text);flex:1}.client-sejours{margin-bottom:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.client-sejours h5{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-text)}.sejour-item{background:var(--color-bg-card);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:.5rem;border-left:3px solid var(--color-border)}.sejour-item.active{border-left-color:var(--color-success)}.sejour-item.upcoming{border-left-color:var(--color-primary)}.sejour-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sejour-type{font-weight:600;color:var(--color-text);font-size:.875rem}.sejour-status{font-size:.75rem;padding:.25rem .5rem;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-secondary)}.sejour-details{display:flex;gap:1rem;font-size:.75rem;color:var(--color-text-secondary)}.sejour-code{font-weight:600;color:var(--color-text)}.call-info{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--color-border);margin-bottom:1rem}.call-detail{display:flex;gap:.5rem;font-size:.875rem}.call-detail .label{font-weight:500;color:var(--color-text-secondary);min-width:80px}.call-detail .value{color:var(--color-text)}.client-actions{padding-top:1rem;border-top:1px solid var(--color-border)}.btn-view-client{width:100%;padding:.75rem 1rem;background:var(--gradient-modal-header);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-view-client:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.ovh-tracker{list-style:none;padding:0;margin:0}.ovh-tracker li{padding:.75rem 0;border-bottom:1px solid var(--color-border);font-size:.875rem}.ovh-tracker li:last-child{border-bottom:none}.ovh-tracker li strong{color:var(--color-text-secondary);margin-right:.5rem}.ovh-call-history-widget{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--color-border);height:100%;max-height:600px;display:flex;flex-direction:column;overflow:hidden}.ovh-call-history-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.ovh-call-history-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text);flex:1}.callers-count{background:var(--color-accent);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.ovh-call-history-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;max-height:100%;padding-right:.5rem}.ovh-call-history-content::-webkit-scrollbar{width:6px}.ovh-call-history-content::-webkit-scrollbar-track{background:var(--color-bg);border-radius:3px}.ovh-call-history-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.ovh-call-history-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.loading-message{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--color-text-secondary);font-size:.875rem}.no-callers-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--color-text-secondary)}.no-callers-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-callers-message p{margin:.5rem 0;font-size:1rem;font-weight:500}.no-callers-message small{font-size:.875rem;opacity:.7}.callers-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.caller-item{background:var(--color-bg);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--color-border);transition:all .2s}.caller-item:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #667eea1a}.caller-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.caller-avatar{width:36px;height:36px;border-radius:50%;background:var(--gradient-modal-header);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.caller-info{flex:1;min-width:0}.caller-name{font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caller-number{font-size:.75rem;color:var(--color-text-secondary)}.caller-status{flex-shrink:0}.status-answered{color:var(--color-success)}.status-missed{color:var(--color-error)}.caller-details{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;font-size:.75rem;color:var(--color-text-secondary)}.caller-detail-item{display:flex;align-items:center;gap:.375rem}.caller-detail-item .label{font-weight:500}.caller-actions{padding-top:.75rem;border-top:1px solid var(--color-border)}.btn-view-client-small{width:100%;padding:.5rem .75rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-view-client-small:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.dashboard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out;overflow-y:auto;box-sizing:border-box}.dashboard-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out;box-sizing:border-box}.dashboard-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:var(--gradient-modal-header);color:#fff}.dashboard-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.dashboard-modal-body{padding:2rem;overflow-y:auto;overflow-x:hidden;flex:1;box-sizing:border-box}.modal-loading,.modal-error,.modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.details-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-accent)}.details-header h3{margin:0 0 .5rem;color:var(--color-text);font-size:1.25rem}.details-count{margin:0;color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.reservations-list,.clients-list,.occupancy-list,.calls-list{display:grid;gap:1rem;margin-top:1.25rem}.reservation-item,.client-item,.occupancy-item,.call-item{background:var(--color-bg);border-radius:var(--radius-md);padding:1.25rem;border-left:4px solid var(--color-accent);transition:transform .2s,box-shadow .2s}.reservation-item:hover,.client-item:hover,.occupancy-item:hover,.call-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.reservation-header,.unit-header,.call-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.unit-code,.call-number{font-weight:700;font-size:1rem;color:var(--color-text)}.unit-type,.call-direction{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.unit-type.lodge,.call-direction.incoming{background:#e3f2fd;color:#1976d2}.unit-type.emplacement,.call-direction.outgoing{background:#f3e5f5;color:#7b1fa2}.unit-type.inconnu{background:#ffebee;color:#d32f2f}.reservation-details,.unit-details,.call-details{font-size:.875rem;color:var(--color-text-secondary)}.reservation-details p,.unit-details p,.call-details p{margin:.5rem 0}.client-info h4,.client-info h5{margin:0 0 .5rem;color:var(--color-text)}.client-info p{margin:.375rem 0;font-size:.875rem;color:var(--color-text-secondary)}.conversation-header{margin-bottom:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border-radius:var(--radius-md)}.conversation-header h3{margin:0 0 .5rem;font-size:1.5rem}.contact-number{margin:0 0 .5rem;font-size:1rem;opacity:.9}.conversation-status{margin:0;font-size:.875rem;opacity:.8}.conversation-meta{margin-bottom:1.5rem;font-size:.875rem;color:var(--color-text-secondary)}.conversation-meta p{margin:.5rem 0}.messages-container{margin-top:1.5rem}.messages-container h4{margin:0 0 1rem;color:var(--color-text);font-size:1rem}.messages-list{max-height:400px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.message-item{margin-bottom:1rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--color-bg)}.message-item.in{background:#e3f2fd;border-left:4px solid #2196f3}.message-item.out{background:#f3e5f5;border-left:4px solid #9c27b0}.message-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.75rem;color:var(--color-text-secondary)}.message-content{margin-bottom:.5rem;line-height:1.5;color:var(--color-text)}.message-template{font-size:.6875rem;color:var(--color-accent);font-style:italic;margin-bottom:.25rem}.message-status{font-size:.6875rem;color:var(--color-text-secondary)}.language-stats,.calls-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.25rem 0}.stat-item,.summary-item{background:var(--color-bg);padding:1rem;border-radius:var(--radius-md);text-align:center}.stat-label,.summary-label{display:block;font-size:.75rem;color:var(--color-text-secondary);margin-bottom:.25rem}.stat-value,.summary-value{display:block;font-size:1.125rem;font-weight:700;color:var(--color-text)}.sample-clients{margin-top:1.5rem}.sample-clients h4{margin:0 0 1rem;color:var(--color-text);font-size:1rem}.los-category-section{margin-bottom:2rem;background:var(--color-bg);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--color-border)}.los-category-section:last-child{margin-bottom:0}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-border)}.category-header h4{margin:0;color:var(--color-text);font-size:1.125rem;font-weight:600}.category-count{background:var(--color-accent);color:#fff;padding:.375rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600}.category-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border);text-align:center}.category-percentage{font-size:.9375rem;font-weight:600;color:var(--color-accent)}.no-reservations{text-align:center;padding:2rem 1rem;color:var(--color-text-secondary);font-style:italic;font-size:.875rem}.new-clients-by-week{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.week-section{background:var(--color-bg);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--color-border)}.week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-accent)}.week-header h4{margin:0;color:var(--color-text);font-size:1.125rem;font-weight:600}.week-count{background:var(--color-accent);color:#fff;padding:.375rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600}.new-clients-summary{margin-top:.5rem}.new-clients-summary .details-count{font-size:.9375rem;line-height:1.6}.new-clients-summary .details-count strong{color:var(--color-text);font-weight:600}.new-clients-chart-container{margin-top:2rem;padding:1rem;background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}@media (max-width: 768px){.dashboard-modal-content{width:98%;margin:1% auto;max-height:95vh}.dashboard-modal-header{padding:1rem 1.25rem}.dashboard-modal-header h2{font-size:1.125rem}.dashboard-modal-body{padding:1.25rem}.reservations-list,.clients-list,.occupancy-list,.calls-list{grid-template-columns:1fr;gap:.75rem}.reservation-item,.client-item,.occupancy-item,.call-item{padding:1rem}.reservation-header,.unit-header,.call-header{flex-direction:column;align-items:flex-start;gap:.5rem}.reservation-details,.unit-details,.call-details{font-size:.8125rem}.reservation-details p,.unit-details p,.call-details p{margin:.375rem 0}.language-stats,.calls-summary{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-item,.summary-item{aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;padding:.75rem}.stat-value,.summary-value{font-size:1rem}.stat-label,.summary-label{font-size:.6875rem}.details-header h3{font-size:1.125rem}.details-count{font-size:.8125rem}.conversation-header{padding:1rem}.conversation-header h3{font-size:1.25rem}.contact-number{font-size:.875rem}.conversation-status{font-size:.8125rem}.messages-list{max-height:300px;padding:.75rem}.message-item{padding:.625rem;margin-bottom:.75rem}.message-header{flex-direction:column;align-items:flex-start;gap:.25rem}.message-content{font-size:.875rem;word-break:break-word}.client-info h4,.client-info h5{font-size:1rem}.client-info p{font-size:.8125rem}.sample-clients h4{font-size:.9375rem}.los-category-section{padding:1rem;margin-bottom:1.5rem}.category-header{flex-direction:column;align-items:flex-start;gap:.5rem}.category-header h4{font-size:1rem}.category-count{font-size:.8125rem}.category-percentage{font-size:.875rem}}@media (max-width: 480px){.dashboard-modal-content{width:100%;max-height:100vh;border-radius:0;margin:0}.dashboard-modal-overlay{padding:0}.dashboard-modal-header{padding:.875rem 1rem}.dashboard-modal-header h2{font-size:1rem}.modal-close{width:28px;height:28px}.dashboard-modal-body{padding:1rem}.details-header{margin-bottom:1rem;padding-bottom:.75rem}.details-header h3{font-size:1rem}.details-count{font-size:.75rem}.reservation-item,.client-item,.occupancy-item,.call-item{padding:.875rem}.unit-code,.call-number{font-size:.9375rem}.unit-type,.call-direction{font-size:.6875rem;padding:.2rem .5rem}.language-stats,.calls-summary{grid-template-columns:1fr;gap:.5rem}.stat-item,.summary-item{aspect-ratio:auto;padding:1rem}.stat-value,.summary-value{font-size:1.25rem}.stat-label,.summary-label{font-size:.75rem}.conversation-header{padding:.875rem}.conversation-header h3{font-size:1.125rem}.conversation-meta{font-size:.8125rem}.messages-list{max-height:250px;padding:.5rem}.message-item{padding:.5rem;margin-bottom:.5rem}.message-content{font-size:.8125rem}.message-template,.message-status{font-size:.625rem}.los-category-section{padding:.875rem;margin-bottom:1.25rem}.category-header h4{font-size:.9375rem}.category-count{font-size:.75rem;padding:.25rem .5rem}.category-percentage{font-size:.8125rem}.no-reservations{padding:1.5rem .75rem;font-size:.8125rem}.new-clients-chart-container{margin-top:1.5rem;padding:.75rem}.new-clients-summary .details-count{font-size:.8125rem}}.ovh-details-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ovh-details-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:1400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.ovh-details-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:var(--gradient-modal-header);color:#fff}.ovh-details-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.ovh-details-modal-body{padding:2rem;overflow-y:auto;flex:1}.period-controls{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:var(--color-bg);border-radius:var(--radius-md);flex-wrap:wrap}.period-type-selector{display:flex;gap:1rem}.period-type-selector label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.custom-period-selector{display:flex;align-items:center;gap:.5rem}.date-input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text)}.btn-apply,.btn-export{padding:.5rem 1rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.btn-export{margin-left:auto}.global-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-bg);padding:1.5rem;border-radius:var(--radius-md);text-align:center;border:1px solid var(--color-border)}.stat-label{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}.stat-trend{font-size:.875rem;font-weight:600}.stat-trend.positive{color:var(--color-success)}.stat-trend.negative{color:var(--color-error)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.chart-card{background:var(--color-bg);padding:1.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border)}.chart-card h3{margin:0 0 1rem;font-size:1rem;color:var(--color-text)}.lines-table-container{margin-bottom:2rem}.lines-table-container h3{margin:0 0 1rem;color:var(--color-text)}.lines-table{width:100%;border-collapse:collapse;background:var(--color-bg-card);border-radius:var(--radius-md);overflow:hidden}.lines-cards{display:none;grid-template-columns:1fr;gap:1rem;margin-top:1rem}.line-card{background:var(--color-bg);border-radius:var(--radius-md);padding:1.25rem;border-left:4px solid var(--color-primary);transition:transform .2s,box-shadow .2s}.line-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.line-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.line-name{font-weight:700;font-size:1rem;color:var(--color-text)}.line-number{font-size:.75rem;color:var(--color-text-muted);font-family:monospace}.poste-name{font-weight:600;color:var(--color-text)}.poste-number{font-family:monospace;font-size:.875rem;color:var(--color-text-muted)}.line-type{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;background:var(--color-bg-secondary);color:var(--color-text-secondary)}.line-card-details{display:flex;flex-direction:column;gap:.5rem}.line-stat-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.line-stat-label{color:var(--color-text-secondary)}.line-stat-value{font-weight:600;color:var(--color-text)}.line-stat-value.success{color:var(--color-success)}.line-stat-value.error{color:var(--color-error)}.line-stat-value.pickup-rate{color:var(--color-primary)}.lines-table th,.lines-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border)}.lines-table th{background:var(--color-bg);font-weight:600;color:var(--color-text);font-size:.875rem}.lines-table td{font-size:.875rem;color:var(--color-text-secondary)}.pickup-rate{font-weight:600;color:var(--color-text)}.lines-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.lines-table-header h3{margin:0}.btn-all-missed-calls{padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-all-missed-calls:hover:not(:disabled){background:#c0392b;transform:translateY(-1px);box-shadow:0 2px 8px #e74c3c4d}.btn-all-missed-calls:disabled{opacity:.6;cursor:not-allowed}.missed-calls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.missed-calls-header h3{margin:0}.missed-calls-count{font-weight:500;color:var(--color-accent);background:var(--color-accent-subtle, rgba(79, 70, 229, .1));padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.875em}.btn-close-missed-calls{padding:.5rem 1rem;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all .2s}.btn-close-missed-calls:hover{background:var(--color-bg-hover)}.client-info{display:flex;flex-direction:column;gap:.25rem}.client-name{font-weight:600;color:var(--color-text-primary)}.client-email{font-size:.75rem;color:var(--color-text-secondary)}.no-client{color:var(--color-text-tertiary);font-style:italic}.btn-missed-calls{padding:.375rem .75rem;background:#e74c3c;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem}.btn-missed-calls:disabled{opacity:.5;cursor:not-allowed}.missed-calls-section{margin-top:2rem}.missed-calls-for-line{margin-bottom:2rem;padding:1.5rem;background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.missed-calls-for-line h4{margin:0 0 1rem;color:var(--color-text)}.missed-calls-table{width:100%;border-collapse:collapse}.missed-calls-table th,.missed-calls-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border);font-size:.875rem}.missed-calls-table th{background:var(--color-bg-card);font-weight:600}.missed-calls-cards{display:none;grid-template-columns:1fr;gap:1rem;margin-top:1rem}.missed-call-card{background:var(--color-bg);border-radius:var(--radius-md);padding:1.25rem;border-left:4px solid #e74c3c;transition:transform .2s,box-shadow .2s}.missed-call-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.missed-call-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.missed-call-number{font-weight:700;font-size:1rem;color:var(--color-text)}.missed-call-details{display:flex;flex-direction:column;gap:.5rem}.missed-call-detail-row{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.missed-call-label{color:var(--color-text-secondary);font-weight:500}.missed-call-value{color:var(--color-text);font-weight:600}.status-badge{color:#e74c3c;font-weight:600}.no-missed-calls{color:var(--color-success);text-align:center;padding:1rem}.trends-section{margin-top:2rem;padding:1.5rem;background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.trends-section h3{margin:0 0 1rem;color:var(--color-text)}.trends-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.trend-item{display:flex;flex-direction:column;gap:.5rem}.trend-label{font-size:.875rem;color:var(--color-text-secondary)}.trend-value{font-size:1rem;font-weight:600;color:var(--color-text)}@media (max-width: 768px){.ovh-details-modal-content{width:98%;max-height:95vh}.ovh-details-modal-header{padding:1rem 1.25rem}.ovh-details-modal-header h2{font-size:1.125rem}.ovh-details-modal-body{padding:1rem}.period-controls{flex-direction:column;align-items:stretch;gap:.75rem;padding:.875rem}.period-type-selector,.custom-period-selector{flex-direction:column;gap:.5rem}.custom-period-selector span{display:none}.btn-export{margin-left:0;width:100%;justify-content:center}.global-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.global-stats .stat-card{padding:1rem;aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-between}.global-stats .stat-value{font-size:1.5rem}.global-stats .stat-label,.global-stats .stat-trend{font-size:.75rem}.charts-grid{grid-template-columns:1fr;gap:1rem}.chart-card{padding:1rem}.chart-card h3{font-size:.9375rem;margin-bottom:.75rem}.chart-card .recharts-wrapper{max-height:250px}.chart-card .recharts-legend-wrapper,.chart-card .recharts-tooltip-wrapper{font-size:.75rem}.lines-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.lines-table-header{flex-direction:column;align-items:flex-start;gap:.75rem}.lines-table-header h3{font-size:1rem}.btn-all-missed-calls{width:100%;justify-content:center}.lines-table{display:none}.lines-cards{display:grid;grid-template-columns:1fr;gap:.75rem}.line-card{padding:1rem}.line-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.line-stat-row{font-size:.8125rem}.missed-calls-header{flex-direction:column;align-items:flex-start;gap:.75rem}.missed-calls-header h3{font-size:1rem}.btn-close-missed-calls{width:100%;justify-content:center}.missed-calls-section{overflow-x:auto;-webkit-overflow-scrolling:touch}.missed-calls-table{display:none}.missed-calls-cards{display:grid;grid-template-columns:1fr;gap:.75rem}.missed-call-card{padding:1rem}.missed-call-header{flex-direction:column;align-items:flex-start;gap:.5rem}.missed-call-detail-row{font-size:.8125rem}.trends-section{padding:1rem}.trends-section h3{font-size:1rem}.trends-grid{grid-template-columns:1fr;gap:.75rem}}@media (max-width: 480px){.ovh-details-modal-content{width:100%;max-height:100vh;border-radius:0}.ovh-details-modal-overlay{padding:0}.ovh-details-modal-header{padding:.875rem 1rem}.ovh-details-modal-header h2{font-size:1rem}.modal-close{width:28px;height:28px}.ovh-details-modal-body{padding:.875rem}.period-controls{padding:.75rem}.period-type-selector label{font-size:.875rem}.date-input{font-size:.875rem;padding:.625rem}.btn-apply,.btn-export{padding:.625rem 1rem;font-size:.8125rem}.global-stats{grid-template-columns:1fr;gap:.5rem}.global-stats .stat-card{aspect-ratio:auto;padding:1rem}.global-stats .stat-value{font-size:1.75rem}.global-stats .stat-label{font-size:.8125rem}.charts-grid{gap:.75rem}.chart-card{padding:.875rem}.chart-card h3{font-size:.875rem}.chart-card .recharts-wrapper{max-height:200px}.chart-card .recharts-legend-wrapper,.chart-card .recharts-tooltip-wrapper,.chart-card .recharts-xAxis,.chart-card .recharts-yAxis{font-size:.6875rem}.lines-table-header h3{font-size:.9375rem}.lines-table{display:none}.lines-cards{gap:.5rem}.line-card{padding:.875rem}.line-name{font-size:.9375rem}.line-type{font-size:.6875rem;padding:.2rem .5rem}.line-stat-row{font-size:.75rem}.missed-calls-header h3{font-size:.9375rem}.missed-calls-table{display:none}.missed-calls-cards{gap:.5rem}.missed-call-card{padding:.875rem}.missed-call-number{font-size:.9375rem}.missed-call-detail-row{font-size:.75rem}.client-name{font-size:.875rem}.client-email{font-size:.6875rem}.trends-section{padding:.875rem}.trends-section h3{font-size:.9375rem}.trend-label{font-size:.8125rem}.trend-value{font-size:.9375rem}}.clickable-chart{cursor:pointer}.clickable-chart h3{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.chart-hint{font-size:.75rem;color:var(--color-text-muted);font-weight:400;font-style:italic}.custom-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.75rem;box-shadow:0 4px 12px #00000026}.custom-tooltip p{margin:0;font-size:.875rem}.custom-tooltip .tooltip-hint{margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted);font-style:italic}.line-calls-section{border-color:var(--color-primary)}.line-calls-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.line-calls-section .section-header h3{margin:0}.btn-close-section{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:6px;padding:.5rem 1rem;font-size:.875rem;color:var(--color-text);cursor:pointer;transition:all .2s ease}.btn-close-section:hover{background:var(--color-surface-active);border-color:var(--color-primary)}.line-calls-table .missed-row{background:#e74c3c1a}.missed-card{border-left:3px solid #e74c3c!important}.status-badge.answered{background:#27ae6026;color:#27ae60;border:1px solid rgba(39,174,96,.3)}.status-badge.missed{background:#e74c3c26;color:#e74c3c;border:1px solid rgba(231,76,60,.3)}.no-calls{text-align:center;color:var(--color-text-muted);padding:2rem;font-style:italic}.comparison-tools{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;margin:1.5rem 0;box-shadow:var(--shadow);border:1px solid var(--color-border);width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.comparison-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-accent);flex-wrap:wrap;gap:1rem}.comparison-header h3{margin:0;color:var(--color-text);font-size:1.25rem}.comparison-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.period-select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text);font-size:.875rem;min-height:44px;box-sizing:border-box}.compare-btn,.export-btn{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.5rem;min-height:44px;box-sizing:border-box;pointer-events:auto}.compare-btn:disabled,.export-btn:disabled{pointer-events:none}.compare-btn{background:var(--color-accent);color:#fff}.compare-btn:hover:not(:disabled){background:var(--color-accent-hover)}.compare-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.export-btn:hover:not(:disabled){background:var(--color-bg-hover)}.export-btn:disabled{opacity:.5;cursor:not-allowed}.comparison-error{padding:1rem;background:#fee2e2;color:#dc2626;border-radius:var(--radius-md);margin-bottom:1rem}.comparison-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top:4px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.comparison-summary{background:var(--color-bg);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem}.comparison-summary h4{margin:0 0 1rem;color:var(--color-text);font-size:1rem}.summary-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.metric-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--color-bg-card);border-radius:var(--radius-md);border-left:4px solid var(--color-accent)}.metric-icon{font-size:1.25rem;flex-shrink:0}.metric-content{flex:1}.metric-content h5{margin:0 0 .25rem;color:var(--color-text);font-size:.875rem}.metric-values{display:flex;gap:.5rem;margin-bottom:.25rem}.current-value{font-weight:700;color:var(--color-text);font-size:1rem}.previous-value{color:var(--color-text-secondary);font-size:.75rem}.metric-change{font-size:.75rem;font-weight:600;padding:.125rem .375rem;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.25rem}.metric-change.up{background:#e8f5e8;color:#4caf50}.metric-change.down{background:#ffebee;color:#f44336}.comparison-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;width:100%;max-width:100%}.chart-comparison{background:var(--color-bg);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--color-border)}.chart-comparison h4{margin:0 0 1rem;color:var(--color-text);font-size:1rem}@media (max-width: 768px){.comparison-header{flex-direction:column;align-items:stretch}.comparison-controls{justify-content:center;flex-wrap:wrap;gap:.5rem}.period-select{font-size:.8125rem;padding:.5rem .625rem}.compare-btn,.export-btn{font-size:.8125rem!important;padding:.5rem .75rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;max-width:100%}.export-btn{flex:0 0 auto;min-width:auto}.comparison-charts,.summary-metrics{grid-template-columns:1fr}}.los-date-filter{position:relative}.date-filter-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all .2s;font-size:.875rem;position:relative}.date-filter-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.date-filter-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.filter-indicator{position:absolute;top:-4px;right:-4px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:2px solid white}.date-picker-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:100;min-width:280px;padding:1rem}.date-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.date-picker-header span{font-weight:600;color:var(--color-text);font-size:.875rem}.close-picker-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .2s}.close-picker-btn:hover{background:var(--color-bg-hover)}.date-picker-inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.date-input-group{display:flex;flex-direction:column;gap:.5rem}.date-input-group label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.date-input-group input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.875rem;transition:border-color .2s}.date-input-group input:focus{outline:none;border-color:var(--color-accent)}.date-picker-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-apply-filter,.btn-clear-filter{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-apply-filter{background:var(--color-accent);color:#fff}.btn-apply-filter:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.btn-apply-filter:disabled{opacity:.5;cursor:not-allowed}.btn-clear-filter{background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-clear-filter:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-secondary)}.btn-clear-filter:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.date-picker-dropdown{right:auto;left:0;min-width:260px}}.dashboard-page{display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%;max-width:100%;overflow-x:hidden}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);flex-wrap:wrap}.dashboard-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.dashboard-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.dashboard-header-actions{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.btn-ovh-details{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-ovh-details:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);width:100%;max-width:100%}.dashboard-charts-grid,.ovh-widgets-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg);width:100%;max-width:100%}@media (max-width: 1023px){.dashboard-charts-grid,.ovh-widgets-container{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.dashboard-charts-grid,.ovh-widgets-container{grid-template-columns:1fr;gap:var(--spacing-md)}.dashboard-header{flex-direction:column}.dashboard-header p{font-size:.9375rem}.btn-ovh-details{font-size:.8125rem!important;padding:.5rem .75rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;justify-content:center}}.conversations-list-container{display:flex;flex-direction:column;height:100%;background:var(--color-bg-secondary);border-right:1px solid var(--color-border)}.conversations-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.conversations-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.conversations-search{position:relative;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.conversations-search .search-icon{position:absolute;left:calc(var(--spacing-md) + .75rem);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.conversations-search .search-input{width:100%;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) 2.5rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;transition:all var(--transition-fast)}.conversations-search .search-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-card)}.conversations-search .search-input::placeholder{color:var(--color-text-tertiary)}.conversations-content{flex:1;overflow-y:auto}.conversations-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);gap:var(--spacing-md)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-bg-tertiary);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.conversations-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-tertiary)}.conversations-items{display:flex;flex-direction:column}.conversation-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);border-bottom:1px solid var(--color-border)}.conversation-item:hover{background:var(--color-bg-hover)}.conversation-item.selected{background:var(--color-accent-light);border-left:3px solid var(--color-accent)}.conversation-avatar{flex-shrink:0}.avatar-initial{width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem}.conversation-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.conversation-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.conversation-name{font-weight:600;color:var(--color-text-primary);font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-time{font-size:.75rem;color:var(--color-text-tertiary);flex-shrink:0}.conversation-preview{font-size:.875rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-status{font-size:.75rem;padding:.125rem .5rem;border-radius:var(--radius-sm);display:inline-block;width:fit-content}.conversation-status.open{background:#10b9811a;color:var(--color-success)}.conversation-status.closed{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}@media (max-width: 768px){.conversations-content{max-height:250px}}.media-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-in-out}.media-preview-container{background:var(--color-bg-card, #ffffff);border-radius:12px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.media-preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border, #e0e0e0)}.media-preview-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary, #333)}.media-preview-actions{display:flex;gap:8px}.media-preview-download-btn,.media-preview-close-btn{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary, #666);transition:all .2s}.media-preview-download-btn:hover,.media-preview-close-btn:hover{background:var(--color-bg-hover, #f5f5f5);color:var(--color-text-primary, #333)}.media-preview-content{padding:20px;overflow:auto;display:flex;align-items:center;justify-content:center;max-height:calc(90vh - 80px)}.media-preview-image{display:flex;flex-direction:column;align-items:center;max-width:100%}.media-preview-image img{max-width:100%;max-height:70vh;border-radius:8px;object-fit:contain}.media-preview-video{display:flex;flex-direction:column;align-items:center;max-width:100%}.media-preview-video video{max-width:100%;max-height:70vh;border-radius:8px}.media-preview-audio{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;min-width:400px}.media-preview-audio audio{width:100%}.media-preview-document{display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px;min-width:400px}.media-preview-document-icon{color:var(--color-text-secondary, #666)}.media-preview-document-info{text-align:center}.media-preview-document-info h3{margin:0 0 8px;font-size:18px;color:var(--color-text-primary, #333)}.media-preview-document-info p{margin:0 0 16px;color:var(--color-text-secondary, #666);font-size:14px}.media-preview-document-link{display:inline-block;padding:12px 24px;background:var(--color-primary, #007bff);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:background .2s}.media-preview-document-link:hover{background:var(--color-primary-hover, #0056b3)}.media-preview-caption{margin-top:12px;padding:12px;background:var(--color-bg-secondary, #f5f5f5);border-radius:6px;color:var(--color-text-primary, #333);max-width:600px;text-align:center}.media-preview-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;color:var(--color-text-secondary, #666)}.media-preview-error p{margin:0;font-size:16px}.media-preview-error-url{font-size:12px;word-break:break-all;color:var(--color-text-tertiary, #999);max-width:500px;text-align:center}.message-bubble{display:flex;margin-bottom:var(--spacing-sm);animation:fadeIn .3s ease-in}.message-bubble.sent{justify-content:flex-end}.message-bubble.received{justify-content:flex-start}.message-content{max-width:70%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);position:relative}.message-bubble.sent .message-content{background:var(--color-accent);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message-bubble.received .message-content{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm)}.message-text{word-wrap:break-word;white-space:pre-wrap;line-height:1.5}.message-image,.message-video{display:flex;flex-direction:column;gap:var(--spacing-xs);position:relative;cursor:pointer;transition:opacity .2s}.message-image:hover,.message-video:hover{opacity:.9}.message-image img,.message-video video{max-width:100%;border-radius:var(--radius-md);max-height:300px;object-fit:cover}.message-image.hovered,.message-video.hovered{opacity:.85}.media-hover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:#fff;font-size:.875rem;font-weight:500;pointer-events:none;animation:fadeIn .2s}.image-error{padding:var(--spacing-md);background:var(--color-bg-hover);border-radius:var(--radius-md);color:var(--color-text-secondary);text-align:center}.message-caption{margin-top:var(--spacing-xs);font-size:.875rem;opacity:.9}.message-audio,.message-document{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#0000001a;border-radius:var(--radius-md);position:relative;cursor:pointer;transition:all .2s}.message-audio:hover,.message-document:hover{background:#00000026;transform:translateY(-1px)}.message-audio.hovered,.message-document.hovered{background:#0003}.message-audio audio{width:100%;max-width:300px}.message-document{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)}.message-document-icon{flex-shrink:0;color:var(--color-text-secondary)}.message-document-info{display:flex;flex-direction:column;gap:4px;flex:1}.message-document-name{font-weight:500;color:var(--color-text-primary)}.message-document-size{font-size:.75rem;color:var(--color-text-secondary)}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:var(--spacing-xs);opacity:.8}.message-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:.75rem;opacity:.7}.message-time{flex-shrink:0}.message-status{display:flex;align-items:center;color:inherit}.message-status svg.read{color:#4fc3f7}.message-reaction{font-size:1rem;margin-left:var(--spacing-xs)}.message-bubble.new-message{animation:highlightNew 2s ease-out}@keyframes highlightNew{0%{background:#3b82f64d}to{background:transparent}}.message-media-fallback{display:flex;align-items:center;gap:12px;padding:12px;background:#0000000d;border-radius:8px;border:1px dashed rgba(0,0,0,.2)}.message-bubble.sent .message-media-fallback{background:#ffffff1a;border-color:#ffffff4d}.message-media-fallback-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#00000080;flex-shrink:0}.message-bubble.sent .message-media-fallback-icon{color:#ffffffb3}.message-media-fallback-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.message-media-fallback-name{font-weight:500;color:#000c;word-break:break-word}.message-bubble.sent .message-media-fallback-name{color:#ffffffe6}.message-media-fallback-error{font-size:.85em;color:#ef4444cc;font-style:italic}.message-bubble.sent .message-media-fallback-error{color:#ffc8c8e6}.chat-window{display:flex;flex-direction:column;height:100%;background:var(--color-bg-primary)}.chat-window-empty{display:flex;align-items:center;justify-content:center;height:100%;background:var(--color-bg-primary)}.empty-message{text-align:center;color:var(--color-text-tertiary)}.empty-message p{font-size:1.125rem}.chat-header{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.chat-header-info{display:flex;align-items:center;gap:var(--spacing-md)}.chat-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.chat-header-text h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.chat-status{font-size:.75rem;color:var(--color-text-secondary)}.chat-status.open{color:var(--color-success)}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.chat-loading,.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);gap:var(--spacing-md)}.chat-error{padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border-top:1px solid var(--color-error);color:var(--color-error);font-size:.875rem;text-align:center}.date-separator{text-align:center;margin:var(--spacing-md) 0;color:var(--color-text-tertiary);font-size:.75rem;font-weight:500;position:relative}.date-separator:before,.date-separator:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--color-border)}.date-separator:before{left:0}.date-separator:after{right:0}.chat-input-form{padding:var(--spacing-md);background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.chat-input-container{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm)}.chat-attach-btn,.chat-send-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-attach-btn:hover,.chat-send-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input{flex:1;background:transparent;border:none;color:var(--color-text-primary);font-size:.9375rem;padding:var(--spacing-sm);outline:none}.chat-input::placeholder{color:var(--color-text-tertiary)}@media (max-width: 768px){.chat-window{max-height:500px;height:500px;overflow:hidden;display:flex;flex-direction:column}.chat-messages{flex:1;min-height:0;overflow-y:auto}}.client-search-container{display:flex;flex-direction:column;height:100%;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.client-search-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.client-search-header h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.client-search-input-wrapper{position:relative;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.client-search-input-wrapper .search-icon{position:absolute;left:calc(var(--spacing-md) + .75rem);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.client-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) 2.5rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;transition:all var(--transition-fast)}.client-search-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-hover)}.client-search-input::placeholder{color:var(--color-text-tertiary)}.client-search-error{padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;color:var(--color-error);font-size:.875rem;text-align:center}.client-search-results{flex:1;overflow-y:auto}.client-search-loading,.client-search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);gap:var(--spacing-md)}.client-list{display:flex;flex-direction:column}.client-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);border-bottom:1px solid var(--color-border)}.client-item:hover{background:var(--color-bg-hover)}.client-item.selected{background:var(--color-accent-light);border-left:3px solid var(--color-accent)}.client-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-bg-tertiary);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.client-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.client-name{font-weight:600;color:var(--color-text-primary);font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-details{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:.75rem;color:var(--color-text-secondary)}.client-tel,.client-email,.client-lang{padding:.125rem .375rem;background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.client-sejours{font-size:.75rem;color:var(--color-accent);margin-top:var(--spacing-xs)}.loading-spinner{width:24px;height:24px;border:3px solid var(--color-bg-tertiary);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.extraction-panel{display:flex;flex-direction:column;height:100%;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);gap:var(--spacing-lg)}.extraction-header{display:flex;align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-md)}.extraction-header h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.extraction-controls{display:flex;flex-direction:column;gap:var(--spacing-md)}.extraction-type-select{display:flex;flex-direction:column;gap:var(--spacing-xs)}.extraction-type-select label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.extraction-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;font-family:inherit}.extraction-select:focus{outline:none;border-color:var(--color-accent)}.date-range{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.date-input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.date-input-group label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.date-input{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;font-family:inherit}.date-input:focus{outline:none;border-color:var(--color-accent)}.extraction-filters{display:flex;flex-direction:column;gap:var(--spacing-sm)}.extraction-filters label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.filter-checkboxes{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.filter-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:.9375rem;color:var(--color-text-primary)}.filter-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent)}.extraction-actions{display:flex;gap:var(--spacing-sm)}.extract-btn,.reset-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none}.extract-btn{background:var(--color-accent);color:#fff}.extract-btn:hover:not(:disabled){background:var(--color-accent-hover)}.reset-btn{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.reset-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.extract-btn:disabled,.reset-btn:disabled{opacity:.5;cursor:not-allowed}.extraction-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem}.extraction-results{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto}.results-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.results-header span{font-weight:600;color:var(--color-text-primary)}.results-actions{display:flex;gap:var(--spacing-sm)}.select-all-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.select-all-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.select-all-btn:disabled{opacity:.5;cursor:not-allowed}.send-batch-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.send-batch-btn:hover:not(:disabled){background:var(--color-accent-hover)}.send-batch-btn:disabled{opacity:.5;cursor:not-allowed}.results-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.result-item{padding:var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:row;gap:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast)}.result-item:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.result-item.selected{background:#3b82f61a;border-color:var(--color-accent)}.result-checkbox{display:flex;align-items:center;flex-shrink:0;padding:var(--spacing-xs)}.client-checkbox-input{width:20px;height:20px;cursor:pointer;accent-color:var(--color-accent);flex-shrink:0}.client-checkbox-input:hover{transform:scale(1.1)}.result-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.result-name{font-weight:600;color:var(--color-text-primary);font-size:.9375rem}.result-details{font-size:.875rem;color:var(--color-text-secondary)}.result-type{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;width:fit-content}.result-type.lodge{background:#3b82f61a;color:var(--color-accent)}.result-type.emplacement{background:#10b9811a;color:var(--color-success)}.result-type.birthday{background:#f59e0b1a;color:var(--color-warning)}.extraction-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-tertiary)}.template-selection-section{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.template-selection-section label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.template-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;font-family:inherit}.template-select:focus{outline:none;border-color:var(--color-accent)}.batch-send-section{display:flex;justify-content:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.batch-send-section .send-batch-btn{min-width:200px}.template-selector{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.template-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.template-selector-header h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.template-client-info{font-size:.875rem;color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.template-selector-controls{display:flex;flex-direction:column;gap:var(--spacing-md)}.template-select-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.template-select-group label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.template-language-info{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-secondary)}.template-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;font-family:inherit;transition:all var(--transition-fast)}.template-select:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-hover)}.template-select:disabled{opacity:.5;cursor:not-allowed}.template-preview-loading{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);justify-content:center;color:var(--color-text-secondary)}.template-preview{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-secondary);margin-top:var(--spacing-md);min-height:200px}.template-preview-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.template-preview-content{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);flex:1}.preview-client-name{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.preview-image{margin-bottom:var(--spacing-md);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;min-height:150px}.preview-image img{width:100%;max-height:300px;object-fit:contain;display:block}.preview-text{color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap;word-wrap:break-word;font-size:.9375rem}.template-selector-warning{padding:var(--spacing-md);background:#f59e0b1a;border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning);text-align:center;font-size:.875rem}.send-message-form{padding:var(--spacing-md);background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.send-message-form.template-mode{display:flex;flex-direction:column;gap:var(--spacing-md)}.message-input-container{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm)}.message-input{flex:1;background:transparent;border:none;color:var(--color-text-primary);font-size:.9375rem;padding:var(--spacing-sm);outline:none}.message-input::placeholder{color:var(--color-text-tertiary)}.message-input:disabled{opacity:.5;cursor:not-allowed}.send-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-accent)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-template-actions{display:flex;justify-content:flex-end}.send-template-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.send-template-btn:hover:not(:disabled){background:var(--color-accent-hover)}.send-template-btn:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-bg-tertiary);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.small{width:16px;height:16px;border-width:2px}.attach-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.attach-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.attach-btn:disabled{opacity:.5;cursor:not-allowed}.file-preview{position:relative;margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.file-preview-remove{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:#00000080;border:none;border-radius:50%;color:#fff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast);z-index:10}.file-preview-remove:hover{background:#000000b3}.file-preview-image{position:relative;max-width:200px;max-height:200px;border-radius:var(--radius-sm);overflow:hidden}.file-preview-image img{width:100%;height:100%;object-fit:cover;display:block}.file-preview-video{position:relative;max-width:300px;max-height:200px;border-radius:var(--radius-sm);overflow:hidden}.file-preview-video video{width:100%;height:100%;object-fit:cover;display:block}.file-preview-file{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)}.file-preview-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0}.file-preview-name{font-size:.875rem;color:var(--color-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-size{font-size:.75rem;color:var(--color-text-secondary)}.whatsapp-page{display:flex;flex-direction:column;gap:var(--spacing-xl);height:100%;width:100%;max-width:100%;overflow-x:hidden}.whatsapp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);flex-wrap:wrap}.whatsapp-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.whatsapp-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.whatsapp-header-actions{display:flex;gap:var(--spacing-sm)}.view-toggle{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.9375rem;font-weight:500}.view-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.view-toggle.active{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.sync-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-fast);font-size:.9375rem;font-weight:500}.sync-btn:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.sync-btn:disabled{opacity:.6;cursor:not-allowed}.sync-btn .spinning{animation:spin 1s linear infinite}.whatsapp-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);width:100%;max-width:100%}.whatsapp-main{flex:1;display:flex;flex-direction:column;max-height:70vh;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.whatsapp-conversations-view{display:flex;height:100%}.conversations-sidebar{width:350px;flex-shrink:0;border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.whatsapp-search-view{display:flex;height:100%}.search-sidebar{width:350px;flex-shrink:0;border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.search-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:var(--spacing-lg)}.search-client-details{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:800px;margin:0 auto;width:100%}.client-details-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.client-details-header h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.client-details-header p{color:var(--color-text-secondary);font-size:.9375rem}.search-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);text-align:center}.whatsapp-extraction-view{height:100%;overflow-y:auto;padding:var(--spacing-lg)}@media (max-width: 1024px) and (min-width: 769px){.whatsapp-conversations-view,.whatsapp-search-view{flex-direction:column}.conversations-sidebar,.search-sidebar{width:100%;height:300px;border-right:none;border-bottom:1px solid var(--color-border)}}@media (max-width: 768px){.whatsapp-page{width:100%;max-width:100%;padding:0;margin:0;height:auto;min-height:100vh;overflow-x:hidden}.whatsapp-stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);padding:0 var(--spacing-md)}.whatsapp-header{flex-direction:column;width:100%;padding:var(--spacing-md)}.whatsapp-header p{font-size:.9375rem}.whatsapp-header-actions{width:100%;flex-wrap:wrap}.view-toggle{flex:1;justify-content:center;min-height:44px;font-size:.8125rem!important;padding:var(--spacing-sm) var(--spacing-md)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-btn{min-height:44px;font-size:.8125rem!important;padding:var(--spacing-sm) var(--spacing-md)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whatsapp-main{width:100%;max-width:100%;margin:0;border-radius:0;max-height:none;height:auto;min-height:auto;overflow:visible;display:block}.whatsapp-conversations-view,.whatsapp-search-view{width:100%;max-width:100%;height:auto;flex-direction:column;overflow:visible;display:block}.whatsapp-extraction-view{width:100%;max-width:100%;height:auto;padding:var(--spacing-md);overflow:visible;display:block}.conversations-sidebar,.search-sidebar{width:100%;max-width:100%;height:auto;min-height:300px;max-height:none;border-right:none;border-bottom:1px solid var(--color-border);overflow:visible;flex-shrink:0;position:relative}.chat-main,.search-main{width:100%;max-width:100%;height:auto;overflow:hidden;flex-shrink:0;position:relative}.search-main{padding:var(--spacing-md)}.search-client-details{max-width:100%;width:100%}}.clients-table-container{background:var(--color-bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--color-border);width:100%;max-width:100%;box-sizing:border-box}.clients-table{width:100%;border-collapse:collapse;table-layout:auto;max-width:100%}.clients-table thead{background:var(--color-bg);border-bottom:2px solid var(--color-border)}.clients-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.clients-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s}.clients-table tbody tr:hover{background:var(--color-bg);cursor:pointer}.clients-table tbody tr:last-child{border-bottom:none}.clients-table td{padding:1rem;font-size:.875rem;color:var(--color-text)}.btn-icon{background:none;border:none;padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s;min-height:44px;min-width:44px}.btn-reservations:hover{color:var(--color-success)}.clients-table-loading,.clients-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--color-text-secondary)}@media (max-width: 768px){.clients-table-container{overflow-x:hidden;width:100%;max-width:100%}.clients-table,.clients-table thead,.clients-table tbody,.clients-table tr,.clients-table th,.clients-table td{display:block;width:100%}.clients-table thead{display:none}.clients-table tr{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;padding:1rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.clients-table tr:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.clients-table td{padding:.5rem 0;border:none;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:1rem}.clients-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;flex-shrink:0;min-width:100px}.clients-table td:last-child{border-top:1px solid var(--color-border);padding-top:1rem;margin-top:.5rem}.actions-cell{flex-wrap:wrap;gap:.5rem;justify-content:center}}.client-search{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--color-border)}.search-form{display:flex;gap:1rem;align-items:center}.search-input-wrapper{position:relative;flex:1;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:var(--color-text-secondary);pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:.875rem;transition:all .2s}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.search-loading{position:absolute;right:1rem;display:flex;align-items:center}.spinner-small{width:16px;height:16px;border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.search-btn{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.search-btn:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.search-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.search-form{flex-direction:column}.search-btn{width:100%}}.client-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out;overflow-y:auto;box-sizing:border-box}.client-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out;box-sizing:border-box}.client-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:var(--gradient-modal-header);color:#fff}.client-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.client-form{padding:2rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.5rem}.form-group input,.form-group select{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:.875rem;transition:all .2s;min-height:44px;box-sizing:border-box;width:100%;max-width:100%}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;min-height:44px;box-sizing:border-box}@media (max-width: 768px){.client-modal-overlay{padding:.5rem}.client-modal-content{width:100%;max-width:100%;max-height:100vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.client-modal-header{padding:1rem 1.25rem}.client-modal-header h2{font-size:var(--title-h2-size)}.client-form{padding:1.25rem;overflow-x:hidden}.form-actions{flex-direction:column;gap:.75rem}.btn-cancel,.btn-submit{width:100%;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media (max-width: 480px){.client-modal-content{border-radius:0}.client-modal-header{padding:.875rem 1rem}.client-modal-header h2{font-size:1.125rem}.client-form{padding:1rem}}.form-group select:disabled{opacity:.6;cursor:not-allowed}.reservations-list-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out;overflow-y:auto;box-sizing:border-box}.reservations-list-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out;box-sizing:border-box}.reservations-list-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:var(--gradient-modal-header);color:#fff}.reservations-list-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.reservations-list-modal-body{padding:2rem;overflow-y:auto;overflow-x:hidden;flex:1;box-sizing:border-box}.reservations-actions{margin-bottom:1.5rem}.btn-create-reservation{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-create-reservation:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.reservations-table{width:100%;border-collapse:collapse;table-layout:auto;overflow-x:auto;display:block}.reservations-table thead,.reservations-table tbody{display:block}.reservations-table thead{width:100%}.reservations-table tbody{width:100%;max-height:400px;overflow-y:auto}.reservations-table tr{display:table;width:100%;table-layout:fixed}.reservations-table thead{background:var(--color-bg);border-bottom:2px solid var(--color-border)}.reservations-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.reservations-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s}.reservations-table tbody tr:hover{background:var(--color-bg)}.reservations-table tbody tr:last-child{border-bottom:none}.reservations-table td{padding:1rem;font-size:.875rem;color:var(--color-text)}.reservations-loading,.reservations-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--color-text-secondary)}.reservations-empty{gap:1rem}@media (max-width: 768px){.reservations-list-modal-overlay{padding:.5rem}.reservations-list-modal-content{width:100%;max-width:100%;max-height:100vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.reservations-list-modal-header{padding:1rem 1.25rem}.reservations-list-modal-header h2{font-size:var(--title-h2-size)}.reservations-list-modal-body{padding:1.25rem;overflow-x:hidden}.btn-create-reservation{width:100%;justify-content:center;min-height:44px}.reservations-table{font-size:.75rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.reservations-table thead,.reservations-table tbody{display:block}.reservations-table tr{display:table;width:100%;min-width:600px}.reservations-table th,.reservations-table td{padding:.75rem .5rem}.btn-icon{min-height:44px;min-width:44px}}@media (max-width: 480px){.reservations-list-modal-content{border-radius:0}.reservations-list-modal-header{padding:.875rem 1rem}.reservations-list-modal-header h2{font-size:1.125rem}.reservations-list-modal-body{padding:1rem}}.client-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;width:100%;max-width:100%}@media (max-width: 768px){.client-stats{grid-template-columns:repeat(2,1fr);gap:1rem}}.clients-page{display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%;max-width:100%;overflow-x:hidden}.clients-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.clients-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.clients-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.btn-add-client{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add-client:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.clients-error{padding:1rem;background:#fee2e2;color:#dc2626;border-radius:var(--radius-md);border:1px solid #fecaca}.clients-pagination{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--color-border);flex-wrap:wrap;gap:1rem}.pagination-controls{display:flex;gap:.75rem}.pagination-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;background:var(--color-bg-card);color:var(--color-text);border-radius:var(--radius-md);box-shadow:0 10px 30px #0000004d;z-index:2000;opacity:0;transform:translateY(20px);transition:all .3s ease-out;border-left:4px solid var(--color-primary);max-width:400px}.toast.success{border-left-color:var(--color-success);background:#ecfdf5;color:#065f46}.toast.error{border-left-color:var(--color-error);background:#fee2e2;color:#991b1b}@media (max-width: 768px){.clients-header{flex-direction:column}.clients-header p{font-size:.9375rem}.btn-add-client{width:100%;justify-content:center;min-height:44px;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clients-pagination{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:center;flex-wrap:wrap}.pagination-btn{min-height:44px;font-size:.8125rem!important;padding:.5rem .75rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;max-width:100%}.toast{right:1rem;left:1rem;max-width:none}}.lodges-table-container{background:var(--color-bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--color-border)}.lodges-table{width:100%;border-collapse:collapse}.lodges-table thead{background:var(--color-bg);border-bottom:2px solid var(--color-border)}.lodges-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.lodges-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s}.lodges-table tbody tr:hover{background:var(--color-bg)}.lodges-table tbody tr:last-child{border-bottom:none}.lodges-table td{padding:1rem;font-size:.875rem;color:var(--color-text)}.lodges-table-loading,.lodges-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--color-text-secondary)}@media (max-width: 768px){.lodges-table-container{overflow-x:auto}.lodges-table{min-width:600px}}.emplacements-table-container{background:var(--color-bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--color-border)}.emplacements-table{width:100%;border-collapse:collapse}.emplacements-table thead{background:var(--color-bg);border-bottom:2px solid var(--color-border)}.emplacements-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.emplacements-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s}.emplacements-table tbody tr:hover{background:var(--color-bg)}.emplacements-table tbody tr:last-child{border-bottom:none}.emplacements-table td{padding:1rem;font-size:.875rem;color:var(--color-text)}.url-link{color:var(--color-primary);text-decoration:none;word-break:break-all;transition:color .2s}.url-link:hover{color:var(--color-primary-hover);text-decoration:underline}.url-link-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);text-decoration:none;transition:all .2s;padding:.25rem;border-radius:var(--radius-sm)}.url-link-icon:hover{color:var(--color-primary);background:var(--color-bg)}.emplacements-table-loading,.emplacements-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--color-text-secondary)}@media (max-width: 768px){.emplacements-table-container{overflow-x:auto}.emplacements-table{min-width:500px}}.lodge-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.lodge-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}.lodge-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:var(--gradient-modal-header);color:#fff}.lodge-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.lodge-form{padding:2rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.5rem}@media (max-width: 768px){.lodge-modal-content{width:98%;max-height:95vh}.lodge-form{padding:1.5rem}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.emplacement-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.emplacement-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}.emplacement-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:var(--gradient-modal-header);color:#fff}.emplacement-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.emplacement-form{padding:2rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.5rem}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-accent-light)}.btn-submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-accent-light)}@media (max-width: 768px){.emplacement-modal-content{width:98%;max-height:95vh}.emplacement-form{padding:1.5rem}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.hebergements-page{display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%;max-width:100%;overflow-x:hidden}.hebergements-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);flex-wrap:wrap}.hebergements-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.hebergements-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.hebergements-header-actions{display:flex;gap:var(--spacing-md);align-items:center}.hebergements-main{display:flex;flex-direction:column;gap:var(--spacing-md)}.hebergements-view-toggle{display:inline-flex;border-radius:var(--radius-lg);background:var(--color-surface-muted, #020617);padding:2px;box-shadow:0 0 0 1px #94a3b866}.view-toggle-btn{border:none;background:transparent;color:var(--color-text-secondary);font-size:.75rem;padding:.35rem .75rem;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease-out;white-space:nowrap}.view-toggle-btn.active{background:var(--color-primary);color:#fff}.view-toggle-btn:not(.active):hover{background:#94a3b840}.plan3d-container{width:100%;max-width:1390px;height:100%;border-radius:var(--radius-lg);overflow:hidden;background:#020617;box-shadow:0 10px 30px #0f172a99;margin:0 auto}.plan3d-container canvas{width:100%!important;height:100%!important;display:block}.plan3d-tooltip{background:#0f172ae6;color:#e5e7eb;padding:.35rem .55rem;border-radius:999px;font-size:.7rem;display:flex;flex-direction:column;gap:.1rem;white-space:nowrap;box-shadow:0 4px 12px #0f172acc}.plan3d-tooltip-label{font-weight:600}.plan3d-tooltip-status{font-size:.65rem;opacity:.8}.btn-add{display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.hebergements-tabs{display:flex;gap:var(--spacing-sm);border-bottom:2px solid var(--color-border)}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.hebergements-error{padding:1rem;background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}@media (max-width: 768px){.hebergements-header{flex-direction:column}.hebergements-header p{font-size:.9375rem}.btn-add{width:100%;justify-content:center;min-height:44px;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab{min-height:44px;flex:1;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.sejours-planning-container{display:flex;flex-direction:column;gap:var(--spacing-md, 16px);width:100%}.planning-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md, 16px)}.date-navigation{display:flex;gap:var(--spacing-md, 16px);align-items:center}.nav-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-weight:500;font-size:.875rem;cursor:pointer;transition:all var(--transition-slow)}.nav-button:hover{background:var(--color-bg-hover);border-color:var(--color-border);transform:translateY(-2px)}.year-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-slow);min-width:120px;text-align:center}.year-select:hover{background:var(--color-bg-hover);border-color:var(--color-border)}.year-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.btn-today{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-lg);color:#fff;font-weight:600;cursor:pointer;transition:all var(--transition-slow)}.btn-today:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-refresh{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-weight:500;font-size:.875rem;cursor:pointer;transition:all var(--transition-slow)}.btn-refresh:hover{background:var(--color-bg-hover);border-color:var(--color-border)}.planning-wrapper{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;position:relative}.planning-grid{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 300px);width:100%;position:relative;display:flex;flex-direction:column}.planning-grid::-webkit-scrollbar{width:8px;height:8px}.planning-grid::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.planning-grid::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.planning-grid::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.grid-header{display:flex;flex-direction:row;position:sticky;top:0;z-index:15;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);min-width:fit-content}.header-cell{padding:4px 2px;text-align:center;font-weight:600;color:#fff;border-right:1px solid rgba(255,255,255,.1);min-width:20px;width:20px;flex-shrink:0;font-size:.6rem;display:flex;flex-direction:column;justify-content:center;align-items:center}.header-corner{position:sticky;left:0;z-index:20;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);text-align:left;border-right:2px solid rgba(255,255,255,.3);min-width:120px;width:120px;flex-shrink:0;box-shadow:var(--shadow-md);padding-left:8px;font-size:.7rem}.header-cell .date-day{font-size:.5rem;display:block;opacity:.9;line-height:1}.header-cell .date-number{font-size:.55rem;display:block;margin-top:1px;line-height:1;font-weight:700}.header-cell[data-day="1"],.header-cell[data-month-start=true]{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);font-weight:700;border-left:2px solid rgba(255,255,255,.3)}.grid-cell.month-start{border-left:2px solid var(--color-accent);opacity:.3}.header-cell.today{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);box-shadow:0 0 10px var(--color-accent-light);position:relative}.header-cell.today:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--color-accent)}.grid-body{background:transparent;display:flex;flex-direction:column;min-width:fit-content}.grid-row{display:flex;flex-direction:row;border-bottom:1px solid var(--color-border);transition:background-color var(--transition-base);position:relative;min-width:fit-content}.grid-row:hover{background-color:var(--color-bg-hover)}.row-header{padding:4px 8px;font-weight:600;font-size:.7rem;color:var(--color-text-primary);position:sticky;left:0;background:var(--color-bg-secondary);border-right:2px solid var(--color-border);z-index:10;display:flex;align-items:center;min-width:120px;width:120px;flex-shrink:0;min-height:40px;box-shadow:var(--shadow-md);line-height:1.2}.grid-row:hover .row-header{background:var(--color-bg-hover)}.grid-cell{min-height:40px;height:40px;border-right:1px solid var(--color-border);position:relative;min-width:20px;width:20px;flex-shrink:0;background:var(--color-bg-primary);cursor:pointer}.grid-cell:hover{background:var(--color-bg-hover)}.grid-cell.today{background:var(--color-accent-light);border-left:2px solid var(--color-accent);border-right:2px solid var(--color-accent)}.sejour-block{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:2px 4px;margin:1px;cursor:pointer;color:#fff;font-size:.6rem;box-shadow:0 1px 2px #0000001a;transition:transform var(--transition-fast),box-shadow var(--transition-fast);position:absolute;top:1px;bottom:1px;overflow:hidden;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:calc(100% - 2px)}.sejour-block:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff26;z-index:3}.sejour-content{display:flex;flex-direction:column;gap:1px;line-height:1.1}.sejour-client{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.6rem;line-height:1.1}.sejour-dates{font-size:.5rem;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;display:none}.empty-state{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);grid-column:1 / -1}@media (max-width: 768px){.row-header{min-width:100px;width:100px;font-size:.65rem;padding:4px 6px}.header-corner{min-width:100px;width:100px;font-size:.65rem;padding-left:6px}.grid-cell{min-width:18px;width:18px;min-height:35px;height:35px}.header-cell{min-width:18px;width:18px;font-size:.5rem;padding:3px 1px}.header-cell .date-day{font-size:.45rem}.header-cell .date-number{font-size:.5rem}.sejour-block{font-size:.55rem;padding:1px 3px}.sejour-client{font-size:.55rem}}.reservation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.reservation-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}.reservation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:var(--gradient-modal-header);color:#fff}.reservation-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.reservation-form{padding:2rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.5rem}.form-group input,.form-group select{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:.875rem;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group select.error{border-color:var(--color-error)}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.loading-text{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}@media (max-width: 768px){.reservation-modal-content{width:98%;max-height:95vh}.reservation-form{padding:1.5rem}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.sejours-page{display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%;max-width:100%;overflow-x:hidden}.sejours-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);flex-wrap:wrap}.sejours-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.sejours-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.btn-add-sejour{display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-sejour:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-accent-light)}.sejours-error{padding:1rem;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.toast{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-lg);z-index:2000;opacity:0;transform:translateY(20px);transition:all var(--transition-slow)}.sejours-filters{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap}.filters-label{font-weight:600;color:var(--color-text-primary);font-size:.875rem}.filters-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent);transform:translateY(-1px)}.filter-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 2px 8px var(--color-accent-light)}.filter-btn.active:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}@media (max-width: 768px){.sejours-header{flex-direction:column}.sejours-header p{font-size:.9375rem}.btn-add-sejour{width:100%;justify-content:center;min-height:44px;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sejours-filters{flex-direction:column;align-items:flex-start}.filters-buttons{width:100%}.filter-btn{flex:1;min-width:0;max-width:100%;min-height:44px;font-size:.8125rem!important;padding:.5rem .75rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.users-table-container{background:var(--color-bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--color-border)}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--color-bg);border-bottom:2px solid var(--color-border)}.users-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.users-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s}.users-table tbody tr:hover{background:var(--color-bg)}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:1rem;font-size:.875rem;color:var(--color-text)}.roles-list{display:flex;flex-wrap:wrap;gap:.5rem}.role-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.status-badge.active{background:#10b9811a;color:var(--color-success)}.status-badge.inactive{background:#ef44441a;color:var(--color-error)}.actions-cell{display:flex;gap:.5rem;align-items:center}.btn-icon{background:none;border:none;padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s}.btn-icon:hover{background:var(--color-bg);color:var(--color-text)}.users-table-loading,.users-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--color-text-secondary)}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (max-width: 768px){.users-table-container{overflow-x:visible}.users-table,.users-table thead,.users-table tbody,.users-table tr,.users-table th,.users-table td{display:block;width:100%}.users-table thead{display:none}.users-table tr{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1rem;padding:1rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.users-table tr:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.users-table td{padding:.5rem 0;border:none;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:1rem}.users-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;flex-shrink:0;min-width:100px}.users-table td:last-child{border-top:1px solid var(--color-border);padding-top:1rem;margin-top:.5rem}.actions-cell{flex-wrap:wrap;gap:.5rem;justify-content:center}.roles-list{flex-direction:column;align-items:flex-end}}.user-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.user-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.user-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:var(--gradient-modal-header);color:#fff}.user-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s;width:32px;height:32px}.modal-close:hover{background-color:#fff3}.user-form{padding:2rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text)}.required{color:var(--color-error)}.form-group input{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:.875rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:var(--color-error)}.roles-checkboxes{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.error-message{font-size:.75rem;color:var(--color-error);margin-top:.25rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-border)}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-cancel:hover{background:var(--color-bg-hover)}.btn-submit{background:var(--color-primary);color:#fff}.btn-submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.user-modal-content{width:98%;max-height:95vh}.user-form{padding:1.5rem}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.permissions-manager{display:flex;flex-direction:column;gap:var(--spacing-lg)}.permissions-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg)}.permissions-header h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.permissions-header p{font-size:.875rem;color:var(--color-text-secondary)}.btn-add-role{display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-role:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-accent-light)}.permissions-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.permissions-tab{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);position:relative;top:1px}.permissions-tab:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.permissions-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:transparent}.permissions-content{min-height:400px}.permissions-loading,.permissions-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.permissions-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.permissions-error{padding:1rem;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--spacing-lg)}.roles-list{display:grid;gap:var(--spacing-lg)}.role-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow);transition:all var(--transition-base)}.role-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.role-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.role-info h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.role-description{font-size:.875rem;color:var(--color-text-secondary);margin:0}.role-actions{display:flex;gap:var(--spacing-xs)}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);background:transparent;color:var(--color-text-secondary)}.btn-icon:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-edit:hover{color:var(--color-primary)}.btn-delete:hover{color:var(--color-error)}.role-permissions{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.role-permissions h4{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.permissions-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.permission-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-primary)}.no-permissions{font-size:.875rem;color:var(--color-text-secondary);font-style:italic;margin:0}.permissions-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.permission-category{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow)}.category-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;text-transform:capitalize}.permission-item{padding:var(--spacing-sm);background:var(--color-bg-hover);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.permission-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.permission-description{font-size:.75rem;color:var(--color-text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.role-modal{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base)}.modal-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.role-form{padding:var(--spacing-lg);overflow-y:auto;flex:1}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text-primary);background:var(--color-bg);transition:all var(--transition-base)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-accent-light)}.form-group input:disabled{background:var(--color-bg-hover);cursor:not-allowed;opacity:.6}.permissions-selector{max-height:400px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-bg-card)}.permission-category-selector{margin-bottom:var(--spacing-lg)}.permission-category-selector:last-child{margin-bottom:0}.category-header-selector{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.category-header-selector h4{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0;text-transform:capitalize}.btn-select-all{padding:.25rem .75rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.btn-select-all:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-primary)}.permissions-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-xs)}.permission-checkbox{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.permission-checkbox:hover{background:var(--color-bg-hover)}.permission-checkbox input[type=checkbox]{margin-top:2px;cursor:pointer;width:18px;height:18px;flex-shrink:0}.checkbox-info{display:flex;flex-direction:column;gap:2px;flex:1}.checkbox-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.checkbox-description{font-size:.75rem;color:var(--color-text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);margin-top:var(--spacing-lg)}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-cancel{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-cancel:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-save{background:var(--color-primary);color:#fff}.btn-save:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-accent-light)}@media (max-width: 768px){.permissions-header{flex-direction:column}.btn-add-role{width:100%;justify-content:center}.role-header{flex-direction:column}.role-actions{align-self:flex-end}.role-modal{max-width:100%;max-height:100vh;border-radius:0}.modal-overlay{padding:0}.permissions-selector{max-height:300px}}.theme-customizer{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.theme-customizer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.theme-customizer-title{display:flex;align-items:center;gap:var(--spacing-md)}.theme-customizer-title h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.theme-customizer-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.btn-theme{display:flex;align-items:center;gap:var(--spacing-xs);padding:.625rem 1rem;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-theme:hover{background:var(--color-bg-hover);border-color:var(--color-accent);transform:translateY(-1px)}.btn-theme:active{transform:translateY(0)}.btn-theme:disabled{opacity:.5;cursor:not-allowed}.btn-reset{background:#ef44441a;border-color:var(--color-error);color:var(--color-error)}.btn-reset:hover{background:#ef444433}.btn-export,.btn-import{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-export:hover,.btn-import:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-copy{background:var(--color-info);border-color:var(--color-info);color:#fff}.btn-copy:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.theme-presets{margin-bottom:var(--spacing-xl)}.theme-presets h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-md)}.preset-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);min-height:120px;justify-content:center}.preset-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.preset-preview{width:100%;display:flex;justify-content:center}.preset-preview-box{width:60px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs)}.preset-preview-accent{width:20px;height:20px;border-radius:var(--radius-sm)}.preset-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary);text-align:center}.theme-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);overflow-x:auto}.theme-tab{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.theme-tab:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.theme-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:transparent}.theme-content{min-height:400px}.color-groups{display:flex;flex-direction:column;gap:var(--spacing-xl)}.color-group h4{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.color-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.color-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.color-input-wrapper label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.color-input-container{display:flex;align-items:center;gap:var(--spacing-sm)}.color-picker{width:50px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:none;padding:0}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.color-text-input{flex:1;padding:.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:var(--font-mono)}.color-text-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.color-preview{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0}.spacing-controls,.radius-controls,.transition-controls{display:flex;flex-direction:column;gap:var(--spacing-lg)}.spacing-input-wrapper,.radius-input-wrapper,.transition-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.spacing-input-wrapper label,.radius-input-wrapper label,.transition-input-wrapper label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.spacing-input-container,.radius-input-container{display:flex;align-items:center;gap:var(--spacing-md)}.spacing-slider,.radius-slider{flex:1;height:6px;border-radius:var(--radius-sm);background:var(--color-bg-secondary);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.spacing-slider::-webkit-slider-thumb,.radius-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg-card)}.spacing-slider,.radius-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none}.spacing-slider::-moz-range-thumb,.radius-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg-card)}.spacing-text-input,.radius-text-input,.transition-text-input{width:120px;padding:.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:var(--font-mono)}.spacing-text-input:focus,.radius-text-input:focus,.transition-text-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.radius-preview{width:60px;height:60px;flex-shrink:0}.shadow-controls{display:flex;flex-direction:column;gap:var(--spacing-lg)}.shadow-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.shadow-input-wrapper label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.shadow-textarea{width:100%;padding:.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:var(--font-mono);resize:vertical}.shadow-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.shadow-preview{width:100%;height:80px;border-radius:var(--radius-md);margin-top:var(--spacing-sm)}.import-export-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.import-section,.export-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-section h4,.export-section h4{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.import-textarea,.export-textarea{width:100%;padding:.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;font-family:var(--font-mono);resize:vertical;min-height:200px}.import-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.export-textarea{background:var(--color-bg-primary);color:var(--color-text-secondary)}.btn-import,.btn-copy-export{align-self:flex-start}.theme-preview{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.theme-preview h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.preview-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.preview-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.preview-header h4{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.preview-badge{padding:.25rem .75rem;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.preview-text{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.preview-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.preview-btn{padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);border:1px solid transparent}.preview-btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.preview-btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.preview-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.preview-btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.preview-statuses{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.preview-status{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.preview-status-success{background:#10b9811a;color:var(--color-success);border:1px solid var(--color-success)}.preview-status-warning{background:#f59e0b1a;color:var(--color-warning);border:1px solid var(--color-warning)}.preview-status-error{background:#ef44441a;color:var(--color-error);border:1px solid var(--color-error)}.preview-status-info{background:#3b82f61a;color:var(--color-info);border:1px solid var(--color-info)}.theme-customizer.mobile-mode{padding:var(--spacing-sm)}.theme-customizer.mobile-mode .theme-customizer-title h2{font-size:1.25rem}.theme-mobile-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.btn-theme-mobile{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.75rem;background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-theme-mobile:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.btn-reset-mobile{background:#ef44441a;border-color:var(--color-error);color:var(--color-error)}.btn-reset-mobile:hover{background:#ef444433}.theme-customizer.mobile-mode .theme-presets h3{font-size:1rem;margin-bottom:var(--spacing-sm)}.theme-customizer.mobile-mode .presets-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.theme-customizer.mobile-mode .preset-card{min-height:100px;padding:var(--spacing-sm)}.theme-customizer.mobile-mode .preset-preview-box{width:50px;height:35px}.theme-customizer.mobile-mode .preset-preview-accent{width:18px;height:18px}.theme-customizer.mobile-mode .preset-name{font-size:.75rem}.theme-customizer.mobile-mode .theme-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:var(--spacing-md)}.theme-customizer.mobile-mode .theme-tabs::-webkit-scrollbar{display:none}.theme-customizer.mobile-mode .theme-tab{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem;white-space:nowrap;flex-shrink:0}.theme-customizer.mobile-mode .color-group h4{font-size:.9375rem;margin-bottom:var(--spacing-sm)}.theme-customizer.mobile-mode .color-input-wrapper{margin-bottom:var(--spacing-md)}.theme-customizer.mobile-mode .color-input-container{flex-wrap:wrap}.theme-customizer.mobile-mode .color-picker{width:60px;height:50px;flex-shrink:0}.theme-customizer.mobile-mode .color-text-input{flex:1;min-width:120px;font-size:.8125rem;padding:.625rem}.theme-customizer.mobile-mode .color-preview{width:50px;height:50px}.theme-customizer.mobile-mode .spacing-input-container,.theme-customizer.mobile-mode .radius-input-container{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.theme-customizer.mobile-mode .spacing-text-input,.theme-customizer.mobile-mode .radius-text-input,.theme-customizer.mobile-mode .transition-text-input{width:100%}.theme-customizer.mobile-mode .radius-preview{width:100%;max-width:100px;margin:0 auto}.theme-customizer.mobile-mode .shadow-textarea{font-size:.8125rem;padding:.625rem}.theme-customizer.mobile-mode .shadow-preview{height:60px}.theme-customizer.mobile-mode .theme-preview{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.theme-customizer.mobile-mode .theme-preview h3{font-size:1rem;margin-bottom:var(--spacing-sm)}.theme-customizer.mobile-mode .preview-card{padding:var(--spacing-md)}.theme-customizer.mobile-mode .preview-text{font-size:.875rem}.theme-customizer.mobile-mode .preview-actions{flex-direction:column}.theme-customizer.mobile-mode .preview-btn{width:100%}.theme-customizer.mobile-mode .import-export-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.theme-customizer.mobile-mode .import-textarea,.theme-customizer.mobile-mode .export-textarea{font-size:.8125rem;min-height:150px}.theme-customizer.mobile-mode .btn-import,.theme-customizer.mobile-mode .btn-copy-export{width:100%;justify-content:center}@media (max-width: 768px){.theme-customizer{padding:var(--spacing-md)}.theme-customizer-header{flex-direction:column;align-items:flex-start}.theme-customizer-actions{width:100%}.btn-theme{flex:1;justify-content:center}.color-inputs,.import-export-section{grid-template-columns:1fr}.presets-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.admin-page{display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%;max-width:100%;overflow-x:hidden}.admin-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.admin-tab{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);position:relative;top:1px}.admin-tab:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.admin-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:transparent}.admin-tab-content{min-height:400px}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg)}.admin-header{flex-wrap:wrap}.admin-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.admin-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.btn-add-user{display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-user:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-accent-light)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);width:100%;max-width:100%}.stat-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border);display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow)}.stat-card svg{color:var(--color-primary)}.stat-card h3{margin:0;font-size:2rem;font-weight:700;color:var(--color-text)}.stat-card p{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.admin-error{padding:1rem;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:2000;opacity:0;transform:translateY(20px);transition:all .3s ease-out}.toast.show{opacity:1;transform:translateY(0)}.toast.success{background:var(--color-success);color:#fff}.toast.error{background:var(--color-error);color:#fff}@media (max-width: 768px){.admin-header{flex-direction:column}.admin-header p{font-size:.9375rem}.btn-add-user{width:100%;justify-content:center;min-height:44px;font-size:.8125rem!important;padding:.75rem 1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-tab{min-height:44px;flex:1;font-size:.8125rem!important;padding:var(--spacing-sm) var(--spacing-md)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-stats{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.stat-card{padding:1rem}.stat-card h3{font-size:1.5rem}.stat-card svg{width:20px;height:20px}}.two-factor-auth{background:var(--card-bg, #1e1e1e);border-radius:12px;padding:24px;margin-bottom:24px}.two-factor-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.two-factor-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary, #ffffff)}.two-factor-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.two-factor-alert-error{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2)}.two-factor-alert-success{background:#22c55e1a;color:#86efac;border:1px solid rgba(34,197,94,.2)}.two-factor-loading{display:flex;align-items:center;gap:8px;padding:16px;color:var(--text-secondary, #a0a0a0)}.two-factor-loading .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.two-factor-content{display:flex;flex-direction:column;gap:24px}.two-factor-status{display:flex;flex-direction:column;gap:12px}.two-factor-status-item{display:flex;align-items:center;gap:12px}.two-factor-status-label{font-weight:500;color:var(--text-secondary, #a0a0a0)}.two-factor-status-value{padding:4px 12px;border-radius:6px;font-weight:600;font-size:14px}.two-factor-status-value.enabled{background:#22c55e33;color:#86efac}.two-factor-status-value.disabled{background:#9ca3af33;color:#d1d5db}.two-factor-actions{display:flex;gap:12px}.two-factor-btn{padding:10px 20px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.two-factor-btn:disabled{opacity:.5;cursor:not-allowed}.two-factor-btn-primary{background:var(--primary-color, #3b82f6);color:#fff}.two-factor-btn-primary:hover:not(:disabled){background:var(--primary-hover, #2563eb)}.two-factor-btn-secondary{background:var(--card-bg-secondary, #2a2a2a);color:var(--text-primary, #ffffff);border:1px solid var(--border-color, #404040)}.two-factor-btn-secondary:hover:not(:disabled){background:var(--card-bg-hover, #333333)}.two-factor-btn-danger{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.two-factor-btn-danger:hover:not(:disabled){background:#ef44444d}.two-factor-instructions{color:var(--text-secondary, #a0a0a0);font-size:14px;line-height:1.6;margin-bottom:16px}.two-factor-qr-section{display:flex;flex-direction:column;gap:16px}.two-factor-qr-section h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #ffffff)}.two-factor-qr-container{display:flex;justify-content:center;padding:20px;background:#fff;border-radius:8px;margin:16px 0}.two-factor-qr-image{max-width:256px;height:auto}.two-factor-secret{margin-top:16px;padding:16px;background:var(--card-bg-secondary, #2a2a2a);border-radius:8px}.two-factor-secret p{margin:0 0 8px;color:var(--text-secondary, #a0a0a0);font-size:14px}.two-factor-secret-code{display:block;padding:12px;background:var(--card-bg, #1e1e1e);border-radius:6px;font-family:Courier New,monospace;font-size:16px;color:var(--text-primary, #ffffff);text-align:center;letter-spacing:2px}.two-factor-verify-section{display:flex;flex-direction:column;gap:16px}.two-factor-verify-section h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #ffffff)}.two-factor-verify-input{display:flex;gap:12px;align-items:flex-start}.two-factor-code-input{flex:1;max-width:200px;padding:12px 16px;background:var(--card-bg-secondary, #2a2a2a);border:1px solid var(--border-color, #404040);border-radius:8px;color:var(--text-primary, #ffffff);font-size:18px;font-weight:600;text-align:center;letter-spacing:4px;font-family:Courier New,monospace}.two-factor-code-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.two-factor-code-input::placeholder{color:var(--text-secondary, #a0a0a0);letter-spacing:2px}.two-factor-webauthn-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--border-color, #404040)}.two-factor-divider{margin-bottom:24px}.two-factor-webauthn-title{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text-primary, #ffffff)}.two-factor-webauthn-status{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px;color:#86efac;font-size:14px}.two-factor-webauthn-icon-success{color:#86efac}.two-factor-webauthn-setup{display:flex;flex-direction:column;gap:16px}.two-factor-webauthn-setup .two-factor-btn{display:flex;align-items:center;justify-content:center;gap:8px}.profile-page{display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%;max-width:100%;overflow-x:hidden}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);flex-wrap:wrap}.profile-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.profile-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.profile-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.profile-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.profile-avatar-section{display:flex;align-items:center;gap:var(--spacing-lg)}.profile-avatar-large{width:80px;height:80px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2rem;flex-shrink:0}.profile-avatar-info h2{font-size:1.75rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.profile-email{color:var(--color-text-secondary);font-size:1rem;margin:0}.profile-card-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.profile-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.profile-info-item{display:flex;align-items:flex-start;gap:var(--spacing-md)}.profile-info-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-accent-light);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-info-content{flex:1;min-width:0}.profile-info-content label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.profile-info-content p{font-size:1rem;color:var(--color-text-primary);margin:0;word-break:break-word}.profile-roles{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.profile-role-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-accent-light);color:var(--color-accent);border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.profile-permissions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.profile-permission-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-tertiary);color:var(--color-text-primary);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;border:1px solid var(--color-border)}@media (max-width: 768px){.profile-header{flex-direction:column}.profile-header p{font-size:.9375rem}.profile-card{padding:var(--spacing-lg)}.profile-avatar-section{flex-direction:column;text-align:center;gap:var(--spacing-md)}.profile-avatar-large{width:64px;height:64px;font-size:1.5rem}.profile-avatar-info h2{font-size:var(--title-h2-size)}.profile-info-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.profile-info-item{flex-direction:column;align-items:flex-start}.profile-info-icon{width:36px;height:36px}}.template-builder{display:flex;flex-direction:column;height:calc(100vh - 60px);background:var(--color-bg-primary)}.builder-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.btn-back:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.header-title{display:flex;flex-direction:column;gap:4px}.template-name-input{background:transparent;border:none;font-size:1.125rem;font-weight:600;color:var(--color-text-primary);outline:none}.template-name-input::placeholder{color:var(--color-text-tertiary)}.template-desc-input{background:transparent;border:none;font-size:.875rem;color:var(--color-text-secondary);outline:none}.template-desc-input::placeholder{color:var(--color-text-tertiary)}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.preview-toggle{display:flex;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:4px}.toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:32px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.toggle-btn:hover{color:var(--color-text-primary)}.toggle-btn.active{background:var(--color-accent);color:#fff}.btn-save{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-save:hover{background:var(--color-accent-hover)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.builder-content{display:flex;flex:1;overflow:hidden}.blocks-panel{width:260px;background:var(--color-bg-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:width var(--transition-base)}.blocks-panel.closed{width:48px}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.panel-header h3{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.blocks-panel.closed .panel-header h3{display:none}.panel-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer}.panel-toggle:hover{background:var(--color-bg-hover)}.blocks-library{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.block-category{margin-bottom:var(--spacing-md)}.block-category:last-child{margin-bottom:0}.category-title{margin:0 0 var(--spacing-xs) var(--spacing-sm);font-size:.7rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.block-item{display:flex;align-items:flex-start;justify-content:space-between;width:100%;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs);background:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;text-align:left;cursor:pointer;transition:all var(--transition-base)}.block-item:hover{border-color:var(--color-accent);background:var(--color-bg-hover);box-shadow:var(--shadow-sm)}.block-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.block-item .block-name{font-weight:500;color:var(--color-text-primary)}.block-description{font-size:.75rem;color:var(--color-text-secondary);line-height:1.4;margin-top:2px}.block-add-icon{flex-shrink:0;margin-left:var(--spacing-sm);color:var(--color-accent)}.variables-section{padding:var(--spacing-md);border-top:1px solid var(--color-border)}.variables-section h4{margin:0 0 var(--spacing-xs) 0;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase}.variables-intro{margin:0 0 var(--spacing-sm) 0;font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.variables-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.variable-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);cursor:help;transition:all var(--transition-base)}.variable-item:hover{background:var(--color-bg-hover)}.variable-code{font-size:.7rem;color:var(--color-accent);font-family:var(--font-mono);font-weight:600}.variable-label{font-size:.7rem;color:var(--color-text-secondary)}.variables-help{margin:var(--spacing-sm) 0 0 0;padding:var(--spacing-sm);background:#3b82f61a;border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);font-size:.7rem;color:var(--color-text-secondary);line-height:1.4}.builder-canvas{flex:1;display:flex;flex-direction:column;background:var(--color-bg-secondary);max-width:30%}.canvas-header{padding:var(--spacing-md);background:var(--color-bg-card);border-bottom:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary)}.canvas-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-lg)}.canvas-empty p{margin:var(--spacing-xs) 0;font-size:.875rem}.empty-hint{font-size:.75rem!important;color:var(--color-text-tertiary)!important;opacity:.7}.blocks-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.block-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.block-row:hover{border-color:var(--color-accent)}.block-row.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px #3b82f633}.block-grip{color:var(--color-text-tertiary);cursor:grab}.block-info{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.block-type{font-weight:500;color:var(--color-text-primary);font-size:.875rem}.block-preview-text{font-size:.75rem;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-actions{display:flex;gap:4px}.block-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.block-actions button:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.block-actions button:disabled{opacity:.3;cursor:not-allowed}.block-actions button.delete:hover{background:#ef44441a;color:#ef4444}.preview-panel{width:50%;display:flex;flex-direction:column;background:var(--color-bg-card);border-left:1px solid var(--color-border)}.preview-panel.mobile{width:400px}.preview-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary)}.preview-frame{flex:1;overflow:hidden;padding:var(--spacing-md);background:#f4f4f4}.preview-panel.mobile .preview-frame{display:flex;justify-content:center}.preview-frame iframe{width:100%;height:100%;border:none;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.preview-panel.mobile .preview-frame iframe{width:375px;max-width:100%}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-lg)}.preview-empty svg{margin-bottom:var(--spacing-md);opacity:.3}.preview-empty p{margin:var(--spacing-xs) 0;font-size:.875rem}.settings-panel{width:300px;background:var(--color-bg-card);border-left:1px solid var(--color-border);display:flex;flex-direction:column}.settings-panel .panel-header{display:flex;align-items:center;justify-content:space-between}.settings-panel .panel-header h3{display:flex;align-items:center;gap:var(--spacing-sm)}.settings-panel .panel-header button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer}.settings-panel .panel-header button:hover{background:var(--color-bg-hover)}.settings-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.setting-item{margin-bottom:var(--spacing-md)}.setting-item label{display:block;margin-bottom:var(--spacing-xs);font-size:.75rem;font-weight:500;color:var(--color-text-primary);line-height:1.4}.setting-hint{font-weight:400;color:var(--color-text-tertiary);font-size:.7rem}.setting-item input[type=text],.setting-item input[type=number],.setting-item textarea{width:100%;padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem}.setting-item input[type=text]:focus,.setting-item input[type=number]:focus,.setting-item textarea:focus{border-color:var(--color-accent);outline:none}.setting-item textarea{resize:vertical;min-height:80px;font-family:var(--font-mono);font-size:.75rem}.setting-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.color-input{display:flex;gap:var(--spacing-xs)}.color-input input[type=color]{width:40px;height:36px;padding:2px;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.color-input input[type=text]{flex:1}.setting-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs)}.edit-mode-toggle{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.7rem;cursor:pointer;transition:all var(--transition-base)}.edit-mode-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-accent);color:var(--color-text-primary)}.edit-mode-toggle svg{flex-shrink:0}.cards-editor-simple{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.card-editor-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.card-editor-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.card-number{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.card-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.card-remove-btn:hover{background:#ef44441a;color:#ef4444}.card-editor-fields{display:flex;flex-direction:column;gap:var(--spacing-sm)}.card-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.card-field label{font-size:.7rem;font-weight:500;color:var(--color-text-secondary);margin:0}.card-field input[type=text],.card-field textarea{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:inherit}.card-field input[type=text]:focus,.card-field textarea:focus{border-color:var(--color-accent);outline:none}.card-field textarea{resize:vertical;min-height:60px}.add-card-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.add-card-btn:hover{border-color:var(--color-accent);background:var(--color-bg-hover);color:var(--color-accent)}.list-editor-simple{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.list-item-editor{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.list-item-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs)}.list-item-number{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.list-item-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.list-item-remove-btn:hover{background:#ef44441a;color:#ef4444}.list-item-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:inherit}.list-item-input:focus{border-color:var(--color-accent);outline:none}.add-list-item-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.add-list-item-btn:hover{border-color:var(--color-accent);background:var(--color-bg-hover);color:var(--color-accent)}.columns-editor-simple{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.column-editor-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.column-editor-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs)}.column-number{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.column-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.column-remove-btn:hover{background:#ef44441a;color:#ef4444}.column-editor-fields{display:flex;flex-direction:column;gap:var(--spacing-sm)}.column-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.column-field label{font-size:.7rem;font-weight:500;color:var(--color-text-secondary);margin:0}.column-field input[type=text],.column-field textarea{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:inherit}.column-field input[type=text]:focus,.column-field textarea:focus{border-color:var(--color-accent);outline:none}.column-field textarea{resize:vertical;min-height:60px}.add-column-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.add-column-btn:hover{border-color:var(--color-accent);background:var(--color-bg-hover);color:var(--color-accent)}.social-editor-simple{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.social-link-editor{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.social-link-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs)}.social-link-number{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.social-link-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.social-link-remove-btn:hover{background:#ef44441a;color:#ef4444}.social-link-fields{display:flex;flex-direction:column;gap:var(--spacing-sm)}.social-link-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.social-link-field label{font-size:.7rem;font-weight:500;color:var(--color-text-secondary);margin:0}.social-link-field input[type=text],.social-link-field select{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:inherit}.social-link-field input[type=text]:focus,.social-link-field select:focus{border-color:var(--color-accent);outline:none}.add-social-link-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.add-social-link-btn:hover{border-color:var(--color-accent);background:var(--color-bg-hover);color:var(--color-accent)}.faq-editor-simple{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.faq-item-editor{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.faq-item-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs)}.faq-item-number{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.faq-item-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.faq-item-remove-btn:hover{background:#ef44441a;color:#ef4444}.faq-item-fields{display:flex;flex-direction:column;gap:var(--spacing-sm)}.faq-item-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.faq-item-field label{font-size:.7rem;font-weight:500;color:var(--color-text-secondary);margin:0}.faq-item-field input[type=text],.faq-item-field textarea{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:inherit}.faq-item-field input[type=text]:focus,.faq-item-field textarea:focus{border-color:var(--color-accent);outline:none}.faq-item-field textarea{resize:vertical;min-height:60px}.add-faq-item-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.add-faq-item-btn:hover{border-color:var(--color-accent);background:var(--color-bg-hover);color:var(--color-accent)}.text-field-wrapper,.font-selector{display:flex;flex-direction:column;gap:var(--spacing-xs)}.font-label{font-size:.7rem;font-weight:500;color:var(--color-text-secondary);margin:0}.font-select{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-family:inherit;cursor:pointer}.font-select:focus{border-color:var(--color-accent);outline:none}.toast{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transform:translateY(100px);opacity:0;transition:all var(--transition-base);z-index:1000}.toast.show{transform:translateY(0);opacity:1}.toast.success{border-color:var(--color-success);color:var(--color-success)}.toast.error{border-color:var(--color-error);color:var(--color-error)}@media (max-width: 1400px){.builder-canvas{max-width:35%}.preview-panel{width:40%}.preview-panel.mobile{width:350px}}@media (max-width: 1200px){.builder-content{flex-wrap:wrap}.builder-canvas{max-width:100%;width:100%;order:1}.preview-panel{width:50%;order:2}.preview-panel.mobile{width:100%;max-width:400px;margin:0 auto}.settings-panel{position:fixed;right:0;top:60px;bottom:0;z-index:100;box-shadow:var(--shadow-lg);width:300px}.blocks-panel{width:240px}}@media (max-width: 992px){.builder-header{flex-wrap:wrap;gap:var(--spacing-md)}.header-left{flex:1;min-width:200px}.header-actions{flex-wrap:wrap;gap:var(--spacing-sm)}.builder-content{flex-direction:column}.blocks-panel{position:fixed;left:0;top:60px;bottom:0;z-index:100;box-shadow:var(--shadow-lg);width:260px;transform:translate(0);transition:transform var(--transition-base)}.blocks-panel.closed{transform:translate(-100%)}.builder-canvas{width:100%;max-width:100%;order:1}.preview-panel{width:100%;order:2;border-left:none;border-top:1px solid var(--color-border)}.preview-panel.mobile{max-width:100%}.preview-frame iframe{width:100%;max-width:100%}.preview-panel.mobile .preview-frame iframe{width:100%;max-width:375px;margin:0 auto}.settings-panel{position:fixed;right:0;top:60px;bottom:0;z-index:100;box-shadow:var(--shadow-lg);width:100%;max-width:400px}}@media (max-width: 768px){.template-builder{height:calc(100vh - 50px)}.builder-header{padding:var(--spacing-sm) var(--spacing-md)}.header-title{width:100%}.template-name-input{font-size:1rem}.template-desc-input{font-size:.8rem}.header-actions{width:100%;justify-content:space-between}.btn-save{flex:1;justify-content:center}.blocks-panel{width:100%;max-width:280px}.builder-canvas{padding:var(--spacing-sm)}.canvas-header{padding:var(--spacing-sm);font-size:.8rem}.block-row{padding:var(--spacing-xs) var(--spacing-sm)}.block-info{min-width:0}.block-type{font-size:.8rem}.block-preview-text{font-size:.7rem}.preview-panel{min-height:300px}.preview-header{padding:var(--spacing-sm);font-size:.8rem}.preview-frame{padding:var(--spacing-sm)}.settings-panel{width:100%;max-width:100%}.settings-content{padding:var(--spacing-sm)}.setting-item{margin-bottom:var(--spacing-sm)}.setting-item label{font-size:.7rem}.setting-item input[type=text],.setting-item input[type=number],.setting-item textarea{font-size:.8rem;padding:var(--spacing-xs)}.setting-item-header{flex-wrap:wrap;gap:var(--spacing-xs)}.edit-mode-toggle{font-size:.65rem;padding:var(--spacing-xs)}.edit-mode-toggle span{display:inline}.cards-editor-simple{padding:var(--spacing-xs);gap:var(--spacing-sm)}.card-editor-item{padding:var(--spacing-sm)}.card-field input[type=text],.card-field textarea{font-size:.8rem}.add-card-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem}.list-editor-simple{padding:var(--spacing-xs);gap:var(--spacing-sm)}.list-item-editor{padding:var(--spacing-sm)}.list-item-input{font-size:.8rem;padding:var(--spacing-xs)}.add-list-item-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem}.columns-editor-simple,.social-editor-simple,.faq-editor-simple{padding:var(--spacing-xs);gap:var(--spacing-sm)}.column-editor-item,.social-link-editor,.faq-item-editor{padding:var(--spacing-sm)}.column-field input[type=text],.column-field textarea,.social-link-field input[type=text],.social-link-field select,.faq-item-field input[type=text],.faq-item-field textarea{font-size:.8rem;padding:var(--spacing-xs)}.add-column-btn,.add-social-link-btn,.add-faq-item-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem}.font-selector{margin-bottom:var(--spacing-xs)}.font-select{font-size:.8rem;padding:var(--spacing-xs)}.color-input{flex-direction:column}.color-input input[type=color]{width:100%;height:40px}.toast{bottom:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width: 480px){.builder-header{padding:var(--spacing-xs) var(--spacing-sm)}.btn-back{width:36px;height:36px}.preview-toggle{padding:2px}.toggle-btn{width:32px;height:28px}.btn-save{padding:var(--spacing-xs) var(--spacing-sm);font-size:.875rem}.blocks-panel{max-width:100%}.block-item{padding:var(--spacing-xs) var(--spacing-sm)}.block-name{font-size:.8rem}.block-description{font-size:.7rem}.preview-panel.mobile .preview-frame iframe{width:100%;max-width:100%}.settings-panel .panel-header{padding:var(--spacing-sm)}.settings-panel .panel-header h3{font-size:.875rem}}.audience-builder{display:flex;flex-direction:column;height:calc(100vh - 60px);background:var(--color-bg-primary)}.builder-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary)}.audience-builder .builder-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.audience-builder .header-left{display:flex;align-items:center;gap:var(--spacing-md)}.audience-builder .btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer}.audience-builder .btn-back:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.audience-builder .header-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.audience-builder .btn-save{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-weight:500;cursor:pointer}.audience-builder .btn-save:hover{background:var(--color-accent-hover)}.audience-builder .btn-save:disabled{opacity:.6;cursor:not-allowed}.audience-builder .builder-content{display:flex;flex:1;overflow:hidden}.config-panel{flex:1;overflow-y:auto;padding:var(--spacing-lg);max-width:600px}.config-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.config-section h3{margin:0 0 var(--spacing-md) 0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.form-group{margin-bottom:var(--spacing-md)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.form-hint{display:block;margin-top:4px;font-size:.7rem;color:var(--color-text-tertiary);font-style:italic}.required{color:#ef4444;font-weight:600}.optional{color:var(--color-text-tertiary);font-weight:400;font-size:.75rem}.field-hint{display:block;margin-top:4px;font-size:.7rem;color:var(--color-text-tertiary)}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-accent);outline:none}.form-group textarea{resize:vertical}.search-input{position:relative}.search-input svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary)}.search-input input{padding-left:calc(var(--spacing-md) * 2 + 18px)}.source-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.source-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.source-tab:hover{border-color:var(--color-accent)}.source-tab.active{background:#3b82f61a;border-color:var(--color-accent);color:var(--color-accent)}.source-config{margin-top:var(--spacing-md)}.source-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-md)}.csv-upload{margin-bottom:var(--spacing-md)}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl);border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.upload-zone:hover{border-color:var(--color-accent);color:var(--color-accent)}.upload-zone .file-name{font-weight:500;color:var(--color-success)}.upload-hint{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:#3b82f61a;border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.csv-mapping{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md)}.csv-mapping h4{margin:0 0 var(--spacing-sm) 0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.mapping-info{font-size:.875rem;color:var(--color-success);font-weight:500;margin-bottom:var(--spacing-xs)}.mapping-help{font-size:.75rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.4}.mapping-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.mapping-field label{display:block;margin-bottom:var(--spacing-xs);font-size:.75rem;font-weight:500;color:var(--color-text-primary)}.mapping-field .field-hint{margin-top:4px;font-size:.65rem;color:var(--color-text-tertiary)}.import-warning{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:#ef44441a;border-left:3px solid #ef4444;border-radius:var(--radius-sm);font-size:.75rem;color:#ef4444;text-align:center}.mapping-field select{width:100%;padding:var(--spacing-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem}.csv-preview{margin-bottom:var(--spacing-md)}.csv-preview h5{margin:0 0 var(--spacing-sm) 0;font-size:.75rem;color:var(--color-text-secondary)}.csv-preview table{width:100%;border-collapse:collapse;font-size:.75rem}.csv-preview th,.csv-preview td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-preview th{color:var(--color-text-secondary);font-weight:500}.btn-import{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm);background:var(--color-success);border:none;border-radius:var(--radius-md);color:#fff;font-weight:500;cursor:pointer}.btn-import:hover{opacity:.9}.btn-import:disabled{opacity:.5;cursor:not-allowed}.btn-import .spin{animation:spin 1s linear infinite}.existing-imports{margin-top:var(--spacing-lg)}.existing-imports h4{margin:0 0 var(--spacing-xs) 0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.imports-help{margin:0 0 var(--spacing-md) 0;font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.imports-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.import-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.import-item:hover{border-color:var(--color-accent)}.import-item.selected{border-color:var(--color-accent);background:#3b82f61a}.import-info{display:flex;align-items:center;gap:var(--spacing-md)}.import-info>div{display:flex;flex-direction:column;gap:2px}.import-name{font-weight:500;color:var(--color-text-primary);font-size:.875rem}.import-stats{font-size:.75rem;color:var(--color-text-secondary)}.selected-icon{color:var(--color-accent)}.audience-builder .preview-panel{width:400px;background:var(--color-bg-card);border-left:1px solid var(--color-border);display:flex;flex-direction:column}.audience-builder .preview-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary)}.btn-refresh{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer}.preview-stats{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.preview-stats .stat{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.preview-stats .stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.preview-stats .stat-label{font-size:.875rem;color:var(--color-text-secondary)}.preview-list{flex:1;overflow-y:auto;padding:var(--spacing-md)}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--color-text-tertiary);text-align:center}.preview-empty svg{margin-bottom:var(--spacing-md);opacity:.5}.preview-list table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-list th,.preview-list td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border)}.preview-list th{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase}.preview-list td{color:var(--color-text-primary)}.source-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);font-size:.625rem;font-weight:600;text-transform:uppercase}.source-badge.database{background:#3b82f626;color:#3b82f6}.source-badge.csv{background:#10b98126;color:#10b981}.preview-more{text-align:center;padding:var(--spacing-md);color:var(--color-text-tertiary);font-size:.875rem}@media (max-width: 768px){.audience-builder .builder-content{flex-direction:column}.config-panel{max-width:none}.audience-builder .preview-panel{width:100%;border-left:none;border-top:1px solid var(--color-border)}}.campaign-builder{display:flex;flex-direction:column;min-height:calc(100vh - 60px);background:var(--color-bg-primary)}.campaign-builder .builder-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary)}.campaign-builder .builder-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.campaign-builder .header-left{display:flex;align-items:center;gap:var(--spacing-md)}.campaign-builder .btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer}.campaign-builder .btn-back:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.campaign-builder .header-title{display:flex;align-items:center;gap:var(--spacing-md)}.campaign-builder .header-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.campaign-builder .header-actions{display:flex;gap:var(--spacing-sm)}.btn-secondary{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:500;cursor:pointer}.btn-secondary:hover{background:var(--color-bg-hover)}.campaign-builder .btn-save{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-weight:500;cursor:pointer}.campaign-builder .btn-save:hover{background:var(--color-accent-hover)}.campaign-builder .btn-save:disabled{opacity:.6;cursor:not-allowed}.campaign-builder .builder-content{display:flex;flex:1;overflow:hidden}.campaign-form{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.form-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-section h3{display:flex;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-xs) 0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.section-description{margin:0 0 var(--spacing-md) 0;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.form-row{margin-bottom:var(--spacing-md)}.form-row:last-child{margin-bottom:0}.form-row.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.campaign-form .form-group{margin-bottom:0}.campaign-form .form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.campaign-form .form-group .form-hint{display:block;margin-top:4px;font-size:.7rem;color:var(--color-text-tertiary);font-style:italic}.campaign-form .form-group input,.campaign-form .form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem}.campaign-form .form-group input:focus{border-color:var(--color-accent);outline:none}.campaign-form .form-group input:disabled{opacity:.6;cursor:not-allowed}.selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md)}.selection-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.selection-card:hover:not(.disabled){border-color:var(--color-accent)}.selection-card.selected{border-color:var(--color-accent);background:#3b82f61a}.selection-card.disabled{opacity:.6;cursor:not-allowed}.card-preview{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-md);color:var(--color-text-secondary)}.card-info{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.card-name{font-weight:500;color:var(--color-text-primary);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-count{font-size:.75rem;color:var(--color-text-secondary)}.selection-card .selected-icon{color:var(--color-accent)}.empty-selection{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-tertiary);text-align:center}.empty-selection svg{margin-bottom:var(--spacing-md);opacity:.5}.empty-selection p{margin:var(--spacing-xs) 0;font-size:.875rem}.empty-selection .empty-hint{font-size:.75rem!important;opacity:.7;margin-bottom:var(--spacing-md)}.empty-selection button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer}.campaign-sidebar{width:300px;background:var(--color-bg-card);border-left:1px solid var(--color-border);padding:var(--spacing-lg);overflow-y:auto}.sidebar-section{margin-bottom:var(--spacing-lg)}.sidebar-section:last-child{margin-bottom:0}.sidebar-section h4{margin:0 0 var(--spacing-md) 0;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase}.summary-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.summary-item span{color:var(--color-text-secondary);font-size:.875rem}.summary-item strong{color:var(--color-text-primary);font-size:.875rem;text-align:right}.summary-item.highlight{background:#3b82f61a;padding:var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-sm)}.summary-item.highlight span{font-weight:600;color:var(--color-text-primary)}.summary-item.highlight strong{font-size:1.25rem;color:var(--color-accent)}.action-hint{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:#f59e0b1a;border-left:3px solid #f59e0b;border-radius:var(--radius-sm);font-size:.75rem;color:#f59e0b;text-align:center;line-height:1.4}.sidebar-section.actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.btn-schedule{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-schedule:hover:not(:disabled){border-color:var(--color-accent)}.btn-schedule:disabled{opacity:.5;cursor:not-allowed}.btn-send{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:var(--color-success);border:none;border-radius:var(--radius-md);color:#fff;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-send:hover:not(:disabled){opacity:.9}.btn-send:disabled{opacity:.5;cursor:not-allowed}.btn-logs{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:500;cursor:pointer}.btn-logs:hover{background:var(--color-bg-hover)}.btn-delete{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-error);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-delete:hover:not(:disabled){background:#ef44441a;border-color:var(--color-error)}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{width:100%;max-width:400px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.modal-header button{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer}.modal-body{padding:var(--spacing-lg)}.modal-description{margin:0 0 var(--spacing-md) 0;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.modal-body .form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.modal-body .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem}.modal-body .form-group input:focus{border-color:var(--color-accent);outline:none}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.modal-footer .btn-primary{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-weight:500;cursor:pointer}.modal-footer .btn-primary:disabled{opacity:.6;cursor:not-allowed}.status-info{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);font-size:.85rem;margin-bottom:var(--space-md)}.status-info.warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#b45309}.status-info svg{flex-shrink:0;margin-top:2px}.status-info p{margin:0;line-height:1.4}.btn-reset{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid #ef4444;border-radius:var(--radius-md);color:#ef4444;font-weight:500;cursor:pointer;margin-top:var(--space-sm);transition:all .2s ease}.btn-reset:hover:not(:disabled){background:#ef4444;color:#fff}.btn-reset:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.campaign-builder .builder-content{flex-direction:column}.campaign-sidebar{width:100%;border-left:none;border-top:1px solid var(--color-border)}.form-row.two-columns{grid-template-columns:1fr}}.campaign-logs{padding:var(--spacing-lg);background:var(--color-bg-primary);min-height:calc(100vh - 60px)}.logs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--color-text-secondary)}.logs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.logs-header .header-left{display:flex;align-items:center;gap:var(--spacing-md)}.logs-header .btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer}.logs-header .btn-back:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.logs-header .header-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.logs-header .subtitle{font-size:.875rem;color:var(--color-text-secondary)}.btn-refresh{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base)}.btn-refresh:hover{background:var(--color-bg-hover)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.btn-refresh .spin{animation:spin 1s linear infinite}.logs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.logs-stats .stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center}.logs-stats .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.logs-stats .stat-label{font-size:.75rem;color:var(--color-text-secondary)}.logs-stats .stat-card.sent .stat-value{color:var(--color-accent)}.logs-stats .stat-card.delivered .stat-value{color:#10b981}.logs-stats .stat-card.opened .stat-value{color:#8b5cf6}.logs-stats .stat-card.clicked .stat-value{color:#f59e0b}.logs-stats .stat-card.failed .stat-value{color:#ef4444}.logs-stats .stat-card.highlight{background:linear-gradient(135deg,#8b5cf61a,#8b5cf60d);border-color:#8b5cf64d}.logs-stats .stat-rate{font-size:.875rem;font-weight:500;opacity:.8;margin-left:4px}.logs-stats .stat-hint{display:block;font-size:.65rem;color:var(--color-text-muted);margin-top:4px;opacity:.7}.logs-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-group label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.filter-group select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;min-width:180px}.logs-table-wrapper{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.logs-table{width:100%;border-collapse:collapse}.logs-table th,.logs-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.logs-table th{background:var(--color-bg-secondary);font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase}.logs-table td{font-size:.875rem;color:var(--color-text-primary)}.logs-table tbody tr:last-child td{border-bottom:none}.logs-table tbody tr:hover{background:var(--color-bg-hover)}.empty-row{text-align:center;padding:var(--spacing-xl)!important;color:var(--color-text-tertiary)}.empty-row span{margin-left:var(--spacing-sm)}.status-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.status-icon{flex-shrink:0}.status-icon.pending{color:var(--color-text-tertiary)}.status-icon.sending,.status-icon.sent{color:var(--color-accent)}.status-icon.delivered{color:#10b981}.status-icon.opened{color:#8b5cf6}.status-icon.clicked,.status-icon.bounced{color:#f59e0b}.status-icon.failed{color:#ef4444}.error-cell .error-message{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ef4444;font-size:.75rem}.opened-cell .opened-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#8b5cf626;color:#8b5cf6;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.opened-cell .not-opened{color:var(--color-text-tertiary)}.logs-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pagination-info{font-size:.875rem;color:var(--color-text-secondary)}.pagination-controls{display:flex;gap:var(--spacing-sm)}.pagination-controls button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.pagination-controls button:hover:not(:disabled){background:var(--color-bg-hover)}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.logs-stats{grid-template-columns:repeat(3,1fr)}.logs-table-wrapper{overflow-x:auto}.logs-table{min-width:600px}}.mailing-page{min-height:calc(100vh - 60px);width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.mailing-header{margin-bottom:var(--spacing-xl)}.mailing-header h1{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin:0 0 var(--title-margin-bottom) 0;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.mailing-header p{color:var(--color-text-secondary);margin:0;font-size:1rem}.mailing-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.mailing-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl);width:100%;max-width:100%}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);transition:all var(--transition-base)}.stat-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-icon.templates{background:#6366f126;color:#6366f1}.stat-icon.audiences{background:#10b98126;color:#10b981}.stat-icon.campaigns{background:#f59e0b26;color:#f59e0b}.stat-icon.emails{background:#3b82f626;color:#3b82f6}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.stat-label{font-size:.875rem;color:var(--color-text-secondary)}.quick-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.action-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.action-btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.action-btn.primary:hover{background:var(--color-accent-hover)}.mailing-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.mailing-tabs .tab{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.mailing-tabs .tab:hover{color:var(--color-text-primary)}.mailing-tabs .tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.mailing-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.section-card{margin-bottom:var(--spacing-lg)}.section-card:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.section-header h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.link-btn{display:flex;align-items:center;gap:var(--spacing-xs);background:transparent;border:none;color:var(--color-accent);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.link-btn:hover{color:var(--color-accent-hover)}.btn-primary{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-primary:hover{background:var(--color-accent-hover)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);text-align:center}.empty-state svg{margin-bottom:var(--spacing-md);opacity:.5}.empty-state p{margin:0 0 var(--spacing-md) 0}.empty-message{color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-lg)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.status-badge.status-gray{background:#6b728026;color:#6b7280}.status-badge.status-blue{background:#3b82f626;color:#3b82f6}.status-badge.status-orange{background:#f59e0b26;color:#f59e0b}.status-badge.status-green{background:#10b98126;color:#10b981}.status-badge.status-red{background:#ef444426;color:#ef4444}.campaigns-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.campaign-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.campaign-item:hover{background:var(--color-bg-hover)}.campaign-info{display:flex;flex-direction:column;gap:2px}.campaign-name{font-weight:500;color:var(--color-text-primary)}.campaign-subject{font-size:.875rem;color:var(--color-text-secondary)}.campaign-meta{display:flex;align-items:center;gap:var(--spacing-md)}.campaign-date{font-size:.75rem;color:var(--color-text-tertiary)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.template-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-base)}.template-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.template-preview{height:200px;display:flex;align-items:flex-start;justify-content:flex-start;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);overflow:auto;position:relative;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.template-preview::-webkit-scrollbar{width:6px;height:6px}.template-preview::-webkit-scrollbar-track{background:transparent}.template-preview::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.template-preview::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.template-preview img{width:100%;height:100%;object-fit:cover}.iframe{max-width:500%}.template-preview-iframe{max-width:none;width:600px;height:800px;border:none;transform:scale(.32);transform-origin:top left;pointer-events:auto;background:#fff;position:absolute;top:0;left:0}.template-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);color:var(--color-text-tertiary)}.template-preview-placeholder svg{opacity:.5}.template-preview-placeholder span{font-size:.75rem;opacity:.7}.template-info{padding:var(--spacing-md)}.template-info h4{margin:0 0 var(--spacing-xs) 0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.template-info p{margin:0;font-size:.75rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audiences-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.audience-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.audience-item:hover{background:var(--color-bg-hover)}.audience-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#3b82f626;color:var(--color-accent);border-radius:var(--radius-md)}.audience-info{flex:1;display:flex;flex-direction:column;gap:2px}.audience-name{font-weight:500;color:var(--color-text-primary)}.audience-type{font-size:.75rem;color:var(--color-text-secondary)}.audience-count{text-align:right}.audience-count span{display:block;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.audience-count small{font-size:.75rem;color:var(--color-text-secondary)}.campaigns-table{overflow-x:auto}.campaigns-table table{width:100%;border-collapse:collapse}.campaigns-table th,.campaigns-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.campaigns-table th{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.campaigns-table td{font-size:.875rem;color:var(--color-text-primary)}.campaigns-table tr{cursor:pointer;transition:background var(--transition-base)}.campaigns-table tbody tr:hover{background:var(--color-bg-hover)}.campaign-meta{display:flex;align-items:center;gap:var(--spacing-sm)}.campaign-delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.campaign-delete-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.campaign-delete-btn:disabled{opacity:.5;cursor:not-allowed}.spinner-small{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.campaigns-table td:last-child{width:80px;text-align:center}.campaigns-table td:last-child button{margin:0 auto}@media (max-width: 768px){.mailing-page{padding:var(--spacing-md)}.mailing-header p{font-size:.9375rem}.mailing-stats-grid{grid-template-columns:repeat(2,1fr)}.quick-actions{flex-direction:column}.action-btn{justify-content:center;min-height:44px;font-size:.8125rem!important;padding:var(--spacing-sm) var(--spacing-md)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;max-width:100%}.btn-primary{font-size:.8125rem!important;padding:var(--spacing-sm) var(--spacing-md)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;max-width:100%}.mailing-tabs .tab{min-height:44px;font-size:.8125rem!important;padding:var(--spacing-sm) var(--spacing-md)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mailing-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.templates-grid{grid-template-columns:1fr}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);padding:var(--spacing-lg);width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.login-container{width:100%;max-width:400px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);box-sizing:border-box}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.login-header p{font-size:.9375rem;color:var(--color-text-secondary)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem}.login-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.login-field label{font-size:.9375rem;font-weight:500;color:var(--color-text-secondary)}.login-field input{padding:var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;transition:all var(--transition-fast);font-family:inherit;min-height:44px;box-sizing:border-box}.login-field input:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-hover)}.login-field input:disabled{opacity:.5;cursor:not-allowed}.login-submit{padding:var(--spacing-md);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-sm);min-height:44px;width:100%}.login-submit:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-2fa-notice{text-align:center;padding:var(--spacing-lg);background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.login-2fa-notice svg{color:var(--color-accent);margin-bottom:var(--spacing-sm)}.login-2fa-notice h3{margin:var(--spacing-sm) 0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.login-2fa-notice p{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.login-totp-input{text-align:center;font-size:1.5rem!important;font-weight:600;letter-spacing:.5rem;font-family:Courier New,monospace!important}.login-2fa-actions{display:flex;gap:var(--spacing-md);flex-direction:column}.login-cancel-btn{padding:var(--spacing-md);background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-height:44px;width:100%}.login-cancel-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.login-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.login-webauthn-section{margin-top:var(--spacing-lg)}.login-divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-lg) 0;color:var(--color-text-secondary);font-size:.875rem}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border)}.login-divider span{padding:0 var(--spacing-md)}.login-webauthn-btn{width:100%;padding:var(--spacing-md);background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:44px}.login-webauthn-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-accent);transform:translateY(-1px)}.login-webauthn-btn:disabled{opacity:.6;cursor:not-allowed}.login-webauthn-info{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:#9ca3af1a;border:1px solid var(--color-border);border-radius:var(--radius-md)}.login-webauthn-info-text{display:flex;align-items:center;gap:var(--spacing-sm);margin:0;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.login-webauthn-info-text svg{flex-shrink:0;opacity:.7}@media (max-width: 639px){.login-page{padding:var(--spacing-md)}.login-container{padding:var(--spacing-lg)}.login-header h1{font-size:var(--title-h1-size)}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg-primary: #0f0f0f;--color-bg-secondary: #1a1a1a;--color-bg-tertiary: #252525;--color-bg-card: #1e1e1e;--color-bg-hover: #2a2a2a;--color-text-primary: #e5e5e5;--color-text-secondary: #a0a0a0;--color-text-tertiary: #6b6b6b;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-light: rgba(59, 130, 246, .1);--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-border: #2a2a2a;--color-border-light: #1a1a1a;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "Fira Code", "Consolas", "Monaco", monospace;--title-h1-size: 1.5rem;--title-h2-size: 1.25rem;--title-h3-size: 1.125rem;--title-padding-y: .5rem;--title-margin-bottom: .25rem;--title-gap: 1rem;--page-padding-x: 1rem;--page-padding-y: 1rem}@media screen and (min-width: 640px){:root{--title-h1-size: 1.75rem;--title-h2-size: 1.5rem;--title-h3-size: 1.25rem;--title-padding-y: .75rem;--title-margin-bottom: .375rem;--title-gap: 1.5rem;--page-padding-x: 1.5rem;--page-padding-y: 1.5rem}}@media screen and (min-width: 1024px){:root{--title-h1-size: 2rem;--title-h2-size: 1.75rem;--title-h3-size: 1.5rem;--title-padding-y: 1rem;--title-margin-bottom: .5rem;--title-gap: 2rem;--page-padding-x: 2rem;--page-padding-y: 2rem}}html{touch-action:manipulation;-ms-touch-action:manipulation;-webkit-touch-callout:none}body{font-family:var(--font-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-ms-touch-action:manipulation;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-bg-hover)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-md)}.page-title{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2}.page-title+p,.page-title+.page-subtitle{font-size:1rem;color:var(--color-text-secondary);margin-top:0;margin-bottom:var(--title-gap)}@media screen and (max-width: 639px){.page-title+p,.page-title+.page-subtitle{font-size:.9375rem}}.section-title{font-size:var(--title-h2-size);font-weight:600;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.3}.subsection-title{font-size:var(--title-h3-size);font-weight:600;color:var(--color-text-primary);padding-top:calc(var(--title-padding-y) * .75);padding-bottom:calc(var(--title-padding-y) * .75);margin-bottom:calc(var(--title-margin-bottom) * .75);line-height:1.4}.page-container{width:100%;max-width:100%;padding:0 var(--page-padding-x);box-sizing:border-box;overflow-x:hidden}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);flex-wrap:wrap;margin-bottom:var(--title-gap)}.page-header>div:first-child{flex:1;min-width:0}.page-header h1{font-size:var(--title-h1-size);font-weight:700;color:var(--color-text-primary);padding-top:var(--title-padding-y);padding-bottom:var(--title-padding-y);margin-bottom:var(--title-margin-bottom);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.page-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}@media screen and (max-width: 639px){.page-header{flex-direction:column}.page-header p{font-size:.9375rem}}img,video,iframe,embed,object{max-width:100%;height:auto}table{width:100%;table-layout:auto;border-collapse:collapse}@media screen and (max-width: 768px){button,a,input[type=button],input[type=submit],input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],textarea,select{min-height:44px}button,.btn,[class*=btn-],input[type=button],input[type=submit]{font-size:clamp(.75rem,2.5vw,.875rem)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding-left:clamp(.5rem,2vw,1rem);padding-right:clamp(.5rem,2vw,1rem);box-sizing:border-box}button svg,.btn svg,[class*=btn-] svg{flex-shrink:0}button[class*=flex],.btn[class*=flex],[class*=btn-][class*=flex]{white-space:normal;word-break:break-word;overflow-wrap:break-word}}button:disabled,a:disabled,input:disabled,select:disabled,textarea:disabled{pointer-events:none;cursor:not-allowed;opacity:.6}button[disabled]:active,button[disabled]:focus{outline:none;box-shadow:none}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pwa-install-button{position:fixed;bottom:20px;right:20px;padding:12px 24px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-md);z-index:10000;transition:all var(--transition-base)}.pwa-install-button:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pwa-install-button:active{transform:translateY(0);box-shadow:var(--shadow-md)}@media screen and (max-width: 768px){html,body{touch-action:manipulation;-ms-touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow-x:hidden;width:100%}#root{touch-action:manipulation;-ms-touch-action:manipulation;width:100%;height:100%;overflow-x:hidden}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}}
