*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;min-height:100dvh;overflow:hidden}#root{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:20px;background:var(--color-bg, #f7f6f9)}.page-loading--fullscreen{position:fixed;inset:0;min-height:100vh;min-height:100dvh;z-index:9999;background:#1a1a2e}.page-loading-logo{color:var(--color-accent, #837893);opacity:.7;animation:pageLoadingPulse 2s ease-in-out infinite}.page-loading--fullscreen .page-loading-logo{color:#ffffffd9;opacity:1}@keyframes pageLoadingPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.page-loading-bar{width:120px;height:3px;border-radius:3px;background:var(--color-border, rgba(255, 255, 255, .08));overflow:hidden}.page-loading--fullscreen .page-loading-bar{background:#ffffff14}.page-loading-bar-inner{width:40%;height:100%;border-radius:3px;background:var(--color-accent, rgba(131, 120, 147, .7));animation:pageLoadingSlide 1.2s ease-in-out infinite alternate}.page-loading--fullscreen .page-loading-bar-inner{background:#837893b3}@keyframes pageLoadingSlide{0%{transform:translate(-10px)}to{transform:translate(190px)}}.loading-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:1000;background:var(--bg-secondary, #1e1e2f);color:var(--text-secondary, #9ca3af);padding:8px 20px;border-radius:20px;font-size:.8rem;box-shadow:0 2px 12px #0000004d;border:1px solid var(--border-color, #374151);animation:loadingToastIn .2s ease;display:flex;align-items:center;gap:8px}.loading-toast:before{content:"";width:14px;height:14px;border:2px solid var(--border-color, #374151);border-top-color:var(--color-primary, #6366f1);border-radius:50%;animation:page-spin .6s linear infinite}@keyframes loadingToastIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}:root{--font-size-base: 14px;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-md: 13px;--font-size-lg: 14px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--message-system-bg: var(--color-warning-soft, #fef3c7);--message-system-text: #92400e;--message-system-border: var(--color-warning, #f59e0b);--message-thinking-bg: var(--color-bg, #f8f9fc);--message-thinking-border: var(--color-border, #e5e7eb);--sidebar-border: rgba(0, 0, 0, .2);--sidebar-heading: rgba(255, 255, 255, .8);--calendar-text-muted: var(--color-text-muted, #6b7280);--calendar-event-readonly: var(--color-text-muted, #9ca3af);--calendar-event-readonly-border: var(--color-border-strong, #d1d5db);--calendar-event-readonly-hover: var(--color-text-muted, #9ca3af);--shadow-color: rgba(0, 0, 0, .05);--status-no-show: var(--color-text-muted, #9ca3af)}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI Variable,Segoe UI,system-ui,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base);font-weight:400;letter-spacing:-.003em;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;height:100%;background-color:var(--bg-secondary);overflow:hidden}h1,h2,h3{font-weight:600;letter-spacing:-.015em;line-height:1.2}h4,h5,h6{font-weight:500;letter-spacing:-.01em;line-height:1.3}strong,b{font-weight:600}@media screen and (-webkit-min-device-pixel-ratio:0){body{font-weight:400}}*{transition:background-color .2s ease,border-color .2s ease,color .2s ease}.hidden{display:none!important}.main-content-fullwidth{grid-template-columns:1fr!important}.stats-grid-spaced{margin-bottom:30px}.text-center{text-align:center}.text-right{text-align:right}.text-small{font-size:12px}.width-120{width:120px}.mt-4{margin-top:4px}.mt-10{margin-top:10px}.mt-15{margin-top:15px}.mb-10{margin-bottom:10px}.opacity-80{opacity:.8}.text-muted{color:var(--color-text-muted)}.results-box{padding:15px;background:var(--color-surface);border-radius:var(--radius-lg)}.container{display:flex;height:100vh;height:100dvh;width:100vw;overflow:hidden}.sidebar{flex:0 0 197px;background:var(--sidebar-bg, linear-gradient(180deg, var(--sidebar-bg-start, #4f46e5) 0%, var(--sidebar-bg-end, #6366f1) 100%));color:var(--sidebar-text, #ffffff);display:flex;flex-direction:column;border-right:none;overflow-y:auto;box-shadow:inset 18px 25px 30px -16px #222,inset -18px -25px 30px -20px #222}.sidebar-header{padding:2px 15px 20px;border-bottom:2px solid var(--sidebar-border);background-color:#0003}.sidebar-header h2{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:10px;color:var(--sidebar-heading)}.sidebar-header .nexus-logo,.sidebar-header .vertical-logo{height:130px;width:auto;display:block;margin:0 auto;opacity:.9}.sidebar-header .nexus-fallback{height:60px;filter:brightness(0) invert(1) drop-shadow(0 0 8px var(--color-accent, #837893))}.user-info{display:flex;flex-direction:column;gap:12px}.user-display{position:relative;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.user-display-username{font-size:var(--font-size-lg);font-weight:600;color:var(--sidebar-text);margin-bottom:4px}.user-display-email{font-size:var(--font-size-sm);color:var(--sidebar-text-muted);margin-bottom:6px}.user-display-role-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;color:#fff;background:#00000073;box-shadow:inset 2px 2px 6px -2px #444,inset -2px -2px 6px -2px #444}.user-info label{font-size:var(--font-size-md);color:var(--sidebar-text-muted);margin-bottom:4px;display:block}.location-selector{flex:1;min-width:0;padding:8px 12px;background-color:#ffffff1a;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:var(--font-size-md);cursor:pointer;transition:all .3s ease;outline:none}.location-selector:hover{background-color:#ffffff26}.location-selector:focus{border-color:var(--sidebar-active);box-shadow:0 0 0 2px #3498db33}.location-selector option{background-color:#2d2d35;color:#e8e8e8;padding:8px}.location-display{width:100%;padding:8px 12px;background-color:#ffffff0d;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:var(--font-size-md);font-weight:500}.logout-button{width:100%;padding:10px;margin-top:20px;background:linear-gradient(135deg,var(--btn-logout-bg) 0%,var(--btn-logout-hover) 100%);color:#fff;border:none;border-radius:6px;font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.logout-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b2c2c66}.logout-button:active{transform:translateY(0)}.role-badge{background-color:var(--sidebar-active);color:#fff;padding:4px 12px;border-radius:12px;font-size:var(--font-size-md);font-weight:600;text-transform:uppercase}.role-selector{width:100%;padding:8px 12px;background-color:#ffffff1a;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:var(--font-size-md);cursor:pointer;transition:all .3s ease;outline:none}.role-selector:hover{background-color:#ffffff26}.role-selector:focus{border-color:var(--sidebar-active);box-shadow:0 0 0 2px #3498db33}.role-selector option{background-color:#2d2d35;color:#e8e8e8;padding:8px}.sidebar-section{padding:15px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-section h3{font-size:var(--font-size-lg);text-transform:uppercase;color:var(--sidebar-text-muted);margin-bottom:10px;font-weight:600;letter-spacing:.5px}.nav-list{list-style:none}.nav-list li{margin-bottom:5px}.nav-list li a,.nav-list li button{display:block;width:100%;padding:8px 12px;color:#fff;text-decoration:none;border-radius:6px;transition:all .2s ease;font-size:var(--font-size-lg);background:none;border:none;text-align:left;cursor:pointer}.nav-list li a:hover,.nav-list li button:hover{background-color:var(--sidebar-hover);transform:translate(4px)}.nav-list li a.active,.nav-list li button.active{background-color:var(--sidebar-active);color:#fff;font-weight:600}.agent-item{display:flex;align-items:center;gap:8px}.agent-icon{font-size:var(--font-size-xl);flex-shrink:0}.agent-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.agent-name{font-weight:600}.agent-description{font-size:var(--font-size-xs);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-badge{font-size:var(--font-size-xs);padding:2px 6px;border-radius:8px;background-color:#fff3}.llm-badge{display:inline-block;font-size:var(--font-size-xs);padding:3px 8px;border-radius:10px;background:linear-gradient(135deg,#8a2be299,#4b008299);color:#fff;font-weight:600;margin-left:6px;margin-right:6px;border:1px solid rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.5px}.main-content{flex:1;display:flex;flex-direction:column;background-color:var(--bg-main);overflow:hidden}.main-header{padding:13px 30px;background:linear-gradient(135deg,var(--header-bg-start) 0%,var(--header-bg-end) 100%);color:var(--header-text);border-bottom:3px solid var(--sidebar-border);display:flex;justify-content:space-between;align-items:center;box-shadow:inset 18px 25px 30px -13px #222,inset -18px -25px 30px -29px #555;position:relative;z-index:100;overflow:visible}.header-left{flex:1}#current-title.header-animating,#current-description.header-animating{opacity:0;transform:translate(15px)}.header-clock{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.clock-time{font-size:32px;font-weight:300;letter-spacing:1px;color:var(--header-text);line-height:1;font-variant-numeric:tabular-nums}.clock-date{font-size:13px;font-weight:400;color:var(--header-text);opacity:.85;letter-spacing:.3px}.session-token-counter{position:absolute;top:58px;right:22px;font-size:11px;font-weight:500;color:var(--header-text);opacity:.75;letter-spacing:.3px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;padding:3px 8px;background:#ffffff1a;border-radius:4px}.content-wrapper{flex:1;display:flex;flex-direction:row;overflow:hidden}.main-view{flex:1;overflow-y:auto;padding:2rem;background:var(--bg-main);position:relative;box-shadow:inset 0 40px 50px -30px #00000026,inset 0 -40px 50px -30px #00000026,inset 40px 0 50px -30px #0000001f,inset -40px 0 50px -30px #0000001f}.panel-container{width:100%;opacity:1;transition:opacity .15s ease-out}.panel-container.hidden{display:none}.main-header h1{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:5px;margin-left:-14px}.main-header p{font-size:var(--font-size-lg);opacity:.9}.data-view{padding:20px;background-color:var(--bg-main);border-radius:8px;margin-top:20px}.data-view.hidden{display:none}.data-view .view-header{margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--border-color)}.data-view .view-header h2{margin:0;color:var(--calendar-header-accent);font-size:var(--font-size-2xl)}.chat-sidebar .messages-area{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background-color:var(--chat-bg)}.message{padding:12px 16px;border-radius:18px;max-width:87%;word-wrap:break-word;line-height:1.5;box-shadow:0 1px 2px var(--shadow-color)}.message strong{font-weight:600}.message h2{font-size:1.2em;font-weight:600;color:var(--color-accent);margin:1em 0 .5em;padding-top:.5em;border-top:1px solid var(--color-border)}.message h3{font-size:1.1em;font-weight:600;color:var(--color-text);margin:.8em 0 .4em}.message p{line-height:1.6;margin:.8em 0}.message .metric{display:inline-block;background:var(--color-accent-soft);padding:.2em .5em;border-radius:4px;margin:.2em;font-weight:600;color:var(--color-accent)}.message .action{background:var(--color-warning-soft);border-left:3px solid var(--color-warning);padding:.5em .8em;margin:.8em 0;border-radius:0 4px 4px 0}.message ul,.message ol{margin:8px 0;padding-left:24px}.message ul{list-style-type:disc}.message ol{list-style-type:decimal}.message li{margin:4px 0}.message p{margin:8px 0}.message p:first-child{margin-top:0}.message p:last-child{margin-bottom:0}.message.user{background:linear-gradient(135deg,var(--message-user-bg-start) 0%,var(--message-user-bg-end) 100%);color:var(--message-user-text);align-self:flex-end;border-bottom-right-radius:4px}.message.assistant{background-color:var(--message-assistant-bg);color:var(--message-assistant-text);align-self:flex-start;border:1px solid var(--message-assistant-border);border-bottom-left-radius:4px}.message.streaming{opacity:.9}.message.streaming .streaming-content{white-space:pre-wrap;word-break:break-word}.message.streaming .streaming-cursor{display:inline-block;animation:blink .7s infinite;color:var(--color-accent);margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.message.system{background-color:var(--message-system-bg);color:var(--message-system-text);align-self:center;font-style:italic;font-size:.9em;border:1px solid var(--message-system-border);padding:6px 11px}.message.thinking{background-color:var(--message-thinking-bg);border:1px solid var(--message-thinking-border);align-self:flex-start;padding:16px 20px}.thinking-dots{display:flex;gap:6px;align-items:center}.thinking-dots span{width:8px;height:8px;border-radius:50%;background-color:var(--sidebar-active);animation:thinking-bounce 1.4s infinite ease-in-out both}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}@keyframes thinking-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.message-form{display:flex;padding:20px 10px;background-color:var(--bg-main);border-top:2px solid var(--border-color);gap:12px}.message-input{flex:1;border:2px solid var(--border-color);border-radius:24px;padding:12px 20px;font-size:var(--font-size-lg);transition:all .2s ease}.message-input:focus{outline:none;border-color:var(--sidebar-active);box-shadow:0 0 0 3px #667eea1a}.send-button{background:linear-gradient(135deg,var(--btn-primary-bg-start) 0%,var(--btn-primary-bg-end) 100%);color:#fff;border:none;padding:12px 20px;border-radius:24px;font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.send-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.send-button:active{transform:translateY(0)}.send-button:disabled{background:var(--color-border);cursor:not-allowed;transform:none}.view-panel{background-color:var(--color-surface);border-radius:12px;padding:30px;box-shadow:0 2px 8px var(--shadow-color)}.view-panel h2{font-size:var(--font-size-2xl);color:var(--text-primary);margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--border-color)}.debug-panel{position:fixed;right:0;top:0;height:100vh;height:100dvh;width:40vw;min-width:400px;max-width:800px;background:var(--debug-bg);color:var(--debug-text);border-left:3px solid var(--sidebar-active);font-family:Courier New,Courier,monospace;font-size:var(--font-size-md);overflow-y:auto;z-index:1000;box-shadow:-4px 0 20px #0000004d}.debug-header{position:sticky;top:0;background:var(--debug-bg-secondary);padding:15px;border-bottom:2px solid var(--debug-border);display:flex;justify-content:space-between;align-items:center;z-index:10}.debug-header h3{color:var(--debug-accent);margin:0}.close-button{background:none;border:none;color:var(--debug-text);font-size:var(--font-size-3xl);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-button:hover{background-color:var(--debug-error);color:#fff}.debug-content{padding:15px;color:var(--debug-text)}.debug-quick-stats{display:flex;gap:12px;padding:8px;background:var(--debug-hover-bg);border-radius:6px;margin:8px 0;font-size:12px;color:#fff}.debug-quick-stats div{display:flex;align-items:center;gap:4px}.debug-entry{margin-bottom:20px;padding:15px;background-color:var(--debug-bg-secondary);border-radius:6px;border-left:3px solid var(--sidebar-active);color:var(--debug-text)}.debug-entry h4{color:var(--debug-tag);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.debug-entry h5{color:var(--debug-tag-light);margin:10px 0 5px}.debug-entry p{margin:8px 0;line-height:1.6;color:var(--debug-text)}.debug-entry details{margin-top:10px;border:1px solid var(--debug-border);border-radius:4px;background-color:var(--debug-bg)}.debug-entry summary{cursor:pointer;font-weight:700;padding:10px;background-color:var(--debug-bg-secondary);border-radius:4px 4px 0 0;color:var(--debug-text)}.debug-entry summary:hover{background-color:var(--debug-hover-bg)}.debug-entry pre{background-color:var(--debug-code-bg);padding:12px;white-space:pre-wrap;word-wrap:break-word;margin:0;border-top:1px solid var(--debug-border);overflow-x:auto;color:var(--debug-text)}.debug-entry code{background-color:var(--debug-hover-bg);padding:2px 6px;border-radius:3px;font-size:var(--font-size-md);color:var(--debug-text)}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.spinner{border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top:4px solid var(--sidebar-active);width:50px;height:50px;animation:spin 1s linear infinite}.loading-overlay p{color:#fff;margin-top:20px;font-size:var(--font-size-base)}.calendar-location-header{padding:20px 24px 12px;background-color:var(--calendar-header-bg);border-bottom:2px solid var(--calendar-header-accent)}.calendar-location-header h2{margin:0;font-size:var(--font-size-3xl);font-weight:600;color:var(--calendar-header-accent)}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:var(--bg-main);border-bottom:1px solid var(--calendar-border);margin-bottom:0}.calendar-title{font-size:var(--font-size-xl);font-weight:500;color:var(--calendar-text);margin:0}.calendar-nav-btn{background-color:var(--bg-main);color:var(--text-secondary);border:1px solid var(--calendar-border);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:var(--font-size-lg);font-weight:500;transition:all .2s ease}.calendar-nav-btn:hover{background-color:var(--chat-bg);border-color:var(--color-border);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.calendar-filters{display:flex;align-items:center;gap:12px;padding:12px 24px;background-color:var(--calendar-header-bg);border-bottom:1px solid var(--calendar-border)}.calendar-filters label{font-size:var(--font-size-lg);font-weight:500;color:var(--text-secondary);margin:0}.resource-filter-select{padding:6px 12px;border:1px solid var(--calendar-border);border-radius:4px;background-color:var(--bg-main);color:var(--calendar-text);font-size:var(--font-size-lg);cursor:pointer;transition:all .2s ease;min-width:200px}.resource-filter-select:hover{border-color:var(--text-secondary)}.resource-filter-select:focus{outline:none;border-color:var(--calendar-header-accent);box-shadow:0 0 0 2px #1a73e833}.filter-label{font-size:var(--font-size-base);color:var(--calendar-text)}.calendar-grid{width:100%;border-collapse:collapse;background-color:var(--bg-main);table-layout:fixed;overflow:visible!important}.calendar-grid tbody,.calendar-grid tr{overflow:visible!important}.calendar-grid th{background-color:var(--bg-main);color:var(--calendar-text-muted);padding:8px 4px;text-align:center;font-weight:500;font-size:var(--font-size-sm);text-transform:uppercase;border-right:1px solid var(--calendar-border);border-bottom:1px solid var(--calendar-border);letter-spacing:.5px}.calendar-grid th.hour-col{width:70px;background-color:var(--bg-main);border-right:1px solid var(--calendar-border)}.calendar-grid th.day-col{width:calc((100% - 70px) / 7)}.date-label{font-size:var(--font-size-xl);font-weight:400;color:var(--calendar-event-text);text-transform:none;display:block;margin-top:2px}.calendar-grid td{border-right:1px solid var(--calendar-border);border-bottom:1px solid var(--calendar-border);padding:4px;vertical-align:top;height:60px;overflow:visible!important;min-height:60px;max-height:60px;position:relative;background-color:var(--bg-main);overflow:hidden}.hour-cell{background-color:var(--bg-main);text-align:right;font-weight:400;font-size:var(--font-size-xs);color:var(--calendar-text-muted);padding-right:8px;padding-top:4px;border-right:1px solid var(--calendar-border)}.calendar-cell{cursor:pointer;transition:background-color .15s ease;position:relative;overflow:visible}.calendar-cell:hover{background-color:var(--chat-bg)}.calendar-cell.has-event{background-color:var(--bg-main)}.calendar-cell.has-event:hover{background-color:var(--chat-bg)}.calendar-cell.past-cell{cursor:not-allowed}.calendar-cell.current-hour{background-color:#4285f426!important;border:2px solid rgba(66,133,244,.3)}.calendar-cell.current-hour:hover{background-color:#4285f440!important}.calendar-event{background-color:var(--calendar-event-bg);color:var(--calendar-event-text);padding:4px 6px;border-radius:4px;font-size:var(--font-size-sm);margin-bottom:2px;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;border-left:3px solid var(--calendar-event-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;position:absolute;z-index:10}.calendar-event:hover{box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326;background-color:var(--calendar-event-hover);z-index:100}.calendar-event strong{display:block;font-weight:500;margin-bottom:2px}.calendar-event small{font-size:var(--font-size-xs);opacity:.9}.calendar-event.read-only{background-color:var(--calendar-event-readonly);border-left-color:var(--calendar-event-readonly-border)}.calendar-event.read-only:hover{background-color:var(--calendar-event-readonly-hover)}.calendar-event.multi-cell-event{white-space:normal;display:flex;flex-direction:column;justify-content:flex-start;padding:8px}.calendar-event.multi-cell-event:hover{transform:scale(1.01);z-index:20!important}.calendar-event.proportional-event{white-space:normal;display:flex;flex-direction:column;justify-content:flex-start;padding:6px 8px;min-height:30px;box-sizing:border-box}.calendar-event.proportional-event:hover{transform:scale(1.02);z-index:20!important;box-shadow:0 4px 12px #0000004d}.calendar-event.draggable-event{cursor:move;cursor:grab}.calendar-event.draggable-event:active{cursor:grabbing}.calendar-event.draggable-event[draggable=true]:hover:after{content:"⋮⋮";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:16px;opacity:.5;pointer-events:none}.calendar-grid td{position:relative}.professional-filter{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;background:var(--color-bg);border-radius:8px}.filter-label{font-weight:600;color:var(--color-text);font-size:14px}.professional-badges{display:flex;gap:8px;flex-wrap:wrap}.professional-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--color-border);border-radius:20px;background:var(--color-surface);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:var(--color-text)}.professional-badge:hover{border-color:var(--color-text-muted);background:var(--color-bg)}.professional-badge.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);box-shadow:0 0 0 3px #3b82f61a}.badge-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.badge-name{white-space:nowrap}.modal-overlay,.modal{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--calendar-border);background-color:var(--bg-main);color:var(--calendar-text);border-radius:8px 8px 0 0}.modal-header h3{margin:0;font-size:var(--font-size-xl);font-weight:500}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-3xl);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background-color:var(--chat-bg)}.modal-body{padding:24px}.appointment-preview{background-color:var(--color-accent-soft);border-left:4px solid var(--color-accent);padding:12px 16px;margin-bottom:20px;border-radius:4px}.appointment-preview p{margin:4px 0;color:var(--color-accent);font-size:var(--font-size-lg)}.event-details{background-color:var(--chat-bg);padding:16px;border-radius:8px;margin-bottom:16px}.event-details p{margin:8px 0;color:var(--color-text);font-size:var(--font-size-lg)}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text);font-size:var(--font-size-md)}.form-group input,.form-group select{width:100%;padding:8px;border:1px solid var(--calendar-border);border-radius:4px;font-size:var(--font-size-lg);transition:all .2s ease;font-family:inherit}.form-group input:hover,.form-group select:hover{border-color:var(--color-border)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4285f41a}.form-hint{display:block;margin-top:4px;font-size:var(--font-size-md);color:var(--text-secondary);font-style:italic}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--calendar-border)}.btn-primary,.btn-secondary,.btn-danger,.btn-success,.btn-warning{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;border:none;border-radius:4px;font-size:var(--font-size-lg);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--color-accent-muted)!important;color:#fff!important;opacity:1!important}.btn-primary:hover{background:var(--color-accent)!important}.btn-success{background-color:var(--color-success);color:#fff;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.btn-success:hover{background-color:var(--color-success);box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326}.btn-danger{background-color:var(--btn-danger-bg);color:#fff;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.btn-danger:hover{background-color:var(--btn-danger-hover);box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326}.btn-warning{background-color:var(--color-warning);color:var(--color-text);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.btn-warning:hover{background-color:var(--color-warning);box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326}.confirm-modal-content{max-width:450px}.confirm-modal-header-warning{background-color:var(--modal-warning-bg);color:var(--modal-warning-text);border-bottom:2px solid var(--color-warning)}.confirm-modal-header-danger{background-color:var(--modal-danger-bg);color:var(--modal-danger-text);border-bottom:2px solid var(--color-error)}.confirm-modal-header-info{background-color:var(--modal-info-bg);color:var(--modal-info-text);border-bottom:2px solid var(--color-info)}.confirm-message{font-size:var(--font-size-lg);color:var(--color-text);line-height:1.6;margin:0;text-align:center}.confirm-message strong{color:var(--calendar-text);font-weight:600}.theme-selector{width:100%;padding:8px 12px;background-color:#ffffff1a;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:var(--font-size-md);cursor:pointer;transition:all .3s ease;outline:none}.theme-selector:hover{background-color:#ffffff26}.theme-selector:focus{border-color:var(--sidebar-active);box-shadow:0 0 0 2px #3498db33}.theme-selector option{background-color:#2d2d35;color:#e8e8e8;padding:8px}.dark-mode-btn{position:absolute;top:0;right:0;width:29px;height:29px;padding:0;margin:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:25%;font-size:.95rem;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.dark-mode-btn:hover{background:#fff3;transform:scale(1.1)}.dark-mode-btn:active{transform:scale(.95)}.llm-selector{width:100%;padding:8px 12px;background-color:#ffffff1a;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:var(--font-size-md);cursor:pointer;transition:all .3s ease;outline:none}.llm-selector:hover{background-color:#ffffff26}.llm-selector:focus{border-color:var(--sidebar-active);box-shadow:0 0 0 2px #3498db33}.llm-selector option{background-color:#2d2d35;color:#e8e8e8;padding:8px}.llm-status{font-size:.75rem;margin-top:8px;color:var(--sidebar-text);opacity:.8}.token-counter{width:100%;padding:10px 12px;background-color:#ffffff0d;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:var(--font-size-md);text-align:center;margin-top:4px}.token-counter #token-count{font-weight:700;font-size:1.1em;color:var(--accent)}.theme-preview{display:flex;gap:4px;margin-top:6px;padding:6px;background-color:#0003;border-radius:4px}.theme-preview-color{width:30px;height:20px;border-radius:3px;border:1px solid rgba(255,255,255,.2)}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;padding:16px;background-color:var(--bg-main);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color)}.search-input{flex:1;padding:10px 16px;border:2px solid var(--border-color);border-radius:6px;font-size:var(--font-size-lg);transition:all .3s ease;outline:none}.search-input:focus{border-color:var(--sidebar-active);box-shadow:0 0 0 3px #3498db1a}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.view-title{display:flex;align-items:center;gap:12px}.view-title h2{font-size:1.5rem;font-weight:600;color:var(--color-text, #e0e0e0);margin:0}.filtros-bar{background:var(--color-surface, #1e1e1e);padding:16px;border-radius:8px;margin-bottom:16px;border:1px solid var(--border-color, #444)}.filtros-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filtro-group{display:flex;flex-direction:column;gap:4px}.filtro-group label{font-size:var(--font-size-sm, 12px);color:var(--text-secondary, #9e9e9e);text-transform:uppercase}.filtro-group select,.filtro-group input{padding:7px 12px;border-radius:6px;border:1px solid var(--border-color, #444);background:var(--bg-tertiary, #2a2a2a);color:var(--text-primary, #e0e0e0);font-size:12px!important;min-width:120px}.filtro-group select:focus,.filtro-group input:focus{outline:none;border-color:var(--color-primary, #007bff)}.filtro-buscar{flex:1;min-width:200px}.view-search-input,.filtro-buscar .search-input,[class*=-container] .search-input{position:relative;display:flex;align-items:center;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color, #444);background:var(--bg-tertiary, #2a2a2a)}.filtro-buscar .search-input svg,[class*=-container] .search-input svg{position:absolute;left:12px;color:var(--text-secondary, #9e9e9e);flex-shrink:0;pointer-events:none}.filtro-buscar .search-input input,[class*=-container] .search-input input{flex:1;border:none;background:transparent;color:var(--text-primary, #e0e0e0);font-size:var(--font-size-md, 13px);padding:0 0 0 24px;min-width:0}.filtro-buscar .search-input input:focus,[class*=-container] .search-input input:focus{outline:none}.action-buttons{display:flex;gap:4px;justify-content:flex-start}.action-btn{background:transparent;border:none;padding:6px;border-radius:4px;cursor:pointer;color:var(--text-secondary, #9e9e9e);transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:var(--bg-tertiary, rgba(255, 255, 255, .1))}.action-btn.btn-view:hover{color:var(--color-info, #5c89a8)}.action-btn.btn-edit:hover{color:var(--color-warning, #e0a855)}.action-btn.btn-delete:hover{color:var(--color-error, #d9534f)}.count-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-tertiary, #2a2a2a);border-radius:4px;font-size:var(--font-size-sm, 12px);color:var(--text-secondary, #9e9e9e)}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:10px!important;font-weight:400;letter-spacing:.6px!important}.status-inactive{background:#e9ecef!important;color:#5a6268!important}.status-confirmed{background:#d1ecf1!important;color:#0c5460!important}@media(max-width:768px){.view-header{flex-direction:column;align-items:flex-start;gap:12px}.filtros-row{flex-direction:column;align-items:stretch}.filtro-group select,.filtro-group input{width:100%;min-width:auto}}.table-container{background-color:var(--color-surface);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color)}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.data-table thead{background:var(--accent);color:#fff}.data-table th{padding:12px;text-align:left;font-weight:600;font-size:var(--font-size-md)}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.data-table th.sortable:hover{background-color:#ffffff1a}.data-table th.sortable.sorted{background-color:#ffffff26}.data-table th .sort-icon{margin-left:5px;opacity:1;font-size:.9em;color:#fff}.data-table th.sorted .sort-icon{opacity:1;color:#fff}.data-table td{padding:12px;border-bottom:1px solid var(--border-color);font-size:var(--font-size-md)}.data-table tbody tr:hover{background-color:var(--chat-bg)}.data-table tbody tr:last-child td{border-bottom:none}.col-currency{font-variant-numeric:tabular-nums;white-space:nowrap}.col-number,.col-percentage{font-variant-numeric:tabular-nums}.col-actions{white-space:nowrap}.col-actions .action-buttons{display:flex;flex-direction:row;gap:4px;justify-content:flex-end}.col-status,.col-date{white-space:nowrap}.col-datetime{white-space:nowrap;font-size:.9em}.col-checkbox{width:40px;padding:8px!important}.col-id{font-family:var(--font-mono, monospace);font-size:.9em;white-space:nowrap}.services-table,.customers-table,.users-table,.inventory-table,.transactions-table,.appointments-table,.analytics-table,.facturas-table,.gastos-table,.modelos-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.services-table thead,.customers-table thead,.users-table thead,.inventory-table thead,.transactions-table thead,.appointments-table thead,.analytics-table thead,.facturas-table thead,.gastos-table thead,.modelos-table thead{background:var(--accent);color:#fff}.services-table th,.customers-table th,.users-table th,.inventory-table th,.transactions-table th,.appointments-table th,.analytics-table th,.facturas-table th,.gastos-table th,.modelos-table th{padding:12px;text-align:left;font-weight:600;font-size:var(--font-size-md);color:#fff!important}.services-table td,.customers-table td,.users-table td,.inventory-table td,.transactions-table td,.appointments-table td,.analytics-table td,.facturas-table td,.gastos-table td,.modelos-table td{padding:12px;border-bottom:1px solid var(--border-color);font-size:var(--font-size-md)}.services-table tbody tr:hover,.customers-table tbody tr:hover,.users-table tbody tr:hover,.inventory-table tbody tr:hover,.transactions-table tbody tr:hover,.appointments-table tbody tr:hover,.analytics-table tbody tr:hover,.facturas-table tbody tr:hover,.gastos-table tbody tr:hover,.modelos-table tbody tr:hover{background-color:var(--chat-bg)}.services-table tbody tr:last-child td,.customers-table tbody tr:last-child td,.users-table tbody tr:last-child td,.inventory-table tbody tr:last-child td,.transactions-table tbody tr:last-child td,.appointments-table tbody tr:last-child td,.analytics-table tbody tr:last-child td,.facturas-table tbody tr:last-child td,.gastos-table tbody tr:last-child td,.modelos-table tbody tr:last-child td{border-bottom:none}.loading-cell{text-align:center;padding:40px!important;color:var(--text-secondary);font-style:italic}.action-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.checkbox-col{width:40px!important;text-align:center;padding:8px!important}.checkbox-cell{text-align:center;padding:8px!important}.appointment-checkbox,#select-all-appointments{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-color)}.row-disabled-tpv{opacity:.35;pointer-events:none;filter:grayscale(60%);transition:opacity .2s ease,filter .2s ease}.row-disabled-tpv td{color:var(--text-secondary, #999)}.invoice-rectificative{background-color:#dc262614!important;border-left:3px solid var(--color-error)}.invoice-rectificative:hover{background-color:#dc26261f!important}.appointment-billed{background-color:#22c55e0d}.billed-badge{margin-left:6px;font-size:14px}.btn-refund{color:var(--color-error);font-size:18px;transition:all .2s}.btn-refund:hover{background-color:#dc26261a;transform:scale(1.1)}.btn-icon{background:none;border:none;cursor:pointer;font-size:var(--font-size-xl);padding:4px 8px;transition:transform .2s ease}.btn-icon:hover{transform:scale(1.2)}.btn-edit{color:var(--btn-edit)}.btn-delete{color:var(--btn-delete)}.btn-action{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:3px;transition:all .15s ease;white-space:nowrap}.btn-action:hover{background:transparent;transform:scale(1.1);color:var(--text)}.btn-action.btn-view:hover{border-color:var(--btn-view);color:var(--btn-view)}.btn-action.btn-edit:hover{border-color:var(--btn-edit);color:var(--btn-edit)}.btn-action.btn-delete:hover,.btn-action.btn-no-show:hover{border-color:var(--btn-delete);color:var(--btn-delete)}.btn-action.btn-confirm:hover{border-color:var(--btn-confirm);color:var(--btn-confirm)}.btn-action.btn-complete:hover{border-color:var(--btn-complete);color:var(--btn-complete)}.btn-icon-small{background:transparent;border:none;cursor:pointer;font-size:14px;padding:2px 6px;transition:all .15s ease;opacity:.7}.btn-icon-small:hover{opacity:1;transform:scale(1.15)}.action-btn{background:var(--color-bg)!important;border:1px solid var(--color-border)!important;border-radius:3px!important;cursor:pointer;padding:6px!important;min-width:28px!important;height:28px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:all .15s ease;color:var(--color-text-muted)!important;line-height:1!important;vertical-align:middle;margin:0 2px}.action-btn:hover{background:var(--color-surface)!important;border-color:var(--color-border-strong)!important}.action-btn .nexus-icon{font-size:16px!important;line-height:1!important;display:inline-block!important;margin:0!important;padding:0!important}.action-btn .nexus-icon-sm,.action-btn .nexus-icon-md{font-size:16px!important}.btn-icon-small.btn-view,.action-btn.btn-view{color:var(--btn-view)}.btn-icon-small.btn-edit,.action-btn.btn-edit{color:var(--btn-edit)}.btn-icon-small.btn-delete,.btn-icon-small.btn-no-show,.action-btn.btn-delete{color:var(--btn-delete)}.btn-icon-small.btn-confirm,.action-btn.btn-confirm{color:var(--btn-confirm)}.btn-icon-small.btn-complete,.action-btn.btn-complete{color:var(--btn-complete)}body.dark .action-btn{background:var(--color-action-btn-bg)!important}body.dark .action-btn:hover{background:var(--color-border-strong)!important;border-color:var(--color-text-muted)!important}.action-btn.btn-pdf,.action-btn.btn-view:hover{color:var(--btn-view)}.action-btn.btn-edit:hover{color:var(--btn-edit)}.action-btn.btn-delete:hover{color:var(--color-error);border-color:var(--color-error)}.action-btn.btn-confirm:hover{color:var(--btn-confirm)}.action-btn.btn-complete:hover{color:var(--btn-complete)}.action-btn.btn-pdf:hover{color:var(--btn-view)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group textarea{width:100%;padding:8px;border:1px solid var(--calendar-border);border-radius:4px;font-size:var(--font-size-lg);font-family:inherit;resize:vertical;transition:all .2s ease}.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4285f41a}.form-group select[multiple]{padding:8px}.form-group label input[type=checkbox]{margin-right:8px;cursor:pointer}@media(max-width:768px){.sidebar{flex:0 0 200px}.debug-panel{width:100vw;min-width:unset}.message{max-width:90%}.calendar-header{flex-direction:column;gap:10px}.calendar-nav-btn{width:100%}.calendar-grid th.hour-col,.hour-cell{font-size:var(--font-size-sm);padding:4px}.calendar-event{font-size:var(--font-size-xs);padding:4px}.toast{right:10px;left:10px;max-width:none;bottom:10px}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:var(--bg-card);color:var(--text-primary);padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;opacity:0;transform:translate(100%);transition:all .3s cubic-bezier(.68,-.55,.265,1.55);pointer-events:all;border-left:4px solid}.toast-show{opacity:1;transform:translate(0)}.toast-icon{font-size:20px;font-weight:700;flex-shrink:0}.toast-message{flex:1;font-size:var(--font-size-md);line-height:1.4}.toast-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.toast-close:hover{background:#ffffff1a}.toast-success{border-left-color:var(--toast-success)}.toast-success .toast-icon{color:var(--toast-success)}.toast-error{border-left-color:var(--toast-error)}.toast-error .toast-icon{color:var(--toast-error)}.toast-warning{border-left-color:var(--toast-warning)}.toast-warning .toast-icon{color:var(--toast-warning)}.toast-info{border-left-color:var(--toast-info)}.toast-info .toast-icon{color:var(--toast-info)}.filters-row{display:flex;gap:15px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.filter-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-base);min-width:150px}.filter-input:focus{outline:none;border-color:var(--sidebar-active);box-shadow:0 0 0 3px #3498db1a}.results-info{padding:8px 16px;background:var(--bg-secondary);border-radius:6px;margin-bottom:15px;font-size:12px;color:var(--text-secondary);border-left:3px solid var(--sidebar-active)}.appointment-details{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.detail-row{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-row label{font-weight:600;color:var(--text-secondary);font-size:var(--font-size-base)}.detail-row span{color:var(--text-primary);font-size:var(--font-size-base)}@media(max-width:768px){.filters-row{flex-direction:column;align-items:stretch}.filter-input{width:100%;min-width:auto}.detail-row{grid-template-columns:1fr;gap:5px}.detail-row label{font-weight:700}}.chat-sidebar{position:relative;display:flex;flex-direction:row;background:var(--bg-secondary);border-left:1px solid var(--border);transition:all .3s ease;--chat-width: 400px}.chat-sidebar:not(.collapsed){width:var(--chat-width, 400px);min-width:300px;max-width:800px}.chat-sidebar.collapsed{width:40px;min-width:40px}.chat-toggle-bar{width:40px;min-width:40px;background:var(--accent);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;gap:8px;padding:1rem 0;position:relative;-webkit-user-select:none;user-select:none;box-shadow:inset 18px 25px 30px -16px #222,inset -18px -25px 30px -20px #222}.chat-toggle-bar.chat-resizer{cursor:ew-resize}.chat-toggle-bar:hover{background:var(--accent-hover)}.chat-toggle-bar .resize-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;opacity:0;transition:opacity .2s ease;letter-spacing:-2px;pointer-events:none}.chat-toggle-bar:hover .resize-hint{opacity:.5}.chat-sidebar.resizing{transition:none!important;-webkit-user-select:none;user-select:none}.chat-sidebar.resizing .chat-toggle-bar{background:var(--accent-hover)}.chat-sidebar.resizing .chat-toggle-bar .resize-hint{opacity:.8}.chat-toggle-bar .toggle-icon{font-size:1.2rem;transition:transform .3s ease}.chat-sidebar:not(.collapsed) .chat-toggle-bar .toggle-icon{transform:rotate(180deg)}.chat-toggle-bar .toggle-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:.9rem;font-weight:600}.chat-sidebar-content{flex:1;display:flex;flex-direction:column;min-width:0;opacity:0;transition:opacity .3s ease;box-shadow:inset 0 40px 50px -30px #00000026,inset 0 -40px 50px -30px #00000026,inset 40px 0 50px -30px #0000001f,inset -40px 0 50px -30px #0000001f}.chat-sidebar:not(.collapsed) .chat-sidebar-content{opacity:1}.chat-sidebar-header{padding:.4rem 1rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.chat-header-top{display:flex;justify-content:space-between;align-items:center}#sidebar-agent-name{transition:transform .3s ease-out,opacity .3s ease-out}#sidebar-agent-name.agent-changing{animation:agent-slide-in .4s ease-out}@keyframes agent-slide-in{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}.chat-sidebar-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.collapse-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;border-radius:4px;transition:background .2s ease}.collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-messages-area{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.sidebar-message-form{padding:1rem;border-top:1px solid var(--border);display:flex;gap:.5rem}.sidebar-message-input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.sidebar-message-input:focus{outline:none;border-color:var(--accent)}.sidebar-send-button{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .2s ease}.sidebar-send-button:hover{background:var(--accent-hover)}.main-view.with-sidebar{width:70%}@media(max-width:768px){.chat-sidebar:not(.collapsed){position:fixed;right:0;top:0;width:100%;height:100vh;height:100dvh;z-index:1000;min-width:100%}.chat-toggle-bar{width:100%;height:50px;flex-direction:row;min-width:auto;padding:0 1rem}.chat-toggle-bar .toggle-label{writing-mode:horizontal-tb;text-orientation:initial;margin-left:.5rem}.chat-sidebar-content{height:calc(100vh - 50px);height:calc(100dvh - 50px)}.main-view.with-sidebar{width:100%}}.modal-appointment-detail{max-width:600px}.appointment-detail-table{width:100%;border-collapse:collapse}.appointment-detail-table tr{border-bottom:1px solid var(--calendar-border, #444)}.appointment-detail-table tr:last-child{border-bottom:none}.appointment-detail-table .detail-label{padding:12px 8px;font-weight:700;width:35%;color:var(--text-secondary, #aaa)}.appointment-detail-table .detail-value{padding:12px 8px;color:var(--text-primary, #fff)}.header-title-row{display:flex;align-items:center;gap:20px}.agent-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--color-surface);border-radius:20px;font-size:.85rem;border:1px solid var(--color-border)}.agent-status.hidden{display:none}.agent-status .status-icon{font-size:1.1rem;animation:pulse 1.5s ease-in-out infinite}.agent-status .status-text{color:var(--color-text);font-weight:500;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.typing-dots{display:inline-flex;gap:3px;margin-left:4px}.typing-dots span{width:5px;height:5px;background:var(--text-secondary);border-radius:50%;animation:typingDots 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes typingDots{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@media(max-width:768px){.header-title-row{flex-direction:column;align-items:flex-start;gap:10px}.agent-status .status-text{max-width:250px}}.filters-bar{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-input,.filter-select{padding:8px 12px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--bg-secondary, #2a2a2a);color:var(--text-primary, #e0e0e0);font-size:14px}.filter-input{flex:1;min-width:200px}.filter-select{min-width:150px}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:15px;margin-bottom:20px}.view-footer{display:flex;justify-content:space-between;padding:15px;background:var(--bg-secondary, #2a2a2a);border-radius:4px;font-size:14px;color:var(--text-secondary, #b0b0b0)}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:10px!important;font-weight:400;text-transform:uppercase;letter-spacing:.6px!important}.status-active{background:#d4edda!important;color:#2d5a3d!important}.status-inactive,.status-draft{background:#e9ecef!important;color:#5a6268!important}.status-sent{background:#cce5ff!important;color:#004085!important}.status-paid{background:#d4edda!important;color:#2d5a3d!important}.status-cancelled{background:#f8d7da!important;color:#721c24!important}.status-pending{background:#fff3cd!important;color:#856404!important}.status-confirmed{background:#cce5ff!important;color:#004085!important}.status-completed{background:#d4edda!important;color:#2d5a3d!important}.status-no-show{background:#e9ecef!important;color:#5a6268!important}.status-overdue{background:#f8d7da!important;color:#721c24!important}.status-unknown{background:#e9ecef!important;color:#5a6268!important}.status-open{background:#d4edda!important;color:#2d5a3d!important}.status-closed{background:#e9ecef!important;color:#5a6268!important}.category-badge{display:inline-block;padding:6px 14px;border-radius:12px;font-size:.875rem;font-weight:600;text-transform:uppercase}.category-badge[data-group="1"]{background:#e0f2fe;color:#0369a1}.category-badge[data-group="2"]{background:#fef3c7;color:#b45309}.category-badge[data-group="6"]{background:#ddd6fe;color:#6b21a8}.category-badge[data-group="7"]{background:#d1fae5;color:#065f46}.category-badge[data-group=other]{background:#f3f4f6;color:#6b7280}@media(max-width:768px){.filters-bar{flex-direction:column}.filter-input{width:100%}.table-container{font-size:12px}.data-table th,.data-table td{padding:8px}}.nexus-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:9999;display:none;align-items:center;justify-content:center;padding:0;margin:0}.nexus-modal.show{display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{position:relative;z-index:10000;width:600px;max-width:90vw;max-height:90vh;overflow:visible;animation:modalSlideIn .3s ease-out;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;width:90%;max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.modal-close-btn{background:none;border:none;font-size:28px;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close-btn:hover{background:var(--color-accent-soft);color:var(--color-text)}.modal-body{padding:24px;color:var(--color-text);background-color:#f6f6f6;flex:1;overflow-y:auto;overflow-x:hidden}.modal-body p,.modal-body span,.modal-body strong,.modal-body label,.modal-body div{color:inherit}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border)}body.modal-open{overflow:hidden}@media(max-width:768px){.modal-dialog,.nexus-modal .modal-dialog{width:90vw;max-width:90vw}.modal-header,.modal-body,.modal-footer{padding:16px}}.invoice-details{font-size:14px}.invoice-detail-row{display:flex;justify-content:space-between;padding:8px 0}.invoice-detail-row .label{color:var(--text-secondary, #b0b0b0);font-weight:500}.invoice-detail-row .value{color:var(--text-primary, #e0e0e0);text-align:right}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:var(--bg-main, #ffffff);border-radius:8px;padding:20px;display:flex;align-items:center;gap:15px;border:1px solid var(--border-color, #e1e8ed);box-shadow:0 2px 4px var(--shadow-color, rgba(0, 0, 0, .1))}.stat-card.income-card{border-left:4px solid var(--color-success)}.stat-card.expense-card{border-left:4px solid var(--color-error)}.stat-card.balance-card{border-left:4px solid var(--color-info)}.stat-card.balance-card.positive{border-left-color:var(--success-color)}.stat-card.balance-card.negative{border-left-color:var(--error-color)}.stat-icon{font-size:32px;opacity:.8}.stat-content{flex:1}.stat-label{font-size:13px;color:var(--text-secondary, #a0a0a0);margin-bottom:4px}.stat-value{font-size:24px;font-weight:600;color:var(--text-primary, #e0e0e0)}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-weight:500}.badge-income{background-color:#10b98126;color:var(--success-color);border:1px solid rgba(16,185,129,.3)}.badge-expense{background-color:#ef444426;color:var(--error-color);border:1px solid rgba(239,68,68,.3)}.amount-positive{color:var(--success-color);font-weight:600}.amount-negative{color:var(--error-color);font-weight:600}.transaction-details{display:flex;flex-direction:column;gap:12px}.transaction-details .detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px;background:var(--bg-secondary, #f0f2f5);border-radius:6px}.transaction-details .detail-row strong{color:var(--text-secondary);font-size:13px;font-weight:500}.transaction-details .detail-row span{color:var(--text-primary);font-size:14px;font-weight:600}.badge-critical{background-color:var(--color-error-soft)!important;color:var(--color-error)!important}.badge-high,.badge-medium{background-color:var(--color-warning-soft)!important;color:var(--color-warning)!important}.badge-low,.badge-success{background-color:var(--color-success-soft)!important;color:var(--color-success)!important}.badge-warning{background-color:var(--color-warning-soft)!important;color:var(--color-warning)!important}.sofia-table tbody tr:hover{background-color:var(--color-bg)}.progress-bar{width:100%;height:18px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);transition:width .3s ease;width:0}.action-buttons{display:flex;gap:5px;justify-content:flex-start}.btn-icon{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:background-color .2s}.btn-icon:hover{background-color:#3498db1a}.view-container .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.view-container .stat-card{background:var(--color-surface);border-radius:12px;padding:20px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:15px}.view-container .stat-icon{font-size:32px}.view-container .stat-content{flex:1}.view-container .stat-label{font-size:12px;color:var(--color-text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.view-container .stat-value{font-size:24px;font-weight:700;color:var(--color-text)}.modal-medium{max-width:600px}.nexus-icon{display:inline-block;line-height:1;vertical-align:middle;transition:all .2s ease}.nexus-icon-sm{font-size:16px}.nexus-icon-md{font-size:20px}.nexus-icon-lg{font-size:28px}.nexus-icon-xl{font-size:36px}.nexus-icon-default{filter:none}.nexus-icon-pastel{filter:saturate(.25) brightness(1.3) opacity(.7)}.nexus-icon-muted{filter:saturate(.2) brightness(1.2) opacity(.7)}.sidebar .nav-list a .nexus-icon{margin-right:8px;filter:saturate(.25) brightness(1.3) opacity(.7)}.sidebar .nav-list a:hover .nexus-icon{filter:saturate(.5) brightness(1.1) opacity(.95);transform:scale(1.05)}.sidebar .nav-list a.active .nexus-icon{filter:saturate(.6) brightness(1.05) opacity(1)}.btn .nexus-icon,.btn-primary .nexus-icon,.btn-secondary .nexus-icon,button .nexus-icon{margin-right:6px;filter:saturate(.3) brightness(1.2) opacity(.85)}.btn:hover .nexus-icon,.btn-primary:hover .nexus-icon,.btn-secondary:hover .nexus-icon{filter:saturate(.45) brightness(1.15) opacity(.95)}h1 .nexus-icon,h2 .nexus-icon,h3 .nexus-icon,h4 .nexus-icon{margin-right:10px;filter:saturate(.4) brightness(1.1) opacity(.8)}.stat-icon{font-size:32px;filter:saturate(.35) brightness(1.15) hue-rotate(-5deg) opacity(.75)}.stat-icon .nexus-icon{filter:none}.btn-icon{background:none;border:none;cursor:pointer;font-size:18px;padding:5px 8px;transition:all .2s ease;color:var(--text-primary)}.btn-icon .nexus-icon{filter:saturate(.3) brightness(1.1) opacity(.7)}.btn-icon:hover{background:#ffffff0d;border-radius:4px}.btn-icon:hover .nexus-icon{filter:saturate(.5) brightness(1.05) opacity(.9);transform:scale(1.15)}.modal-header .nexus-icon,.modal-title .nexus-icon{margin-right:8px;filter:saturate(.25) brightness(1.3) opacity(.7)}.badge .nexus-icon{margin-right:4px;font-size:.9em;filter:saturate(.3) brightness(1.2) opacity(.85)}[data-theme=theme-ocean-blue] .nexus-icon-pastel,[data-theme=theme-ocean-blue] .sidebar .nav-list a .nexus-icon,[data-theme=theme-ocean-blue] .btn .nexus-icon{filter:saturate(.35) brightness(1.15) hue-rotate(5deg) opacity(.8)}[data-theme=theme-forest-green] .nexus-icon-pastel,[data-theme=theme-forest-green] .sidebar .nav-list a .nexus-icon,[data-theme=theme-forest-green] .btn .nexus-icon{filter:saturate(.3) brightness(1.1) hue-rotate(10deg) opacity(.8)}[data-theme=theme-sunset-warm] .nexus-icon-pastel,[data-theme=theme-sunset-warm] .sidebar .nav-list a .nexus-icon,[data-theme=theme-sunset-warm] .btn .nexus-icon{filter:saturate(.4) brightness(1.1) hue-rotate(-10deg) opacity(.85)}[data-theme=theme-classic-dark] .nexus-icon-pastel,[data-theme=theme-classic-dark] .sidebar .nav-list a .nexus-icon,[data-theme=theme-classic-dark] .btn .nexus-icon{filter:saturate(.25) brightness(1.25) opacity(.7)}.nexus-icon.icon-loading{animation:iconSpin 1.5s linear infinite}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nexus-icon.icon-pulse{animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}@media(max-width:768px){.nexus-icon-xl{font-size:28px}.nexus-icon-lg{font-size:24px}.nexus-icon-md{font-size:18px}.nexus-icon-sm{font-size:14px}.stat-icon{font-size:28px}}.superadmin-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:30px}.dashboard-header h2{font-size:28px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.dashboard-header p{font-size:14px;color:var(--text-secondary)}.system-status-section,.quick-tools-section,.metrics-section,.alerts-section{background:var(--card-bg);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid var(--border-color)}.superadmin-dashboard h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.service-card{background:var(--bg-main);border:2px solid var(--border-color);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;transition:all .2s ease}.service-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-card.checking{border-color:#ffa726}.service-card.online{border-color:#4caf50}.service-card.offline{border-color:#f44336}.service-indicator{font-size:20px;line-height:1}.service-info{flex:1;min-width:0}.service-name{font-weight:600;font-size:13px;color:var(--text-primary)}.service-port{font-size:11px;color:var(--text-secondary);font-family:Courier New,monospace}.service-desc{font-size:10px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-status{font-size:10px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.status-legend{display:flex;gap:20px;font-size:13px;color:var(--text-secondary)}.status-legend .indicator{font-size:16px;margin-right:4px}.status-legend .indicator.green{color:var(--color-success)}.status-legend .indicator.red{color:var(--color-error)}.status-legend .indicator.yellow{color:var(--color-warning)}.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tool-btn{background:var(--bg-main);border:2px solid var(--border-color);border-radius:8px;padding:20px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.tool-btn:hover:not(:disabled){background:var(--card-bg);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.tool-btn:disabled{opacity:.6;cursor:not-allowed}.tool-icon{font-size:32px}.tool-label{font-weight:600;font-size:14px;color:var(--text-primary)}.tool-desc{font-size:11px;color:var(--text-secondary)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-card{background:linear-gradient(135deg,var(--sidebar-bg-start) 0%,var(--sidebar-bg-end) 100%);border-radius:8px;padding:20px;text-align:center;color:var(--header-text)}.metric-value{font-size:32px;font-weight:700;margin-bottom:8px;font-variant-numeric:tabular-nums}.metric-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.alerts-container{display:flex;flex-direction:column;gap:12px}.no-alerts{color:var(--text-secondary);font-size:14px;text-align:center;padding:20px}.alert-success,.alert-error,.alert-info{padding:16px;border-radius:8px;border-left:4px solid;font-size:13px}.alert-success{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.alert-error{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.alert-info{background:var(--color-info-soft);border-color:var(--color-info);color:var(--color-info)}.alert-success pre,.alert-error pre,.alert-info pre{margin-top:8px;padding:12px;background:#0000000d;border-radius:4px;overflow-x:auto;font-size:11px}@media(max-width:768px){.services-grid,.tools-grid,.metrics-grid{grid-template-columns:1fr}}.toggle-label{display:block;margin-bottom:8px;font-size:.9rem;color:var(--text-primary)}.switch{position:relative;display:inline-block;width:50px;height:24px}input:checked+.slider{background-color:var(--primary-color, #2196F3)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color, #2196F3)}input:checked+.slider:before{transform:translate(26px)}.help-text{display:block;margin-top:5px;font-size:.75rem;color:var(--text-secondary);line-height:1.3}.help-text span{color:#fff}#tax-mode-container,#immediate-payment-container{margin-top:15px;padding:10px;background:#ffffff0d;border-radius:8px}#tax-mode-container .toggle-header,#immediate-payment-container .toggle-header{display:flex;justify-content:space-between;align-items:center}#tax-mode-container .toggle-label,#immediate-payment-container .toggle-label{margin-bottom:0}.checkbox-label{display:flex!important;align-items:center!important;gap:.5rem!important;cursor:pointer!important;margin:0!important;padding:.25rem 0!important}.checkbox-label input[type=checkbox]{cursor:pointer!important;margin:0!important;flex-shrink:0!important;width:16px!important;height:16px!important}.form-group .checkbox-label{width:100%!important}.message.assistant[data-agent=alex]{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-left:4px solid #5c6bc0;box-shadow:0 2px 8px #5c6bc026}.message.assistant[data-agent=alex]:before{content:"📊 ";font-size:1.2em;margin-right:4px}.insight-badge{display:inline-block;background:linear-gradient(135deg,#5c6bc0,#7e57c2);color:#fff;padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:600;margin:4px 4px 4px 0;box-shadow:0 2px 4px #5c6bc04d}.message.assistant[data-agent=sofia]{background:linear-gradient(135deg,#fce4ec,#f3e5f5);border-left:4px solid #ab47bc;box-shadow:0 2px 8px #ab47bc26}.message.assistant[data-agent=sofia]:before{content:"🔮 ";font-size:1.2em;margin-right:4px}.prediction-badge{display:inline-block;background:linear-gradient(135deg,#ab47bc,#ec407a);color:#fff;padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:600;margin:4px 4px 4px 0;box-shadow:0 2px 4px #ab47bc4d}.prediction-badge.high-priority{background:linear-gradient(135deg,#e53935,#d32f2f);animation:pulse-alert 2s ease-in-out infinite}.prediction-badge.medium-priority{background:linear-gradient(135deg,#fb8c00,#f57c00)}.prediction-badge.low-priority{background:linear-gradient(135deg,#43a047,#388e3c)}@keyframes pulse-alert{0%,to{box-shadow:0 2px 4px #e539354d}50%{box-shadow:0 4px 12px #e5393599;transform:scale(1.02)}}.message.assistant[data-agent=emma]{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-left:4px solid #66bb6a;box-shadow:0 2px 8px #66bb6a26}.message.assistant[data-agent=emma]:before{content:"🗓️ ";font-size:1.2em;margin-right:4px}.message.assistant[data-agent=carlos]{background:linear-gradient(135deg,#fff8e1,#ffe0b2);border-left:4px solid #ffa726;box-shadow:0 2px 8px #ffa72626}.message.assistant[data-agent=carlos]:before{content:"💰 ";font-size:1.2em;margin-right:4px}.message.assistant[data-agent=diana]{background:linear-gradient(135deg,#e1f5fe,#e0f2f1);border-left:4px solid #26c6da;box-shadow:0 2px 8px #26c6da26}.message.assistant[data-agent=diana]:before{content:"🎯 ";font-size:1.2em;margin-right:4px}.message.assistant[data-agent=daniel]{background:linear-gradient(135deg,#f5f5f5,#eee);border-left:4px solid #78909c;box-shadow:0 2px 8px #78909c26}.message.assistant[data-agent=daniel]:before{content:"🤖 ";font-size:1.2em;margin-right:4px}.message.assistant[data-agent=ana]{background:linear-gradient(135deg,#e0f7fa,#e0f2f1);border-left:4px solid #26a69a;box-shadow:0 2px 8px #26a69a26}.message.assistant[data-agent=ana]:before{content:"📱 ";font-size:1.2em;margin-right:4px}.message.assistant[data-agent=lucia]{background:linear-gradient(135deg,#ede7f6,#e8eaf6);border-left:4px solid #5c6bc0;box-shadow:0 2px 8px #5c6bc026}.message.assistant[data-agent=lucia]:before{content:"🧾 ";font-size:1.2em;margin-right:4px}.message.assistant[data-agent=clara]{background:linear-gradient(135deg,#e0f2f1,#e0f7fa);border-left:4px solid #26a69a;box-shadow:0 2px 8px #26a69a26}.message.assistant[data-agent=clara]:before{content:"👥 ";font-size:1.2em;margin-right:4px}#agent-selector option[value=alex]{background-color:var(--color-info-soft)}#agent-selector option[value=sofia]{background-color:var(--color-error-soft)}#agent-selector option[value=emma]{background-color:var(--color-success-soft)}#agent-selector option[value=carlos]{background-color:var(--color-warning-soft)}#agent-selector option[value=diana]{background-color:var(--color-info-soft)}.message.assistant{transition:all .3s ease}.business-hours-view{padding:2rem;max-width:1000px;margin:0 auto}.business-hours-view .view-header{margin-bottom:2rem}.business-hours-view .view-header h2{color:var(--text-primary);margin-bottom:.5rem}.business-hours-view .view-description{color:var(--text-secondary);font-size:var(--font-size-md)}.business-hours-content{background:var(--color-surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow-md)}.loading-state,.error-state{text-align:center;padding:3rem}.spinner{border:3px solid var(--color-border);border-top:3px solid var(--color-accent);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state .error-message{color:var(--btn-danger-bg);margin-bottom:1rem}.hours-grid{display:flex;flex-direction:column;gap:1rem}.day-row{border:1px solid var(--color-border);border-radius:8px;padding:1rem;transition:all .3s ease}.day-row.day-closed{background-color:var(--color-bg);opacity:.6}.day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.day-name{font-weight:600;font-size:var(--font-size-lg);color:var(--text-primary);flex:1}.day-status{font-size:var(--font-size-sm);color:var(--text-secondary);margin-left:1rem}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--btn-primary-bg-start)}input:checked+.slider:before{transform:translate(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.day-hours{display:flex;gap:1rem}.time-input-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.time-input-group label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.time-input{padding:.5rem;border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-md);transition:all .3s ease}.time-input:focus{outline:none;border-color:var(--btn-primary-bg-start);box-shadow:0 0 0 3px #3e617a1a}.time-input:disabled{background-color:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.form-actions .btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .3s ease}.form-actions .btn-primary{background:linear-gradient(135deg,var(--btn-primary-bg-start),var(--btn-primary-bg-end));color:#fff}.form-actions .btn-primary:hover{transform:translateY(-2px)}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-actions .btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.form-actions .btn-secondary:hover{background:var(--color-bg)}@media(max-width:768px){.business-hours-view,.business-hours-content{padding:1rem}.day-hours,.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.message-chart-container{margin-top:15px;padding:15px;background:#ffffff0d;border-radius:8px;min-height:300px;max-width:100%;overflow:hidden}.message.assistant .message-chart-container{background:#00000005;border:1px solid var(--message-assistant-border)}@media(prefers-color-scheme:dark){.message-chart-container{background:#0003;border:1px solid rgba(255,255,255,.1)}}.message-chart-container .apexcharts-canvas{max-width:100%}.message-chart-container .apexcharts-title-text{font-size:16px!important;font-weight:600!important}.message-chart-container .apexcharts-legend{padding:10px 0!important}.message-chart-container:empty:before{content:"Cargando gráfico...";display:block;text-align:center;padding:40px;color:var(--color-text-muted);font-size:14px}.message-chart-container.error{background:var(--color-error-soft);border:1px solid var(--color-error);color:var(--color-error);text-align:center;padding:20px}.agent-chart-modal{position:fixed;inset:0;z-index:10000}.chart-modal-overlay{position:absolute;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.chart-modal-content{background:var(--color-surface, #1a1a2e);border-radius:12px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chart-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:#0003}.chart-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text, #fff)}.chart-modal-close{background:none;border:none;color:var(--color-text-muted, #9ca3af);font-size:28px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.chart-modal-close:hover{background:#ffffff1a;color:var(--color-text, #fff)}.chart-modal-body{padding:20px;min-height:400px}.chart-modal-body .apexcharts-canvas{max-width:100%}.dark .chart-modal-content{background:#1e1e2f}.calendar-header-day{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-bottom:16px;border-bottom:2px solid var(--color-border)}.day-title{font-size:1.5rem;font-weight:600;color:var(--color-text);text-transform:capitalize;margin:0}.day-navigation{display:flex;gap:8px}.calendar-grid-day{overflow-x:auto;margin-top:16px}.calendar-table-day{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--color-border)}.calendar-table-day th{background:var(--color-bg);padding:12px 8px;font-weight:600;text-align:center;border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:20;color:var(--color-text)}.calendar-table-day .hour-col{width:60px;min-width:60px;background:var(--color-bg)}.calendar-table-day .resource-col{min-width:150px;vertical-align:middle}.resource-color{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:middle}.resource-name{font-size:14px;font-weight:600;color:var(--color-text)}.calendar-table-day .hour-cell{font-weight:500;color:var(--color-text-muted);font-size:12px;text-align:right;padding-right:12px;vertical-align:top;padding-top:4px;background:var(--color-bg);border-right:2px solid var(--color-border)}.day-view-cell{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:background-color .15s;vertical-align:top;position:relative;overflow:visible!important;min-height:60px}.day-view-cell:hover{background-color:var(--color-accent-soft)}.day-view-cell.past-cell{background-color:var(--color-bg);cursor:not-allowed}.day-view-cell.current-hour{background-color:var(--color-warning-soft)}.day-header-clickable{cursor:pointer;transition:background-color .15s,transform .15s}.day-header-clickable:hover{background-color:var(--color-accent-soft)!important;transform:scale(1.05)}.day-header-clickable .day-name{display:block;font-size:12px;color:var(--color-text-muted);font-weight:500}.day-header-clickable .day-number{display:block;font-size:18px;font-weight:600;color:var(--color-text);margin-top:4px}.btn-secondary{background:var(--color-accent-soft);color:var(--color-text);border:1px solid var(--color-accent-soft)}.btn-secondary:hover{background:var(--color-accent-muted);color:#fff;border-color:var(--color-accent-muted)}.btn-outline{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-outline:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.calendar-event{position:relative}.event-content{position:relative;z-index:1}.event-status-icons{position:absolute;bottom:2px;right:4px;display:flex;gap:2px;font-size:10px;line-height:1;z-index:2}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#ffffffe6;border-radius:3px;font-size:9px}.status-icon.paid{background:#22c55e4d}.status-icon.invoiced{background:#3b82f64d}.drop-target{background-color:#4285f433!important;border:2px dashed #4285f4!important}.calendar-cell.drop-target,.day-view-cell.drop-target{background-color:#4285f426!important}.modal-content.modal-sm{max-width:480px}.modal-content.modal-md{max-width:600px}.modal-content.modal-lg{max-width:800px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--calendar-border)}.messages-area table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);margin:8px 0;border:1px solid var(--color-border)}.messages-area table th{padding:6px 8px;text-align:left;font-weight:600;font-size:var(--font-size-sm);background:transparent;border-bottom:2px solid var(--color-border);color:var(--color-text)}.messages-area table td{padding:6px 8px;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text)}.messages-area table tbody tr:hover{background:var(--color-bg)}.messages-area table tbody tr:last-child td{border-bottom:none}.category-suggestion{margin-top:8px;animation:fadeIn .3s ease}.category-suggestion .suggestion-content{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:var(--font-size-sm, 11px);background:var(--color-info-soft, #e0f2fe);border:1px solid var(--color-info, #0ea5e9);color:var(--color-text, #1e293b)}.category-suggestion .suggestion-content.high{background:var(--color-success-soft, #dcfce7);border-color:var(--color-success, #22c55e)}.category-suggestion .suggestion-content.medium{background:var(--color-info-soft, #e0f2fe);border-color:var(--color-info, #0ea5e9)}.category-suggestion .suggestion-content.low{background:var(--color-warning-soft, #fef3c7);border-color:var(--color-warning, #f59e0b)}.category-suggestion .suggestion-icon{font-size:14px;flex-shrink:0}.category-suggestion .suggestion-text{flex:1}.category-suggestion .suggestion-text strong{font-weight:600}.category-suggestion .confidence{color:var(--color-text-muted, #6b7280);font-size:var(--font-size-xs, 10px);margin-left:4px}.category-suggestion .btn-accept-suggestion{padding:4px 10px;border:none;border-radius:4px;background:var(--color-primary, #3b82f6);color:#fff;font-size:var(--font-size-sm, 11px);font-weight:500;cursor:pointer;transition:background .2s;flex-shrink:0}.category-suggestion .btn-accept-suggestion:hover{background:var(--color-primary-dark, #2563eb)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.settings-group{margin-bottom:24px}.settings-label{display:block;font-weight:600;margin-bottom:12px;color:var(--color-text)}.settings-options{display:flex;gap:12px;flex-wrap:wrap}.settings-options .option-btn{flex:1;min-width:100px;padding:12px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .2s;color:var(--color-text)}.settings-options .option-btn:hover{border-color:var(--color-primary)}.settings-options .option-btn.selected{border-color:var(--color-primary);background:var(--color-accent-soft)}@media(max-width:640px){.settings-options{flex-direction:column}.settings-options .option-btn{min-width:auto}}.aeat-badge.unavailable,.banking-badge.unavailable{background:var(--color-text-muted);color:var(--color-surface);padding:2px 8px;border-radius:4px;font-size:.75rem}.aeat-unavailable .aeat-message,.unavailable-state .banking-message{padding:16px;color:var(--color-text-muted);text-align:center}.aeat-unavailable .aeat-message small,.unavailable-state .banking-message small{display:block;margin-top:8px;font-size:.8rem}.help-content{max-height:70vh;overflow-y:auto}.help-section{margin-bottom:20px}.help-section h4{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 8px}.help-section p{color:var(--color-text-muted);font-size:.9rem;line-height:1.5;margin:0}.help-divider{height:1px;background:var(--color-border);margin:24px 0}.model-help{background:var(--color-surface-alt);border-radius:8px;padding:12px;margin-bottom:12px}.model-help strong{display:block;color:var(--color-accent);font-size:.9rem;margin-bottom:4px}.model-help p{color:var(--color-text-muted);font-size:.85rem;line-height:1.4;margin:0}.faq-item{background:var(--color-surface-alt);border-radius:8px;margin-bottom:8px;overflow:hidden}.faq-item summary{padding:12px 16px;cursor:pointer;font-weight:500;color:var(--color-text);list-style:none;display:flex;align-items:center;justify-content:space-between}.faq-item summary:after{content:"+";font-size:1.25rem;color:var(--color-text-muted);transition:transform .2s}.faq-item[open] summary:after{content:"-"}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{padding:0 16px 12px;color:var(--color-text-muted);font-size:.875rem;line-height:1.5;margin:0}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border, #444);transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-success, #5fa573)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.toggle-row .toggle-text{flex:1;font-size:var(--font-size-md);color:var(--color-text)}.services-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:200px;overflow-y:auto;padding:8px;background:var(--color-bg, #1a1a1a);border-radius:8px;border:1px solid var(--color-border, #444)}.service-toggle-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-surface, #2a2a2a);border-radius:6px;cursor:pointer;transition:background-color .2s}.service-toggle-item:hover{background:var(--color-accent-soft, rgba(131, 120, 147, .15))}.service-toggle-item input[type=checkbox]{display:none}.service-toggle-item .service-indicator{width:18px;height:18px;border:2px solid var(--color-border, #444);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.service-toggle-item.selected .service-indicator{background:var(--color-success, #5fa573);border-color:var(--color-success, #5fa573)}.service-toggle-item.selected .service-indicator:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.service-toggle-item .service-label{font-size:13px;color:var(--color-text, #e0e0e0)}:root{--font-size-base: 13px;--font-size-xs: 8px;--font-size-sm: 10px;--font-size-md: 11px;--font-size-lg: 12px;--font-size-xl: 17px;--font-size-2xl: 19px;--font-size-3xl: 21px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}:root{--color-success: #5fa573;--color-success-soft: #e8f5e9;--color-error: #d98080;--color-error-soft: #fce4ec;--color-warning: #e0a855;--color-warning-soft: #fef9e7;--color-info: #5c89a8;--color-info-soft: #e3f2fd;--debug-bg: #2d2d2d;--debug-text: #e8e8e8;--debug-text-secondary: #b8b8b8;--debug-bg-secondary: #3a3a3a;--debug-accent: #5fa573;--debug-border: #4a4a4a;--debug-code-bg: #1a1a1a;--debug-hover-bg: #484848;--debug-tag: #5c89a8;--debug-tag-light: #82b4d9;--debug-error: #d98080}:root,body.theme-nexus{--color-bg: #f7f6f9;--color-surface: #ffffff;--color-text: #2d3748;--color-text-muted: #4a5568;--color-accent: #837893;--color-accent-hover: #554861;--color-accent-soft: rgba(131, 120, 147, .12);--color-accent-muted: #958ba8;--color-border: #e8e6ed;--color-border-strong: #d5d1de;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .06);--sidebar-bg: linear-gradient(180deg, #463952 0%, #554861 100%);--sidebar-text: #ffffff;--sidebar-text-muted: #c8c0d4;--sidebar-hover: rgba(157, 143, 184, .22);--sidebar-active: rgba(157, 143, 184, .35);--sidebar-heading: #958ba8;--sidebar-border: #3a2f45;--header-bg-start: #554861;--header-bg-end: #463952;--message-user-bg-start: #554861;--message-user-bg-end: #463952;--btn-primary-bg-start: #554861;--btn-primary-bg-end: #463952;--btn-edit: #837893;--btn-view: #958ba8;--btn-logout-bg: #6b5a78;--btn-logout-hover: #4a3d55}body.theme-ocean{--color-bg: #eef2f5;--color-surface: #f8f9fb;--color-text: #3a4550;--color-text-muted: #5a6a78;--color-accent: #6a8fa8;--color-accent-hover: #5a7a92;--color-accent-soft: rgba(106, 143, 168, .1);--color-accent-muted: #8ab0c8;--color-border: #d5dde5;--color-border-strong: #b8c8d5;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08);--sidebar-bg: linear-gradient(180deg, #3a5565 0%, #4a6575 100%);--sidebar-text: #f0f4f8;--sidebar-text-muted: #b8c8d5;--sidebar-hover: rgba(180, 200, 220, .18);--sidebar-active: rgba(180, 200, 220, .28);--sidebar-heading: #98b0c0;--sidebar-border: #2a4050;--header-bg-start: #4a6575;--header-bg-end: #3a5565;--message-user-bg-start: #4a6575;--message-user-bg-end: #3a5565;--btn-primary-bg-start: #4a6575;--btn-primary-bg-end: #3a5565;--btn-edit: #6a8fa8;--btn-view: #8ab0c8;--btn-logout-bg: #4a6070;--btn-logout-hover: #3a4a55}body.theme-forest{--color-bg: #edf2ef;--color-surface: #f7f9f8;--color-text: #3a4540;--color-text-muted: #5a6860;--color-accent: #6a9880;--color-accent-hover: #5a8570;--color-accent-soft: rgba(106, 152, 128, .1);--color-accent-muted: #8ab8a0;--color-border: #d0ddd5;--color-border-strong: #b5c8bc;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08);--sidebar-bg: linear-gradient(180deg, #3a5545 0%, #4a6555 100%);--sidebar-text: #f0f5f2;--sidebar-text-muted: #b5c8bc;--sidebar-hover: rgba(170, 200, 180, .18);--sidebar-active: rgba(170, 200, 180, .28);--sidebar-heading: #95b0a0;--sidebar-border: #2a4035;--header-bg-start: #4a6555;--header-bg-end: #3a5545;--message-user-bg-start: #4a6555;--message-user-bg-end: #3a5545;--btn-primary-bg-start: #4a6555;--btn-primary-bg-end: #3a5545;--btn-edit: #6a9880;--btn-view: #8ab8a0;--btn-logout-bg: #4a6055;--btn-logout-hover: #3a4a40}body.theme-sunset{--color-bg: #f2efec;--color-surface: #f9f7f5;--color-text: #453d38;--color-text-muted: #685d55;--color-accent: #a08070;--color-accent-hover: #8a6a5a;--color-accent-soft: rgba(160, 128, 112, .1);--color-accent-muted: #baa090;--color-border: #ddd5d0;--color-border-strong: #c8bdb5;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08);--sidebar-bg: linear-gradient(180deg, #5a4a42 0%, #6a5a50 100%);--sidebar-text: #f5f0ed;--sidebar-text-muted: #c8bdb5;--sidebar-hover: rgba(200, 180, 165, .18);--sidebar-active: rgba(200, 180, 165, .28);--sidebar-heading: #b8a898;--sidebar-border: #3a3028;--header-bg-start: #6a5a50;--header-bg-end: #5a4a42;--message-user-bg-start: #6a5a50;--message-user-bg-end: #5a4a42;--btn-primary-bg-start: #6a5a50;--btn-primary-bg-end: #5a4a42;--btn-edit: #a08070;--btn-view: #baa090;--btn-logout-bg: #6a5550;--btn-logout-hover: #4a3a35}body.dark{--color-bg: #252530;--color-surface: #2e2e35;--color-text: #e8e6ed;--color-text-muted: #a8a4b0;--color-border: #353540;--color-border-strong: #454555;--color-action-btn-bg: #4a4a4f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--color-success: #7dba8a;--color-success-soft: rgba(125, 186, 138, .15);--color-error: #e09090;--color-error-soft: rgba(224, 144, 144, .15);--color-warning: #e8b86a;--color-warning-soft: rgba(232, 184, 106, .15);--color-info: #7aa8c8;--color-info-soft: rgba(122, 168, 200, .15)}body.theme-nexus.dark{--sidebar-bg: linear-gradient(180deg, #2e2535 0%, #3a3042 100%)}body.theme-ocean.dark{--sidebar-bg: linear-gradient(180deg, #1e3a4a 0%, #2a4a5a 100%)}body.theme-forest.dark{--sidebar-bg: linear-gradient(180deg, #1a3528 0%, #254535 100%)}body.theme-sunset.dark{--sidebar-bg: linear-gradient(180deg, #3a2a22 0%, #4a3830 100%)}:root,body[class*=theme-]{--bg-main: var(--color-surface);--bg-secondary: var(--color-bg);--bg-primary: var(--color-surface);--bg-card: var(--color-surface);--bg-hover: var(--color-accent-soft);--chat-bg: var(--color-bg);--text-primary: var(--color-text);--text-secondary: var(--color-text-muted);--text: var(--color-text);--accent: var(--color-accent);--accent-hover: var(--color-accent-hover);--primary-color: var(--color-accent);--color-primary: var(--color-accent);--bg-tertiary: var(--color-surface);--border: var(--color-border);--border-color: var(--color-border);--calendar-border: var(--color-border);--header-text: #ffffff;--success-color: var(--color-success);--error-color: var(--color-error);--toast-success: var(--color-success);--toast-error: var(--color-error);--toast-warning: var(--color-warning);--toast-info: var(--color-info);--message-user-text: #ffffff;--message-assistant-bg: var(--color-surface);--message-assistant-text: var(--color-text);--message-assistant-border: var(--color-border);--message-system-bg: var(--color-warning-soft);--message-system-text: #8a6d1f;--message-system-border: var(--color-warning);--message-thinking-bg: var(--color-bg);--message-thinking-border: var(--color-border);--calendar-header-bg: var(--color-bg);--calendar-header-accent: var(--color-accent);--calendar-text: var(--color-text);--calendar-text-secondary: var(--color-text-muted);--calendar-text-muted: var(--color-text-muted);--calendar-event-bg: var(--color-accent);--calendar-event-text: #ffffff;--calendar-event-border: var(--color-accent-hover);--calendar-event-hover: var(--color-accent-muted);--calendar-event-readonly: var(--color-text-muted);--calendar-event-readonly-border: var(--color-border-strong);--calendar-event-readonly-hover: var(--color-text-muted);--btn-danger-bg: #b96060;--btn-danger-hover: #a94848;--btn-delete: #b96060;--btn-confirm: #5e9877;--btn-complete: #4d8d5a;--modal-warning-bg: var(--color-warning-soft);--modal-warning-text: #8a6d1f;--modal-danger-bg: var(--color-error-soft);--modal-danger-text: #9a3838;--modal-info-bg: var(--color-info-soft);--modal-info-text: #1e5a7d;--status-active-bg: var(--color-success-soft);--status-active-text: var(--color-success);--status-inactive-bg: var(--color-error-soft);--status-inactive-text: var(--color-error);--status-pending: var(--color-warning);--status-confirmed: var(--color-info);--status-completed: var(--color-success);--status-cancelled: var(--color-error);--status-draft: var(--color-text-muted);--status-paid: var(--color-success);--status-sent: var(--color-info);--status-no-show: var(--color-text-muted);--shadow-color: rgba(0, 0, 0, .04)}body.dark .table-container,body.dark .data-table{background-color:var(--color-surface)}body.dark .data-table td{color:var(--color-text);border-bottom-color:var(--color-border)}body.dark .data-table tbody tr:nth-child(2n){background-color:#ffffff05}body.dark .stat-card{background:var(--color-surface);border-color:var(--color-border)}body.dark .stat-label{color:var(--color-text-muted)}body.dark .stat-value{color:var(--color-text)}body.dark .stat-icon{opacity:.9}body.dark .message.assistant{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}body.dark .message.assistant[data-agent=alex]{background:linear-gradient(135deg,#5c6bc026,#9c27b01a);border-left-color:#7986cb}body.dark .message.assistant[data-agent=sofia]{background:linear-gradient(135deg,#ab47bc26,#9c27b01a);border-left-color:#ba68c8}body.dark .message.assistant[data-agent=emma]{background:linear-gradient(135deg,#66bb6a26,#8bc34a1a);border-left-color:#81c784}body.dark .message.assistant[data-agent=carlos]{background:linear-gradient(135deg,#ffa72626,#ffb74d1a);border-left-color:#ffb74d}body.dark .message.assistant[data-agent=diana]{background:linear-gradient(135deg,#4fc3f726,#29b6f61a);border-left-color:#4fc3f7}body.dark .message.assistant[data-agent=daniel]{background:linear-gradient(135deg,#78909c26,#90a4ae1a);border-left-color:#90a4ae}body.dark .message.assistant[data-agent=ana]{background:linear-gradient(135deg,#26a69a26,#4db6ac1a);border-left-color:#4db6ac}body.dark .message.assistant[data-agent=lucia]{background:linear-gradient(135deg,#5c6bc026,#7986cb1a);border-left-color:#7986cb}body.dark .message.assistant[data-agent=clara]{background:linear-gradient(135deg,#26a69a26,#4db6ac1a);border-left-color:#4db6ac}body.dark .message.assistant .message-content,body.dark .message.assistant p,body.dark .message.assistant span,body.dark .message.assistant li{color:var(--color-text)}body.dark .message.system{background-color:#e8b86a1f;color:var(--color-warning);border-color:#e8b86a4d}body.dark .message.thinking{background-color:var(--color-bg);border-color:var(--color-border)}body.dark .card,body.dark .panel,body.dark .content-panel{background-color:var(--color-surface);border-color:var(--color-border)}body.dark .card-header,body.dark .panel-header{border-bottom-color:var(--color-border)}body.dark .view-content,body.dark .main-panel{background-color:var(--color-bg)}body.dark input,body.dark select,body.dark textarea{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}body.dark input:focus,body.dark select:focus,body.dark textarea:focus{border-color:var(--color-accent)}body.dark input::placeholder,body.dark textarea::placeholder{color:var(--color-text-muted)}body.dark .modal-content,body.dark .modal-body{background-color:var(--color-surface);color:var(--color-text)}body.dark .modal-header,body.dark .modal-footer{border-color:var(--color-border)}body.dark .main-panel select option,body.dark .view-content select option,body.dark .modal select option{background-color:var(--color-surface);color:var(--color-text)}body.dark .kpi-card{background:var(--color-surface);border-color:var(--color-border)}body.dark .kpi-title{color:var(--color-text-muted)}body.dark .kpi-value{color:var(--color-text)}body.dark .chart-card{background:var(--color-surface);border-color:var(--color-border)}body.dark .chart-header{border-bottom-color:var(--color-border)}body.dark .chart-title{color:var(--color-text)}body.dark .temporal-card{background:var(--color-surface);border-color:var(--color-border)}body.dark .temporal-header h4{color:var(--color-text)}body.dark .org-card{background:var(--color-surface);border-color:var(--color-border)}body.dark .org-title h3{color:var(--color-text)}body.dark .config-section h3{color:var(--color-text-muted)}body.dark .badge{opacity:.9}body.dark .loading-cell,body.dark .loading-state,body.dark .chart-loading,body.dark .temporal-loading{color:var(--color-text-muted)}body.dark .filters-bar{background-color:transparent}body.dark .filter-select,body.dark .filter-input,body.dark .chart-control{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}body.dark .view-header h1,body.dark .view-header h2,body.dark .view-title{color:var(--color-text)}body.dark a{color:var(--color-accent-muted)}body.dark a:hover{color:var(--color-accent)}body.dark ::-webkit-scrollbar{width:8px;height:8px}body.dark ::-webkit-scrollbar-track{background:var(--color-bg)}body.dark ::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}body.dark ::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}body.dark .view-panel,body.dark .business-hours-content,body.dark .table-container,body.dark .day-view-cell,body.dark .btn-outline,body.dark .form-actions .btn-secondary,body.dark .professional-badge{background-color:var(--color-surface);color:var(--color-text)}body.dark .view-container .stat-card{background:var(--color-surface);box-shadow:0 2px 8px #0000004d}body.dark .sofia-table tbody tr:hover,body.dark .day-row.day-closed{background-color:var(--color-bg)}body.dark .progress-bar{background:var(--color-border)}body.dark .badge-critical{background-color:#e0909033!important;color:var(--color-error)!important}body.dark .badge-high,body.dark .badge-warning{background-color:#e8b86a33!important;color:var(--color-warning)!important}body.dark .badge-medium{background-color:#e8b86a26!important;color:#d4a84a!important}body.dark .badge-low,body.dark .badge-success{background-color:#7dba8a33!important;color:var(--color-success)!important}body.dark .alert-success{background:#7dba8a26;border-color:var(--color-success);color:var(--color-success)}body.dark .alert-error{background:#e0909026;border-color:var(--color-error);color:var(--color-error)}body.dark .alert-info{background:#7aa8c826;border-color:var(--color-info);color:var(--color-info)}body.dark .alert-success pre,body.dark .alert-error pre,body.dark .alert-info pre{background:#0003}body.dark .slider{background-color:var(--color-border-strong)}body.dark .slider:before{background-color:var(--color-text)}body.dark .time-input,body.dark .time-input:disabled{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}body.dark .time-input:disabled{background-color:var(--color-bg);color:var(--color-text-muted)}body.dark .form-actions{border-top-color:var(--color-border)}body.dark .day-view-cell:hover,body.dark .day-header-clickable:hover{background-color:#7aa8c826!important}body.dark .day-view-cell.past-cell{background-color:var(--color-bg)}body.dark .day-view-cell.current-hour{background-color:#e8b86a33}body.dark .calendar-header-day{border-bottom-color:var(--color-border)}body.dark .calendar-table-day th{background:var(--color-bg);border-bottom-color:var(--color-border)}body.dark .calendar-table-day .hour-cell{background:var(--color-bg);border-right-color:var(--color-border)}body.dark .btn-secondary{background:var(--color-border-strong);color:var(--color-text);border-color:var(--color-border)}body.dark .btn-secondary:hover{background:var(--color-text-muted)}body.dark .btn-outline:hover{background:var(--color-bg);border-color:var(--color-border-strong)}body.dark .message-chart-container:empty:before{color:var(--color-text-muted)}body.dark .message-chart-container.error{background:#e090901a;border-color:#e090904d;color:var(--color-error)}body.dark #agent-selector option[value=alex],body.dark #agent-selector option[value=sofia],body.dark #agent-selector option[value=emma],body.dark #agent-selector option[value=carlos],body.dark #agent-selector option[value=diana]{background-color:var(--color-surface)}body.dark .spinner{border-color:var(--color-border);border-top-color:var(--color-accent)}body.dark .toggle-label,body.dark .day-name,body.dark .resource-name,body.dark .day-title,body.dark .view-header h2,body.dark .view-header h3,body.dark .view-panel h2{color:var(--color-text)}body.dark .day-status,body.dark .time-input-group label,body.dark .day-header-clickable .day-name,body.dark .help-text,body.dark .view-description{color:var(--color-text-muted)}body.dark .professional-badge:hover{border-color:var(--color-text-muted);background:var(--color-bg)}body.dark .professional-badge.active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-muted)}body.dark .btn-outline,body.dark .form-actions .btn-secondary,body.dark .time-input{border-color:var(--color-border)}body.dark .data-table tbody,body.dark .data-table tbody tr{background-color:var(--color-surface)}body.dark .data-table tbody tr:nth-child(2n){background-color:#ffffff08}body.dark .data-table tbody tr:hover{background-color:var(--color-bg)}body.dark .data-table td,body.dark .data-table td a,body.dark .data-table td span{color:var(--color-text)}body.dark .status-badge{opacity:.95}body.dark .status-badge.status-draft{background:#e9ecef!important;color:#5a6268!important}body.dark .status-badge.status-sent{background:#cce5ff!important;color:#004085!important}body.dark .status-badge.status-paid,body.dark .status-badge.status-completed{background:#d4edda!important;color:#2d5a3d!important}body.dark .status-badge.status-pending{background:#fff3cd!important;color:#856404!important}body.dark .status-badge.status-overdue{background:#f8d7da!important;color:#721c24!important}body.dark .status-badge.status-cancelled{background:#e9ecef!important;color:#5a6268!important}body.dark .status-badge.status-submitted{background:#d4edda!important;color:#2d5a3d!important}body.dark .status-badge.status-calculated,body.dark .status-badge.status-generated,body.dark .status-generated{background:#cce5ff!important;color:#004085!important}body.dark .status-badge.status-accepted{background:#d4edda!important;color:#2d5a3d!important}body.dark .status-badge.status-rejected{background:#f8d7da!important;color:#721c24!important}body.dark .modelos-fiscales .status-submitted{background:#e2d9f3!important;color:#563d7c!important}body.dark .rule-card .status-active,body.dark .status-badge.status-active{background:#d4edda!important;color:#2d5a3d!important}body.dark .rule-card .status-inactive,body.dark .status-badge.status-inactive{background:#e9ecef!important;color:#5a6268!important}body.dark [title]:hover:before,body.dark .tooltip{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}body.dark .empty-state,body.dark .no-data,body.dark .no-results{color:var(--color-text-muted)}body.dark .btn-icon:hover{background-color:var(--color-accent-soft)}body.dark .modal-overlay{background-color:#000000b3}body.dark .search-input{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}body.dark .search-input::placeholder{color:var(--color-text-muted)}body.dark .view-actions .btn,body.dark .header-actions .btn{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}body.dark .view-actions .btn:hover,body.dark .header-actions .btn:hover{background-color:var(--color-bg)}body.dark .nav-tabs,body.dark .tab-list{border-bottom-color:var(--color-border)}body.dark .nav-tab,body.dark .tab-item{color:var(--color-text-muted)}body.dark .nav-tab:hover,body.dark .tab-item:hover{background-color:var(--color-bg);color:var(--color-text)}body.dark .nav-tab.active,body.dark .tab-item.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}body.dark .dropdown-menu,body.dark .context-menu{background-color:var(--color-surface);border-color:var(--color-border);box-shadow:0 4px 12px #0006}body.dark .dropdown-item,body.dark .context-menu-item{color:var(--color-text)}body.dark .dropdown-item:hover,body.dark .context-menu-item:hover{background-color:var(--color-bg)}body.dark .pagination-btn,body.dark .page-link{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}body.dark .pagination-btn:hover,body.dark .page-link:hover{background-color:var(--color-bg)}body.dark .pagination-btn.active,body.dark .page-link.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}body.dark hr,body.dark .divider,body.dark .separator{border-color:var(--color-border);background-color:var(--color-border)}body.dark .message pre,body.dark .message code{background-color:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}body.dark fieldset{border-color:var(--color-border)}body.dark legend{color:var(--color-text)}body.dark .main-content select,body.dark .view-panel select,body.dark .modal select{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}body.dark .accordion-header,body.dark .collapsible-header{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}body.dark .accordion-content,body.dark .collapsible-content{background-color:var(--color-bg);border-color:var(--color-border)}body.dark .info-box,body.dark .callout{background-color:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}body.dark .calendar-cell{background-color:var(--color-surface);border-color:var(--color-border)}body.dark .calendar-cell.today{background-color:#7aa8c81a}body.dark .calendar-cell.other-month{background-color:var(--color-bg);color:var(--color-text-muted)}body.dark td,body.dark th,body.dark li,body.dark p,body.dark span:not(.status-badge):not([class*=badge]),body.dark div:not([class*=sidebar]):not([class*=header]):not([class*=message]){color:inherit}body.dark .main-content,body.dark .main-view,body.dark #main-view,body.dark .panel-container,body.dark #panel-container{background-color:var(--color-bg);color:var(--color-text)}body.dark .calendar-grid{background-color:var(--color-surface)}body.dark .calendar-grid td{background-color:var(--color-surface);border-color:var(--color-border)}body.dark .calendar-grid th{background-color:var(--color-bg);color:var(--color-text-muted);border-color:var(--color-border)}body.dark .calendar-grid th.hour-col{background-color:var(--color-bg);border-color:var(--color-border)}body.dark .hour-cell{background-color:var(--color-bg);color:var(--color-text-muted);border-color:var(--color-border)}body.dark .calendar-cell{background-color:var(--color-surface)}body.dark .calendar-cell:hover{background-color:var(--color-bg)}body.dark .calendar-cell.has-event{background-color:var(--color-surface)}body.dark .calendar-cell.has-event:hover{background-color:var(--color-bg)}body.dark .calendar-cell.current-hour{background-color:#7aa8c833!important;border-color:#7aa8c866}body.dark .calendar-cell.current-hour:hover{background-color:#7aa8c84d!important}body.dark .calendar-header,body.dark .calendar-header-week,body.dark .calendar-header-day{background-color:var(--color-surface);border-color:var(--color-border)}body.dark .date-label{color:var(--color-text)}body.dark .calendar-filters{background-color:var(--color-surface)}body.dark .calendar-filters label{color:var(--color-text-muted)}body.dark .resource-filter-select{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}body.dark .calendar-event{box-shadow:0 1px 2px #0006,0 1px 3px 1px #0000004d}body.dark .calendar-event:hover{box-shadow:0 1px 3px #0006,0 4px 8px 3px #0000004d}body.dark .calendar-table-day,body.dark .calendar-table-day td{background-color:var(--color-surface);border-color:var(--color-border)}body.dark .calendar-table-day .resource-col{background-color:var(--color-bg)}body.dark .calendar-nav button,body.dark .day-navigation button{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}body.dark .calendar-nav button:hover,body.dark .day-navigation button:hover,body.dark .calendar-container,body.dark .calendar-view,body.dark #calendar-container{background-color:var(--color-bg)}body.dark .day-header-clickable{background-color:var(--color-bg);color:var(--color-text)}body.dark .day-header-clickable .day-number{color:var(--color-text)}body.dark .calendar-cell.drop-target{background-color:#7aa8c833}.voice-button{position:relative;width:36px;height:36px;border-radius:50%;background:var(--color-bg);border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);margin:0 4px;box-shadow:none}.voice-button:hover{background:var(--color-border);color:var(--color-text)}.voice-button:active{transform:scale(.95)}.voice-button.recording{background:var(--color-error-soft);color:var(--color-error);animation:pulse 1.5s infinite}@keyframes pulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 15px #ef444400}to{box-shadow:0 0 #ef444400}}.voice-button .mic-icon,.voice-button .recording-icon{display:flex;align-items:center;justify-content:center;line-height:1}.recording-indicator{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-surface);padding:10px 20px;border-radius:20px;display:flex;align-items:center;gap:10px;z-index:1000;animation:slideUp .3s ease;white-space:nowrap}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.recording-dot{width:10px;height:10px;background:var(--color-error);border-radius:50%;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.recording-text{font-size:14px;font-weight:500}.cancel-btn{background:none;border:none;color:var(--color-error);cursor:pointer;font-size:20px;padding:0;margin-left:10px;transition:color var(--transition-fast)}.cancel-btn:hover{color:var(--color-error);filter:brightness(.8)}.message-input.receiving-voice{border-color:var(--color-success)!important;background:var(--color-success-soft);animation:voiceGlow 2s ease-in-out infinite}@keyframes voiceGlow{0%,to{box-shadow:0 0 5px var(--color-success-soft)}50%{box-shadow:0 0 20px var(--color-success-soft)}}#audio-visualizer{position:absolute;bottom:100px;left:50%;transform:translate(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:999}.voice-notification{position:fixed;top:20px;right:20px;padding:15px 20px;border-radius:var(--radius-lg);background:var(--color-text);color:var(--color-surface);font-size:14px;z-index:10000;animation:slideInRight .3s ease;box-shadow:var(--shadow-lg);max-width:300px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.voice-notification-error{background:var(--color-error);color:#fff}.voice-notification-info{background:var(--color-info);color:#fff}.voice-notification-warning{background:var(--color-warning);color:#fff}.voice-notification-success{background:var(--color-success);color:#fff}.voice-notification.fade-out{animation:fadeOut .3s ease}@keyframes fadeOut{to{opacity:0;transform:translate(100%)}}.message-form{display:flex;align-items:center;gap:8px}@media(max-width:768px){.voice-button{width:40px;height:40px}.recording-indicator{bottom:70px;left:10px;right:10px;transform:none}#audio-visualizer{width:90%;left:5%;transform:none}.voice-notification{top:10px;right:10px;left:10px;max-width:none}}body.dark .voice-button{background:var(--color-surface);color:var(--color-text-muted)}body.dark .voice-button:hover{background:var(--color-border);color:var(--color-text)}body.dark .voice-button.recording{background:var(--color-error-soft);color:var(--color-error)}body.dark .recording-indicator{background:var(--color-surface);color:var(--color-text)}body.dark #audio-visualizer{background:var(--color-surface);border-color:var(--color-border)}@media(prefers-reduced-motion:reduce){.voice-button,.recording-indicator,.voice-notification{animation:none}.voice-button.recording{animation:none;border:2px solid var(--color-error)}.recording-dot{animation:none;opacity:1}.message-input.receiving-voice{animation:none}}.permission-required{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:var(--color-warning);color:#fff;padding:5px 10px;border-radius:var(--radius-sm);font-size:12px;white-space:nowrap}.permission-required:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);border-top:5px solid var(--color-warning);border-left:5px solid transparent;border-right:5px solid transparent}.voice-button:disabled{opacity:.5;cursor:not-allowed}.voice-button:focus{outline:2px solid var(--color-accent-soft);outline-offset:2px}.voice-button[title]:hover:before{content:attr(title);position:absolute;bottom:120%;left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-surface);padding:8px 12px;border-radius:var(--radius-md);font-size:12px;white-space:nowrap;z-index:1001;pointer-events:none}.voice-button[title]:hover:after{content:"";position:absolute;bottom:110%;left:50%;transform:translate(-50%);border-top:6px solid var(--color-text);border-left:6px solid transparent;border-right:6px solid transparent;z-index:1001;pointer-events:none}.tts-button{position:relative;width:36px;height:36px;border-radius:50%;background:var(--color-bg);border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);margin:0 4px;box-shadow:none}.tts-button:hover{background:var(--color-border);color:var(--color-text)}.tts-button:active{transform:scale(.95)}.tts-button.active{background:var(--color-success-soft);color:var(--color-success)}.tts-button.active:hover{background:var(--color-success-soft);filter:brightness(.95)}.tts-button:disabled{opacity:.5;cursor:not-allowed}.tts-button:focus{outline:2px solid var(--color-accent-soft);outline-offset:2px}.tts-button svg{display:flex;align-items:center;justify-content:center;line-height:1}body.dark .tts-button{background:var(--color-surface);color:var(--color-text-muted)}body.dark .tts-button:hover{background:var(--color-border);color:var(--color-text)}body.dark .tts-button.active{background:var(--color-success-soft);color:var(--color-success)}@media(max-width:768px){.tts-button{width:40px;height:40px}}.tts-button[title]:hover:before{content:attr(title);position:absolute;bottom:120%;left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-surface);padding:8px 12px;border-radius:var(--radius-md);font-size:12px;white-space:nowrap;z-index:1001;pointer-events:none}.tts-button[title]:hover:after{content:"";position:absolute;bottom:110%;left:50%;transform:translate(-50%);border-top:6px solid var(--color-text);border-left:6px solid transparent;border-right:6px solid transparent;z-index:1001;pointer-events:none}.portal-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.portal-stats-grid .stat-card{background:var(--card-bg, #fff);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a}.portal-stats-grid .stat-icon{font-size:2rem;width:56px;height:56px;background:var(--primary-light, #e0f2fe);border-radius:12px;display:flex;align-items:center;justify-content:center}.portal-stats-grid .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary, #111);display:block}.portal-stats-grid .stat-label{font-size:.85rem;color:var(--text-secondary, #666)}.portals-table{margin-top:0}.portal-customer-cell{display:flex;flex-direction:column;gap:2px}.portal-customer-name{font-weight:600;color:var(--text-primary, #111)}.portal-customer-email{font-size:.85rem;color:var(--text-secondary, #666)}.badge-inactive{background:var(--danger-light, #fee2e2);color:var(--danger, #dc2626);padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;margin-left:8px}.share-instructions{margin-bottom:16px;color:var(--text-secondary, #666)}.share-link-container{display:flex;gap:8px;margin-bottom:16px}.share-link-input{flex:1;padding:12px 16px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:.9rem;background:var(--bg-secondary, #f9fafb)}.share-buttons{display:flex;gap:12px;margin-bottom:16px}.share-buttons .btn{flex:1}.share-note{text-align:center;color:var(--text-secondary, #888)}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px}.activity-list{margin-top:16px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--border-color, #f0f0f0);font-size:.9rem}.activity-icon{width:32px;height:32px;background:var(--bg-secondary, #f0f0f0);border-radius:50%;display:flex;align-items:center;justify-content:center}.activity-info{flex:1}.activity-date{color:var(--text-secondary, #888);font-size:.8rem}.detail-section{margin-bottom:24px}.detail-section h4{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--text-primary, #111)}.detail-section p{margin:8px 0;color:var(--text-secondary, #666)}.text-muted{color:var(--text-secondary, #888)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary, #111)}.form-select,.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:.9rem;background:var(--card-bg, #fff);color:var(--text-primary, #111)}.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px var(--primary-light, rgba(37, 99, 235, .1))}.form-hint{display:block;margin-top:4px;font-size:.8rem;color:var(--text-secondary, #888)}#view-customer-portals{max-width:1200px;margin:0 auto}#view-customer-portals .view-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}#view-customer-portals .view-title h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary, #111)}#view-customer-portals .view-subtitle{margin:4px 0 0;color:var(--text-secondary, #666)}#view-customer-portals .view-actions{display:flex;gap:8px}.login-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;position:relative;overflow:hidden}.login-page.bg-faktum{background:radial-gradient(ellipse at center,#6079ab,#0d1520 70%,#080c12)}.login-page.bg-salonia{background:radial-gradient(ellipse at center,#a14949,#1a0d0d 70%,#0f0808)}.login-container{background:#fafafaf2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.18);width:100%;max-width:365px;padding:48px;animation:loginSlideIn .4s ease-out;position:relative;z-index:10}@keyframes loginSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:28px;font-weight:600;color:#1d1d1f;margin-bottom:8px;letter-spacing:-.5px}.login-container .nexus-logo,.login-container .vertical-logo{height:140px;width:auto;display:block;margin:0 auto;filter:none}.login-logo-text{display:block;text-align:center;font-family:Poppins,sans-serif;font-weight:600;line-height:1.2;margin:0 auto 10px}.login-logo-faktum{font-size:54px;color:#6079ab;letter-spacing:-1px}.login-logo-salonia{font-size:56px;color:#a14949;letter-spacing:-1.9px}.login-header p{color:#86868b;font-size:14px;font-weight:400;margin-top:12px}.login-container .form-group{margin-bottom:20px}.login-container .form-group label{display:block;margin-bottom:5px;color:#1d1d1f;font-weight:400;font-size:13px;text-transform:uppercase}.password-input-wrapper{position:relative}.login-container .form-group input{width:100%;padding:10px 14px;border:1.5px solid #d2d2d7;border-radius:10px;font-size:15px;background:#fff;color:#1d1d1f;transition:all .2s ease;outline:none}.password-input-wrapper input{padding-right:48px}.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:18px;color:#86868b;padding:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none;opacity:.7;display:flex;align-items:center;justify-content:center}.toggle-password:hover{color:#515154;opacity:1}.toggle-password:active{transform:translateY(-50%) scale(.95)}.login-container .form-group input:focus{border-color:#86868b;background-color:#fafafa;box-shadow:none}.login-container .form-group input:-webkit-autofill,.login-container .form-group input:-webkit-autofill:hover,.login-container .form-group input:-webkit-autofill:focus,.login-container .form-group input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #fafafa inset!important;-webkit-text-fill-color:#1d1d1f!important;box-shadow:0 0 0 30px #fafafa inset!important;border-color:#86868b!important;transition:background-color 5000s ease-in-out 0s}.login-container .form-group input:disabled{background-color:#f5f5f7;cursor:not-allowed;opacity:.6}.btn-login{width:100%;padding:12px;background:#f6f6f6;color:#62657e;border:1.5px solid #e5e5e7;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:8px;text-transform:uppercase;letter-spacing:.6px}.btn-login:hover:not(:disabled){background:#f5f5f7;border-color:#86868b;box-shadow:0 2px 8px #0000000a}.btn-login:active:not(:disabled){transform:scale(.98);background:#ebebed}.btn-login:disabled{background:#f5f5f7;color:#86868b;border-color:#e5e5e7;cursor:not-allowed;opacity:.6}.btn-login.loading{position:relative;color:transparent}.btn-login.loading:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:2px solid #e5e5e7;border-top-color:#86868b;border-radius:50%;animation:loginSpin .8s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-container .alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;animation:loginSlideIn .3s ease-out}.login-container .alert-error{background-color:#fef5f5;border:1px solid #edd;color:#a55}.login-container .alert-success{background-color:#f5fef5;border:1px solid #dee;color:#5a5}.login-container .footer{margin-top:24px;text-align:center;color:#86868b;font-size:13px;font-weight:400}.login-container .footer p{margin:0;font-size:11px}.login-loading{text-align:center;padding:40px;color:#86868b}@media(max-width:480px){.login-container{margin:20px;padding:30px 24px}.login-header h1{font-size:28px}}.sidebar-header .vertical-logo{height:auto;width:100%;max-width:169px;display:block;margin:0 auto 10px;color:#ffffffe6;filter:brightness(0) invert(1) opacity(.9)}.sidebar-header .vertical-logo-text{display:block;font-family:Poppins,sans-serif;font-weight:600;color:#ffffffe6;margin:0 auto 10px;line-height:1.2}.sidebar-header .logo-faktum{font-size:47px;letter-spacing:-1px;opacity:.9}.sidebar-header .logo-salonia{font-size:47px;letter-spacing:-1.9px;opacity:.9}th,table th,thead th,.data-table th,.services-table th,.customers-table th,.users-table th,.inventory-table th,.transactions-table th,.appointments-table th,.analytics-table th,.facturas-table th,.gastos-table th,.modelos-table th{text-transform:uppercase!important;font-weight:400!important;letter-spacing:.6px!important}.plan-indicator{margin-top:8px}.plan-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-badge.plan-lite{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.plan-badge.plan-vertical{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.plan-badge.plan-enterprise{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.theme-selector-container{margin-top:12px;display:flex;flex-direction:column;gap:4px}.theme-selector-container label{font-size:.85rem;color:var(--sidebar-text-muted, rgba(255, 255, 255, .7))}.nav-list-empty{display:block;padding:8px 12px;color:var(--sidebar-text-muted, rgba(255, 255, 255, .5));font-size:.85rem;font-style:italic}.location-icon{font-size:1.4rem;flex-shrink:0;filter:grayscale(1) brightness(1.5);margin-right:5px}.main-view{overflow-y:auto}.panel-container{opacity:1;transition:opacity .15s ease-out}.panel-container.view-transitioning{opacity:0}.sidebar .loading-state{padding:20px;text-align:center;color:var(--sidebar-text-muted, rgba(255, 255, 255, .7))}html,body,#root{height:100%;height:100dvh;margin:0;padding:0;overflow:hidden}.container{min-height:100vh;min-height:100dvh}.sidebar-settings{padding:0 12px}.sidebar-settings h3{font-size:.75rem;color:var(--sidebar-text-muted, rgba(255, 255, 255, .5));text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.sidebar-settings .setting-item{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-settings .setting-item:last-child{border-bottom:none}.sidebar-settings .setting-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;width:100%}.sidebar-settings .setting-label{font-size:.85rem;color:var(--sidebar-text, rgba(255, 255, 255, .9))}.sidebar-settings .toggle-switch{position:relative;width:40px;height:22px;background:#fff3;border:none;border-radius:11px;cursor:pointer;transition:background .2s ease;padding:0}.sidebar-settings .toggle-switch.active{background:var(--color-primary, #6366f1)}.sidebar-settings .toggle-switch .toggle-slider{position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s ease}.sidebar-settings .toggle-switch.active .toggle-slider{transform:translate(18px)}.sidebar-settings .setting-select{width:100%;padding:6px 10px;margin-top:6px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:var(--sidebar-text, rgba(255, 255, 255, .9));font-size:.85rem;cursor:pointer}.sidebar-settings .setting-select:focus{outline:none;border-color:var(--color-primary, #6366f1)}.sidebar-settings .setting-select option{background:var(--sidebar-bg, #1e1e2f);color:var(--text-primary, #e0e0e0)}.sidebar-settings .token-counter{display:flex;align-items:center;justify-content:space-between}.sidebar-settings .token-value{font-family:Fira Code,Consolas,monospace;font-size:.9rem;font-weight:600;color:var(--color-primary, #6366f1);background:#6366f126;padding:2px 8px;border-radius:4px}.container.mobile-landscape{flex-direction:row}.container.mobile-landscape .main-content{width:100%;height:100%}.container.mobile-landscape .content-wrapper{height:100%;flex:1}.chat-sidebar.mobile-landscape-active{position:absolute;inset:0;width:100%!important;height:100%;z-index:100;transform:none!important}.chat-sidebar.mobile-landscape-active .chat-sidebar-content{width:100%;flex:1}.chat-sidebar.mobile-landscape-hidden{position:absolute;top:0;right:0;bottom:0;width:auto;height:100%;z-index:100;background:transparent}.chat-sidebar.mobile-landscape-hidden .chat-sidebar-content{display:none}.chat-toggle-bar.mobile-landscape-toggle{width:36px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--sidebar-bg, #1e1e2f);border-left:2px solid var(--color-primary, #6366f1);cursor:pointer;touch-action:manipulation}.chat-toggle-bar.mobile-landscape-toggle:active{background:#6366f14d}.chat-toggle-bar.mobile-landscape-toggle .toggle-icon{font-size:1.2rem}.chat-toggle-bar.mobile-landscape-toggle .toggle-label{font-size:1.5rem}.container.mobile-landscape .main-view{position:absolute;inset:0 36px 0 0;width:auto;height:100%;z-index:50}.sidebar-config-btn{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px 7px 18px;background:none;border:none;border-radius:6px;color:var(--sidebar-text, rgba(255, 255, 255, .9));font-size:var(--font-size-md, 12px);font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;text-transform:uppercase;letter-spacing:.06em}.sidebar-config-btn:hover{background:#ffffff1a}.sidebar-config-btn .config-icon{font-size:1.1rem}.sidebar-actions{margin-top:auto;padding:12px 12px 5px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}.sidebar-actions .logout-button{border:1px solid rgba(255,255,255,.15)!important;border-radius:6px;margin-top:0!important}.sidebar-actions .logout-button:hover{border-color:#ffffff40!important}body:not(.dark) .sidebar-actions .logout-button{border-color:#0000001a!important}body:not(.dark) .sidebar-actions .logout-button:hover{border-color:#0003!important}.sidebar-actions .powered-by{display:block;text-align:center;font-size:.7rem;color:var(--sidebar-text-muted, rgba(255, 255, 255, .4));margin-top:7px}.sidebar-views-accordion{padding:0 8px;margin-top:20px;flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-views-accordion h3{font-size:.75rem;color:var(--sidebar-text-muted, rgba(255, 255, 255, .5));text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding:0 4px}.accordion-group{margin-bottom:2px;border-radius:6px;overflow:hidden}.accordion-group.has-active .accordion-header{background:#6366f11a}.accordion-header{display:flex;align-items:center;gap:7px;width:100%;padding:5px 10px;background:transparent;border:none;border-radius:6px;color:var(--sidebar-text, rgba(255, 255, 255, .9));font-size:var(--font-size-md, 12px);font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;text-transform:uppercase;letter-spacing:.06em}.accordion-header:hover{background:#ffffff1a}.accordion-icon{font-size:1.1rem;min-width:20px;text-align:center;border-radius:100%;padding:3px;background:#0002}.accordion-name{flex:1}.accordion-chevron{color:var(--sidebar-text-muted, rgba(255, 255, 255, .5));transition:transform .2s ease}.accordion-chevron.rotated{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .25s ease-out}.accordion-content.expanded{max-height:500px;transition:max-height .3s ease-in}.accordion-content .nav-list{list-style:none;margin:0;padding:0 0 4px}.accordion-content .nav-list li{margin:0}.accordion-content .nav-list a{display:flex;align-items:center;gap:0;padding:6px 10px 6px 20px;color:var(--sidebar-text, rgba(255, 255, 255, .85));text-decoration:none;font-size:var(--font-size-lg, 14px);border-radius:4px;transition:all .15s ease}.accordion-content .nav-list a:hover{background:#ffffff14}.accordion-content .nav-list a.active{background:var(--color-primary, #6366f1);color:#fff;font-weight:500}.accordion-content .nav-list a .nexus-icon{font-size:.9rem;min-width:18px;text-align:center}.ungrouped-views{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid rgba(255,255,255,.1)}.ungrouped-views li a{display:flex;align-items:center;gap:8px;padding:8px 10px;color:var(--sidebar-text, rgba(255, 255, 255, .85));text-decoration:none;font-size:.85rem;border-radius:6px;transition:all .15s ease}.ungrouped-views li a:hover{background:#ffffff1a}.ungrouped-views li a.active{background:var(--color-primary, #6366f1);color:#fff}.sidebar-views-accordion::-webkit-scrollbar{width:4px}.sidebar-views-accordion::-webkit-scrollbar-track{background:transparent}.sidebar-views-accordion::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.sidebar-views-accordion::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.accordion-header,.sidebar-config-btn,.data-table thead,.services-table thead,.customers-table thead,.users-table thead,.inventory-table thead,.transactions-table thead,.appointments-table thead,.analytics-table thead,.facturas-table thead,.gastos-table thead,.modelos-table thead{box-shadow:inset 24px 6px 20px -25px #333,inset -20px 0 33px -7px #444}:root{--sidebar-width: 197px;--chat-width: 360px;--header-height: 80px;--mobile-header-height: 56px}@media(max-width:767px)and (orientation:portrait){:root{--sidebar-overlay-width: 280px;--chat-width: 100%;--header-height: 56px}}@media(max-height:500px)and (orientation:landscape){:root{--sidebar-overlay-width: 250px;--chat-width: 100%;--header-height: 0px}}.layout-portrait{width:100vw;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--content-bg, #f5f5f5)}.portrait-chat{display:flex;flex-direction:column;height:100%;background:var(--chat-bg, #1a1a2e)}.portrait-chat-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--sidebar-bg, #1a1a2e);border-bottom:1px solid var(--border-color, rgba(255,255,255,.1));min-height:var(--mobile-header-height);flex-shrink:0}.portrait-chat-header .portrait-title{font-size:18px;font-weight:600;color:var(--text-primary, #fff);flex:1}.portrait-panel{display:flex;flex-direction:column;height:100%}.portrait-panel-header{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--header-bg, #1a1a2e);border-bottom:1px solid var(--border-color, rgba(255,255,255,.1));min-height:var(--mobile-header-height);flex-shrink:0}.portrait-panel-header .portrait-title{font-size:16px;font-weight:600;color:var(--text-primary, #fff);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portrait-panel-content{flex:1;overflow:auto;background:var(--content-bg, #f5f5f5);-webkit-overflow-scrolling:touch}.hamburger-btn,.chat-return-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--text-primary, #fff);cursor:pointer;flex-shrink:0;transition:background .15s ease}.hamburger-btn:hover,.chat-return-btn:hover{background:#ffffff1a}.hamburger-btn:active,.chat-return-btn:active{background:#fff3}.hamburger-btn svg,.chat-return-btn svg{width:24px;height:24px}.chat-return-btn{position:relative}.chat-return-btn .chat-icon{font-size:20px}.sidebar-overlay{position:fixed;inset:0;z-index:1000;display:flex}.sidebar-overlay-backdrop{position:absolute;inset:0;background:#0009;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay-content{position:relative;width:var(--sidebar-overlay-width, 280px);max-width:85vw;height:100%;background:var(--sidebar-bg, #1a1a2e);animation:slideInLeft .25s ease-out;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;box-shadow:4px 0 20px #0000004d}.sidebar-overlay-content .sidebar-close-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:var(--text-primary, #fff);cursor:pointer;z-index:10;transition:background .15s ease}.sidebar-overlay-content .sidebar-close-btn:hover{background:#fff3}.sidebar-overlay-content .sidebar-close-btn svg{width:18px;height:18px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}.sidebar-overlay-content .sidebar{width:100%;height:100%;flex:0 0 100%}.sidebar-overlay-content .sidebar-header{padding-top:16px}.sidebar-overlay-content .nexus-logo,.sidebar-overlay-content .vertical-logo{max-height:50px}.layout-landscape{width:100vw;height:100dvh;display:flex;overflow:hidden;position:relative}.landscape-panel{flex:1;display:flex;flex-direction:column;position:relative;height:100%}.landscape-panel-content{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.landscape-chat{flex:1;display:flex;height:100%}.landscape-hamburger{position:absolute;top:8px;left:8px;z-index:10;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .15s ease}.landscape-hamburger:hover{background:#000c}.landscape-hamburger svg{width:20px;height:20px}.landscape-toggle{width:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--sidebar-bg, #1a1a2e);border-left:2px solid var(--color-primary, #6366f1);cursor:pointer;color:#fff;flex-shrink:0;transition:background .15s ease}.landscape-toggle:hover{background:#6366f133}.landscape-toggle:active{background:#6366f14d}.landscape-toggle .toggle-icon{font-size:1.2rem}.landscape-toggle .toggle-label{font-size:1.4rem}.chat-sidebar.fullscreen-mode{width:100%!important;min-width:unset!important;max-width:unset!important;height:100%;border:none!important;border-radius:0!important}.chat-sidebar.fullscreen-mode .chat-toggle-bar{display:none!important}.chat-sidebar.fullscreen-mode .chat-sidebar-content{width:100%;height:100%;display:flex;flex-direction:column}.chat-sidebar.fullscreen-mode .chat-sidebar-header{display:none}.chat-sidebar.fullscreen-mode .messages-area{flex:1;padding:12px}.chat-sidebar.fullscreen-mode .message-form{padding:12px;border-top:1px solid var(--border-color, rgba(255,255,255,.1))}.chat-sidebar.fullscreen-mode .message-input{font-size:16px}.fullscreen-status{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--status-bg, rgba(99, 102, 241, .1));border-bottom:1px solid var(--border-color, rgba(255,255,255,.1));font-size:.9rem;color:var(--text-secondary, rgba(255,255,255,.8))}.fullscreen-status .status-icon{font-size:1.1rem}.fullscreen-status .typing-dots{display:inline-flex;gap:3px;margin-left:4px}.fullscreen-status .typing-dots span{width:6px;height:6px;background:var(--color-primary, #6366f1);border-radius:50%;animation:typingDot 1.2s infinite ease-in-out}.fullscreen-status .typing-dots span:nth-child(2){animation-delay:.2s}.fullscreen-status .typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@media(max-width:767px){.panel-container{padding:12px}.data-table-container,.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.cards-grid,.metrics-grid,.stats-grid{grid-template-columns:1fr!important;gap:12px}.form-row,.filter-row{flex-direction:column;gap:12px}.form-row>*,.filter-row>*{width:100%!important;min-width:unset!important}.btn,button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px;min-height:44px}}body.dark .portrait-panel-content{background:var(--bg-primary, #121212)}body.dark .sidebar-overlay-backdrop{background:#000c}@supports (padding: env(safe-area-inset-top)){.portrait-chat-header,.portrait-panel-header{padding-top:max(12px,env(safe-area-inset-top))}.portrait-panel-content{padding-bottom:env(safe-area-inset-bottom)}.sidebar-overlay-content{padding-left:env(safe-area-inset-left)}.landscape-toggle{padding-right:env(safe-area-inset-right)}}@media(max-width:767px),(max-height:500px)and (orientation:landscape){.hide-mobile{display:none!important}}@media(min-width:768px)and (min-height:501px){.show-mobile-only{display:none!important}}@media(max-width:1023px){.hide-tablet-down{display:none!important}}@media(min-width:1024px){.hide-desktop{display:none!important}}@media(max-width:479px){.col-priority-2{display:none!important}}@media(max-width:767px){.col-priority-3{display:none!important}}@media(max-width:1023px){.col-priority-4{display:none!important}}.responsive-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.responsive-table{width:100%;min-width:100%;border-collapse:collapse}.responsive-table th,.responsive-table td{padding:12px 16px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:767px){.responsive-table th,.responsive-table td{padding:10px 12px;font-size:.9rem}}@media(max-width:767px){.table-to-cards{display:block!important}.table-to-cards thead{display:none!important}.table-to-cards tbody{display:flex;flex-direction:column;gap:12px}.table-to-cards tr{display:flex;flex-direction:column;background:var(--card-bg, #fff);border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000001a}.table-to-cards td{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1));white-space:normal}.table-to-cards td:last-child{border-bottom:none}.table-to-cards td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary, #666);margin-right:12px;flex-shrink:0}.table-to-cards td.cell-actions{justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1));border-bottom:none}.table-to-cards td.cell-actions:before{display:none}}.responsive-grid{display:grid;gap:16px}.responsive-grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.responsive-grid-2{grid-template-columns:repeat(2,1fr)}.responsive-grid-3{grid-template-columns:repeat(3,1fr)}.responsive-grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1023px){.responsive-grid-3,.responsive-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.responsive-grid-2,.responsive-grid-3,.responsive-grid-4{grid-template-columns:1fr}}.responsive-flex{display:flex;gap:16px}.responsive-flex-wrap{flex-wrap:wrap}@media(max-width:767px){.responsive-flex-stack{flex-direction:column}.responsive-flex-stack>*{width:100%!important}}@media(max-width:767px){.responsive-padding{padding:12px!important}.responsive-margin{margin:12px!important}.responsive-gap{gap:12px!important}}@media(max-width:767px){.btn-responsive{width:100%;justify-content:center}.btn-group-responsive{flex-direction:column;width:100%}.btn-group-responsive>*{width:100%}}.form-row-responsive{display:flex;gap:16px;align-items:flex-start}@media(max-width:767px){.form-row-responsive{flex-direction:column}.form-row-responsive>*{width:100%!important}}.form-group-responsive{display:flex;flex-direction:column;gap:6px;flex:1}.form-group-responsive label{font-weight:500;font-size:.9rem;color:var(--text-secondary, #666)}.form-group-responsive input,.form-group-responsive select,.form-group-responsive textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:16px}.nexus-modal.fullscreen-mobile .modal-dialog,.modal.fullscreen-mobile .modal-dialog{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;margin:0!important;border-radius:0!important}.nexus-modal.fullscreen-mobile .modal-content,.modal.fullscreen-mobile .modal-content{width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;display:flex;flex-direction:column}.nexus-modal.fullscreen-mobile .modal-header,.modal.fullscreen-mobile .modal-header{flex-shrink:0;padding:16px;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.nexus-modal.fullscreen-mobile .modal-body,.modal.fullscreen-mobile .modal-body{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.nexus-modal.fullscreen-mobile .modal-footer,.modal.fullscreen-mobile .modal-footer{flex-shrink:0;padding:16px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1));display:flex;flex-direction:column;gap:8px}.nexus-modal.fullscreen-mobile .modal-footer button,.modal.fullscreen-mobile .modal-footer button{width:100%;min-height:48px}.nexus-modal.fullscreen-mobile .modal-backdrop{display:none}@media(max-width:767px){.calendar-responsive .calendar-week-view,.calendar-responsive .calendar-month-view{display:none!important}.calendar-responsive .calendar-day-view{display:block!important}.calendar-day-list{display:flex;flex-direction:column;gap:8px}.calendar-day-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--card-bg, #fff);border-radius:10px;box-shadow:0 2px 6px #00000014}.calendar-day-time{font-weight:600;color:var(--color-primary, #6366f1);min-width:60px}.calendar-day-content{flex:1;min-width:0}.calendar-day-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day-subtitle{font-size:.85rem;color:var(--text-secondary, #666)}}@media(max-width:767px){.appointments-card{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--card-bg, #fff);border-radius:12px;box-shadow:0 2px 8px #0000001a}.appointments-card-header{display:flex;justify-content:space-between;align-items:flex-start}.appointments-card-time{font-weight:600;color:var(--color-primary, #6366f1)}.appointments-card-status{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.appointments-card-client{font-size:1.1rem;font-weight:600}.appointments-card-service{color:var(--text-secondary, #666);font-size:.9rem}.appointments-card-actions{display:flex;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1))}.appointments-card-actions button{flex:1;min-height:40px}}@media(max-width:767px){.customer-card{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--card-bg, #fff);border-radius:12px;box-shadow:0 2px 8px #0000001a}.customer-card-header{display:flex;align-items:center;gap:12px}.customer-card-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-primary, #6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;flex-shrink:0}.customer-card-info{flex:1;min-width:0}.customer-card-name{font-weight:600;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-card-email{color:var(--text-secondary, #666);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-card-phone{display:flex;align-items:center;gap:6px;color:var(--text-secondary, #666);font-size:.9rem;margin-top:4px}.customer-card-actions{display:flex;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1))}}@media(max-width:767px){.invoice-card{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--card-bg, #fff);border-radius:12px;box-shadow:0 2px 8px #0000001a}.invoice-card-header{display:flex;justify-content:space-between;align-items:flex-start}.invoice-card-number{font-weight:600;color:var(--color-primary, #6366f1)}.invoice-card-status{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.invoice-card-status.paid{background:#22c55e26;color:#22c55e}.invoice-card-status.pending{background:#fbbf2426;color:#f59e0b}.invoice-card-status.overdue{background:#ef444426;color:#ef4444}.invoice-card-client{font-size:1.05rem;font-weight:500}.invoice-card-details{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.invoice-card-date{color:var(--text-secondary, #666);font-size:.85rem}.invoice-card-amount{font-weight:700;font-size:1.1rem;color:var(--text-primary, #1a1a2e)}.invoice-card-actions{display:flex;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1))}}body.dark .table-to-cards tr,body.dark .appointments-card,body.dark .customer-card,body.dark .invoice-card{background:var(--card-bg-dark, #1e1e2e);box-shadow:0 2px 8px #0000004d}body.dark .table-to-cards td,body.dark .appointments-card-actions,body.dark .customer-card-actions,body.dark .invoice-card-actions{border-color:#ffffff1a}.responsive-table-cards{display:flex;flex-direction:column;gap:12px;padding:4px}.responsive-cards-loading,.responsive-cards-empty{padding:32px 16px;text-align:center;color:var(--text-secondary, #666);background:var(--card-bg, #fff);border-radius:12px}.responsive-card{display:flex;flex-direction:column;background:var(--card-bg, #fff);border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014;transition:transform .15s ease,box-shadow .15s ease}.responsive-card[role=button]{cursor:pointer}.responsive-card[role=button]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.responsive-card[role=button]:active{transform:translateY(0)}.responsive-card-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .08))}.responsive-card-row:last-of-type{border-bottom:none}.responsive-card-label{font-size:.85rem;color:var(--text-secondary, #666);font-weight:500}.responsive-card-value{font-size:.95rem;color:var(--text-primary, #1a1a2e);text-align:right;max-width:60%;word-break:break-word}.responsive-card-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .08))}.responsive-card-actions button{flex:1;min-height:40px}body.dark .responsive-card{background:var(--card-bg-dark, #1e1e2e);box-shadow:0 2px 8px #0000004d}body.dark .responsive-card-row,body.dark .responsive-card-actions{border-color:#ffffff1a}body.dark .responsive-card-value{color:var(--text-primary-dark, #e0e0e0)}.agent-tooltip{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:10px 14px;border-radius:8px;font-size:14px;max-width:300px;animation:agentTooltipIn .3s ease;box-shadow:0 4px 20px #6366f166;pointer-events:none}.agent-tooltip:before{content:"🤖 "}@keyframes agentTooltipIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.highlight-row,tr.highlighted{animation:highlightPulse 2s ease}@keyframes highlightPulse{0%{background-color:transparent}25%{background-color:#6366f14d}50%{background-color:#6366f126}75%{background-color:#6366f140}to{background-color:transparent}}.agent-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#6366f126;border-radius:20px;font-size:12px;color:#a5b4fc}.agent-indicator:before{content:"";width:8px;height:8px;background:#6366f1;border-radius:50%;animation:agentPulse 1.5s infinite}@keyframes agentPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.agent-controlled{position:relative}.agent-controlled:after{content:"🤖";position:absolute;top:-8px;right:-8px;font-size:12px;background:#6366f1;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.agent-controlled:hover:after{opacity:1}.chart-highlight{filter:drop-shadow(0 0 8px rgba(99,102,241,.6))}.agent-focus{outline:2px solid #6366f1;outline-offset:4px;animation:agentFocus .5s ease}@keyframes agentFocus{0%{outline-offset:8px;outline-color:transparent}to{outline-offset:4px;outline-color:#6366f1}}.debug-panel-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:1000;display:flex;justify-content:flex-end;align-items:stretch;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.debug-panel-container{width:850px;max-width:90vw;height:100%;background:#1a1a2e;color:#eee;box-shadow:-4px 0 20px #00000080;display:flex;flex-direction:column}.debug-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#16213e;border-bottom:1px solid #0f3460}.debug-title{display:flex;align-items:center;gap:10px}.debug-title h2{margin:0;font-size:16px;font-weight:600}.debug-icon{font-size:18px}.agent-badge{background:linear-gradient(135deg,#e94560,#0f3460);padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.debug-actions{display:flex;gap:8px}.btn-history{background:#ffffff1a;border:none;color:#aaa;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s}.btn-history:hover{background:#ffffff26;color:#fff}.btn-history.active{background:#e94560;color:#fff}.btn-close{background:none;border:none;color:#888;cursor:pointer;font-size:18px;padding:4px 8px;transition:color .2s}.btn-close:hover{color:#e94560}.debug-timing-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:linear-gradient(90deg,#4fc3f71a,#0f34604d);border-bottom:1px solid #0f3460}.debug-timing-bar .timing-icon{color:#4fc3f7}.timing-phases{display:flex;flex-wrap:wrap;gap:8px;flex:1}.timing-phase{display:flex;flex-direction:column;align-items:center;padding:4px 10px;background:#0003;border-radius:6px;border-left:2px solid #4fc3f7}.timing-phase .phase-label{font-size:9px;color:#888;text-transform:uppercase;letter-spacing:.5px}.timing-phase .phase-value{font-size:12px;font-weight:600;font-family:Fira Code,monospace;color:#4fc3f7}.timing-phase.total{border-left-color:#e94560;background:#e9456026}.timing-phase.total .phase-value{color:#e94560}.timing-phase.routing{border-left-color:#9b59b6}.timing-phase.routing .phase-value{color:#9b59b6}.timing-phase.context{border-left-color:#3498db}.timing-phase.context .phase-value{color:#3498db}.timing-phase.llm{border-left-color:#f39c12}.timing-phase.llm .phase-value{color:#f39c12}.timing-phase.tools{border-left-color:#2ecc71}.timing-phase.tools .phase-value{color:#2ecc71}.timing-phase.handoff{border-left-color:#e74c3c}.timing-phase.handoff .phase-value{color:#e74c3c}.debug-history{background:#0f3460;border-bottom:1px solid #16213e;max-height:200px;overflow-y:auto}.history-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0003;font-size:12px;color:#888}.btn-clear-selection{background:none;border:1px solid #444;color:#888;padding:2px 8px;border-radius:4px;cursor:pointer;font-size:11px}.btn-clear-selection:hover:not(:disabled){border-color:#e94560;color:#e94560}.btn-clear-selection:disabled{opacity:.5;cursor:not-allowed}.history-list{padding:4px 0}.history-item{display:flex;align-items:center;gap:12px;padding:8px 12px;cursor:pointer;transition:background .2s;font-size:12px}.history-item:hover{background:#ffffff0d}.history-item.selected{background:#e9456033;border-left:3px solid #e94560}.history-agent{color:#e94560;font-weight:500;text-transform:capitalize}.history-time{color:#666}.history-tokens{color:#4fc3f7;margin-left:auto}.debug-tabs{display:flex;background:#16213e;overflow-x:auto;border-bottom:1px solid #0f3460;scrollbar-width:none}.debug-tabs::-webkit-scrollbar{display:none}.debug-tab{display:flex;align-items:center;gap:5px;padding:10px 12px;background:none;border:none;color:#666;cursor:pointer;font-size:12px;white-space:nowrap;border-bottom:2px solid transparent;transition:all .2s}.debug-tab:hover{color:#aaa;background:#ffffff08}.debug-tab.active{color:#e94560;border-bottom-color:#e94560}.tab-icon{font-size:14px}.tab-badge{background:#0f3460;padding:2px 6px;border-radius:8px;font-size:10px;color:#4fc3f7}.tab-badge.error{background:#f44336;color:#fff}.debug-content{flex:1;overflow-y:auto;padding:16px}.debug-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center;color:#666}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.debug-empty p{margin:0 0 8px;font-size:14px}.empty-hint{font-size:12px;color:#555}.debug-footer{display:flex;gap:16px;padding:8px 16px;background:#16213e;border-top:1px solid #0f3460;font-size:11px}.footer-item{color:#666}.footer-item.cache{color:#4caf50}.footer-item.viewing-history{color:#ff9800;margin-left:auto}.cognition-panel{display:flex;flex-direction:column;gap:16px}.cognition-section{background:#16213e;border-radius:8px;overflow:hidden}.section-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#0f3460}.section-header.clickable{cursor:pointer}.section-header.clickable:hover{background:#0f4470}.section-icon{font-size:14px}.section-header h3{margin:0;font-size:13px;font-weight:500;flex:1}.section-content{padding:12px}.thinking-section{border:1px solid #e94560;box-shadow:0 0 10px #e9456033}.thinking-section .section-header{background:linear-gradient(90deg,#e945604d,#0f3460)}.thinking-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Fira Code,Monaco,monospace;font-size:13px;line-height:1.6;color:#a8e6cf;background:#0d1b2a;padding:12px;border-radius:6px;max-height:350px;overflow-y:auto}.chain-section{border:1px solid #4fc3f7;box-shadow:0 0 10px #4fc3f733}.chain-section .section-header{background:linear-gradient(90deg,#4fc3f74d,#0f3460)}.chain-content{display:flex;flex-direction:column;gap:12px}.chain-item{background:#0d1b2a;border-radius:8px;border-left:3px solid #4fc3f7;overflow:hidden}.chain-agent-header{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#4fc3f71a}.chain-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#4fc3f7;color:#000;border-radius:50%;font-size:12px;font-weight:600}.chain-agent-name{font-weight:600;color:#4fc3f7;text-transform:capitalize}.chain-tool{font-size:12px;color:#ebcb8b;font-family:Fira Code,monospace}.chain-thinking{margin:0;padding:12px;font-size:12px;line-height:1.5;color:#a8e6cf;white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto}.warning-section{border:1px solid #ff9800}.warning-section .section-header{background:#ff980033}.user-input p{margin:0;color:#88c0d0;font-style:italic}.final-answer p{margin:0;color:#a3be8c}.planned-tool .tool-name{font-weight:600;color:#ebcb8b;font-size:15px;font-family:Fira Code,monospace}.tool-params{margin:10px 0 0;font-size:12px;background:#0d1b2a;padding:10px;border-radius:4px;color:#8fbcbb;white-space:pre-wrap}.no-tool{color:#888;font-style:italic}.btn-expand{background:none;border:none;color:#666;cursor:pointer;padding:4px;font-size:12px}.btn-copy{display:flex;align-items:center;gap:4px;background:#ffffff1a;border:none;color:#aaa;cursor:pointer;padding:6px 10px;border-radius:6px;font-size:12px;transition:all .2s}.btn-copy:hover{background:#ffffff26;color:#4fc3f7}.btn-copy.copied{background:#4caf50;color:#fff}.debug-model-selector{display:flex;align-items:center;gap:6px;background:#ffffff0d;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.debug-model-selector .model-label{font-size:14px}.debug-model-select{background:transparent;border:none;color:#ddd;font-size:11px;min-width:150px;cursor:pointer;outline:none}.debug-model-select option{background:#1a1a2e;color:#ddd}.debug-model-select:hover{color:#fff}.llm-stats{display:flex;flex-direction:column;gap:16px}.llm-stats-empty{display:flex;flex-direction:column;align-items:center;padding:40px;color:#666}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{display:flex;align-items:center;gap:12px;background:#16213e;padding:14px;border-radius:8px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-card.highlight{background:linear-gradient(135deg,#0f3460,#16213e);border:1px solid #e94560}.stat-icon{font-size:20px}.stat-info{display:flex;flex-direction:column}.stat-label{font-size:11px;color:#888;text-transform:uppercase}.stat-value{font-size:16px;font-weight:600;color:#fff}.stat-card.blue .stat-value{color:#5dade2}.stat-card.green .stat-value{color:#58d68d}.stat-card.gold .stat-value{color:#f4d03f}.iterations-info{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#0f3460;border-radius:6px}.iteration-label{color:#888;font-size:12px}.iteration-value{color:#4fc3f7;font-weight:600}.cache-notice{padding:10px;background:#4caf5033;border:1px solid #4CAF50;border-radius:6px;text-align:center;font-size:13px;color:#81c784}.session-info{background:#0f3460;padding:12px;border-radius:6px}.info-row{display:flex;gap:8px;margin-bottom:4px;font-size:12px}.info-row:last-child{margin-bottom:0}.info-label{color:#888}.info-value{color:#aaa;font-family:monospace}.tools-timeline{display:flex;flex-direction:column;gap:10px}.tools-empty{display:flex;flex-direction:column;align-items:center;padding:40px;color:#666}.tool-item{background:#16213e;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}.tool-item:hover{transform:translate(4px)}.tool-item.success{border-left:3px solid #4CAF50}.tool-item.error{border-left:3px solid #f44336}.tool-header{display:flex;align-items:center;gap:10px;padding:12px}.tool-status-icon{font-size:16px}.status-success{color:#4caf50}.status-error{color:#f44336}.tool-info{flex:1}.tool-name{display:block;font-weight:500;color:#ebcb8b;font-family:Fira Code,monospace;font-size:13px}.tool-time{display:block;font-size:11px;color:#888;margin-top:2px}.tool-details{padding:0 12px 12px;border-top:1px solid #0f3460}.tool-section{margin-top:10px}.tool-section .section-label{display:block;font-size:11px;color:#888;margin-bottom:4px;text-transform:uppercase}.tool-section pre{margin:0;font-size:11px;background:#0d1b2a;padding:10px;border-radius:4px;overflow-x:auto;color:#8fbcbb;max-height:200px;overflow-y:auto}.tool-section.error pre{background:#f443361a;color:#ef9a9a;border:1px solid rgba(244,67,54,.3)}.tools-summary{display:flex;justify-content:space-between;padding:10px 14px;background:#0f3460;border-radius:6px;font-size:12px;color:#888}.data-sources{display:flex;flex-direction:column;gap:16px}.sources-empty{display:flex;flex-direction:column;align-items:center;padding:40px;color:#666}.source-section{background:#16213e;border-radius:8px;overflow:hidden}.source-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#0f3460}.source-icon{font-size:16px}.source-header h3{margin:0;font-size:13px;flex:1}.source-status{font-size:11px;padding:3px 8px;border-radius:10px}.source-status.active{background:#4caf50;color:#fff}.source-status.inactive{background:#333;color:#888}.source-details{padding:12px}.tables-list{margin-bottom:12px}.detail-label{display:block;font-size:11px;color:#888;margin-bottom:6px;text-transform:uppercase}.tables-badges{display:flex;flex-wrap:wrap;gap:6px}.table-badge{display:inline-flex;align-items:center;gap:4px;background:#0f3460;padding:5px 10px;border-radius:4px;font-size:12px;font-family:monospace;color:#8fbcbb}.details-grid{display:flex;flex-wrap:wrap;gap:12px}.detail-item{display:flex;gap:6px;font-size:12px}.detail-key{color:#888}.detail-value{color:#4fc3f7;font-weight:500}.rag-stats{display:flex;gap:20px;margin-bottom:12px}.rag-stat{text-align:center}.rag-stat .stat-value{display:block;font-size:24px;font-weight:600;color:#4fc3f7}.rag-stat .stat-label{font-size:11px;color:#888;text-transform:uppercase}.types-badges{display:flex;flex-wrap:wrap;gap:6px}.type-badge{background:#0f3460;padding:4px 8px;border-radius:4px;font-size:12px;color:#a3be8c}.no-sources-notice{display:flex;align-items:center;gap:10px;padding:16px;background:#ffffff0d;border-radius:8px;color:#888;font-size:13px}.source-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.toggle-switch{position:relative;display:inline-block;width:40px;height:20px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#333;transition:.3s;border-radius:20px}.toggle-slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#888;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#4caf50}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background-color:#fff}.toggle-switch:hover .toggle-slider{background-color:#444}.toggle-switch input:checked:hover+.toggle-slider{background-color:#45a049}.source-section.disabled{opacity:.7}.source-section.disabled .source-header{background:linear-gradient(90deg,#ff980033,#0f3460)}.source-disabled-notice{display:flex;align-items:center;gap:10px;padding:12px;background:#ff98001a;border-left:3px solid #ff9800;color:#ffb74d;font-size:13px}.source-disabled-notice span{font-size:16px}.source-disabled-notice p{margin:0}.no-rag-used{color:#666;font-style:italic;margin:0;font-size:13px}.handoff-chain{display:flex;flex-direction:column;gap:20px}.handoff-empty{display:flex;flex-direction:column;align-items:center;padding:40px;color:#666;text-align:center}.single-agent{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:8px}.single-agent .agent-badge{font-size:16px;padding:8px 16px}.agent-label{color:#888;font-size:12px}.chain-visual{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;flex-wrap:wrap}.chain-node{display:flex;flex-direction:column;align-items:center;gap:6px}.chain-node.current .agent-avatar{border-color:#e94560;box-shadow:0 0 10px #e9456080}.agent-avatar{width:48px;height:48px;background:linear-gradient(135deg,#0f3460,#16213e);border:2px solid #4fc3f7;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;color:#fff;text-transform:uppercase}.agent-name{font-size:12px;color:#aaa;text-transform:capitalize}.current-badge{font-size:10px;background:#e94560;padding:2px 6px;border-radius:4px;color:#fff}.chain-arrow{color:#e94560;font-size:20px;font-weight:700}.chain-info{background:#0f3460;padding:12px;border-radius:8px}.info-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#aaa;margin-bottom:6px}.info-item:last-child{margin-bottom:0}.info-icon{font-size:14px}.handoff-explanation{background:#16213e;padding:16px;border-radius:8px}.handoff-explanation h4{margin:0 0 12px;font-size:13px;color:#888}.handoff-steps{margin:0;padding-left:20px}.handoff-steps li{margin-bottom:8px;font-size:13px;color:#aaa}.handoff-steps li strong{color:#e94560}.navigation-panel{display:flex;flex-direction:column;gap:16px}.navigation-empty{display:flex;flex-direction:column;align-items:center;padding:40px;color:#666}.nav-action{background:#16213e;border-radius:8px;overflow:hidden}.nav-header{display:flex;align-items:center;gap:8px;padding:12px;background:#0f3460}.nav-icon{font-size:16px}.nav-header h3{margin:0;font-size:14px}.nav-details{padding:16px}.nav-item{margin-bottom:12px}.nav-item:last-child{margin-bottom:0}.item-label{display:block;font-size:11px;color:#888;text-transform:uppercase;margin-bottom:4px}.item-value{font-size:14px;color:#fff}.panel-badge{display:inline-block;background:linear-gradient(135deg,#e94560,#0f3460);padding:4px 12px;border-radius:6px;font-weight:500}.action-badge{display:inline-block;background:#4fc3f7;color:#000;padding:4px 12px;border-radius:6px;font-weight:500}.filters-json,.params-json{margin:6px 0 0;font-size:12px;background:#0d1b2a;padding:10px;border-radius:4px;color:#8fbcbb;white-space:pre-wrap}.nav-preview{margin-top:16px;padding:12px;background:#0f3460;border-radius:6px}.preview-label{display:block;font-size:11px;color:#888;margin-bottom:6px}.preview-path{display:block;font-family:Fira Code,monospace;font-size:13px;color:#a3be8c;background:#0d1b2a;padding:8px 12px;border-radius:4px}.errors-panel{display:flex;flex-direction:column;gap:12px}.errors-empty{display:flex;flex-direction:column;align-items:center;padding:40px;color:#666;text-align:center}.errors-empty .success{color:#4caf50;font-size:48px;margin-bottom:12px}.success-message{font-size:12px;color:#4caf50;margin-top:8px}.errors-header{padding:8px 12px;background:#f4433633;border-radius:6px}.error-count{color:#ef5350;font-weight:500}.errors-list{display:flex;flex-direction:column;gap:10px}.error-item{background:#2d1c1c;border:1px solid rgba(244,67,54,.3);border-radius:8px;overflow:hidden;cursor:pointer}.error-item:hover{border-color:#f4433680}.error-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f443361a}.error-icon{font-size:14px}.error-type{flex:1;font-weight:500;color:#ef5350}.error-index{font-size:11px;color:#888}.error-message{margin:0;padding:12px;color:#ffcdd2;font-size:13px}.error-details{padding:0 12px 12px;border-top:1px solid rgba(244,67,54,.2)}.detail-row{margin-top:10px}.detail-row .detail-label{display:block;font-size:11px;color:#888;margin-bottom:4px;text-transform:uppercase}.detail-row .detail-value{font-size:12px;color:#aaa}.detail-json{margin:0;font-size:11px;background:#1a1a1a;padding:10px;border-radius:4px;color:#888;overflow-x:auto;max-height:150px;overflow-y:auto}.error-stack{margin:0;font-size:11px;background:#1a1a1a;padding:10px;border-radius:4px;color:#ef9a9a;overflow-x:auto;max-height:200px;overflow-y:auto}.debug-content::-webkit-scrollbar,.thinking-content pre::-webkit-scrollbar,.tool-section pre::-webkit-scrollbar,.debug-history::-webkit-scrollbar{width:6px}.debug-content::-webkit-scrollbar-track,.thinking-content pre::-webkit-scrollbar-track,.tool-section pre::-webkit-scrollbar-track,.debug-history::-webkit-scrollbar-track{background:#0d1b2a}.debug-content::-webkit-scrollbar-thumb,.thinking-content pre::-webkit-scrollbar-thumb,.tool-section pre::-webkit-scrollbar-thumb,.debug-history::-webkit-scrollbar-thumb{background:#0f3460;border-radius:3px}.debug-content::-webkit-scrollbar-thumb:hover,.thinking-content pre::-webkit-scrollbar-thumb:hover,.tool-section pre::-webkit-scrollbar-thumb:hover,.debug-history::-webkit-scrollbar-thumb:hover{background:#1a4a7a}@media(max-width:600px){.debug-panel-overlay{width:100%}.stats-grid{grid-template-columns:1fr}.chain-visual{flex-direction:column}.chain-arrow{transform:rotate(90deg)}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.settings-modal{max-width:500px;width:100%;background:var(--color-surface, #fff);border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.settings-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, #e5e7eb);background:var(--color-surface, #fff)}.settings-modal .modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #111827)}.settings-modal .btn-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #6b7280);cursor:pointer;padding:.25rem .5rem;border-radius:4px;line-height:1;transition:all .2s}.settings-modal .btn-close:hover{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111827)}.settings-modal .modal-body{padding:1.5rem;max-height:70vh;overflow-y:auto}.settings-modal .modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e5e7eb);display:flex;justify-content:flex-end;gap:.75rem;background:var(--color-surface, #fff)}.settings-modal .settings-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.settings-modal .settings-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-modal .settings-section h3{font-size:.875rem;font-weight:600;color:var(--text-secondary, #6b7280);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.settings-modal .setting-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.settings-modal .setting-label{display:flex;align-items:flex-start;gap:.75rem;flex:1}.settings-modal .setting-icon{font-size:1.25rem;min-width:2rem;display:flex;align-items:center;justify-content:center}.settings-modal .setting-label strong{display:block;font-weight:600;color:var(--text-primary, #111827);margin-bottom:.25rem}.settings-modal .setting-label p{font-size:.875rem;color:var(--text-secondary, #6b7280);margin:0}.settings-modal .setting-control select{padding:.5rem 2rem .5rem .75rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:.875rem;background-color:var(--color-surface, #fff);color:var(--text-primary, #111827);cursor:pointer;min-width:160px}.settings-modal .setting-control select:focus{outline:none;border-color:var(--primary-color, #4f46e5);box-shadow:0 0 0 2px #4f46e51a}.settings-modal .toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.settings-modal .toggle-switch input{opacity:0;width:0;height:0}.settings-modal .toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.3s;border-radius:26px}.settings-modal .toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}.settings-modal .toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color, #4f46e5)}.settings-modal .toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.settings-modal .settings-empty{text-align:center;padding:2rem;color:var(--text-secondary, #6b7280)}.settings-modal .settings-empty p{margin:0;font-size:.9rem}.dark .settings-modal{background:var(--color-surface, #1e1e2f)}.dark .settings-modal .modal-header{background:var(--color-surface, #1e1e2f);border-color:var(--border-color, rgba(255, 255, 255, .1))}.dark .settings-modal .modal-header h2{color:var(--text-primary, #e0e0e0)}.dark .settings-modal .btn-close{color:var(--text-secondary, #999)}.dark .settings-modal .btn-close:hover{background:#ffffff1a;color:var(--text-primary, #e0e0e0)}.dark .settings-modal .modal-footer{background:var(--color-surface, #1e1e2f);border-color:var(--border-color, rgba(255, 255, 255, .1))}.dark .settings-modal .settings-section{border-color:var(--border-color, rgba(255, 255, 255, .1))}.dark .settings-modal .settings-section h3{color:var(--text-secondary, #999)}.dark .settings-modal .setting-label strong{color:var(--text-primary, #e0e0e0)}.dark .settings-modal .setting-label p{color:var(--text-secondary, #999)}.dark .settings-modal .setting-control select{background-color:#ffffff0d;border-color:var(--border-color, rgba(255, 255, 255, .2));color:var(--text-primary, #e0e0e0)}.dark .settings-modal .setting-control select option{background:var(--color-surface, #1e1e2f);color:var(--text-primary, #e0e0e0)}.settings-modal .section-hint{font-size:.8rem;color:var(--text-secondary, #6b7280);margin:-.5rem 0 1rem}.settings-modal .fiscal-row{flex-direction:column;align-items:stretch}.settings-modal .fiscal-field{width:100%}.settings-modal .fiscal-field label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary, #6b7280);margin-bottom:.35rem}.settings-modal .fiscal-field input,.settings-modal .fiscal-field select,.settings-modal .fiscal-field textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:.875rem;background-color:var(--color-surface, #fff);color:var(--text-primary, #111827);font-family:inherit;resize:vertical}.settings-modal .fiscal-field input:focus,.settings-modal .fiscal-field select:focus,.settings-modal .fiscal-field textarea:focus{outline:none;border-color:var(--primary-color, #4f46e5);box-shadow:0 0 0 2px #4f46e51a}.settings-modal .fiscal-actions{margin-top:.75rem;display:flex;justify-content:flex-end}.dark .settings-modal .fiscal-field input,.dark .settings-modal .fiscal-field select,.dark .settings-modal .fiscal-field textarea{background-color:#ffffff0d;border-color:var(--border-color, rgba(255, 255, 255, .2));color:var(--text-primary, #e0e0e0)}.dark .settings-modal .fiscal-field select option{background:var(--color-surface, #1e1e2f);color:var(--text-primary, #e0e0e0)}.dark .settings-modal .section-hint{color:var(--text-secondary, #999)}@media(max-width:576px){.settings-modal{max-width:100%;margin:.5rem}.settings-modal .setting-row{flex-direction:column;align-items:flex-start;gap:.75rem}.settings-modal .toggle-switch,.settings-modal .setting-control{margin-left:2.75rem}}#current-title,#current-description{opacity:1;transform:translate(0);transition:opacity .2s ease-out,transform .2s ease-out}#current-title.header-animating{opacity:0;transform:translate(15px)}#current-description.header-animating{opacity:0;transform:translate(15px);transition-delay:.05s}.header-right{display:flex;align-items:center}.header-agent{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.header-agent:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}.header-agent:active{transform:translateY(0)}.agent-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.2);flex-shrink:0}.agent-avatar svg{display:block}.agent-info{display:flex;flex-direction:column}.agent-name{font-size:13px;font-weight:600;color:var(--header-text, #fff);line-height:1.2}.agent-role{font-size:11px;color:#ffffffb3;line-height:1.2}.header-voice-button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:20px;transition:background .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease}.header-tts-button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:12px;transition:background .2s ease,border-color .2s ease,transform .15s ease}.header-tts-button:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-1px)}.header-tts-button:active:not(:disabled){transform:translateY(0)}.header-tts-button:disabled{opacity:.4;cursor:not-allowed}.header-tts-button.active{background:#10b98133;border-color:#10b98180;color:#10b981}.header-tts-button.active:hover:not(:disabled){background:#10b98140}.header-send-button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:12px;transition:background .2s ease,border-color .2s ease,transform .15s ease}.header-send-button:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-1px)}.header-send-button:active:not(:disabled){transform:translateY(0)}.header-send-button:disabled{opacity:.4;cursor:not-allowed}.header-clock{margin-left:128px}.header-voice-button:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-1px)}.header-voice-button:active:not(:disabled){transform:translateY(0)}.header-voice-button:disabled{opacity:.4;cursor:not-allowed}.header-voice-button.recording{background:#ef444426;border-color:#ef444480;animation:header-voice-pulse 1.5s ease-in-out infinite}@keyframes header-voice-pulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 8px #ef444400}}.header-voice-button,.header-tts-button,.header-send-button{position:relative}.header-voice-button[title]:hover:before,.header-tts-button[title]:hover:before,.header-send-button[title]:hover:before{content:attr(title);position:absolute;top:120%;left:50%;transform:translate(-50%);background:var(--color-text, #1a1a1a);color:var(--color-surface, #fff);padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1001;pointer-events:none}.header-voice-button[title]:hover:after,.header-tts-button[title]:hover:after,.header-send-button[title]:hover:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-bottom:6px solid var(--color-text, #1a1a1a);border-left:6px solid transparent;border-right:6px solid transparent;z-index:1001;pointer-events:none}@media(max-width:1024px){.agent-role{display:none}.header-agent{padding:4px 8px}}@media(max-width:768px){.header-agent .agent-info{display:none}.header-agent{padding:4px;background:transparent;border:none}.agent-avatar{width:32px;height:32px}.header-right{gap:12px}.header-voice-button,.header-tts-button,.header-send-button{width:38px;height:38px;margin-left:8px}}.chart-view{display:flex;flex-direction:column;height:100%;position:relative;background:var(--color-surface, #ffffff);border-radius:var(--radius-lg, 8px);overflow:hidden;border:1px solid var(--color-border, #e8e6ed)}.chart-close-btn{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-surface-hover, rgba(0, 0, 0, .05));border:1px solid var(--color-border, #e8e6ed);border-radius:var(--radius-md, 6px);color:var(--color-text-muted, #6b7280);cursor:pointer;transition:all .2s}.chart-close-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.chart-view-content{flex:1;padding:50px 20px 20px;overflow-y:auto;background:var(--color-surface, #ffffff)}.chart-view-content .chart-container{width:100%;min-height:400px;background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 6px)}.chart-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:40px;text-align:center;color:var(--color-error, #ef4444)}.chart-error-icon{font-size:48px;margin-bottom:16px}.chart-error p{margin:0;font-size:14px;color:var(--color-text-muted, #6b7280)}.chart-view-footer{display:flex;justify-content:center;padding:16px 20px;border-top:1px solid var(--color-border, #e8e6ed);background:var(--color-surface-alt, #f9f9fb)}.chart-nav-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;border-radius:var(--radius-md, 6px);cursor:pointer;background:var(--color-accent, #6366f1);color:#fff;border:none;transition:all .2s ease}.chart-nav-btn:hover{background:var(--color-accent-hover, #4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.chart-nav-btn:active{transform:translateY(0)}@media(max-width:768px){.chart-view-content{padding:50px 12px 12px}.chart-nav-btn{width:100%;justify-content:center}.chart-view-footer{padding:12px 16px}}body.dark .chart-view{background:var(--color-surface, #242428);border-color:var(--color-border, #353540)}body.dark .chart-close-btn{background:var(--color-surface-hover, rgba(255, 255, 255, .05));border-color:var(--color-border, #353540);color:var(--color-text-muted, #9ca3af)}body.dark .chart-close-btn:hover{background:#ef444433;border-color:#ef444466;color:#ef4444}body.dark .chart-view-content,body.dark .chart-view-content .chart-container{background:var(--color-surface, #242428)}body.dark .chart-view-footer{background:var(--color-surface-alt, #1e1e22);border-color:var(--color-border, #353540)}
