:root{--bg-primary: #0B0E14;--bg-secondary: #131A28;--bg-tertiary: #1E2735;--text-primary: #FFFFFF;--text-secondary: #B0BCCE;--text-muted: #A2AFC0;--text-disabled: #6B7280;--border-primary: #243046;--border-secondary: #1F283C;--border-focus: #2563EB;--btn-primary: #2563EB;--btn-primary-hover: #1D4ED8;--btn-secondary: #1F283C;--btn-secondary-hover: #243046;--btn-disabled: #6B7280;--btn-success: #10b981;--btn-danger: #ef4444;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #06b6d4;--state-hover: #1E293B;--state-active: #334155;--state-selected: #2563EB;--overlay-light: rgba(0, 0, 0, .7);--overlay-heavy: rgba(0, 0, 0, .85);--shadow-small: 0 2px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .15);--shadow-large: 0 10px 25px rgba(0, 0, 0, .3);--shadow-focus: 0 0 0 3px rgba(37, 99, 235, .3);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--radius-small: 4px;--radius-medium: 8px;--radius-large: 12px;--radius-xl: 16px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-disabled{color:var(--text-disabled)}.border-primary{border-color:var(--border-primary)}.border-secondary{border-color:var(--border-secondary)}.border-focus{border-color:var(--border-focus)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.bg-info{background-color:var(--color-info)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-large);padding:var(--spacing-lg);box-shadow:var(--shadow-small)}.input{background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-medium);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-normal)}.input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.input::placeholder{color:var(--text-secondary)}.btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-medium);border:none;font-weight:500;cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn-primary{background-color:var(--btn-primary);color:var(--text-primary)}.btn-primary:hover:not(:disabled){background-color:var(--btn-primary-hover);box-shadow:var(--shadow-focus)}.btn-secondary{background-color:var(--btn-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover)}.btn:disabled{background-color:var(--btn-disabled);color:var(--text-primary);cursor:not-allowed;opacity:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-light);display:flex;align-items:center;justify-content:center;z-index:9999}.modal-container{background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);box-shadow:var(--shadow-large);max-width:90vw;max-height:90vh;overflow:hidden}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-primary)}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-primary);display:flex;gap:var(--spacing-md);justify-content:flex-end}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b0e14;color:#fff;overflow-x:hidden;width:100vw;max-width:100vw}html{overflow-x:hidden;width:100vw;max-width:100vw}#root{display:flex;flex-direction:column;min-height:100vh;width:100vw;max-width:100vw;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;background-color:#131a28;padding:2px 4px;border-radius:4px;color:#a2afc0}button,.button{padding:10px 18px;border-radius:6px;border:1px solid transparent;background-color:#2563eb;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-align:center;line-height:1.5}button:hover,.button:hover{background-color:#1d4ed8;box-shadow:0 0 0 3px #2563eb66}button:disabled,.button:disabled{background-color:#1e2735;color:#a2afc0;cursor:not-allowed;box-shadow:none}.button-secondary{background-color:#1f283c;color:#fff;border:1px solid #243046}.button-secondary:hover{background-color:#243046}.button-success{background-color:#10b981;color:#fff}.button-success:hover{background-color:#059669}.button-danger{background-color:#ef4444;color:#fff}.button-danger:hover{background-color:#dc2626}.button-outline{background-color:transparent;border-color:#243046;color:#fff}.button-outline:hover{background-color:#131a28;border-color:#1f283c}.button-grey{background-color:#2563eb;color:#fff;font-weight:700;font-size:.875rem;padding:.5rem 1rem;border-radius:.5rem}.button-grey:hover{background-color:#1d4ed8;box-shadow:none}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],textarea,select{padding:8px;border-radius:6px;border:1px solid #243046;background-color:#1e2735;color:#fff;font-size:.875rem;margin-bottom:12px;box-sizing:border-box;width:100%;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;height:32px}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type="me mos"]:focus,textarea:focus,select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb4d}input::placeholder,textarea::placeholder{color:#b0bcce}label{display:block;margin-bottom:6px;font-weight:500;color:#b0bcce}h1,h2,h3,h4,h5,h6{color:#fff}@media (max-width: 768px){button,.button{padding:8px 15px;font-size:.9rem}.button-grey{padding:.4rem .8rem;font-size:.8rem}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],textarea,select{padding:6px;font-size:.8rem;height:28px}.card{padding:15px}}@media (max-width: 480px){button,.button{padding:7px 12px;font-size:.85rem;gap:.3rem}.button-grey{padding:.35rem .7rem;font-size:.75rem}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],textarea,select{padding:5px;font-size:.75rem;height:26px}.card{padding:10px}}.spinner-container-large{display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner-container-small{display:inline-flex;align-items:center}.spinner{border:4px solid #243046;border-top:4px solid #2563EB;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.spinner-small{width:16px;height:16px;border-width:2px}.spinner-message{margin-top:10px;color:#b0bcce;font-size:.9rem}.connection-status{position:fixed;top:20px;right:20px;z-index:1000;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;border:1px solid #e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;max-width:350px;min-width:250px}.connection-status-main{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.connection-status-main:hover{background-color:#f5f5f5}.status-icon{font-size:16px;line-height:1}.status-text{font-weight:500;flex:1}.reconnect-indicator{font-size:12px;color:#666;font-style:italic}.connection-status.online{border-left:4px solid #4caf50}.connection-status.warning{border-left:4px solid #ff9800;background-color:#fff8e1}.connection-status.offline{border-left:4px solid #f44336;background-color:#ffebee}.connection-details{border-top:1px solid #e0e0e0;padding:16px;background-color:#fafafa;border-radius:0 0 8px 8px}.detail-section{margin-bottom:16px}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.detail-section p{margin:4px 0;color:#666;line-height:1.4}.detail-section ul{margin:8px 0;padding-left:20px;color:#666}.detail-section li{margin:4px 0;line-height:1.4}@media (max-width: 768px){.connection-status{top:10px;right:10px;left:10px;max-width:none;min-width:auto}.connection-status-main{padding:10px 12px}.connection-details{padding:12px}.status-text{font-size:13px}.reconnect-indicator{font-size:11px}}.connection-status{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.connection-status.warning .status-icon{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.connection-details{max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ccc transparent}.connection-details::-webkit-scrollbar{width:6px}.connection-details::-webkit-scrollbar-track{background:transparent}.connection-details::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.connection-details::-webkit-scrollbar-thumb:hover{background-color:#999}.gestao-12bpm-app{display:flex;flex-direction:column;min-height:100vh;background-color:#0b0e14;width:100vw;overflow-x:hidden}.dashboard-container{flex-grow:1;padding:75px 32px 32px;width:100%;max-width:100vw;box-sizing:border-box;margin:0 auto 0 0;transition:margin-left .3s ease;min-height:calc(100vh - 70px);overflow-x:hidden;display:flex;flex-direction:column}.sidebar.open~.dashboard-container{margin-left:280px;max-width:calc(100vw - 280px)}.gestao-12bpm-app.app-service-scales-active .dashboard-container.dashboard-container--service-scales{padding-top:80px;max-width:100vw}.dashboard-container .escala-panel,.dashboard-container .escala-panel-modern{flex:1;min-height:0;height:100%;width:100%}.dashboard-content{padding:0}.dashboard-content h3,.dashboard-content h4{color:#fff;margin-top:0;margin-bottom:1rem}.app-footer{text-align:center;padding:1.5rem 1rem;background-color:#0b0e14;color:#a2afc0;font-size:.875rem;border-top:1px solid #243046}.app-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#fff}.app-loading-container p{margin-top:1rem}.component-loading{display:flex;align-items:center;justify-content:center;padding:20px;background-color:#0b0e14cc;border-radius:8px;margin:10px}.modal-loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background-color:#0b0e14e6;padding:20px;border-radius:8px;border:1px solid #2A2D3A}.auth-error{color:#fca5a5;background-color:#450a0a;border:1px solid #7F1D1D;padding:10px 15px;border-radius:6px;margin-top:0;margin-bottom:20px;text-align:center;font-size:.9rem}.section-title{font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #243046}body.modal-open-noscroll,body.sidebar-open-noscroll{overflow:hidden}@media (max-width: 1024px){.dashboard-container{margin-left:0;padding:24px;max-width:100vw}.sidebar.open~.dashboard-container{margin-left:280px;max-width:calc(100vw - 280px)}}@media (max-width: 768px){.dashboard-container{margin-left:0;padding:70px 20px 20px;max-width:100vw;width:100vw}.sidebar.open~.dashboard-container,.sidebar~.dashboard-container{margin-left:0;max-width:100vw}.gestao-12bpm-app.app-service-scales-active .dashboard-container.dashboard-container--service-scales{padding-top:75px;max-width:100vw}.section-title{font-size:1.3rem;margin-bottom:.8rem}.app-footer{padding:1rem .8rem;font-size:.8rem}}@media (max-width: 600px){.dashboard-container{padding:65px 8px 8px;max-width:100vw}.gestao-12bpm-app.app-service-scales-active .dashboard-container.dashboard-container--service-scales{padding-top:70px}.section-title{font-size:1.2rem;margin-bottom:.6rem}.app-footer{padding:.8rem .6rem;font-size:.75rem}}@media (max-width: 480px){.dashboard-container{padding:60px 6px 6px;max-width:100vw}.gestao-12bpm-app.app-service-scales-active .dashboard-container.dashboard-container--service-scales{padding-top:65px}.section-title{font-size:1.1rem;margin-bottom:.5rem}.app-footer{padding:.6rem .5rem;font-size:.7rem}.app-loading-container{font-size:1rem}.auth-error{font-size:.8rem;padding:8px 12px}}@media (max-width: 360px){.dashboard-container{padding:55px 4px 4px;max-width:100vw}.gestao-12bpm-app.app-service-scales-active .dashboard-container.dashboard-container--service-scales{padding-top:60px}.section-title{font-size:1rem;margin-bottom:.4rem}.app-footer{padding:.5rem .4rem;font-size:.65rem}.app-loading-container{font-size:.9rem}.auth-error{font-size:.75rem;padding:6px 10px}}@media (max-width: 768px) and (orientation: landscape){.dashboard-container{padding:55px 8px 8px;max-width:100vw}.gestao-12bpm-app.app-service-scales-active .dashboard-container.dashboard-container--service-scales{padding-top:60px}.section-title{font-size:1.2rem}}.escala-placeholder{padding:2rem;text-align:center;max-width:800px;margin:0 auto}.escala-placeholder h2{color:#1e293b;font-size:2rem;margin-bottom:1rem;font-weight:700}.placeholder-content{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:3rem 2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:2rem}.placeholder-icon{font-size:4rem;margin-bottom:1rem;animation:spin 2s linear infinite}.placeholder-content h3{color:#f8fafc;font-size:1.5rem;margin-bottom:1rem;font-weight:600}.placeholder-content p{color:#cbd5e1;font-size:1.1rem;margin-bottom:2rem;line-height:1.6}.placeholder-features{text-align:left;max-width:500px;margin:0 auto}.placeholder-features h4{color:#f8fafc;font-size:1.2rem;margin-bottom:1rem;font-weight:600}.placeholder-features ul{list-style:none;padding:0}.placeholder-features li{color:#cbd5e1;font-size:1rem;margin-bottom:.5rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.placeholder-features li:last-child{border-bottom:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.escala-placeholder{padding:1rem}.placeholder-content{padding:2rem 1rem}.escala-placeholder h2{font-size:1.5rem}.placeholder-content h3{font-size:1.2rem}.placeholder-icon{font-size:3rem}}.install-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:10000}.install-prompt-card{background:#0b0e14;color:#fff;width:100%;max-width:420px;border-top-left-radius:12px;border-top-right-radius:12px;border:1px solid #243046;padding:16px;box-shadow:0 10px 30px #00000059}.install-prompt-header{display:flex;gap:12px;align-items:center}.install-prompt-icon{width:48px;height:48px;border-radius:8px}.install-prompt-title{font-size:1.1rem;font-weight:600}.install-prompt-body{margin-top:8px;color:#a2afc0}.install-prompt-body ol{margin:8px 0 0 18px}.install-prompt-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.btn-primary{background:#1f6feb;color:#fff;border:none;padding:10px 14px;border-radius:8px;cursor:pointer}.btn-secondary{background:transparent;color:#a2afc0;border:1px solid #2A2D3A;padding:10px 14px;border-radius:8px;cursor:pointer}@media (min-width: 640px){.install-prompt-overlay{align-items:center}.install-prompt-card{border-radius:12px}}
