body.dark{--accent-primary: #DA291C;--accent-secondary: #AF272F;--text-main: #FFFFFF;--text-muted: #A7A8AA;--bg-primary: #2D291C;--bg-secondary: #3E3A2E;--border-subtle: #5A564A;--status-online: #4CAF50;--status-degraded: #FFC107;--status-offline: var(--accent-primary);--badge-text-dark-bg: #FFFFFF;--badge-text-light-bg: #2D291C;--ai-assistant-bg: #353126;--comm-log-bg: var(--bg-primary);--modal-group-btn-bg: var(--bg-secondary);--modal-group-btn-text: var(--text-muted);--modal-group-btn-border: var(--text-muted);--modal-group-btn-hover-bg: var(--text-muted);--modal-group-btn-hover-text: var(--bg-primary)}body.light{--accent-primary: #DA291C;--accent-secondary: #AF272F;--text-main: #2D291C;--text-muted: #6e6b60;--bg-primary: #F9F9F9;--bg-secondary: #FFFFFF;--border-subtle: #EAEAEA;--status-online: #2e7d32;--status-degraded: #ff8f00;--status-offline: var(--accent-primary);--badge-text-dark-bg: #FFFFFF;--badge-text-light-bg: #2D291C;--ai-assistant-bg: rgba(218, 41, 28, .05);--comm-log-bg: #F0F0F0;--modal-group-btn-bg: var(--bg-secondary);--modal-group-btn-text: var(--text-muted);--modal-group-btn-border: var(--text-muted);--modal-group-btn-hover-bg: var(--text-muted);--modal-group-btn-hover-text: var(--bg-secondary)}:root{--status-badge-pending: #A7A8AA;--status-badge-dispatched: #AF272F;--status-badge-in-progress: #DA291C;--status-badge-completed: #4CAF50;--status-badge-ticket-opened: #FFC107;--header-height: 72px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-main);line-height:1.6;transition:background-color .3s ease,color .3s ease;overflow-x:auto}#root{display:flex;flex-direction:column;min-height:100vh;transform:scale(.7);transform-origin:top left;width:142.857%;height:142.857%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{transform:scale(.9);box-shadow:0 0 #da291cb3}70%{transform:scale(1);box-shadow:0 0 0 8px #da291c00}to{transform:scale(.9);box-shadow:0 0 #da291c00}}.simulation-controls{display:flex;flex-direction:column;gap:.3rem;padding:.3rem;background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:.2rem;width:100%}.controls-header{text-align:center;border-bottom:1px solid var(--border-subtle);padding-bottom:.2rem}.controls-header h3{margin:0;color:var(--text-main);font-size:.7rem;font-weight:600}.controls-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem;width:100%}@media (max-width: 1024px){.controls-grid{grid-template-columns:1fr;gap:.3rem}}@media (max-width: 768px){.controls-grid{grid-template-columns:1fr;gap:.2rem}.simulation-controls{padding:.2rem}}.controls-section{display:flex;flex-direction:column;gap:.2rem;padding:.3rem;background-color:var(--ai-assistant-bg);border:1px solid var(--border-subtle);border-radius:6px;min-height:40px}.controls-section h4{margin:0 0 .2rem;color:var(--text-main);font-size:.5rem;font-weight:600;text-align:center;border-bottom:1px solid var(--border-subtle);padding-bottom:.1rem}.controls-row{display:flex;gap:.15rem;flex-wrap:wrap;justify-content:center}.sim-button{padding:.15rem .3rem;border:none;border-radius:6px;font-size:.3rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.1rem;min-width:28px;justify-content:center;flex:1}.sim-button:disabled{opacity:.6;cursor:not-allowed}.sim-button.primary{background-color:var(--accent-primary);color:#fff}.sim-button.primary:hover:not(:disabled){background-color:var(--accent-secondary);transform:translateY(-1px)}.sim-button.secondary{background-color:var(--bg-primary);color:var(--text-main);border:1px solid var(--border-subtle)}.sim-button.secondary:hover:not(:disabled){background-color:var(--text-muted);color:var(--bg-primary)}.sim-button.success{background-color:var(--status-online);color:#fff}.sim-button.success:hover:not(:disabled){background-color:#45a049;transform:translateY(-1px)}.sim-button.warning{background-color:var(--status-degraded);color:#fff}.sim-button.warning:hover:not(:disabled){background-color:#e6a100;transform:translateY(-1px)}.sim-button.danger{background-color:red;color:#fff}.sim-button.danger:hover:not(:disabled){background-color:#c00;transform:translateY(-1px)}.sim-button .loading-spinner{width:6px;height:6px;border:1px solid transparent;border-top:1px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.polling-status{display:flex;flex-direction:column;gap:.3rem;flex:1}.status-row{display:flex;align-items:center;gap:.2rem;font-size:.5rem}.status-label{color:var(--text-muted);font-weight:500;min-width:32px}.status-value{color:var(--text-main);font-weight:600}.status-value.running{color:var(--status-degraded)}.status-value.error{color:var(--status-offline)}.status-value.active{color:var(--status-online)}.status-indicator{display:inline-block;width:3px;height:3px;border-radius:50%;margin-right:.1rem;flex-shrink:0}.status-indicator.active{background-color:var(--status-online);animation:pulse 2s infinite}.status-indicator.running{background-color:var(--status-degraded);animation:pulse 2s infinite}.status-indicator.error{background-color:var(--status-offline)}.status-indicator.idle{background-color:var(--text-muted)}.status-message-bar{display:flex;align-items:center;gap:.3rem;padding:.4rem;background-color:var(--ai-assistant-bg);border:1px solid var(--status-degraded);border-radius:6px;color:var(--text-main);font-size:.5rem;justify-content:center}.status-message-bar .loading-spinner{width:6px;height:6px;border:1px solid transparent;border-top:1px solid var(--status-degraded);border-radius:50%;animation:spin 1s linear infinite}.header{padding:1rem 2rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;position:relative}.header h1{font-size:1.8rem;font-weight:500;color:var(--text-main)}.header-controls{display:flex;align-items:center;gap:1rem}.logout-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--accent-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.logout-button:hover{background-color:var(--accent-secondary);transform:translateY(-1px);box-shadow:0 2px 8px #da291c4d}.logout-button svg{width:16px;height:16px}.theme-toggle{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;width:40px;height:40px;cursor:pointer;display:flex;justify-content:center;align-items:center;padding:0;transition:background-color .2s,border-color .2s}.theme-toggle:hover{border-color:var(--accent-primary)}.theme-toggle svg{color:var(--text-muted);transition:color .2s}.theme-toggle:hover svg{color:var(--accent-primary)}body.dark .theme-toggle .sun-icon{display:block}body.dark .theme-toggle .moon-icon,body.light .theme-toggle .sun-icon{display:none}body.light .theme-toggle .moon-icon{display:block}.dashboard{flex-grow:1;padding:2rem;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;align-items:flex-start;padding-bottom:80px}.mdu-card{background-color:var(--bg-secondary);border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;width:320px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;border:1px solid var(--border-subtle);position:relative}.mdu-card .alert-badge{position:absolute;left:0;top:0;bottom:0;width:6px;z-index:3;pointer-events:none}.mdu-card .alert-icon{position:absolute;left:8px;top:8px;color:#000;z-index:4;pointer-events:none}.mdu-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.mdu-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #da291c26}.mdu-card img{width:100%;height:200px;object-fit:cover;display:block}.card-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;position:relative;z-index:2;background-color:var(--bg-secondary);margin-top:0}.card-header{border-bottom:1px solid var(--border-subtle);padding-bottom:1rem;display:flex;flex-direction:column;gap:.5rem;margin-bottom:0}.card-header h2{font-size:1.4rem;font-weight:500;margin-bottom:.25rem;color:var(--text-main);line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.card-header p{font-size:.9rem;color:var(--text-muted);margin:0}.info-grid{display:grid;grid-template-columns:1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.8rem;color:var(--text-muted);font-weight:500}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:500}.status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.status-dot.online,.status-online{color:var(--status-online)}.status-dot.degraded,.status-degraded{color:var(--status-degraded)}.status-dot.offline,.status-offline{color:var(--status-offline)}.status-dot.online{background-color:var(--status-online)}.status-dot.degraded{background-color:var(--status-degraded)}.status-dot.offline{background-color:var(--status-offline)}.experience-score{display:flex;align-items:center;gap:.5rem}.experience-detail{margin-top:8px}.experience-separator{height:1px;background:linear-gradient(to right,transparent,var(--border-subtle),transparent);margin:6px 0 10px}.tower-experience-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tower-dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--border-subtle);position:relative;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.tower-dot:hover,.tower-dot:focus-visible{transform:scale(1.2);box-shadow:0 0 0 3px #0000000f;outline:none}.tower-dot:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 8px;white-space:nowrap;font-size:.75rem;box-shadow:0 2px 8px #00000014;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;transform-origin:bottom;z-index:5}.tower-dot:hover:after,.tower-dot:focus-visible:after{opacity:1}@media (max-width: 640px){.tower-experience-list{gap:6px}.tower-dot{width:10px;height:10px}}.experience-bar-container{flex-grow:1;height:12px;background-color:var(--border-subtle);border-radius:6px;overflow:hidden}.experience-bar{height:100%;border-radius:6px;transition:width .5s ease,background-color .5s ease}.score-value{font-size:.9rem;font-weight:500;color:var(--text-muted)}.subscribers{padding-top:1rem;font-size:.9rem;color:var(--text-muted)}.subscribers strong{color:var(--text-main);font-weight:500;font-size:1.1rem}.detail-page-container{flex-grow:1;padding:2rem;max-width:900px;margin:0 auto;width:100%;animation:fadeIn .5s ease-in-out}.detail-page-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-subtle);padding-bottom:1.5rem;margin-bottom:2rem;gap:1rem}.detail-page-header h2{font-size:2.2rem;color:var(--accent-primary);margin-bottom:.25rem}.detail-page-header .mdu-address,.detail-page-header .subscriber-count,.detail-page-header .manager-info p{color:var(--text-muted)}.detail-page-header .mdu-address{font-size:1.1rem;margin-bottom:.5rem}.detail-page-header .subscriber-count{font-size:1rem;margin-bottom:1rem}.subscriber-count .offline-count{color:var(--status-offline);font-weight:500}.subscriber-count .degraded-count{color:var(--status-degraded);font-weight:500}.detail-page-header .subscriber-count strong,.detail-page-header .manager-info strong{color:var(--text-main);font-weight:500}.manager-info{padding-top:1rem;border-top:1px solid var(--border-subtle)}.manager-info-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.manager-info-header p{margin:0!important}.edit-manager-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}.edit-manager-btn:hover{color:var(--text-main);background-color:var(--bg-primary)}.edit-manager-btn svg{width:16px;height:16px}.detail-page-header .manager-info p{font-size:.9rem;margin:.25rem 0}.detail-page-header .manager-info a{color:var(--text-main);text-decoration:underline;transition:color .2s}.detail-page-header .manager-info a:hover{color:var(--accent-primary)}.back-link{display:inline-block;padding:.75rem 1.5rem;background-color:var(--bg-secondary);color:var(--text-main);text-decoration:none;border-radius:8px;border:1px solid var(--border-subtle);font-weight:500;transition:background-color .3s,transform .2s;flex-shrink:0}.back-link:hover{background-color:var(--ai-assistant-bg);transform:translateY(-2px)}.tower-selector{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--border-subtle);padding-bottom:1rem;overflow-x:auto}.tower-tab{background-color:var(--bg-primary);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:8px;padding:.75rem 1.25rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem;white-space:nowrap}.tower-tab:hover{background-color:var(--bg-secondary);color:var(--text-main)}.tower-tab.active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 2px 8px #da291c33}.tower-tab .status-dot{transition:background-color .2s}.tower-tab.active .status-dot{background-color:#fff}.tower-tab .alert-badge{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#000,#333)}.tower-tab .alert-icon{position:absolute;right:8px;top:8px;color:#dc2626;z-index:10;font-size:14px;font-weight:700;background-color:#ffffffe6;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;transition:all .2s ease}.tower-tab:hover .alert-icon{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.tower-tab.active .alert-icon{color:#fff;background-color:#dc2626e6}.metrics-tabs{display:flex;gap:8px;margin-bottom:12px}.metric-tab{background:var(--bg-primary);border:1px solid var(--border-subtle);color:var(--text-main);padding:6px 10px;border-radius:6px;cursor:pointer}.metric-tab.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.polling-alert{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;margin:1rem 2rem 0;border-radius:8px;animation:fadeIn .5s ease-in-out;border:1px solid}.polling-alert-info{background-color:#3b82f626;border-color:#3b82f6}.polling-alert-success{background-color:#22c55e26;border-color:#22c55e}.polling-alert-warning{background-color:#f59e0b26;border-color:#f59e0b}.polling-alert-error{background-color:#ef444426;border-color:#ef4444}.polling-alert-info .notification-content strong{color:#3b82f6}.polling-alert-success .notification-content strong{color:#22c55e}.polling-alert-warning .notification-content strong{color:#f59e0b}.polling-alert-error .notification-content strong{color:#ef4444}.alert-timestamp{font-size:.875rem;color:var(--text-muted);margin-left:.5rem;font-style:italic}.sim-button.polling-active{background-color:#2563eb}.sim-button.polling-inactive{background-color:#da5622}.modal-overlay.detailed-overlay{align-items:flex-start;justify-content:center;padding-top:calc(var(--header-height) + 20px);transition:padding-top .3s ease}.modal-container.unit-modal{width:100vw;max-width:100vw;max-height:100vh;transition:width .3s ease,max-height .3s ease,transform .3s ease,margin .3s ease;margin:0}@media (max-width: 1200px){.modal-container.unit-modal{width:100vw;max-width:100vw}}@media (max-width: 768px){.modal-container.unit-modal{width:100vw;max-height:100vh}}.modal-content.detailed-content{overflow-y:auto}.editable-text{position:relative;display:block;width:100%}.editable-text input{width:100%;border:2px solid transparent;background:transparent;font-size:inherit;font-weight:inherit;color:inherit;padding:4px 8px;border-radius:4px;transition:all .2s ease;box-sizing:border-box}.editable-text input:focus{outline:none;border-color:var(--accent-primary);background:#ffffffe6;box-shadow:0 0 0 2px #da291c40}.editable-text .edit-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s ease;cursor:pointer;color:var(--text-muted);font-size:14px;z-index:2}.editable-text:hover .edit-icon{opacity:1}.editable-text.editing .edit-icon{opacity:0}.editable-image-container{position:relative;display:inline-block;width:100%}.editable-image-container img{width:100%;height:auto;border-radius:8px;transition:all .2s ease}.editable-image-container:hover img{filter:brightness(.8)}.editable-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;border-radius:8px;cursor:pointer}.editable-image-container:hover .editable-image-overlay{opacity:1}.editable-image-overlay .edit-text{color:#fff;font-size:14px;font-weight:500;text-align:center;padding:8px}.editable-image-overlay .camera-icon{color:#fff;font-size:24px;margin-bottom:4px}.image-upload-input{display:none}.editable-text.loading input{opacity:.6;cursor:wait}.editable-image-container.loading img{opacity:.6}.editable-image-container.loading .editable-image-overlay{opacity:1;background:#000000b3}.editable-image-container.loading .edit-text:after{content:"Carregando..."}.editable-text.error input{border-color:#dc3545;background:#dc35451a}.editable-image-container.error img{border:2px solid #dc3545}.editable-text.success input{border-color:#28a745;background:#28a7451a}.editable-image-container.success img{border:2px solid #28a745}.mdu-card .mdu-name{font-size:1.4rem;font-weight:600;margin:0;padding:0;color:var(--text-main);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;display:block;width:100%;background:transparent}.mdu-card .mdu-name input{font-size:1.4rem;font-weight:600;line-height:1.2;margin:0;padding:4px 6px;background:#fffffff2;border-radius:4px}.editable-text-container{display:flex;flex-direction:column;gap:8px}.editable-actions{display:flex;gap:8px}.validation-message{font-size:.85rem;color:#dc3545}.mdu-card .mdu-card-image{width:100%;height:200px;object-fit:cover;display:block;position:relative;z-index:1}.detail-page-body .detail-section{margin-bottom:2rem;background-color:var(--bg-secondary);padding:1.5rem;border-radius:12px;border:1px solid var(--border-subtle)}.detail-page-body .detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:1.4rem;font-weight:500;color:var(--text-main);border-bottom:1px solid var(--border-subtle);padding-bottom:.75rem;margin-bottom:1.5rem}.detail-section p,.metric-item{color:var(--text-muted);font-size:1rem;margin-bottom:.5rem}.detail-section.summary{text-align:center}.detail-section p strong,.metric-value{color:var(--text-main);font-weight:500}.summary-stats{display:flex;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);justify-content:center}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-item .count{font-size:2.5rem;font-weight:700;line-height:1}.stat-item .label{font-size:.8rem;color:var(--text-muted);margin-top:.5rem;text-transform:uppercase}.stat-item.offline .count{color:var(--status-offline)}.stat-item.degraded .count{color:var(--status-degraded)}.experience-gauge-container{margin-bottom:1.5rem}.experience-gauge{position:relative;width:180px;height:90px;margin:0 auto}.experience-gauge svg{width:100%;height:100%}.gauge-bg,.gauge-fg{fill:none}.gauge-bg{stroke:var(--border-subtle)}.gauge-fg{transition:stroke-dashoffset .8s ease-in-out,stroke .5s}.gauge-text{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);font-size:2.8rem;font-weight:700;line-height:1;transition:color .5s}.gauge-label{font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.core-metrics .metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.metric-item{background-color:var(--bg-primary);padding:1rem;border-radius:8px;display:flex;flex-direction:column;gap:.5rem}.metric-label{font-size:.9rem}.metric-value{font-size:1.2rem}.progress-bar-container{width:100%;background-color:var(--border-subtle);border-radius:4px;height:20px;position:relative;color:#fff;font-size:.8rem;display:flex;align-items:center}.progress-bar{background-color:var(--accent-primary);height:100%;border-radius:4px;transition:width .5s ease-in-out}.progress-bar-container span{position:absolute;left:50%;transform:translate(-50%);text-shadow:1px 1px 2px rgba(0,0,0,.7)}.analysis p{line-height:1.7}.outage-info-container{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.outage-type-indicator{padding:.75rem 1rem;border-radius:8px;font-size:1rem;font-weight:500;border:1px solid;flex-grow:1}.outage-type-indicator.internal{background-color:#ffc1071a;border-color:var(--status-degraded);color:var(--status-degraded)}.outage-type-indicator.external{background-color:#da291c1a;border-color:var(--status-offline);color:var(--status-offline)}.outage-type-indicator.scope-mdu{background-color:#a7a8aa1a;border-color:var(--text-muted);color:var(--text-muted)}.outage-type-indicator.scope-node{background-color:#af272f33;border-color:var(--accent-secondary);color:var(--accent-secondary)}.outage-type-indicator span{color:var(--text-main);font-weight:400;margin-left:.5rem}.gallery-link-container{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);text-align:center}.gallery-link-button{background-color:var(--accent-primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .3s,transform .2s}.gallery-link-button:hover{background-color:var(--accent-secondary);transform:translateY(-2px)}.apartment-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(22px,1fr));gap:8px;padding-top:.5rem;max-height:300px;overflow-y:auto;background-color:var(--bg-primary);padding:1rem;border-radius:8px;border:1px solid var(--border-subtle)}.apartment-unit{width:100%;aspect-ratio:1 / 1;border-radius:4px;transition:transform .2s ease,box-shadow .2s ease;cursor:help}.apartment-unit.clickable:hover{transform:scale(1.25);border:2px solid var(--text-main);box-shadow:0 0 10px #80808033;z-index:10;position:relative}.apartment-unit.clickable:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.apartment-unit.online{background-color:var(--status-online)}.apartment-unit.degraded{background-color:var(--status-degraded)}.apartment-unit.offline{background-color:var(--status-offline)}.ai-assistant{background-color:var(--ai-assistant-bg)}.ai-assistant-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.75rem;margin-bottom:1.5rem}.ai-assistant-header h3{color:var(--accent-primary);border-bottom:none;padding-bottom:0;margin-bottom:0;margin-right:auto}.ai-status-live{display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500;color:var(--accent-primary);background-color:#da291c1a;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--accent-primary)}.live-dot{width:9px;height:9px;background-color:var(--accent-primary);border-radius:50%;animation:pulse 2s infinite}.ai-status-live .update-time{font-size:.8rem;color:var(--text-muted);font-weight:400}.action-plan-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.action-plan-table th,.action-plan-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--border-subtle)}.action-plan-table th{font-weight:500;color:var(--text-main)}.action-plan-table td{color:var(--text-muted)}.action-plan-table tbody tr:last-child td{border-bottom:none}.action-plan-table tfoot td{text-align:right;padding-top:1rem;border-top:2px solid var(--border-subtle)}.status-badge{padding:.25em .6em;border-radius:10px;font-size:.8rem;font-weight:500;color:var(--badge-text-dark-bg);white-space:nowrap}.status-badge.status-pending{background-color:var(--status-badge-pending);color:var(--badge-text-light-bg)}.status-badge.status-dispatched{background-color:var(--status-badge-dispatched)}.status-badge.status-in-progress{background-color:var(--status-badge-in-progress)}.status-badge.status-completed{background-color:var(--status-badge-completed)}.status-badge.status-ticket-opened{background-color:var(--status-badge-ticket-opened);color:var(--badge-text-light-bg)}.whatsapp-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.whatsapp-button{background-color:var(--accent-primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .3s,transform .2s;text-decoration:none;display:inline-block}.whatsapp-button:hover{background-color:var(--accent-secondary);transform:translateY(-2px)}.toggle-switch-container{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.toggle-label{font-size:.9rem;color:var(--text-muted);font-weight:500;cursor:pointer}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-subtle);transition:.4s}.slider.round{border-radius:26px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.4s}.slider.round:before{border-radius:50%}input:checked+.slider{background-color:var(--accent-primary)}input:focus+.slider{box-shadow:0 0 1px var(--accent-primary)}input:checked+.slider:before{transform:translate(24px)}.communication-control-area{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.communication-control-area h4{font-size:1.2rem;font-weight:500;margin-bottom:1rem;color:var(--text-main)}.auto-comm-control{background-color:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:8px;padding:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.auto-comm-control .toggle-description{color:var(--text-muted);font-size:.9rem;flex-grow:1;margin:0;max-width:450px}.manual-comms{margin-top:1.5rem}.manual-comms>p{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}.comm-log{margin-top:1.5rem;padding:1rem;background-color:var(--comm-log-bg);border-radius:8px;border:1px solid var(--border-subtle)}.comm-log h4{font-size:1rem;font-weight:500;color:var(--text-muted);margin-bottom:.75rem}.comm-log ul{list-style:none;padding-left:0;max-height:200px;overflow-y:auto}.comm-log ul li{font-family:Courier New,Courier,monospace;font-size:.9rem;color:var(--text-main);padding:.4rem 0;border-bottom:1px dashed var(--border-subtle);animation:fadeIn .5s ease-in-out}.comm-log ul li:last-child{border-bottom:none}.comm-log ul li:before{content:">>";margin-right:.75rem;color:var(--accent-primary)}.outage-notification{display:flex;justify-content:space-between;align-items:center;gap:1rem;background-color:#da291c26;border:1px solid var(--status-offline);padding:1rem 1.5rem;margin:1rem 2rem 0;border-radius:8px;animation:fadeIn .5s ease-in-out}.notification-content{display:flex;align-items:center;gap:1rem;flex-grow:1;flex-wrap:wrap}.notification-icon{font-size:1.5rem}.notification-content p{margin:0;color:var(--text-main)}.notification-content strong{font-weight:500;color:var(--status-offline)}.notification-link{background:none;border:none;color:var(--text-main);text-decoration:underline;cursor:pointer;font-size:1rem;font-family:inherit;font-weight:700;padding:0;margin-left:.5rem;transition:color .2s}.notification-link:hover{color:var(--text-muted)}.notification-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;line-height:1;opacity:.8;transition:color .2s,transform .2s}.notification-close:hover{color:var(--text-main);transform:scale(1.1)}.simulation-controls{position:fixed;bottom:0;left:0;right:0;background-color:var(--bg-secondary);border-top:1px solid var(--border-subtle);padding:1rem;display:flex;justify-content:center;align-items:center;gap:1rem;z-index:500;box-shadow:0 -4px 15px #0003}.sim-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s,transform .2s;color:#fff}.sim-button.outage{background-color:var(--status-offline)}.sim-button.restore{background-color:var(--status-online)}.sim-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.sim-button:disabled{background-color:var(--border-subtle);color:var(--text-muted);cursor:not-allowed;opacity:.6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease}.modal-container{background-color:var(--bg-secondary);padding:2rem;border-radius:12px;width:90%;max-width:600px;box-shadow:0 10px 30px #0000004d;border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:1.5rem}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:1rem}.modal-header h4{font-size:1.4rem;font-weight:500;color:var(--text-main)}.modal-header .close-btn{background:none;border:none;color:var(--text-muted);font-size:2rem;cursor:pointer;line-height:1;opacity:.8;transition:color .2s,transform .2s}.modal-header .close-btn:hover{color:var(--text-main);transform:scale(1.1)}.modal-content{display:flex;flex-direction:column;gap:.5rem}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.modal-button{padding:.6rem 1.2rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.modal-content label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;font-weight:500}.formatted-message-preview{background-color:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:8px;padding:1rem;margin-bottom:1rem;line-height:1.6;max-height:150px;overflow-y:auto;font-size:.9rem}.formatted-message-preview strong{color:var(--accent-primary);font-weight:500}.modal-content textarea{width:100%;background-color:var(--bg-primary);color:var(--text-main);border:1px solid var(--border-subtle);border-radius:8px;padding:1rem;font-family:Roboto,sans-serif;font-size:1rem;line-height:1.6;resize:vertical}.modal-content textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #da291c33}.modal-button.cancel{background-color:transparent;color:var(--text-muted);border-color:var(--text-muted)}.modal-button.cancel:hover{background-color:var(--text-muted);color:var(--bg-secondary)}.send-buttons-group{display:flex;gap:.75rem;flex-wrap:wrap}.modal-button.send{color:#fff;display:flex;align-items:center}.modal-button.send:hover{transform:translateY(-2px)}.modal-button.send-manager{background-color:var(--accent-primary)}.modal-button.send-manager:hover{background-color:var(--accent-secondary)}.modal-button.send-group{background-color:var(--modal-group-btn-bg);border:1px solid var(--modal-group-btn-border);color:var(--modal-group-btn-text)}.modal-button.send-group:hover{background-color:var(--modal-group-btn-hover-bg);color:var(--modal-group-btn-hover-text)}.modal-container.customer-modal:not(.unit-modal){max-width:500px;gap:1rem}.customer-details p{font-size:1rem;color:var(--text-muted);margin-bottom:.75rem}.customer-details p strong{color:var(--text-main);font-weight:500;min-width:90px;display:inline-block}.modal-container.customer-modal .modal-footer{justify-content:center}.modal-button.propose-visit{background-color:var(--accent-primary);color:#fff;width:100%}.modal-button.propose-visit:hover:not(:disabled){background-color:var(--accent-secondary);transform:translateY(-2px)}.modal-button.propose-visit:disabled{background-color:var(--border-subtle);color:var(--text-muted);cursor:wait}.editable-image-container{position:relative;display:inline-block}.editable-image{position:relative;display:inline-block;overflow:hidden;border-radius:8px}.editable-image img{width:100%;height:100%;object-fit:cover;display:block}.edit-image-btn{position:absolute;top:8px;right:8px;background-color:#000000b3;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;opacity:0;transform:scale(.8);z-index:10}.editable-image:hover .edit-image-btn{opacity:1;transform:scale(1)}.edit-image-btn:hover{background-color:#000000e6;transform:scale(1.1)}.edit-image-btn:disabled{cursor:not-allowed;opacity:.5}.edit-pencil-icon{font-size:14px;color:#fff;line-height:1}.loading-spinner{font-size:12px;color:#fff;animation:spin 1s linear infinite}.tower-name-editable{display:inline-block;font-size:inherit;font-weight:inherit;color:inherit;background:transparent;border:none;padding:2px 4px;border-radius:4px;transition:all .2s ease;cursor:pointer;position:relative}.tower-name-editable:hover{background:#ffffff1a}.tower-name-editable input{font-size:inherit;font-weight:inherit;color:inherit;background:#fffffff2;border:2px solid var(--accent-primary);padding:4px 8px;border-radius:4px;box-shadow:0 0 0 2px #da291c40}.tower-name-editable .edit-icon{margin-left:6px;font-size:.8em;opacity:.6}.tower-name-editable:hover .edit-icon{opacity:1}.detailed-modal{max-width:1120px;width:90vw;max-height:90vh;overflow-y:auto}.detailed-content{padding:0}.detail-sections{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:1.2rem}.detail-section{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:1rem}.detail-section.status-section{grid-column:1 / -1}.detail-section h5{font-size:.95rem;font-weight:600;color:var(--text-main);margin-bottom:.8rem;padding-bottom:.4rem;border-bottom:2px solid var(--accent-primary)}.status-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.status-badge-large{padding:.6rem 1.2rem;border-radius:25px;color:#fff;font-weight:600;font-size:.85rem;text-align:center;min-width:100px;box-shadow:0 2px 4px #0000001a}.info-grid{display:grid;grid-template-columns:1fr;gap:.8rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-subtle)}.info-label{font-weight:500;color:var(--text-muted);font-size:.75rem}.info-value{font-weight:600;color:var(--text-main);text-align:right;font-size:.8rem}.online-status-message{display:flex;align-items:center;gap:.5rem;color:var(--status-online);font-weight:500;font-size:.85rem;justify-content:center;padding:.8rem;background-color:#4caf501a;border-radius:8px;border:1px solid var(--status-online)}.online-icon{font-size:1rem}@media (max-width: 1200px){.detail-sections{grid-template-columns:1fr}}@media (max-width: 768px){.detailed-modal{width:95vw;max-height:95vh}}.tower-incidents-box{margin-bottom:2rem;background-color:var(--bg-secondary);padding:1.5rem;border-radius:12px;border:1px solid var(--border-subtle)}.tower-incidents-box h3{font-size:1.2rem;font-weight:500;color:var(--text-main);border-bottom:1px solid var(--border-subtle);padding-bottom:.75rem;margin-bottom:1rem}.tower-incidents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;max-height:320px;overflow-y:auto}.tower-column{background-color:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:8px}.tower-column-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle)}.tower-name{font-weight:600;color:var(--text-main)}.tower-status-icon{font-size:1rem}.incident-table{width:100%;border-collapse:collapse}.incident-table th,.incident-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-subtle);font-size:.9rem;vertical-align:top}.incident-table th{color:var(--text-muted);font-weight:500}.incident-link{color:var(--accent-primary);text-decoration:none;cursor:pointer}.incident-link:hover{text-decoration:underline}.status-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--border-subtle);font-size:.85rem}.status-chip.open{color:var(--status-offline)}.status-chip.in_progress{color:var(--status-degraded)}.status-chip.resolved{color:var(--status-online)}.status-icon{font-size:.9rem}.description-cell{color:var(--text-muted)}@media (max-width: 768px){.tower-incidents-grid{grid-template-columns:1fr;max-height:420px}}.detail-sections{grid-template-columns:1fr;gap:1rem;padding:1rem}.status-info{flex-direction:column;align-items:center}.status-badge-large{align-self:center}} .polling-status .status-row:not(.simulation-info) .status-label,.polling-status .status-row:not(.simulation-info) .status-value{font-size:calc(1em + 5pt)}.recovery-history{margin-top:12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:12px}.history-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-header .left .monitoring-badge{display:inline-flex;align-items:center;gap:8px;font-weight:600}.history-header .right{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.meta-item .label{color:var(--text-muted);margin-right:4px}.meta-item .value{color:var(--text-main)}.history-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:12px}.history-meta-grid .meta-row{display:flex;gap:6px}.history-title{margin-top:12px;margin-bottom:8px}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{border-bottom:1px solid var(--border-subtle);padding:8px;vertical-align:top;word-break:break-word;white-space:normal}.history-loading,.history-error{margin-top:8px;color:var(--text-muted)}@media (max-width: 768px){.history-header{flex-direction:column;align-items:flex-start}.history-header .right{grid-template-columns:1fr;width:100%}.history-meta-grid{grid-template-columns:1fr}}.detail-section.analysis h3,.detail-section.apartment-status-section h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-label{font-weight:600}.editable-text{display:inline-flex;align-items:center;gap:6px}.editable-text .edit-icon{font-size:.9em;color:var(--text-muted)}.detail-section.analysis h3 .editable-text,.detail-section.apartment-status-section h3 .editable-text{width:auto;max-width:none}.detail-section.analysis h3 .editable-text .edit-icon,.detail-section.apartment-status-section h3 .editable-text .edit-icon{position:static;right:auto;top:auto;transform:none;margin-left:4px}.editable-container.inline{display:inline-flex;align-items:center;gap:8px}.editable-input{max-width:min(360px,60vw)}@media (max-width: 640px){.detail-section.analysis h3,.detail-section.apartment-status-section h3{gap:6px}.editable-input{max-width:100%}}.detail-section.analysis h3 .editable-text-container,.detail-section.apartment-status-section h3 .editable-text-container{display:inline-flex;flex-direction:row;align-items:center;gap:8px}.detail-section.analysis h3 .editable-text-container .editable-input,.detail-section.apartment-status-section h3 .editable-text-container .editable-input{width:auto;max-width:min(360px,60vw)}.detail-section.analysis h3 .editable-text-container .editable-actions,.detail-section.apartment-status-section h3 .editable-text-container .editable-actions{display:inline-flex;gap:8px}.detail-section.analysis h3 .editable-text-container .validation-message,.detail-section.apartment-status-section h3 .editable-text-container .validation-message{display:inline-block}.apartment-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:6px;padding:8px 0}.apartment-unit{position:relative;width:100%;aspect-ratio:1/1;border-radius:4px;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;transition:transform .1s ease,box-shadow .2s ease,border-color .2s ease}.apartment-unit.clickable{cursor:pointer}.apartment-unit .unit-id{font-size:.9rem;font-weight:600;color:var(--text-main)}.apartment-unit.status-offline{background-color:gray}.apartment-unit.status-good{background-color:#4caf50}.apartment-unit.status-impacted{background-color:#da291c}.apartment-unit.status-stressed{background-color:#ffc107;color:#2d291c}.apartment-unit.status-impossivel-avaliar{background-color:#000}.apartment-unit:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0003}.apartment-unit:focus{outline:2px solid var(--accent-secondary);outline-offset:2px}@media (max-width: 1024px){.apartment-status-grid{grid-template-columns:repeat(auto-fill,minmax(24px,1fr));gap:5px}.apartment-unit .unit-id{font-size:.5rem}}@media (max-width: 768px){.apartment-status-grid{grid-template-columns:repeat(auto-fill,minmax(22px,1fr));gap:4px}.apartment-unit .unit-id{font-size:.45rem}}.login-container{min-height:100vh;display:flex;background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-left-panel{flex:1;display:none;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);padding:3rem;position:relative;overflow:hidden}.login-left-panel:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}.login-left-content{position:relative;z-index:1;text-align:center;color:#fff;max-width:400px}.login-left-content h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2}.login-left-content p{font-size:1.125rem;opacity:.9;margin-bottom:2rem;line-height:1.6}.login-divider{width:60px;height:4px;background:#fff;border-radius:2px;margin:0 auto}.login-right-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:#f8fafc}.login-form-container{width:100%;max-width:420px;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:2.5rem;position:relative}.login-form-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7);border-radius:16px 16px 0 0}.login-header{text-align:center;margin-bottom:2rem}.login-icon{width:48px;height:48px;margin:0 auto 1rem;color:#3b82f6}.login-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.login-subtitle{color:#6b7280;font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.input-wrapper{position:relative}.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#9ca3af}.form-input{width:100%;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;transition:all .2s ease;background:#f9fafb}.form-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:color .2s ease}.password-toggle:hover{color:#374151}.error-message{color:#ef4444;font-size:.875rem;margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.forgot-password{text-align:right;margin:1rem 0}.forgot-password a{color:#3b82f6;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.forgot-password a:hover{color:#2563eb}.login-button{width:100%;padding:12px 16px;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 25px -5px #3b82f666}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.divider{position:relative;margin:1.5rem 0;text-align:center}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e5e7eb}.divider span{background:#fff;color:#6b7280;padding:0 1rem;font-size:.875rem;position:relative}.signup-link{text-align:center;color:#6b7280;font-size:.875rem}.signup-link a{color:#3b82f6;text-decoration:none;font-weight:500;margin-left:.25rem;transition:color .2s ease}.signup-link a:hover{color:#2563eb}[data-theme=dark] .login-right-panel{background:#0f172a}[data-theme=dark] .login-form-container{background:#1e293b;box-shadow:0 20px 25px -5px #0000004d}[data-theme=dark] .login-title{color:#f1f5f9}[data-theme=dark] .login-subtitle{color:#94a3b8}[data-theme=dark] .form-label{color:#e2e8f0}[data-theme=dark] .form-input{background:#334155;border-color:#475569;color:#f1f5f9}[data-theme=dark] .form-input:focus{background:#475569;border-color:#3b82f6}[data-theme=dark] .divider:before{background:#475569}[data-theme=dark] .divider span{background:#1e293b;color:#94a3b8}[data-theme=dark] .signup-link{color:#94a3b8}@media (min-width: 1024px){.login-left-panel{display:flex}}@media (max-width: 768px){.login-right-panel{padding:1.5rem}.login-form-container{padding:2rem;margin:0 .5rem}.login-left-content h1{font-size:2rem}.login-left-content p{font-size:1rem}}@media (max-width: 640px){.login-container{min-height:100vh;background:#f8fafc}.login-right-panel{padding:1rem;background:#f8fafc}.login-form-container{padding:1.5rem;margin:0;box-shadow:0 4px 6px -1px #0000001a}.login-title{font-size:1.5rem}.form-input{padding:14px 16px 14px 44px;font-size:16px}.login-button{padding:14px 16px;font-size:16px}}@media (max-width: 480px){.login-form-container{padding:1.25rem}.login-title{font-size:1.375rem}.login-left-content h1{font-size:1.75rem}}@media (prefers-contrast: high){.form-input{border-width:2px}.login-button{border:2px solid transparent}.login-button:focus{border-color:#fff}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loading-spinner{animation:none}.login-button:hover:not(:disabled){transform:none}}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-input:focus,.login-button:focus,.password-toggle:focus{outline:2px solid #3b82f6;outline-offset:2px}*{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
