.cronograma-page{max-width:920px;margin:0 auto}.cronograma-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}.cronograma-user-select{flex:0 1 50%;min-width:180px;max-width:50%}.period-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.view-toggle{display:flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;flex-shrink:0}.view-toggle button{background:transparent;color:var(--muted);border:none;border-radius:0;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;box-shadow:none;filter:none}.view-toggle button:hover{background:var(--card-2);color:var(--ink);filter:none;box-shadow:none}.view-toggle button.active{background:linear-gradient(180deg,var(--brand-strong),var(--brand));color:var(--brand-ink)}.view-toggle button+button{border-left:1px solid var(--line)}.nav-period{display:flex;align-items:center;gap:8px;flex-shrink:0}.nav-period-label{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em;min-width:160px;text-align:center}.nav-period button{background:transparent;color:var(--brand);border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 11px;font-size:18px;line-height:1;cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease}.nav-period button:hover{background:var(--card-2);border-color:var(--brand);filter:none;box-shadow:none}.shift-legend{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:8px 12px;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-sm)}.legend-hint{font-size:11px;color:var(--muted);margin-left:auto}.cronograma-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 24px;color:var(--muted);font-size:14px;gap:10px;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r)}.cronograma-empty-icon{font-size:32px;opacity:.35}.calendar-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.calendar{width:100%;border-collapse:collapse;table-layout:fixed}.calendar thead tr{background:var(--card-2)}.calendar th{text-align:center;padding:10px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);border-bottom:1px solid var(--line)}.calendar td{border:1px solid var(--line-soft);padding:0;vertical-align:top;height:82px;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,border-color .12s ease}.calendar td:hover{border-color:var(--brand);z-index:1}.calendar td.other-month{opacity:.28}.calendar td.today{border-color:#e0a33a80}.calendar td.today .day-number{background:var(--brand);color:var(--brand-ink);border-radius:99px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-weight:700}.day-cell{width:100%;height:100%;display:flex;flex-direction:column;padding:5px 6px;box-sizing:border-box;gap:3px}.day-number{font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1;font-variant-numeric:tabular-nums}.day-shifts{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;margin-top:2px}.shift-pill{font-size:9px;padding:2px 5px;border-radius:99px;font-weight:700;font-family:var(--font-mono);letter-spacing:.2px;border:1px solid transparent;line-height:1.4}.shift-pill.morning{background:#6ba3cf26;color:#6ba3cf;border-color:#6ba3cf4d}.shift-pill.afternoon{background:#a7c08326;color:var(--ok);border-color:#a7c0834d}.shift-pill.night{background:#e06a5226;color:var(--danger);border-color:#e06a524d}.day-obs{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-style:italic;opacity:.75}.week-view{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:14px}.week-day{background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--r-sm);min-height:130px;padding:10px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:border-color .12s ease,background .12s ease}.week-day:hover{border-color:var(--brand);background:var(--card)}.week-day.today{border-color:#e0a33a73;box-shadow:inset 0 0 0 1px #e0a33a26}.week-day-header{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);text-align:center;margin-bottom:4px}.week-day-number{font-family:var(--font-display);font-size:22px;font-weight:600;text-align:center;margin-bottom:8px;color:var(--ink);line-height:1}.week-day.today .week-day-number{color:var(--brand)}.week-day-shifts{display:flex;flex-direction:column;gap:3px}.week-day-obs{font-size:9px;color:var(--muted);margin-top:6px;font-style:italic;line-height:1.35;opacity:.75}.shift-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.shift-modal{background:var(--card);border:1px solid var(--line);border-radius:16px 16px 0 0;padding:0 0 env(safe-area-inset-bottom,0px);width:100%;max-width:520px;box-shadow:0 -8px 40px #00000080;animation:shift-modal-in .22s cubic-bezier(.34,1.06,.64,1)}@keyframes shift-modal-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.shift-modal-header{display:flex;align-items:center;gap:10px;padding:18px 20px 14px;border-bottom:1px solid var(--line-soft)}.shift-modal-header:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--brand);flex-shrink:0}.shift-modal h3{margin:0;font-size:16px;color:var(--ink)}.shift-modal-body{padding:18px 20px}.shift-checkboxes{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.shift-checkbox-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line-soft);cursor:pointer;transition:background .12s ease,border-color .12s ease;-webkit-user-select:none;user-select:none}.shift-checkbox-item:hover{background:var(--card-2);border-color:var(--line)}.shift-checkbox-item.checked{border-color:#e0a33a59;background:var(--card-2)}.shift-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--brand);flex-shrink:0}.shift-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);flex:1}.shift-checkbox-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.shift-checkbox-dot.morning{background:#6ba3cf}.shift-checkbox-dot.afternoon{background:var(--ok)}.shift-checkbox-dot.night{background:var(--danger)}.shift-obs-input{resize:vertical;min-height:64px;margin-bottom:0}.shift-modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px 20px;border-top:1px solid var(--line-soft)}.cronograma-save-bar{position:sticky;bottom:0;background:#1a160ff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:20px}.save-bar-actions{display:flex;align-items:center;gap:8px}.save-bar-actions button.save-dirty{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,var(--brand-strong),var(--brand));color:var(--brand-ink);box-shadow:0 0 0 2px #e0a33a73,0 4px 18px var(--brand-glow)}.save-bar-actions button.save-dirty:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(105deg,transparent 38%,rgba(255,248,230,.42) 50%,transparent 62%);transform:translate(-130%);animation:save-dirty-shimmer 2.4s ease-in-out infinite;pointer-events:none}.save-bar-actions button.save-dirty:hover{filter:brightness(1.06);box-shadow:0 0 0 2px #f0b651a6,0 6px 22px #e0a33a47}@keyframes save-dirty-shimmer{0%{transform:translate(-130%)}45%{transform:translate(130%)}to{transform:translate(130%)}}.save-status{font-size:12px;color:var(--muted);text-align:center}.save-status.success{color:var(--ok)}.save-status.error{color:var(--danger)}.print-modal{max-width:480px}.print-modal-body{margin-bottom:22px;display:flex;flex-direction:column;gap:14px}.print-modal-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:640px){.cronograma-toolbar{gap:8px}.cronograma-user-select{min-width:0}.nav-period-label{min-width:120px;font-size:13px}.calendar td{height:56px}.day-number{font-size:10px}.shift-pill{font-size:8px;padding:1px 4px}.week-view{grid-template-columns:repeat(7,1fr);gap:4px;padding:10px 8px}.week-day{padding:6px 4px;min-height:88px}.week-day-number{font-size:16px}.legend-hint{display:none}}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #14110d;--bg-grad: radial-gradient(1200px 600px at 78% -8%, #241d14 0%, #14110d 55%);--card: #211c16;--card-2: #2a241d;--ink: #f3ece0;--muted: #a99985;--line: #352d24;--line-soft: #2a241d;--brand: #e0a33a;--brand-strong: #f0b651;--brand-ink: #1a1410;--brand-glow: rgba(224, 163, 58, .18);--danger: #e06a52;--warn: #e0a33a;--ok: #a7c083;--saldo-orange: #e08a4a;--saldo-quase: #b8a878;--audit: #2e1065;--audit-strong: #4c1d95;--audit-neon: #c084fc;--audit-neon-bright: #e879f9;--panic: #450a0a;--panic-strong: #7f1d1d;--panic-neon: #e06a52;--panic-neon-bright: #f87171;--r: 12px;--r-sm: 8px;--font-display: "Fraunces Variable", Georgia, serif;--font-body: "Plus Jakarta Sans Variable", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, monospace;font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box;user-select:none;-webkit-user-select:none}body{margin:0;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;min-height:100vh}a{color:var(--brand);text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}.app{display:flex;min-height:100vh}.sidebar{width:230px;background:#1a160f;color:var(--ink);display:flex;flex-direction:column;padding:20px 0;border-right:1px solid var(--line)}.app-brand-title{display:flex;align-items:center;gap:9px;white-space:nowrap;min-width:0;font-family:var(--font-display);font-weight:700}.sidebar h1.app-brand-title{font-size:20px;margin:0 18px 20px;color:var(--ink)}.sidebar h1.app-brand-title:before{content:"";width:8px;height:22px;flex-shrink:0;border-radius:3px;background:linear-gradient(180deg,var(--brand-strong),var(--brand));box-shadow:0 0 12px var(--brand-glow)}.sidebar nav{padding:0 10px}.sidebar nav a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;margin:1px 0;border-radius:var(--r-sm);color:#cdbfa9;font-size:14px;position:relative;transition:background .15s ease,color .15s ease}.sidebar nav a:hover{background:var(--card);color:var(--ink)}.sidebar nav a.active{background:var(--card-2);color:var(--ink)}.sidebar nav a.active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 3px 3px 0;background:var(--brand)}.sidebar .link-label{font-size:14px;font-weight:600}.sidebar nav a.nav-dashboard .link-label{font-size:16px;color:var(--brand)}.sidebar .link-desc{font-size:11px;line-height:1.35;color:var(--muted)}.sidebar nav a.active .link-desc,.sidebar nav a:hover .link-desc{color:#cdbfa9}.sidebar .nav-group+.nav-group{margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}.sidebar .group-label{display:block;padding:8px 12px 2px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--brand)}.sidebar .group-desc{display:block;padding:0 12px 8px;font-size:11px;line-height:1.45;color:var(--muted)}.sidebar .spacer{flex:1}.sidebar .user{padding:14px 18px;margin:0 8px;font-size:12px;color:var(--muted);border-top:1px solid var(--line-soft);display:flex;flex-direction:column;align-items:stretch;gap:8px}.sidebar .user-name{display:block;font-size:15px}.sidebar .user-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar .user a{font-weight:600}.sidebar-logout{background:none;border:none;box-shadow:none;filter:none;color:var(--brand);font-size:12px;font-weight:600;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.sidebar-logout:hover{color:var(--brand-strong);background:none;box-shadow:none;filter:none}.content-shell{flex:1;display:flex;flex-direction:column;min-width:0}.app-header{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 36px;border-bottom:1px solid var(--line);background:#1a160feb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.app-header-user{font-size:13px;color:var(--muted)}.btn-logout{background:transparent;border:1px solid var(--line);color:var(--muted);box-shadow:none}.btn-logout:hover{background:var(--card-2);border-color:var(--brand);color:var(--ink);filter:none;box-shadow:none}.main{flex:1;padding:28px 36px;overflow:auto}.main h2{margin:0 0 22px;font-size:28px;position:relative;padding-bottom:12px}.main h2:after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--brand-strong),transparent)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--brand),transparent 70%);opacity:.55}.card .num{font-family:var(--font-display);font-size:38px;font-weight:600;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.card .lbl{color:var(--muted);font-size:12px;margin-top:8px;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.card.alert:before{background:linear-gradient(90deg,var(--danger),transparent 70%);opacity:.8}.card.alert .num{color:var(--danger)}.card.clickable{background:var(--card);color:var(--ink);text-align:left;width:100%;font:inherit;cursor:pointer;transition:transform .12s ease,box-shadow .18s ease,border-color .18s ease}.card.clickable:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:0 10px 28px #00000073,0 0 0 1px var(--brand-glow)}.card.clickable:active{transform:translateY(-1px)}.card.sel{border-color:var(--brand);background:#e0a33a12}.card.sel:before{opacity:1;background:linear-gradient(90deg,var(--brand),transparent 70%)}.card.sel:hover{transform:none;box-shadow:0 0 0 2px var(--brand)}.card.holding{border-color:var(--brand);-webkit-user-select:none;user-select:none}.card.holding:before{animation:hold-fill .5s linear forwards}@keyframes hold-fill{0%{opacity:.55;width:30%}to{opacity:1;width:100%;background:linear-gradient(90deg,var(--brand),var(--brand-strong))}}.card .drink-nome{font-size:15px;font-weight:600;color:var(--ink);text-align:center;line-height:1.4;padding:6px 0}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:20px}.panel h3{margin:0 0 16px;font-size:17px;color:var(--ink);display:flex;align-items:center;gap:9px}.panel h3:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--brand)}.panel h3 .panel-hint{margin-left:auto;font-size:12px;font-weight:400;font-family:var(--font-body);color:var(--muted)}.carousel-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.carousel-atual{font-size:13px;text-transform:capitalize;text-align:center;flex:1;font-weight:600;color:var(--ink)}.carousel-nav{background:transparent;color:var(--brand);border:none;font-size:22px;line-height:1;padding:2px 10px;cursor:pointer;border-radius:var(--r-sm)}.carousel-nav:hover{background:var(--card-2)}.carousel-nav:disabled{color:var(--line);background:transparent;cursor:default}.carousel-viewport{overflow:hidden;width:100%;touch-action:pan-y}.carousel-track{display:flex;transition:transform .28s ease}.slide-inner{overflow:hidden;width:100%;max-width:100%}.slide{flex:0 0 100%;min-width:0;overflow:clip;contain:paint}.carousel-track .slide:not(.is-active) .swipe-row:after{content:none}.carousel-track .slide:not(.is-active) .swipe-row-action{visibility:hidden}.slide table:not(.producao-grid){table-layout:auto}.slide th{white-space:nowrap;word-break:normal;overflow-wrap:normal}.slide td{word-break:break-word;overflow-wrap:anywhere}.carousel-dots{display:flex;gap:7px;justify-content:center;margin-top:14px}.carousel-dots .dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--line);cursor:pointer;transition:background .15s,transform .15s}.carousel-dots .dot.active{background:var(--brand);transform:scale(1.25)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line-soft)}th{color:var(--muted);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}tbody tr{transition:background .12s ease}tr:hover td{background:#e0a33a0d}td.num,th.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}td.col-acao{text-align:center;padding-left:4px;padding-right:4px;vertical-align:middle}table.entrada-itens{width:100%}table.entrada-itens th,table.entrada-itens td{padding-top:6px;padding-bottom:6px}table.entrada-itens .sel-trigger{padding:7px 10px;font-size:13px}.entrada-cabecalho-linha{width:100%;max-width:100%}.entrada-fornecedor-row{display:flex;align-items:stretch;gap:12px;width:100%}.entrada-fornecedor-row .sel{flex:1 1 auto;min-width:0}.entrada-obs-btn{flex:none;margin-left:auto;align-self:stretch}.entrada-obs-btn.has-obs{border-color:var(--brand);color:var(--brand)}.entrada-obs-modal textarea{width:100%;min-height:140px;resize:vertical;margin-bottom:16px}table.entrada-itens th:first-child,table.entrada-itens td.entrada-item{min-width:0;padding-right:4px;vertical-align:middle}table.entrada-itens td.entrada-item .sel{min-width:0;width:100%}table.entrada-itens th.num,table.entrada-itens td.entrada-qtd{padding-left:0;padding-right:6px;vertical-align:middle}table.entrada-itens th.num{text-align:left}table.entrada-itens td.entrada-qtd>input[type=number]{width:100%;min-width:0;display:block;box-sizing:border-box;text-align:right;padding:7px 8px;font-size:13px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}table.entrada-itens td.entrada-qtd>input[type=number]::placeholder{text-align:right}table.entrada-itens td.entrada-qtd>input[type=number]::-webkit-outer-spin-button,table.entrada-itens td.entrada-qtd>input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}tr.row-link{cursor:pointer}tr.row-link:hover td{background:#e0a33a17}tr.row-sel td{background:#e0a33a24}tr.row-sel td:first-child{box-shadow:inset 3px 0 0 var(--brand)}table.validade-grid{table-layout:fixed;width:100%}table.validade-grid .swipe-cell{padding:0;overflow:hidden}table.validade-grid .swipe-row-main{padding-left:0;padding-right:0;grid-template-columns:1fr 25% 24%}table.validade-grid .swipe-row-main>.swipe-col:last-child{text-align:right}table.validade-grid .swipe-row-main>.swipe-col:last-child .tag{white-space:nowrap}table.validade-grid .swipe-row{min-height:34px}table.validade-grid .swipe-row-main{padding-top:6px;padding-bottom:6px}table.producao-grid{table-layout:fixed;width:100%}table.producao-grid .swipe-cell{padding:0;overflow:hidden}table.producao-grid .swipe-row-main{padding-left:0;padding-right:0}table.producao-grid.drink .swipe-row-main{grid-template-columns:1fr 18%}table.producao-grid:not(.drink) .swipe-row-main{grid-template-columns:1fr 24% 16%}table.producao-grid:not(.drink) .swipe-row-main>.swipe-col:nth-child(2){white-space:nowrap}table.producao-grid .swipe-row-main>.swipe-col:last-child{text-align:right}table.producao-grid .swipe-row{min-height:34px}table.producao-grid .swipe-row-main{padding-top:6px;padding-bottom:6px}.swipe-row{display:flex;align-items:stretch;position:relative;overflow:hidden;min-height:44px}.swipe-row-main{display:grid;grid-template-columns:1fr 72px 88px 64px;flex:1 0 100%;align-items:center;min-width:0;transition:transform .22s ease;padding:10px 7px}.swipe-row.open .swipe-row-main{transform:translate(-96px)}.swipe-col{padding:0 4px;font-size:inherit;min-width:0}.swipe-col.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.swipe-row-action{position:absolute;right:0;top:0;bottom:0;width:96px;border-radius:0;padding:0 8px;font-size:12px;font-weight:600;transform:translate(100%);transition:transform .22s ease;white-space:nowrap}.swipe-row.open .swipe-row-action{transform:translate(0);visibility:visible}.swipe-row:not(.open)>.swipe-row-action{visibility:hidden}.swipe-row:has(>.swipe-row-action):not(.open):after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;pointer-events:none;z-index:1}.swipe-row:has(>.swipe-row-action.edit):not(.open):after{background:linear-gradient(180deg,#e0b878,var(--brand))}.swipe-row:has(>.swipe-row-action.danger):not(.open):after{background:linear-gradient(180deg,#e87c66,var(--danger))}table.producao-grid .swipe-row:has(>.swipe-row-action):not(.open):after{width:1px}table.validade-grid .swipe-row:has(>.swipe-row-action):not(.open):after{width:1px}table.usuarios-grid .swipe-row:has(>.swipe-row-action):not(.open):after{width:1px}.swipe-row-action.danger{background:linear-gradient(180deg,#e87c66,var(--danger));color:#1a1410}tr.swipe-open td{background:#e06a5214}tr.swipe-open.row-sel td:first-child{box-shadow:inset 3px 0 0 var(--danger)}table.usuarios-grid{table-layout:fixed;width:100%}table.usuarios-grid .usuarios-clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.usuarios-grid .usuarios-swipe-td{padding:0;overflow:hidden}table.usuarios-grid .usuarios-swipe-td .swipe-row{min-height:34px}table.usuarios-grid .usuarios-swipe-td .swipe-row-main{padding:6px 12px;grid-template-columns:1fr}table.usuarios-grid .usuarios-swipe-td .swipe-row.open .swipe-row-main{transform:translate(-72px)}table.usuarios-grid .swipe-row-action.edit{width:72px;padding:0 6px;font-size:11px}.swipe-row-action.edit{background:linear-gradient(180deg,#e0b878,var(--brand));color:#1a1410}tr.swipe-open-edit td{background:#e0a33a14}tr.swipe-open-edit.row-sel td:first-child{box-shadow:inset 3px 0 0 var(--brand)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box{background:var(--bg);border-radius:var(--r);padding:24px 20px;max-width:320px;width:90%;box-shadow:0 8px 32px #00000040}.modal-box-lg{background:var(--bg);border-radius:var(--r);padding:24px 20px;max-width:min(680px,95vw);width:95%;box-shadow:0 8px 32px #00000040;max-height:85vh;overflow-y:auto}.modal-box-lg .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-box-lg .modal-header h3{margin:0}.modal-box p{margin:0 0 20px;font-size:15px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;font-family:inherit;background:var(--bg);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}select option{background:var(--card);color:var(--ink)}label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:600;letter-spacing:.2px}.field{margin-bottom:14px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.sel{position:relative}.sel.sel-compact{width:auto}.sel.sel-compact .sel-trigger{width:auto;min-width:7.5rem;padding:6px 10px;font-size:13px}.entrada-mes-filter{flex:none;width:auto}.sel-required{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0;pointer-events:none}.sel-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);font-size:14px;font-weight:500;text-align:left;cursor:pointer}.sel-trigger:hover{filter:none;box-shadow:none;border-color:var(--line)}.sel-trigger:disabled{opacity:.55;cursor:not-allowed}.sel-trigger.placeholder{color:var(--muted)}.sel-trigger:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.sel-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-chevron{color:var(--muted);font-size:11px;transition:transform .15s ease;flex:none}.sel-chevron.open{transform:rotate(180deg)}.sel-panel{position:fixed;z-index:1000;overflow-y:auto;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 8px 28px #00000073}.sel-option{width:100%;display:flex;flex-direction:column;gap:2px;text-align:left;padding:9px 10px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink);cursor:pointer;font-weight:500}.sel-option:hover{background:var(--bg);filter:none;box-shadow:none}.sel-option:disabled{opacity:.5;cursor:not-allowed}.sel-option.sel-on{background:var(--brand-glow)}.sel-option-label{font-size:14px;font-weight:700}.sel-option-desc{font-size:12px;color:var(--muted);font-weight:500;line-height:1.35;white-space:normal}button{background:linear-gradient(180deg,var(--brand-strong),var(--brand));color:var(--brand-ink);border:none;border-radius:var(--r-sm);padding:10px 18px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:filter .15s ease,transform .08s ease,box-shadow .15s ease}button:hover{filter:brightness(1.06);box-shadow:0 4px 16px var(--brand-glow)}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}button.ghost{background:transparent;color:var(--brand);border:1px solid var(--line)}button.ghost:hover{background:var(--card-2);border-color:var(--brand);box-shadow:none}button.sm{padding:6px 12px;font-size:13px}button.xs{padding:3px 8px;font-size:11px}button.btn-row-del{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:999px;background:transparent;color:#e06a5280;font-size:17px;font-weight:400;line-height:1}button.btn-row-del:hover{background:#e06a5224;color:var(--danger);filter:none;box-shadow:none}button.danger{background:linear-gradient(180deg,#e87c66,var(--danger));color:#1a1410}button.success{background:linear-gradient(180deg,#6b8f5e,#4a6b3e);color:#d6e8cf}button:disabled{opacity:.45;cursor:not-allowed;filter:none;box-shadow:none}.tag{font-size:11px;padding:3px 9px;border-radius:99px;font-weight:600;font-family:var(--font-mono);letter-spacing:.3px;background:var(--card-2);color:var(--muted);border:1px solid var(--line)}.tag.crit{background:#e06a5226;color:var(--danger);border-color:#e06a5259}.tag.tag-vencida{box-shadow:0 0 6px #e06a5247,0 0 10px #e06a521f;animation:tag-vencida-glow 2.2s ease-in-out infinite}@keyframes tag-vencida-glow{0%,to{box-shadow:0 0 4px #e06a5238,0 0 8px #e06a5214}50%{box-shadow:0 0 8px #e06a5261,0 0 14px #e06a522e}}.tag.warn{background:#e0a33a26;color:var(--warn);border-color:#e0a33a59}.tag.ok{background:#a7c08326;color:var(--ok);border-color:#a7c08359}.tag.morning{background:#6ba3cf26;color:#6ba3cf;border-color:#6ba3cf59}.tag.validade-quase{background:#b8a87826;color:var(--saldo-quase);border-color:#b8a87859}.tag.validade-orange{background:#e08a4a26;color:var(--saldo-orange);border-color:#e08a4a59}.tag-sm{font-size:10px;padding:1px 6px;letter-spacing:0;line-height:1.35;white-space:nowrap;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.msg{padding:11px 14px;border-radius:var(--r-sm);margin-bottom:14px;font-size:14px;border:1px solid transparent;font-weight:500}.msg.err{background:#e06a521f;color:var(--danger);border-color:#e06a524d}.msg.ok{background:#a7c0831f;color:var(--ok);border-color:#a7c0834d}.login-wrap{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px}.login-box{background:var(--card);padding:36px 32px;border-radius:16px;width:340px;border:1px solid var(--line);box-shadow:0 24px 60px #00000080,0 0 0 1px #e0a33a0f}.login-box h1.login-title{font-size:26px;margin:0 0 22px}.login-box h1.login-title.app-brand-title:before{content:"";width:8px;height:1em;flex-shrink:0;border-radius:3px;background:linear-gradient(180deg,var(--brand-strong),var(--brand));box-shadow:0 0 14px var(--brand-glow)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.inline{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.relatorio-periodo-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin-bottom:14px}.relatorio-periodo-datas{display:flex;align-items:flex-end;gap:10px;flex:0 1 auto}.relatorio-periodo-field{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}.relatorio-periodo-field>span{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.2px}.relatorio-periodo-field input[type=date]{width:10.5rem;box-sizing:border-box}.relatorio-periodo-btns{display:flex;align-items:center;gap:8px;flex:0 0 auto}@media(max-width:640px){.relatorio-periodo-datas{width:100%}.relatorio-periodo-field{flex:1 1 0;min-width:0}.relatorio-periodo-field input[type=date]{width:100%;min-width:0}}.relatorio-operacao-filtro .inline{margin-bottom:4px}.period-range-calendar-wrap{margin-top:16px}.period-range-nav{justify-content:center;margin-bottom:12px}.period-range-calendar-panel{max-width:520px;margin-left:auto;margin-right:auto}.calendar.period-range-calendar td{height:52px}.calendar.period-range-calendar td.in-range{background:#e0a33a1a;border-color:#e0a33a33}.calendar.period-range-calendar td.range-start,.calendar.period-range-calendar td.range-end{background:#e0a33a38;border-color:#e0a33a73}.calendar.period-range-calendar td.in-range:hover,.calendar.period-range-calendar td.range-start:hover,.calendar.period-range-calendar td.range-end:hover{border-color:var(--brand)}.calendar.period-range-calendar td.selecting{cursor:crosshair}.period-range-day{justify-content:flex-start}.period-range-hint{margin:10px 0 0;font-size:12px;text-align:center}.relatorio-operacao-filtro-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.muted{color:var(--muted);font-size:13px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;font-family:var(--font-mono);letter-spacing:.3px}.badge-admin{background:#e0a33a26;color:var(--brand);border:1px solid rgba(224,163,58,.35)}.badge-op{background:var(--card-2);color:var(--muted);border:1px solid var(--line)}.badge-ok{background:#a7c08326;color:var(--ok);border:1px solid rgba(167,192,131,.35)}.badge-off{background:#e06a521a;color:var(--danger);border:1px solid rgba(224,106,82,.25)}.form-field{display:flex;flex-direction:column;gap:5px}.form-field span{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.2px}.table-wrap{overflow-x:auto}.demo-banner{background:#e0a33a1f;border-bottom:1px solid rgba(224,163,58,.35);color:var(--brand);padding:8px 16px;font-size:13px;text-align:center;transition:opacity .8s ease,max-height .8s ease,padding .8s ease;overflow:hidden;max-height:60px;opacity:1}.demo-banner.demo-banner-hidden{opacity:0;max-height:0;padding-top:0;padding-bottom:0;border-bottom-width:0}.demo-banner.login-demo{border:1px solid rgba(224,163,58,.35);border-radius:8px;margin-bottom:14px}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;margin:-8px 0 20px;gap:16px}@keyframes panic-pulse{0%,to{box-shadow:0 0 0 3px #e06a5257,0 0 14px #e06a523d,0 0 28px #f8717124}50%{box-shadow:0 0 0 6px #e06a5224,0 0 22px #e06a527a,0 0 44px #f871715c}}@keyframes panic-knob-pulse{0%,to{box-shadow:0 0 8px #e06a52d9,0 0 18px #f8717161,0 1px 4px #0006}50%{box-shadow:0 0 12px #e06a52f2,0 0 28px #f8717194,0 0 40px #e06a5238,0 1px 4px #0006}}@keyframes panic-text{0%,to{opacity:1;color:var(--panic-neon);text-shadow:0 0 8px rgba(224,106,82,.5),0 0 18px rgba(248,113,113,.28)}50%{opacity:.72;color:var(--panic-neon-bright);text-shadow:0 0 14px rgba(224,106,82,.72),0 0 32px rgba(248,113,113,.48)}}@keyframes audit-pulse{0%,to{box-shadow:0 0 0 3px #c084fc42,0 0 12px #c084fc24}50%{box-shadow:0 0 0 6px #c084fc1a,0 0 28px #e879f973}}@keyframes audit-text{0%,to{opacity:1;text-shadow:0 0 8px rgba(192,132,252,.45)}50%{opacity:.62;text-shadow:0 0 16px rgba(232,121,249,.65)}}.toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;display:inline-block;width:44px;height:24px;background:var(--line);border-radius:12px;transition:background .25s ease,box-shadow .25s ease;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--muted);border-radius:50%;transition:transform .25s ease,background .25s ease,box-shadow .25s ease;box-shadow:0 1px 4px #0006}.toggle-switch input:disabled+.toggle-slider{opacity:.45;cursor:not-allowed}.toggle-label-text{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);transition:color .2s}.toggle-switch.panic input:checked+.toggle-slider{background:linear-gradient(180deg,var(--panic-strong),var(--panic));animation:panic-pulse 1.6s ease-in-out infinite;transition:background .25s ease;overflow:visible}.toggle-switch.panic input:checked+.toggle-slider:after{transform:translate(20px);background:#ffe8e4;animation:panic-knob-pulse 1.6s ease-in-out infinite;transition:transform .25s ease,background .25s ease}.toggle-switch.panic:has(input:checked) .toggle-label-text{color:var(--panic-neon);animation:panic-text 1.6s ease-in-out infinite;transition:none}.toggle-switch.audit input:checked+.toggle-slider{background:linear-gradient(180deg,var(--audit-strong),var(--audit));animation:audit-pulse 1.6s ease-in-out infinite}.toggle-switch.audit input:checked+.toggle-slider:after{transform:translate(20px);background:#f5e8ff;box-shadow:0 0 8px #c084fce6,0 0 18px #e879f966,0 1px 4px #0006}.toggle-switch.audit:has(input:checked) .toggle-label-text{color:var(--audit-neon);animation:audit-text 1.6s ease-in-out infinite}.config-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px 24px;margin-top:16px;max-width:560px}.config-section h3{margin:0 0 14px;font-size:15px;font-weight:600;color:var(--text)}.config-toggle-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;cursor:pointer;color:var(--text)}.config-toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--brand)}.config-desc{margin:10px 0 0;font-size:13px;color:var(--muted, #888);line-height:1.5}.estoque-infinito-banner{background:#e06a521f;border-bottom:1px solid rgba(224,106,82,.35);color:#e05040;padding:8px 16px;font-size:13px;text-align:center;transition:opacity .8s ease,max-height .8s ease,padding .8s ease;overflow:hidden;max-height:60px;opacity:1}.estoque-infinito-banner.estoque-infinito-banner-hidden{opacity:0;max-height:0;padding-top:0;padding-bottom:0;border-bottom-width:0}@keyframes panic-title-glow{0%,to{color:#f0a090;text-shadow:0 0 10px rgba(224,106,82,.4),0 0 22px rgba(248,113,113,.22),0 1px 0 rgba(69,10,10,.35)}50%{color:var(--panic-neon-bright);text-shadow:0 0 16px rgba(224,106,82,.58),0 0 36px rgba(248,113,113,.35),0 0 48px rgba(224,106,82,.14)}}.sidebar h1.app-brand-title.panic-title,.topbar-title.app-brand-title.panic-title{animation:panic-title-glow 1.6s ease-in-out infinite;font-weight:700;color:#f0a090}.sidebar h1.app-brand-title.panic-title:before{background:linear-gradient(180deg,var(--panic-neon-bright),var(--panic-neon));box-shadow:0 0 14px #e06a5273;animation:panic-pulse 1.6s ease-in-out infinite}.topbar,.backdrop{display:none}@media(max-width:640px){.app{flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;background:#1a160f;color:var(--ink);padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top));position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.app-header{display:none}.topbar-title.app-brand-title{flex:1;font-size:17px;gap:0}.topbar .btn-logout{margin-left:auto;flex-shrink:0}.hamburger{background:transparent;color:var(--brand);border:none;font-size:22px;padding:4px 10px;line-height:1;box-shadow:none}.hamburger:hover{filter:none;box-shadow:none}.sidebar{position:fixed;top:0;left:0;bottom:0;width:250px;transform:translate(-100%);transition:transform .22s ease;z-index:40;box-shadow:12px 0 40px #00000080;padding-top:max(20px,env(safe-area-inset-top));overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar h1{display:none}.sidebar nav a{padding:14px 12px;font-size:15px}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:35}.main{padding:18px 14px;padding-bottom:max(18px,env(safe-area-inset-bottom))}.main h2{font-size:23px}.panel{padding:16px;overflow-x:auto}.panel:has(.carousel-viewport){overflow-x:hidden}.toolbar{flex-direction:column;align-items:stretch}.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.card .num{font-size:32px}th,td{padding:8px 7px}th{font-size:10px;letter-spacing:.3px}td{font-size:12px}.slide th,.slide td{padding:8px 6px}button{padding:12px 18px}button.sm{padding:8px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.sidebar h1.app-brand-title.panic-title,.topbar-title.app-brand-title.panic-title{color:#f0a090;text-shadow:0 0 12px rgba(224,106,82,.55),0 0 28px rgba(248,113,113,.32),0 0 40px rgba(224,106,82,.18)}.sidebar h1.app-brand-title.panic-title:before{background:linear-gradient(180deg,var(--panic-neon-bright),var(--panic-neon));box-shadow:0 0 14px #e06a5273}.toggle-switch.panic input:checked+.toggle-slider{box-shadow:0 0 0 3px #e06a5257,0 0 16px #e06a5261,0 0 32px #f8717138}.toggle-switch.panic input:checked+.toggle-slider:after{box-shadow:0 0 10px #e06a52e6,0 0 24px #f871717a,0 1px 4px #0006}.toggle-switch.panic:has(input:checked) .toggle-label-text{color:var(--panic-neon-bright);opacity:1;text-shadow:0 0 10px rgba(224,106,82,.58),0 0 24px rgba(248,113,113,.36)}}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-modal{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;max-width:420px;width:100%;box-shadow:0 24px 60px #00000080,0 0 0 1px #e0a33a0f;animation:modal-in .18s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal h3{margin:0 0 10px;font-size:18px;color:var(--ink);display:flex;align-items:center;gap:10px}.confirm-modal h3:before{content:"";width:4px;height:18px;border-radius:2px;background:var(--brand);flex-shrink:0}.confirm-modal p{font-size:14px;color:var(--muted);margin:0 0 22px;line-height:1.6}.confirm-modal-actions{display:flex;gap:10px;justify-content:flex-end}.unsaved-changes-modal{max-width:460px}.unsaved-modal-actions{flex-wrap:wrap}.unsaved-modal-actions .unsaved-discard{color:var(--danger)}.unsaved-modal-actions .unsaved-discard:hover:not(:disabled){border-color:#e06a5259;background:#e06a5214}.confirm-modal-actions .panic-confirm-btn{background:linear-gradient(180deg,var(--panic-neon-bright),var(--panic-neon));color:#2a0808;border-color:#e06a5273}.confirm-modal-actions .panic-confirm-btn:hover:not(:disabled){filter:brightness(1.06)}.unsaved-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 6px var(--brand-glow);margin-left:6px;vertical-align:middle;animation:pulse-dot 2s ease infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.panel:has(.auditoria-acoes-grid){overflow-x:hidden;max-width:100%}table.auditoria-acoes-grid{table-layout:fixed;width:100%;max-width:100%}table.auditoria-acoes-grid th,table.auditoria-acoes-grid td{overflow:hidden;vertical-align:middle}table.auditoria-acoes-grid th:first-child,table.auditoria-acoes-grid td:first-child{width:30%;white-space:nowrap;text-overflow:ellipsis}table.auditoria-acoes-grid th:nth-child(2),table.auditoria-acoes-grid td:nth-child(2){width:26%;text-overflow:ellipsis;white-space:nowrap}table.auditoria-acoes-grid:not(.auditoria-eventos-grid) th:nth-child(3),table.auditoria-acoes-grid:not(.auditoria-eventos-grid) td:nth-child(3){width:44%}table.auditoria-acoes-grid td.col-acao{padding-left:6px;padding-right:6px}table.auditoria-acoes-grid.auditoria-eventos-grid th:first-child,table.auditoria-acoes-grid.auditoria-eventos-grid td:first-child{width:22%}table.auditoria-acoes-grid.auditoria-eventos-grid th:nth-child(2),table.auditoria-acoes-grid.auditoria-eventos-grid td:nth-child(2){width:18%}table.auditoria-acoes-grid.auditoria-eventos-grid th:nth-child(3),table.auditoria-acoes-grid.auditoria-eventos-grid td:nth-child(3){width:26%}table.auditoria-acoes-grid.auditoria-eventos-grid th:nth-child(4),table.auditoria-acoes-grid.auditoria-eventos-grid td:nth-child(4){width:24%}table.auditoria-acoes-grid.auditoria-eventos-grid th:nth-child(5),table.auditoria-acoes-grid.auditoria-eventos-grid td:nth-child(5){width:10%}.auditoria-detalhe{padding:4px 0;font-size:.9em}.auditoria-detalhe ul{margin:4px 0 0;padding-left:18px}.auditoria-detalhe li{margin:2px 0}
