*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;transition:background-color .25s ease,color .25s ease}:root,[data-theme=dark]{--brand-navy: #001F3F;--brand-orange: #FF5722;--brand-orange-hover: #F4511E;--brand-orange-light: rgba(255, 87, 34, .15);--brand-orange-glow: rgba(255, 87, 34, .35);--bg-app: #070d18;--bg-surface: #0e1726;--bg-surface-elevated: #152238;--bg-surface-hover: rgba(255, 255, 255, .04);--bg-sidebar: #050a12;--bg-modal: #0e1726;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-subtle: rgba(255, 255, 255, .07);--border-medium: rgba(255, 255, 255, .14);--border-sidebar: rgba(255, 255, 255, .06);--input-bg: rgba(255, 255, 255, .04);--input-border: rgba(255, 255, 255, .12);--input-color: #f8fafc;--btn-primary-bg: #FF5722;--btn-primary-hover: #F4511E;--btn-primary-text: #ffffff;--btn-secondary-bg: rgba(255, 255, 255, .06);--btn-secondary-border: rgba(255, 255, 255, .12);--btn-secondary-text: #cbd5e1;--table-header-bg: rgba(255, 255, 255, .03);--table-border: rgba(255, 255, 255, .04);--table-row-hover: rgba(255, 255, 255, .03);--card-bg: rgba(14, 23, 38, .6);--card-border: rgba(255, 255, 255, .07);--card-shadow: 0 4px 16px rgba(0, 0, 0, .35);--badge-success-bg: rgba(34, 197, 94, .14);--badge-success-border: rgba(34, 197, 94, .3);--badge-success-text: #4ade80;--badge-danger-bg: rgba(239, 68, 68, .14);--badge-danger-border: rgba(239, 68, 68, .3);--badge-danger-text: #f87171;--badge-info-bg: rgba(59, 130, 246, .14);--badge-info-border: rgba(59, 130, 246, .3);--badge-info-text: #60a5fa;--badge-warning-bg: rgba(245, 158, 11, .14);--badge-warning-border: rgba(245, 158, 11, .3);--badge-warning-text: #fbbf24;--role-admin: #a78bfa;--role-operations: #60a5fa;--role-store: #34d399;--role-technician: #fb923c;--swal-bg: #0e1726;--swal-color: #f8fafc;--swal-border: rgba(255, 255, 255, .1);--swal-backdrop: rgba(7, 13, 24, .8)}[data-theme=light]{--brand-navy: #001F3F;--brand-orange: #FF5722;--brand-orange-hover: #E64A19;--brand-orange-light: rgba(255, 87, 34, .12);--brand-orange-glow: rgba(255, 87, 34, .25);--bg-app: #f1f5f9;--bg-surface: #ffffff;--bg-surface-elevated: #f8fafc;--bg-surface-hover: #edf2f7;--bg-sidebar: #ffffff;--bg-modal: #ffffff;--text-primary: #001F3F;--text-secondary: #1e293b;--text-muted: #475569;--border-subtle: #e2e8f0;--border-medium: #cbd5e1;--border-sidebar: #e2e8f0;--input-bg: #ffffff;--input-border: #cbd5e1;--input-color: #001F3F;--btn-primary-bg: #FF5722;--btn-primary-hover: #E64A19;--btn-primary-text: #ffffff;--btn-secondary-bg: #ffffff;--btn-secondary-border: #cbd5e1;--btn-secondary-text: #001F3F;--badge-success-bg: rgba(22, 163, 74, .1);--badge-success-border: rgba(22, 163, 74, .28);--badge-success-text: #15803d;--badge-danger-bg: rgba(220, 38, 38, .1);--badge-danger-border: rgba(220, 38, 38, .28);--badge-danger-text: #b91c1c;--badge-info-bg: rgba(37, 99, 235, .1);--badge-info-border: rgba(37, 99, 235, .28);--badge-info-text: #1d4ed8;--badge-warning-bg: rgba(217, 119, 6, .12);--badge-warning-border: rgba(217, 119, 6, .3);--badge-warning-text: #b45309;--role-admin: #6d28d9;--role-operations: #1d4ed8;--role-store: #047857;--role-technician: #c2410c;--table-header-bg: #f8fafc;--table-border: #e2e8f0;--table-row-hover: #f1f5f9;--card-bg: #ffffff;--card-border: #e2e8f0;--card-shadow: 0 4px 16px rgba(0, 31, 63, .06);--swal-bg: #ffffff;--swal-color: #001F3F;--swal-border: #cbd5e1;--swal-backdrop: rgba(0, 31, 63, .45)}body{background:var(--bg-app);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .25s ease,color .25s ease}#root{min-height:100vh}button{font-family:inherit}.swal2-container .swal2-actions,.swal2-actions,.mantiora-swal-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:1.5rem!important;margin-top:1.75rem!important;width:100%!important}.swal2-container .swal2-actions button,.swal2-actions button,.swal2-confirm,.swal2-cancel{margin:0 .75rem!important;min-width:125px!important}.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 20% 0%,rgba(96,165,250,.06) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(167,139,250,.06) 0%,transparent 60%),#080b12}.app-header{padding:3rem 1.5rem 2rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff04;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.6rem}.logo-icon{font-size:2.2rem;display:inline-block;animation:spin 10s linear infinite;filter:drop-shadow(0 0 8px rgba(96,165,250,.5))}@keyframes spin{to{transform:rotate(360deg)}}.logo-text{font-size:2.4rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#60a5fa 20%,#a78bfa 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{color:#475569;font-size:.95rem;font-weight:400;letter-spacing:.01em}.app-main{flex:1;display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem 1.25rem;width:100%;max-width:600px;margin:0 auto}.card{width:100%;background:#ffffff06;border:1px solid rgba(255,255,255,.07);border-radius:1rem;padding:1.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .2s ease}.card:hover{border-color:#60a5fa26}.card-title{font-size:1.05rem;font-weight:600;color:#cbd5e1;margin-bottom:1.25rem;letter-spacing:-.01em}.state-row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem}.state-row.loading{background:#60a5fa0d;color:#93c5fd}.state-row.error{background:#f871710f;color:#fca5a5;border:1px solid rgba(248,113,113,.15)}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}.status-item{background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:.5rem;padding:.7rem .9rem;transition:border-color .2s ease}.status-item:hover{border-color:#ffffff1a}.status-item.full-width{grid-column:1 / -1}.status-label{display:block;font-size:.7rem;color:#475569;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.3rem;font-weight:500}.status-value{display:flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:500;color:#94a3b8}.status-value.ok{color:#4ade80}.status-value.error{color:#f87171}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-ok{background:#4ade80;box-shadow:0 0 6px #4ade8088;animation:pulse-ok 2s ease-in-out infinite}.dot-error{background:#f87171;box-shadow:0 0 6px #f8717188}@keyframes pulse-ok{0%,to{opacity:1}50%{opacity:.6}}.spinner{width:18px;height:18px;border:2px solid rgba(96,165,250,.25);border-top-color:#60a5fa;border-radius:50%;display:inline-block;flex-shrink:0;animation:rotate .7s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.btn-refresh{width:100%;padding:.7rem 1rem;background:linear-gradient(135deg,#60a5fa1a,#a78bfa1a);border:1px solid rgba(96,165,250,.25);border-radius:.5rem;color:#93c5fd;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;letter-spacing:.01em}.btn-refresh:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa33,#a78bfa33);border-color:#60a5fa73;transform:translateY(-1px);box-shadow:0 4px 16px #60a5fa1a}.btn-refresh:active:not(:disabled){transform:translateY(0)}.btn-refresh:disabled{opacity:.45;cursor:not-allowed}.info-card p{color:#64748b;font-size:.875rem;line-height:1.65;margin-bottom:.75rem}.info-card p:last-of-type{margin-bottom:1.25rem}.info-card strong{color:#94a3b8;font-weight:500}.progress-steps{display:flex;gap:.4rem;flex-wrap:wrap}.step{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .6rem;border-radius:.4rem;border:1px solid rgba(255,255,255,.05);background:#00000026;flex:1;min-width:60px}.step-done{border-color:#4ade804d;background:#4ade800d}.step-id{font-size:.75rem;font-weight:700;color:#475569;letter-spacing:.02em}.step-done .step-id{color:#4ade80}.step-label{font-size:.65rem;color:#334155;text-align:center}.step-done .step-label{color:#6ee7a0}@media (max-width: 480px){.logo-text{font-size:1.9rem}.status-grid{grid-template-columns:1fr}.status-item.full-width{grid-column:1}.step{min-width:48px;padding:.4rem}}.mantiora-swal-popup{background:var(--swal-bg)!important;color:var(--swal-color)!important;border:1px solid var(--swal-border)!important;border-radius:.85rem!important;box-shadow:0 20px 40px #0006!important;padding:1.5rem!important;transition:background-color .25s ease,color .25s ease}.mantiora-swal-title{color:var(--text-primary)!important;font-size:1.25rem!important;font-weight:700!important;margin-bottom:.5rem!important}.mantiora-swal-text{color:var(--text-secondary)!important;font-size:.92rem!important;line-height:1.5!important}.swal2-actions,.mantiora-swal-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:1.5rem!important;margin-top:1.75rem!important;width:100%!important}.swal2-actions button,.swal2-actions .swal2-confirm,.swal2-actions .swal2-cancel,.mantiora-swal-actions button,.mantiora-swal-actions .swal2-confirm,.mantiora-swal-actions .swal2-cancel{margin:0 .75rem!important;min-width:125px!important}.swal2-textarea{background:var(--input-bg)!important;border:1px solid var(--input-border)!important;border-radius:.5rem!important;color:var(--input-color)!important;font-family:inherit!important;font-size:.875rem!important;padding:.75rem!important;box-sizing:border-box!important;width:100%!important}.swal2-textarea:focus{border-color:var(--brand-orange)!important;box-shadow:0 0 0 2px var(--brand-orange-light)!important;outline:none!important}.btn-danger,.swal2-confirm.btn-danger,button.btn-danger,button.btn-danger.swal2-confirm{background-color:#ef4444!important;color:#fff!important;border:1px solid #ef4444!important;border-radius:.5rem!important;padding:.65rem 1.4rem!important;font-size:.875rem!important;font-weight:600!important;cursor:pointer!important;transition:all .15s ease!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;box-shadow:0 2px 8px #ef444459!important}.btn-danger:hover,.swal2-confirm.btn-danger:hover,button.btn-danger.swal2-confirm:hover{background-color:#dc2626!important;border-color:#dc2626!important;transform:translateY(-1px)!important}.btn-primary,.swal2-confirm.btn-primary,button.btn-primary,button.btn-primary.swal2-confirm{background-color:var(--btn-primary-bg, #FF5722)!important;color:#fff!important;border:1px solid var(--btn-primary-bg, #FF5722)!important;border-radius:.5rem!important;padding:.65rem 1.4rem!important;font-size:.875rem!important;font-weight:600!important;cursor:pointer!important;transition:all .15s ease!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;box-shadow:0 2px 8px var(--brand-orange-light, rgba(255, 87, 34, .35))!important}.btn-primary:hover,.swal2-confirm.btn-primary:hover,button.btn-primary.swal2-confirm:hover{background-color:var(--btn-primary-hover, #F4511E)!important;border-color:var(--btn-primary-hover, #F4511E)!important;transform:translateY(-1px)!important}.btn-secondary,.swal2-cancel.btn-secondary,button.btn-secondary,button.btn-secondary.swal2-cancel{background-color:var(--btn-secondary-bg)!important;color:var(--btn-secondary-text)!important;border:1px solid var(--btn-secondary-border)!important;border-radius:.5rem!important;padding:.65rem 1.4rem!important;font-size:.875rem!important;font-weight:600!important;cursor:pointer!important;transition:all .15s ease!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;box-shadow:0 1px 3px #0000000d!important}.btn-secondary:hover,.swal2-cancel.btn-secondary:hover,button.btn-secondary.swal2-cancel:hover{background-color:var(--bg-surface-hover)!important;color:var(--text-primary)!important;border-color:var(--border-medium)!important}.modal-backdrop{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;background:#000000bf!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:9999!important;padding:1rem!important;overflow-y:auto!important}.modal-dialog{background:var(--bg-modal)!important;border:1px solid var(--border-medium)!important;border-radius:.875rem!important;width:100%!important;max-width:540px;overflow:hidden!important;box-shadow:0 20px 40px #0006!important;animation:modalFadeIn .18s ease-out!important;margin:auto!important;transition:background-color .25s ease,border-color .25s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-header h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.btn-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:.2rem .4rem;border-radius:.3rem;transition:color .15s ease}.btn-close:hover{color:var(--text-primary)}.modal-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.6rem .8rem;border-radius:.4rem;font-size:.8rem}.modal-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:1.25rem!important;margin-top:1.5rem!important}.modal-actions button{min-width:110px!important}@media (max-width: 640px){.modal-backdrop{padding:.5rem!important}.modal-dialog{max-width:100%!important;width:100%!important;margin:auto!important;max-height:94vh!important;display:flex!important;flex-direction:column!important;border-radius:.65rem!important}.modal-header{padding:1rem 1.25rem!important}.modal-form{padding:1rem 1.25rem!important;max-height:calc(94vh - 70px)!important;overflow-y:auto!important}.modal-actions{flex-direction:column-reverse!important;gap:.65rem!important;width:100%!important}.modal-actions button{width:100%!important}.swal2-actions,.mantiora-swal-actions{flex-direction:column-reverse!important;gap:.75rem!important;width:100%!important}.swal2-actions button,.swal2-actions .swal2-confirm,.swal2-actions .swal2-cancel,.mantiora-swal-actions button,.mantiora-swal-actions .swal2-confirm,.mantiora-swal-actions .swal2-cancel{width:100%!important;margin:0!important}}.theme-toggle-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--btn-secondary-bg, rgba(255, 255, 255, .06));color:var(--text-secondary, #94a3b8);border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));border-radius:.5rem;padding:.45rem .75rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.theme-toggle-btn:hover{background:var(--bg-surface-hover, rgba(255, 255, 255, .1));color:var(--text-primary, #f1f5f9);border-color:var(--border-medium, rgba(255, 255, 255, .2));transform:translateY(-1px)}.theme-toggle-btn.compact{padding:.45rem;width:32px;height:32px;justify-content:center}.theme-toggle-icon-wrap{display:flex;align-items:center;justify-content:center}.icon-sun{color:#f59e0b;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.theme-toggle-btn:hover .icon-sun{transform:rotate(45deg) scale(1.1)}.icon-moon{color:#38bdf8;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.theme-toggle-btn:hover .icon-moon{transform:rotate(-20deg) scale(1.1)}.layout{display:flex;min-height:100vh;background:var(--bg-app);transition:background-color .25s ease}.layout-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;width:100%}.layout-main{flex:1;padding:2rem 2.5rem;overflow-y:auto;color:var(--text-primary);background:var(--bg-app);min-width:0;width:100%;transition:background-color .25s ease,color .25s ease}.sidebar{width:240px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border-sidebar);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;transition:width .2s ease,background-color .25s ease,border-color .25s ease}.sidebar-logo{display:flex;align-items:center;gap:.6rem;padding:1.25rem;border-bottom:1px solid var(--border-subtle);flex-shrink:0;color:var(--text-primary)}.pulso-brand-text{color:var(--text-primary);transition:color .2s ease}.pulso-nodes{stroke:var(--text-primary);transition:stroke .2s ease}.sidebar-nav{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:.2rem}.sidebar-nav-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:.5rem;text-decoration:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all .15s ease;border:1px solid transparent}.sidebar-nav-item:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.sidebar-nav-item.active{color:var(--brand-orange);background:var(--brand-orange-light);border-color:transparent;border-left-color:var(--brand-orange);box-shadow:-2px 0 0 var(--brand-orange) inset;font-weight:600}.nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:.85rem .75rem;border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:.5rem;flex-shrink:0;transition:border-color .25s ease}.sidebar-user{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0}.user-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:inherit;flex-shrink:0}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.user-role{font-size:.7rem;font-weight:500;white-space:nowrap}.sidebar-footer-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.btn-logout{width:32px;height:32px;border-radius:.4rem;border:1px solid var(--border-subtle);background:var(--btn-secondary-bg);color:var(--text-secondary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.btn-logout:hover{color:#f87171;border-color:#f871714d;background:#f8717112}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#080b12}.loading-spinner{width:36px;height:36px;border:3px solid rgba(96,165,250,.2);border-top-color:#60a5fa;border-radius:50%;display:inline-block;animation:spin-fast .75s linear infinite}@media (max-width: 1024px){.layout-main{padding:1.5rem}}@media (max-width: 768px){.sidebar{width:64px}.sidebar-logo-text,.nav-label,.user-info{display:none}.sidebar-logo{justify-content:center;padding:1.25rem 0}.sidebar-nav{align-items:center;padding:.5rem .25rem}.sidebar-nav-item{justify-content:center;padding:.65rem;width:44px;height:44px}.sidebar-footer{justify-content:center;padding:.75rem 0}.user-avatar{display:none}.layout-main{padding:1rem}}@media (max-width: 480px){.sidebar{width:54px}.sidebar-nav-item{width:38px;height:38px;padding:.5rem}.layout-main{padding:.75rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-app);padding:1.5rem;position:relative;overflow:hidden;transition:background-color .25s ease}.login-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:.25}.login-blob-1{width:500px;height:500px;background:radial-gradient(circle,var(--brand-orange-light),transparent);top:-150px;left:-100px;animation:float 8s ease-in-out infinite}.login-blob-2{width:400px;height:400px;background:radial-gradient(circle,rgba(0,31,63,.4),transparent);bottom:-100px;right:-80px;animation:float 10s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(20px,-20px)}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:1.25rem;padding:2.5rem 2rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--card-shadow);transition:background-color .25s ease,border-color .25s ease}.login-header{text-align:center;margin-bottom:2rem}.login-logo{margin-bottom:.75rem}.login-logo-icon{font-size:2.5rem;display:inline-block;animation:spin-slow 10s linear infinite;filter:drop-shadow(0 0 12px #60a5fa88)}@keyframes spin-slow{to{transform:rotate(360deg)}}.login-title{font-size:2rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#60a5fa 20%,#a78bfa 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.3rem}.login-subtitle{font-size:.875rem;color:#475569}.login-form{display:flex;flex-direction:column;gap:1.1rem}.field-group{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase}.field-input{width:100%;padding:.75rem .9rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:.5rem;color:var(--input-color);font-size:.9rem;font-family:inherit;outline:none;transition:all .2s ease}.field-input::placeholder{color:var(--text-muted)}.field-input:focus{border-color:var(--brand-orange);box-shadow:0 0 0 3px var(--brand-orange-light)}.field-input:disabled{opacity:.5;cursor:not-allowed}.password-wrapper{position:relative}.password-wrapper .field-input{padding-right:2.75rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:.25rem;transition:color .15s ease;line-height:1}.password-toggle:hover{color:var(--text-primary)}.login-error{padding:.7rem .9rem;background:#f8717114;border:1px solid rgba(248,113,113,.25);border-radius:.5rem;color:#f87171;font-size:.85rem;display:flex;align-items:center;gap:.5rem;animation:slide-in .2s ease}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.login-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem;margin-top:.5rem;background:var(--brand-orange);border:none;border-radius:.6rem;color:#fff;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 4px 14px var(--brand-orange-light)}.login-btn:hover:not(:disabled){background:var(--brand-orange-hover);transform:translateY(-1px);box-shadow:0 6px 20px var(--brand-orange-glow)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.45;cursor:not-allowed}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin-fast .7s linear infinite}@keyframes spin-fast{to{transform:rotate(360deg)}}.login-footer{text-align:center;margin-top:1.5rem;font-size:.75rem;color:#1e293b}.dashboard-container{display:flex;flex-direction:column;gap:1.75rem;width:100%;max-width:100%}.dashboard-hero{background:var(--card-bg);border:1px solid var(--card-border);border-radius:1rem;padding:1.75rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.25rem;box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color .25s ease,border-color .25s ease}.hero-welcome{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-orange);font-weight:700;display:block;margin-bottom:.25rem}.hero-title{font-size:1.85rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.35rem;transition:color .2s ease}.hero-desc{font-size:.875rem;color:var(--text-secondary);max-width:540px;line-height:1.5;transition:color .2s ease}.hero-badge-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.hero-role-pill{font-size:.8rem;font-weight:600;padding:.35rem .85rem;border-radius:2rem;border:1px solid;letter-spacing:.02em}.hero-date{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:.875rem;padding:1.4rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:var(--card-shadow)}.kpi-card:hover{background:var(--bg-surface-hover);border-color:var(--border-medium);transform:translateY(-2px);box-shadow:0 10px 25px #00000026}.kpi-icon-wrap{width:42px;height:42px;border-radius:.6rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.kpi-content{display:flex;flex-direction:column;gap:.2rem}.kpi-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.kpi-value{font-size:2.1rem;font-weight:800;color:var(--text-primary);line-height:1.1;letter-spacing:-.03em;transition:color .2s ease}.kpi-desc{font-size:.75rem;color:var(--text-muted);margin-top:.2rem}.kpi-link{font-size:.8rem;font-weight:600;color:var(--brand-orange);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;transition:gap .15s ease;border-top:1px solid var(--border-subtle);padding-top:.75rem}.kpi-link:hover{gap:.55rem;color:var(--brand-orange-hover)}.text-muted-link{color:var(--text-muted)}.dashboard-middle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem}.dashboard-section-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:.875rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:var(--card-shadow);transition:background-color .25s ease,border-color .25s ease}.section-title{font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;transition:color .2s ease}.quick-actions-list{display:flex;flex-direction:column;gap:.75rem}.quick-action-item{display:flex;align-items:center;gap:1rem;padding:.9rem 1.1rem;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:.75rem;text-decoration:none;color:inherit;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.quick-action-item:hover{background:var(--bg-surface-hover);border-color:var(--brand-orange);transform:translate(4px);box-shadow:0 4px 14px #001f3f14}.qa-icon{width:40px;height:40px;border-radius:.6rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.qa-info{flex:1;display:flex;flex-direction:column;gap:.2rem}.qa-info strong{font-size:.9rem;font-weight:700;color:var(--text-primary);transition:color .2s ease}.qa-info small{font-size:.8rem;color:var(--text-secondary);line-height:1.35;transition:color .2s ease}.qa-arrow{color:var(--text-muted);font-size:1.15rem;font-weight:700;transition:all .2s ease}.quick-action-item:hover .qa-arrow{transform:translate(3px);color:var(--brand-orange)}.system-health-list{display:flex;flex-direction:column;gap:.9rem}.health-row{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--border-subtle)}.health-row:last-child{border-bottom:none}.health-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);transition:color .2s ease}.health-badge.success{background:var(--badge-success-bg);color:var(--badge-success-text);border:1px solid var(--badge-success-border);padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:700;letter-spacing:.02em}.health-value{font-size:.875rem;color:var(--text-primary);font-weight:600;transition:color .2s ease}.stages-section{overflow-x:auto}.stages-timeline{display:flex;gap:1.5rem;padding-bottom:.5rem}.timeline-step{display:flex;flex-direction:column;align-items:center;gap:.45rem;min-width:105px;text-align:center;position:relative}.step-circle{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:var(--bg-surface-elevated);border:1px solid var(--border-medium);color:var(--text-muted);transition:all .2s ease}.timeline-step.done .step-circle{background:var(--badge-success-bg);border-color:var(--badge-success-border);color:var(--badge-success-text)}.step-title{font-size:.78rem;font-weight:600;color:var(--text-muted);transition:color .2s ease}.timeline-step.done .step-title{color:var(--text-primary);font-weight:700}.step-status{font-size:.72rem;color:var(--text-muted);font-weight:500}.timeline-step.done .step-status{color:var(--badge-success-text);font-weight:700}@media (max-width: 900px){.dashboard-middle-grid{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-hero{flex-direction:column;align-items:flex-start;padding:1.25rem 1.5rem;gap:1rem}.hero-badge-wrap{align-items:flex-start}.hero-title{font-size:1.45rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}}@media (max-width: 480px){.kpi-grid{grid-template-columns:1fr}.hero-title{font-size:1.25rem}.hero-desc{font-size:.8rem}}.users-page{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%}.users-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;width:100%}.page-title{font-size:1.6rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.page-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:.2rem}.btn-primary{background:var(--btn-primary-bg, #FF5722);color:var(--btn-primary-text, #ffffff);border:none;border-radius:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px var(--brand-orange-light, rgba(255, 87, 34, .25))}.btn-primary:hover{background:var(--btn-primary-hover, #F4511E);transform:translateY(-1px)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border);border-radius:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #0000000a}.btn-secondary:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-medium)}.btn-danger{background:#ef4444;color:#fff;border:none;border-radius:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.users-toolbar{display:flex;gap:1rem;flex-wrap:wrap;width:100%}.search-box{flex:1;min-width:260px}.search-box input,.filter-box select{width:100%;padding:.6rem .9rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:.5rem;color:var(--input-color);font-size:.875rem;outline:none;transition:border-color .15s ease,background-color .2s ease}.search-box input:focus,.filter-box select:focus{border-color:var(--brand-orange);box-shadow:0 0 0 2px var(--brand-orange-light)}.filter-box select option{background:var(--bg-surface);color:var(--text-primary)}.users-table-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:.875rem;overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;box-shadow:var(--card-shadow);transition:background-color .25s ease,border-color .25s ease}.users-table{width:100%;border-collapse:collapse;text-align:left;min-width:780px}.users-table th{background:var(--table-header-bg);padding:.875rem 1.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--table-border)}.users-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--table-border);vertical-align:middle;color:var(--text-primary);transition:background-color .15s ease}.users-table tr:hover td{background:var(--table-row-hover)}.users-table tr:last-child td{border-bottom:none}.users-table tr.row-inactive{opacity:.6}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar-sm{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.user-cell-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.user-cell-email{font-size:.8rem;color:var(--text-secondary)}.role-badge{display:inline-block;padding:.2rem .65rem;border-radius:1rem;border:1px solid;font-size:.75rem;font-weight:600;letter-spacing:.02em}.status-pill{display:inline-block;padding:.2rem .6rem;border-radius:.4rem;font-size:.75rem;font-weight:600}.status-pill.active{background:var(--badge-success-bg);color:var(--badge-success-text);border:1px solid var(--badge-success-border)}.status-pill.inactive{background:var(--badge-danger-bg);color:var(--badge-danger-text);border:1px solid var(--badge-danger-border)}.actions-cell{display:flex;gap:.5rem}.btn-action{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);padding:.35rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;color:var(--text-primary);transition:all .15s ease;box-shadow:0 1px 2px #0000000a}.btn-action.edit:hover{background:var(--badge-info-bg);border-color:var(--badge-info-border);color:var(--badge-info-text)}.btn-action.toggle.deactivate:hover{background:var(--badge-danger-bg);border-color:var(--badge-danger-border);color:var(--badge-danger-text)}.btn-action.toggle.activate:hover{background:var(--badge-success-bg);border-color:var(--badge-success-border);color:var(--badge-success-text)}.users-loading,.users-empty{padding:3rem;text-align:center;color:#64748b;font-size:.9rem}.users-alert.error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1rem;border-radius:.5rem;font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;padding:1rem}.modal-dialog{background:#0f172a;border:1px solid rgba(255,255,255,.12);border-radius:.875rem;width:100%;max-width:500px;overflow:hidden;box-shadow:0 20px 40px #0009;animation:modalFadeIn .18s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h3{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.btn-close{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:.2rem .4rem;border-radius:.3rem;transition:all .15s ease}.btn-close:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.1rem}.modal-error{background:var(--badge-danger-bg);border:1px solid var(--badge-danger-border);color:var(--badge-danger-text);padding:.6rem .8rem;border-radius:.4rem;font-size:.8rem;font-weight:500}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group select{padding:.6rem .8rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:.4rem;color:var(--input-color);font-size:.875rem;outline:none;transition:border-color .15s ease}.form-group input:focus,.form-group select:focus{border-color:var(--brand-orange);box-shadow:0 0 0 2px var(--brand-orange-light)}.form-group select option{background:var(--bg-surface);color:var(--text-primary)}.form-hint{font-size:.75rem;line-height:1.3}.text-muted{font-size:.75rem;color:var(--text-muted);font-weight:400}.sites-checklist{display:flex;flex-direction:column;gap:.4rem;max-height:140px;overflow-y:auto;padding:.6rem;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:.4rem}.checkbox-item{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-primary);cursor:pointer}.checkbox-item small{color:var(--text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}@media (max-width: 900px){.users-toolbar{gap:.75rem}.search-box{min-width:200px}}@media (max-width: 768px){.users-page{gap:1.25rem}.users-header{flex-direction:column;align-items:stretch;gap:1rem}.users-header .btn-primary{width:100%;justify-content:center}.page-title{font-size:1.4rem}.users-toolbar{flex-direction:column;gap:.65rem}.search-box{width:100%;min-width:100%}.filter-box{width:100%;min-width:100%!important}.filter-box select{width:100%}}@media (max-width: 480px){.page-title{font-size:1.2rem}.users-table th,.users-table td{padding:.75rem .85rem}}.checklists-page{padding:1.5rem;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.checklists-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.checklists-header-text h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.35rem;letter-spacing:-.02em}.checklists-header-text p{color:var(--text-secondary);font-size:.925rem;max-width:650px;line-height:1.45}.checklists-filters{display:flex;gap:.75rem;flex-wrap:wrap}.checklists-table-container{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:.75rem;overflow:hidden;box-shadow:0 4px 12px #0000000d}.checklists-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.checklists-table th{background:var(--bg-surface-elevated, rgba(255, 255, 255, .02));color:var(--text-secondary);font-weight:600;padding:.85rem 1rem;border-bottom:1px solid var(--border-subtle);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.checklists-table td{padding:.95rem 1rem;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.checklists-table tr:hover{background:var(--bg-surface-hover, rgba(255, 255, 255, .02))}.item-count-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:#3b82f61f;color:#3b82f6;border:1px solid rgba(59,130,246,.25);border-radius:9999px;font-size:.78rem;font-weight:600}.checklist-builder-item{background:var(--bg-surface-elevated, rgba(255, 255, 255, .03));border:1px solid var(--border-subtle);border-radius:.5rem;padding:.85rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s}.checklist-builder-item:hover{border-color:var(--border-strong, rgba(255, 255, 255, .2))}.builder-item-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-secondary)}.builder-item-num{font-weight:700;color:var(--brand-orange)}.wo-checklist-container{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.wo-checklist-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;background:var(--bg-surface-elevated, rgba(255, 255, 255, .02));border:1px solid var(--border-subtle);border-radius:.5rem}.progress-track{width:100%;height:6px;background:var(--border-subtle, rgba(255, 255, 255, .1));border-radius:9999px;overflow:hidden;margin-top:.35rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--brand-orange) 0%,#22c55e 100%);transition:width .3s ease}.wo-checklist-item-card{padding:1rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:.6rem;display:flex;flex-direction:column;gap:.75rem}.wo-checklist-item-card.answered{border-left:3px solid #22c55e}.wo-checklist-item-card.required-pending{border-left:3px solid #ef4444}.boolean-pill-group{display:flex;gap:.5rem}.boolean-btn{flex:1;padding:.45rem .85rem;font-size:.825rem;font-weight:600;border-radius:.4rem;cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-surface-elevated, rgba(255, 255, 255, .04));color:var(--text-secondary);transition:all .18s ease;display:flex;align-items:center;justify-content:center;gap:.35rem}.boolean-btn:hover{background:var(--bg-surface-hover, rgba(255, 255, 255, .08));color:var(--text-primary)}.boolean-btn.yes.selected{background:#22c55e2e;border-color:#22c55e;color:#22c55e}.boolean-btn.no.selected{background:#ef44442e;border-color:#ef4444;color:#ef4444}.boolean-btn.na.selected{background:#94a3b82e;border-color:#94a3b8;color:#94a3b8}.readonly-answer-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:.35rem;font-size:.8rem;font-weight:600}.substatuses-page{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%}.substatuses-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;width:100%}.substatuses-info-banner{background:var(--badge-info-bg);border:1px solid var(--badge-info-border);border-radius:.75rem;padding:1rem 1.25rem;display:flex;gap:1rem;align-items:flex-start;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.substatuses-info-banner .banner-icon{color:var(--badge-info-text);flex-shrink:0;margin-top:.15rem}.substatuses-info-banner strong{color:var(--text-primary)}.substatuses-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem}.substatus-tab{background:transparent;border:none;color:var(--text-secondary);padding:.6rem 1.25rem;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.substatus-tab:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.substatus-tab.active{background:var(--brand-orange-light);color:var(--brand-orange)}.core-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.25rem}.core-group-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--card-shadow);transition:background-color .25s ease,border-color .25s ease}.core-group-header{padding:1rem 1.25rem;background:var(--bg-surface-elevated);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.core-group-title-wrap{display:flex;align-items:center;gap:.6rem}.core-group-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem;border-radius:.375rem}.core-group-count{font-size:.75rem;color:var(--text-muted);background:var(--bg-surface-hover);padding:.15rem .45rem;border-radius:.25rem}.core-group-desc{padding:.6rem 1.25rem;font-size:.8rem;color:var(--text-muted);border-bottom:1px dashed var(--border-subtle);background:var(--bg-surface-hover)}.substatus-items-list{padding:.75rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.substatus-item-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:.5rem;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;transition:all .15s ease}.substatus-item-card:hover{border-color:var(--border-medium);background:var(--bg-surface-hover)}.substatus-item-card.inactive{opacity:.5}.substatus-item-left{display:flex;align-items:flex-start;gap:.75rem;min-width:0;flex:1}.substatus-color-indicator{width:12px;height:12px;border-radius:50%;margin-top:.3rem;flex-shrink:0;box-shadow:0 0 6px #0000004d}.substatus-item-content{display:flex;flex-direction:column;gap:.2rem;min-width:0}.substatus-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.substatus-name{font-size:.875rem;font-weight:600;color:var(--text-primary);transition:color .2s ease}.default-badge{font-size:.68rem;padding:.1rem .4rem;background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3);border-radius:.25rem;font-weight:600}.substatus-desc{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.substatus-item-actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.color-picker-grid{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.4rem}.color-swatch-btn{width:28px;height:28px;border-radius:.375rem;border:2px solid transparent;cursor:pointer;transition:transform .1s ease}.color-swatch-btn:hover{transform:scale(1.15)}.color-swatch-btn.selected{border-color:#fff;box-shadow:0 0 8px #fff6}.custom-color-input{width:32px;height:32px;padding:0;border:none;border-radius:.375rem;cursor:pointer;background:transparent}@media (max-width: 768px){.substatuses-header{flex-direction:column;align-items:stretch;gap:1rem}.substatuses-header .btn-primary{width:100%;justify-content:center}.core-groups-grid{grid-template-columns:1fr}.substatuses-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:.75rem}}.preventive-page{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%}.preventive-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;width:100%}.preventive-header-text h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.25rem}.preventive-header-text p{font-size:.875rem;color:var(--text-secondary)}.preventive-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.scheduler-banner{background:var(--badge-info-bg);border:1px solid var(--badge-info-border);border-radius:.75rem;padding:1rem 1.25rem;display:flex;gap:1rem;align-items:flex-start;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.scheduler-banner-icon{color:var(--badge-info-text);flex-shrink:0;margin-top:.15rem}.scheduler-banner strong{color:var(--text-primary)}.preventive-filters{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:.75rem;padding:1rem 1.25rem;box-shadow:var(--card-shadow)}.filter-input-wrap{flex:1;min-width:220px}.filter-input-wrap input,.filter-input-wrap select{width:100%;padding:.6rem .85rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:.5rem;color:var(--input-color);font-size:.875rem;outline:none;transition:border-color .15s ease}.filter-input-wrap input:focus,.filter-input-wrap select:focus{border-color:var(--brand-orange);box-shadow:0 0 0 2px var(--brand-orange-light)}.preventive-table-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:.875rem;overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--card-shadow);width:100%}.preventive-table{width:100%;border-collapse:collapse;text-align:left;min-width:880px}.preventive-table th{background:var(--table-header-bg);padding:.875rem 1.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--table-border)}.preventive-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--table-border);vertical-align:middle;color:var(--text-primary);transition:background-color .15s ease}.preventive-table tr:hover td{background:var(--table-row-hover)}.preventive-table tr:last-child td{border-bottom:none}.preventive-table tr.row-paused{opacity:.65}.frequency-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:.4rem;font-size:.78rem;font-weight:600;background:var(--bg-surface-elevated);border:1px solid var(--border-medium);color:var(--text-primary)}.next-run-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;font-family:monospace}.next-run-badge.due{color:var(--badge-danger-text);background:var(--badge-danger-bg);border:1px solid var(--badge-danger-border);padding:.15rem .5rem;border-radius:.375rem}.priority-pill{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:.35rem;text-transform:uppercase;letter-spacing:.03em}.priority-pill.low{background:var(--badge-info-bg);color:var(--badge-info-text);border:1px solid var(--badge-info-border)}.priority-pill.medium{background:var(--badge-warning-bg);color:var(--badge-warning-text);border:1px solid var(--badge-warning-border)}.priority-pill.high,.priority-pill.critical{background:var(--badge-danger-bg);color:var(--badge-danger-text);border:1px solid var(--badge-danger-border)}.status-indicator{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.active{background:#10b981;box-shadow:0 0 6px #10b98166}.status-dot.paused{background:#94a3b8}.actions-cell-preventive{display:flex;align-items:center;gap:.45rem}.preventive-empty,.preventive-loading{padding:3rem 1.5rem;text-align:center;color:var(--text-secondary)}@media (max-width: 768px){.preventive-header{flex-direction:column;align-items:stretch}.preventive-header-actions{width:100%}.preventive-header-actions button{flex:1;justify-content:center}}.rp-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.rp-kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:.875rem;padding:1.1rem 1.25rem;display:flex;align-items:flex-start;gap:1rem;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--card-shadow)}.rp-kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.rp-kpi-icon{font-size:1.35rem;width:44px;height:44px;border-radius:.6rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rp-kpi-body{display:flex;flex-direction:column;min-width:0}.rp-kpi-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.rp-kpi-value{font-size:1.9rem;font-weight:800;line-height:1.1;margin:.1rem 0}.rp-kpi-sub{font-size:.72rem;color:var(--text-muted)}.rp-assets-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:stretch}.rp-asset-chip{display:flex;align-items:center;gap:.6rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:.75rem;padding:.75rem 1.1rem;flex:1;min-width:120px;box-shadow:var(--card-shadow)}.rp-asset-val{font-size:1.5rem;font-weight:800;line-height:1}.rp-asset-lbl{font-size:.72rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.rp-bar-track{flex:1;height:6px;border-radius:999px;background:var(--border-subtle);overflow:hidden}.rp-bar-fill{height:100%;border-radius:999px;transition:width .6s ease}.rp-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:.875rem;padding:1.25rem;box-shadow:var(--card-shadow)}.rp-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.rp-panel-title{font-size:.9rem;font-weight:700;color:var(--text-primary)}.rp-panel-total{font-size:.75rem;color:var(--text-muted);background:var(--bg-elevated, rgba(0,0,0,.04));border:1px solid var(--border-subtle);border-radius:999px;padding:.15rem .65rem;font-weight:600}.rp-mid-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 860px){.rp-mid-grid{grid-template-columns:1fr}}.rp-status-list{display:flex;flex-direction:column;gap:.7rem}.rp-status-row{display:grid;grid-template-columns:110px 1fr 64px;align-items:center;gap:.75rem}.rp-status-pill{font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:.35rem;text-align:center;white-space:nowrap}.rp-status-bar-wrap{flex:1}.rp-status-numbers{display:flex;flex-direction:column;align-items:flex-end;font-size:.78rem;line-height:1.3}.rp-type-chips{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.5rem}.rp-type-chip{border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center}.rp-type-corrective{background:#38bdf814;border:1px solid rgba(56,189,248,.25)}.rp-type-preventive{background:#c084fc14;border:1px solid rgba(192,132,252,.25)}.rp-type-num{font-size:2rem;font-weight:800;line-height:1;color:var(--text-primary)}.rp-type-corrective .rp-type-num{color:#38bdf8}.rp-type-preventive .rp-type-num{color:#c084fc}.rp-type-lbl{font-size:.72rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.rp-priority-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.25rem}.rp-priority-row{display:grid;grid-template-columns:10px 64px 1fr 32px;align-items:center;gap:.6rem}.rp-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.rp-priority-label{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.rp-priority-count{font-size:.82rem;font-weight:700;text-align:right}.rp-tables-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 860px){.rp-tables-grid{grid-template-columns:1fr}}.rp-site-list{display:flex;flex-direction:column;gap:.8rem}.rp-site-row{display:flex;flex-direction:column;gap:.35rem}.rp-site-info{display:flex;justify-content:space-between;align-items:center}.rp-site-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.rp-site-badges{display:flex;gap:.5rem;align-items:center}.rp-badge-yellow{font-size:.68rem;color:#facc15;font-weight:600}.rp-badge-green{font-size:.68rem;color:#4ade80;font-weight:600}.rp-badge-pct{font-size:.72rem;font-weight:700;min-width:32px;text-align:right}.rp-tech-list{display:flex;flex-direction:column;gap:.9rem}.rp-tech-row{display:flex;gap:.75rem;align-items:flex-start}.rp-tech-rank{font-size:.7rem;font-weight:700;color:var(--text-muted);width:22px;flex-shrink:0;padding-top:.15rem}.rp-tech-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.rp-tech-header{display:flex;justify-content:space-between;align-items:center}.rp-tech-name{font-size:.82rem;font-weight:700;color:var(--text-primary)}.rp-tech-pct{font-size:.72rem;font-weight:700}.rp-tech-sub{font-size:.7rem;color:var(--text-muted)}.rp-export-desc{font-size:.82rem;color:var(--text-muted);margin-bottom:1rem;margin-top:-.5rem}.rp-export-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.85rem}.rp-filter-group{display:flex;flex-direction:column;gap:.35rem}.rp-filter-label{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.rp-input{background:var(--input-bg, var(--bg-surface));border:1px solid var(--input-border, var(--border-subtle));border-radius:.5rem;color:var(--text-primary);padding:.55rem .75rem;font-size:.84rem;font-family:inherit;width:100%;transition:border-color .15s ease}.rp-input:focus{outline:none;border-color:var(--brand-orange);box-shadow:0 0 0 3px var(--brand-orange-light)}.rp-export-footer{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;flex-wrap:wrap}.rp-loading,.rp-empty{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.85rem}
