/* NOVAIS · Âmbar. Superfícies claras, vidro escuro e fundo partilhado. */
:root{--bg:#cdbb9f;--text:#272f33;--muted:#525e65;--line:#66583c30;--panel:#fffaf0ee;--amber:#9c5900;--red:#a33d31;color-scheme:light;background:var(--bg);font-size:16px}
body{background:transparent;isolation:isolate;min-height:100vh;line-height:1.5}
body:before{content:'';position:fixed;inset:-12%;z-index:-2;pointer-events:none;background:url('aurora.svg') center/cover no-repeat;animation:drift-fluid 23.068051s linear infinite;will-change:transform}
body:after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:rgba(242,233,215,.15)}
body:has(.login-layout):after{background:rgba(242,233,215,.08)}
body.motion-paused:before{animation-play-state:paused}
@keyframes drift-fluid{
0%{transform:translate3d(0.0000%,-7.0000%,0) rotate(0.5274deg) scale(1.07261)}
1.5625%{transform:translate3d(0.5881%,-6.9663%,0) rotate(0.6194deg) scale(1.07499)}
3.125%{transform:translate3d(1.1705%,-6.8655%,0) rotate(0.7056deg) scale(1.07741)}
4.6875%{transform:translate3d(1.7417%,-6.6986%,0) rotate(0.7849deg) scale(1.07986)}
6.25%{transform:translate3d(2.2961%,-6.4672%,0) rotate(0.8566deg) scale(1.08231)}
7.8125%{transform:translate3d(2.8284%,-6.1734%,0) rotate(0.9202deg) scale(1.08474)}
9.375%{transform:translate3d(3.3334%,-5.8203%,0) rotate(0.9748deg) scale(1.08713)}
10.9375%{transform:translate3d(3.8064%,-5.4111%,0) rotate(1.0201deg) scale(1.08944)}
12.5%{transform:translate3d(4.2426%,-4.9497%,0) rotate(1.0555deg) scale(1.09166)}
14.0625%{transform:translate3d(4.6381%,-4.4408%,0) rotate(1.0808deg) scale(1.09378)}
15.625%{transform:translate3d(4.9888%,-3.8890%,0) rotate(1.0956deg) scale(1.09575)}
17.1875%{transform:translate3d(5.2915%,-3.2998%,0) rotate(1.1000deg) scale(1.09758)}
18.75%{transform:translate3d(5.5433%,-2.6788%,0) rotate(1.0937deg) scale(1.09924)}
20.3125%{transform:translate3d(5.7416%,-2.0320%,0) rotate(1.0769deg) scale(1.10071)}
21.875%{transform:translate3d(5.8847%,-1.3656%,0) rotate(1.0497deg) scale(1.10198)}
23.4375%{transform:translate3d(5.9711%,-0.6861%,0) rotate(1.0124deg) scale(1.10304)}
25%{transform:translate3d(6.0000%,-0.0000%,0) rotate(0.9653deg) scale(1.10388)}
26.5625%{transform:translate3d(5.9711%,0.6861%,0) rotate(0.9090deg) scale(1.10449)}
28.125%{transform:translate3d(5.8847%,1.3656%,0) rotate(0.8439deg) scale(1.10487)}
29.6875%{transform:translate3d(5.7416%,2.0320%,0) rotate(0.7707deg) scale(1.10500)}
31.25%{transform:translate3d(5.5433%,2.6788%,0) rotate(0.6900deg) scale(1.10489)}
32.8125%{transform:translate3d(5.2915%,3.2998%,0) rotate(0.6028deg) scale(1.10455)}
34.375%{transform:translate3d(4.9888%,3.8890%,0) rotate(0.5097deg) scale(1.10396)}
35.9375%{transform:translate3d(4.6381%,4.4408%,0) rotate(0.4117deg) scale(1.10315)}
37.5%{transform:translate3d(4.2426%,4.9497%,0) rotate(0.3097deg) scale(1.10211)}
39.0625%{transform:translate3d(3.8064%,5.4111%,0) rotate(0.2047deg) scale(1.10086)}
40.625%{transform:translate3d(3.3334%,5.8203%,0) rotate(0.0978deg) scale(1.09941)}
42.1875%{transform:translate3d(2.8284%,6.1734%,0) rotate(-0.0100deg) scale(1.09777)}
43.75%{transform:translate3d(2.2961%,6.4672%,0) rotate(-0.1178deg) scale(1.09597)}
45.3125%{transform:translate3d(1.7417%,6.6986%,0) rotate(-0.2244deg) scale(1.09400)}
46.875%{transform:translate3d(1.1705%,6.8655%,0) rotate(-0.3289deg) scale(1.09191)}
48.4375%{transform:translate3d(0.5881%,6.9663%,0) rotate(-0.4302deg) scale(1.08969)}
50%{transform:translate3d(0.0000%,7.0000%,0) rotate(-0.5274deg) scale(1.08739)}
51.5625%{transform:translate3d(-0.5881%,6.9663%,0) rotate(-0.6194deg) scale(1.08501)}
53.125%{transform:translate3d(-1.1705%,6.8655%,0) rotate(-0.7056deg) scale(1.08259)}
54.6875%{transform:translate3d(-1.7417%,6.6986%,0) rotate(-0.7849deg) scale(1.08014)}
56.25%{transform:translate3d(-2.2961%,6.4672%,0) rotate(-0.8566deg) scale(1.07769)}
57.8125%{transform:translate3d(-2.8284%,6.1734%,0) rotate(-0.9202deg) scale(1.07526)}
59.375%{transform:translate3d(-3.3334%,5.8203%,0) rotate(-0.9748deg) scale(1.07287)}
60.9375%{transform:translate3d(-3.8064%,5.4111%,0) rotate(-1.0201deg) scale(1.07056)}
62.5%{transform:translate3d(-4.2426%,4.9497%,0) rotate(-1.0555deg) scale(1.06834)}
64.0625%{transform:translate3d(-4.6381%,4.4408%,0) rotate(-1.0808deg) scale(1.06622)}
65.625%{transform:translate3d(-4.9888%,3.8890%,0) rotate(-1.0956deg) scale(1.06425)}
67.1875%{transform:translate3d(-5.2915%,3.2998%,0) rotate(-1.1000deg) scale(1.06242)}
68.75%{transform:translate3d(-5.5433%,2.6788%,0) rotate(-1.0937deg) scale(1.06076)}
70.3125%{transform:translate3d(-5.7416%,2.0320%,0) rotate(-1.0769deg) scale(1.05929)}
71.875%{transform:translate3d(-5.8847%,1.3656%,0) rotate(-1.0497deg) scale(1.05802)}
73.4375%{transform:translate3d(-5.9711%,0.6861%,0) rotate(-1.0124deg) scale(1.05696)}
75%{transform:translate3d(-6.0000%,0.0000%,0) rotate(-0.9653deg) scale(1.05612)}
76.5625%{transform:translate3d(-5.9711%,-0.6861%,0) rotate(-0.9090deg) scale(1.05551)}
78.125%{transform:translate3d(-5.8847%,-1.3656%,0) rotate(-0.8439deg) scale(1.05513)}
79.6875%{transform:translate3d(-5.7416%,-2.0320%,0) rotate(-0.7707deg) scale(1.05500)}
81.25%{transform:translate3d(-5.5433%,-2.6788%,0) rotate(-0.6900deg) scale(1.05511)}
82.8125%{transform:translate3d(-5.2915%,-3.2998%,0) rotate(-0.6028deg) scale(1.05545)}
84.375%{transform:translate3d(-4.9888%,-3.8890%,0) rotate(-0.5097deg) scale(1.05604)}
85.9375%{transform:translate3d(-4.6381%,-4.4408%,0) rotate(-0.4117deg) scale(1.05685)}
87.5%{transform:translate3d(-4.2426%,-4.9497%,0) rotate(-0.3097deg) scale(1.05789)}
89.0625%{transform:translate3d(-3.8064%,-5.4111%,0) rotate(-0.2047deg) scale(1.05914)}
90.625%{transform:translate3d(-3.3334%,-5.8203%,0) rotate(-0.0978deg) scale(1.06059)}
92.1875%{transform:translate3d(-2.8284%,-6.1734%,0) rotate(0.0100deg) scale(1.06223)}
93.75%{transform:translate3d(-2.2961%,-6.4672%,0) rotate(0.1178deg) scale(1.06403)}
95.3125%{transform:translate3d(-1.7417%,-6.6986%,0) rotate(0.2244deg) scale(1.06600)}
96.875%{transform:translate3d(-1.1705%,-6.8655%,0) rotate(0.3289deg) scale(1.06809)}
98.4375%{transform:translate3d(-0.5881%,-6.9663%,0) rotate(0.4302deg) scale(1.07031)}
100%{transform:translate3d(0.0000%,-7.0000%,0) rotate(0.5274deg) scale(1.07261)}
}
@media(prefers-reduced-motion:reduce){body:before{animation:none}}
button,a,input,select,textarea{touch-action:manipulation}
button{line-height:1.35;min-height:42px;text-align:center;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;letter-spacing:normal}
button:focus-visible,a:focus-visible{outline:3px solid #805018;outline-offset:3px}
button.primary{background:#e9a035;border-color:#cd8524;color:#282011}
button.primary:hover{background:#f4b34e}
button.small{min-height:36px}button.ghost{border-color:#8e806444}
.topbar{min-height:82px;height:auto;padding:16px 4vw;background:#303538;color:#f4f1ea;border-bottom:1px solid #ffffff26;position:relative;z-index:2}
.brand{gap:18px;text-decoration:none;min-width:0}.brand img{width:144px;object-fit:contain;mix-blend-mode:normal}.brand span{line-height:1.5}
.topbar .person,.topbar .brand span{color:#eeebe4}.topbar .person small{color:#c7cbca}.topbar .demo{background:#ffffff08;color:#f2c680;border-color:#bfa17766}
.topright{flex-wrap:wrap;justify-content:flex-end;gap:12px}.topright .small{display:inline-flex;align-items:center;justify-content:center}.topbar [data-motion]{font-size:12px;color:#f2d4a1;border-color:#bfa17755;padding:8px 10px}
.shell{max-width:none;padding:28px clamp(18px,calc(50vw - 800px),calc(4vw + 72px)) 155px;min-width:0}
h1{font-size:32px;line-height:1.2;letter-spacing:-1px;overflow-wrap:anywhere}h2{font-size:22px;line-height:1.35}h3{line-height:1.4}p{line-height:1.65}.eyebrow{line-height:1.4;color:#825216}
.head,.central-heading,.panel,.line-card,.metric,.product-card,.hero-side,.steps,.day,.filters{background:rgba(255,252,245,.91);backdrop-filter:blur(24px) saturate(.8);-webkit-backdrop-filter:blur(24px) saturate(.8);border:1px solid #9c77475c;box-shadow:inset 0 0 0 1px #fff9,0 8px 36px #201b1b10;border-radius:14px}
.head{padding:22px 24px;align-items:center;gap:20px}.head>div{min-width:0}.head h1{margin-bottom:0}.head p{margin:10px 0 0}.head .actions{flex-shrink:0}.head .eyebrow{margin-bottom:8px}
.panel{padding:24px;margin-bottom:12px;min-width:0}.panel>:last-child{margin-bottom:0}.panel-heading{align-items:center;flex-wrap:wrap;gap:12px}.panel-heading h2,.panel-heading h3{margin:0}.panel-heading .muted{color:var(--muted)}
.central-heading{display:table;margin:0 auto 12px;padding:12px 24px;text-align:center}.central-heading h1{font-size:24px}.central-heading .eyebrow{font-size:10px;margin-bottom:4px}
.central-emblem{height:130px;min-height:130px;margin:0 0 18px}.central-emblem:before{display:none}
.emblem .crop{width:100px;height:84px;transform:none;overflow:visible;mix-blend-mode:normal}.emblem .crop img{position:static;display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
.mini-n{width:52px;height:auto;object-fit:contain;mix-blend-mode:normal;flex-shrink:0}
.operations-section,.key-takes{max-width:none;margin:0 auto 12px}.operations-section>.panel-heading{background:#fffcf0eb;backdrop-filter:blur(20px);border:1px solid #9c77475c;border-radius:10px;padding:12px 18px;margin-bottom:16px}.operations-section>.panel-heading h2{font-size:18px}
.line-cards{gap:18px;align-items:stretch}.line-card{min-height:310px;aspect-ratio:auto;padding:22px;text-align:left}.line-card:hover{background:#fffcf6f2;border-color:#8b632d;box-shadow:0 14px 35px #29201b22}
.line-top{align-items:center;flex-wrap:wrap;gap:10px}.line-card h3{min-height:48px}.line-output b{font-variant-numeric:tabular-nums}.line-card .line-update,.line-bottom,.activity{color:#515c61}.line-progress{background:#343b3d17}.line-progress>i{background:linear-gradient(90deg,#b97a24,#eca135)}
.line-bottom{gap:12px;align-items:center}.line-money{gap:16px}.line-money b{font-variant-numeric:tabular-nums}.daily-summary{padding:22px 24px}.key-value{color:#86500d}.intro-note,.pending-value{color:#535f66}
.dock{background:#32393cf2;border:1px solid #cfbd9866;box-shadow:0 14px 44px #15181c33;backdrop-filter:blur(28px);border-radius:17px;align-items:stretch}
.dock button{color:#e4e4de;justify-content:flex-start;min-height:76px;gap:8px}.dock button span{line-height:1.35}.dock button.active{background:#f2b54724;color:#ffd28b}.dock button:hover{background:#ffffff18}.dock button:focus-visible{outline-color:#fbc677;outline-offset:-2px}
.filters{padding:14px 18px;align-items:center;gap:12px}.filters input,.filters select{margin:0}.filters .muted{padding:0!important}
.actions,.recipe-tabs{gap:10px;align-items:center}.actions button,.wizard-footer button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.recipe-tabs{margin:12px 0}.recipe-tabs button.active{background:#efac16;;border-color:#b68038;color:#17212b}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.field{gap:8px;line-height:1.5;min-width:0}.field small{line-height:1.5;margin:0}.field input,.field select,.field textarea{margin:0}
input,select,textarea{background:#fffcf8f7;border:1px solid #a8a69c;color:#273035;line-height:1.45;min-height:46px;padding:11px 13px;max-width:100%;font-size:15px}
input::placeholder,textarea::placeholder{color:#667078;opacity:1}input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0;vertical-align:middle}input[type=radio]{width:18px;height:18px;min-height:18px;padding:0}
input:focus,select:focus,textarea:focus{outline:2px solid #aa6c2255;outline-offset:1px;border-color:#8a5c24}textarea{min-height:105px;resize:vertical}.checkline{gap:10px;align-items:center;line-height:1.5;margin:12px 0}
.form-grid+h3,.form-grid+.section-line{margin-top:24px}.wizard{grid-template-columns:220px minmax(0,1fr);gap:24px}.steps{padding:10px;top:60px}.step{line-height:1.4;gap:10px;margin:2px 0;text-align:left}.step b{flex:0 0 27px}.step.current{;background:#efac16;border-radius:8px;color:#17212b}.step-note{padding:18px 10px}.wizard-footer{gap:14px;flex-wrap:wrap}.form-panel{min-width:0}
.choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.choice{background:#fffaf0e6;min-height:72px}.choice.selected{background:#efac16;;border-color:#a16b26;color:#17212b}.processes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.processes button{height:100%;text-align:left;line-height:1.5}
.material,.machine,.review-block{background:#fff9edb8;border-color:#99836240;padding:20px;border-radius:10px;min-width:0}.material .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.material .panel-heading{margin-bottom:20px}
.recipe-row{grid-template-columns:minmax(0,1fr) 110px 42px;align-items:center;gap:12px;margin:14px 0}.recipe-row:has(>.lookup-field:last-child){grid-template-columns:minmax(0,1fr)}.recipe-row>button{width:42px;height:46px;padding:0}.recipe-row>.field{align-self:center}.recipe-article{margin:12px 0 22px}.recipe-article summary{padding:12px 14px;border:1px solid #99836240;background:#efac16;border-radius:8px;cursor:pointer;line-height:1.5;overflow-wrap:anywhere;color:#17212b}.recipe-summary{gap:16px;background:#f8e8cbbf}.article-selection{overflow-wrap:anywhere}
.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.review-block h3{color:#754b17}.detail-row{gap:16px;align-items:start;line-height:1.5}.detail-row>span{flex:1;min-width:0}.detail-row>strong{flex:1;min-width:0;text-align:right;overflow-wrap:anywhere}.review-block p{margin-top:10px}
.table-wrap{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;border-radius:8px;scrollbar-gutter:stable}table{line-height:1.5}th,td{padding:14px 12px;vertical-align:middle;border-color:#26303824}th{color:#48545b}thead th{font-size:12px;font-weight:650;background:#f2e8d87d}tbody th{color:var(--text)}td{overflow-wrap:anywhere}td .field{min-width:150px}.numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cell-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:200px}.cell-actions button{margin:0}.status,.readiness{line-height:1.4;vertical-align:middle}.status.green{background:#dceee2;color:#27643a}.status.yellow{background:#efac16;;color:#17212b}
.table-panel{padding:10px 14px}.table-panel table{min-width:850px}.needs-expanded>td{background:#f7f0e5}.purchase-status{align-items:center;line-height:1.45;min-height:46px}.purchase-options{gap:12px}
.calendar{gap:14px}.day{padding:16px}.dayhead{gap:10px;align-items:center}.event{background:#efac16;border-radius:7px;line-height:1.5;color:#17212b}.daytotal{line-height:1.5}
.run-header{background:#262c2de8;backdrop-filter:blur(22px);border:1.5px solid #f4d8a9a8;box-shadow:inset 0 1px #fff4,0 12px 36px #17191c25;align-items:center;gap:20px;border-radius:14px}.run-header>div{min-width:0}.run-header p{color:#d2d3cb;margin:8px 0}.run-header strong{font-size:22px;line-height:1.35;overflow-wrap:anywhere}.run-header>div:not(:first-child){text-align:center}.run-header small{display:block;margin-bottom:8px}.execution-actions{margin:20px 0;gap:10px}.execution-actions button{min-height:46px}.danger-action{background:#963d31;color:#fff;border-color:#863225}.danger-action:hover{background:#803027}.control-config td{vertical-align:top}.control-config table{min-width:720px}.control-config input,.control-config select{margin:4px 0;line-height:1.45}
dialog{background:#fffaf3f2;backdrop-filter:blur(26px);border:2px solid #91672fbd;border-radius:15px;box-shadow:inset 0 0 0 1px #fffffff0,0 24px 90px #20140d55;width:min(860px,94vw);padding:28px;max-height:90dvh;overflow:auto;line-height:1.5}dialog::backdrop{background:#1821268c;backdrop-filter:blur(6px)}dialog h2{margin-bottom:14px}dialog form>.field{margin:18px 0}dialog form>button+button{margin-left:8px}dialog form>label:has(>input[type=checkbox]){display:flex;align-items:center;gap:10px;margin:16px 0}dialog .actions{gap:12px}dialog table{min-width:480px}.line-dialog{width:min(800px,94vw)}#mandatory-control{border:2.5px solid #a46b24;padding:28px}#mandatory-control .mandatory-time{color:#624311;border-radius:8px;margin:16px 0}
.category-results{position:fixed!important;inset:auto;margin:0;min-width:0!important;padding:5px;z-index:80;background:#fffdf8;border:1.5px solid #96713f;box-shadow:0 12px 35px #222d3540;border-radius:10px;overflow-y:auto;overflow-x:hidden;line-height:1.5;color:#273035;overscroll-behavior:contain;max-height:320px;box-sizing:border-box}
.category-results[hidden]{display:none!important}.category-results:popover-open{display:block}.category-results::backdrop{background:transparent}.category-results button,.category-options button{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;height:auto;padding:11px 12px!important;margin:0!important;border:0;border-bottom:1px solid #66583c24;border-radius:5px;background:transparent;text-align:left;font-size:14px;font-weight:400;line-height:1.5;white-space:normal;overflow-wrap:anywhere;transform:none!important}
.category-results button:last-child{border-bottom:0}.category-results button:hover,.category-results button:focus-visible{background:#efac16;;outline:2px solid #ab752e;outline-offset:-2px;color:#17212b}.category-options button>span{min-width:0;flex:1}.category-results button small{display:block;flex:0 0 auto;margin:0;padding:0;font-size:11px;line-height:1.5;color:#566068}.category-results>small,.category-results p{display:block;padding:12px;margin:0;font-size:13px}.category-results .create-category{background:#efac16;;color:#17212b}.lookup-field{display:block;min-width:0;width:100%;line-height:1.5}.lookup-field>input{display:block;width:100%}.lookup-chips{gap:6px}.lookup-chips:empty{display:none}.lookup-chips button{max-width:100%;height:auto;text-align:left;line-height:1.4;overflow-wrap:anywhere;background:#efac16;padding:7px 10px;color:#17212b}.lookup-field .category-results{max-height:320px}
.cloud-bar{background:#34393c;color:#e8e0d2;border-bottom:1px solid #ffffff22;min-height:38px;padding:7px 4vw;gap:14px;font-size:12px;line-height:1.5}.cloud-bar button{background:#ffffff0a;color:#f6e4c7;border-color:#cfbd9855;min-height:32px}.cloud-block>section{background:#fffaf3;border:2px solid #96713f;padding:30px}.cloud-block button{margin-top:10px}
.login-layout{min-height:calc(100dvh - 82px);display:grid;grid-template-columns:minmax(0,1fr) 440px;align-items:center;gap:7vw;max-width:1120px;margin:auto;padding:65px 34px}
.login-intro{color:#fff5df;text-shadow:0 2px 30px #0005}.login-intro .eyebrow{color:#ffe1a7;letter-spacing:4px}.login-intro h1{font-size:64px;line-height:1.04;font-weight:350;letter-spacing:-3px;margin-bottom:22px}.login-intro p{color:#fff4df;font-size:17px;max-width:350px;line-height:1.7;margin-bottom:0}.intro-glass{padding:28px;border-radius:14px;background:#22272bc7;backdrop-filter:blur(22px);border:1.5px solid #f4d8a9a8;box-shadow:inset 0 1px #fff5,0 0 0 1px #25272b66,0 16px 42px #17191c25}
.login-card,.access-page{padding:40px;background:#fffaf0e8;border-radius:16px;backdrop-filter:blur(30px);border:2.5px solid #8b5e25d9;box-shadow:inset 0 0 0 1px #ffffffe6,0 2px 3px #34251618,0 20px 65px #20140d38;min-width:0}.login-card .emblem{min-height:100px;margin-bottom:18px}.login-card .emblem:before{display:none}.login-card .emblem .crop{width:100px;height:84px;transform:none}.login-card h1{font-size:28px;line-height:1.25;letter-spacing:-.6px;margin-bottom:8px}.login-card p{font-size:14px}.login-card label{display:block;font-size:13px;font-weight:600;margin:20px 0 8px}.login-card input{display:block;width:100%;padding:13px 14px;margin-top:8px;border-radius:8px}.login-card .primary{width:100%;margin-top:12px;padding:14px}.login-note{font-size:12px!important;text-align:center;margin:18px 0 0;color:#525e65}.access-message{line-height:1.5;margin:14px 0 0;min-height:0}.access-message:empty{display:none}.access-page{max-width:480px;margin:8vh auto}.access-page img{object-fit:contain}.access-page a{color:#805018}.access-message[role=alert]{color:#963b2e}
@media(max-width:1100px){.brand span{display:none}.topbar{gap:14px}.topright{gap:8px}.topright .demo{display:none}.wizard{grid-template-columns:180px minmax(0,1fr)}.material .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.run-header{grid-template-columns:repeat(3,minmax(0,1fr))}.run-header>div:first-child{grid-column:1/-1;text-align:left}.login-layout{gap:40px;grid-template-columns:minmax(0,1fr) 420px;padding:45px 28px}.login-intro h1{font-size:52px}.line-card{padding:18px}.line-card h3{min-height:70px}.dock button{min-width:82px;width:82px}}
@media(max-width:850px){.shell{padding:22px 22px 145px}.topbar{padding:14px 22px}.person{display:none}.login-layout{grid-template-columns:1fr;max-width:500px;min-height:calc(100dvh - 82px);padding:35px 20px}.login-intro{display:none}.login-card{padding:30px}.line-cards{grid-template-columns:1fr;max-width:560px;margin:0 auto 22px}.line-card{min-height:0;padding:22px}.line-card h3{min-height:0}.form-grid,.review-grid,.machine-grid{grid-template-columns:1fr}.material .form-grid{grid-template-columns:1fr}.wizard{display:block}.steps{position:static;display:flex;overflow:auto;gap:6px;margin-bottom:20px;padding:8px}.step{min-width:160px;width:auto}.step-note{display:none}.choices{grid-template-columns:repeat(3,minmax(0,1fr))}.head{flex-direction:row;flex-wrap:wrap;padding:20px}.head h1{font-size:28px}.filters{padding:14px;flex-wrap:wrap}.filters input{max-width:none;flex:1 1 240px}.filters select{flex:1 1 180px}.cloud-bar{flex-wrap:wrap;gap:6px 12px}.cloud-bar>span:first-child{flex:1 1 65%}.cloud-bar #cloud-status{order:3;flex-basis:100%;font-size:11px}.dock-wrap{padding:0 10px;bottom:12px}.dock button{min-width:76px;width:76px;min-height:74px}.detail-row strong{text-align:right}.run-header{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:20px}.key-takes{padding:20px}.key-takes table{min-width:580px}}
@media(max-width:480px){.shell{padding:18px 14px 140px}.topbar{padding:14px;gap:10px;min-height:70px}.brand img{width:110px}.topright{gap:5px}.topright .avatar{display:none}.topright [data-motion]{font-size:11px;padding:7px;min-height:36px}.head h1{font-size:26px}.head .actions{width:100%;flex-shrink:1}.head .actions button{flex:1 1 auto}.choices{grid-template-columns:repeat(2,minmax(0,1fr))}.processes{grid-template-columns:1fr}.recipe-row{grid-template-columns:minmax(0,1fr) 72px 36px;gap:7px}.recipe-row>button{width:36px}.recipe-row input{font-size:14px;padding:10px 8px}.detail-row{flex-direction:column;gap:4px}.detail-row strong{text-align:left}.login-card{padding:26px 22px}.login-layout{padding:24px 16px}.login-card h1{font-size:26px}dialog,#mandatory-control{padding:20px;width:calc(100vw - 20px)}.panel{padding:16px}.execution-actions button{flex:1 1 100%}.category-results button{font-size:14px}.category-options button small{flex-basis:100%;text-align:left}.category-options button{flex-wrap:wrap;gap:3px}#toast{left:14px;right:14px;bottom:125px;max-width:none}}

.table-wrap+h3,.table-wrap+.control-config,.form-grid+.control-config{margin-top:24px}.control-config>.table-wrap{margin-bottom:16px}.access-page label{line-height:1.5}.access-page input{margin-top:8px}

.table-wrap>table:has(thead th:nth-child(5)){min-width:800px}.table-wrap>table:has(thead th:nth-child(7)){min-width:1100px}.table-wrap>table:has(thead th:nth-child(10)){min-width:1380px}.control-config .table-wrap>table{min-width:760px}tbody td,tbody th{word-break:normal;overflow-wrap:normal}.cell-actions button,.detail-row strong{overflow-wrap:anywhere}

button{background:#f9f5ecdf;border-color:#9b8e7355}button:hover{background:#efe3cce6}.topbar button.ghost{background:#ffffff05;color:#f4f1ea;border-color:#bfa17755}.shell>p{padding:16px 20px;background:#fffaf0e8;border:1px solid #9c77475c;border-radius:12px;backdrop-filter:blur(20px)}.shell>.note{border-radius:10px}.dock button{background:transparent}.dock button:hover{background:#ffffff18}

/* Paineis claros: contorno preto definido, sem sombra interior. */
.head,.central-heading,.panel,.line-card,.metric,.product-card,.hero-side,.steps,.day,.filters,.operations-section>.panel-heading,.line-card:hover,.shell>p{
 border:2px solid #181a1c;
 box-shadow:none;
}
.login-card,.access-page{
 border:2.5px solid #181a1c;
 box-shadow:none;
}

/* Login centrado, sem painel de apresentacao lateral. */
.login-layout{grid-template-columns:minmax(0,440px);justify-content:center;gap:0}
@media(max-width:850px){.login-layout{grid-template-columns:minmax(0,1fr)}}

.login-card>h1,.login-card>h1+p{text-align:center}
.login-header-mark{width:48px;height:42px;object-fit:contain;mix-blend-mode:normal}

/* Short laptop viewports must show the full sign-in form without requiring
   a scroll merely to reach its submit button. Keep the same visual identity. */
@media(max-height:760px){
 body:has(.login-layout) #app>.topbar{height:64px;min-height:64px;padding-block:3px}
 .login-layout{min-height:calc(100dvh - 64px);padding:12px 20px}
 .login-card{padding:20px 28px}
 .login-card .emblem{min-height:64px;margin-bottom:7px}
 .login-card .emblem .crop{zoom:.72}
 .login-card h1{font-size:24px;margin-bottom:4px}
 .login-card>p{margin-bottom:8px}
 .login-card label{margin:11px 0 5px}
 .login-card input{min-height:39px;margin-top:5px;padding:9px 11px}
 .login-card .primary{min-height:40px;margin-top:8px;padding:9px 12px}
 .login-card .login-note{margin:10px 0 0}
}
@media(max-height:620px){
 .login-layout{padding-block:8px}
 .login-card{padding-block:14px}
 .login-card .emblem{min-height:52px;margin-bottom:3px}
 .login-card .emblem .crop{zoom:.59}
 .login-card label{margin-top:8px}
}

.hr-table{min-width:1900px}.hr-table th,.hr-table td{vertical-align:middle;min-width:110px}.hr-table th:first-child{min-width:210px}.hr-table button{margin:3px}.hr-table small{font-weight:400;overflow-wrap:anywhere}
#presence-error{position:sticky;bottom:0;background:#ad4e49;border:2px solid #a33d26;;padding:14px;z-index:1;color:#ffffff}

/* Explicit action outlines remain visible over the animated background. */
.shell .actions>button,.head>button,dialog .actions>button{border:1.5px solid #4c4336;box-shadow:0 2px 3px #241b141a}
button.primary{border:2px solid #624317;background:#e9a035;color:#282011}
.execution-actions>button{border:2px solid #4c4336;background:#fff9ee;color:#292f32;font-weight:600;min-height:46px;border-radius:9px;padding:12px 18px}
button[data-play],button[data-execution],#presence-form button.primary{border:2px solid #16482d;background:#267148;color:#fff;font-weight:650;box-shadow:0 3px 6px #132f2426}
button[data-play]:hover,button[data-execution]:hover,#presence-form button.primary:hover{background:#1c5b38;border-color:#123b25}
.execution-actions>button[data-toggle-pause]{background:#efac16;border-color:#795315;;color:#17212b}
.execution-actions>button[data-close-lot]{background:#9b3329;border-color:#64221c;color:#fff}
.execution-actions>button[data-close-lot]:hover{background:#80291f}
.execution-actions>button[data-end-day]{background:#444f55;border-color:#263237;color:#fff}
.execution-actions>button:disabled,#presence-form button:disabled{opacity:1;background:#e1e2dc;color:#747870;border-color:#a0a49c;box-shadow:none;cursor:not-allowed}
/* Two lines per person, sized to the viewport instead of a wide scrolling matrix. */
.table-wrap.access-matrix{margin:20px 0 24px;border:2px solid #181a1c;border-radius:14px;background:rgba(249,244,233,.96);backdrop-filter:blur(14px);overflow:hidden;scrollbar-gutter:auto;box-shadow:none}
.table-wrap.access-matrix>table{width:100%;min-width:0;table-layout:fixed;margin:0;border:0;border-radius:0}.access-matrix+p{margin-top:24px}.access-matrix tbody:last-child tr:last-child>td,.access-matrix tbody:last-child .access-person{border-bottom:0}
.access-person-column{width:20%}
.access-matrix td,.access-matrix th{min-width:0;padding:10px 7px;vertical-align:middle;overflow-wrap:anywhere;font-size:12px}
.access-matrix tbody+tbody{border-top:2px solid #79766b}
.access-matrix tbody:nth-child(odd){background:#eee6d966}
.access-matrix .access-person{text-align:left;background:#f6f0e5;border-right:1px solid #c4bcae;padding:12px}
.access-person strong{display:block;font-size:14px}.access-matrix small{display:block;font-weight:400;line-height:1.35;margin-top:4px}
.access-module{display:flex;flex-direction:column;gap:7px;min-width:0}.access-module>span,.access-scope-label{display:block;font-size:12px;line-height:1.3;font-weight:600;min-height:32px}
.access-matrix select{width:100%;min-width:0;min-height:36px;padding:6px 3px;font-size:11px;border:1.5px solid #343a3c;line-height:1.3}
.access-matrix button{width:100%;min-width:0;min-height:36px;padding:7px 5px;font-size:12px;white-space:normal;line-height:1.3}
.access-matrix .access-active{display:flex;align-items:center;gap:7px;margin:8px 0}.access-person [data-save-access]{margin-top:7px;background:#efac16;border-color:#7c5822;color:#17212b}
.access-matrix .permission-none{background:#ad4e49;;color:#ffffff}.access-matrix .permission-read{background:#efac16;;color:#17212b}.access-matrix .permission-write{background:#397653;;color:#ffffff}
@media(max-width:900px){.access-matrix table,.access-matrix tbody,.access-matrix tr{display:block}.access-matrix colgroup{display:none}.access-matrix tbody{padding:10px}.access-matrix tr{display:contents}.access-matrix tbody{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.access-matrix .access-person{grid-column:1/-1;border:0}.access-matrix td{display:block}.access-matrix .access-person select{max-width:300px}.access-person [data-save-access]{max-width:130px;margin-left:8px}.access-module>span,.access-scope-label{min-height:32px}}
@media(max-width:480px){.access-matrix tbody{grid-template-columns:repeat(2,minmax(0,1fr))}.access-matrix select{font-size:12px}}
.terms-copy {white-space:pre-wrap;line-height:1.7;text-align:left}

/* Separacao entre a navegacao das definicoes e o painel ativo. */
.shell>.actions:has(>[data-settings]){margin-bottom:24px;gap:12px}

/* Shared control outline: one source of truth across every app module.
   Important keeps older module/state selectors from changing the stroke. */
:root{--control-stroke-width:2px;--control-stroke-color:#181a1c;--control-radius:9px}
button,select,input[type=button],input[type=submit],a[role=button]{border:var(--control-stroke-width) solid var(--control-stroke-color)!important;border-radius:var(--control-radius)!important}
.topbar,.cloud-bar,.dock{--control-stroke-color:#c9c2b5}
button:focus-visible,select:focus-visible,a[role=button]:focus-visible{outline:3px solid #b66b13;outline-offset:3px}
button:disabled,select:disabled{opacity:1;--control-stroke-color:#85877f;color:#747870;cursor:not-allowed;box-shadow:none}
/* Search suggestions are rows within an outlined list, not separate buttons. */
.category-results button,.category-options button{border:0!important;border-bottom:1px solid #66583c24!important;border-radius:5px!important}

/* The brand remains an unboxed navigation logo. */
.topbar button.brand{border:0!important;border-radius:0!important}
.topbar .brand:hover,.topbar .brand:focus-visible{background:transparent!important;box-shadow:none!important}

/* The deck is a single dark navigation surface; its buttons remain unboxed. */
.dock button{border:0!important;border-radius:0!important}
.dock button.module-denied{cursor:not-allowed;opacity:1;filter:none;text-decoration:none;border:0!important;border-radius:9px!important;background:#ffffff0b!important;color:#c1cdd2!important;box-shadow:inset 0 0 0 1px #dce6ea33!important}
.dock button.module-denied:hover{transform:none;background:#ffffff0b!important;color:#c1cdd2!important}
.dock button.module-denied .module-denied-lock{position:absolute;top:6px;right:6px;width:12px;height:12px;flex:none;opacity:.8;pointer-events:none}
/* Categories use icon/text colour on the existing dark deck surface. */
.dock button:is([data-go="business"],[data-go="rnd"],[data-go="products"]){--dock-category:#a8d8b1}
.dock button:is([data-go="stock"],[data-go="purchasing"],[data-go="planning"],[data-go="logistics"]){--dock-category:#efb0a8}
.dock button[data-go="finance"]{--dock-category:#ffd55c;color:var(--dock-category)}
.dock button[data-go="finance"].active{background:#ffffff10}
.dock button[data-go="finance"].active:after{background:var(--dock-category)}
.dock button:is([data-go="home"],[data-go="business"],[data-go="rnd"],[data-go="products"],[data-go="stock"],[data-go="purchasing"],[data-go="planning"],[data-go="logistics"]){color:var(--dock-category,#e4e4de)}
.dock button:is([data-go="home"],[data-go="business"],[data-go="rnd"],[data-go="products"],[data-go="stock"],[data-go="purchasing"],[data-go="planning"],[data-go="logistics"]).active{background:#ffffff10}
.dock button:is([data-go="home"],[data-go="business"],[data-go="rnd"],[data-go="products"],[data-go="stock"],[data-go="purchasing"],[data-go="planning"],[data-go="logistics"]).active:after{background:var(--dock-category,#e4e4de)}
.dock button:is([data-go="home"],[data-go="products"],[data-go="logistics"]){margin-inline-end:16px}
.dock button:is([data-go="home"],[data-go="products"],[data-go="logistics"])::before{content:"";position:absolute;inset-block:14px;inset-inline-end:-11px;width:1px;background:#e4e4de2b;pointer-events:none}

/* Tables fit the available screen width; long text opens in a separate dialog. */
.table-wrap:has(>.table-fit){max-width:100%;min-width:0;overflow:visible!important}
#app table.table-fit,dialog table.table-fit{width:100%!important;min-width:0!important;max-width:100%;table-layout:fixed}
.table-fit th,.table-fit td{min-width:0!important;max-width:100%;width:auto;white-space:normal!important;overflow-wrap:anywhere;padding:9px 7px;font-size:clamp(11px,.9vw,13px);line-height:1.45;vertical-align:middle}
.table-fit button,.table-fit select,.table-fit input:not([type=checkbox]):not([type=radio]){max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:inherit}
.table-fit button{padding:6px 8px}.table-fit .cell-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:0!important;max-width:100%}.table-fit small{white-space:normal!important;overflow-wrap:anywhere}
.table-fit .status,.table-fit .readiness{max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* Production orders: give the state and actions room without horizontal scrolling. */
.table-fit:has([data-inspect-production]) :is(th,td):nth-child(1){width:9%}
.table-fit:has([data-inspect-production]) :is(th,td):nth-child(2){width:21%}
.table-fit:has([data-inspect-production]) :is(th,td):nth-child(3){width:6%}
.table-fit:has([data-inspect-production]) :is(th,td):nth-child(4){width:9%}
.table-fit:has([data-inspect-production]) :is(th,td):nth-child(5){width:14%}
.table-fit:has([data-inspect-production]) :is(th,td):nth-child(6){width:21%;padding-right:16px}
.table-fit:has([data-inspect-production]) :is(th,td):nth-child(7){width:20%}
.table-fit:has([data-inspect-production]) td:last-child button{margin:3px 3px 3px 0}
.table-full-text{white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;line-height:1.7}
.table-fit-wide,.table-fit-wide tbody{display:block}
.table-fit-wide thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.table-fit-wide tbody>tr{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #9c927e;padding:10px 0}
.table-fit-wide tbody>tr>th,.table-fit-wide tbody>tr>td{display:block;border:0;text-align:left!important}
.table-fit-wide [data-column-label]::before{content:attr(data-column-label);display:block;font-size:11px;font-weight:650;color:#58636b;margin-bottom:5px}
.table-fit .table-fit-full{grid-column:1/-1}
.contract-missing{display:block;color:#a92520;font-size:10px;font-weight:750;line-height:1.45;margin:7px 0}.contract-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
/* Keep every employee's wrapped fields together visually. */
.hr-table.table-fit tbody>tr:nth-child(odd){background:#eef4f7}
.hr-table.table-fit tbody>tr:nth-child(even){background:#dae5eb}
.hr-table.table-fit tbody>tr{border-bottom:2px solid #a8bac5}
.hr-table.table-fit tbody>tr>th:first-child{background:#075985;;font-weight:750;border-radius:6px;box-shadow:inset 3px 0 #416d86;color:#ffffff}
.hr-table.table-fit tbody>tr>th:first-child small{color:#344c5b;font-weight:400}
.hr-deadline{display:block;margin-top:6px;line-height:1.45;color:#36586b;font-weight:550}.hr-deadline.overdue{color:#9e3028;font-weight:700}
.hr-deadline strong{font-weight:800}
@media(max-width:1000px){.table-fit-wide tbody>tr{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){
 #app table.table-fit,dialog table.table-fit,.table-fit tbody{display:block}
 .table-fit thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .table-fit tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #9c927e;padding:10px 0}
 .table-fit tbody>tr>th,.table-fit tbody>tr>td{display:block;border:0;text-align:left!important}
 .table-fit [data-column-label]::before{content:attr(data-column-label);display:block;font-size:11px;font-weight:650;color:#58636b;margin-bottom:5px}
 .table-fit colgroup{display:none}.table-fit [rowspan]{grid-column:1/-1}
}
.access-preview-overlay{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;background:#f4f0e8}
.access-preview-overlay>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#303638;color:#fff;border-bottom:3px solid #eeac38}
.access-preview-overlay>iframe{width:100%;flex:1;min-height:0;border:0}
.access-preview-overlay>header button{flex-shrink:0}
.topbar button[data-access-preview]{color:#263139;background:#f9f5ec;font-weight:600}
.topbar button[data-access-preview]:hover,.topbar button[data-access-preview]:focus-visible{color:#172127;background:#efe3cc}
@media(max-width:650px){.access-preview-overlay>header{flex-wrap:wrap;font-size:13px}.topright [data-access-preview]{font-size:11px;padding:7px}}
.production-history{margin-top:30px}
.production-history>.panel-heading{gap:20px;align-items:center;flex-wrap:wrap}.production-history h2{margin:0 0 5px}.production-history .panel-heading p{margin:0;color:var(--muted)}
.production-history .panel-heading .field{margin:0;min-width:175px;font-size:12px}
.history-toolbar,.history-legend{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0}.history-toolbar .checkline{margin:0;font-size:13px}
.history-summary{border:1px solid #879798;border-radius:10px;overflow:hidden;margin:20px 0}.history-summary tbody tr:first-child{background:#f7edda}.history-summary tbody tr:last-child{background:#e5efef}.history-summary td{font-size:16px;font-weight:650}.history-summary small{font-size:11px;font-weight:400}
.history-legend{justify-content:flex-start;gap:20px;font-size:11px;color:#4b575c}.history-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.history-legend .good{background:#28875d}.history-legend .below{background:#c65141}.history-legend .neutral{background:#688da3}
.history-days>thead>tr>th:first-child{width:10%}.history-days>thead>tr>th:last-child{width:9%}
.history-day:nth-of-type(odd){background:#f4f6f5}.history-day:nth-of-type(even){background:#e7eef0}.history-day>td,.history-day>th{border-bottom:1px solid #afbec1;padding:14px 9px}
.history-day small,.history-detail td small{display:block;font-size:11px;color:#55656e}.history-pair{display:grid;gap:7px}.history-pair>span{display:block}.history-pair b{font-weight:650;font-variant-numeric:tabular-nums}.history-pair>span:last-child b{color:#205570}
.history-date{background:transparent;border:0!important;box-shadow:none;padding:3px!important;text-align:left;font-weight:700;font-size:15px!important}.history-date span{display:block;font-size:11px;font-weight:400}.history-date:disabled{opacity:.7}
.history-status{display:inline-block;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:650;line-height:1.4}.history-status.good{background:#397653;;color:#ffffff}.history-status.below{background:#ad4e49;;color:#ffffff}.history-status.neutral{background:#dfe9ee;color:#36566a}
.production-history .history-pending{color:#805817;font-weight:500}.history-empty{opacity:.75}.history-detail>td{padding:18px!important;background:#e0eaed;border:1px solid #8da5ae}.history-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.history-detail-heading h3{margin:0}.history-detail-heading span{font-size:12px;color:#4c6874}.history-detail table{background:#f8faf8}.history-detail summary{cursor:pointer;color:#855310;margin-top:8px}.history-detail p{font-size:12px}
.history-summary .history-pending{display:block;margin-top:3px}.history-example-active{background:#efac16;;color:#17212b}
.history-demo{padding:12px 15px;border:1px solid #ba812c;background:#efac16;border-radius:8px;font-size:13px;color:#17212b}.history-footnote{font-size:12px;color:#59666a;line-height:1.6;margin:18px 0 0}
.dock button[data-go="planning"]{width:118px;min-width:94px}.dock button[data-go="planning"] span{line-height:1.2}
@media(max-width:650px){.history-detail>td{grid-column:1/-1}.history-summary tbody>tr>th{grid-column:1/-1}.history-summary td{font-size:14px}.history-toolbar{align-items:flex-start}.history-detail-heading{flex-wrap:wrap}.history-day>th{grid-column:1/-1}.history-days>tbody>.history-day{border:1px solid #9bafb6;border-radius:8px;margin:10px 0;padding:10px}.history-day td{padding:10px!important}.dock button[data-go="planning"]{width:95px}}
/* Monthly production dossier: scoped, responsive and read-only. */
.history-status.inline{background:#e4edf6;color:#235679}
.history-legend i.inline{background:#417ca2}
.history-summary td>small{display:block;margin-bottom:4px}
dialog:has(.production-dossier){width:min(1120px,96vw);max-width:96vw}
.production-dossier{line-height:1.5;overflow-wrap:anywhere}
.dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.dossier-field{background:#edf3f6;border:1px solid #9aabb4;border-radius:8px;padding:12px}
.dossier-field small,.dossier-field strong{display:block}
.production-dossier>details{border:2px solid #343a3c;border-radius:10px;padding:14px;margin:14px 0}
.production-dossier summary{font-weight:700;cursor:pointer}
.production-dossier li{margin:10px 0}
.production-dossier .evidence-image{display:block;max-width:100%;max-height:65vh;object-fit:contain}
@media(max-width:650px){.dossier-grid{grid-template-columns:1fr}.production-dossier>details{padding:10px}}

/* Temporary crisp background trial, internal workspace only. */
body:has(#app .shell):before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201800%201200%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%3E%3Cdefs%3E%20%3ClinearGradient%20id%3D%22base%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2317191c%22%2F%3E%3Cstop%20offset%3D%22.38%22%20stop-color%3D%22%23534537%22%2F%3E%3Cstop%20offset%3D%22.7%22%20stop-color%3D%22%23c89040%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23e0c69b%22%2F%3E%3C%2FlinearGradient%3E%20%3ClinearGradient%20id%3D%22gold%22%3E%3Cstop%20stop-color%3D%22%23bc6a15%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%23ffbd52%22%2F%3E%3Cstop%20offset%3D%22.65%22%20stop-color%3D%22%23edaa45%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23f9d390%22%20stop-opacity%3D%22.1%22%2F%3E%3C%2FlinearGradient%3E%20%3ClinearGradient%20id%3D%22red%22%3E%3Cstop%20stop-color%3D%22%23541d20%22%2F%3E%3Cstop%20offset%3D%22.45%22%20stop-color%3D%22%23b04930%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23df9261%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22url(%23base)%22%20d%3D%22M0%200H1800V1200H0Z%22%2F%3E%3Cg%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M-300%20930C150%201100%20280%20470%20800%20450S1530%20450%201990%20-90%22%20stroke%3D%22%23181b20%22%20stroke-width%3D%22260%22%2F%3E%3Cpath%20d%3D%22M-200%20860C230%20720%20390%20360%20920%20355S1620%20280%201920%20-80%22%20stroke%3D%22url(%23gold)%22%20stroke-width%3D%22210%22%2F%3E%3Cpath%20d%3D%22M-200%201220C400%20810%201010%201040%201370%20730S1550%20450%201950%20380%22%20stroke%3D%22url(%23red)%22%20stroke-width%3D%22260%22%2F%3E%3Cpath%20d%3D%22M-200%20150C310%20420%20800%2070%201280%20130S1580%20190%201970%20-160%22%20stroke%3D%22url(%23gold)%22%20stroke-width%3D%22140%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22none%22%20opacity%3D%22.62%22%3E%3Cpath%20d%3D%22M-100%20760C270%20810%20360%20480%20860%20410S1630%20370%201910%20-80%22%20stroke%3D%22%23ffe0a1%22%20stroke-width%3D%2218%22%2F%3E%3Cpath%20d%3D%22M-100%20800C270%20850%20430%20535%20930%20470S1630%20420%201910%20-30%22%20stroke%3D%22%23da8e36%22%20stroke-width%3D%2236%22%2F%3E%3Cpath%20d%3D%22M-100%201000C550%20740%20900%20980%201460%20590S1600%20520%201900%20410%22%20stroke%3D%22%23ffc98c%22%20stroke-width%3D%2212%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
body:has(#app .shell):after{background:transparent}

/* Shared page title: symmetric space keeps the title truly centered. */
#app .novais-page-header.novais-page-header{display:grid;grid-template-columns:68px minmax(0,1fr) 68px;align-items:center;gap:16px;width:100%;position:relative;padding:24px;text-align:center}
#app .novais-page-header>.novais-title-copy{grid-column:2;grid-row:1;min-width:0;text-align:center;width:100%}
#app .novais-page-header>.novais-title-copy :is(h1,p,.eyebrow){text-align:center}
#app .novais-page-header>img.novais-page-n{display:block;grid-column:3;grid-row:1;justify-self:end;width:52px;height:46px;object-fit:contain;mix-blend-mode:normal;margin:0}
#app .novais-page-header>.novais-header-actions{grid-column:1/-1;grid-row:auto;justify-self:center;justify-content:center;margin:0;max-width:100%}
@media(max-width:600px){#app .novais-page-header.novais-page-header{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;padding:18px 12px}#app .novais-page-header>img.novais-page-n{width:38px;height:34px}#app .novais-page-header h1{font-size:25px}}

/* Personal workstation heading */
.central-heading.novais-page-header .eyebrow{font-size:16px;letter-spacing:.12em;line-height:1.4;margin-bottom:8px}
.central-heading.novais-page-header h1{font-size:clamp(26px,3vw,36px);line-height:1.15}

/* Compact every module title while preserving the global Central heading. */
#app .novais-page-header:not(.central-heading).novais-page-header{grid-template-columns:minmax(112px,1fr) minmax(0,2fr) minmax(112px,1fr);gap:12px;min-height:58px;padding:7px 14px;margin-bottom:12px}
#app .novais-page-header:not(.central-heading)>.novais-title-copy{grid-column:2;grid-row:1;align-self:center}
#app .novais-page-header:not(.central-heading)>.novais-title-copy .eyebrow{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#app .novais-page-header:not(.central-heading)>.novais-title-copy h1{font-size:clamp(20px,1.6vw,27px);line-height:1.12;letter-spacing:-.025em;margin:0}
#app .novais-page-header:not(.central-heading)>.novais-title-copy p{font-size:12px;line-height:1.2;margin:2px 0 0;overflow-wrap:anywhere}
#app .novais-page-header:not(.central-heading)>.novais-header-actions{grid-column:1;grid-row:1;justify-self:start;align-self:center;max-width:100%;margin:0}
#app .novais-page-header:not(.central-heading)>img.novais-page-n{grid-column:3;grid-row:1;width:46px;height:42px}
@media(max-width:700px){
 #app .novais-page-header:not(.central-heading).novais-page-header{grid-template-columns:minmax(0,1fr) 42px;gap:6px 8px;padding:8px 10px}
 #app .novais-page-header:not(.central-heading)>.novais-title-copy{grid-column:1;grid-row:1;text-align:left}
 #app .novais-page-header:not(.central-heading)>.novais-title-copy :is(h1,p){text-align:left}
 #app .novais-page-header:not(.central-heading)>.novais-title-copy h1{font-size:21px}
 #app .novais-page-header:not(.central-heading)>.novais-header-actions{grid-column:1/-1;grid-row:2;justify-self:start}
 #app .novais-page-header:not(.central-heading)>img.novais-page-n{grid-column:2;grid-row:1;width:38px;height:35px}
}

/* Site-wide colour rule: opaque surfaces; blue information, green available/paid,
   red overdue/negative, amber attention. Keep text labels alongside colour. */
:root{--panel:#ffffff;--line:#64748b;--red:#ad4e49;--amber:#945700;--surface:#ffffff;--surface-alt:#e2e8f0;--area-blue:#075985;--state-green:#397653;--state-red:#ad4e49;--state-amber:#efac16}
#app :is(.head,.central-heading,.panel,.line-card,.metric),dialog{background-color:var(--surface);border-color:#17212b}
#app table thead th,dialog table thead th{background:#075985;color:#fff;border-color:#52697b}
:where(#app table) tbody tr:nth-child(odd)>td{background-color:#fff}
:where(#app table) tbody tr:nth-child(even)>td{background-color:#e2e8f0}
#app :is(.badge,.history-status).good{background:#397653;color:#fff}
#app :is(.badge,.history-status).bad,#app .history-status.below{background:#ad4e49;color:#fff}
#app .history-status.neutral,#app .history-status.inline{background:#075985;color:#fff}
#app .history-summary tbody tr:last-child td{background:#397653;color:#fff}
#app .history-summary tbody tr:first-child td{background:#efac16;color:#17212b}

/* Compact employee rows; confidential details stay inside the disclosure. */
.hr-list-scroll{max-width:100%;overflow-x:auto;margin-top:18px}
.hr-list{min-width:730px}
.hr-list.hr-list-salary{min-width:1140px}
.hr-employee{border:1px solid #b5b5ac;border-radius:9px;background:var(--panel,#fffaf0);margin:0 0 7px;overflow:hidden}
.hr-employee>summary{display:grid;grid-template-columns:minmax(160px,1.5fr) minmax(150px,1.2fr) minmax(100px,1fr) minmax(100px,1fr) 65px 20px;gap:12px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}
.hr-list-salary>.hr-employee>summary{grid-template-columns:minmax(160px,1.5fr) minmax(150px,1.2fr) minmax(100px,1fr) minmax(100px,1fr) repeat(3,minmax(115px,1fr)) 55px 20px}
.hr-employee>summary::-webkit-details-marker{display:none}
.hr-employee>summary:hover{background:#f8ecd5}
.hr-employee>summary:focus-visible{outline:3px solid #996212;outline-offset:-3px}
.hr-summary-cell{min-width:0;font-size:13px;font-variant-numeric:tabular-nums}
.hr-summary-cell>small{display:block;color:#58656b;font-size:10px;line-height:1.3;margin-bottom:4px}
.hr-summary-cell>span{display:block;overflow-wrap:anywhere}
.hr-summary-cell:first-child>span{font-weight:700}
.hr-chevron{font-size:20px;transition:transform .15s}
.hr-employee[open]>summary{border-bottom:1px solid #b5b5ac;background:#f8ecd5}
.hr-employee[open] .hr-chevron{transform:rotate(180deg)}
.hr-employee-body{padding:18px;max-width:100%;box-sizing:border-box}
.hr-employee-body .hr-details{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.hr-document-section{border-top:1px solid #ccc6b7;margin-top:18px;padding-top:12px}
.hr-document-section h3{margin:0 0 12px}
.hr-payslip-list{list-style:none;margin:12px 0;padding:0}
.hr-payslip-list li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #ddd5c5}
.hr-payslip-list small{overflow-wrap:anywhere}
/* HR expanded records and temporary workforce are visually separate. */
.hr-employee-body{background:#d7e0e5;color:#223642;border-top:3px solid #527584}
.hr-employee-body .hr-details>div{background:#f8fafb;border:1px solid #a1b2bb;border-radius:6px;padding:10px 12px}
.hr-employee-body .hr-details{gap:10px}
.hr-employee-body .hr-details dt{color:#405865}.hr-employee-body .hr-details dd{color:#182e39}
.hr-employment-group{margin:14px 0 10px;padding:12px 14px;border:2px solid #293e48;border-radius:8px;background:#d7e0e5;color:#223642;font-size:15px}
.hr-employment-group.is-temporary{margin-top:28px;background:#285e68;color:#fff}
.hr-employee.hr-temporary{border:2px solid #285e68}
.hr-employee.hr-temporary>summary,.hr-employee.hr-temporary[open]>summary{background:#285e68;color:#fff}
.hr-employee.hr-temporary>summary:hover{background:#214d55}
.hr-employee.hr-temporary>summary .hr-summary-cell small{color:#fff;opacity:1}
.hr-list>.hr-employee.hr-temporary>summary{grid-template-columns:minmax(160px,1.4fr) minmax(145px,1.1fr) minmax(100px,1fr) minmax(100px,1fr) minmax(155px,1.2fr) minmax(130px,1.1fr) 55px 20px}
.hr-temporary .hr-employee-body{background:#d2e1dd;border-top-color:#285e68}
.hr-temporary-billing{padding:14px;border:1px solid #527c72;border-radius:8px;background:#fffaf0}
#employee-form [hidden]{display:none!important}
#employee-form .hr-extra{background:#d7e0e5;border:1px solid #527584;color:#223642}
#employee-form .hr-extra>summary{color:#223642}
.energy-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}
.energy-settings-card{min-width:0;padding:20px;border:2px solid #263642;border-radius:11px;background:#fff}
.energy-settings-card h2{margin:0 0 8px;color:#0d597b;font-size:21px}
.energy-settings-card p{color:#50616b;font-size:13px}
.energy-settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.energy-settings-fields .field{min-width:0}.energy-settings-fields input{width:100%}
@media(max-width:560px){.energy-settings-fields{grid-template-columns:1fr}}

/* Stable, centered wait state for modules that fetch their content after navigation. */
.module-loading{min-height:clamp(240px,52dvh,520px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;color:#314047}
.module-loading>img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 8px 18px #2d211b24)}
.module-loading-title{font-size:16px;font-weight:650;line-height:1.4}

/* Keep every module reachable without a horizontally oversized desktop deck. */
body{--nf-dock-clearance:124px}
#app>.shell{padding-bottom:var(--nf-dock-clearance)}
#app>.dock-wrap{bottom:10px;padding:0 12px}
#app>.dock-wrap>.dock{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));width:min(1660px,100%);max-width:100%;min-width:0;gap:2px;padding:6px;overflow-x:hidden}
#app>.dock-wrap>.dock button{width:100%;min-width:0;min-height:78px;gap:5px;padding:7px 3px;font-size:11px;line-height:1.25;justify-content:flex-start}
#app>.dock-wrap>.dock button span{min-width:0;max-width:100%;line-height:1.25;overflow-wrap:anywhere}
#app>.dock-wrap>.dock button .icon{width:22px;height:22px;flex-shrink:0}
@media(max-width:1280px){
 body{--nf-dock-clearance:200px}
 #app>.dock-wrap>.dock{grid-template-columns:repeat(8,minmax(0,1fr))}
 #app>.dock-wrap>.dock button{min-height:68px;font-size:11px}
}
@media(max-width:650px){
 body{--nf-dock-clearance:min(300px,42vh)}
 #app>.dock-wrap{padding:0 8px;bottom:8px}
 #app>.dock-wrap>.dock{grid-template-columns:repeat(4,minmax(0,1fr));max-height:40vh;overflow-y:auto;overscroll-behavior:contain}
 #app>.dock-wrap>.dock button{min-height:62px;padding:5px 3px;font-size:10px}
 #app>.dock-wrap>.dock button .icon{width:19px;height:19px}
}
/* Wide desktops keep the navigation in one row. */
html[data-nf-desktop-density] body{min-height:var(--nf-viewport-height);--nf-dock-clearance:160px}
html[data-nf-desktop-density] #app>.dock-wrap{bottom:22px;padding:0 12px}
html[data-nf-desktop-density] #app>.dock-wrap>.dock{grid-template-columns:repeat(16,minmax(0,1fr));gap:5px;padding:8px 10px;max-height:none;overflow-y:hidden}
html[data-nf-desktop-density] #app>.dock-wrap>.dock button{min-height:76px;padding:11px 6px 8px;gap:8px;font-size:12px;margin-inline-end:0}
html[data-nf-desktop-density] #app>.dock-wrap>.dock button .icon{width:25px;height:25px}
html[data-nf-desktop-density] #app>.dock-wrap>.dock button span{line-height:1.35}
html[data-nf-desktop-density] #app>.dock-wrap>.dock button:is([data-go="home"],[data-go="products"],[data-go="logistics"])::before{inset-inline-end:0}
@media(max-width:1100px){html[data-nf-desktop-density] body{--nf-dock-clearance:190px}}
/* Preserve the wide-screen deck's icons, type and full module names on
   laptops. Only the deck itself scrolls sideways when its sixteen items need
   more room; the page and the content tables retain their existing layout. */
@media(max-width:1499px){
 html[data-nf-desktop-density] #app>.dock-wrap>.dock{grid-template-columns:repeat(16,minmax(91px,1fr));overflow-x:auto;scrollbar-width:thin;scrollbar-color:#9caaa9 transparent;scroll-padding-inline:10px;overscroll-behavior-inline:contain}
 html[data-nf-desktop-density] #app>.shell>*,html[data-nf-desktop-density] #app>.shell .panel{min-width:0}
}
/* Viewport limits use the space available after scaling; controls shrink together. */
html[data-nf-desktop-density] dialog{max-width:calc(var(--nf-viewport-width) - 32px);max-height:calc(var(--nf-viewport-height)*.9)}
html[data-nf-desktop-density] dialog:has(.production-dossier){width:min(1120px,calc(var(--nf-viewport-width)*.96));max-width:calc(var(--nf-viewport-width)*.96)}
html[data-nf-desktop-density] #nf-logout-choice{width:min(440px,calc(var(--nf-viewport-width) - 32px))}
.module-loading-track{display:block;width:min(320px,70vw);height:10px;overflow:hidden;border:1px solid #ae7d3e;border-radius:999px;background:#eee0c8;box-shadow:inset 0 1px 3px #33251820}
.module-loading-track>i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b87520,#f7bb52,#b87520);animation:module-energy 1.25s ease-in-out infinite alternate}
@keyframes module-energy{from{transform:translateX(-100%)}to{transform:translateX(240%)}}
@media(prefers-reduced-motion:reduce){.module-loading-track>i{animation:none;width:100%}}

/* Weekly planning uses the same compact spacing as BD and I&D lists. */
.calendar:has(.planning-day-compact){align-items:start;gap:10px}
.calendar .day.planning-day-compact{min-height:0;padding:0;border-radius:8px;overflow:hidden}
.calendar .planning-day-compact:not(.planning-day-open)>:not(.planning-day-toggle){display:none!important}
.calendar .planning-day-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;width:100%;min-height:52px;margin:0;padding:8px 10px;border:0;border-radius:0;background:#eef2f4;color:#293338;text-align:left;line-height:1.25;box-shadow:none}
.calendar .planning-day-toggle:hover{background:#e0e9ee}
.calendar .planning-day-toggle:focus-visible{outline:3px solid var(--nf-blue,#0b587c);outline-offset:-3px}
.calendar .planning-day-toggle .planning-day-label{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:12px}
.calendar .planning-day-toggle .planning-day-label>span{font-size:11px;font-weight:650}
.calendar .planning-day-toggle .planning-day-label>b{font-size:16px;line-height:1.25}
.calendar .planning-day-toggle .planning-day-count{grid-column:1;font-size:10px;color:#53616a}
.calendar .planning-day-toggle .planning-day-chevron{grid-column:2;grid-row:1/3;font-size:20px;line-height:1;align-self:center;transition:transform .15s}
.calendar .planning-day-open>.planning-day-toggle{border-bottom:1px solid #879798}
.calendar .planning-day-open>.planning-day-toggle .planning-day-chevron{transform:rotate(180deg)}
.calendar .planning-day-compact>[data-add-day]{min-height:30px;margin:8px 8px 2px;padding:4px 8px;font-size:11px}
.calendar .planning-day-compact .event{display:block;width:calc(100% - 16px);min-height:0;margin:6px 8px;padding:7px 9px;border-radius:6px;text-align:left;line-height:1.25;font-size:12px}
.calendar .planning-day-compact .event b{font-size:13px;line-height:1.25;margin:3px 0}
.calendar .planning-day-compact .event small{font-size:10px;line-height:1.25;margin-top:2px!important}
.calendar .planning-day-compact .daytotal{margin:8px;padding:8px 0 0;font-size:12px;line-height:1.3}
.calendar .planning-day-compact .daytotal small{font-size:10px;margin:2px 0}
