:root{color:#16212c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f5f7;font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 0 0,#11344c0d,#0000 22%),radial-gradient(circle at 100% 100%,#b98a180f,#0000 18%),#f4f5f7;min-width:320px;min-height:100vh;margin:0}body,button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#root{min-height:100vh}:root.dark html{background-color:#04111f}:root.dark body{background:var(--bg,#04111f)}:root{--bg:#f8fafc;--surface:#fff;--surface-soft:#f8fafc;--surface-muted:#edf2f6;--surface-strong:#dbe4eb;--card-bg:#fff;--card-border:#e2e8f0;--card-shadow:0 12px 32px #0f172a1f;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--label:#334155;--input-bg:#fff;--input-border:#cbd5e1;--input-text:#0f172a;--input-placeholder:#94a3b8;--button-bg:#2563eb;--button-hover:#1d4ed8;--button-text:#fff;--surface-dark:#102839;--surface-dark-alt:#143247;--surface-dark-soft:#1b4059;--border:#d7dee6;--border-strong:#b8c4d0;--text:#17222d;--text-muted:#4e5d6b;--text-soft:#6a7784;--text-on-dark:#f5f7fa;--text-on-dark-muted:#f5f7fae6;--primary:#11354c;--primary-hover:#0d2a40;--primary-soft:#dbe7ef;--accent:#b98a18;--accent-soft:#f2ead2;--success:#1f8a62;--danger:#b44538;--shadow-sm:0 10px 24px #1020300d;--shadow-md:0 18px 40px #10203014;--radius-sm:12px;--radius-md:18px;--radius-lg:22px;--container:min(1640px, calc(100% - 24px));--topbar-height:88px;--dock-height:92px}:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#04111f;--surface:#0f2740;--surface-soft:#132d47;--surface-muted:#0d2137;--surface-strong:#163652;--card-bg:#0f2740;--card-border:#ffffff1c;--card-shadow:0 24px 60px #0000008c, 0 0 0 1px #ffffff0a;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text:#f1f5f9;--text-muted:#94a3b8;--text-soft:#64748b;--label:#e2e8f0;--border:#ffffff1c;--border-strong:#fff3;--input-bg:#132d47;--input-border:#2d4a63;--input-text:#f1f5f9;--input-placeholder:#64748b;--button-bg:#2563eb;--button-hover:#1d4ed8;--button-text:#fff;--shadow-sm:0 8px 28px #0006, 0 0 0 1px #ffffff0a;--shadow-md:0 20px 50px #00000080}.page-shell,.portal-shell{width:var(--container);margin:0 auto}body.body-auth{overflow:hidden}body.body-portal{background:var(--bg);overflow:hidden}body.body-portal #root{min-height:100dvh}.auth-shell{grid-template-columns:minmax(0,1.35fr) minmax(460px,.65fr);align-items:stretch;gap:14px;height:100vh;padding:12px 0;display:grid}.auth-panel{border-radius:var(--radius-lg);border:1px solid var(--border);min-width:0;min-height:0;box-shadow:var(--shadow-md)}.auth-panel-brand{background:linear-gradient(180deg, var(--surface-dark), var(--surface-dark-alt));color:var(--text-on-dark);padding:20px 24px;overflow:hidden}.brand-panel-content{grid-template-rows:auto auto auto auto;gap:14px;height:100%;display:grid}.section-eyebrow{color:#34516a;letter-spacing:.1em;text-transform:uppercase;background:#f4f8fb;border:1px solid #d7e0e8;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:28px;padding:0 12px;font-size:.75rem;font-weight:800;display:inline-flex}.section-eyebrow-light{color:var(--accent);background:#ffffff0d;border:1px solid #ffffff24}.brand-panel-top{text-align:center;place-items:center;min-height:180px;display:grid}.brand-panel-top h2{max-width:100%;color:var(--text-on-dark);letter-spacing:-.035em;margin:0 0 8px;font-size:clamp(1.65rem,2.1vw,2.4rem);font-weight:800;line-height:1.15}.brand-panel-top p{color:var(--text-on-dark-muted);margin:0;font-size:1.1rem;line-height:1.4}.brand-panel-top p,.highlight-item p,.brand-panel-footer p{color:var(--text-on-dark-muted);font-size:.92rem}.brand-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.brand-stat-card,.highlight-item{border-radius:var(--radius-md);background:#ffffff0d;border:1px solid #ffffff14;padding:12px 14px}.brand-stat-card strong,.highlight-item strong{color:var(--text-on-dark);margin-top:6px;font-size:.93rem;line-height:1.35;display:block}.brand-stat-card .meta-label{color:#f1cb68}.brand-highlight-list{gap:10px;display:grid}.brand-panel-footer{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex}.brand-panel-footer a{color:#f1cb68;font-weight:700}.auth-panel-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffbd;align-items:center;padding:10px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px}.auth-card-header{text-align:center;justify-items:center;gap:8px;display:grid}.auth-card-logo-wrap{justify-content:center;width:100%;display:flex}.auth-card-logo{object-fit:contain;background:0 0;width:min(100%,180px);max-height:72px}.auth-card-title{color:#081f4d;letter-spacing:-.03em;margin:4px 0 0;font-size:clamp(2rem,2.5vw,2.8rem);line-height:1.06}.auth-card-header .auth-card-subtitle{color:#526d8a;margin:0;font-size:clamp(1rem,1.18vw,1.45rem);line-height:1.3}.auth-card-header p,.section-heading-block p,.module-card p,.summary-item p,.company-stat-card p,.context-primary span,.context-item strong,.loading-card p,.portal-summary-primary p{color:var(--text-muted)}.portal-summary-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.login-page-shell{background:var(--bg);min-height:100vh;color:var(--text-primary);position:relative;overflow:hidden}.theme-toggle{z-index:30;border:1px solid var(--card-border);background:var(--surface);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:999px;place-items:center;font-size:1rem;display:grid;position:fixed;top:18px;right:18px;box-shadow:0 7px 24px #0f172a33}.theme-toggle:hover{filter:brightness(1.06)}.portal-preview-background{pointer-events:none;filter:blur(7.5px);opacity:.75;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.portal-preview-content{box-sizing:border-box;height:100%;padding:28px}.portal-topbar{color:var(--text-secondary);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;font-weight:700;display:flex}.topbar-brand{color:#f9d66d;background:#0f172a5c;border-radius:999px;padding:6px 12px}.topbar-user{color:var(--text-tertiary)}.portal-quick-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.quick-card{color:var(--text-secondary);background:#04111f80;border:1px solid #ffffff26;border-radius:10px;padding:12px 14px;font-size:.87rem;font-weight:700}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.portal-module-card{color:var(--text-secondary);background:#10294485;border:1px solid #ffffff26;border-radius:12px;padding:14px}.portal-module-card h4{color:#f6cc62;margin:0 0 4px;font-size:.97rem}.portal-module-card p{color:var(--text-tertiary);margin:0;font-size:.84rem}.portal-preview-overlay{pointer-events:none;background:linear-gradient(#040f1c73,#06111eb8);position:absolute;inset:0}.login-foreground{z-index:10;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.login-card{background:var(--card-bg);border:1px solid var(--card-border);width:min(460px,95vw);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px;padding:28px 24px 16px}.login-card-logo{object-fit:contain;width:160px;height:auto;margin:0 auto 16px;display:block}:root.dark .login-card-logo{filter:drop-shadow(0 0 #0000)}.login-card h1{text-align:center;color:var(--title-color,var(--text-primary));margin:0 0 6px;font-size:1.8rem}.login-card-subtitle{text-align:center;color:var(--subtitle-color,var(--text-secondary));margin:0 0 18px;font-size:.96rem}.login-hint{color:var(--text-tertiary);text-align:center;margin-top:12px;font-size:.82rem}:root.dark .login-card{background:#102a43;border:1px solid #ffffff21;box-shadow:0 20px 50px #0009,0 0 0 1px #ffffff0d}:root.dark .login-card h1{color:#f8fafc}:root.dark .login-card-subtitle{color:#cbd5e1}:root.dark .login-hint{color:#64748b}:root.dark .theme-toggle{color:#e2e8f0;background:#102a43e6;border:1px solid #ffffff29;box-shadow:0 4px 18px #0006}:root.dark .theme-toggle:hover{background:#16324f;border-color:#ffffff47}.login-form{gap:12px;display:grid}.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--label);margin-bottom:4px;font-size:.77rem;font-weight:700;display:block}:root.dark .field-label{color:#e2e8f0;font-weight:600}.field input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--input-text);border-radius:10px;height:44px;padding:0 10px}.field input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f633}.form-feedback-error{color:#ffb3b3;text-align:center;margin:0;font-size:.82rem;font-weight:600}.form-actions{margin-top:6px}.button-primary{background:var(--button-bg);border:1px solid var(--button-bg);width:100%;color:var(--button-text);cursor:pointer;letter-spacing:.01em;border-radius:10px;height:46px;font-size:.97rem;font-weight:700;transition:background .2s,box-shadow .2s,transform .2s}.button-primary:hover:not(:disabled){background:var(--button-hover,#1d4ed8);border-color:var(--button-hover,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 20px #2563eb61}.button-primary:disabled{opacity:.46;cursor:not-allowed;transform:none}:root.dark .button-primary{background:#2563eb;border-color:#2563eb;box-shadow:0 2px 12px #2563eb4d}:root.dark .button-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 6px 24px #2563eb80}.field-action{color:#88a9c6;cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;width:32px;height:32px;transition:color .15s,background .15s;display:grid;position:absolute;top:50%;right:9px;transform:translateY(-50%)}:root.dark .field-action{color:#cbd5e1}:root.dark .field-action:hover{color:#f8fafc;background:#ffffff1a}.form-grid{gap:16px;margin-top:24px;display:grid}.field{gap:8px;display:grid}.field-label,.meta-label{color:var(--text);letter-spacing:.04em;text-transform:uppercase;font-size:.83rem;font-weight:800}.field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:50px;color:var(--text);padding:0 15px;transition:border-color .2s,box-shadow .2s}.field input::placeholder{color:var(--text-soft)}.field input:hover{border-color:var(--border-strong)}.field input:focus,.button:focus-visible,.field-action:focus-visible,.module-dock-item:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #11354c1f}:root.dark .login-form .field input{border-color:var(--input-border);background:var(--input-bg);color:var(--input-text)}:root.dark .login-form .field input::placeholder{color:var(--input-placeholder)}:root.dark .login-form .field input:hover{border-color:#5a758c}:root.dark .login-form .field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f647}.input-with-action{position:relative}.input-with-action input{padding-right:56px}.field-action{color:#7a8792;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;width:34px;min-height:34px;padding:0;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.field-action:hover{color:var(--primary);background:#11354c0f}.field-action svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}input[type=password]::-ms-reveal{display:none}input[type=password]::-ms-clear{display:none}.form-feedback{border-radius:var(--radius-sm);flex-direction:column;align-items:flex-start;gap:4px;min-height:46px;padding:11px 13px;display:flex}.form-feedback-error{color:var(--danger);background:#b4453814;border:1px solid #b445382e}.form-feedback-title{font-weight:600;line-height:1.2}.form-feedback-hint{opacity:.85;font-size:.85em;font-weight:400;line-height:1.35}.form-actions{padding-top:4px}.button{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:0 18px;font-weight:700;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.54;cursor:not-allowed;transform:none}.button-full{width:100%}.button-primary{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text)}.button-primary:hover{background:var(--button-hover);border-color:var(--button-hover)}.button-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button-secondary:hover,.button-ghost:hover{background:var(--surface-soft);border-color:var(--border-strong)}.button-ghost{background:var(--surface-soft);border-color:var(--border);color:var(--primary)}.auth-card-footer{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:22px;padding-top:16px;display:flex}.status-dot{border-radius:50%;flex:none;width:10px;height:10px}.status-dot-positive{background:var(--success);box-shadow:0 0 0 5px #1f8a6224}.app-shell{background:var(--bg);scrollbar-gutter:stable;flex-direction:column;min-height:100dvh;max-height:100dvh;display:flex;overflow:hidden auto}.portal-shell-inner{width:var(--container);box-sizing:border-box;max-width:100%;margin:0 auto}.app-shell-topbar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#f3f5f7fa,#f3f5f7f2);flex-shrink:0;padding:16px 0 12px;position:sticky;top:0}:root.dark .app-shell-topbar{background:linear-gradient(#04111ffa,#04111ff5)}.app-shell-main{flex:1 0 auto;min-height:0;overflow:visible}.app-shell-scroll{padding:8px 0 24px;overflow:visible}:root.dark .section-eyebrow{color:#93c5fd;background:#ffffff0f;border-color:#ffffff24}:root.dark .module-badge{background:#ffffff14}:root.dark .module-card{background:var(--surface)}:root.dark .module-card:hover{box-shadow:0 16px 40px #0000008c}:root.dark .module-short-chip{opacity:.9}:root.dark .module-tag-dev{color:var(--text-muted);background:#ffffff0f;border-color:#ffffff1f}:root.dark .module-access-btn:hover{box-shadow:0 4px 18px #00000080}:root.dark .module-link-inline{color:#93c5fd}:root.dark .module-link-inline:hover{color:#bfdbfe}:root.dark .kpi-icon{color:#93c5fd;opacity:.45}:root.dark .portal-app-topbar .button-icon-only{border:1px solid var(--border);color:#e2e8f0;background:#ffffff14;min-height:42px}:root.dark .portal-app-topbar .button-icon-only:hover{border-color:var(--border-strong);color:#f8fafc;background:#ffffff1f}:root.dark .kpi-card:after{background:#ffffff0f}:root.dark .activity-table tbody td{border-top-color:var(--border)}.portal-app-topbar{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);width:100%;min-height:64px;box-shadow:var(--shadow-sm);border-radius:18px;flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:12px 20px;display:flex}.portal-topbar-brand{align-items:center;display:flex}.portal-brand-logo{align-items:center;gap:12px;display:flex}.portal-brand-mark{background:linear-gradient(135deg, var(--primary), #0a2540);width:38px;height:38px;color:var(--accent);border-radius:12px;place-items:center;font-size:1rem;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #d4af3729}.portal-brand-logo-img{object-fit:contain;width:auto;max-width:50px;height:auto;max-height:38px}.portal-brand-text{gap:4px;display:grid}.portal-topbar-title{color:var(--text);letter-spacing:.02em;margin:0;font-size:1rem;font-weight:800}.portal-topbar-subtitle{color:var(--text-muted);font-size:.88rem;font-weight:600}.portal-topbar-center{justify-content:center;display:flex}.portal-search{width:min(100%,420px);position:relative}.portal-search input{border:1px solid var(--border);background:var(--surface-soft);width:100%;min-height:42px;color:var(--text);border-radius:12px;padding:0 14px 0 40px}.portal-search input::placeholder{color:var(--text-soft)}.portal-search-icon{color:var(--text-soft);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.environment-chip{background:var(--surface-soft);border:1px solid var(--border);min-height:38px;color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:0 14px;font-weight:700;display:inline-flex}.portal-app-topbar .portal-topbar-user{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.portal-user-meta{justify-items:end;gap:0;display:grid}.portal-app-topbar .portal-user-meta strong{color:var(--text);letter-spacing:.02em;font-size:.9rem;font-weight:700}.button-icon-only{width:46px;min-width:46px;padding:0}.portal-content-area{gap:18px;width:100%;margin:0;padding-bottom:6px;display:grid}.portal-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.portal-summary,.context-card,.portal-summary-card,.portal-modules-section,.portal-company-section,.portal-activity-section,.loading-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px}.portal-summary{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;padding:22px;display:grid}.portal-summary-primary h2{color:var(--text);letter-spacing:-.03em;margin:12px 0 8px;font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.12}.portal-summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.summary-stat-card,.portal-summary-card,.company-stat-card{background:var(--surface-soft)}.summary-stat-card{border:1px solid var(--border);border-radius:16px;gap:8px;padding:15px;display:grid}.summary-stat-card strong{color:var(--text);font-size:1rem;line-height:1.35}.portal-dashboard-grid{grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);gap:18px;display:grid}.context-card,.portal-summary-card,.portal-modules-section,.portal-company-section,.portal-activity-section{padding:20px}.context-card{background:linear-gradient(180deg, var(--surface-dark), var(--surface-dark-soft));border-color:#11354c4d}.context-card-top{align-items:center;gap:14px;display:flex}.context-avatar{background:var(--accent-soft);width:56px;height:56px;color:var(--primary);border-radius:16px;place-items:center;font-size:1rem;font-weight:800;display:grid}.context-primary strong{color:var(--text-on-dark);font-size:1rem;display:block}.context-primary span,.context-item strong{color:var(--text-on-dark-muted)}.context-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.context-item{background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;gap:8px;padding:14px;display:grid}.context-item .meta-label{color:#dfe7ee}.context-item-wide{grid-column:1/-1}.section-header{gap:12px;display:grid}.section-heading-block h2{color:var(--text);letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.2}.summary-list{gap:10px;margin-top:16px;display:grid}.summary-item{border-top:1px solid var(--border);grid-template-columns:14px 1fr;align-items:start;gap:12px;padding-top:12px;display:grid}.summary-item:first-child{border-top:none;padding-top:0}.summary-marker{background:var(--accent);border-radius:50%;width:10px;height:10px;margin-top:5px}.portal-modules-section,.portal-company-section,.portal-activity-section{gap:18px;display:grid}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.module-grid--erp{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=1200px){.module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.module-grid--erp{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=760px) and (width<=1199px){.module-grid--erp{grid-template-columns:repeat(3,minmax(0,1fr))}}.module-card{border:1px solid var(--border);border-top:3px solid var(--module-accent,var(--border));background:var(--surface);border-radius:16px;gap:16px;min-width:0;padding:20px;transition:box-shadow .22s,border-color .22s,transform .22s;display:grid}.module-card:hover{border-color:var(--module-accent,var(--border-strong));transform:translateY(-3px);box-shadow:0 16px 36px #1020301a}.module-card.is-blocked{opacity:.6}.module-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.module-icon-tile{border-radius:14px;flex-shrink:0;place-items:center;width:56px;height:56px;font-size:1.25rem;display:grid}.module-icon-img{object-fit:contain;width:40px;height:40px}.module-short-chip{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;height:26px;padding:0 10px;font-size:.71rem;font-weight:800;display:inline-flex}.module-badge{letter-spacing:.06em;text-transform:uppercase;background:#fff;border:1px solid;border-radius:999px;align-items:center;min-height:30px;padding:0 11px;font-size:.75rem;font-weight:800;display:inline-flex}.module-card-body{gap:6px;display:grid}.module-card h3{color:var(--text);margin:0;font-size:1.05rem;font-weight:700;line-height:1.28}.module-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.module-last-access{color:var(--text-soft);font-size:.82rem}.module-access-btn{color:#fff;white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;min-height:32px;padding:0 14px;font-size:.82rem;font-weight:700;text-decoration:none;transition:opacity .18s,transform .18s,box-shadow .18s;display:inline-flex}.module-access-btn:hover{opacity:.86;transform:translateY(-1px);box-shadow:0 4px 14px #00000038}.module-tag-dev{background:var(--surface-muted);border:1px solid var(--border);height:28px;color:var(--text-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:.75rem;font-weight:700;display:inline-flex}.module-link-arrow{transition:transform .2s;display:inline-block}.module-card:hover .module-link-arrow{transform:translate(3px)}.module-link-inline{color:var(--primary);align-items:center;gap:8px;font-weight:700;display:inline-flex}.kpi-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;padding:18px;position:relative;overflow:hidden}.kpi-card:after{content:"";background:#0a25400a;border-radius:20px;width:72px;height:72px;position:absolute;bottom:-20px;right:-12px}.kpi-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.kpi-card strong{color:var(--text);letter-spacing:-.04em;margin-top:10px;font-size:1.8rem;display:block}.kpi-icon{color:var(--primary);opacity:.28;font-size:1.35rem}.kpi-trend{border-radius:999px;align-items:center;width:fit-content;min-height:28px;margin-top:18px;padding:0 10px;font-size:.8rem;font-weight:700;display:inline-flex}.kpi-trend-positive{color:#136c4b;background:#1f8a621a}.kpi-trend-warning{color:#805f10;background:#d4af3729}.company-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.company-stat-card{border:1px solid var(--border);border-radius:16px;padding:18px}.company-stat-card strong{color:var(--text);letter-spacing:-.04em;margin:10px 0 8px;font-size:1.9rem;display:block}.module-dock{width:var(--container);height:calc(var(--dock-height) - 18px);border:1px solid var(--border);box-shadow:var(--shadow-md);background:#fffffff5;border-radius:20px;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 auto;padding:10px;display:grid}.module-dock-item{min-width:0;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:16px;align-content:center;justify-items:center;gap:6px;transition:background-color .2s,border-color .2s,color .2s;display:grid}.module-dock-item:hover{background:var(--surface-soft);border-color:var(--border);color:var(--text)}.module-dock-item.is-active{background:var(--primary-soft);color:var(--primary);border-color:#c3d5e2}.module-dock-icon{letter-spacing:.06em;background:#ffffffdb;border:1px solid;border-radius:12px;place-items:center;width:34px;height:34px;font-size:.76rem;font-weight:800;display:grid}.module-dock-label{font-size:.78rem;font-weight:700;line-height:1.1}.activity-table-wrapper{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;overflow:auto}.activity-table{border-collapse:collapse;width:100%}.activity-table th,.activity-table td{text-align:left;white-space:nowrap;padding:14px 16px}.activity-table thead th{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);font-size:.8rem;font-weight:800}.activity-table tbody td{color:var(--text);border-top:1px solid #d7dee6b8}.activity-table tbody tr:first-child td{border-top:none}.status-badge{border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.status-sucesso{color:#136c4b;background:#1f8a621f}.status-atencao{color:#775708;background:#d4af372e}.status-bloqueado{color:#8d2e25;background:#b445381f}.loading-screen{place-items:center;min-height:100vh;display:grid}.loading-card{align-items:center;gap:14px;min-width:280px;padding:22px 26px;display:flex}.loading-dot{background:var(--accent);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 10px #b98a181f}@media (width<=1180px){body.body-auth{overflow:auto}.auth-shell{grid-template-columns:1fr;height:auto;min-height:100vh}.portal-summary,.portal-dashboard-grid,.portal-kpi-grid,.module-grid:not(.module-grid--erp),.company-stat-grid{grid-template-columns:1fr}.portal-app-topbar{flex-direction:column;align-items:stretch}.portal-app-topbar .portal-topbar-user{justify-content:flex-end;width:100%;margin-left:0}.portal-app-topbar .portal-user-meta{justify-items:end}.brand-panel-top h2{max-width:none}}@media (width<=860px){:root{--container:min(100%, calc(100% - 20px));--topbar-height:134px}.page-shell,.portal-shell{width:var(--container)}.auth-shell{gap:14px;padding:10px 0 16px}.auth-panel-brand,.auth-panel-form,.auth-card,.portal-summary,.context-card,.portal-summary-card,.portal-modules-section,.portal-company-section{padding:18px}.brand-stat-grid,.portal-summary-stats,.context-grid,.company-stat-grid{grid-template-columns:1fr}.brand-panel-footer{flex-direction:column;align-items:flex-start}.portal-app-topbar .portal-topbar-user{flex-wrap:wrap;justify-content:flex-end}.module-card-footer{flex-direction:column;align-items:flex-start}}.status-page{flex-direction:column;gap:32px;padding:32px 0 48px;display:flex}.status-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.status-page-title{color:var(--text);margin:0 0 4px;font-size:1.6rem;font-weight:700}.status-page-subtitle{color:var(--text-muted);margin:0;font-size:.9rem}.status-last-run{color:var(--text-soft)}.status-page-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.status-countdown{color:var(--text-muted);font-size:.82rem}.status-summary-row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.status-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:16px;padding:18px 20px;transition:box-shadow .2s;display:flex}.status-summary-card:hover{box-shadow:var(--shadow-sm)}.status-summary-indicator{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:700;display:flex}.status-summary-label{text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:.8rem;font-weight:600}.status-summary-count{color:var(--text);font-size:1.1rem;font-weight:700}.status-section{flex-direction:column;gap:12px;display:flex}.status-section-title{color:var(--text);align-items:center;gap:10px;margin:0;font-size:1rem;font-weight:600;display:flex}.status-section-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.status-table{border-collapse:collapse;width:100%;font-size:.875rem}.status-table thead tr{background:var(--surface-muted)}.status-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:10px 16px;font-size:.75rem;font-weight:600}.status-table-row{border-bottom:1px solid var(--border);transition:background .15s}.status-table-row:last-child{border-bottom:none}.status-table-row:hover{background:var(--surface-soft)}.status-table-row td{vertical-align:middle;color:var(--text);padding:12px 16px}.status-service-name{align-items:center;gap:10px;display:flex}.status-accent-bar{border-radius:2px;flex-shrink:0;width:3px;height:20px}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot-online{background:#16a34a;box-shadow:0 0 0 2px #16a34a33}.status-dot-offline{background:#dc2626;box-shadow:0 0 0 2px #dc262633}.status-dot-checking{background:#f59e0b;animation:1s ease-in-out infinite status-pulse;box-shadow:0 0 0 2px #f59e0b33}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.4}}.status-service-label{font-weight:500}.status-cell-module{color:var(--text-muted)}.status-cell-port code{color:var(--text-soft);font-family:monospace;font-size:.8rem}.status-cell-ms{color:var(--text-muted);font-family:monospace;font-size:.82rem}.status-cell-version{color:var(--text-soft);font-size:.8rem}.status-cell-action{text-align:right}.status-badge{border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge-online{color:#15803d;background:#dcfce7}.status-badge-offline{color:#b91c1c;background:#fee2e2}.status-badge-checking{color:#854d0e;background:#fef9c3}.status-badge-unknown{background:var(--surface-muted);color:var(--text-soft)}:root.dark .status-badge-online{color:#4ade80;background:#16a34a2e}:root.dark .status-badge-offline{color:#f87171;background:#dc26262e}:root.dark .status-badge-checking{color:#fcd34d;background:#f59e0b2e}.status-open-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:.78rem;transition:background .15s,color .15s}.status-open-btn:hover{background:var(--surface-muted);color:var(--text)}.status-action-group{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.status-start-btn{color:#16a34a;cursor:pointer;background:#16a34a1a;border:1px solid #16a34a59;border-radius:6px;padding:4px 10px;font-size:.78rem;transition:background .15s,color .15s,border-color .15s}.status-start-btn:hover:not(:disabled){background:#16a34a33;border-color:#16a34a8c}.status-start-btn:disabled{opacity:.5;cursor:not-allowed}.status-stop-btn{color:#dc2626;cursor:pointer;background:#dc26261a;border:1px solid #dc262659;border-radius:6px;padding:4px 10px;font-size:.78rem;transition:background .15s,color .15s,border-color .15s}.status-stop-btn:hover:not(:disabled){background:#dc262633;border-color:#dc26268c}.status-stop-btn:disabled{opacity:.5;cursor:not-allowed}.status-devserver-banner{color:#92400e;background:#f59e0b1a;border:1px solid #f59e0b59;border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:.85rem;display:flex}.status-devserver-banner code{background:#00000012;border-radius:3px;padding:1px 6px;font-size:.78rem}.button-sm{align-items:center;gap:6px;display:flex;padding:6px 12px!important;font-size:.8rem!important}@media (width<=640px){body.body-auth{overflow:auto}.auth-shell{height:auto}.input-with-action input{padding-right:56px}.module-grid:not(.module-grid--erp){grid-template-columns:1fr}.module-grid--erp{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-content-area{gap:14px}}.mig-page{flex-direction:column;gap:20px;padding-bottom:40px;display:flex}.mig-page-header{flex-direction:column;gap:4px;display:flex}.mig-title{color:var(--text);margin:0;font-size:1.5rem;font-weight:700}.mig-subtitle{color:var(--text-muted);font-size:.875rem}.mig-kpi-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.mig-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:16px 12px;display:flex}.mig-kpi-value{color:var(--text);font-size:1.75rem;font-weight:700;line-height:1}.mig-kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.mig-kpi-sub{color:var(--text-soft);font-size:.7rem}.mig-progresso-section{flex-direction:column;gap:10px;display:flex}.mig-section-title{color:var(--text);margin:0;font-size:1rem;font-weight:600}.mig-prog-list{flex-direction:column;gap:6px;display:flex}.mig-prog-row{grid-template-columns:140px 1fr 40px 50px;align-items:center;gap:10px;font-size:.8rem;display:grid}.mig-prog-modulo{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-weight:500;display:flex}.mig-prog-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mig-prog-bar-bg{background:var(--surface-muted);border-radius:4px;height:8px;overflow:hidden}.mig-prog-bar-fill{border-radius:4px;min-width:2px;height:100%;transition:width .4s}.mig-prog-pct{text-align:right;color:var(--text);font-weight:600}.mig-prog-count{text-align:right;color:var(--text-muted)}.mig-view-tabs{border-bottom:1px solid var(--border);gap:4px;margin:12px 0 0;display:flex}.mig-view-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:.85rem;font-weight:500}.mig-view-tab:hover{color:var(--text)}.mig-view-tab-active{color:var(--text);border-bottom-color:var(--primary)}.bkg-root{padding:16px 0}.bkg-tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.bkg-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:.8rem}.bkg-tab:hover{color:var(--text)}.bkg-tab-active{background:var(--primary);color:#fff;border-color:var(--primary)}.bkg-desc{color:var(--text-muted);margin:4px 0 12px;font-size:.8rem}.bkg-meta{color:var(--text-muted);margin-bottom:8px;font-size:.75rem}.bkg-list{gap:10px;display:grid}.bkg-card{border:1px solid var(--border);background:var(--card-bg,var(--surface));border-radius:8px;padding:12px}.bkg-card-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.bkg-sev{color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600}.bkg-tela{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8rem}.bkg-tipo{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.bkg-id{color:var(--text-muted);margin-left:auto;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem}.bkg-desc-txt{color:var(--text);margin-bottom:4px;font-size:.85rem;line-height:1.4}.bkg-obs{color:var(--text-muted);border-left:2px solid var(--border);margin-bottom:8px;padding-left:8px;font-size:.75rem;font-style:italic}.bkg-actions{gap:6px;margin-top:6px;display:flex}.bkg-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:.75rem}.bkg-btn:hover{border-color:var(--primary)}.bkg-btn-assumir:hover{color:#fff;background:#f59e0b;border-color:#f59e0b}.bkg-btn-resolver:hover{color:#fff;background:#22c55e;border-color:#22c55e}.bkg-btn-liberar:hover{color:#fff;background:#64748b;border-color:#64748b}.bkg-filter-row{gap:4px;margin:4px 0 12px;display:flex}.bkg-filter-pill{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:.75rem}.bkg-filter-pill:hover{color:var(--text)}.bkg-filter-pill-active{background:var(--text);color:var(--bg);border-color:var(--text)}.bkg-chip-em-andamento{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#f59e0b;border-radius:10px;padding:2px 6px;font-size:.65rem;font-weight:600}.bkg-card-em-andamento{border-left:3px solid #f59e0b}.bkg-assumed-by{color:var(--text-muted);margin-bottom:4px;font-size:.7rem;font-style:italic}.bkg-presets{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.bkg-preset{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:.8rem}.bkg-preset:hover{color:var(--text);border-color:var(--primary)}.bkg-preset-active{background:var(--primary);color:#fff;border-color:var(--primary)}.bkg-preset-clear{color:#dc2626;border-style:dashed;margin-left:auto}.bkg-preset-clear:hover{color:#dc2626;background:#fee2e2;border-color:#dc2626}.bkg-filterbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.bkg-search{border:1px solid var(--border);background:var(--surface);min-width:220px;color:var(--text);border-radius:6px;flex:260px;padding:6px 10px;font-size:.85rem}.bkg-search:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82f626}.bkg-select{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 8px;font-size:.8rem}.bkg-select:focus{border-color:var(--primary);outline:none}.bkg-select-tela{cursor:text;width:180px;font-family:ui-monospace,SFMono-Regular,monospace}.bkg-chips-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.bkg-chips-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);min-width:72px;margin-right:4px;font-size:.7rem}.bkg-chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:14px;padding:3px 10px;font-size:.72rem;transition:all .12s}.bkg-chip:hover{color:var(--text);border-color:var(--primary)}.bkg-chip-active{background:var(--text);color:var(--bg);border-color:var(--text)}.bkg-chip-sev:hover{border-color:var(--text)}.bkg-modulo{background:var(--bg);color:var(--text-muted);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:.65rem}.bkg-card-minha{border-left:3px solid var(--primary);background:linear-gradient(90deg,#3b82f60a,#0000 40%)}.bkg-link{color:var(--primary);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.bkg-link:hover{color:var(--text)}.bkg-view-toggle{border-bottom:1px solid var(--border);align-items:center;gap:4px;margin-bottom:12px;padding-bottom:10px;display:flex}.bkg-view-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:0;padding:6px 14px;font-size:.82rem}.bkg-view-btn:first-of-type{border-radius:6px 0 0 6px}.bkg-view-btn:nth-of-type(2){border-left:none;border-radius:0 6px 6px 0}.bkg-view-btn-active{background:var(--primary);color:#fff;border-color:var(--primary)}.bkg-view-hint{color:var(--text-muted);margin-left:12px;font-size:.72rem;font-style:italic}.bkg-kanban{grid-template-columns:repeat(5,minmax(200px,1fr));align-items:start;gap:8px;display:grid}.bkg-kanban-col{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;min-height:300px;max-height:calc(100vh - 380px);transition:background .15s,border-color .15s;display:flex}.bkg-kanban-col-hover{background:var(--surface);border-color:var(--primary);border-style:dashed}.bkg-kanban-col-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:1;border-radius:8px 8px 0 0;align-items:center;gap:6px;padding:10px 12px;display:flex;position:sticky;top:0}.bkg-kanban-col-dot{border-radius:50%;width:8px;height:8px}.bkg-kanban-col-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text);font-size:.78rem;font-weight:600}.bkg-kanban-col-count{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-left:auto;padding:2px 8px;font-size:.72rem}.bkg-kanban-col-body{flex-direction:column;flex:auto;gap:6px;padding:8px;display:flex;overflow-y:auto}.bkg-kanban-empty{text-align:center;color:var(--text-muted);padding:12px;font-size:.72rem}.bkg-card-compact{cursor:pointer;padding:6px 8px;font-size:.74rem}.bkg-card-compact:hover{border-color:var(--primary)}.bkg-card-compact .bkg-card-head{gap:4px;margin-bottom:3px}.bkg-card-compact .bkg-desc-txt{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:2px;font-size:.72rem;line-height:1.3;display:-webkit-box;overflow:hidden}.bkg-card-compact .bkg-sev{padding:1px 5px;font-size:.58rem}.bkg-card-compact .bkg-tela,.bkg-card-compact .bkg-tipo,.bkg-card-compact .bkg-id,.bkg-card-compact .bkg-assumed-by{font-size:.65rem}.bkg-card-compact[draggable=true]{cursor:grab}.bkg-card-compact[draggable=true]:active{cursor:grabbing}.bkg-card-compact[draggable=false]{cursor:pointer}.bkg-card-resolvida{opacity:.7;border-left:3px solid #22c55e}.bkg-card-resolvida:hover{opacity:1}.bkg-card-em-qa{border-left:3px solid #06b6d4}.bkg-card-reprovada{background:linear-gradient(90deg,#ef44440a,#0000 40%);border-left:3px solid #ef4444}.bkg-chip-qa{color:#fff;background:#06b6d4;border-radius:4px;padding:1px 6px;font-size:.6rem;font-weight:600}.bkg-chip-reprovada{color:#fff;background:#ef4444;border-radius:4px;padding:1px 6px;font-size:.6rem;font-weight:600}.pend-detail-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pend-detail-modal{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:min(640px,95vw);max-height:85vh;display:flex;box-shadow:0 8px 32px #00000040}.pend-detail-header{border-bottom:1px solid var(--border);background:var(--surface);border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.pend-detail-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pend-detail-close{cursor:pointer;color:var(--text);background:0 0;border:none;padding:0 4px;font-size:1.4rem;line-height:1}.pend-detail-close:hover{opacity:.6}.pend-detail-body{flex-direction:column;flex:auto;gap:10px;padding:16px 18px;display:flex;overflow-y:auto}.pend-detail-desc{white-space:pre-wrap;font-size:.88rem;line-height:1.5}.pend-detail-field{color:var(--text-secondary,#6b7280);font-size:.8rem;line-height:1.45}.pend-detail-field strong{color:var(--text)}.pend-detail-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:12px 18px;display:flex}@media (width<=1400px){.bkg-kanban{grid-template-columns:repeat(3,minmax(220px,1fr))}}@media (width<=1000px){.bkg-kanban{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (width<=700px){.bkg-kanban{grid-template-columns:1fr}.bkg-kanban-col{max-height:none}}.status-bulk-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-bulk-btn{cursor:pointer;border:1px solid;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.status-bulk-btn:disabled{opacity:.5;cursor:wait}.status-bulk-start{color:#15803d;background:#16a34a14;border-color:#16a34a59}.status-bulk-start:hover:not(:disabled){color:#fff;background:#15803d;border-color:#15803d}.status-bulk-stop{color:#b91c1c;background:#dc262614;border-color:#dc262659}.status-bulk-stop:hover:not(:disabled){color:#fff;background:#b91c1c;border-color:#b91c1c}:root.dark .status-bulk-start{color:#4ade80;background:#16a34a26}:root.dark .status-bulk-stop{color:#f87171;background:#dc262626}.svc-cards-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;margin-top:8px;display:grid}.svc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.svc-card:hover{box-shadow:var(--shadow-sm)}.svc-card-ok{border-left:3px solid #16a34a}.svc-card-partial{border-left:3px solid #f59e0b}.svc-card-off{opacity:.92;border-left:3px solid #dc2626}.svc-card-header{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:8px;padding:10px 12px;display:flex}.svc-card-accent{border-radius:2px;flex-shrink:0;width:4px;height:18px}.svc-card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.92rem;font-weight:600;overflow:hidden}.svc-card-ratio{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.72rem}.svc-card-bulk{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:all .12s}.svc-card-bulk:disabled{opacity:.5;cursor:wait}.svc-card-bulk-start{color:#15803d;background:#dcfce7;border-color:#15803d44}.svc-card-bulk-start:hover:not(:disabled){color:#fff;background:#15803d;border-color:#15803d}.svc-card-bulk-stop{color:#b91c1c;background:#fee2e2;border-color:#b91c1c44}.svc-card-bulk-stop:hover:not(:disabled){color:#fff;background:#b91c1c;border-color:#b91c1c}:root.dark .svc-card-bulk-start{color:#4ade80;background:#16a34a2e}:root.dark .svc-card-bulk-stop{color:#f87171;background:#dc26262e}.svc-card-body{flex-direction:column;display:flex}.svc-card-line{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.svc-card-line:last-child{border-bottom:none}.svc-card-line-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.svc-card-type{text-align:center;opacity:.75;flex-shrink:0;width:18px;font-size:.9rem}.svc-card-line-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.82rem;font-weight:500;overflow:hidden}.svc-card-line-port{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.72rem}.svc-card-line-ms{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,monospace;font-size:.7rem}.svc-card-line-actions{flex-shrink:0;gap:4px;display:flex}.svc-card-line .status-start-btn,.svc-card-line .status-stop-btn{min-width:32px;padding:4px 8px;font-size:.82rem}.svc-card-line .status-open-btn{padding:3px 10px;font-size:.72rem}.pend-filter-row{gap:4px;margin:0 0 10px;display:flex}.pend-filter-pill{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:.75rem}.pend-filter-pill:hover{color:var(--text)}.pend-filter-pill-active{background:var(--text);color:var(--bg);border-color:var(--text)}.pend-chip-em-andamento{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#f59e0b;border-radius:10px;margin-left:4px;padding:2px 6px;font-size:.65rem;font-weight:600}.pend-item-em-andamento{border-left:3px solid #f59e0b}.pend-assumed-by{color:var(--text-muted);margin:4px 0;font-size:.72rem;font-style:italic}.pend-btn-assumir{color:#d97706;background:#fff;border:1px solid #f59e0b55}.pend-btn-assumir:hover:not(:disabled){color:#fff;background:#f59e0b;border-color:#f59e0b}.pend-btn-liberar{color:#64748b;background:#fff;border:1px solid #64748b55}.pend-btn-liberar:hover:not(:disabled){color:#fff;background:#64748b;border-color:#64748b}.pend-tela-resp{border:1px solid var(--border);background:var(--surface-alt,var(--surface));border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.pend-tela-resp-info{color:var(--text);font-size:.85rem}.pend-tela-resp-label{color:var(--text-muted);font-weight:500}.pend-tela-resp-vazio{color:var(--text-muted);font-style:italic}.pend-tela-resp-status{color:var(--text-muted);margin-left:6px;font-size:.78rem}.pend-tela-resp-actions{gap:6px;display:flex}.mig-card-resp{color:#d97706;letter-spacing:.02em;background:#f59e0b15;border:1px solid #f59e0b44;border-radius:10px;align-items:center;gap:2px;margin-left:4px;padding:2px 6px;font-size:.68rem;font-weight:600;display:inline-flex}.mig-filtros-row{flex-wrap:wrap;gap:10px;display:flex}.mig-filtro-select{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:.8rem}.mig-filtro-select:focus{outline:2px solid var(--primary);outline-offset:-1px}.mig-filtro-search{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;min-width:220px;padding:8px 12px;font-size:.8rem}.mig-filtro-search:focus{outline:2px solid var(--primary);outline-offset:-1px}.mig-filtro-search::placeholder{color:var(--text-muted)}.mig-kanban{scroll-snap-type:x proximity;grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:12px;display:grid;overflow:auto hidden}.mig-kanban-col{scroll-snap-align:start;background:var(--surface-muted);border-radius:12px;flex-direction:column;min-height:300px;transition:background .15s;display:flex}.mig-kanban-col-hover{background:var(--surface-strong)}.mig-kanban-col-header{align-items:center;gap:8px;padding:12px 14px 8px;display:flex;position:sticky;top:0}.mig-kanban-col-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.mig-kanban-col-title{color:var(--text);font-size:.8rem;font-weight:600}.mig-kanban-col-count{color:var(--text-muted);background:var(--surface);border-radius:10px;padding:1px 7px;font-size:.7rem;font-weight:600}.mig-kanban-col-body{flex-direction:column;flex:1;gap:8px;max-height:70vh;padding:4px 10px 12px;display:flex;overflow-y:auto}.mig-kanban-empty{text-align:center;color:var(--text-soft);padding:20px 0;font-size:.75rem}.mig-card{background:var(--surface);border:1px solid var(--border);cursor:grab;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;transition:box-shadow .15s,transform .1s;display:flex}.mig-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.mig-card:active{cursor:grabbing;opacity:.8}.mig-card-header{justify-content:space-between;align-items:center;display:flex}.mig-card-codigo{color:var(--text);font-family:monospace;font-size:.75rem;font-weight:700}.mig-card-abc{color:#fff;border-radius:4px;padding:1px 6px;font-size:.6rem;font-weight:700;line-height:1.4}.mig-card-nome{color:var(--text);font-size:.78rem;line-height:1.3}.mig-card-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:.68rem;display:flex}.mig-card-modulo{font-weight:600}.mig-card-fk{color:var(--text-muted);background:var(--surface-muted);border-radius:4px;padding:0 5px;font-weight:600}.mig-card-peso{color:var(--text-soft)}.mig-card-pend{cursor:pointer;border:1px solid;border-radius:4px;align-items:center;gap:3px;margin-left:auto;padding:1px 6px;font-family:inherit;font-size:.7rem;font-weight:700;transition:filter .12s;display:inline-flex}.mig-card-pend:hover{filter:brightness(.92)}.msg-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.msg-modal{background:var(--surface,#fff);border-radius:12px;flex-direction:column;width:min(480px,100%);animation:.12s ease-out msg-modal-in;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000059}@keyframes msg-modal-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.msg-modal-header{border-bottom:3px solid;align-items:center;gap:10px;padding:14px 18px;display:flex}.msg-modal-icone{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;font-weight:700;display:inline-flex}.msg-modal-titulo{color:var(--text,#0f172a);flex:1;margin:0;font-size:1rem;font-weight:700}.msg-modal-close{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:1.5rem;line-height:1}.msg-modal-close:hover{color:var(--text,#0f172a)}.msg-modal-body{padding:18px 20px}.msg-modal-mensagem{color:var(--text,#0f172a);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.92rem;line-height:1.45}.msg-modal-ajuda{color:var(--text-muted,#64748b);white-space:pre-wrap;word-break:break-word;margin:10px 0 0;font-size:.8rem;line-height:1.4}.msg-modal-footer{border-top:1px solid var(--border,#e5e7eb);justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.msg-modal-btn{border:1px solid var(--border,#e5e7eb);cursor:pointer;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:filter .12s,background .12s}.msg-modal-btn-cancel{background:var(--surface,#fff);color:var(--text,#0f172a)}.msg-modal-btn-cancel:hover{background:var(--surface-muted,#f1f5f9)}.msg-modal-btn-primary{color:#fff;border-color:#0000}.msg-modal-btn-primary:hover{filter:brightness(.92)}.pend-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pend-modal{background:var(--surface,#fff);border-radius:12px;flex-direction:column;width:min(720px,100%);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000059}.pend-modal-header{border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.pend-modal-title{color:var(--text,#0f172a);margin:0;font-size:1.05rem;font-weight:700}.pend-modal-subtitle{color:var(--text-muted,#64748b);margin:2px 0 0;font-size:.8rem}.pend-modal-close{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:1.4rem;line-height:1}.pend-modal-close:hover{color:var(--text,#0f172a)}.pend-modal-body{flex:1;padding:16px 20px;overflow-y:auto}.pend-modal-empty{color:var(--text-muted,#64748b);text-align:center;padding:16px 0;font-style:italic}.pend-modal-error{color:#dc2626;background:#fee2e2;border-radius:6px;margin:0 0 12px;padding:8px 12px}.pend-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#64748b);margin:8px 0;font-size:.78rem;font-weight:700}.pend-section-fechadas{margin-top:18px}.pend-section-pendente{border-left:3px solid #d97706;padding-left:8px}.pend-section-dev{border-left:3px solid #3b82f6;padding-left:8px}.pend-section-qa{border-left:3px solid #06b6d4;padding-left:8px}.pend-section-reprovada{border-left:3px solid #ef4444;padding-left:8px}.pend-section-colapsavel{cursor:pointer;-webkit-user-select:none;user-select:none}.pend-section-colapsavel:hover{color:var(--text)}.pend-progress-summary{margin:0 0 16px}.pend-progress-text{color:var(--text-muted,#64748b);margin-bottom:6px;font-size:13px}.pend-progress-bar-bg{background:#e2e8f0;border-radius:3px;height:6px}.pend-progress-bar-fill{background:#22c55e;border-radius:3px;min-width:2px;height:100%;transition:width .3s}[data-theme=dark] .pend-progress-bar-bg{background:#334155}.pend-chip-qa{color:#06b6d4;background:#06b6d415;border:1px solid #06b6d455;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.pend-chip-reprovada{color:#ef4444;background:#ef444415;border:1px solid #ef444455;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.pend-item-qa{border-left:3px solid #06b6d4}.pend-item-reprovada{border-left:3px solid #ef4444}.pend-modal-header-actions{align-items:center;gap:8px;display:flex}.pend-btn-reportar{color:#ef4444;cursor:pointer;white-space:nowrap;background:#ef444410;border:1px solid #ef444455;border-radius:6px;padding:4px 10px;font-size:12px}.pend-btn-reportar:hover{background:#ef444425}.pend-bug-form{background:var(--surface,#fff);border:1px solid #ef444433;border-radius:8px;margin-bottom:16px;padding:12px}.pend-bug-form-title{color:#ef4444;margin-bottom:8px;font-size:13px;font-weight:600}.pend-bug-textarea{border:1px solid var(--border);resize:vertical;background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:8px;font-family:inherit;font-size:13px}.pend-bug-textarea:focus{outline-offset:-1px;outline:2px solid #ef4444}.pend-bug-form-row{align-items:center;gap:8px;margin-top:8px;display:flex}.pend-bug-select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:4px 8px;font-size:12px}[data-theme=dark] .pend-bug-form{background:var(--surface-dark-alt,#1e293b);border-color:#ef444444}[data-theme=dark] .pend-bug-textarea,[data-theme=dark] .pend-bug-select{background:var(--surface-dark-soft,#1e293b);border-color:var(--border,#334155)}.pend-list{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.pend-list-fechadas .pend-item{opacity:.65}.pend-item{border:1px solid var(--border,#e5e7eb);background:var(--surface-muted,#f8fafc);border-radius:8px;padding:10px 12px}.pend-item-aberta{background:var(--surface,#fff)}.pend-item-header{align-items:center;gap:8px;font-size:.78rem;display:flex}.pend-sev-chip{letter-spacing:.05em;border:1px solid;border-radius:4px;padding:1px 7px;font-size:.65rem;font-weight:700}.pend-tipo{color:var(--text,#0f172a);text-transform:capitalize;font-weight:600}.pend-status{color:var(--text-muted,#64748b)}.pend-id{color:var(--text-soft,#94a3b8);font-family:var(--font-mono,monospace);margin-left:auto;font-size:.7rem}.pend-desc{color:var(--text,#0f172a);margin:6px 0 8px;font-size:.88rem;line-height:1.45}.pend-meta{color:var(--text-muted,#64748b);margin:2px 0;font-size:.78rem}.pend-meta-label{font-weight:600}.pend-meta code{background:var(--surface-muted,#f1f5f9);border-radius:3px;padding:1px 6px;font-size:.78rem}.pend-obs{font-style:italic}.pend-detectada{color:var(--text-soft,#94a3b8);margin-top:6px;font-size:.72rem}.pend-actions{justify-content:flex-end;gap:6px;margin-top:10px;display:flex}.pend-btn{cursor:pointer;background:0 0;border:1px solid;border-radius:5px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:filter .12s}.pend-btn:disabled{opacity:.5;cursor:not-allowed}.pend-btn-resolver{color:#16a34a;border-color:#16a34a55}.pend-btn-resolver:hover:not(:disabled){background:#16a34a15}.pend-btn-ignorar{color:#64748b;border-color:#64748b55}.pend-btn-ignorar:hover:not(:disabled){background:#64748b15}.pend-btn-reabrir{color:#d97706;border-color:#d9770655}.pend-btn-reabrir:hover:not(:disabled){background:#d9770615}.pend-modal-footer{border-top:1px solid var(--border,#e5e7eb);background:var(--surface-muted,#f8fafc);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.pend-modal-hint{color:var(--text-muted,#64748b);font-size:.75rem;font-style:italic}.mig-card-deps{flex-wrap:wrap;gap:3px;display:flex}.mig-card-dep-tag{background:var(--surface-muted);color:var(--text-muted);border-radius:3px;padding:1px 5px;font-family:monospace;font-size:.6rem}.mig-loading{text-align:center;color:var(--text-muted);padding:60px 0;font-size:.9rem}[data-theme=dark] .mig-card{background:var(--surface-dark-alt,#1e293b);border-color:var(--border,#334155)}[data-theme=dark] .mig-kanban-col{background:var(--surface-dark,#0f172a)}[data-theme=dark] .mig-kanban-col-hover{background:var(--surface-dark-soft,#1e293b)}[data-theme=dark] .mig-kpi-card{background:var(--surface-dark-alt,#1e293b);border-color:var(--border,#334155)}[data-theme=dark] .mig-filtro-select,[data-theme=dark] .mig-filtro-search{background:var(--surface-dark-alt,#1e293b);border-color:var(--border,#334155);color:var(--text-on-dark,#e2e8f0)}@media (width<=1200px){.mig-kanban{grid-auto-columns:minmax(220px,1fr)}}@media (width<=768px){.mig-kanban{grid-auto-columns:minmax(200px,1fr)}.mig-prog-row{grid-template-columns:100px 1fr 36px 44px}}
