:root{
  --royal:#1246c9;--royal-2:#1f5ee7;--royal-dark:#0a2b78;--royal-950:#061a49;
  --red:#e53935;--green:#18a957;--amber:#f59e0b;--cyan:#0891b2;--purple:#7c3aed;
  --bg:#f4f7fc;--surface:#fff;--surface-2:#f8faff;--text:#182033;--muted:#667085;
  --border:#e2e8f2;--shadow:0 10px 30px rgba(15,42,92,.08);--radius:16px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.5 Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;background:linear-gradient(180deg,var(--royal) 0%,#0c399f 54%,var(--royal-950) 100%);color:#fff;display:flex;flex-direction:column;z-index:20;box-shadow:10px 0 35px rgba(6,26,73,.16)}
.brand{height:82px;padding:18px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.14)}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#fff 0 55%,var(--red) 56%);color:var(--royal);font-size:23px;font-weight:950;display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,0,0,.18)}.brand b{display:block;font-size:16px;letter-spacing:.04em}.brand span{display:block;font-size:9px;letter-spacing:.2em;color:#c8d7ff;margin-top:3px}.sidebar-context{margin:14px 16px 7px;padding:12px 13px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:12px}.sidebar-context small,.sidebar-context strong{display:block}.sidebar-context small{font-size:9px;letter-spacing:.12em;color:#bcd0ff;text-transform:uppercase}.sidebar-context strong{font-size:12px;margin-top:3px}
nav{padding:2px 12px 15px;display:flex;flex-direction:column;gap:3px;overflow:auto;scrollbar-width:thin;scrollbar-color:#ffffff44 transparent}.nav-title{padding:17px 10px 5px;font-size:9px;letter-spacing:.14em;font-weight:800;color:#a9c3ff}.nav-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 11px;border-radius:10px;color:#dbe6ff;text-decoration:none;font-weight:600;font-size:12.5px;transition:.18s ease}.nav-link span{width:20px;text-align:center;font-weight:900;color:#aecdff}.nav-link:hover{background:rgba(255,255,255,.11);color:#fff;transform:translateX(2px)}.nav-link.active{background:#fff;color:var(--royal);box-shadow:0 8px 22px rgba(0,0,0,.16)}.nav-link.active span{color:var(--red)}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:15px 17px;background:rgba(0,0,0,.14);border-top:1px solid rgba(255,255,255,.12)}.avatar{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--royal);display:grid;place-items:center;font-weight:900}.sidebar-user div:nth-child(2){min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user strong{font-size:12px}.sidebar-user small{font-size:10px;color:#bbcdf6}.sidebar-user>a{text-decoration:none;font-size:20px;color:#fff}
.workspace{margin-left:280px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;padding:0 30px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar-title strong,.topbar-title span{display:block}.topbar-title strong{color:var(--royal);font-size:15px}.topbar-title span{font-size:11px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:8px;color:var(--muted)}.topbar-actions a{margin-left:10px;padding:8px 12px;border-radius:9px;background:#eef3ff;color:var(--royal);font-weight:700;text-decoration:none}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #dcfce7}main{padding:30px;flex:1}footer{padding:18px 30px;border-top:1px solid var(--border);color:#8a94a6;font-size:11px;background:#fff}
.page-hero,header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.page-hero h1,header h1{margin:3px 0 4px;font-size:29px;line-height:1.18;color:#15213b;letter-spacing:-.025em}.page-hero p,header p{margin:0;color:var(--muted)}.eyebrow{display:block;color:var(--royal);font-size:9px;letter-spacing:.14em;font-weight:900}.hero-actions{display:flex;align-items:center;gap:10px;padding-top:8px}h2{margin:0;color:#20304f;font-size:17px}p{color:var(--muted)}
.kpi-grid,.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi,.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:17px;box-shadow:0 4px 14px rgba(15,42,92,.045);position:relative;overflow:hidden}.kpi{display:flex;gap:12px;align-items:center}.kpi:after,.card:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--royal)}.kpi.attention:after,.card.warn:after{background:var(--amber)}.kpi.critical:after,.card.danger:after{background:var(--red)}.kpi-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:900;flex:none}.kpi-icon.blue,.kpi-icon.royal{background:#e8efff;color:var(--royal)}.kpi-icon.cyan{background:#e0f7fb;color:var(--cyan)}.kpi-icon.purple{background:#f0e8ff;color:var(--purple)}.kpi-icon.amber{background:#fff3d6;color:#a86500}.kpi-icon.red{background:#ffe5e5;color:var(--red)}.kpi small,.card small{display:block;color:var(--muted);font-size:11px}.kpi strong,.card strong{display:block;color:#172554;font-size:25px;line-height:1.05;margin:4px 0}.kpi span{font-size:10px;color:#98a2b3}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:18px}.panel,.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:19px;margin-bottom:0;overflow:auto}.panel-wide{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;padding-bottom:13px;border-bottom:1px solid #edf1f7}.text-link{font-size:11px;color:var(--royal);font-weight:800;text-decoration:none}.metric-stack{display:grid;gap:10px}.metric-stack>div{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.metric-stack span,.metric-stack small{display:block;color:var(--muted);font-size:10px}.metric-stack strong{display:block;color:var(--royal-dark);font-size:21px;margin:3px 0}.alert-list{display:grid;gap:8px}.alert-list a{display:flex;align-items:center;gap:10px;padding:11px;border-radius:12px;border:1px solid var(--border);text-decoration:none;background:#fff}.alert-list a:hover{border-color:#b7c9f7;background:#f9fbff}.alert-list a>div{flex:1}.alert-list strong,.alert-list small{display:block}.alert-list strong{font-size:12px}.alert-list small{font-size:10px;color:var(--muted)}.alert-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;font-weight:900}.alert-icon.red{background:#fee2e2;color:#b91c1c}.alert-icon.amber{background:#fef3c7;color:#92400e}.process-flow{display:flex;align-items:stretch;gap:8px;overflow:auto;padding:4px 2px}.process-flow a{min-width:105px;display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid #dce5f8;border-radius:12px;background:linear-gradient(180deg,#fff,#f7faff);text-decoration:none}.process-flow b{color:var(--red);font-size:10px}.process-flow span{color:var(--royal-dark);font-weight:800;font-size:12px}.process-flow i{align-self:center;color:#9badcf;font-style:normal}
.grid2{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel+.panel{margin-top:18px}.status,.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e8efff;color:#1647bf;font-size:10px;font-weight:800;white-space:nowrap}.status.good{background:#dcfce7;color:#15803d}.status.bad{background:#fee2e2;color:#b91c1c}.pill{background:#fff3cd;color:#8a6200}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:650px}th,td{padding:12px 11px;border-bottom:1px solid #edf1f7;text-align:left;vertical-align:middle}th{position:sticky;top:0;background:#f8faff;color:#64708a;font-size:9px;letter-spacing:.07em;text-transform:uppercase;font-weight:900}tbody tr:hover td{background:#fafcff}tbody tr:last-child td{border-bottom:0}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px;align-items:end;background:#f9fbff;border:1px solid var(--border);padding:16px;border-radius:14px}.form-grid .wide{grid-column:span 3}label{display:grid;gap:6px;color:#475467;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}input,select,textarea{width:100%;border:1px solid #d5deec;border-radius:10px;padding:11px;background:#fff;color:var(--text);font:inherit;outline:none;transition:.16s}input:focus,select:focus,textarea:focus{border-color:var(--royal-2);box-shadow:0 0 0 3px #dfe9ff}textarea{min-height:82px;resize:vertical}button,.button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--royal),var(--royal-2));color:#fff;border:0;border-radius:10px;padding:10px 15px;font-weight:800;font-size:12px;text-decoration:none;cursor:pointer;box-shadow:0 6px 14px rgba(18,70,201,.18)}button:hover,.button:hover{filter:brightness(1.04);transform:translateY(-1px)}.secondary{background:#fff;color:var(--royal);border:1px solid #bfd0f6;box-shadow:none}.danger{background:var(--red)}.link{background:transparent;color:var(--royal);box-shadow:none;padding:0}.danger-text{color:var(--red)}.inline-form{display:flex;gap:8px;margin-top:14px}.recipe-head{display:flex;justify-content:space-between;gap:15px}.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.flow span{background:#eef3fb;padding:8px 10px;border-radius:7px}.muted{color:var(--muted)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:10px;overflow:auto}.calendar-day{background:#fff;border:1px solid #dbe4ff;border-radius:13px;padding:11px;min-height:160px;box-shadow:0 3px 10px rgba(18,70,201,.04)}.calendar-item{margin-top:8px;padding:9px;background:#eef3ff;border-left:4px solid var(--royal);border-radius:8px;display:flex;flex-direction:column}.calendar-item strong{font-size:12px}.calendar-item span,.calendar-item em,.calendar-item small{font-size:10px}.calendar-item em{color:var(--royal);font-style:normal;font-weight:800}
.full{margin:0;padding:0}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 0,#2b65e5,var(--royal-dark) 42%,#071a45 100%);position:relative;overflow:hidden}.login-wrap:before,.login-wrap:after{content:"";position:absolute;border-radius:50%;background:#ffffff0b}.login-wrap:before{width:420px;height:420px;left:-140px;bottom:-160px}.login-wrap:after{width:280px;height:280px;right:-90px;top:-80px}.login-card{position:relative;z-index:1;width:min(440px,92vw);background:#fff;padding:36px;border-radius:22px;box-shadow:0 30px 85px rgba(0,0,0,.35);border-top:5px solid var(--red)}.logo-big{font-size:27px;font-weight:950;color:var(--red)}.logo-big span{color:var(--royal)}.login-card form{display:grid;gap:14px;margin-top:25px}.demo{background:#f3f6fb;border:1px solid var(--border);border-radius:11px;padding:13px;margin-top:18px;font-size:11px}.alert{padding:11px;border-radius:9px;margin-top:12px}.alert.danger{background:#fee2e2;color:#991b1b}
@media(max-width:1280px){.kpi-grid,.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:1050px){.sidebar{width:250px}.workspace{margin-left:250px}.dashboard-grid,.grid2{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{position:static;width:auto;max-height:none}.sidebar-context,.sidebar-user{display:none}.brand{height:68px}.nav-title{grid-column:1/-1}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr);max-height:330px}.workspace{margin:0}.topbar{height:60px;padding:0 15px}.topbar-title span,.topbar-actions small,.topbar-actions a{display:none}main{padding:16px}.page-hero,header{flex-direction:column}.hero-actions{width:100%;justify-content:space-between}.kpi-grid,.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.inline-form{flex-direction:column}.calendar-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:480px){.kpi-grid,.cards{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.process-flow i{display:none}.process-flow{display:grid;grid-template-columns:repeat(2,1fr)}footer{padding:15px}}
@media print{.sidebar,.topbar,footer,button,.button,form{display:none!important}.workspace{margin:0}main{padding:0}.panel{box-shadow:none}}

/* Menu lateral em acordeão: um módulo aberto por vez */
.accordion-nav{gap:7px}.nav-home{margin-bottom:3px}.nav-group{border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035);overflow:hidden;transition:.2s ease}.nav-group.open{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.17)}.nav-group-toggle{width:100%;min-height:44px;padding:10px 11px;display:grid;grid-template-columns:21px 1fr 18px;align-items:center;gap:9px;border:0;border-radius:0;background:transparent;color:#dbe6ff;box-shadow:none;text-align:left;font-size:11px;letter-spacing:.055em;text-transform:uppercase;cursor:pointer}.nav-group-toggle:hover{background:rgba(255,255,255,.08);transform:none;filter:none}.nav-group-toggle span{font-size:15px;color:#b9ceff;text-align:center}.nav-group-toggle b{font-size:10px}.nav-group-toggle i{font-style:normal;font-size:16px;transition:transform .22s ease;color:#b9ceff}.nav-group.open .nav-group-toggle{color:#fff}.nav-group.open .nav-group-toggle i{transform:rotate(180deg)}.nav-group-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}.nav-group-content>*{overflow:hidden}.nav-group.open .nav-group-content{grid-template-rows:1fr}.nav-group-content:before{content:"";display:block;border-top:1px solid rgba(255,255,255,.08);margin:0 10px}.nav-group-content .nav-link{margin:2px 6px 3px;padding-left:10px;min-height:38px;font-size:12px}.nav-group-content .nav-link:first-of-type{margin-top:7px}.nav-group-content .nav-link:last-child{margin-bottom:7px}
@media(max-width:760px){.sidebar nav.accordion-nav{display:flex;max-height:none}.nav-group-content .nav-link{margin-left:6px;margin-right:6px}}


/* V1.5.0 - Consolidação visual e navegação */
.sidebar{width:292px}.workspace{margin-left:292px}.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:18px}.sidebar-user{flex:none}.brand-mark{overflow:hidden;position:relative}.brand-mark span{z-index:1;position:relative}.brand-copy{min-width:0}.brand-copy b{white-space:nowrap}.accordion-nav{gap:7px}.nav-group{flex:none;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.035);overflow:hidden}.nav-group-content{display:none!important;padding:3px 0 7px;border-top:1px solid rgba(255,255,255,.08)}.nav-group.open .nav-group-content{display:block!important}.nav-group-content:before{display:none!important}.nav-group-content .nav-link{margin:2px 7px;padding:8px 10px;min-height:36px;font-size:11.5px}.nav-group-toggle{display:grid!important;grid-template-columns:21px 1fr 18px!important}.nav-group-toggle b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group.open .nav-group-toggle{background:rgba(255,255,255,.07)}
.mobile-menu{display:none;box-shadow:none;background:transparent;color:var(--royal);font-size:22px;padding:6px 8px}.version-chip{font-size:10px;font-weight:800;background:#eef3ff;color:var(--royal);padding:5px 8px;border-radius:999px}.module-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.module-kpis>div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:0 5px 18px rgba(15,42,92,.05)}.module-kpis small,.module-kpis span{display:block;color:var(--muted);font-size:10px}.module-kpis strong{display:block;color:var(--royal-dark);font-size:20px;margin:3px 0}.form-panel{overflow:visible}.data-panel{margin-top:18px}.table-tools{display:flex;align-items:center;gap:10px}.table-tools span{font-size:10px;color:var(--muted);white-space:nowrap}.search-input{width:260px;padding:9px 11px}.table-wrap{width:100%;overflow:auto;border:1px solid #edf1f7;border-radius:12px}.table-wrap table{min-width:950px}.actions-cell{white-space:nowrap;display:flex;gap:5px;align-items:center}.actions-cell form{margin:0}.mini{padding:6px 9px;font-size:10px;border-radius:8px;box-shadow:none}.edit-dialog{width:min(980px,94vw);max-height:88vh;border:0;border-radius:18px;padding:0;box-shadow:0 30px 90px rgba(6,26,73,.32)}.edit-dialog::backdrop{background:rgba(6,26,73,.52);backdrop-filter:blur(3px)}.edit-dialog>form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:16px}.dialog-close{background:#f3f6fb;color:#51607b;box-shadow:none;font-size:22px;width:36px;height:36px;padding:0}.dialog-grid{max-height:56vh;overflow:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:17px}.empty-state{padding:40px;text-align:center;color:var(--muted)}.empty-state b,.empty-state span{display:block}.empty-state b{color:var(--royal-dark);font-size:16px;margin-bottom:4px}
@media(max-width:1050px){.sidebar{width:260px}.workspace{margin-left:260px}.module-kpis{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:800px){.mobile-menu{display:inline-flex}.sidebar{position:fixed;width:min(310px,88vw);transform:translateX(-105%);transition:.2s ease;box-shadow:20px 0 50px rgba(0,0,0,.3)}body.sidebar-open .sidebar{transform:translateX(0)}.workspace{margin-left:0}.sidebar-context,.sidebar-user{display:flex}.sidebar nav.accordion-nav{display:flex;max-height:none}.module-kpis{grid-template-columns:1fr}.table-tools{width:100%;flex-direction:column;align-items:stretch}.search-input{width:100%}.topbar{padding:0 14px;gap:8px}.topbar-title{flex:1}.topbar-actions .version-chip{display:none}.edit-dialog{width:96vw}.dialog-grid{grid-template-columns:1fr}}
\n/* V1.5.0 - formulários especializados */\n.grid-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;align-items:end;background:#f9fbff;border:1px solid var(--border);padding:15px;border-radius:14px}.grid-form label{display:grid;gap:6px}.grid-form .wide{grid-column:span 3}.grid-form.compact{grid-template-columns:repeat(3,minmax(120px,1fr))}.quality-kpis{grid-template-columns:repeat(4,1fr)}.quality-secondary{margin-top:18px}.quality-secondary .panel{margin-top:0}.data-panel+.data-panel{margin-top:18px}@media(max-width:1100px){.grid-form,.grid-form.compact{grid-template-columns:repeat(2,1fr)}.quality-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.grid-form,.grid-form.compact{grid-template-columns:1fr}.grid-form .wide{grid-column:auto}.quality-kpis{grid-template-columns:1fr}}\n
/* V1.6.3 - mascaras, edicao e projecao financeira */
.field-unit{display:inline-flex!important;width:max-content;margin-top:-3px;padding:2px 6px;border-radius:999px;background:#edf3ff;color:var(--royal)!important;font-size:9px!important;font-weight:850;letter-spacing:.02em;text-transform:none}
.input-affix{display:flex;align-items:stretch;border:1px solid #d5deec;border-radius:10px;background:#fff;overflow:hidden;transition:.16s}.input-affix:focus-within{border-color:var(--royal-2);box-shadow:0 0 0 3px #dfe9ff}.input-affix>span{display:grid;place-items:center;padding:0 11px;background:#edf3ff;color:var(--royal-dark);font-weight:900;border-right:1px solid #d5deec}.input-affix input{border:0;border-radius:0;box-shadow:none!important}.money-value{color:#087a3f;white-space:nowrap}
.edit-dialog>form{background:#fff}.dialog-head h2 span{color:var(--muted);font-weight:500}.dialog-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.dialog-grid{background:#f6f9ff;padding:20px;gap:17px}.dialog-grid label{background:#fff;border:1px solid #e0e7f2;border-radius:12px;padding:12px;align-content:start}.dialog-grid input,.dialog-grid select{background:#fbfdff}.dialog-actions{border-top:1px solid var(--border);margin-top:16px}.edit-dialog[open]{animation:dialogIn .18s ease-out}@keyframes dialogIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.projection-filter{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:15px;box-shadow:0 5px 18px rgba(15,42,92,.05)}.projection-filter label{min-width:210px}.financial-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.financial-kpis>div{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:15px;padding:16px;box-shadow:0 7px 22px rgba(15,42,92,.06)}.financial-kpis>div:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#91a4c6}.financial-kpis .revenue:before{background:var(--royal-2)}.financial-kpis .positive:before{background:var(--green)}.financial-kpis .negative:before{background:var(--red)}.financial-kpis small,.financial-kpis span{display:block;color:var(--muted);font-size:10px}.financial-kpis strong{display:block;font-size:21px;color:var(--royal-dark);margin:4px 0}.financial-kpis .positive strong{color:#087a3f}.financial-kpis .negative strong{color:#b42318}
@media(max-width:1100px){.financial-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.projection-filter{align-items:stretch;flex-direction:column}.projection-filter label{min-width:0}.financial-kpis{grid-template-columns:1fr}.dialog-grid{padding:12px}}
/* Instalacao acompanhada por etapas */
.install-progress-card{max-width:900px;margin:30px auto;background:#fff;border:1px solid var(--border);border-radius:22px;padding:42px;box-shadow:0 20px 55px rgba(15,42,92,.12);text-align:center}.install-icon{width:62px;height:62px;margin:0 auto 15px;display:grid;place-items:center;border-radius:50%;background:#eaf0ff;color:var(--royal);font-size:29px;font-weight:900;animation:spin 1.4s linear infinite}.install-progress-card.success .install-icon,.install-progress-card.error .install-icon{animation:none;color:#fff}.install-progress-card.success .install-icon{background:var(--green)}.install-progress-card.error .install-icon{background:var(--red)}@keyframes spin{to{transform:rotate(360deg)}}.install-progress-card h1{font-size:28px;margin:6px 0}.install-progress-card>p{color:var(--muted);min-height:24px}.progress-track{height:15px;background:#e8edf6;border-radius:999px;overflow:hidden;margin:25px 0 8px}.progress-track>div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--royal),#3b82f6);transition:width .45s ease}.progress-meta{display:flex;justify-content:space-between;color:var(--muted)}.progress-meta b{color:var(--royal);font-size:18px}.install-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0;margin:30px 0;list-style:none}.install-steps li{padding:10px 5px;border-radius:9px;background:#f3f5f9;color:#7a869b;font-size:10px;font-weight:800}.install-steps li.done{background:#e4f8ec;color:#087a3f}.install-warning{background:#fff8e7;color:#8a6200;border:1px solid #fde7ae;border-radius:11px;padding:12px;margin-bottom:20px}@media(max-width:760px){.install-progress-card{padding:25px 18px}.install-steps{grid-template-columns:1fr}.install-progress-card h1{font-size:22px}}
/* V1.6.4 - faturamento diario e equipe por unidade */
.billing-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:15px}.billing-kpis>div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 5px 18px rgba(15,42,92,.05);border-top:3px solid #aab8d0}.billing-kpis .revenue{border-top-color:var(--royal-2)}.billing-kpis .actual,.billing-kpis .positive{border-top-color:var(--green)}.billing-kpis .negative{border-top-color:var(--red)}.billing-kpis small,.billing-kpis span{display:block;color:var(--muted);font-size:9px}.billing-kpis strong{display:block;font-size:18px;margin:4px 0;color:var(--royal-dark)}.billing-kpis .actual strong,.billing-kpis .positive strong{color:#087a3f}.billing-kpis .negative strong{color:#b42318}.compact-summary{display:flex;gap:25px;justify-content:flex-end;margin-bottom:18px;padding:12px 16px!important}.compact-summary span{color:var(--muted);font-size:11px}.compact-summary b{color:var(--royal-dark);margin-left:5px}.billing-table{min-width:1650px!important}.actual-preview{display:flex;justify-content:space-between;background:#edf3ff;color:var(--royal-dark);border-radius:11px;padding:13px 15px;margin-top:15px}.check-field{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center;gap:9px!important;background:#eef4ff;padding:11px;border-radius:10px}.check-field input{width:18px;height:18px}.regulatory-note{background:#eef4ff;border:1px solid #ccdaf8;border-left:5px solid var(--royal);border-radius:14px;padding:15px 18px;margin-bottom:18px}.regulatory-note b{color:var(--royal-dark)}.regulatory-note p{margin:4px 0 0;color:#53627c;font-size:12px}.staffing-forms{align-items:start}.staff-chip{display:block;width:max-content;max-width:330px;background:#edf3ff;color:#244b9b;padding:4px 7px;border-radius:7px;font-size:9px;margin:2px 0}.staffing-forms .panel{margin-top:0}
@media(max-width:1350px){.billing-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.billing-kpis{grid-template-columns:1fr}.compact-summary{flex-direction:column;gap:5px}.actual-preview{flex-direction:column}}

/* V1.6.5 - controladoria, centros de custo e logistica */
.financial-statement{border-top:4px solid var(--royal);background:linear-gradient(145deg,#fff 0%,#f7faff 100%)}.financial-statement .panel-head{align-items:flex-start}.financial-statement .panel-head>.muted{max-width:520px;text-align:right;font-size:10px}.statement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.statement-grid>div{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 13px;border-bottom:1px dashed #dce4f0;color:#53627c}.statement-grid>div b{white-space:nowrap;color:var(--royal-dark)}.statement-grid .subtotal{grid-column:1/-1;background:#eef4ff;border:1px solid #ccdaf8;border-radius:10px;color:#183e8f;font-weight:800}.statement-grid .total{grid-column:1/-1;background:linear-gradient(100deg,#123b9b,#1b58d9);border:0;border-radius:11px;color:#fff;font-size:16px;padding:15px 17px}.statement-grid .total b{color:#fff;font-size:20px}.financial-statement+.grid2{align-items:start}.financial-statement+.grid2>.panel{margin-top:0}.table-wrap td small{display:block;color:var(--muted);margin-top:3px}.table-wrap td form{min-width:170px}.table-wrap td form input{margin-bottom:6px}.status.warn{background:#fff5d8;color:#8a6200}
@media(max-width:900px){.statement-grid{grid-template-columns:1fr}.statement-grid .subtotal,.statement-grid .total{grid-column:auto}.financial-statement .panel-head>.muted{text-align:left}.financial-statement .panel-head{display:block}}

:root{
  --royal:#1246c9;--royal-2:#1f5ee7;--royal-dark:#0a2b78;--royal-950:#061a49;
  --red:#e53935;--green:#18a957;--amber:#f59e0b;--cyan:#0891b2;--purple:#7c3aed;
  --bg:#f4f7fc;--surface:#fff;--surface-2:#f8faff;--text:#182033;--muted:#667085;
  --border:#e2e8f2;--shadow:0 10px 30px rgba(15,42,92,.08);--radius:16px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.5 Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;background:linear-gradient(180deg,var(--royal) 0%,#0c399f 54%,var(--royal-950) 100%);color:#fff;display:flex;flex-direction:column;z-index:20;box-shadow:10px 0 35px rgba(6,26,73,.16)}
.brand{height:82px;padding:18px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.14)}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#fff 0 55%,var(--red) 56%);color:var(--royal);font-size:23px;font-weight:950;display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,0,0,.18)}.brand b{display:block;font-size:16px;letter-spacing:.04em}.brand span{display:block;font-size:9px;letter-spacing:.2em;color:#c8d7ff;margin-top:3px}.sidebar-context{margin:14px 16px 7px;padding:12px 13px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:12px}.sidebar-context small,.sidebar-context strong{display:block}.sidebar-context small{font-size:9px;letter-spacing:.12em;color:#bcd0ff;text-transform:uppercase}.sidebar-context strong{font-size:12px;margin-top:3px}
nav{padding:2px 12px 15px;display:flex;flex-direction:column;gap:3px;overflow:auto;scrollbar-width:thin;scrollbar-color:#ffffff44 transparent}.nav-title{padding:17px 10px 5px;font-size:9px;letter-spacing:.14em;font-weight:800;color:#a9c3ff}.nav-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 11px;border-radius:10px;color:#dbe6ff;text-decoration:none;font-weight:600;font-size:12.5px;transition:.18s ease}.nav-link span{width:20px;text-align:center;font-weight:900;color:#aecdff}.nav-link:hover{background:rgba(255,255,255,.11);color:#fff;transform:translateX(2px)}.nav-link.active{background:#fff;color:var(--royal);box-shadow:0 8px 22px rgba(0,0,0,.16)}.nav-link.active span{color:var(--red)}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:15px 17px;background:rgba(0,0,0,.14);border-top:1px solid rgba(255,255,255,.12)}.avatar{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--royal);display:grid;place-items:center;font-weight:900}.sidebar-user div:nth-child(2){min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user strong{font-size:12px}.sidebar-user small{font-size:10px;color:#bbcdf6}.sidebar-user>a{text-decoration:none;font-size:20px;color:#fff}
.workspace{margin-left:280px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;padding:0 30px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar-title strong,.topbar-title span{display:block}.topbar-title strong{color:var(--royal);font-size:15px}.topbar-title span{font-size:11px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:8px;color:var(--muted)}.topbar-actions a{margin-left:10px;padding:8px 12px;border-radius:9px;background:#eef3ff;color:var(--royal);font-weight:700;text-decoration:none}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #dcfce7}main{padding:30px;flex:1}footer{padding:18px 30px;border-top:1px solid var(--border);color:#8a94a6;font-size:11px;background:#fff}
.page-hero,header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.page-hero h1,header h1{margin:3px 0 4px;font-size:29px;line-height:1.18;color:#15213b;letter-spacing:-.025em}.page-hero p,header p{margin:0;color:var(--muted)}.eyebrow{display:block;color:var(--royal);font-size:9px;letter-spacing:.14em;font-weight:900}.hero-actions{display:flex;align-items:center;gap:10px;padding-top:8px}h2{margin:0;color:#20304f;font-size:17px}p{color:var(--muted)}
.kpi-grid,.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi,.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:17px;box-shadow:0 4px 14px rgba(15,42,92,.045);position:relative;overflow:hidden}.kpi{display:flex;gap:12px;align-items:center}.kpi:after,.card:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--royal)}.kpi.attention:after,.card.warn:after{background:var(--amber)}.kpi.critical:after,.card.danger:after{background:var(--red)}.kpi-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:900;flex:none}.kpi-icon.blue,.kpi-icon.royal{background:#e8efff;color:var(--royal)}.kpi-icon.cyan{background:#e0f7fb;color:var(--cyan)}.kpi-icon.purple{background:#f0e8ff;color:var(--purple)}.kpi-icon.amber{background:#fff3d6;color:#a86500}.kpi-icon.red{background:#ffe5e5;color:var(--red)}.kpi small,.card small{display:block;color:var(--muted);font-size:11px}.kpi strong,.card strong{display:block;color:#172554;font-size:25px;line-height:1.05;margin:4px 0}.kpi span{font-size:10px;color:#98a2b3}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:18px}.panel,.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:19px;margin-bottom:0;overflow:auto}.panel-wide{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;padding-bottom:13px;border-bottom:1px solid #edf1f7}.text-link{font-size:11px;color:var(--royal);font-weight:800;text-decoration:none}.metric-stack{display:grid;gap:10px}.metric-stack>div{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.metric-stack span,.metric-stack small{display:block;color:var(--muted);font-size:10px}.metric-stack strong{display:block;color:var(--royal-dark);font-size:21px;margin:3px 0}.alert-list{display:grid;gap:8px}.alert-list a{display:flex;align-items:center;gap:10px;padding:11px;border-radius:12px;border:1px solid var(--border);text-decoration:none;background:#fff}.alert-list a:hover{border-color:#b7c9f7;background:#f9fbff}.alert-list a>div{flex:1}.alert-list strong,.alert-list small{display:block}.alert-list strong{font-size:12px}.alert-list small{font-size:10px;color:var(--muted)}.alert-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;font-weight:900}.alert-icon.red{background:#fee2e2;color:#b91c1c}.alert-icon.amber{background:#fef3c7;color:#92400e}.process-flow{display:flex;align-items:stretch;gap:8px;overflow:auto;padding:4px 2px}.process-flow a{min-width:105px;display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid #dce5f8;border-radius:12px;background:linear-gradient(180deg,#fff,#f7faff);text-decoration:none}.process-flow b{color:var(--red);font-size:10px}.process-flow span{color:var(--royal-dark);font-weight:800;font-size:12px}.process-flow i{align-self:center;color:#9badcf;font-style:normal}
.grid2{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel+.panel{margin-top:18px}.status,.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e8efff;color:#1647bf;font-size:10px;font-weight:800;white-space:nowrap}.status.good{background:#dcfce7;color:#15803d}.status.bad{background:#fee2e2;color:#b91c1c}.pill{background:#fff3cd;color:#8a6200}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:650px}th,td{padding:12px 11px;border-bottom:1px solid #edf1f7;text-align:left;vertical-align:middle}th{position:sticky;top:0;background:#f8faff;color:#64708a;font-size:9px;letter-spacing:.07em;text-transform:uppercase;font-weight:900}tbody tr:hover td{background:#fafcff}tbody tr:last-child td{border-bottom:0}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px;align-items:end;background:#f9fbff;border:1px solid var(--border);padding:16px;border-radius:14px}.form-grid .wide{grid-column:span 3}label{display:grid;gap:6px;color:#475467;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}input,select,textarea{width:100%;border:1px solid #d5deec;border-radius:10px;padding:11px;background:#fff;color:var(--text);font:inherit;outline:none;transition:.16s}input:focus,select:focus,textarea:focus{border-color:var(--royal-2);box-shadow:0 0 0 3px #dfe9ff}textarea{min-height:82px;resize:vertical}button,.button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--royal),var(--royal-2));color:#fff;border:0;border-radius:10px;padding:10px 15px;font-weight:800;font-size:12px;text-decoration:none;cursor:pointer;box-shadow:0 6px 14px rgba(18,70,201,.18)}button:hover,.button:hover{filter:brightness(1.04);transform:translateY(-1px)}.secondary{background:#fff;color:var(--royal);border:1px solid #bfd0f6;box-shadow:none}.danger{background:var(--red)}.link{background:transparent;color:var(--royal);box-shadow:none;padding:0}.danger-text{color:var(--red)}.inline-form{display:flex;gap:8px;margin-top:14px}.recipe-head{display:flex;justify-content:space-between;gap:15px}.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.flow span{background:#eef3fb;padding:8px 10px;border-radius:7px}.muted{color:var(--muted)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:10px;overflow:auto}.calendar-day{background:#fff;border:1px solid #dbe4ff;border-radius:13px;padding:11px;min-height:160px;box-shadow:0 3px 10px rgba(18,70,201,.04)}.calendar-item{margin-top:8px;padding:9px;background:#eef3ff;border-left:4px solid var(--royal);border-radius:8px;display:flex;flex-direction:column}.calendar-item strong{font-size:12px}.calendar-item span,.calendar-item em,.calendar-item small{font-size:10px}.calendar-item em{color:var(--royal);font-style:normal;font-weight:800}
.full{margin:0;padding:0}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 0,#2b65e5,var(--royal-dark) 42%,#071a45 100%);position:relative;overflow:hidden}.login-wrap:before,.login-wrap:after{content:"";position:absolute;border-radius:50%;background:#ffffff0b}.login-wrap:before{width:420px;height:420px;left:-140px;bottom:-160px}.login-wrap:after{width:280px;height:280px;right:-90px;top:-80px}.login-card{position:relative;z-index:1;width:min(440px,92vw);background:#fff;padding:36px;border-radius:22px;box-shadow:0 30px 85px rgba(0,0,0,.35);border-top:5px solid var(--red)}.logo-big{font-size:27px;font-weight:950;color:var(--red)}.logo-big span{color:var(--royal)}.login-card form{display:grid;gap:14px;margin-top:25px}.demo{background:#f3f6fb;border:1px solid var(--border);border-radius:11px;padding:13px;margin-top:18px;font-size:11px}.alert{padding:11px;border-radius:9px;margin-top:12px}.alert.danger{background:#fee2e2;color:#991b1b}
@media(max-width:1280px){.kpi-grid,.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:1050px){.sidebar{width:250px}.workspace{margin-left:250px}.dashboard-grid,.grid2{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{position:static;width:auto;max-height:none}.sidebar-context,.sidebar-user{display:none}.brand{height:68px}.nav-title{grid-column:1/-1}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr);max-height:330px}.workspace{margin:0}.topbar{height:60px;padding:0 15px}.topbar-title span,.topbar-actions small,.topbar-actions a{display:none}main{padding:16px}.page-hero,header{flex-direction:column}.hero-actions{width:100%;justify-content:space-between}.kpi-grid,.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.inline-form{flex-direction:column}.calendar-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:480px){.kpi-grid,.cards{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.process-flow i{display:none}.process-flow{display:grid;grid-template-columns:repeat(2,1fr)}footer{padding:15px}}
@media print{.sidebar,.topbar,footer,button,.button,form{display:none!important}.workspace{margin:0}main{padding:0}.panel{box-shadow:none}}

/* Menu lateral em acordeão: um módulo aberto por vez */
.accordion-nav{gap:7px}.nav-home{margin-bottom:3px}.nav-group{border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035);overflow:hidden;transition:.2s ease}.nav-group.open{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.17)}.nav-group-toggle{width:100%;min-height:44px;padding:10px 11px;display:grid;grid-template-columns:21px 1fr 18px;align-items:center;gap:9px;border:0;border-radius:0;background:transparent;color:#dbe6ff;box-shadow:none;text-align:left;font-size:11px;letter-spacing:.055em;text-transform:uppercase;cursor:pointer}.nav-group-toggle:hover{background:rgba(255,255,255,.08);transform:none;filter:none}.nav-group-toggle span{font-size:15px;color:#b9ceff;text-align:center}.nav-group-toggle b{font-size:10px}.nav-group-toggle i{font-style:normal;font-size:16px;transition:transform .22s ease;color:#b9ceff}.nav-group.open .nav-group-toggle{color:#fff}.nav-group.open .nav-group-toggle i{transform:rotate(180deg)}.nav-group-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}.nav-group-content>*{overflow:hidden}.nav-group.open .nav-group-content{grid-template-rows:1fr}.nav-group-content:before{content:"";display:block;border-top:1px solid rgba(255,255,255,.08);margin:0 10px}.nav-group-content .nav-link{margin:2px 6px 3px;padding-left:10px;min-height:38px;font-size:12px}.nav-group-content .nav-link:first-of-type{margin-top:7px}.nav-group-content .nav-link:last-child{margin-bottom:7px}
@media(max-width:760px){.sidebar nav.accordion-nav{display:flex;max-height:none}.nav-group-content .nav-link{margin-left:6px;margin-right:6px}}


/* V1.5.0 - Consolidação visual e navegação */
.sidebar{width:292px}.workspace{margin-left:292px}.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:18px}.sidebar-user{flex:none}.brand-mark{overflow:hidden;position:relative}.brand-mark span{z-index:1;position:relative}.brand-copy{min-width:0}.brand-copy b{white-space:nowrap}.accordion-nav{gap:7px}.nav-group{flex:none;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.035);overflow:hidden}.nav-group-content{display:none!important;padding:3px 0 7px;border-top:1px solid rgba(255,255,255,.08)}.nav-group.open .nav-group-content{display:block!important}.nav-group-content:before{display:none!important}.nav-group-content .nav-link{margin:2px 7px;padding:8px 10px;min-height:36px;font-size:11.5px}.nav-group-toggle{display:grid!important;grid-template-columns:21px 1fr 18px!important}.nav-group-toggle b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group.open .nav-group-toggle{background:rgba(255,255,255,.07)}
.mobile-menu{display:none;box-shadow:none;background:transparent;color:var(--royal);font-size:22px;padding:6px 8px}.version-chip{font-size:10px;font-weight:800;background:#eef3ff;color:var(--royal);padding:5px 8px;border-radius:999px}.module-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.module-kpis>div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:0 5px 18px rgba(15,42,92,.05)}.module-kpis small,.module-kpis span{display:block;color:var(--muted);font-size:10px}.module-kpis strong{display:block;color:var(--royal-dark);font-size:20px;margin:3px 0}.form-panel{overflow:visible}.data-panel{margin-top:18px}.table-tools{display:flex;align-items:center;gap:10px}.table-tools span{font-size:10px;color:var(--muted);white-space:nowrap}.search-input{width:260px;padding:9px 11px}.table-wrap{width:100%;overflow:auto;border:1px solid #edf1f7;border-radius:12px}.table-wrap table{min-width:950px}.actions-cell{white-space:nowrap;display:flex;gap:5px;align-items:center}.actions-cell form{margin:0}.mini{padding:6px 9px;font-size:10px;border-radius:8px;box-shadow:none}.edit-dialog{width:min(980px,94vw);max-height:88vh;border:0;border-radius:18px;padding:0;box-shadow:0 30px 90px rgba(6,26,73,.32)}.edit-dialog::backdrop{background:rgba(6,26,73,.52);backdrop-filter:blur(3px)}.edit-dialog>form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:16px}.dialog-close{background:#f3f6fb;color:#51607b;box-shadow:none;font-size:22px;width:36px;height:36px;padding:0}.dialog-grid{max-height:56vh;overflow:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:17px}.empty-state{padding:40px;text-align:center;color:var(--muted)}.empty-state b,.empty-state span{display:block}.empty-state b{color:var(--royal-dark);font-size:16px;margin-bottom:4px}
@media(max-width:1050px){.sidebar{width:260px}.workspace{margin-left:260px}.module-kpis{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:800px){.mobile-menu{display:inline-flex}.sidebar{position:fixed;width:min(310px,88vw);transform:translateX(-105%);transition:.2s ease;box-shadow:20px 0 50px rgba(0,0,0,.3)}body.sidebar-open .sidebar{transform:translateX(0)}.workspace{margin-left:0}.sidebar-context,.sidebar-user{display:flex}.sidebar nav.accordion-nav{display:flex;max-height:none}.module-kpis{grid-template-columns:1fr}.table-tools{width:100%;flex-direction:column;align-items:stretch}.search-input{width:100%}.topbar{padding:0 14px;gap:8px}.topbar-title{flex:1}.topbar-actions .version-chip{display:none}.edit-dialog{width:96vw}.dialog-grid{grid-template-columns:1fr}}
\n/* V1.5.0 - formulários especializados */\n.grid-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;align-items:end;background:#f9fbff;border:1px solid var(--border);padding:15px;border-radius:14px}.grid-form label{display:grid;gap:6px}.grid-form .wide{grid-column:span 3}.grid-form.compact{grid-template-columns:repeat(3,minmax(120px,1fr))}.quality-kpis{grid-template-columns:repeat(4,1fr)}.quality-secondary{margin-top:18px}.quality-secondary .panel{margin-top:0}.data-panel+.data-panel{margin-top:18px}@media(max-width:1100px){.grid-form,.grid-form.compact{grid-template-columns:repeat(2,1fr)}.quality-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.grid-form,.grid-form.compact{grid-template-columns:1fr}.grid-form .wide{grid-column:auto}.quality-kpis{grid-template-columns:1fr}}\n
/* One Design System 2.0 - V1.6.6 */
:root{--ods-blue:#2457e6;--ods-navy:#071a3c;--ods-line:#e4e9f3;--ods-bg:#f6f8fc;--ods-ink:#111b35}
body{background:var(--ods-bg);color:var(--ods-ink);overflow-x:hidden}.sidebar,.topbar{display:none!important}
.ods-header{height:72px;background:#fff;border-bottom:1px solid var(--ods-line);position:fixed;inset:0 0 auto 0;z-index:1000;display:flex;align-items:center;box-shadow:0 2px 14px #1e37690d}
.ods-brand{width:155px;padding:0 14px;display:flex;gap:9px;align-items:center;text-decoration:none;color:var(--ods-blue)}.ods-logo{width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#2457e6,#665cf5);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}.ods-brand strong{font-size:25px;line-height:20px}.ods-brand small{display:block;font-size:9px;letter-spacing:1px}
.ods-nav{height:72px;display:flex}.ods-nav a,.ods-nav button{border:0;background:transparent;text-decoration:none;color:#18223e;font-size:12px;font-weight:800;padding:0 13px;display:flex;align-items:center;border-bottom:3px solid transparent;cursor:pointer}.ods-nav a:hover,.ods-nav button:hover,.ods-nav button.active{color:var(--ods-blue);background:#f7f9ff;border-bottom-color:var(--ods-blue)}
.ods-tools{margin-left:auto;padding-right:14px;display:flex;align-items:center;gap:9px}.ods-tools>a{text-decoration:none;color:#35415d;font-size:18px}.ods-search{width:205px;height:38px;border:1px solid var(--ods-line);border-radius:10px;background:#f8faff;display:flex;align-items:center;padding:0 10px;color:#76819a}.ods-search input{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:0 5px!important;width:100%;font-size:12px}.ods-avatar{width:34px;height:34px;border-radius:50%;background:var(--ods-blue);color:#fff;display:grid;place-items:center;font-weight:800}.ods-user{display:flex;flex-direction:column;max-width:100px}.ods-user b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-user small{font-size:9px;color:#78839b}
.ods-rail{position:fixed;top:72px;bottom:36px;left:0;width:58px;background:linear-gradient(180deg,#0a214a,#06162f);z-index:900;display:flex;flex-direction:column;align-items:center;padding:16px 0;gap:10px}.ods-rail a{width:40px;height:40px;border-radius:11px;color:#dbe4f8;text-decoration:none;display:grid;place-items:center;font-size:18px}.ods-rail a:hover{background:linear-gradient(145deg,#2457e6,#526af4);color:#fff}
.ods-mega{position:fixed;top:72px;left:140px;right:225px;z-index:980;background:#fff;border:1px solid var(--ods-line);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 20px 45px #12244c24;padding:22px 26px;display:none;grid-template-columns:repeat(4,minmax(150px,1fr));gap:22px}.ods-mega.open{display:grid}.ods-mega>div{border-right:1px solid #edf0f7;padding-right:18px}.ods-mega>div:last-child{border:0}.ods-mega h4{font-size:11px;margin:0 0 10px;color:#283657}.ods-mega a{display:block;color:#34405e;text-decoration:none;font-size:12px;padding:6px 0}.ods-mega a:hover{color:var(--ods-blue)}
.ods-work{padding:92px 22px 52px 80px;min-height:100vh}.ods-work main{max-width:1600px;margin:auto;padding:0!important}.ods-footer{position:fixed;left:58px;right:0;bottom:0;height:36px;background:var(--ods-navy);color:#dce5f7;display:flex;justify-content:space-between;align-items:center;padding:0 22px;font-size:10px;z-index:800}
.card,.panel,.form-card,.table-card{border-radius:15px!important;box-shadow:0 7px 25px #1c39700d!important;border-color:#e6ebf4!important}
@media(max-width:1200px){.ods-nav a,.ods-nav button{padding:0 8px;font-size:10px}.ods-search{display:none}.ods-mega{left:70px;right:20px}}
@media(max-width:850px){.ods-nav{overflow-x:auto;max-width:calc(100vw - 180px)}.ods-tools .ods-user{display:none}.ods-rail{display:none}.ods-work{padding:88px 12px 48px}.ods-footer{left:0}.ods-mega{left:10px;right:10px;grid-template-columns:1fr 1fr;max-height:70vh;overflow:auto}}

/* One Workspace Refinement - V1.6.7 */
:root{
  --ods-blue:#2355df;--ods-blue-2:#4f6ff1;--ods-navy:#071a3c;
  --ods-line:#dfe6f2;--ods-bg:#f3f6fb;--ods-ink:#101a33;
  --ods-soft:#f7f9fe;--ods-elevated:0 18px 48px rgba(16,36,79,.10)
}
.ods-app{min-height:100vh;background:
  radial-gradient(circle at 88% 4%,rgba(79,111,241,.07),transparent 24rem),
  linear-gradient(180deg,#f7f9fd 0,#f3f6fb 36rem)}
.ods-header{height:76px;padding:0 18px 0 16px;align-items:stretch;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 4px 22px rgba(13,39,88,.06)}
.ods-brand{width:152px;flex:none;padding:0;gap:10px;align-self:center}
.ods-logo{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#2457e6 10%,#5d5cf0 90%);box-shadow:0 8px 18px rgba(36,87,230,.22)}
.ods-brand strong{font-size:25px;letter-spacing:-.04em}.ods-brand small{font-size:8px;letter-spacing:1.3px;margin-top:2px}
/* Neutraliza a antiga regra global nav{flex-direction:column}. */
.ods-nav{height:76px;min-width:0;display:flex;flex:1;flex-direction:row;align-items:stretch;gap:2px;padding:0;overflow:visible}
.ods-nav a,.ods-nav button{height:76px;flex:none;padding:0 10px;border-radius:0;box-shadow:none;transform:none!important;white-space:nowrap;font-size:11px;letter-spacing:.015em}
.ods-nav a:hover,.ods-nav button:hover,.ods-nav button.active{filter:none;background:linear-gradient(180deg,#fff,#f5f8ff);border-bottom-color:var(--ods-blue)}
.ods-more{display:none!important;gap:5px}.ods-more span{font-size:14px}
.ods-mobile-modules{display:none;align-self:center;height:42px;padding:0 13px;gap:7px;background:#eef3ff;color:var(--ods-blue);border:1px solid #dbe5ff;box-shadow:none}
.ods-tools{flex:none;padding:0;margin-left:10px;gap:10px;align-self:center}
.ods-search{width:190px;border-color:#e1e7f2;background:#f6f8fc}.ods-search:focus-within{border-color:#a9bdf7;box-shadow:0 0 0 3px rgba(36,87,230,.09)}
.ods-avatar{background:linear-gradient(145deg,var(--ods-blue),var(--ods-blue-2));box-shadow:0 5px 12px rgba(36,87,230,.16)}
.ods-rail{top:76px;bottom:0;width:60px;background:linear-gradient(180deg,#0a234f 0%,#06162f 75%);box-shadow:8px 0 24px rgba(7,26,60,.08)}
.ods-rail a{transition:.18s ease}.ods-rail a:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(36,87,230,.26)}
.ods-mega{top:76px;left:76px;right:24px;padding:24px 28px;border-color:#e0e6f1;box-shadow:var(--ods-elevated);animation:ods-mega-in .16s ease-out}
.ods-mega h4{color:var(--ods-blue);font-size:10px;letter-spacing:.08em}.ods-mega a{padding:7px 0;border-radius:7px;transition:.15s}.ods-mega a:hover{padding-left:6px;background:#f5f8ff}
.ods-mega-all{grid-template-columns:repeat(6,minmax(125px,1fr))}
@keyframes ods-mega-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.ods-work{padding:104px 24px 0 84px;min-height:100vh;display:flex;flex-direction:column}
.ods-work main{width:100%;max-width:1640px;flex:1}
.ods-footer{position:static;flex:none;height:42px;margin:32px -24px 0 -24px;padding:0 24px;background:rgba(255,255,255,.88);border-top:1px solid var(--ods-line);color:#8290aa;z-index:auto}
.ods-footer b{color:var(--ods-blue);padding:4px 9px;border-radius:999px;background:#eef3ff}
.page-hero h1,header h1{font-size:31px;letter-spacing:-.04em}.page-hero{margin-bottom:26px}
.kpi,.panel,.card,.form-card,.table-card{border-color:#e0e7f2!important;box-shadow:0 8px 28px rgba(24,49,95,.055)!important}
.kpi{min-height:104px;padding:18px}.kpi:hover{border-color:#cbd8f3!important;box-shadow:0 12px 34px rgba(24,49,95,.09)!important;transform:translateY(-1px)}
.kpi,.panel,.card{transition:border-color .18s,box-shadow .18s,transform .18s}
.kpi:after,.card:after{height:4px;background:linear-gradient(90deg,var(--ods-blue),var(--ods-blue-2))}
.panel{background:rgba(255,255,255,.96);padding:21px}.panel-head{margin-bottom:16px}
th{background:#f4f7fc;color:#586781}tbody tr:hover td{background:#f7f9fe}
button,.button{background:linear-gradient(135deg,var(--ods-blue),var(--ods-blue-2));box-shadow:0 7px 16px rgba(35,85,223,.18)}
.secondary{background:#fff;box-shadow:none}

@media(max-width:1480px){
  .ods-search{display:none}
  .ods-nav a,.ods-nav button{padding:0 8px;font-size:10px}
}
@media(max-width:1250px){
  .ods-wide-module{display:none!important}.ods-more{display:flex!important}
  .ods-mega-all{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .ods-user{display:none}
}
@media(max-width:850px){
  .ods-header{height:68px;padding:0 12px}.ods-brand{width:auto;margin-right:auto}.ods-brand strong{font-size:22px}.ods-logo{width:38px;height:38px}
  .ods-nav{display:none}.ods-mobile-modules{display:flex}.ods-tools{margin-left:4px}.ods-tools .ods-avatar{display:none}.ods-tools>a{font-size:17px}
  .ods-rail{display:none}.ods-mega{top:68px;left:8px;right:8px;padding:18px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100vh - 82px);overflow:auto;border-radius:0 0 15px 15px}
  .ods-mega:not(.ods-mega-all){display:none!important}.ods-mega-all.open{display:grid}
  .ods-work{padding:88px 14px 0}.ods-footer{margin:26px -14px 0;padding:0 14px}
  .page-hero,header{gap:10px}.page-hero h1,header h1{font-size:26px}.hero-actions{padding-top:2px}
  .kpi-grid,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{min-height:96px}
}
@media(max-width:560px){
  .ods-brand strong{font-size:20px}.ods-brand small{font-size:7px}.ods-mobile-modules span{display:none}.ods-mobile-modules{width:42px;padding:0}
  .ods-mega{grid-template-columns:1fr}.ods-mega>div{border-right:0;border-bottom:1px solid #edf0f7;padding:0 0 12px}.ods-mega>div:last-child{border-bottom:0}
  .ods-tools>a[title="Atualizações"]{display:none}.ods-footer span:first-child{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .kpi-grid,.cards{grid-template-columns:1fr}.panel{padding:16px}
}

/* Atualizador visual com acompanhamento - V1.6.8 */
.update-stage{max-width:1120px;margin:18px auto;background:rgba(255,255,255,.98);border:1px solid #dce5f3;border-radius:24px;padding:34px;box-shadow:0 24px 65px rgba(14,38,83,.12)}
.update-stage-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}.update-stage-head h1{margin:3px 0 4px;font-size:28px}.update-stage-head p{margin:0}
.update-orbit{position:relative;width:64px;height:64px;border-radius:20px;background:linear-gradient(145deg,#eaf0ff,#f7f9ff);display:grid;place-items:center;color:var(--ods-blue);font-size:26px;overflow:hidden}.update-orbit i{position:absolute;inset:5px;border:3px solid #dce6ff;border-top-color:var(--ods-blue);border-radius:50%;animation:update-spin 1.15s linear infinite}.update-orbit b{position:relative}.complete .update-orbit i{animation:none;border-color:#22a95a}.complete .update-orbit{color:#15803d;background:#e9f9ef}
.update-percent{font-size:34px;letter-spacing:-.04em;color:var(--ods-blue)}.update-progress-track{height:13px;margin:28px 0;background:#e9eef7;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(13,37,80,.08)}.update-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2457e6,#5d6ff0,#26a9e0);transition:width .55s ease;position:relative}.update-progress-track span:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.45) 45%,transparent 70%);animation:update-shine 1.5s linear infinite}
.update-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.update-steps article{min-width:0;border:1px solid #e1e7f1;border-radius:14px;padding:13px;background:#f9fbfe;display:flex;align-items:center;gap:10px;color:#71809a;transition:.25s}.update-steps article>span{width:30px;height:30px;border-radius:9px;background:#e9eef7;display:grid;place-items:center;font-weight:900;flex:none}.update-steps b,.update-steps small{display:block}.update-steps b{font-size:11px;color:#46536c}.update-steps small{font-size:9px}.update-steps article.active{border-color:#9eb6f6;background:#f1f5ff;box-shadow:0 7px 18px rgba(36,87,230,.09)}.update-steps article.active>span{background:var(--ods-blue);color:#fff}.update-steps article.done{border-color:#bde7cb;background:#f0fbf4}.update-steps article.done>span{font-size:0;background:#22a95a;color:#fff}.update-steps article.done>span:after{content:"✓";font-size:15px}.update-steps article.done b{color:#16753c}
.update-notice{margin-top:24px;padding:15px;border:1px solid #dce6f7;border-radius:14px;background:#f5f8fe;display:flex;align-items:flex-start;gap:11px}.update-notice>span{color:var(--ods-blue);font-size:10px;margin-top:4px}.update-notice b,.update-notice small{display:block}.update-notice small{color:#66758f;margin-top:2px}.update-result{margin-top:24px;padding:18px;border:1px solid #bce6ca;border-radius:16px;background:linear-gradient(135deg,#f0fbf4,#f8fffa);display:flex;align-items:center;gap:14px}.update-result>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#22a95a;color:#fff;font-size:22px;font-weight:900}.update-result div{flex:1}.update-result h2,.update-result p{margin:0}.update-result p{font-size:11px}.update-result[hidden],.update-notice[hidden]{display:none}
@keyframes update-spin{to{transform:rotate(360deg)}}@keyframes update-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:900px){.update-steps{grid-template-columns:1fr 1fr}.update-stage{padding:24px}.update-stage-head{grid-template-columns:auto 1fr}.update-percent{grid-column:1/-1;text-align:right;margin-top:-12px}}
@media(max-width:560px){.update-stage{padding:19px;border-radius:18px;margin:4px auto}.update-stage-head{gap:12px}.update-orbit{width:52px;height:52px;border-radius:16px}.update-stage-head h1{font-size:21px}.update-percent{font-size:28px}.update-steps{grid-template-columns:1fr}.update-result{align-items:flex-start;flex-wrap:wrap}.update-result .button{width:100%}}
/* 1.6.9 — layout previsível, tabelas contidas e rodapé no fluxo */
*{box-sizing:border-box}.ods-header{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;overflow:visible;z-index:100;height:76px}.ods-nav{display:flex;flex-direction:row!important;align-items:center;flex-wrap:nowrap;min-width:0}.ods-nav>a,.ods-nav>button{display:flex;align-items:center;justify-content:center;margin:0;min-width:0}.ods-mega{z-index:110;max-height:calc(100vh - 90px);overflow-y:auto}.ods-work{min-width:0}.ods-work main{min-width:0;margin:0 auto}.ods-footer{position:static!important;inset:auto!important;min-height:44px;height:auto;padding-top:12px;padding-bottom:12px;flex-wrap:wrap;gap:8px}.panel{min-width:0;margin-bottom:20px}.table-wrap{width:100%;max-width:100%;overflow-x:auto}td{overflow-wrap:anywhere}td:first-child{max-width:480px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap}.status.good{background:#e9f6ef;color:#16683f}.status.bad{background:#fff0ef;color:#a72824}.cost-tabs{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap;margin:0 0 24px}.cost-tabs a{background:white;border:1px solid #dce4f1;border-radius:10px;padding:12px 18px;color:#174bd6}.cost-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:16px;margin:18px 0}.cost-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#40516b}.cost-form input,.cost-form select{width:100%;min-width:0}.cost-form input[type=checkbox]{width:auto;align-self:flex-start}.cost-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.cost-kpis article{background:#fff;border:1px solid #dce4f1;border-radius:16px;padding:22px}.cost-kpis strong{display:block;font-size:27px;color:#163872;margin:9px 0}.cost-kpis small{color:#64748b}.cost-alert{background:#fff8e6;border:1px solid #ecd7a2;border-radius:12px;padding:18px;margin-bottom:20px}.cost-alert ul{max-height:220px;overflow:auto}.cost-service{padding:14px 0;border-bottom:1px solid #e1e7f1}summary{cursor:pointer;color:#173963;padding:10px 0}details p{line-height:1.65}.inline{display:flex;gap:12px;align-items:center;padding:8px 0;flex-wrap:wrap}.inline span{flex:1}.cost-service table{min-width:660px}.cost-service td{font-variant-numeric:tabular-nums}.cost-service details p{min-width:230px;font-size:12px}.cost-form button{min-height:44px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #6c8dea;outline-offset:3px}
@media(max-width:1100px){.ods-nav .ods-wide-module{display:none!important}.ods-more{display:flex!important}.ods-tools .ods-user{display:none}.ods-search{display:none}.cost-kpis{grid-template-columns:1fr}}
@media(max-width:850px){.ods-header{height:68px}.ods-nav{display:none!important}.ods-mobile-modules{display:flex}.ods-work{padding:88px 14px 0}.ods-footer{margin-top:24px}.cost-form{grid-template-columns:1fr}.cost-tabs a{flex:1;text-align:center}.ods-tools{flex-shrink:0}.page-hero{display:block}.cost-kpis strong{font-size:25px}}
@media print{.ods-header,.ods-rail,.ods-mega,.cost-tabs{display:none!important}.ods-work{padding:0}.ods-footer{position:static}.table-wrap{overflow:visible}details{break-inside:avoid}}


/* ================================================================
   ONE FOOD NEXT — LOGIN 0.1.0
   Referência visual aprovada em 18/09/2026.
   Escopo isolado para não alterar os módulos herdados nesta etapa.
   ================================================================ */
.login-page{background:#05080b;color:#f5f7fb;overflow:auto}.login-page>.full{min-height:100vh}.ofn-login-shell{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.15fr) minmax(430px,.78fr) minmax(220px,.42fr);overflow:hidden;background:radial-gradient(circle at 67% 34%,rgba(180,105,9,.15),transparent 19%),radial-gradient(circle at 8% 0,rgba(122,139,155,.20),transparent 21%),linear-gradient(112deg,#0b1116 0%,#05080b 54%,#020304 100%);isolation:isolate}.ofn-network{position:absolute;inset:0 0 auto 37%;height:58%;z-index:-1;background:url('/static/login-network.svg') center top/cover no-repeat;opacity:.9}.ofn-login-shell:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 0 72%,rgba(0,0,0,.18) 88%,rgba(0,0,0,.65) 100%)}
.ofn-hero{position:relative;min-height:100vh;padding:7.3vh 3vw 4vh 6.5vw}.ofn-brand-lockup{position:relative;z-index:3;max-width:720px}.ofn-wordmark,.ofn-card-logo{font-weight:900;letter-spacing:-.065em;line-height:.92;white-space:nowrap}.ofn-wordmark{font-size:clamp(52px,5.2vw,84px)}.ofn-one{background:linear-gradient(180deg,#ffffff 0%,#cfd3d5 42%,#676d72 76%,#f4f5f5 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 18px rgba(255,255,255,.05)}.ofn-food{background:linear-gradient(180deg,#9aff43 0%,#2bce39 43%,#0c8b2a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.ofn-next{background:linear-gradient(105deg,#17a7ff 0%,#325dff 30%,#9734f1 61%,#ff245f 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.ofn-brand-sub{margin-top:11px;font-size:clamp(8px,.78vw,13px);letter-spacing:.31em;font-weight:700;color:#e5e7eb}.ofn-hero-photo{position:absolute;left:0;right:-4vw;bottom:0;height:72%;background:linear-gradient(180deg,rgba(5,8,11,.30) 0%,rgba(5,8,11,.03) 30%,rgba(5,8,11,.54) 100%),url('/static/login-hero.jpg') 50% 50%/cover no-repeat;mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%)}
.ofn-login-stage{position:relative;z-index:4;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:9vh 1.1vw 5vh}.ofn-top-message{position:absolute;top:3.5vh;left:0;right:-14vw;text-align:center;font-size:clamp(8px,.72vw,12px);font-weight:700;letter-spacing:.34em;color:#f4f4f5;white-space:nowrap}.ofn-top-message span{margin:0 .7em;color:#9ca3af}.ofn-login-card{width:min(100%,510px);padding:50px 42px 31px;border:1px solid rgba(255,255,255,.46);border-radius:23px;background:linear-gradient(145deg,rgba(25,31,35,.91),rgba(8,13,17,.93));box-shadow:0 30px 70px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.08),0 0 55px rgba(242,149,20,.06);backdrop-filter:blur(16px)}.ofn-card-kicker{text-align:center;font-size:14px;letter-spacing:.34em;color:#f1f3f5}.ofn-card-logo{font-size:clamp(38px,3.2vw,57px);text-align:center;margin:17px 0 15px}.ofn-card-copy{text-align:center;color:#d3d7db;font-size:16px;line-height:1.45;margin:0 0 26px}.ofn-login-form{display:grid;gap:13px}.ofn-field{height:58px;display:flex;align-items:center;gap:11px;padding:0 14px;border:1px solid rgba(206,215,222,.28);border-radius:10px;background:rgba(12,18,22,.50);transition:border-color .18s,box-shadow .18s,background .18s}.ofn-field:focus-within{border-color:#21b6ff;box-shadow:0 0 0 3px rgba(40,178,255,.12);background:rgba(12,18,22,.75)}.ofn-field-icon{font-size:23px;color:#f5f7fa;opacity:.92;width:27px;text-align:center}.ofn-field input{flex:1;min-width:0;border:0!important;outline:0!important;padding:0!important;background:transparent!important;color:#fff!important;font-size:15px;box-shadow:none!important}.ofn-field input::placeholder{color:#aab0b6}.ofn-password-toggle{width:auto!important;min-height:auto!important;border:0!important;background:transparent!important;color:#f7f7f8!important;padding:3px 6px!important;font-size:18px!important;box-shadow:none!important}.ofn-login-options{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;color:#d6dade;margin:1px 0 4px}.ofn-login-options a,.ofn-help a{color:#dce0e4;text-decoration:none}.ofn-login-options a:hover,.ofn-help a:hover{text-decoration:underline;color:#fff}.ofn-remember{display:flex;align-items:center;gap:8px;cursor:pointer}.ofn-remember input{position:absolute;opacity:0;pointer-events:none}.ofn-remember span{width:20px;height:20px;display:grid;place-items:center;border-radius:5px;background:#65e735;color:#0d2310;font-weight:900;box-shadow:0 0 0 1px rgba(0,0,0,.5) inset}.ofn-remember input:not(:checked)+span{background:#182027;color:transparent;border:1px solid #657079}.ofn-enter{height:57px!important;border:0!important;border-radius:11px!important;margin-top:3px;background:linear-gradient(102deg,#17bdf0 0%,#157cff 30%,#7e27ed 58%,#ff1460 82%,#ff2b37 100%)!important;color:white!important;font-size:19px!important;font-weight:800!important;letter-spacing:.01em;box-shadow:0 11px 28px rgba(117,43,210,.18)!important}.ofn-enter:hover{filter:brightness(1.08);transform:translateY(-1px)}.ofn-enter span{font-size:26px;margin-left:7px;font-weight:400}.ofn-login-error{padding:10px 12px;margin:0 0 14px;border:1px solid rgba(255,93,112,.38);border-radius:9px;background:rgba(176,27,47,.19);color:#ffd7dc;text-align:center}.ofn-divider{position:relative;text-align:center;color:#aab0b7;font-size:11px;margin:27px 0 20px}.ofn-divider:before,.ofn-divider:after{content:"";position:absolute;top:50%;width:43%;height:1px;background:rgba(190,199,205,.24)}.ofn-divider:before{left:0}.ofn-divider:after{right:0}.ofn-divider span{padding:0 12px}.ofn-help{text-align:center;color:#d5dadd;font-size:12px}.ofn-help strong{display:block;font-size:14px;font-weight:500;margin-bottom:9px}.ofn-help div{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}
.ofn-benefits{position:relative;z-index:3;min-height:100vh;padding:34vh 2.7vw 5vh 1vw;display:flex;flex-direction:column;gap:31px}.ofn-benefits article{display:flex;gap:20px;align-items:flex-start}.ofn-benefit-icon{display:grid;place-items:center;width:52px;height:52px;color:#f5f6f7;font-size:34px;line-height:1}.ofn-benefits article div{font-size:9px;line-height:1.85;letter-spacing:.25em;font-weight:700;color:#f1f3f4;min-width:130px}.ofn-benefits i,.ofn-signature i{display:block;width:31px;height:3px;border-radius:99px;margin-top:9px;background:linear-gradient(90deg,#12c5ff,#3849ff,#ee15d8)}.ofn-benefits article:nth-child(2) i{background:linear-gradient(90deg,#6d38ff,#ff17d9)}.ofn-benefits article:nth-child(3) i{background:linear-gradient(90deg,#ef17ef,#ff4056)}.ofn-signature{margin-top:auto;align-self:flex-end;margin-right:1.4vw;font-family:"Segoe Script","Bradley Hand",cursive;font-size:23px;line-height:1.14;font-style:italic;color:#f4f4f4;transform:rotate(-3deg)}.ofn-signature span{margin-left:14px}.ofn-signature i{width:110px;height:3px;margin-top:12px;background:linear-gradient(90deg,#12c5ff,#304aff,#ff136b)}
.ofn-brand-lockup,.ofn-login-card,.ofn-benefits{animation:ofn-in .55s ease both}@keyframes ofn-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.ofn-login-shell{grid-template-columns:minmax(430px,1fr) minmax(420px,.9fr)}.ofn-benefits{display:none}.ofn-top-message{right:0}.ofn-hero{padding-left:5vw}.ofn-hero-photo{right:0}}
@media(max-width:850px){.login-page{overflow:auto}.ofn-login-shell{display:block;min-height:100vh;background:linear-gradient(rgba(3,6,9,.50),rgba(3,6,9,.86)),url('/static/login-hero.jpg') 50% 45%/cover fixed no-repeat}.ofn-network{inset:0;height:45%;opacity:.6}.ofn-hero{min-height:auto;height:180px;padding:32px 22px}.ofn-brand-lockup{text-align:center}.ofn-wordmark{font-size:54px}.ofn-brand-sub{font-size:8px;letter-spacing:.22em}.ofn-hero-photo{display:none}.ofn-login-stage{min-height:calc(100vh - 180px);padding:18px 18px 38px;align-items:flex-start}.ofn-top-message{display:none}.ofn-login-card{width:min(100%,500px);padding:36px 26px 27px;border-radius:20px;background:rgba(11,16,20,.94)}.ofn-card-logo{font-size:48px}.ofn-card-copy{font-size:14px}.ofn-login-options{font-size:12px}.ofn-benefits{display:none}}
@media(max-width:480px){.ofn-wordmark{font-size:44px}.ofn-brand-sub{font-size:7px}.ofn-hero{height:150px;padding-top:27px}.ofn-login-stage{min-height:calc(100vh - 150px);padding:10px 12px 28px}.ofn-login-card{padding:30px 19px 24px}.ofn-card-logo{font-size:41px}.ofn-card-kicker{font-size:11px}.ofn-field{height:54px}.ofn-login-options{align-items:flex-start}.ofn-enter{height:54px!important}}


/* One Food Next 0.1.1 — navegação superior sem barra lateral */
.ods-rail{display:none!important}
.ods-work{padding-left:24px}
.ods-footer{margin-left:-24px}
.ods-admin-module{color:#173b84!important}
.ods-admin-module.active,.ods-admin-module:hover{color:var(--ods-blue)!important}
.ods-admin-mega{grid-template-columns:repeat(4,minmax(170px,1fr))}
.devpkg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.devpkg-card{background:#fff;border:1px solid var(--ods-line);border-radius:16px;padding:20px;box-shadow:0 8px 28px rgba(24,49,95,.055)}
.devpkg-card small{display:block;color:#71809b;font-weight:800;font-size:10px;letter-spacing:.08em;margin-bottom:8px}
.devpkg-card strong{display:block;font-size:22px;color:#173b84;margin-bottom:6px}
.devpkg-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:16px 0}
.devpkg-check{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #e4eaf4;border-radius:11px;background:#fafcff;font-size:13px}
.devpkg-check b{color:#167044}
.devpkg-check.excluded b{color:#8c5d0a}
@media(max-width:1100px){.ods-admin-mega{grid-template-columns:repeat(2,minmax(0,1fr))}.devpkg-grid{grid-template-columns:1fr}.devpkg-checks{grid-template-columns:1fr}}
@media(max-width:850px){.ods-work{padding-left:14px}.ods-footer{margin-left:-14px}.ods-admin-mega{display:none!important}}
