@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) 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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) 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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--sidebar-w: 258px;--sidebar-w-collapsed: 70px}.layout{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:var(--sidebar-w);height:100vh;position:fixed;inset:0 auto 0 0;z-index:1000;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);box-shadow:4px 0 20px #0f172a09;transition:width .22s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-header{height:70px;min-height:70px;padding:0 14px 0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-soft);position:relative}.sidebar-header.collapsed{padding:0;justify-content:center}.brand-group{display:flex;align-items:center;gap:12px;cursor:pointer;outline:none;border-radius:8px;padding:4px 2px;transition:opacity .18s ease}.brand-group:hover{opacity:.9}.brand-emblem{width:38px;height:38px;min-width:38px;border-radius:10px;background:linear-gradient(135deg,var(--primary) 0%,#0d9488 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #0f766e38;transition:transform .18s ease,box-shadow .18s ease}.brand-emblem svg{width:22px;height:22px}.brand-text{display:flex;flex-direction:column;overflow:hidden;white-space:nowrap}.brand-title{font-size:1.05rem;font-weight:800;color:var(--text);line-height:1.2;letter-spacing:-.02em}.brand-subtitle{font-size:.7rem;font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1px}.sidebar-toggle-btn{width:32px;height:32px;min-width:32px;border-radius:8px;border:1px solid var(--border-soft);background:#fff;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease}.sidebar-toggle-btn svg{width:16px;height:16px}.sidebar-toggle-btn:hover{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary);transform:scale(1.04)}.brand-emblem-btn{position:relative;border:none;background:none;cursor:pointer;padding:6px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:background .18s ease}.brand-emblem-btn:hover{background:var(--primary-soft)}.brand-emblem-btn .expand-hint{position:absolute;right:-2px;bottom:-2px;width:18px;height:18px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);opacity:0;transform:scale(.8);transition:all .18s ease}.brand-emblem-btn .expand-hint svg{width:11px;height:11px}.brand-emblem-btn:hover .expand-hint{opacity:1;transform:scale(1)}.menu{flex:1;list-style:none;margin:0;padding:14px 10px;overflow-y:auto;overflow-x:hidden}.sidebar.collapsed .menu{padding:12px 8px}.menu li{position:relative}.menu-section{padding:0 12px 6px;color:var(--text-soft);font-size:.67rem;font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase}.sidebar.collapsed .menu-section{display:none}.menu li.menu-spaced{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}.sidebar.collapsed .menu li.menu-spaced{margin-top:8px;padding-top:8px}.menu-item{display:flex;align-items:center;min-height:40px;padding:0 12px;margin-bottom:3px;border:1px solid transparent;border-radius:8px;color:var(--text-muted);font-size:.88rem;font-weight:650;text-decoration:none;gap:12px;position:relative;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.sidebar.collapsed .menu-item{padding:0;justify-content:center;width:44px;margin:0 auto 4px}.menu-icon{width:19px;height:19px;min-width:19px;flex-shrink:0;color:var(--text-muted);transition:color .18s ease,transform .18s ease}.menu-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sidebar.collapsed .menu-label{display:none}.menu-item:before{content:"";position:absolute;left:0;width:3.5px;height:0;border-radius:0 4px 4px 0;background:var(--primary);transition:height .18s ease,background .18s ease}.sidebar.collapsed .menu-item:before{left:-5px}.menu-item:hover{background:#f8fafc;border-color:var(--border-soft);color:var(--text);transform:translate(1px)}.menu-item:hover .menu-icon{color:var(--primary);transform:scale(1.06)}.menu-item.active{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-hover);box-shadow:0 4px 14px #0f766e14}.menu-item.active .menu-icon{color:var(--primary)}.menu-item.active:before{height:22px}.menu-section-highlight{color:var(--primary)!important;display:flex;align-items:center;justify-content:space-between}.menu-tooltip{display:none}.sidebar.collapsed .menu-item .menu-tooltip,.sidebar.collapsed .logout-btn-collapsed .menu-tooltip{display:block;position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%) scale(.92);background:#1e293b;color:#fff;padding:6px 12px;border-radius:6px;font-size:.78rem;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;box-shadow:0 8px 20px #00000029;transition:opacity .15s ease,transform .15s ease,visibility .15s ease;z-index:9999}.sidebar.collapsed .menu-item .menu-tooltip:before,.sidebar.collapsed .logout-btn-collapsed .menu-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1e293b}.sidebar.collapsed .menu-item:hover .menu-tooltip,.sidebar.collapsed .logout-btn-collapsed:hover .menu-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-top:1px solid var(--border-soft);background:#fff}.sidebar-footer.collapsed{padding:12px 8px;justify-content:center}.user-profile{display:flex;align-items:center;gap:10px;overflow:hidden;flex:1}.user-avatar{width:34px;height:34px;min-width:34px;border-radius:50%;background:var(--primary-soft);border:1px solid var(--primary-border);color:var(--primary);font-weight:750;font-size:.88rem;display:flex;align-items:center;justify-content:center}.user-info{display:flex;flex-direction:column;overflow:hidden}.user-name{font-size:.85rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.user-role{font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.logout-btn{width:34px;height:34px;min-width:34px;border-radius:8px;background:#fff;color:var(--danger);border:1px solid #fecdd3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease}.logout-btn svg{width:17px;height:17px}.logout-btn:hover{background:var(--danger-soft);border-color:#fda4af;transform:scale(1.05)}.logout-btn-collapsed{width:44px;height:40px;border-radius:8px;background:#fff;color:var(--danger);border:1px solid #fecdd3;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .18s ease}.logout-btn-collapsed svg{width:18px;height:18px}.logout-btn-collapsed:hover{background:var(--danger-soft);border-color:#fda4af;transform:scale(1.05)}.main-content{flex:1;min-height:100vh;margin-left:var(--sidebar-w);padding:24px 32px;overflow-x:auto;overflow-y:auto;position:relative;isolation:isolate;transition:margin-left .22s cubic-bezier(.4,0,.2,1);scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.layout.sidebar-collapsed .main-content{margin-left:var(--sidebar-w-collapsed)}.main-content:before{content:"";position:fixed;right:28px;bottom:8px;z-index:-1;width:min(20vw,210px);aspect-ratio:1;background:url(/assets/nutrimais-logo-CYE0SqFt.png) center / contain no-repeat;opacity:.05;pointer-events:none}.main-content>*{position:relative;z-index:1}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 900px){.layout{flex-direction:column}.sidebar{position:sticky;top:0;width:100%!important;height:auto;border-right:none;border-bottom:1px solid var(--border)}.sidebar-header{height:60px;min-height:60px}.sidebar-toggle-btn,.brand-emblem-btn .expand-hint{display:none}.menu{display:flex;gap:6px;padding:8px 12px 12px;overflow-x:auto}.menu-section{display:none}.menu li.menu-spaced{margin-top:0;padding-top:0;border-top:0}.menu-item{white-space:nowrap;margin:0;padding:0 12px;width:auto!important}.menu-label{display:inline!important}.menu-item:before{display:none}.menu-tooltip{display:none!important}.sidebar-footer{display:none}.main-content{margin-left:0!important;padding:20px}.main-content:before{width:min(30vw,150px);right:16px;bottom:6px}}@media (max-width: 560px){.main-content{padding:14px}}.alert{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:var(--radius);margin-bottom:15px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.alert-icon{flex-shrink:0;font-weight:700;font-size:18px}.alert-content{flex:1}.alert-title{font-weight:700;margin-bottom:4px}.alert-message{font-size:14px}.alert-close{flex-shrink:0;background:none;border:none;font-size:24px;cursor:pointer;padding:0;opacity:.7;transition:opacity .3s ease}.alert-close:hover{opacity:1}.alert-success{background:var(--success-soft);border-left:4px solid var(--success);color:var(--success)}.alert-error{background:var(--danger-soft);border-left:4px solid var(--danger);color:var(--danger)}.alert-warning{background:var(--warning-soft);border-left:4px solid var(--warning);color:var(--warning)}.alert-info{background:var(--primary-soft);border-left:4px solid var(--primary);color:var(--primary)}.alert-container{position:fixed;top:20px;right:20px;z-index:9999;max-width:400px}@media (max-width: 640px){.alert-container{left:20px;right:20px}}.login-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 10% 20%,#f0fdf4,#f8fafc 60%,#eff6ff);overflow:hidden;font-family:inherit}.login-bg-decorations{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.login-page .bg-shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.login-page .shape-1{width:450px;height:450px;background:#a7f3d0;top:-120px;left:-80px}.login-page .shape-2{width:500px;height:500px;background:#bae6fd;bottom:-150px;right:-100px}.login-page .shape-3{width:300px;height:300px;background:#fef08a;top:40%;left:60%;opacity:.3}.login-container{position:relative;width:100%;max-width:430px;z-index:1}.login-card{padding:40px 36px;background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.9);border-radius:18px;box-shadow:0 25px 50px -12px #0f172a1f,0 0 0 1px #fff9}.login-header{margin-bottom:26px;text-align:center}.login-header .brand-badge{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto 14px;border-radius:16px;background:linear-gradient(135deg,#0284c7,#059669);color:#fff;box-shadow:0 8px 18px -4px #0284c759}.login-header .brand-title{margin:0;color:#0f172a;font-size:2rem;font-weight:850;letter-spacing:-.03em;line-height:1.2}.login-header .subtitle{margin:8px 0 0;color:#64748b;font-size:.92rem;line-height:1.4;font-weight:500}.login-alert-wrapper{margin-bottom:18px}.login-form{margin-bottom:20px}.login-field{margin-bottom:18px;display:flex;flex-direction:column}.login-label{display:block;margin-bottom:7px;color:#1e293b;font-size:.88rem;font-weight:700;line-height:1.2}.login-page .login-input{display:block;width:100%;box-sizing:border-box;height:46px;min-height:46px;padding:0 14px;border:1.5px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;font-size:.95rem;font-weight:500;line-height:normal;transition:border-color .16s ease,box-shadow .16s ease}.login-page .login-input:focus{outline:none;border-color:#0284c7;box-shadow:0 0 0 3px #0284c729}.login-page .login-input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.password-input-group{position:relative;display:flex;align-items:center;width:100%}.password-input-group .password-input{padding-right:46px}.toggle-password-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;color:#64748b;border-radius:6px;cursor:pointer;transition:color .14s ease,background .14s ease}.toggle-password-btn:hover{color:#0f172a;background:#f1f5f9}.login-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;min-height:48px;margin-top:10px;padding:0 18px;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none;border-radius:9px;font-size:.98rem;font-weight:750;cursor:pointer;box-shadow:0 4px 12px #0284c752;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.login-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #0284c76b}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-card-footer{display:flex;justify-content:center;align-items:center;padding-top:18px;border-top:1px solid #e2e8f0}.security-indicator{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:.82rem;font-weight:600}.security-indicator svg{color:#10b981}@media (max-width: 480px){.login-page{padding:16px}.login-card{padding:30px 22px}}.dashboard{width:100%;max-width:1720px;margin:0 auto}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:stretch;margin-bottom:22px}.dashboard-hero-main,.profile-panel,.stat-card,.workbench-card,.workflow-card{background:#fffffff0;border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.dashboard-hero-main{position:relative;overflow:hidden;padding:30px;border-left:4px solid var(--primary)}.dashboard-hero-main:after{content:"";position:absolute;right:-90px;top:-120px;width:280px;height:280px;border-radius:999px;background:var(--primary-soft);opacity:.7;pointer-events:none}.dashboard-kicker,.section-eyebrow,.panel-label{display:block;color:var(--text-soft);font-size:.7rem;font-weight:850;letter-spacing:.08em;line-height:1;text-transform:uppercase}.dashboard-hero-main h1{position:relative;z-index:1;max-width:760px;margin:10px 0;color:var(--text);font-size:clamp(2rem,3vw,2.65rem);font-weight:850;line-height:1.08}.dashboard-hero-main p{position:relative;z-index:1;max-width:700px;margin:0;color:var(--text-muted);font-size:1rem;line-height:1.6}.hero-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.hero-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:7px;font-size:.9rem;font-weight:800;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease}.hero-button.primary{background:var(--primary);color:#fff}.hero-button.primary:hover{background:var(--primary-hover)}.hero-button.secondary{background:#fff;color:var(--primary-hover);border:1px solid var(--primary-border)}.hero-button.secondary:hover{background:var(--primary-soft)}.profile-panel{display:grid;gap:0;padding:10px 22px}.profile-panel>div{display:grid;gap:7px;padding:17px 0;border-bottom:1px solid var(--border-soft)}.profile-panel>div:last-child{border-bottom:0}.profile-panel strong{min-width:0;color:var(--text);font-size:.94rem;font-weight:800;overflow-wrap:anywhere}.theme-swatch{width:100%;height:16px;border:1px solid var(--primary-border);border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-soft))}.stats-section,.dashboard-workbench{margin-bottom:22px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.section-heading h2{margin:6px 0 0;color:var(--text);font-size:1.05rem;font-weight:850}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.stat-card{display:block;min-height:132px;padding:17px;color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.stat-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-info{min-width:0}.stat-info h3{min-height:32px;margin:0 0 12px;color:var(--text-muted);font-size:.76rem;font-weight:850;letter-spacing:.04em;line-height:1.35;text-transform:uppercase}.stat-number{margin:0 0 10px;color:var(--text);font-size:2.15rem;font-weight:850;line-height:1}.stat-info span{display:block;color:var(--text-soft);font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.dashboard-workbench{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.workbench-card,.workflow-card{padding:20px}.actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.action-card{display:grid;gap:7px;min-height:92px;padding:17px;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:background .18s ease,border-color .18s ease}.action-card:before{content:"";width:28px;height:3px;border-radius:999px;background:var(--primary)}.action-card:hover{background:var(--primary-soft);border-color:var(--primary-border)}.action-title{font-size:.92rem;font-weight:850}.action-description{color:var(--text-muted);font-size:.8rem;font-weight:650}.workflow-list{display:grid;gap:9px}.workflow-item{display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:48px;padding:8px 10px;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:border-color .18s ease,background .18s ease}.workflow-item:hover{background:var(--surface-muted);border-color:var(--primary-border)}.workflow-item span{color:var(--primary);font-size:.76rem;font-weight:850}.workflow-item strong{font-size:.9rem;font-weight:820}.loading{display:grid;place-items:center;min-height:360px;color:var(--text-muted);font-size:1rem}@media (max-width: 1180px){.dashboard-hero,.dashboard-workbench{grid-template-columns:1fr}.profile-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.profile-panel>div{border-right:1px solid var(--border-soft);border-bottom:0;padding:4px 18px 4px 0}.profile-panel>div:last-child{border-right:0}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 780px){.stats-grid,.actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-panel{grid-template-columns:1fr}.profile-panel>div{border-right:0;border-bottom:1px solid var(--border-soft);padding:14px 0}.profile-panel>div:last-child{border-bottom:0}}@media (max-width: 560px){.dashboard-hero-main{padding:22px}.hero-actions{align-items:stretch;flex-direction:column}.stats-grid,.actions-grid{grid-template-columns:1fr}}.nm-dashboard{width:100%;max-width:1600px;margin:0 auto;padding-bottom:12px}.nm-dashboard .nm-dash-icon{width:21px;height:21px;flex:0 0 auto}.nm-dash-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.nm-dash-eyebrow{display:block;color:var(--text-muted);font-size:.66rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.nm-dash-topline h1{font-size:1.65rem;line-height:1.25;margin:5px 0 0;color:var(--text);font-weight:800}.nm-dash-date{display:flex;align-items:center;gap:9px;font-size:.76rem;color:var(--text-muted)}.nm-dashboard .nm-dash-date .nm-dash-icon{width:17px;height:17px;color:var(--primary)}.nm-dash-welcome{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px;align-items:center;position:relative;padding:30px 34px;border:1px solid var(--primary-border);border-radius:16px;background:linear-gradient(115deg,var(--surface) 25%,var(--primary-soft));margin-bottom:28px;overflow:hidden}.nm-dash-welcome .nm-dash-eyebrow{color:var(--primary-hover)}.nm-dash-welcome h2{color:var(--text);font-size:clamp(1.7rem,2.5vw,2.25rem);line-height:1.2;margin:10px 0 12px;font-weight:800;overflow-wrap:anywhere}.nm-dash-welcome p{color:var(--text-muted);font-size:.88rem;line-height:1.8}.nm-dash-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px}.nm-dashboard .nm-dash-button{min-height:42px;display:inline-flex;justify-content:center;align-items:center;gap:9px;border-radius:8px;padding:10px 15px;font-size:.78rem;font-weight:750;text-decoration:none;transition:background .15s ease}.nm-dashboard .nm-dash-button-primary{background:var(--primary);color:#fff;box-shadow:var(--primary-shadow)}.nm-dashboard .nm-dash-button-primary:hover{background:var(--primary-hover)}.nm-dashboard .nm-dash-button-quiet{color:var(--primary-hover)}.nm-dashboard .nm-dash-button-quiet:hover{background:var(--primary-soft)}.nm-dashboard .nm-dash-button .nm-dash-icon{width:17px;height:17px}.nm-dash-welcome-aside{display:flex;flex-direction:column;align-items:flex-start;gap:13px;border-left:1px solid var(--primary-border);padding-left:30px;color:var(--primary-hover)}.nm-dash-emblem{display:grid;place-items:center;height:48px;width:48px;border:1px solid var(--primary-border);border-radius:14px;background:var(--surface)}.nm-dashboard .nm-dash-emblem .nm-dash-icon{width:27px;height:27px}.nm-dash-welcome-aside strong{font-size:1.2rem;line-height:1.45;font-weight:750;letter-spacing:-.025em}.nm-dash-welcome-aside>span:last-child{color:var(--text-muted);font-size:.69rem}.nm-dash-section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.nm-dash-section-heading h2{font-size:1.05rem;color:var(--text);margin:4px 0 0;font-weight:800}.nm-dash-updated{font-size:.68rem;color:var(--text-muted);text-align:right}.nm-dash-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.nm-dashboard .nm-dash-stat{min-width:0;display:flex;flex-direction:column;padding:17px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}.nm-dashboard .nm-dash-stat:hover{border-color:var(--primary-border);box-shadow:var(--shadow-md)}.nm-dash-stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.nm-dash-icon-tile{display:inline-grid;flex:0 0 auto;place-items:center;height:37px;width:37px;border-radius:10px;background:var(--primary-soft);color:var(--primary)}.nm-dashboard .nm-dash-link-arrow{width:15px;height:15px;color:var(--text-soft);transition:color .15s ease}.nm-dashboard a:hover .nm-dash-link-arrow{color:var(--primary)}.nm-dash-stat h3{font-size:.73rem;font-weight:650;color:var(--text-muted);line-height:1.5;margin:0 0 8px;min-height:2.2em}.nm-dash-value{font-size:1.9rem;font-weight:800;letter-spacing:-.055em;line-height:1.2;color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:7px}.nm-dash-stat-meta{font-size:.64rem;color:var(--text-muted);margin-top:auto}.nm-dash-bottom{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;margin-top:24px}.nm-dash-panel{min-width:0;padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.nm-dash-heading-icon{color:var(--primary)}.nm-dash-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nm-dashboard .nm-dash-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 8px;min-width:0;padding:16px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:10px;text-decoration:none;transition:background .18s ease,border-color .18s ease}.nm-dashboard .nm-dash-action:hover{background:var(--primary-soft);border-color:var(--primary-border)}.nm-dash-action>.nm-dash-icon-tile{grid-column:1}.nm-dash-action>div{grid-row:2}.nm-dash-action>.nm-dash-link-arrow{grid-row:2;align-self:center}.nm-dash-action h3,.nm-dash-steps h3{color:var(--text);font-size:.79rem;font-weight:750;margin:0}.nm-dash-action p,.nm-dash-steps p{color:var(--text-muted);font-size:.7rem;line-height:1.6;margin:4px 0 0}.nm-dash-steps{list-style:none;margin:0;padding:0}.nm-dash-steps li+li{border-top:1px solid var(--border-soft)}.nm-dashboard .nm-dash-steps a{display:grid;grid-template-columns:31px minmax(0,1fr) 15px;align-items:center;gap:12px;padding:14px 5px;border-radius:8px;text-decoration:none;transition:background .18s ease}.nm-dashboard .nm-dash-steps a:hover{background:var(--surface-muted)}.nm-dash-step-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--primary-border);border-radius:8px;background:var(--primary-soft);color:var(--primary-hover);font-size:.68rem;font-weight:800}.nm-dashboard a:focus-visible,.nm-dashboard button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.nm-dash-alert{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;background:var(--warning-soft);color:var(--warning);border-radius:8px;padding:12px 15px;margin-bottom:14px;font-size:.78rem}.nm-dash-alert button{color:inherit;text-decoration:underline;font-size:inherit;font-weight:700;padding:5px 0}.nm-dash-skeleton{height:36px;width:65%;border-radius:5px;background:var(--border-soft)}.nm-dash-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 1200px){.nm-dash-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.nm-dash-stat h3{min-height:0}.nm-dash-bottom{grid-template-columns:1fr}.nm-dash-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 850px){.nm-dash-welcome{grid-template-columns:minmax(0,1fr) 190px;padding:25px;gap:20px}.nm-dash-welcome-aside{padding-left:22px}.nm-dash-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.nm-dash-topline{align-items:flex-start;flex-direction:column;gap:10px}}@media (max-width: 580px){.nm-dash-welcome{grid-template-columns:1fr;padding:22px}.nm-dash-welcome-aside,.nm-dash-welcome p br{display:none}.nm-dash-hero-actions{gap:8px}.nm-dash-button{width:100%}.nm-dash-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nm-dashboard .nm-dash-stat{padding:14px}.nm-dash-section-heading{align-items:flex-start}.nm-dash-updated{max-width:120px}.nm-dash-panel{padding:17px}}@media (max-width: 380px){.nm-dash-actions{grid-template-columns:1fr}.nm-dash-date{font-size:.67rem}}@media (prefers-reduced-motion: reduce){.nm-dashboard a,.nm-dashboard .nm-dash-link-arrow{transition:none}}.recipe-individual-card .card-footer{width:100%;padding-top:12px}.recipe-individual-card .card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.recipe-individual-card .card-actions>button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:36px!important;padding:8px 10px!important;border-radius:6px!important;font-size:.76rem!important;font-weight:700!important;line-height:1.2!important;white-space:normal;box-sizing:border-box}.recipe-individual-card .card-actions>.card-view{grid-column:1 / -1;background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary-border)}.recipe-category-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:2px solid var(--border);padding-top:8px}.recipe-category-tabs .tipo-chip{flex-shrink:0;border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;padding:14px 18px;background:transparent;box-shadow:none}.recipe-category-tabs .tipo-chip.active{background:var(--primary-soft);border-bottom-color:var(--primary);color:var(--primary)}.recipe-category-tabs .tipo-chip:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.recipe-assignment-filter{margin-top:12px}.receita-card.recipe-group-card{cursor:default;display:flex;flex-direction:column;border-top:3px solid var(--primary)}.recipe-group-card .receita-header{cursor:default}.recipe-group-content{padding:0 20px 20px;flex:1}.recipe-group-label{margin:4px 0 12px;color:var(--text-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.recipe-group-ages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recipe-group-ages .recipe-group-age,.recipe-group-missing{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;white-space:normal;min-height:62px;padding:10px 12px;border-radius:8px;text-align:left;font-size:.8rem;gap:4px}.recipe-group-ages .recipe-group-age{border:1px solid currentColor;font-weight:700}.recipe-group-age:hover:not(:disabled){box-shadow:var(--shadow-sm);filter:brightness(.96)}.recipe-group-age:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.recipe-group-age:disabled{opacity:.6;cursor:default}.recipe-group-missing{border:1px dashed var(--border);background:var(--surface-muted);color:var(--text-muted)}.recipe-group-ages small{font-size:.68rem;font-weight:400}.recipe-group-footer{margin:0;padding:12px 20px;border-top:1px solid var(--border-soft);color:var(--text-muted);font-size:.72rem}.recipe-group-count{margin:0 0 16px;color:var(--text-muted);font-size:.85rem}@media (max-width: 380px){.recipe-group-ages{grid-template-columns:1fr}}.receitas-page{width:100%;max-width:1720px;margin:0 auto}.btn-primary{min-height:40px;padding:0 16px;background:var(--primary);color:#fff;border-radius:7px;font-size:.92rem;font-weight:800;transition:background .18s ease,box-shadow .18s ease}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--primary-shadow)}.search-filter-section{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.search-bar{display:flex;align-items:center;gap:10px}.search-bar input{flex:1;min-height:44px;padding:0 14px;color:var(--text);font-size:.94rem}.tipo-filter-select{min-height:44px;padding:0 12px;color:var(--text);font-size:.92rem;font-weight:650;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.tipo-filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tipo-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;font-size:.82rem;font-weight:750;background:var(--surface);color:var(--text-muted);border:1.5px solid var(--border);cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #00000008}.chip-color-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.08);transition:all .16s ease}.tipo-chip.active .chip-color-dot{background-color:#fff!important;box-shadow:0 0 0 2px #ffffff59;border-color:#fffc}.tipo-chip.meal-category-todos:hover:not(.active){border-color:#475569;color:#1e293b;background:#f8fafc}.tipo-chip.meal-category-todos.active{background:linear-gradient(135deg,#475569,#1e293b)!important;border-color:#334155!important;color:#fff!important;box-shadow:0 3px 10px #33415552}.tipo-chip.meal-category-prato-principal:hover:not(.active){border-color:#ea580c;color:#c2410c;background:#fff7ed}.tipo-chip.meal-category-prato-principal.active{background:linear-gradient(135deg,#ea580c,#c2410c)!important;border-color:#c2410c!important;color:#fff!important;box-shadow:0 3px 10px #ea580c59}.tipo-chip.meal-category-vegetariano:hover:not(.active){border-color:#16a34a;color:#15803d;background:#ecfdf5}.tipo-chip.meal-category-vegetariano.active{background:linear-gradient(135deg,#16a34a,#15803d)!important;border-color:#15803d!important;color:#fff!important;box-shadow:0 3px 10px #16a34a59}.tipo-chip.meal-category-sopa:hover:not(.active){border-color:#0284c7;color:#0369a1;background:#f0f9ff}.tipo-chip.meal-category-sopa.active{background:linear-gradient(135deg,#0284c7,#0369a1)!important;border-color:#0369a1!important;color:#fff!important;box-shadow:0 3px 10px #0284c759}.tipo-chip.meal-category-salada:hover:not(.active){border-color:#0d9488;color:#0f766e;background:#f0fdfa}.tipo-chip.meal-category-salada.active{background:linear-gradient(135deg,#0d9488,#0f766e)!important;border-color:#0f766e!important;color:#fff!important;box-shadow:0 3px 10px #0d948859}.tipo-chip.meal-category-sobremesa:hover:not(.active){border-color:#e11d48;color:#be123c;background:#fff1f2}.tipo-chip.meal-category-sobremesa.active{background:linear-gradient(135deg,#e11d48,#be123c)!important;border-color:#be123c!important;color:#fff!important;box-shadow:0 3px 10px #e11d4859}.tipo-chip.meal-category-lanche:hover:not(.active){border-color:#7c3aed;color:#6d28d9;background:#faf5ff}.tipo-chip.meal-category-lanche.active{background:linear-gradient(135deg,#7c3aed,#6d28d9)!important;border-color:#6d28d9!important;color:#fff!important;box-shadow:0 3px 10px #7c3aed59}.chips-divider{width:1px;height:22px;background-color:var(--border);margin:0 4px;align-self:center}.tipo-chip.chip-sem-ementa{background:var(--surface);border-color:#cbd5e1;color:#475569}.tipo-chip.chip-sem-ementa:hover:not(.active){border-color:#64748b;color:#1e293b;background:#f8fafc}.tipo-chip.chip-sem-ementa.active{background:linear-gradient(135deg,#475569,#1e293b)!important;border-color:#1e293b!important;color:#fff!important;box-shadow:0 3px 10px #1e293b52}.tipo-chip .chip-count-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;padding:1px 6px;border-radius:999px;background:#f1f5f9;color:#475569;margin-left:2px;line-height:1.2;border:1px solid #e2e8f0;transition:all .16s ease}.tipo-chip:hover:not(.active) .chip-count-badge{background:#e2e8f0;color:#1e293b}.tipo-chip.active .chip-count-badge,.tipo-chip.chip-sem-ementa.active .chip-count-badge{background:#ffffff38;color:#fff;border-color:#fff6}.receitas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.receita-card{display:flex;flex-direction:column;justify-content:space-between;min-height:178px;padding:16px;background:var(--surface);border:1px solid var(--border-soft);border-top:3.5px solid #94a3b8;border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;box-sizing:border-box;overflow:hidden;transition:transform .16s cubic-bezier(.16,1,.3,1),border-color .18s ease,box-shadow .18s ease}.receita-card:hover{transform:translateY(-2px);border-color:var(--primary-border);box-shadow:var(--shadow-md)}.receita-card.card-tipo-prato-principal{border-top-color:#ea580c}.receita-card.card-tipo-prato-principal:hover{border-color:#fdba74;border-top-color:#ea580c;box-shadow:0 8px 20px -3px #ea580c24,0 4px 6px -2px #0f172a0a}.receita-card.card-tipo-vegetariano{border-top-color:#16a34a}.receita-card.card-tipo-vegetariano:hover{border-color:#86efac;border-top-color:#16a34a;box-shadow:0 8px 20px -3px #16a34a24,0 4px 6px -2px #0f172a0a}.receita-card.card-tipo-sopa{border-top-color:#0284c7}.receita-card.card-tipo-sopa:hover{border-color:#7dd3fc;border-top-color:#0284c7;box-shadow:0 8px 20px -3px #0284c724,0 4px 6px -2px #0f172a0a}.receita-card.card-tipo-salada{border-top-color:#0d9488}.receita-card.card-tipo-salada:hover{border-color:#5eead4;border-top-color:#0d9488;box-shadow:0 8px 20px -3px #0d948824,0 4px 6px -2px #0f172a0a}.receita-card.card-tipo-sobremesa{border-top-color:#e11d48}.receita-card.card-tipo-sobremesa:hover{border-color:#fda4af;border-top-color:#e11d48;box-shadow:0 8px 20px -3px #e11d4824,0 4px 6px -2px #0f172a0a}.receita-card.card-tipo-lanche{border-top-color:#7c3aed}.receita-card.card-tipo-lanche:hover{border-color:#c4b5fd;border-top-color:#7c3aed;box-shadow:0 8px 20px -3px #7c3aed24,0 4px 6px -2px #0f172a0a}.receita-card.card-tipo-geral{border-top-color:#94a3b8}.receita-card h3{margin:0 0 8px;color:var(--text);font-size:1rem;font-weight:800;line-height:1.35}.receita-card .codigo{display:inline-flex;margin:0 0 12px;padding:4px 9px;background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border-soft);border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.01em}.receita-card .codigo.codigo-carne{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.receita-card .codigo.codigo-peixe{background:#f0f9ff;color:#075985;border-color:#bae6fd}.receita-card .codigo.codigo-ovo{background:#fefce8;color:#854d0e;border-color:#fef08a}.receita-card .codigo.codigo-vegetariano{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.receita-card .descricao{display:-webkit-box;margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-soft);gap:6px}.card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%}.card-footer .card-duplicate,.card-footer .card-delete,.card-footer .card-export-pdf,.detail-header .card-duplicate,.detail-header .card-export-pdf,.detail-header .btn-danger{min-height:28px!important;padding:0 8px!important;border-radius:6px!important;font-size:.76rem!important;font-weight:750!important;line-height:1!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;transition:all .15s ease}.card-export-pdf{background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc}.card-export-pdf:hover{background:#cffafe;color:#155e75;border-color:#67e8f9}.card-duplicate{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.card-duplicate:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.card-duplicate:disabled{cursor:wait;opacity:.7}.card-delete{background:#fff;color:var(--danger);border:1px solid #fecaca}.card-delete:hover{background:var(--danger-soft)}.empty-state.compact{padding:36px 20px}.empty-state.compact p{margin:0}.receita-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.receita-header h3{margin:0;flex:1}.receita-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:50%}.badge-tipo{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:750;white-space:nowrap;letter-spacing:.01em;border:1px solid transparent}.badge-tipo.meal-category-prato-principal{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.badge-tipo.meal-category-vegetariano{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.badge-tipo.meal-category-sopa{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.badge-tipo.meal-category-salada{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.badge-tipo.meal-category-sobremesa{background:#fff1f2;color:#be123c;border-color:#fecdd3}.badge-tipo.meal-category-lanche{background:#faf5ff;color:#6d28d9;border-color:#e9d5ff}.badge-tipo.meal-category-geral{background:#f8fafc;color:#475569;border-color:#cbd5e1}.badge-faixa{display:inline-block;padding:4px 10px;border:1px solid #b7d7d2;border-radius:6px;background:#f8fafc;color:var(--primary-hover);font-size:.75rem;font-weight:750;white-space:nowrap}.badge-ementa{display:inline-block;padding:4px 9px;border-radius:6px;font-size:.73rem;font-weight:750;white-space:nowrap;letter-spacing:.01em;border:1px solid transparent}.badge-ementa-livre{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.badge-ementa-atribuida{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;cursor:pointer;font-family:inherit;transition:all .16s ease;line-height:1.2}.badge-ementa-atribuida:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8;box-shadow:0 2px 6px #1d4ed847;transform:translateY(-1px)}.info-chip.info-chip-clickable{cursor:pointer;transition:all .16s ease}.info-chip.info-chip-clickable:hover{border-color:#1d4ed8;background:#eff6ff;transform:translateY(-1px);box-shadow:0 2px 6px #1d4ed826}.info-chip .text-atribuida{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-atribuicao-card{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0f172a38;border:1px solid #e2e8f0;max-width:520px;width:100%;overflow:hidden;display:flex;flex-direction:column}.modal-atribuicao-card .modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.modal-atribuicao-card .modal-header h3{margin:0;font-size:1.15rem;font-weight:750;color:#0f172a}.modal-atribuicao-card .modal-subtitle{margin:4px 0 0;font-size:.85rem;color:#475569}.modal-atribuicao-card .btn-modal-close{background:none;border:none;font-size:1.1rem;color:#64748b;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}.modal-atribuicao-card .btn-modal-close:hover{background:#e2e8f0;color:#0f172a}.modal-atribuicao-card .modal-body{padding:20px 22px;max-height:60vh;overflow-y:auto}.modal-atribuicao-card .atribuicao-intro{margin:0 0 14px;font-size:.88rem;color:#334155;font-weight:600}.modal-atribuicao-card .ementas-atribuidas-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.modal-atribuicao-card .ementa-atribuida-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .16s ease}.modal-atribuicao-card .ementa-atribuida-item:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 6px #0000000a}.modal-atribuicao-card .ementa-info .ementa-nome{font-size:.9rem;font-weight:700;color:#0f172a}.modal-atribuicao-card .btn-ver-ementa{padding:6px 14px;font-size:.8rem;font-weight:650;border-radius:6px;background:#0f172a;color:#fff;border:1px solid #0f172a;cursor:pointer;white-space:nowrap;transition:all .16s ease}.modal-atribuicao-card .btn-ver-ementa:hover{background:#1e293b;border-color:#1e293b;box-shadow:0 2px 5px #0f172a40}.modal-atribuicao-card .modal-footer{padding:14px 22px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;background:#f8fafc}@media (max-width: 640px){.page-header{align-items:stretch;flex-direction:column}.btn-primary{width:100%}.receita-header{flex-direction:column}.receita-badges{justify-content:flex-start;max-width:none}}.receita-selected-view{display:flex;flex-direction:column;gap:16px;width:100%}.receita-selected-header-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--surface-muted, #f8fafc);border:1px solid var(--border-soft, #e2e8f0);border-radius:var(--radius, 8px)}.receita-quick-switcher{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;color:var(--text-muted)}.receita-quick-switcher select{min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer}.receita-card-focused{min-height:auto;padding:20px;box-shadow:0 4px 14px #00000014;border-radius:var(--radius, 8px);cursor:default}.receita-card-focused:hover{transform:none}.receita-title-block h3{font-size:1.25rem;font-weight:850;margin:0 0 6px;color:var(--text)}.receita-desc{font-size:.9rem;color:var(--text-muted);margin:0;line-height:1.4}.card-actions .btn-close-details{background:#f1f5f9;color:var(--text);border-color:var(--border)}.card-actions .btn-close-details:hover{background:var(--border-soft)}.receita-selected-details{display:flex;flex-direction:column;gap:16px;margin-top:18px}.receita-detail-container{display:flex;flex-direction:column;gap:16px}.receita-info,.receita-section{padding:22px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.receita-section h2,.info-section h3{margin:0 0 14px;color:var(--text);font-size:1.05rem;font-weight:850}.receita-section-card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}.receita-section-card-header h2{margin:0}.section-note{font-size:.82rem;color:var(--text-muted);font-weight:600}.recipe-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px}.info-text-block{margin-top:12px;padding:14px;background:#fff;border:1px solid var(--border-soft);border-radius:7px}.preparation-block{min-height:100px}.receita-meta-badges{display:flex;flex-wrap:wrap;gap:8px}.meta-badge{display:inline-flex;align-items:center;padding:5px 11px;background:var(--surface-muted, #f8fafc);border:1px solid var(--border-soft);border-radius:6px;font-size:.82rem;font-weight:700;color:var(--text)}.receita-macro-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px}.macro-card{display:flex;flex-direction:column;justify-content:center;padding:14px;background:#fff;border:1px solid var(--border-soft);border-radius:8px;min-height:80px;box-shadow:0 1px 3px #00000008}.macro-card.macro-energy{border-color:#fdba74;background:#fffaf5}.macro-card.macro-energy .macro-value{color:#ea580c}.macro-label{font-size:.78rem;font-weight:750;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.macro-value{font-size:1.28rem;font-weight:850;color:var(--text)}.macro-value small{font-size:.82rem;font-weight:650;color:var(--text-muted)}.macro-sub{font-size:.76rem;color:var(--text-muted);margin-top:4px;font-weight:600}.alergenios-empty-chip{display:inline-flex;align-items:center;padding:6px 12px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;font-size:.84rem;font-weight:700;color:#047857;width:fit-content}.alergenios-chips-list{display:flex;flex-wrap:wrap;gap:8px}.alergenio-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:.82rem;font-weight:750;color:#b91c1c}.ingredients-table,.ingredientes-table,.nutrients-table{width:100%;border-collapse:collapse;font-size:.88rem}.ingredients-table th,.ingredientes-table th,.nutrients-table th{padding:10px 12px;background:var(--surface-muted, #f8fafc);border-bottom:1.5px solid var(--border);font-size:.8rem;font-weight:750;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.ingredients-table td,.ingredientes-table td,.nutrients-table td{padding:10px 12px;border-bottom:1px solid var(--border-soft);color:var(--text)}.ingredients-table tbody tr:hover,.ingredientes-table tbody tr:hover,.nutrients-table tbody tr:hover{background:#f8fafc}.ingrediente-obs-block{font-size:.78rem;color:var(--text-muted);margin-top:2px}.rule-summary-card{display:grid;gap:10px;min-height:176px;align-content:start;background:#fff;border-top:3px solid var(--border);padding:14px;border-radius:7px;border-left:1px solid var(--border-soft);border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);box-shadow:0 1px 3px #00000008}.rule-card-heading span{display:block;color:var(--text-muted);font-size:.78rem;font-weight:800}.rule-card-detail span{color:var(--text-soft, #94a3b8);font-size:.68rem;font-weight:850;letter-spacing:.06em;line-height:1;text-transform:uppercase}.rule-summary-card small{display:inline-flex;width:fit-content;padding:5px 8px;border-radius:999px;background:var(--surface-muted);line-height:1.1;font-size:.76rem;font-weight:750}.rule-card-fill{height:100%;background:var(--warning);border-radius:inherit;transition:width .3s ease}.rule-summary-card.tone-danger small{background:var(--danger-soft, #fee2e2);color:var(--danger)}.rule-summary-card.tone-neutral small{background:var(--primary-soft, #f0fdfa);color:var(--primary-hover)}.receita-detail-loading{padding:36px;text-align:center;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius)}.receita-detail-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px}@media (max-width: 900px){.receita-macro-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-reference-banner{grid-template-columns:1fr}}@media (max-width: 650px){.receita-selected-header-bar{flex-direction:column;align-items:stretch}.receita-macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.receita-faixas-bar{margin:10px 0 14px;display:flex;flex-direction:column;gap:6px}.faixas-bar-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #64748b)}.faixas-bar-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.faixa-badge-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.2;cursor:pointer;transition:all .16s ease;border:1px solid transparent;-webkit-user-select:none;user-select:none;font-family:inherit;box-sizing:border-box;text-decoration:none}.faixa-badge-btn .faixa-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background-color:currentColor}.faixa-badge-btn .faixa-age{font-size:.68rem;opacity:.85;font-weight:600}.faixa-badge-btn.available{box-shadow:0 1px 2px #0000000a}.faixa-badge-btn.available:hover{transform:translateY(-1.5px);filter:brightness(.95);box-shadow:0 3px 6px #00000014}.faixa-badge-btn.available.faixa-pre{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.faixa-badge-btn.available.faixa-c1{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.faixa-badge-btn.available.faixa-c23{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.faixa-badge-btn.available.faixa-sec{background:#fff1f2;color:#be123c;border-color:#fecdd3}.faixa-badge-btn.available.faixa-int{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}.faixa-badge-btn.available.faixa-default{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.faixa-badge-btn.available.active-selected{outline:2px solid currentColor;outline-offset:1.5px;font-weight:800;box-shadow:0 2px 8px #0000001f}.faixa-badge-btn .faixa-active-tag{background:currentColor;color:#fff;font-size:.6rem;padding:1px 5px;border-radius:4px;margin-left:3px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.faixa-badge-btn.available.faixa-pre .faixa-active-tag{background:#c2410c;color:#fff}.faixa-badge-btn.available.faixa-c1 .faixa-active-tag{background:#1d4ed8;color:#fff}.faixa-badge-btn.available.faixa-c23 .faixa-active-tag{background:#047857;color:#fff}.faixa-badge-btn.available.faixa-sec .faixa-active-tag{background:#be123c;color:#fff}.faixa-badge-btn.available.faixa-int .faixa-active-tag{background:#7e22ce;color:#fff}.faixa-badge-btn.missing{background:#f8fafc;color:#94a3b8;border:1px dashed #cbd5e1;cursor:default;opacity:.72}.faixa-badge-btn.missing:hover{opacity:.95;border-color:#94a3b8;background:#f1f5f9}.faixa-badge-btn.missing .faixa-missing-icon{font-size:.72rem;color:#94a3b8}.faixa-badge-btn.missing .faixa-missing-text{font-size:.65rem;font-weight:600;color:#94a3b8;font-style:italic}.faixa-badge-btn.sem-faixa{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;cursor:default}.focused-faixas-bar{margin:14px 0 16px;padding:12px 14px;background:var(--surface-muted, #f8fafc);border-radius:8px;border:1px solid var(--border-soft, #e2e8f0)}.receita-detail{width:100%;max-width:1720px;margin:0 auto}.btn-primary,.btn-secondary,.btn-danger,.btn-edit{min-height:38px;padding:0 14px;border-radius:7px;font-size:.9rem;font-weight:850;transition:background .18s ease,box-shadow .18s ease,border-color .18s ease}.btn-primary,.btn-edit{background:var(--primary);color:#fff}.btn-primary:hover,.btn-edit:hover{background:var(--primary-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.receita-form,.receita-info,.receita-section{margin-bottom:16px;padding:22px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.form-section{margin-bottom:22px}.form-section:last-child{margin-bottom:0}.form-section h2,.receita-section h2,.info-section h3{margin:0 0 14px;color:var(--text);font-size:1.05rem;font-weight:850}.section-hint{margin:0 0 16px;color:var(--text-muted);font-size:.9rem;line-height:1.5}.process-info{margin-bottom:16px;padding:16px;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:var(--radius)}.process-info h3{margin:0 0 8px;color:var(--primary-hover);font-size:.98rem;font-weight:850}.process-info p{margin:0 0 12px;color:var(--text);font-size:.9rem;line-height:1.55}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.process-grid span{padding:9px 10px;background:#fff;color:var(--primary-hover);border:1px solid #d5ebe7;border-radius:7px;font-size:.82rem;font-weight:800}.manual-nutrients-panel{margin:0 0 16px;padding:14px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:var(--radius)}.manual-nutrients-panel h3{margin:0 0 12px;color:var(--text);font-size:.95rem;font-weight:850}.form-row.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.recipe-info-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px}.info-chip{padding:12px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px}.info-chip span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.info-chip strong{display:block;color:var(--text);font-size:.96rem;line-height:1.35}.faixa-info-chip{background:#f8fafc;border-color:#b7d7d2}.faixa-info-chip strong{color:var(--primary-hover)}.faixa-info-chip.missing-reference{border-color:#f5b301}.faixa-info-chip.missing-reference strong{color:#92400e}.info-text-block{grid-column:1 / -1;margin-top:12px;padding:14px;background:#fff;border:1px solid var(--border-soft);border-radius:7px}.info-text-block h4{margin:0 0 8px;color:var(--text);font-size:.95rem;font-weight:850}.info-text-block p{margin:0;color:var(--text);font-size:.94rem;line-height:1.6;white-space:pre-wrap}.preparation-block{min-height:240px}.nutrition-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}.nutrition-summary-card{padding:14px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px}.nutrition-summary-card span,.nutrition-summary-card small{display:block;color:var(--text-muted);font-size:.78rem;font-weight:800}.nutrition-summary-card strong{display:block;margin:8px 0 4px;color:var(--text);font-size:1.08rem;font-weight:850}.rule-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.rule-summary-card{display:grid;gap:10px;min-height:176px;align-content:start;background:#fff;border-top:3px solid var(--border)}.rule-summary-card.tone-ok{border-top-color:var(--success)}.rule-summary-card.tone-warning{border-top-color:#f5b301}.rule-summary-card.tone-danger{border-top-color:var(--danger)}.rule-summary-card.tone-neutral{border-top-color:var(--primary)}.recipe-reference-banner{display:grid;grid-template-columns:minmax(180px,.42fr) 1fr;gap:12px;align-items:center;margin-bottom:14px;padding:14px;background:#f8fafc;border:1px solid #b7d7d2;border-radius:7px}.recipe-reference-banner.warning{background:#fff8e1;border-color:#f5b301}.recipe-reference-banner span{display:block;margin-bottom:4px;color:var(--text-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.recipe-reference-banner strong{display:block;color:var(--primary-hover);font-size:1rem;font-weight:900}.recipe-reference-banner.warning strong{color:#92400e}.recipe-reference-banner p{margin:0;color:var(--text);font-size:.9rem;font-weight:750;line-height:1.4}.rule-card-heading{padding-bottom:8px;border-bottom:1px solid var(--border-soft)}.rule-card-heading span,.rule-summary-card small{display:block;color:var(--text-muted);font-size:.78rem;font-weight:800}.rule-card-detail{display:grid;gap:4px;min-height:48px}.rule-card-detail span{color:var(--text-soft);font-size:.68rem;font-weight:850;letter-spacing:.06em;line-height:1;text-transform:uppercase}.rule-card-detail strong{min-width:0;margin:0;color:var(--text);font-size:1.08rem;font-weight:900;line-height:1.25;overflow-wrap:anywhere}.rule-card-detail.muted strong{color:var(--text-muted);font-size:.88rem;font-weight:800}.rule-summary-card small{display:inline-flex;width:fit-content;padding:5px 8px;border-radius:999px;background:var(--surface-muted);line-height:1.1}.rule-card-bar{height:8px;overflow:hidden;background:#dbe7e4;border-radius:999px}.rule-card-fill{height:100%;background:var(--warning);border-radius:inherit}.rule-summary-card.tone-ok .rule-card-fill{background:var(--success)}.rule-summary-card.tone-ok small{background:#dcfce7;color:#166534}.rule-summary-card.tone-warning .rule-card-fill{background:#f5b301}.rule-summary-card.tone-warning small{background:#fef3c7;color:#92400e}.rule-summary-card.tone-danger .rule-card-fill{background:var(--danger)}.rule-summary-card.tone-danger small{background:var(--danger-soft);color:var(--danger)}.rule-summary-card.tone-neutral .rule-card-fill{background:var(--primary)}.rule-summary-card.tone-neutral small{background:var(--primary-soft);color:var(--primary-hover)}.subsection-title{margin:22px 0 12px;color:var(--text);font-size:1rem;font-weight:850}.table-scroll{width:100%;overflow-x:auto}.ingredient-nutrition-table{min-width:1060px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px}.form-row:last-child{margin-bottom:0}.form-group.full-width{grid-column:1 / -1;width:100%}.form-group label{margin-bottom:7px;color:var(--text);font-size:.9rem;font-weight:750}.form-group input,.form-group textarea,.form-group select{min-height:42px;padding:10px 12px;font-size:.94rem}.field-help{margin-top:6px;color:var(--text-muted);font-size:.8rem;line-height:1.35}.inline-checkbox{display:inline-flex;align-items:center;gap:7px;width:fit-content;margin-top:8px;color:var(--text);font-size:.86rem;font-weight:800}.inline-checkbox.compact{margin-top:0;font-size:.78rem}.inline-checkbox input[type=checkbox]{width:15px;height:15px;min-height:0;accent-color:var(--primary)}.form-group textarea{min-height:88px;resize:vertical}.preparation-field textarea{min-height:180px;width:100%}.form-group label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:8px;width:fit-content;margin-top:8px}.form-group input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--primary)}.suggestions{position:relative;z-index:3;list-style:none;margin:8px 0 0;padding:4px;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.suggestions li{padding:10px 11px;color:var(--text);border-radius:6px;cursor:pointer}.suggestions li:hover{background:var(--primary-soft)}.suggestion-meta{display:block;margin-top:3px;color:var(--text-muted);font-size:.78rem}.inline-action{width:100%;min-height:36px;margin-top:8px;padding:0 11px;background:#fff;color:var(--primary);border:1px solid var(--primary-border);border-radius:7px;font-size:.84rem;font-weight:800;text-align:left}.inline-action:hover,.inline-action.active{background:var(--primary-soft);color:var(--primary-hover)}.info-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.info-section h3{grid-column:1 / -1}.info-section p{margin:0;padding:13px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px;color:var(--text-muted);font-size:.9rem}.info-section strong{color:var(--text)}table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius)}table thead{background:var(--surface-muted)}table th,table td{padding:12px 14px;border-bottom:1px solid var(--border-soft);text-align:left;font-size:.9rem}table th{color:var(--text);font-weight:850}table td{color:var(--text-muted)}table td strong{display:block;color:var(--text);font-weight:850}.kcal-note{display:block;margin-top:4px;color:var(--warning);font-size:.78rem;line-height:1.35}.kcal-note.ok{color:var(--success)}.kcal-range-bar{position:relative;width:min(180px,100%);height:10px;margin-top:8px;background:#e8eaed;border-radius:999px;overflow:hidden}.kcal-range-bar span{display:block;height:100%;border-radius:inherit;background:var(--warning)}.kcal-range-bar.ok span{background:var(--success)}.kcal-range-bar.high span{background:var(--danger)}.kcal-range-bar.unknown span{background:var(--border)}table tbody tr:hover{background:#fbfcfd}.table-action{min-height:32px;padding:0 10px;background:#fff;color:var(--primary);border:1px solid var(--primary-border);border-radius:7px;font-size:.82rem;font-weight:800}.table-action:hover{background:var(--primary-soft)}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.table-action.muted{color:var(--text-muted);border-color:var(--border)}.table-action.muted:hover{background:var(--surface-muted);color:var(--text)}.table-action.danger{color:var(--danger);border-color:#f1b8b2}.table-action.danger:hover{background:var(--danger-soft)}.quantity-edit{display:flex;flex-direction:column;gap:5px;max-width:150px}.quantity-edit input{min-height:34px;padding:7px 9px;font-size:.9rem}.quantity-edit small{color:var(--text-muted);font-size:.76rem;line-height:1.25}@media (max-width: 700px){.detail-header{align-items:stretch;flex-direction:column}.process-grid{grid-template-columns:1fr}.btn-primary,.btn-secondary,.btn-danger,.btn-edit{width:100%}.receita-form,.receita-info,.receita-section{padding:16px}.recipe-reference-banner{grid-template-columns:1fr}}.ingredient-order-fieldset{border:0;padding:0;margin:0;min-width:0;overflow-x:auto}.ingredient-order-controls{display:flex;align-items:center;gap:6px;width:100px}.ingredient-order-controls button{min-width:28px;min-height:28px;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);background:var(--surface)}.ingredient-order-controls button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ingredient-order-controls button:disabled{opacity:.35;cursor:default}.ingredient-order-controls .ingredient-drag-handle{cursor:grab;min-height:38px;font-size:20px}.ingredient-order-arrows{display:flex;flex-direction:column;gap:3px}.ingredient-position{color:var(--text-muted);font-size:.75rem;min-width:16px;text-align:center}.ingredients-table .ingredient-dragging{opacity:.45}.ingredients-table .ingredient-drop-target td{background:var(--primary-soft);box-shadow:inset 0 2px var(--primary)}.diarias-list.daily-group-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));align-items:stretch}.daily-group-card h2{font-size:1rem;line-height:1.4;margin:0 0 12px;overflow-wrap:anywhere}.daily-group-ages{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.daily-group-ages .daily-group-age,.daily-group-missing{display:inline-flex;align-items:center;padding:4px 7px;min-height:26px;border-radius:5px;font-size:.68rem;line-height:1.25}.daily-group-ages .daily-group-age{border:1px solid var(--border);background:var(--primary-soft);color:var(--primary);font-weight:700}.daily-group-ages .daily-group-age.active{outline:2px solid currentColor;outline-offset:1px}.daily-group-ages .daily-group-age.faixa-pre{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.daily-group-ages .daily-group-age.faixa-c1{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.daily-group-ages .daily-group-age.faixa-c23{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.daily-group-ages .daily-group-age.faixa-int{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}.daily-group-ages .daily-group-age.faixa-sec{background:#fff1f2;color:#be123c;border-color:#fecdd3}.daily-group-ages .daily-group-age.faixa-default{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.daily-group-age:focus-visible{outline:3px solid var(--text);outline-offset:2px}.daily-group-age:disabled{opacity:.5;cursor:default}.daily-group-missing{border:1px dashed var(--border);color:var(--text-muted);background:var(--surface-muted);font-weight:400}.daily-group-selection{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:10px;border-top:1px solid var(--border-soft);font-size:.75rem}.daily-group-selection .badge-empenho{font-size:.65rem;padding:3px 6px}.daily-group-description,.daily-group-assignment{color:var(--text-muted);font-size:.75rem;margin:8px 0;overflow-wrap:anywhere}.daily-group-composition{margin:12px 0 16px;display:grid;gap:8px}.daily-group-composition>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;font-size:.78rem;line-height:1.4}.daily-group-composition dt{color:var(--text-muted)}.daily-group-composition dd{margin:0;font-weight:600;overflow-wrap:anywhere}.daily-group-card .daily-group-actions{margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.daily-group-actions button{min-width:0;min-height:32px;padding:6px 8px;font-size:.75rem}.ementas-diarias-page{width:100%;max-width:1720px;margin:0 auto}.ementas-diarias-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.diarias-list-panel,.diaria-form-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.diarias-list-panel{padding:16px}.diaria-form-panel{padding:18px}.diarias-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.diarias-toolbar input{flex:1;min-height:42px;padding:0 13px}.faixa-filter-select{min-height:42px;padding:0 12px;color:var(--text);font-size:.9rem;font-weight:650;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.status-filter-select{min-height:42px;padding:0 12px;color:var(--text);font-size:.9rem;font-weight:650;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.status-filter-select:focus{outline:none;border-color:var(--primary)}.checkbox-filter-empenhadas{display:inline-flex;align-items:center;gap:7px;padding:0 12px;min-height:42px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:.86rem;font-weight:650;color:var(--text)}.checkbox-filter-empenhadas:hover{background:var(--surface-muted)}.checkbox-filter-empenhadas input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);margin:0}.diarias-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.diaria-card{padding:14px;background:#fff;border:1px solid var(--border-soft);border-radius:7px;transition:border-color .18s ease,box-shadow .18s ease;display:flex;flex-direction:column}.diaria-card.selected,.diaria-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-sm)}.diaria-main{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:12px;padding:0;background:transparent;color:var(--text);text-align:left}.diaria-main h2{margin:0 0 4px;color:var(--text);font-size:1rem;font-weight:850;line-height:1.35}.diaria-main p{margin:0;color:var(--text-muted);font-size:.84rem}.diaria-composition{display:grid;gap:6px;margin-top:12px;flex:1}.diaria-composition span{padding:8px 10px;background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border-soft);border-radius:6px;font-size:.84rem;font-weight:700;line-height:1.35;word-break:break-word}.diaria-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-soft)}.diaria-actions button,.btn-secondary{min-height:36px;padding:0 12px;background:#fff;color:var(--text-muted);border:1px solid var(--border);border-radius:7px;font-size:.86rem;font-weight:800}.diaria-actions button:hover,.btn-secondary:hover{background:var(--surface-muted);color:var(--text)}.diaria-actions .danger-action{color:var(--danger);border-color:#f1b8b2}.form-heading h2{margin:0 0 5px;color:var(--text);font-size:1.05rem;font-weight:850}.form-heading p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.45}.diaria-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.diaria-form .form-group:nth-child(1),.diaria-form .form-group:nth-child(2),.diaria-form .form-section,.diaria-form .checkbox-row,.diaria-form .form-actions{grid-column:1 / -1}.form-group label,.checkbox-row{color:var(--text);font-size:.84rem;font-weight:800}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;color:var(--text);font-size:.92rem}.form-group select{min-height:42px}.compact-check{min-height:38px;padding:8px 10px;background:#fff;border:1px solid var(--border-soft);border-radius:7px}.form-section{display:grid;gap:12px;padding:14px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px}.form-section h3{margin:0;color:var(--text);font-size:.94rem;font-weight:850}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.classification-section{display:flex;flex-direction:column;gap:16px;padding:16px 18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.classification-header h3{margin:0 0 4px;font-size:1.02rem;font-weight:700;color:#1e293b}.section-help-text{margin:0;font-size:.84rem;color:#64748b;line-height:1.4}.classification-protein{display:flex;flex-direction:column;gap:6px;max-width:380px}.field-hint{font-size:.78rem;color:#64748b;line-height:1.3}.indicators-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.indicator-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.indicator-card:hover{border-color:#93c5fd;background:#f8fafc}.indicator-card input[type=checkbox]{margin-top:3px;accent-color:#2563eb;width:16px;height:16px;cursor:pointer}.indicator-content{display:flex;flex-direction:column;gap:2px}.indicator-title-row{display:flex;align-items:center;gap:6px}.indicator-icon{font-size:.95rem}.indicator-label{font-size:.86rem;font-weight:650;color:#1e293b}.indicator-rule{margin:0;font-size:.76rem;color:#64748b;line-height:1.3}.indicator-card.indicator-active{background:#f0fdf4;border-color:#86efac}.indicator-card.indicator-active .indicator-label{color:#166534}.indicator-card.indicator-warning{background:#fff7ed;border-color:#fdba74}.indicator-card.indicator-warning .indicator-label{color:#9a3412}.nutrition-indicators-card{padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.nutrition-indicators-card h4{margin:0 0 10px;font-size:.9rem;font-weight:700;color:#1e293b}.nutrition-tags-grid{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:.78rem;font-weight:600}.tag-chip.tag-ok{background:#dcfce7;color:#15803d}.tag-chip.tag-warning{background:#ffedd5;color:#c2410c}.tag-chip.tag-danger{background:#fee2e2;color:#b91c1c}.tag-chip.tag-info{background:#e0f2fe;color:#0369a1}.tag-chip.tag-neutral{background:#f1f5f9;color:#475569}.checkbox-row input{accent-color:var(--primary)}.form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.nutrition-panel{display:grid;gap:14px}.nutrition-panel-wide{margin-top:18px;padding:20px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.nutrition-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.nutrition-heading h3{margin:0;color:var(--text);font-size:1.08rem;font-weight:850}.nutrition-heading p{margin:4px 0 0;color:var(--text-muted);font-size:.88rem}.nutrition-heading span{color:var(--text-muted);font-size:.78rem;font-weight:800}.meal-type-selector{display:flex;gap:8px;margin:14px 0 16px;background:var(--surface-muted);padding:4px;border-radius:8px;border:1px solid var(--border-soft);width:fit-content}.meal-type-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:.85rem;font-weight:700;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.meal-type-tab:hover{color:var(--text);background:#0000000a}.meal-type-tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:800}.meal-type-tab .meal-tab-icon{font-size:1rem}.nutrition-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;align-items:start}.nutrition-main,.nutrition-side{display:grid;gap:12px}.macro-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.macro-item{min-height:72px;padding:11px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px}.macro-item span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.76rem;font-weight:800}.macro-item strong{color:var(--text);font-size:1.08rem;font-weight:900}.macro-distribution{display:grid;gap:10px;padding:12px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px}.macro-distribution h4{margin:0;color:var(--text);font-size:.9rem;font-weight:850}.macro-bar-row{display:grid;gap:5px}.macro-bar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.macro-bar-heading span,.macro-bar-row p{margin:0;color:var(--text-muted);font-size:.76rem;font-weight:800}.macro-bar-heading strong{color:var(--text);font-size:.82rem;font-weight:900}.macro-bar{height:10px;overflow:hidden;background:#dbe7e4;border-radius:999px}.macro-fill{height:100%;background:var(--warning);border-radius:inherit}.macro-bar-row.tone-ok .macro-fill{background:var(--success)}.macro-bar-row.tone-warning .macro-fill{background:#f5b301}.macro-bar-row.tone-danger .macro-fill{background:var(--danger)}.component-list{display:grid;gap:8px}.component-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;background:#fff;border:1px solid var(--border-soft);border-radius:7px}.component-item h4{margin:0 0 3px;color:var(--text);font-size:.84rem;font-weight:850}.component-item p{margin:0;color:var(--text-muted);font-size:.82rem}.component-item>span{color:var(--text);font-size:.8rem;font-weight:850;white-space:nowrap}.ingredient-composition-panel{display:grid;gap:12px;background:#fff;border:1px solid var(--border-soft);border-radius:8px;overflow:hidden;transition:all .2s ease}.ingredient-composition-panel.collapsed{padding:0}.ingredient-composition-panel.expanded{padding:12px}.ingredient-composition-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--surface-muted);border:none;cursor:pointer;text-align:left;transition:background .15s ease;font-family:inherit}.ingredient-composition-panel.collapsed .ingredient-composition-toggle{border-radius:7px}.ingredient-composition-panel.expanded .ingredient-composition-toggle{border-radius:6px;margin-bottom:2px}.ingredient-composition-toggle:hover{background:#e2e8f0}.ingredient-toggle-left{display:flex;align-items:center;gap:10px}.toggle-chevron{display:inline-block;font-size:.72rem;color:var(--primary);transition:transform .2s ease;line-height:1}.toggle-chevron.open{transform:rotate(90deg)}.ingredient-composition-toggle h4{margin:0;color:var(--text);font-size:.92rem;font-weight:850}.ingredient-count-badge{display:inline-block;padding:2px 8px;background:#0000000f;border-radius:12px;color:var(--text-muted);font-size:.75rem;font-weight:800}.ingredient-toggle-action{color:var(--primary);font-size:.78rem;font-weight:800;white-space:nowrap}.ingredient-composition-toggle:hover .ingredient-toggle-action{text-decoration:underline}.ingredient-table-scroll{overflow-x:auto}.ingredient-composition-table{width:100%;min-width:820px;border-collapse:collapse;font-size:.82rem}.ingredient-composition-table th,.ingredient-composition-table td{padding:9px 10px;border-bottom:1px solid var(--border-soft);color:var(--text);text-align:left;vertical-align:top}.ingredient-composition-table th{background:var(--surface-muted);color:var(--text-muted);font-size:.74rem;font-weight:850}.ingredient-composition-table tr:last-child td{border-bottom:0}.ingredient-composition-table .numeric{text-align:right;white-space:nowrap}.nutrition-validation{padding:12px;border-radius:7px;border:1px solid var(--border-soft)}.nutrition-validation.valid{background:var(--success-soft);border-color:#bbf7d0}.nutrition-validation.invalid{background:var(--danger-soft);border-color:#fecdca}.nutrition-validation strong{display:block;color:var(--text);font-size:.86rem;margin-bottom:8px}.nutrition-validation ul{margin:0;padding-left:18px;color:var(--text-muted);font-size:.82rem}.nutrition-warning,.nutrition-empty{margin:0;padding:12px;background:var(--surface-muted);border:1px dashed var(--border);border-radius:7px;color:var(--text-muted);font-size:.84rem}.success-message{margin-bottom:18px;padding:13px 14px;background:var(--success-soft);color:var(--success);border:1px solid #bbf7d0;border-radius:var(--radius);font-weight:700}.status.active{color:var(--success)}.status.inactive{color:var(--text-muted)}.compact{padding:34px 16px}@media (max-width: 1400px){.diarias-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 980px){.diarias-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-layout,.macro-grid{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.diarias-list{grid-template-columns:1fr}.diarias-toolbar,.form-actions{align-items:stretch;flex-direction:column}.diarias-toolbar span{white-space:normal}.nutrition-layout,.macro-grid,.classification-section,.check-grid,.diaria-form{grid-template-columns:1fr}}.diaria-title-block{min-width:0;display:flex;flex-direction:column;gap:2px}.diaria-desc{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.35}.diaria-header-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;max-width:52%}.badge-empenho{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:9999px;font-size:.74rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;line-height:1.3;border:1px solid transparent}.badge-empenho.badge-livre{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.badge-empenho.badge-empenhada{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.empenho-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.empenho-dot.livre-dot{background-color:#22c55e}.empenho-dot.empenhada-dot{background-color:#3b82f6}.diaria-empenho-nome{font-size:.72rem;color:var(--text-muted);text-align:right;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.diaria-detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.diaria-detail-title-row h3{margin:0}.status.inactive{display:inline-flex;align-items:center;padding:3px 8px;border-radius:9999px;font-size:.72rem;font-weight:600;background:#f1f5f9;color:var(--text-muted);border:1px solid var(--border)}.diaria-selected-view{display:flex;flex-direction:column;gap:16px;width:100%}.diaria-selected-header-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--surface-muted, #f8fafc);border:1px solid var(--border-soft, #e2e8f0);border-radius:var(--radius, 8px)}.btn-back-to-list{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary, #0284c7);color:#fff;border:1px solid var(--primary, #0284c7);border-radius:6px;font-size:.88rem;font-weight:750;cursor:pointer;transition:all .15s ease}.btn-back-to-list:hover{background:var(--primary-hover, #0369a1);border-color:var(--primary-hover, #0369a1)}.diaria-quick-switcher{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;color:var(--text-muted)}.diaria-quick-switcher select{min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer}.diaria-card-focused{border-color:var(--primary);box-shadow:0 4px 14px #00000012}.diaria-card-focused .diaria-composition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.diaria-actions .btn-close-details{background:#f1f5f9;color:var(--text);border-color:var(--border)}.diaria-actions .btn-close-details:hover{background:var(--border-soft)}.diaria-selected-details .nutrition-panel-wide{margin-top:0;border:1px solid var(--border-soft);background:#fff}@media (max-width: 900px){.diaria-card-focused .diaria-composition{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 650px){.diaria-selected-header-bar{flex-direction:column;align-items:stretch}.diaria-card-focused .diaria-composition{grid-template-columns:1fr}}.faixas-filter-strip{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap;padding:2px 0}.faixa-filter-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:9999px;color:var(--text);font-size:.88rem;font-weight:700;cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1);white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #0000000a}.faixa-filter-pill:hover{border-color:var(--primary);background:#f8fafc;transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.faixa-filter-pill.active{background:linear-gradient(135deg,var(--primary) 0%,#0d5f57 100%);border-color:var(--primary);color:#fff;box-shadow:0 3px 10px #0f766e52}.faixa-filter-pill .pill-color-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.faixa-filter-pill .pill-name{font-size:.88rem;font-weight:700}.faixa-filter-pill .pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;background:#f1f5f9;color:#334155;border-radius:9999px;font-size:.78rem;font-weight:850;line-height:1;transition:all .16s ease}.ementas-page{width:100%;max-width:1720px;margin:0 auto}.ementas-groups-grid{display:grid;gap:22px;margin-top:22px}.ementa-recipe-group{overflow:hidden;border:1px solid #dfe9e6;border-radius:20px;background:linear-gradient(145deg,#fff,#f7fbfa);box-shadow:0 9px 28px #18384512}.ementa-recipe-group-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #e4eeeb;background:#ffffffbf}.group-kicker{color:#25806b;font-size:.68rem;font-weight:850;letter-spacing:.13em}.ementa-recipe-group-header h2{margin:5px 0 0;color:#173544;font-size:1.18rem;line-height:1.25;letter-spacing:-.02em}.ementa-recipe-group-header p{margin:6px 0 0;color:#70818a;font-size:.78rem}.group-age-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.group-age-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(29,78,67,.13);border-radius:999px;background:#e8f5ef;color:#1f674f;font-size:.72rem;font-weight:850;white-space:nowrap}.ementa-group-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px;padding:16px}.ementa-group-variants .ementa-card{min-width:0;border-color:#e1ebe8;box-shadow:0 4px 15px #193a490f}.ementa-group-variants .ementa-card:hover{box-shadow:0 12px 26px #193a491c;transform:translateY(-2px)}@media (max-width: 720px){.ementa-recipe-group-header{align-items:flex-start;flex-direction:column;padding:18px}.group-age-chips{justify-content:flex-start}.ementa-group-variants{grid-template-columns:1fr;padding:12px}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-header h1{margin:0;color:var(--text);font-size:1.85rem;font-weight:850;letter-spacing:-.02em}.page-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:.92rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.92rem;font-weight:800;cursor:pointer;box-shadow:0 2px 4px #0f766e26;transition:all .18s ease}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--primary-shadow);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:.88rem;font-weight:750;cursor:pointer;transition:all .18s ease}.btn-secondary:hover{background:var(--surface-muted);border-color:#cbd5e1}.diarias-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:22px}.diarias-toolbar input{flex:1;min-height:42px;padding:0 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;transition:border-color .18s ease,box-shadow .18s ease}.diarias-toolbar input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1f}.faixa-filter-select{min-height:42px;padding:0 12px;color:var(--text);font-size:.9rem;font-weight:650;min-width:190px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .18s ease}.faixa-filter-select:focus{outline:none;border-color:var(--primary)}.diarias-toolbar span{color:var(--text-muted);font-size:.84rem;font-weight:800;white-space:nowrap}.ementas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:24px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm)}.toolbar-search-box{position:relative;flex:1 1 280px;max-width:460px;display:flex;align-items:center}.toolbar-search-box .search-icon{position:absolute;left:12px;font-size:.95rem;pointer-events:none;opacity:.6}.toolbar-search-box .search-input{width:100%;height:40px;padding:0 34px 0 38px;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;font-size:.9rem;color:var(--text);outline:none;transition:all .18s ease}.toolbar-search-box .search-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0f766e1f}.search-clear-btn{position:absolute;right:10px;width:20px;height:20px;border:none;background:#e2e8f0;color:#475569;border-radius:50%;font-size:.72rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.search-clear-btn:hover{background:#cbd5e1;color:#1e293b}.toolbar-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-select{height:40px;padding:0 12px;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;font-size:.86rem;font-weight:650;color:var(--text);outline:none;cursor:pointer;transition:border-color .18s ease}.filter-select:focus{border-color:var(--primary)}.btn-clear-filters{height:38px;padding:0 12px;background:transparent;border:1px dashed var(--border);border-radius:8px;font-size:.82rem;font-weight:700;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.btn-clear-filters:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.toolbar-counter{font-size:.84rem;font-weight:750;color:var(--text-muted);white-space:nowrap}.agrupamentos-filter-strip{display:flex;align-items:center;gap:6px;margin-bottom:7px;min-width:0;padding:5px 7px;overflow-x:auto;scrollbar-width:thin;background:var(--surface-muted);border:1px solid var(--border);border-radius:10px}.filter-strip-label{flex:0 0 auto;padding:0 5px 0 2px;color:var(--text-muted);font-size:.69rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.agrup-filter-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 9px;background:var(--surface);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:.76rem;font-weight:700;cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1);white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:none}.agrup-filter-pill:hover{border-color:var(--primary);background:#f8fafc;box-shadow:0 2px 6px #193a4914}.agrup-filter-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 7px #0f766e38}.agrup-filter-pill .pill-color-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.agrup-filter-pill.active .pill-color-dot{border-color:#ffffffb3;box-shadow:0 0 0 2px #ffffff59}.agrup-filter-pill .pill-name{font-size:.76rem;font-weight:700}.agrup-filter-pill .pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#f1f5f9;color:#334155;border-radius:9999px;font-size:.68rem;font-weight:850;line-height:1;transition:all .16s ease}.agrup-filter-pill:hover .pill-count{background:#e2e8f0;color:#0f172a}.agrup-filter-pill.active .pill-count{background:#ffffff47;color:#fff}.faixas-filter-strip{display:flex;align-items:center;gap:6px;margin-bottom:14px;min-width:0;padding:5px 7px;overflow-x:auto;scrollbar-width:thin;background:var(--surface-muted);border:1px solid var(--border);border-radius:10px}.faixa-filter-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 9px;background:var(--surface);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:.76rem;font-weight:700;cursor:pointer;transition:all .16s cubic-bezier(.16,1,.3,1);white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:none}.faixa-filter-pill:hover{border-color:var(--primary);background:#f8fafc;box-shadow:0 2px 6px #193a4914}.faixa-filter-pill.active{background:linear-gradient(135deg,var(--primary) 0%,#0d5f57 100%);border-color:var(--primary);color:#fff;box-shadow:0 2px 7px #0f766e38}.faixa-filter-pill.active.faixa-pre{background:linear-gradient(135deg,#ea580c,#c2410c);border-color:#ea580c;color:#fff;box-shadow:0 3px 10px #ea580c52}.faixa-filter-pill.active.faixa-c1{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;color:#fff;box-shadow:0 3px 10px #2563eb52}.faixa-filter-pill.active.faixa-c23{background:linear-gradient(135deg,#059669,#047857);border-color:#059669;color:#fff;box-shadow:0 3px 10px #05966952}.faixa-filter-pill.active.faixa-sec{background:linear-gradient(135deg,#e11d48,#be123c);border-color:#e11d48;color:#fff;box-shadow:0 3px 10px #e11d4852}.faixa-filter-pill.active.faixa-int{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#7c3aed;color:#fff;box-shadow:0 3px 10px #7c3aed52}.faixa-filter-pill .pill-color-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.faixa-filter-pill .pill-color-dot.faixa-pre{background-color:#ea580c}.faixa-filter-pill .pill-color-dot.faixa-c1{background-color:#2563eb}.faixa-filter-pill .pill-color-dot.faixa-c23{background-color:#059669}.faixa-filter-pill .pill-color-dot.faixa-sec{background-color:#e11d48}.faixa-filter-pill .pill-color-dot.faixa-int{background-color:#7c3aed}.faixa-filter-pill .pill-color-dot.faixa-default{background-color:#64748b}.faixa-filter-pill.active .pill-color-dot{border-color:#ffffffb3;box-shadow:0 0 0 2px #ffffff59;background-color:#fff!important}.faixa-filter-pill .pill-name{font-size:.76rem;font-weight:700}.faixa-filter-pill .pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#f1f5f9;color:#334155;border-radius:9999px;font-size:.68rem;font-weight:850;line-height:1;transition:all .16s ease}.faixa-filter-pill:hover .pill-count{background:#e2e8f0;color:#0f172a}.faixa-filter-pill.active .pill-count{background:#ffffff47;color:#fff}.ementas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.ementa-card{min-height:250px;padding:18px 20px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 5px #0f172a0a;cursor:pointer;display:flex;flex-direction:column;position:relative;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1)}.ementa-card:hover{transform:translateY(-3px);border-color:var(--primary-border);box-shadow:0 12px 26px -4px #0f172a17,0 4px 10px -2px #0f172a0a}.card-top-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:10px}.badge-faixa-etaria{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:9999px;font-size:.78rem;font-weight:750;letter-spacing:.02em;white-space:nowrap;line-height:1.3;border:1px solid transparent;box-shadow:0 1px 2px #0000000a}.badge-faixa-etaria.faixa-pre{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.badge-faixa-etaria.faixa-c1{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.badge-faixa-etaria.faixa-c23{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.badge-faixa-etaria.faixa-int{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}.badge-faixa-etaria.faixa-sec{background:#fff1f2;color:#be123c;border-color:#fecdd3}.badge-faixa-etaria.faixa-default{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:9999px;font-size:.74rem;font-weight:750;line-height:1.2}.status-pill-active{background:#ecfdf3;color:#15803d;border:1px solid #bbf7d0}.status-pill-inactive{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.status-dot{width:6px;height:6px;border-radius:50%}.status-pill-active .status-dot{background:#22c55e;box-shadow:0 0 0 2px #22c55e40}.status-pill-inactive .status-dot{background:#94a3b8}.card-main-content{display:flex;flex-direction:column;gap:10px;flex:1}.card-title{margin:0;color:var(--text);font-size:1.05rem;font-weight:800;line-height:1.35;transition:color .18s ease}.ementa-card:hover .card-title{color:var(--primary)}.card-desc{margin:0;color:var(--text-muted);font-size:.85rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-institution-details{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px}.inst-detail-line{display:flex;align-items:center;gap:8px;min-width:0}.inst-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;font-size:.72rem;font-weight:750;white-space:nowrap;flex-shrink:0;line-height:1.25}.inst-tag.school-tag{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.inst-tag.grouping-tag{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.inst-title{font-size:.82rem;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-institution{display:flex;align-items:center;gap:7px;padding:7px 10px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px;font-size:.8rem;color:var(--text-muted);font-weight:650}.card-institution .inst-icon{font-size:.95rem;flex-shrink:0}.card-institution .inst-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-week-strip{background:#f8fafc;border:1px solid var(--border-soft);border-radius:8px;padding:9px 11px;display:flex;flex-direction:column;gap:7px;margin-top:4px}.week-label-row{display:flex;align-items:center;justify-content:space-between}.week-label{font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.week-count{font-size:.73rem;font-weight:800;padding:1px 7px;border-radius:4px}.week-count.full{background:#dcfce7;color:#15803d}.week-count.partial{background:#fef3c7;color:#b45309}.week-count.empty{background:#f1f5f9;color:#64748b}.week-days-row{display:flex;gap:5px}.day-badge{flex:1;text-align:center;padding:5px 0;border-radius:6px;font-size:.76rem;transition:all .15s ease}.day-badge.day-present{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary-border);font-weight:800}.day-badge.day-absent{background:#fff;color:#94a3b8;border:1px dashed #e2e8f0;font-weight:600;opacity:.75}.card-month-strip{background:#f8fafc;border:1px solid var(--border-soft);border-radius:8px;padding:9px 11px;display:flex;flex-direction:column;gap:7px;margin-top:4px}.month-period-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.period-badge{font-size:.82rem;font-weight:800;color:var(--text)}.weeks-count{font-size:.74rem;font-weight:800;padding:2px 7px;border-radius:4px}.weeks-count.active{background:#e0f2fe;color:#0369a1}.weeks-count.empty{background:#f1f5f9;color:#64748b}.semanas-chips-row{display:flex;flex-wrap:wrap;gap:5px}.semana-chip{padding:3px 8px;border-radius:5px;font-size:.74rem;font-weight:700}.semana-chip.semana-presente{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary-border)}.semana-chip.semana-vazia{background:#fff;color:var(--text-soft);border:1px dashed #e2e8f0;font-weight:500}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-soft)}.card-view-hint{font-size:.8rem;font-weight:750;color:var(--primary);display:flex;align-items:center;gap:4px;white-space:nowrap}.card-view-hint .arrow{transition:transform .18s ease}.ementa-card:hover .card-view-hint .arrow{transform:translate(4px)}.card-actions{display:flex;align-items:center;gap:6px}.btn-card-action{min-height:31px;padding:0 11px;border-radius:6px;font-size:.78rem;font-weight:750;cursor:pointer;transition:all .15s ease}.btn-card-action.btn-duplicate{background:#fff;color:var(--text);border:1px solid var(--border)}.btn-card-action.btn-duplicate:hover:not(:disabled){background:var(--surface-muted);border-color:#cbd5e1;color:var(--primary)}.btn-card-action.btn-delete{background:#fff;color:var(--danger);border:1px solid #fecaca}.btn-card-action.btn-delete:hover:not(:disabled){background:var(--danger-soft);border-color:#fca5a5}.btn-card-action:disabled{cursor:not-allowed;opacity:.65}.error-message{margin-bottom:18px;padding:13px 16px;background:var(--danger-soft);color:var(--danger);border:1px solid #fecdca;border-radius:var(--radius);font-weight:700;font-size:.9rem}.success-message{margin-bottom:18px;padding:13px 16px;background:#ecfdf3;color:var(--success);border:1px solid #bbf7d0;border-radius:var(--radius);font-weight:700;font-size:.9rem}.empty-state{padding:56px 20px;background:var(--surface);border:1px dashed var(--border);border-radius:12px;text-align:center}.empty-state p{margin:0 0 18px;color:var(--text-muted);font-size:1rem}.loading{padding:48px;color:var(--text-muted);text-align:center;font-size:.95rem}.ementa-meta{display:grid;gap:6px;margin-top:14px}.ementa-meta span{max-width:100%;padding:4px 8px;background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border-soft);border-radius:4px;font-size:.76rem;font-weight:750}.ementa-meta .dias-receitas{width:100%;color:var(--text)}.status{color:var(--success);font-size:.78rem;font-weight:850}.card-duplicate{min-height:30px;padding:0 10px;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.78rem;font-weight:850;cursor:pointer}.card-duplicate:hover:not(:disabled){background:var(--surface-muted)}.card-delete{min-height:30px;padding:0 10px;background:#fff;color:var(--danger);border:1px solid #fecaca;border-radius:6px;font-size:.78rem;font-weight:850}.card-delete:hover:not(:disabled){background:var(--danger-soft)}@media (max-width: 768px){.page-header{align-items:stretch;flex-direction:column}.btn-primary{width:100%}.ementas-toolbar{flex-direction:column;align-items:stretch}.toolbar-search-box{max-width:100%}.toolbar-filters{flex-direction:column;align-items:stretch}.filter-select,.btn-clear-filters{width:100%}.ementas-grid{grid-template-columns:1fr}}.ementa-detail{width:100%;max-width:1720px;margin:0 auto}.detail-header{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:22px}.detail-header h1{flex:1;margin:0;color:var(--text);font-size:1.85rem;font-weight:850}.btn-primary,.btn-secondary,.btn-edit,.btn-danger,.btn-small,.btn-danger-small,.btn-export{min-height:38px;padding:0 14px;border-radius:7px;font-size:.9rem;font-weight:850;transition:background .18s ease,box-shadow .18s ease,border-color .18s ease}.btn-primary,.btn-edit,.btn-small{background:var(--primary);color:#fff}.btn-primary:hover,.btn-edit:hover,.btn-small:hover{background:var(--primary-hover)}.btn-danger{background:var(--primary);color:#fff}.btn-danger:hover{background:var(--primary-hover)}.btn-danger-small{background:#fff;color:var(--danger);border:1px solid #f1b8b2}.btn-danger-small:hover{background:var(--danger-soft)}.btn-export:hover{background:var(--primary-hover)}.validation-box{margin-bottom:20px;padding:18px;background:var(--surface);border:1px solid var(--border-soft);border-left:4px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.validation-box.valid{background:var(--success-soft);border-color:#bbf7d0;border-left-color:var(--success)}.validation-box.invalid{background:var(--danger-soft);border-color:#fecdca;border-left-color:var(--danger)}.validation-box h3{margin:0 0 12px;color:var(--text);font-size:1rem;font-weight:850}.validation-box h4{margin:12px 0 8px;color:var(--text);font-size:.9rem;font-weight:800}.validation-box ul{margin:0;padding-left:18px}.validation-box li{margin:5px 0;color:var(--text-muted);font-size:.9rem}.warnings li{color:var(--warning)}.errors li{color:var(--danger)}.ementa-section{margin-bottom:16px;padding:22px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.ementa-section h2{margin:0 0 16px;color:var(--text);font-size:1.05rem;font-weight:850}.section-header h2{margin:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.info-grid p{margin:0;padding:13px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px;color:var(--text-muted);font-size:.9rem}.info-grid strong{color:var(--text)}.receitas-list{display:grid;gap:10px}.dias-grid{display:grid;gap:14px;overflow-x:auto;scrollbar-width:thin}.dia-card{display:grid;gap:12px;padding:14px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px}.dia-card h3{margin:0;color:var(--text);font-size:.98rem;font-weight:850}.dia-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dia-card-header .btn-danger-small{min-height:30px;padding:0 10px;flex:0 0 auto}.diaria-select-group{display:grid;gap:6px}.diaria-select-group label{color:var(--text);font-size:.82rem;font-weight:850}.diaria-select-group select{min-height:40px;padding:8px 10px;color:var(--text)}.dia-detail-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:12px;align-items:stretch}.add-panel{display:grid;gap:14px;margin-bottom:16px;padding:16px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px}.available-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:260px;overflow:auto}.available-item{display:flex;align-items:center;gap:9px;padding:10px 11px;background:#fff;border:1px solid var(--border-soft);border-radius:7px;color:var(--text);font-size:.9rem;font-weight:750}.available-item input{accent-color:var(--primary)}.add-actions{display:flex;justify-content:flex-end;gap:10px}.daily-detail-card{display:flex;flex-direction:column;justify-content:space-between;padding:16px;background:#fff;border:1px solid var(--border-soft, #edf1f5);border-radius:8px;box-shadow:0 1px 3px #0f172a0a}.daily-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.daily-card-title-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.daily-card-title-group h4{margin:0;color:#1e293b;font-size:.95rem;font-weight:800}.daily-card-faixa{font-size:.74rem;font-weight:600;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:9999px;border:1px solid #e2e8f0}.daily-card-badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:9999px}.daily-card-badge.badge-atribuida{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.daily-card-badge.badge-disponivel{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.diaria-composition-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:12px;flex:1}.diaria-composition-summary div{display:flex;flex-direction:column;justify-content:flex-start;gap:4px;padding:9px 11px;background:#f8fafc;border:1px solid #edf2f7;border-radius:7px;transition:background .15s ease,border-color .15s ease}.diaria-composition-summary div:hover{background:#f1f5f9;border-color:#e2e8f0}.diaria-composition-summary span{color:#64748b;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.diaria-composition-summary strong{color:#1e293b;font-size:.86rem;font-weight:700;line-height:1.35;word-break:break-word}.nutrition-reference-card{display:flex;flex-direction:column;gap:12px;padding:16px;background:#fff;border:1px solid var(--border-soft, #edf1f5);border-radius:8px;box-shadow:0 1px 3px #0f172a0a}.nutrition-reference-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.nutrition-reference-title-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nutrition-reference-title-group h4{margin:0;color:#1e293b;font-size:.94rem;font-weight:800}.nutrition-ref-label{color:#64748b;font-size:.74rem;font-weight:700;background:#f8fafc;padding:2px 8px;border-radius:9999px;border:1px solid #e2e8f0;white-space:nowrap}.nutrition-bar-row{display:grid;gap:5px}.nutrition-bar-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.nutrition-bar-label span,.nutrition-bar-row small,.nutrition-reference-empty{margin:0;color:var(--text-muted);font-size:.74rem;font-weight:800}.nutrition-bar-label strong{color:var(--text);font-size:.78rem;font-weight:900}.nutrition-bar-track{height:9px;overflow:hidden;background:#dbe7e4;border-radius:999px}.nutrition-bar-fill{height:100%;background:var(--warning);border-radius:inherit}.nutrition-bar-row.tone-ok .nutrition-bar-fill,.nutrition-bar-row.energy.tone-ok .nutrition-bar-fill{background:var(--success)}.nutrition-bar-row.tone-warning .nutrition-bar-fill,.nutrition-bar-row.energy.tone-warning .nutrition-bar-fill{background:#f5b301}.nutrition-bar-row.tone-danger .nutrition-bar-fill,.nutrition-bar-row.energy.tone-danger .nutrition-bar-fill{background:var(--danger)}.nutrition-meal-tag{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:9999px}.nutrition-meal-tag.tag-principal{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.nutrition-meal-tag.tag-veg{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.nutrition-meal-tabs-mini{display:inline-flex;gap:4px;padding:3px;background:#f1f5f9;border-radius:7px;width:fit-content}.btn-meal-tab-mini{padding:4px 10px;border-radius:5px;font-size:.74rem;font-weight:700;border:none;background:transparent;color:#64748b;cursor:pointer;transition:all .15s ease}.btn-meal-tab-mini:hover{color:#1e293b}.btn-meal-tab-mini.active{background:#fff;color:#0f766e;box-shadow:0 1px 3px #00000014}.nutrition-reference-note{margin:4px 0 0;font-size:.72rem;font-weight:600;color:#64748b;line-height:1.35;background:#f8fafc;padding:7px 10px;border-radius:6px;border-left:3px solid #cbd5e1}.dia-empty{margin:0;padding:12px;color:var(--text-muted);background:#fff;border:1px dashed var(--border);border-radius:7px;font-size:.86rem;text-align:center}.weekly-validation{display:grid;gap:8px;margin-top:16px;padding:14px;border:1px solid var(--border-soft);border-radius:7px}.weekly-validation.valid{background:var(--success-soft);border-color:#bbf7d0}.weekly-validation.invalid{background:var(--danger-soft);border-color:#fecdca}.weekly-validation strong{color:var(--text);font-size:.9rem}.weekly-validation ul{margin:0;padding-left:18px;color:var(--text-muted);font-size:.84rem}.monthly-planning-layout,.weekly-planning-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:16px;align-items:start;overflow-x:auto;scrollbar-width:thin}.monthly-weeks-panel,.weekly-days-panel{min-width:0;overflow-x:auto;scrollbar-width:thin}.monthly-validation-panel{display:grid;gap:14px;position:sticky;top:24px;padding:18px;background:var(--surface-muted);border:1px solid var(--border-soft);border-left:5px solid var(--warning);border-radius:var(--radius)}.monthly-validation-panel.valid{border-left-color:var(--success)}.monthly-validation-header{display:grid;gap:10px}.monthly-validation-header span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.monthly-validation-header h2{margin:0 0 6px;color:var(--text);font-size:1.12rem;font-weight:850}.monthly-validation-header p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.monthly-validation-header>strong{justify-self:start;padding:7px 10px;background:#fff;color:var(--text);border:1px solid var(--border-soft);border-radius:999px;font-size:.78rem;font-weight:850}.monthly-counters{display:flex;flex-wrap:wrap;gap:8px}.monthly-counters span{padding:6px 8px;background:#ffffffb8;border:1px solid var(--border-soft);border-radius:999px;color:var(--text-muted);font-size:.78rem;font-weight:850}.validation-counters span strong{color:var(--text)}.validation-alerts-grid{display:grid;gap:12px}.validation-alert-group{padding:14px;background:#fff;border:1px solid var(--border-soft);border-radius:7px}.validation-alert-group.error{border-color:#fecdca}.validation-alert-group.warning{border-color:#fde68a}.validation-alert-group h4{margin:0 0 9px;color:var(--text);font-size:.9rem;font-weight:850}.validation-alert-group ul{display:grid;gap:7px;margin:0;padding-left:18px}.validation-alert-group li{color:var(--text-muted);font-size:.86rem;line-height:1.45}.validation-alert-group.error li{color:var(--danger)}.validation-alert-group.warning li{color:var(--warning)}.validation-ok-message{margin:0;padding:12px;background:#fff;color:var(--success);border:1px solid #bbf7d0;border-radius:7px;font-weight:800}.receita-actions{display:flex;gap:8px}.empty{margin:0;padding:26px;color:var(--text-muted);background:var(--surface-muted);border:1px dashed var(--border);border-radius:7px;text-align:center}.loading,.error{padding:48px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);color:var(--text-muted);text-align:center}.error{background:var(--danger-soft);color:var(--danger)}.ementa-form{display:flex;flex-direction:column;gap:16px}.ementa-form .form-group{display:flex;flex-direction:column}.ementa-form .form-group label{margin-bottom:6px;font-weight:600;color:var(--text);font-size:.9rem}.ementa-form .form-group input,.ementa-form .form-group select,.ementa-form .form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;font-family:inherit;background:var(--input-bg, #fff);color:var(--text)}.ementa-form .form-group textarea{resize:vertical;min-height:80px}.ementa-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ementa-form .form-group:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:8px}.ementa-form .form-group:has(input[type=checkbox]) label{margin-bottom:0}.ementa-form .form-group input[type=checkbox]{width:18px;height:18px;margin:0}@media (max-width: 640px){.detail-header,.section-header,.receita-item{align-items:stretch;flex-direction:column}.btn-primary,.btn-secondary,.btn-edit,.btn-danger,.btn-small,.btn-danger-small,.btn-export{width:100%}.add-actions{flex-direction:column}.dia-detail-grid,.diaria-composition-summary,.monthly-planning-layout,.weekly-planning-layout,.validation-alerts-grid{grid-template-columns:1fr}.monthly-validation-panel{position:static}}.variedade-pill{display:inline-block;font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:9999px;margin-top:3px;width:fit-content}.variedade-pill.pill-ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.variedade-pill.pill-warn{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.harmonizacao-calorias-card{margin-top:8px;margin-bottom:12px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:8px}.harmonizacao-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.harmonizacao-label{font-size:.8rem;font-weight:700;color:#334155;margin:0}.harmonizacao-badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:9999px;white-space:nowrap}.harmonizacao-badge.badge-neutral{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.harmonizacao-badge.badge-reduced{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.harmonizacao-slider-row{display:flex;align-items:center;gap:10px}.harmonizacao-range{flex:1;height:6px;accent-color:#059669;cursor:pointer}.harmonizacao-input-wrap{display:flex;align-items:center;gap:3px}.harmonizacao-number-input{width:48px;height:26px;padding:2px 4px;font-size:.82rem;font-weight:700;text-align:right;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#1e293b}.harmonizacao-unit{font-size:.78rem;font-weight:700;color:#64748b}.harmonizacao-presets{display:flex;gap:6px;flex-wrap:wrap}.btn-preset-pct{padding:2px 8px;font-size:.72rem;font-weight:600;border-radius:4px;border:1px solid #cbd5e1;background:#fff;color:#475569;cursor:pointer;transition:all .15s ease}.btn-preset-pct:hover{background:#f1f5f9;border-color:#94a3b8}.btn-preset-pct.active{background:#059669;color:#fff;border-color:#047857;font-weight:700}.harmonizacao-preview{display:flex;flex-direction:column;gap:2px;padding-top:6px;border-top:1px dashed #e2e8f0}.harmonizacao-preview-kcal{font-size:.82rem;color:#0f172a}.harmonizacao-original{font-size:.75rem;color:#64748b;text-decoration:line-through;margin-left:5px}.harmonizacao-hint{font-size:.7rem;color:#64748b;font-style:italic}.nutrition-harmonizada-tag{color:#059669;font-weight:700;margin-left:4px}.nutrition-original-kcal{color:#94a3b8;text-decoration:line-through;font-weight:400;margin-left:4px}.producao-page{width:100%;max-width:1720px;margin:0 auto}.producao-page h1{margin:0 0 8px;color:var(--text);font-size:1.85rem;font-weight:850}.subtitle{margin:0 0 22px;color:var(--text-muted);font-size:.98rem;line-height:1.6}.producao-container{padding:22px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.producao-error{margin-bottom:16px;padding:12px 14px;background:var(--danger-soft);border:1px solid #fecaca;border-radius:var(--radius);color:var(--danger);font-size:.9rem;font-weight:750}.selector-section{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) auto;gap:16px;align-items:end;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--border-soft)}.selector-group{display:flex;flex-direction:column}.selector-group label{margin-bottom:7px;color:var(--text);font-size:.9rem;font-weight:750}.selector-group select{min-height:42px;padding:0 12px;font-size:.94rem}.selector-group input{min-height:38px;padding:0 10px;font-size:.92rem}.btn-calcular,.btn-export{min-height:42px;padding:0 16px;border-radius:7px;font-size:.92rem;font-weight:850;transition:background .18s ease,box-shadow .18s ease}.btn-calcular{background:var(--primary);color:#fff}.btn-calcular:hover:not(:disabled),.btn-export:hover{background:var(--primary-hover);box-shadow:var(--primary-shadow)}.btn-calcular:disabled{background:#cbd5e1;color:#fff;cursor:not-allowed}.resultado-producao{margin-top:26px}.resultado-header{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.resultado-header h2{margin:0;color:var(--text);font-size:1.1rem;font-weight:850}.btn-export{background:var(--primary);color:#fff}.producao-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:22px;padding:16px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:var(--radius)}.producao-info p{margin:0;color:var(--text-muted);font-size:.9rem}.producao-info strong{color:var(--text)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:22px}.production-metrics{grid-template-columns:repeat(4,minmax(160px,1fr))}.metric-card{padding:14px;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius)}.metric-card span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.82rem;font-weight:750}.metric-card strong{color:var(--text);font-size:1.22rem;font-weight:900}.producao-alert{margin-bottom:18px;padding:12px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:var(--radius)}.producao-alert p{margin:0 0 6px;color:#9a3412;font-size:.88rem}.producao-alert p:last-child{margin-bottom:0}.table-title{margin:20px 0 10px;color:var(--text);font-size:1rem;font-weight:850}.table-wrap{width:100%;overflow-x:auto}.producao-table{width:100%;border-collapse:collapse;margin-bottom:22px;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius)}.producao-table thead{background:var(--surface-muted)}.producao-table th,.producao-table td{padding:12px 14px;border-bottom:1px solid var(--border-soft);text-align:left;font-size:.9rem}.producao-table th{color:var(--text);font-weight:850}.producao-table td{color:var(--text-muted)}.producao-table td strong{color:var(--text)}.producao-table tbody tr:hover{background:#fbfcfd}.componentes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-bottom:22px}.componente-card{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid var(--border-soft);border-left:4px solid var(--primary);border-radius:7px}.componente-main{display:grid;gap:4px}.componente-main span{color:var(--primary-hover);font-size:.74rem;font-weight:900;text-transform:uppercase}.componente-main strong{color:var(--text);font-size:.94rem;font-weight:850;line-height:1.35}.componente-main small{color:var(--text-muted);font-size:.78rem;font-weight:750}.componente-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.componente-values div{padding:9px 10px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:6px}.componente-values span{display:block;margin-bottom:4px;color:var(--text-muted);font-size:.7rem;font-weight:850}.componente-values strong{display:block;color:var(--text);font-size:.88rem;font-weight:900}.componente-values small{display:block;margin-top:3px;color:var(--text-muted);font-size:.68rem;font-weight:750;line-height:1.2}.producao-totais{padding:16px;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:var(--radius)}.producao-totais h3{margin:0 0 12px;color:var(--primary-hover);font-size:1rem}.totais-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.total-item{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#fff;border:1px solid var(--border-soft);border-radius:7px}.total-item .label{color:var(--text-muted);font-weight:750}.total-item .valor{color:var(--text);font-weight:850}.producao-empty{padding:34px 20px;background:var(--surface-muted);border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.producao-empty.compact{margin-bottom:20px;padding:22px 16px}.producao-empty h2{margin:0 0 8px;color:var(--text);font-size:1rem;font-weight:850}.producao-empty p{max-width:620px;margin:0 auto;color:var(--text-muted);font-size:.9rem;line-height:1.55}@media (max-width: 900px){.selector-section{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.btn-calcular{width:100%}}@media (max-width: 640px){.producao-container{padding:16px}.resultado-header{align-items:stretch;flex-direction:column}.metrics-grid,.componente-values{grid-template-columns:1fr}}.exportar-page{padding:24px;max-width:1360px;margin:0 auto;font-family:inherit;color:#0f172a}.exportar-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px;flex-wrap:wrap}.exportar-header h1{margin:0 0 6px;font-size:1.85rem;font-weight:850;color:#0f172a;letter-spacing:-.025em}.exportar-header .subtitle{margin:0;color:#64748b;font-size:.94rem;max-width:780px;line-height:1.5}.header-logos-indicator{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;color:#15803d;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .16s ease}.header-logos-indicator:hover{background:#dcfce7;transform:translateY(-1px)}.dot-active{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px #22c55e40}.export-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-radius:9px;margin-bottom:18px;font-size:.92rem;font-weight:600;animation:fadeIn .2s ease-in-out}.export-banner.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.export-banner.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.export-banner button{background:transparent;border:none;font-size:1.1rem;cursor:pointer;color:inherit;opacity:.7}.export-tabs-nav{display:inline-flex;gap:8px;margin-bottom:22px;padding:5px;background:#f1f5f9;border:1.5px solid #cbd5e1;border-radius:12px;box-shadow:inset 0 1px 2px #0000000a}.export-tab-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;background:transparent;color:#475569;border:1px solid transparent;border-radius:8px;font-size:.94rem;font-weight:750;cursor:pointer;transition:all .18s ease}.export-tab-btn:hover{color:#0f172a;background:#ffffffb3;border-color:#e2e8f0}.export-tab-btn.active{background:#fff;color:var(--primary, #0284c7);border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a14}.tab-counter{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:12px;background:#e2e8f0;color:#475569;font-size:.76rem;font-weight:800}.export-tab-btn.active .tab-counter{background:var(--primary-soft, #e0f2fe);color:var(--primary, #0284c7)}.tab-counter.alert{background:#dcfce7;color:#15803d}.tab-content-fade{animation:fadeIn .22s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.agrupamentos-selector-bar{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:12px 18px;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;flex-wrap:wrap}.selector-title{font-size:.85rem;font-weight:750;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.agrup-pills-list{display:flex;gap:8px;flex-wrap:wrap}.agrup-pill-btn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:8px;color:#334155;font-size:.88rem;font-weight:750;cursor:pointer;transition:all .16s ease}.agrup-pill-btn:hover{background:#fff;border-color:#94a3b8;color:#0f172a}.agrup-pill-btn.active{background:var(--primary-soft, #e0f2fe);border-color:var(--primary, #0284c7);color:var(--primary, #0284c7);box-shadow:0 2px 6px #0284c726}.pill-count{padding:1px 6px;border-radius:10px;background:#0000000f;font-size:.74rem}.agrupamento-master-card{background:#fff;border:1.5px solid #e2e8f0;border-top:5px solid var(--agrup-accent, #0284c7);border-radius:16px;box-shadow:0 4px 16px #0000000d;overflow:hidden}.master-card-header{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1.5px solid #e2e8f0;gap:18px;flex-wrap:wrap}.agrup-info-group{display:flex;align-items:center;gap:16px}.agrup-emblem{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;font-size:1.7rem;flex-shrink:0}.master-agrup-name{margin:0 0 6px;font-size:1.4rem;font-weight:850;color:#0f172a}.master-agrup-meta{display:flex;gap:8px;flex-wrap:wrap}.meta-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;background:#f1f5f9;color:#475569;font-size:.8rem;font-weight:750}.meta-badge.highlight{background:#e0f2fe;color:#0369a1}.inline-search-box{position:relative;display:flex;align-items:center;min-width:260px}.search-ico{position:absolute;left:12px;font-size:.95rem;pointer-events:none;opacity:.5}.inline-search-box input{width:100%;height:40px;padding:0 32px 0 36px;border:1.5px solid #cbd5e1;border-radius:8px;font-size:.9rem;transition:all .16s ease}.inline-search-box input:focus{outline:none;border-color:var(--primary, #0284c7);box-shadow:0 0 0 3px #0284c726}.clear-btn{position:absolute;right:10px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e2e8f0;color:#475569;font-size:.72rem;cursor:pointer}.age-filter-tabs{display:flex;align-items:center;gap:12px;padding:14px 28px;background:#f8fafc;border-bottom:1.5px solid #e2e8f0;flex-wrap:wrap}.age-filter-label{font-size:.82rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.age-pills-wrap{display:flex;gap:8px;flex-wrap:wrap}.age-tab-btn{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px;background:#fff;border:1.5px solid #cbd5e1;border-radius:20px;color:#475569;font-size:.84rem;font-weight:750;cursor:pointer;transition:all .16s ease}.age-tab-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.age-tab-btn.active{background:#0f172a;border-color:#0f172a;color:#fff;box-shadow:0 2px 6px #0f172a26}.pill-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;border-radius:10px;background:#00000014;font-size:.72rem;font-weight:800}.age-tab-btn.active .pill-badge{background:#fff3;color:#fff}.export-period-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;background:#f8fafc;border-bottom:1.5px solid #e2e8f0;flex-wrap:wrap}.period-panel-info{display:flex;align-items:center;gap:12px;min-width:260px}.period-panel-icon{font-size:1.35rem;flex-shrink:0}.period-panel-title{font-size:.86rem;font-weight:800;color:#1e293b;letter-spacing:-.01em}.period-panel-desc{font-size:.78rem;color:#64748b;margin-top:2px}.period-preview-text{color:#0369a1}.period-preview-text strong{font-weight:750;color:#0284c7}.period-panel-inputs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.period-input-group{display:inline-flex;align-items:center;gap:6px;background:#fff;padding:4px 10px;border:1.5px solid #cbd5e1;border-radius:8px;transition:all .16s ease}.period-input-group:focus-within{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.period-input-label{font-size:.78rem;font-weight:800;color:#475569;text-transform:uppercase}.period-date-input{border:none;background:transparent;font-size:.84rem;font-weight:600;color:#0f172a;outline:none;font-family:inherit;padding:2px 0}.btn-clear-dates{background:#e2e8f0;border:none;padding:6px 12px;border-radius:6px;font-size:.76rem;font-weight:750;color:#475569;cursor:pointer;transition:all .15s ease}.btn-clear-dates:hover{background:#cbd5e1;color:#0f172a}.ementas-rows-container{padding:20px 28px;display:flex;flex-direction:column;gap:14px}.empty-ementas-notice{padding:40px;text-align:center;color:#64748b;font-size:.95rem}.btn-clean-filter{margin-top:10px;padding:6px 14px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer}.ementa-executive-row{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;gap:20px;box-shadow:0 1px 3px #00000008;transition:all .16s ease}.ementa-executive-row:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d;background:#fafbfc}.row-info-column{flex:1;min-width:0}.row-title-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.ementa-main-title{margin:0;font-size:1.08rem;font-weight:850;color:#0f172a}.faixa-pill-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;font-size:.78rem;font-weight:800;letter-spacing:.02em}.faixa-pre{background:#fef08a;color:#854d0e}.faixa-c1{background:#fed7aa;color:#9a3412}.faixa-c23{background:#bae6fd;color:#075985}.faixa-sec{background:#ddd6fe;color:#5b21b6}.faixa-int{background:#bbf7d0;color:#166534}.faixa-default{background:#e2e8f0;color:#475569}.row-details-bar{display:flex;align-items:center;gap:14px;font-size:.84rem;color:#64748b;flex-wrap:wrap}.detail-tag{display:inline-flex;align-items:center;gap:5px;font-weight:600}.status-pill{font-weight:750}.status-pill.active{color:#16a34a}.status-pill.inactive{color:#94a3b8}.row-actions-column{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap}.btn-action-primary{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:850;cursor:pointer;box-shadow:0 3px 10px #0284c747;transition:all .16s ease;white-space:nowrap}.btn-action-primary:hover:not(:disabled){background:linear-gradient(135deg,#0369a1,#075985);transform:translateY(-1px);box-shadow:0 5px 14px #0284c761}.btn-action-primary:disabled{opacity:.65;cursor:not-allowed}.secondary-actions-group{display:flex;gap:6px}.btn-action-secondary{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;background:#fff;border:1.5px solid #cbd5e1;border-radius:9px;color:#334155;font-size:.88rem;font-weight:750;cursor:pointer;transition:all .16s ease;white-space:nowrap}.btn-action-secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8;color:#0f172a;transform:translateY(-1px)}.btn-action-secondary:disabled{opacity:.65;cursor:not-allowed}.btn-icon{font-size:1rem}.no-agrupamentos-box{padding:60px 20px;text-align:center;background:#fff;border:1.5px dashed #cbd5e1;border-radius:16px;color:#64748b;font-size:1.1rem}.logos-studio-container{padding:10px 0}.logos-header-bar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.logos-header-bar h2{margin:0 0 4px;font-size:1.45rem;font-weight:850;color:#0f172a}.logos-header-bar p{margin:0;color:#64748b;font-size:.92rem;max-width:740px}.btn-back-to-menus{padding:9px 18px;background:#f1f5f9;border:1.5px solid #cbd5e1;border-radius:8px;color:#334155;font-size:.9rem;font-weight:750;cursor:pointer;transition:all .16s ease}.btn-back-to-menus:hover{background:#e2e8f0;color:#0f172a}.logos-cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:24px}.studio-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0000000a;padding:26px;display:flex;flex-direction:column}.card-top-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#f1f5f9;font-size:1.5rem;margin-bottom:14px}.card-header-texts h3{margin:0 0 4px;font-size:1.2rem;font-weight:850;color:#0f172a}.card-header-texts p{margin:0 0 18px;font-size:.86rem;color:#64748b;line-height:1.4}.card-action-body{flex:1;display:flex;flex-direction:column;gap:16px}.upload-btn-container{display:flex;flex-direction:column;gap:6px}.upload-btn-container.faded{opacity:.5;pointer-events:none}.btn-custom-upload{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;background:var(--primary, #0284c7);color:#fff;border-radius:8px;font-size:.92rem;font-weight:750;cursor:pointer;transition:all .16s ease;text-align:center}.btn-custom-upload input[type=file]{display:none}.btn-custom-upload:hover{background:var(--primary-hover, #0369a1)}.btn-custom-upload.secondary{background:#f1f5f9;color:#334155;border:1.5px solid #cbd5e1}.btn-custom-upload.secondary:hover{background:#e2e8f0}.upload-subtext{font-size:.78rem;color:#94a3b8;text-align:center}.paper-mockup-header,.paper-mockup-footer{margin-top:6px;padding:16px;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:10px}.mockup-tag{font-size:.78rem;font-weight:750;color:#64748b;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}.mockup-page-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 1px 3px #0000000d;gap:12px}.mockup-logo-slot{width:90px;height:44px;display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:4px;background:#f8fafc;overflow:hidden;flex-shrink:0}.mockup-img{max-width:100%;max-height:100%;object-fit:contain}.no-logo-text{font-size:.72rem;color:#94a3b8;text-align:center}.mockup-text-slot{flex:1;display:flex;flex-direction:column}.mockup-text-slot strong{font-size:.95rem;color:#0f172a}.mockup-text-slot span{font-size:.78rem;color:#64748b}.mockup-meta-slot{display:flex;flex-direction:column;align-items:flex-end;font-size:.72rem;color:#94a3b8}.btn-clear-logo{margin-top:10px;width:100%;padding:6px 12px;background:transparent;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;font-size:.82rem;font-weight:750;cursor:pointer;transition:all .14s ease}.btn-clear-logo:hover{background:#fef2f2}.watermark-switch-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.switch-element{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.switch-element input{opacity:0;width:0;height:0}.switch-knob{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#cbd5e1;transition:.2s;border-radius:24px}.switch-knob:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%}input:checked+.switch-knob{background-color:var(--primary, #0284c7)}input:checked+.switch-knob:before{transform:translate(20px)}.switch-text-block strong{display:block;font-size:.88rem;color:#0f172a}.switch-text-block p{margin:2px 0 0;font-size:.78rem;color:#64748b}.mockup-page-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.75rem;color:#94a3b8}.mockup-stamp-slot{display:flex;align-items:center;justify-content:center}.mockup-stamp-img{max-width:44px;max-height:28px;object-fit:contain;opacity:.8}.mockup-default-stamp{display:inline-flex;align-items:center;justify-content:center;padding:2.5px 7px;border:1px solid #1e3a8a;border-radius:3.5px;color:#1e3a8a;opacity:.85;font-size:.68rem;font-weight:600;letter-spacing:.08em;line-height:1}.no-stamp-text{color:#cbd5e1;font-style:italic}@media (max-width: 1024px){.ementa-executive-row{flex-direction:column;align-items:stretch}.row-actions-column{justify-content:flex-start}}@media (max-width: 640px){.exportar-page{padding:16px}.master-card-header{flex-direction:column;align-items:flex-start}.inline-search-box{width:100%}.secondary-actions-group{flex-wrap:wrap;width:100%}.btn-action-primary{width:100%;justify-content:center}.btn-action-secondary{flex:1;justify-content:center}.export-period-panel{flex-direction:column;align-items:stretch;padding:12px 16px}.period-panel-inputs{flex-direction:column;align-items:stretch}.period-input-group{width:100%;justify-content:space-between}}.logo-source-selector{display:grid;gap:6px;margin:0 0 18px;padding:14px 16px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fbff;max-width:520px}.logo-source-selector label{font-weight:700;color:#1f2937}.logo-source-selector select{max-width:360px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.logo-source-selector small{color:#64748b}.logo-preview{display:block;max-width:140px;max-height:64px;object-fit:contain;margin-top:8px;border-radius:6px}.logo-source-title{font-weight:700;color:#1f2937;margin-bottom:8px}.logo-source-options{display:flex;flex-wrap:wrap;gap:10px}.logo-source-option{display:flex;align-items:center;gap:10px;min-width:245px;padding:9px 12px;border:1px solid #dbe4f0;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.logo-source-option.active{border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe;background:#eff6ff}.logo-source-option strong,.logo-source-option small{display:block}.logo-source-option small{margin-top:2px;color:#64748b}.logo-source-image{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#f1f5f9;overflow:hidden;font-size:10px;color:#64748b}.logo-source-image img{width:100%;height:100%;object-fit:contain}.alimentos-page{width:100%;max-width:1720px;margin:0 auto}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.alimentos-page .btn-primary,.alimentos-page .btn-secondary,.alimentos-page .btn-danger{min-height:40px;padding:0 14px;border-radius:7px;font-size:.88rem;font-weight:850;white-space:nowrap}.alimentos-page .btn-primary{background:var(--primary);color:#fff;border:1px solid var(--primary)}.alimentos-page .btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.alimentos-page .btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.alimentos-page .btn-secondary:hover:not(:disabled){background:var(--surface-muted)}.alimentos-page .btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid #fecdca}.alimentos-page .btn-danger:hover:not(:disabled){background:#fee4e2}.alimentos-page button:disabled{opacity:.7;cursor:not-allowed}.alimento-form-panel{margin-bottom:20px;padding:18px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.form-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border-soft)}.form-panel-header h2{margin:0;color:var(--text);font-size:1.08rem;font-weight:850}.form-panel-header p{margin:5px 0 0;color:var(--text-muted);font-size:.88rem;line-height:1.45}.alimento-form-grid,.nutrient-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.nutrient-edit-grid,.allergen-form-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft)}.allergen-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.allergen-form-heading h3{margin:0;color:var(--text);font-size:.98rem;font-weight:850}.allergen-form-heading p{margin:4px 0 0;color:var(--text-muted);font-size:.84rem;line-height:1.45}.auto-allergen-list{display:grid;gap:8px;margin-bottom:12px;padding:10px 12px;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:7px}.auto-allergen-list>span{color:var(--primary-hover);font-size:.74rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.auto-allergen-list div,.allergen-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px}.auto-allergen-list strong{padding:5px 8px;background:#fff;color:var(--text);border:1px solid var(--border-soft);border-radius:999px;font-size:.8rem;font-weight:800}.allergen-checkbox{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;min-height:34px;padding:7px 10px;background:#fff;border:1px solid var(--border);border-radius:999px;color:var(--text)!important;cursor:pointer}.allergen-checkbox span{font-size:.82rem;font-weight:800}.alimento-form-panel label{display:grid;gap:7px;color:var(--text);font-size:.8rem;font-weight:850}.alimento-form-panel input,.alimento-form-panel textarea{width:100%;min-height:40px;padding:9px 11px;color:var(--text);border:1px solid var(--border);border-radius:7px;background:#fff;font-size:.9rem;font-weight:600}.alimento-form-panel textarea{min-height:88px;resize:vertical;line-height:1.45}.alimento-form-panel .allergen-checkbox input[type=checkbox]{flex:0 0 auto;width:14px;height:14px;min-height:14px;margin:0;padding:0;border-radius:3px;accent-color:var(--primary)}.wide-field{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;margin-top:16px}.alimentos-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:14px;align-items:stretch;margin-bottom:18px}.search-bar input{width:100%;min-height:44px;padding:0 14px;color:var(--text);font-size:.94rem}.total-counter{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 14px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.total-counter span{color:var(--text-muted);font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.total-counter strong{color:var(--primary);font-size:1.05rem}.alimentos-table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.alimentos-content{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.alimentos-content.without-detail{grid-template-columns:1fr}.alimentos-table{width:100%;border-collapse:collapse;min-width:820px}.alimentos-table thead{background:var(--surface-muted)}.alimentos-table th,.alimentos-table td{padding:13px 14px;border-bottom:1px solid var(--border-soft);text-align:left;font-size:.9rem}.alimentos-table th{color:var(--text);font-weight:850}.alimentos-table td{color:var(--text-muted);vertical-align:top}.alimentos-table td:first-child{color:var(--text)}.alimentos-table td:first-child strong{display:block;font-weight:850}.alimentos-table td:first-child span{display:block;margin-top:3px;color:var(--text-muted);font-size:.82rem}.alimentos-table tbody tr:hover{background:#fbfcfd}.alimentos-table tbody tr{cursor:pointer}.alimentos-table tbody tr.selected{background:var(--primary-soft)}.alimentos-table tbody tr.selected td:first-child{color:var(--primary-hover)}.alimento-detail{position:sticky;top:28px;max-height:calc(100vh - 56px);overflow:auto;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.detail-heading,.detail-section{padding:18px}.detail-heading h2{margin:0;color:var(--text);font-size:1.15rem;font-weight:850;line-height:1.35}.detail-heading p,.muted{margin:8px 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.detail-heading{border-bottom:1px solid var(--border-soft)}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.detail-heading>span{display:inline-flex;margin-bottom:9px;padding:4px 8px;background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border-soft);border-radius:999px;font-size:.75rem;font-weight:850}.macro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px;border-bottom:1px solid var(--border-soft)}.macro-card{min-height:74px;padding:12px;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:7px}.macro-card span{display:block;margin-bottom:8px;color:var(--primary-hover);font-size:.74rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.macro-card strong{color:var(--text);font-size:1.08rem;font-weight:850}.detail-section{border-bottom:1px solid var(--border-soft)}.detail-section:last-child{border-bottom:none}.detail-section h3{margin:0 0 12px;color:var(--text);font-size:.98rem;font-weight:850}.detail-section dl{display:grid;gap:9px;margin:0}.detail-section dl div,.nutrients-list div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-soft)}.detail-section dl div:last-child,.nutrients-list div:last-child{border-bottom:none}.detail-section dt,.nutrients-list span{color:var(--text-muted);font-size:.88rem}.detail-section dd,.nutrients-list strong{margin:0;color:var(--text);font-size:.88rem;font-weight:800;text-align:right}.allergen-list{display:flex;flex-wrap:wrap;gap:8px}.allergen-list span{padding:6px 9px;background:var(--warning-soft);color:var(--warning);border:1px solid #fedf89;border-radius:999px;font-size:.82rem;font-weight:800}.allergen-list .allergen-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:999px;font-size:.82rem;font-weight:700}.chip-remove-btn{background:transparent;border:none;color:#b45309;font-size:1.1rem;line-height:1;padding:0 3px;cursor:pointer;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.chip-remove-btn:hover{color:#dc2626;background:#dc262626}.detail-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.detail-section-header h3{margin-bottom:0!important}.section-hint{font-size:.75rem;color:#64748b;font-weight:500}.quick-add-allergen{margin-top:10px}.quick-add-allergen select{width:100%;padding:7px 10px;border:1.5px dashed #cbd5e1;border-radius:7px;background:#f8fafc;color:#475569;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .18s ease}.quick-add-allergen select:hover{border-color:var(--primary, #0284c7);background:#f0f9ff;color:var(--primary, #0284c7)}.detail-loading{min-height:180px}.pagination{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.pagination button{min-height:38px;padding:0 14px;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:7px;font-weight:800}.pagination button:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-hover)}.pagination button:disabled{color:var(--text-soft);cursor:not-allowed}.pagination span{color:var(--text-muted);font-size:.9rem;font-weight:700}.error-message{margin-bottom:18px;padding:13px 14px;background:var(--danger-soft);color:var(--danger);border:1px solid #fecdca;border-radius:var(--radius);font-weight:700}.success-message{margin-bottom:18px;padding:13px 14px;background:#ecfdf3;color:#067647;border:1px solid #abefc6;border-radius:var(--radius);font-weight:700}.empty-state{padding:56px 20px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.empty-state p{margin:0;color:var(--text-muted);font-size:1rem}@media (max-width: 700px){.page-header,.form-panel-header{align-items:stretch;flex-direction:column}.header-actions{justify-content:stretch}.header-actions button{width:100%}.alimento-form-grid,.nutrient-edit-grid{grid-template-columns:1fr}.allergen-form-heading{align-items:stretch;flex-direction:column}.wide-field{grid-column:auto}.alimentos-toolbar,.alimentos-content{grid-template-columns:1fr}.alimento-detail{position:static;max-height:none}.pagination{align-items:stretch;flex-direction:column}}.alimentos-subtabs{display:inline-flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:6px;background:#f1f5f9;border:1.5px solid #cbd5e1;border-radius:12px;box-shadow:inset 0 1px 2px #0000000a}.alimentos-subtabs button{min-height:44px;padding:0 22px;background:transparent;color:#475569;border:1px solid transparent;border-radius:8px;font-size:.96rem;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .18s ease}.alimentos-subtabs button:hover{color:#0f172a;background:#ffffffb3;border-color:#e2e8f0}.alimentos-subtabs button.active{background:#fff;color:var(--primary, #0284c7);border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a14}.subtab-counter{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:12px;background:#e2e8f0;color:#475569;font-size:.76rem;font-weight:800}.alimentos-subtabs button.active .subtab-counter{background:var(--primary-soft, #e0f2fe);color:var(--primary, #0284c7)}.subtab-counter.alert{background:#fef3c7;color:#92400e}.filter-select-wrap select.allergen-filter-select{height:42px;padding:0 12px;border-radius:7px;border:1px solid var(--border-soft, #e2e8f0);background:#fff;color:var(--text, #1e293b);font-size:.88rem;font-weight:600;cursor:pointer}.mini-allergen-tags{display:flex;flex-wrap:wrap;gap:4px}.mini-tag{display:inline-block;padding:1px 6px;border-radius:4px;background:#f1f5f9;border:1px solid #cbd5e1;color:#334155;font-size:.72rem;font-weight:650;text-transform:capitalize}.muted-dash{color:#94a3b8}.allergen-manager-layout{display:flex;flex-direction:column;gap:20px}.allergen-pills-container{background:#fff;border:1px solid var(--border-soft, #e2e8f0);border-radius:var(--radius, 10px);padding:16px;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05))}.allergen-pills-label{margin-bottom:12px;font-size:.85rem;font-weight:700;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.04em}.allergen-pills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.allergen-pill-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;color:var(--text, #1e293b);font-size:.86rem;font-weight:650;text-align:left;cursor:pointer;transition:all .15s ease}.allergen-pill-btn:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.allergen-pill-btn.active{background:var(--primary-soft, #eff6ff);border-color:var(--primary, #3b82f6);color:var(--primary, #1d4ed8);box-shadow:0 2px 4px #3b82f626;font-weight:800}.pill-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e2e8f0;color:#475569;font-size:.72rem;font-weight:800;flex-shrink:0}.allergen-pill-btn.active .pill-index{background:var(--primary, #3b82f6);color:#fff}.pill-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-count{padding:2px 7px;border-radius:10px;background:#e2e8f0;color:#334155;font-size:.75rem;font-weight:800;flex-shrink:0}.allergen-pill-btn.active .pill-count{background:var(--primary, #3b82f6);color:#fff}.pill-count.zero{background:#f1f5f9;color:#94a3b8}.allergen-details-panel{display:flex;flex-direction:column;gap:18px;background:#fff;border:1px solid var(--border-soft, #e2e8f0);border-radius:var(--radius, 10px);padding:22px;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05))}.allergen-panel-header{border-bottom:1px solid #e2e8f0;padding-bottom:16px}.allergen-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:6px}.allergen-title-row h2{margin:0;font-size:1.4rem;font-weight:850;color:var(--text, #0f172a)}.allergen-code-badge{padding:4px 10px;border-radius:6px;background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.allergen-count-badge{padding:4px 12px;border-radius:20px;background:#dbeafe;color:#1e40af;font-size:.82rem;font-weight:800}.allergen-subtitle{margin:0;color:var(--text-muted, #64748b);font-size:.9rem;line-height:1.5}.allergen-add-card{position:relative;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:16px}.add-card-header{margin-bottom:10px}.add-card-header h3{margin:0 0 3px;font-size:.98rem;font-weight:800;color:var(--text, #1e293b);display:flex;align-items:center;gap:7px}.add-card-hint{font-size:.83rem;color:var(--text-muted, #64748b)}.add-card-search-wrap{position:relative;display:flex;align-items:center}.add-food-input{width:100%;height:44px;padding:0 40px 0 14px;border-radius:7px;border:1.5px solid #94a3b8;background:#fff;color:var(--text, #0f172a);font-size:.94rem;font-weight:550;transition:all .15s ease}.add-food-input:focus{border-color:var(--primary, #2563eb);outline:none;box-shadow:0 0 0 3px #2563eb26}.search-loading-hint{position:absolute;right:42px;font-size:.8rem;color:#64748b;font-style:italic}.clear-search-btn{position:absolute;right:12px;width:24px;height:24px;background:#e2e8f0;border:none;border-radius:50%;color:#475569;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.clear-search-btn:hover{background:#cbd5e1;color:#0f172a}.add-search-dropdown{margin-top:10px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 20px #0000001a;overflow:hidden;max-height:360px;overflow-y:auto}.dropdown-title{padding:9px 14px;background:#f1f5f9;color:#475569;font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.search-results-list{list-style:none;margin:0;padding:0}.search-result-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid #f1f5f9;transition:background .12s ease}.search-result-row:last-child{border-bottom:none}.search-result-row:hover{background:#f8fafc}.result-food-info{display:flex;flex-direction:column;gap:2px}.result-food-name strong{color:var(--text, #0f172a);font-size:.92rem}.result-food-name small{margin-left:6px;color:var(--text-muted, #64748b)}.result-food-meta{font-size:.78rem;color:var(--text-muted, #64748b)}.badge-already-added{display:inline-block;padding:4px 10px;border-radius:5px;background:#e2e8f0;color:#475569;font-size:.78rem;font-weight:700}.btn-add-allergen{display:inline-flex;align-items:center;padding:6px 14px;border-radius:6px;background:#10b981;color:#fff;border:none;font-size:.82rem;font-weight:750;cursor:pointer;transition:background .15s ease;white-space:nowrap}.btn-add-allergen:hover{background:#059669}.add-search-empty{margin-top:8px;padding:10px;background:#fff;border-radius:6px;border:1px dashed #cbd5e1;color:var(--text-muted, #64748b);font-size:.86rem;text-align:center}.allergen-foods-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.allergen-count-summary{font-size:.88rem;color:var(--text-muted, #64748b)}.allergen-count-summary strong{color:var(--text, #0f172a)}.allergen-table-wrap{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.allergen-manage-table th{background:#f8fafc;color:#475569;font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.03em;padding:11px 14px}.allergen-manage-table td{padding:12px 14px;vertical-align:middle}.tca-tag{display:inline-block;padding:2px 7px;border-radius:4px;background:#f1f5f9;color:#475569;font-size:.8rem;font-weight:700;font-family:monospace}.food-name-cell{display:flex;flex-direction:column;gap:2px}.food-name-cell strong{color:var(--text, #0f172a);font-size:.93rem}.food-name-cell .short-name{color:var(--text-muted, #64748b);font-size:.8rem}.group-info{display:flex;flex-direction:column;gap:2px}.group-info .level-1{font-size:.86rem;color:#334155;font-weight:600}.group-info .level-2{font-size:.77rem;color:#64748b}.other-allergens-wrap{display:flex;flex-wrap:wrap;gap:5px}.other-allergen-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#fed7aa;border:1px solid #fdba74;color:#9a3412;font-size:.75rem;font-weight:750}.solo-allergen-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:.75rem;font-weight:700}.btn-remove-allergen{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:5px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:.8rem;font-weight:750;cursor:pointer;transition:all .14s ease}.btn-remove-allergen:hover{background:#fee2e2;border-color:#f87171;color:#b91c1c;transform:translateY(-1px)}.allergen-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:8px;text-align:center}.allergen-empty-state .empty-icon{width:44px;height:44px;border-radius:50%;background:#ecfdf5;color:#059669;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;margin-bottom:12px}.allergen-empty-state h4{margin:0 0 6px;font-size:1.05rem;color:#1e293b;font-weight:800}.allergen-empty-state p{margin:0;color:#64748b;font-size:.9rem;max-width:500px}.escolas-page{width:100%;max-width:1720px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.page-header h1{margin:0;color:var(--text);font-size:1.85rem;font-weight:850}.page-subtitle{margin:6px 0 0;color:var(--text-muted);font-size:.96rem;line-height:1.5}.btn-primary,.btn-secondary{min-height:40px;padding:0 16px;border-radius:7px;font-size:.92rem;font-weight:850}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--text-muted);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-muted);color:var(--text)}.entity-tabs{display:inline-flex;gap:4px;margin-bottom:18px;padding:4px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:8px}.entity-tabs button{min-height:36px;padding:0 14px;background:transparent;color:var(--text-muted);border-radius:6px;font-size:.9rem;font-weight:850}.entity-tabs button.active{background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}.escolas-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start;margin-bottom:18px}.escolas-layout.single-panel,.agrupamentos-layout.single-panel{grid-template-columns:1fr}.escolas-list-panel,.escola-form-panel,.agrupamentos-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.escolas-list-panel{padding:16px}.escolas-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:14px}.school-filters{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(260px,1fr);gap:10px}.school-filters select,.escolas-toolbar input{width:100%;min-height:42px;padding:0 12px;font-size:.94rem}.escolas-toolbar span{color:var(--text-muted);font-size:.86rem;font-weight:800;white-space:nowrap}.escolas-list{display:grid;gap:12px}.escola-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.escola-card:hover,.escola-card.selected{border-color:var(--primary-border);box-shadow:var(--shadow-md)}.escola-card.selected{background:var(--primary-soft)}.escola-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%;padding:16px;text-align:left}.escola-main h2{margin:0 0 5px;color:var(--text);font-size:1rem;font-weight:850;line-height:1.35}.escola-main p{margin:0;color:var(--text-muted);font-size:.88rem}.school-group-line,.agrupamento-card h3{display:flex;align-items:center;gap:8px}.group-color-dot{flex:0 0 auto;width:12px;height:12px;border:1px solid rgba(15,23,42,.16);border-radius:999px}.status{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:.76rem;font-weight:850}.status.active{background:var(--success-soft);color:var(--success)}.status.inactive{background:var(--surface-muted);color:var(--text-muted)}.escola-meta{display:grid;gap:6px;padding:0 16px 14px;color:var(--text-muted);font-size:.84rem}.escola-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--border-soft)}.escola-actions button{min-height:34px;padding:0 12px;background:#fff;color:var(--primary);border:1px solid var(--primary-border);border-radius:7px;font-weight:800}.escola-actions button:hover{background:var(--primary-soft)}.escola-actions .danger-action{color:var(--danger);border-color:#f1b8b2}.escola-actions .danger-action:hover{background:var(--danger-soft)}.agrupamentos-panel{padding:18px}.agrupamentos-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:18px;align-items:start}.agrupamento-form{display:grid;gap:14px;padding:16px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:var(--radius)}.agrupamentos-list{display:grid;gap:12px}.agrupamento-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius)}.agrupamento-card.selected{background:var(--primary-soft);border-color:var(--primary-border)}.agrupamento-card h3{margin:0 0 5px;color:var(--text);font-size:1rem;font-weight:850}.color-input-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center}.color-input-row input[type=color]{width:48px;min-height:40px;padding:3px}.agrupamento-card p{margin:0;color:var(--text-muted);font-size:.88rem}.agrupamento-school-count{margin-top:5px;font-weight:800}.agrupamento-card .escola-actions{padding:0;border-top:none}.escola-form-panel{position:sticky;top:28px;padding:18px}.form-heading{margin-bottom:16px}.form-heading h2{margin:0;color:var(--text);font-size:1.15rem;font-weight:850}.form-heading p{margin:6px 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.escola-form{display:grid;gap:14px}.form-group{display:grid;gap:7px}.form-group input,.form-group select,.form-group textarea{width:100%;min-height:42px;padding:10px 12px;font-size:.94rem}.form-group textarea{resize:vertical}.checkbox-row{display:flex;align-items:center;gap:9px}.form-actions{display:flex;gap:10px;margin-top:4px}.error-message,.success-message{margin-bottom:18px;padding:13px 14px;border-radius:var(--radius);font-weight:700}.error-message{background:var(--danger-soft);color:var(--danger);border:1px solid #fecdca}.success-message{background:var(--success-soft);color:var(--success);border:1px solid #bbf7d0}.empty-state{padding:44px 20px;background:var(--surface-muted);border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.empty-state.compact{padding:24px}.empty-state p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.5}.loading{padding:48px;color:var(--text-muted);text-align:center}@media (max-width: 980px){.escolas-layout,.agrupamentos-layout{grid-template-columns:1fr}.escola-form-panel{position:static}}@media (max-width: 640px){.page-header,.escolas-toolbar,.school-filters,.form-actions,.escola-actions,.agrupamento-card{align-items:stretch;flex-direction:column}.page-header,.escolas-toolbar,.school-filters,.agrupamento-card{display:flex}.btn-primary,.btn-secondary,.escola-actions button{width:100%}}.logo-upload-group{margin-top:8px}.utilizadores-page{width:100%;max-width:1720px;margin:0 auto}.utilizadores-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.utilizadores-list-panel,.utilizador-form-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.utilizadores-list-panel{padding:16px}.utilizadores-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:14px}.utilizadores-toolbar input{width:100%;min-height:42px;padding:0 12px;font-size:.94rem}.utilizadores-toolbar span{color:var(--text-muted);font-size:.86rem;font-weight:800;white-space:nowrap}.utilizadores-list{display:grid;gap:12px}.utilizador-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.utilizador-card:hover,.utilizador-card.selected{border-color:var(--primary-border);box-shadow:var(--shadow-md)}.utilizador-card.selected{background:var(--primary-soft)}.utilizador-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%;padding:16px;text-align:left}.utilizador-main h2{margin:0 0 5px;color:var(--text);font-size:1rem;font-weight:850;line-height:1.35}.utilizador-main p{margin:0;color:var(--text-muted);font-size:.88rem}.utilizador-side{display:grid;justify-items:end;gap:8px}.theme-swatch{width:28px;height:28px;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px var(--border)}.utilizador-meta{display:grid;gap:6px;padding:0 16px 14px;color:var(--text-muted);font-size:.84rem}.utilizador-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--border-soft)}.utilizador-actions button{min-height:34px;padding:0 12px;background:#fff;color:var(--primary);border:1px solid var(--primary-border);border-radius:7px;font-weight:800}.utilizador-actions button:hover:not(:disabled){background:var(--primary-soft)}.utilizador-actions button:disabled{opacity:.55;cursor:not-allowed}.utilizador-actions .danger-action{color:var(--danger);border-color:#f1b8b2}.utilizador-actions .danger-action:hover:not(:disabled){background:var(--danger-soft)}.utilizador-form-panel{padding:18px}.utilizador-form-panel h2{margin:0 0 16px;color:var(--text);font-size:1.05rem;font-weight:850}.utilizador-form{display:grid;gap:14px}.form-group{display:flex;flex-direction:column}.form-group label,.checkbox-row{color:var(--text);font-size:.9rem;font-weight:750}.form-group label{margin-bottom:7px}.form-group input{min-height:42px;padding:10px 12px;font-size:.94rem}.color-field{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px}.color-field input[type=color]{width:54px;min-height:42px;padding:4px;cursor:pointer}.form-group small{margin-top:6px;color:var(--text-muted);font-size:.8rem}.checkbox-row{display:inline-flex;align-items:center;gap:8px;width:fit-content}.checkbox-row input{width:16px;height:16px;accent-color:var(--primary)}.alert{margin-bottom:16px;padding:12px 14px;border-radius:7px;font-size:.9rem;font-weight:750}.error-alert{background:var(--danger-soft);color:var(--danger);border:1px solid #f1b8b2}.success-alert{background:var(--success-soft);color:var(--success);border:1px solid #b9e2c1}@media (max-width: 980px){.utilizadores-layout{grid-template-columns:1fr}}.monitorizacao-page{width:100%;max-width:1720px;margin:0 auto}.monitor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.monitor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.monitor-summary article,.monitor-filters,.monitor-log-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.monitor-summary article{display:grid;gap:8px;padding:18px}.monitor-summary span,.monitor-log-heading span{color:var(--text-muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.monitor-summary strong{color:var(--primary);font-size:1.9rem}.monitor-filters{display:grid;grid-template-columns:minmax(210px,1.6fr) repeat(5,minmax(130px,1fr)) auto;gap:12px;align-items:end;padding:16px;margin-bottom:18px}.monitor-filters input,.monitor-filters select{width:100%;min-height:42px;padding:8px 10px}.monitor-filter-actions{display:flex;gap:8px;padding-bottom:1px}.monitor-log-panel{overflow:hidden}.monitor-log-heading,.monitor-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.monitor-log-heading h2{margin:0;font-size:1.05rem}.monitor-table-wrap{position:relative;overflow-x:auto;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.monitor-table{width:100%;min-width:1120px;border-collapse:collapse}.monitor-table th,.monitor-table td{padding:12px 14px;border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:top;font-size:.84rem}.monitor-table th{background:#f7faf9;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.monitor-table tr:last-child td{border-bottom:0}.monitor-table td strong,.monitor-table td small{display:block}.monitor-table td small{max-width:260px;margin-top:4px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-nowrap{white-space:nowrap}.monitor-result{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.73rem;font-weight:850;background:#eef2f1}.result-sucesso{color:#166534;background:#dcfce7}.result-falha,.result-erro{color:#991b1b;background:#fee2e2}.result-bloqueado{color:#92400e;background:#fef3c7}.monitor-empty,.monitor-loading{padding:28px!important;color:var(--text-muted);text-align:center!important}.monitor-loading{position:absolute;top:41px;right:0;bottom:0;left:0;background:#ffffffd1;font-weight:800}.monitor-pagination span{color:var(--text-muted);font-size:.86rem;font-weight:750}@media (max-width: 1180px){.monitor-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-filter-actions{grid-column:1 / -1}}@media (max-width: 760px){.monitor-header{flex-direction:column}.monitor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-filters{grid-template-columns:1fr}.monitor-filter-actions{grid-column:auto}}.acompanhamento-page{width:100%;max-width:1720px;margin:0 auto}.acompanhamento-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.acompanhamento-header .header-left{flex:1;min-width:0}.acompanhamento-header .header-badge-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.acompanhamento-header .header-badge{display:inline-flex;align-items:center;padding:4px 10px;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;border-radius:999px;font-size:.74rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.acompanhamento-header .header-subbadge{display:inline-flex;align-items:center;padding:4px 10px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:999px;font-size:.74rem;font-weight:750}.acompanhamento-header h1{margin:0;color:var(--text);font-size:1.65rem;font-weight:900;line-height:1.25}.acompanhamento-header p{margin:6px 0 0;color:var(--text-muted);font-size:.95rem;line-height:1.5;max-width:860px}.acompanhamento-header .header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;flex-shrink:0}.btn-action-fiscalizacao{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;font-weight:850!important;border:none!important;box-shadow:0 4px 12px #10b9814d!important;transition:all .18s ease!important}.btn-action-fiscalizacao:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b9816b!important}.btn-back-mode{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;padding:4px 12px;color:#334155;font-size:.78rem;font-weight:800;cursor:pointer;transition:all .15s ease}.btn-back-mode:hover{background:#e2e8f0;color:#0f172a;border-color:#94a3b8}.activity-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1380px;margin:10px auto 32px}.activity-mode-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:32px 28px;display:flex;flex-direction:column;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden;text-align:left}.activity-mode-card:hover{transform:translateY(-4px);border-color:#94a3b8;box-shadow:0 12px 32px #00000014}.activity-mode-card.mode-card-highlight{border-color:#cbd5e1}.activity-mode-card.mode-card-highlight:hover{border-color:#059669;box-shadow:0 12px 32px #05966914}.mode-card-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:16px}.mode-badge{font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;padding:4px 12px;border-radius:6px;background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.mode-badge-audit{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.mode-card-body{flex:1;display:flex;flex-direction:column}.mode-card-title{margin:0 0 10px;font-size:1.4rem;font-weight:850;color:var(--text);line-height:1.25}.mode-card-desc{margin:0 0 20px;font-size:.92rem;color:var(--text-muted);line-height:1.55;font-weight:500}.mode-features-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}.mode-features-list li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:#334155;line-height:1.45}.feature-bullet{color:#64748b;font-weight:800;font-size:1rem;flex-shrink:0;line-height:1.2}.mode-card-footer{margin-top:auto;padding-top:18px;border-top:1px solid #f1f5f9}.btn-mode-cta{display:inline-flex;align-items:center;font-size:.94rem;font-weight:800;color:#2563eb;transition:transform .18s ease}.activity-mode-card:hover .btn-mode-cta{transform:translate(4px)}.btn-mode-cta-audit{color:#059669}.tracking-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.tracking-summary-card{display:flex;flex-direction:column;justify-content:space-between;padding:18px 20px;background:#fff;border:1px solid var(--border-soft);border-left:4px solid #cbd5e1;border-radius:12px;box-shadow:0 1px 3px #00000008;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.tracking-summary-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f;border-color:#cbd5e1}.tracking-summary-card:nth-child(1){border-left-color:#3b82f6}.tracking-summary-card:nth-child(2){border-left-color:#0284c7}.tracking-summary-card:nth-child(3){border-left-color:#b91c1c}.tracking-summary-card:nth-child(4){border-left-color:#d97706}.summary-data{display:flex;flex-direction:column;min-width:0}.summary-label{display:block;color:var(--text-muted);font-size:.74rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.summary-value{display:block;color:var(--text);font-size:2rem;font-weight:900;line-height:1.05}.summary-hint{display:block;margin-top:6px;color:var(--text-soft);font-size:.78rem;font-weight:600}.panorama-section{background:#fff;border:1px solid var(--border-soft);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000a}.panorama-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;flex-wrap:wrap}.panorama-header h2{margin:0;font-size:1.28rem;font-weight:850;color:var(--text);line-height:1.25}.panorama-header p{margin:4px 0 0;font-size:.88rem;color:var(--text-muted);line-height:1.45}.panorama-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-box{position:relative;display:flex;align-items:center;gap:8px;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;padding:0 12px;min-width:280px;height:38px;transition:border-color .15s ease,box-shadow .15s ease}.search-box:focus-within{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1f}.search-box svg{color:#64748b;flex-shrink:0}.search-box input{border:none;background:transparent;font-size:.86rem;color:var(--text);width:100%;outline:none;padding:0}.search-box input::placeholder{color:#94a3b8}.btn-clear-search{background:none;border:none;padding:2px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s ease}.btn-clear-search:hover{color:#334155}.filter-pill-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-pill{padding:6px 14px;border-radius:999px;font-size:.78rem;font-weight:750;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;cursor:pointer;transition:all .15s ease}.filter-pill:hover{background:#e2e8f0;color:#1e293b;border-color:#cbd5e1}.filter-pill.active{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:0 2px 6px #0f172a2e}.panorama-table-wrapper{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.panorama-table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}.panorama-table th{background:#f8fafc;padding:12px 16px;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#475569;border-bottom:1.5px solid #e2e8f0;white-space:nowrap}.panorama-table th.th-actions{text-align:right}.panorama-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#334155;transition:background .12s ease}.panorama-table tr:last-child td{border-bottom:none}.panorama-table tbody tr:hover td{background:#f8fafc}.panorama-table tbody tr.row-has-issues td{background:#fffdfc}.panorama-table tbody tr.row-has-issues:hover td{background:#fff7ed}.school-cell{display:flex;align-items:center;gap:12px}.school-color-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #fffc}.school-name-text{display:block;font-size:.92rem;font-weight:800;color:var(--text);line-height:1.25}.school-cluster-text{display:block;font-size:.76rem;font-weight:600;color:var(--text-muted);margin-top:2px}.count-interv-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.8rem;font-weight:800}.date-cell{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:#334155;font-weight:650}.date-cell svg{color:#64748b}.date-cell-next{color:#0369a1;font-weight:800}.date-cell-next svg{color:#0284c7}.badge-dim{font-size:.78rem;color:#94a3b8;font-weight:550}.badge-issue-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;font-size:.76rem;font-weight:800}.badge-ok-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;font-size:.76rem;font-weight:800}.td-actions{text-align:right;white-space:nowrap}.row-actions-group{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.btn-table-action{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:8px;font-size:.78rem;font-weight:750;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;transition:all .15s ease}.btn-table-action:hover{background:#f1f5f9;color:#0f172a;border-color:#94a3b8}.btn-table-audit{background:#ecfdf5;color:#065f46;border-color:#a7f3d0;font-weight:850}.btn-table-audit:hover{background:#059669;color:#fff;border-color:#059669}.btn-table-history:hover{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.empty-table-cell{text-align:center;padding:36px 16px!important;color:var(--text-muted);font-size:.92rem;font-weight:550}.dashboard-columns-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:30px}.dashboard-col-card{background:#fff;border:1px solid var(--border-soft);border-radius:16px;padding:22px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column}.col-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.col-card-title{display:flex;align-items:center;gap:8px}.col-card-title svg{color:#2563eb}.col-card-title h3{margin:0;font-size:1.08rem;font-weight:850;color:var(--text)}.btn-link-action{background:none;border:none;color:#2563eb;font-size:.8rem;font-weight:750;cursor:pointer;padding:4px 6px;border-radius:6px;transition:all .15s ease}.btn-link-action:hover{background:#eff6ff;color:#1d4ed8}.col-empty-state{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:.88rem;display:flex;flex-direction:column;align-items:center;gap:12px}.col-empty-success{gap:6px}.col-items-list{display:flex;flex-direction:column;gap:10px}.upcoming-visit-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;transition:border-color .15s ease,background .15s ease}.upcoming-visit-item:hover{border-color:#cbd5e1;background:#f1f5f9}.visit-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:50px;height:46px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-shrink:0}.badge-day{font-size:.84rem;font-weight:900;color:#0f172a;line-height:1.1}.badge-hour{font-size:.68rem;color:#64748b;font-weight:700;margin-top:2px}.visit-info{flex:1;min-width:0}.visit-school-name{display:block;font-size:.88rem;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-title-text{display:block;font-size:.8rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.visit-cluster-meta{display:block;font-size:.72rem;color:#94a3b8;font-weight:600;margin-top:2px}.pending-registo-item{padding:12px 14px;background:#fffdfa;border:1px solid #fed7aa;border-radius:10px;transition:border-color .15s ease}.pending-registo-item.tipo-reclamacao{background:#fffbfa;border-color:#fecaca}.registo-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.registo-tipo-tag{font-size:.7rem;font-weight:850;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.tag-reclamacao{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.tag-nota{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.tag-opiniao{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.registo-date-text{font-size:.74rem;color:#94a3b8;font-weight:650}.registo-school-name{display:block;font-size:.88rem;font-weight:800;color:var(--text);margin-bottom:2px}.registo-title-text{margin:0 0 4px;font-size:.82rem;font-weight:700;color:#334155}.registo-desc-snippet{margin:0 0 8px;font-size:.78rem;color:#64748b;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.registo-item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.05)}.registo-status-badge{font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:999px}.status-aberto{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.status-em_analise{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.status-resolvido{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.tracking-toolbar{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 18px;margin-bottom:20px;background:#fff;border:1px solid var(--border-soft);border-radius:14px;box-shadow:0 1px 3px #0000000a}.school-filter-box label,.tracking-date-range label{display:grid;gap:6px;min-width:0;color:var(--text-muted);font-size:.74rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.school-filter-box select,.tracking-date-range input{width:100%;min-width:0;min-height:42px;padding:0 12px;color:var(--text);font-size:.92rem;font-weight:750;background:#fff;border:1.5px solid #cbd5e1;border-radius:9px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.school-filter-box select:focus,.tracking-date-range input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.school-context-display{min-width:0}.selected-school-card{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px}.school-color-dot{width:6px;height:38px;flex:0 0 auto;border-radius:4px}.selected-school-info{display:flex;flex-direction:column;gap:2px;min-width:0}.school-cluster-name{font-size:.68rem;text-transform:uppercase;font-weight:800;color:#64748b;letter-spacing:.04em}.school-name{color:var(--text);font-size:.96rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-meta-tags{display:flex;gap:8px;margin-top:2px;flex-wrap:wrap}.meta-tag{font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:999px}.meta-tag.tag-pendentes{background:#fee2e2;color:#b91c1c}.meta-tag.tag-visita{background:#e0f2fe;color:#0284c7}.btn-clear-school{width:28px;height:28px;border-radius:999px;border:none;background:#e2e8f0;color:#64748b;font-size:.78rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto;flex-shrink:0;transition:all .15s ease}.btn-clear-school:hover{background:#cbd5e1;color:#0f172a}.all-schools-indicator{display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:700;color:#64748b;padding:10px 14px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px}.indicator-dot{width:8px;height:8px;border-radius:999px;background:#10b981;box-shadow:0 0 0 3px #10b98133}.tracking-date-range{display:flex;align-items:flex-end;gap:10px}.btn-clear-dates{min-height:42px;padding:0 12px;white-space:nowrap}.tracking-main-card{background:#fff;border:1px solid var(--border-soft);border-radius:14px;box-shadow:0 1px 3px #0000000a;padding:20px}.tracking-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--border-soft)}.tab-item{min-height:42px;padding:0 16px;background:#fff;color:var(--text-muted);border:1.5px solid #e2e8f0;border-radius:9px;font-size:.9rem;font-weight:800;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;gap:8px}.tab-item:hover{background:var(--surface-muted);color:var(--text);border-color:#cbd5e1}.tab-item.active{background:var(--primary-soft);color:var(--primary-hover);border-color:var(--primary-border);box-shadow:inset 0 0 0 1px var(--primary-border)}.tab-item.tab-highlight{background:#f0fdf4;border-color:#86efac;color:#166534;font-weight:850}.tab-item.tab-highlight:hover{background:#dcfce7;border-color:#4ade80}.tab-item.tab-highlight.active{background:#16a34a;border-color:#16a34a;color:#fff;box-shadow:0 2px 10px #16a34a59}.activity-list-container{display:flex;flex-direction:column;gap:16px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.list-toolbar-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.list-toolbar-left h2{margin:0;color:var(--text);font-size:1.15rem;font-weight:850}.filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-chip{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text-muted);font-size:.8rem;font-weight:750;cursor:pointer;transition:all .15s ease}.filter-chip:hover{background:var(--surface-muted);color:var(--text)}.filter-chip.active{background:#0f172a;color:#fff;border-color:#0f172a}.filter-chip.chip-agendada.active{background:#0284c7;border-color:#0284c7;color:#fff}.filter-chip.chip-realizada.active{background:#16a34a;border-color:#16a34a;color:#fff}.filter-chip.chip-pendente.active{background:#dc2626;border-color:#dc2626;color:#fff}.filter-chip.chip-resolvido.active{background:#16a34a;border-color:#16a34a;color:#fff}.filter-select-tipo{min-height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:.8rem;font-weight:750;cursor:pointer}.activity-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.activity-card{background:#fff;border:1px solid var(--border-soft);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px;transition:transform .15s ease,box-shadow .15s ease;border-left:5px solid var(--primary);box-shadow:0 1px 3px #00000008}.activity-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000012}.activity-card.card-visita.estado-agendada{border-left-color:#0284c7}.activity-card.card-visita.estado-realizada{border-left-color:#16a34a}.activity-card.card-visita.estado-cancelada{border-left-color:#94a3b8;opacity:.72}.activity-card.card-registo.tipo-reclamacao{border-left-color:#dc2626}.activity-card.card-registo.tipo-opiniao{border-left-color:#d97706}.activity-card.card-registo.tipo-nota{border-left-color:#6366f1}.activity-card.card-registo.estado-resolvido{border-left-color:#16a34a}.card-top-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.badge-status{padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.03em}.badge-status.badge-agendada{background:#e0f2fe;color:#0284c7}.badge-status.badge-realizada{background:#dcfce7;color:#15803d}.badge-status.badge-cancelada{background:#f1f5f9;color:#64748b}.badge-status.badge-aberto{background:#fee2e2;color:#dc2626}.badge-status.badge-em_analise{background:#fef3c7;color:#b45309}.badge-status.badge-resolvido{background:#dcfce7;color:#15803d}.badge-status.badge-arquivado{background:#f1f5f9;color:#64748b}.badge-tipo-registo{padding:3px 8px;border-radius:6px;font-size:.72rem;font-weight:850;text-transform:uppercase}.badge-tipo-nota{background:#ede9fe;color:#6d28d9}.badge-tipo-reclamacao{background:#fee2e2;color:#dc2626}.badge-tipo-opiniao{background:#fef3c7;color:#d97706}.card-date{font-size:.8rem;color:var(--text-muted);font-weight:650}.card-title{font-size:1.05rem;font-weight:850;color:var(--text);margin:0;line-height:1.35}.card-school{font-size:.84rem;color:var(--text-muted);font-weight:650;display:flex;align-items:center;gap:4px}.card-school-name{font-weight:800;color:var(--text)}.card-body-block{padding:10px 12px;background:#f8fafc;border-radius:8px;font-size:.84rem;color:#334155;line-height:1.5;border:1px solid #f1f5f9}.card-body-block strong{display:block;font-size:.68rem;text-transform:uppercase;color:#64748b;font-weight:850;margin-bottom:3px;letter-spacing:.03em}.card-relatorio{background:#f0fdf4;border-color:#bbf7d0;border-left:3px solid #16a34a}.card-checklist-banner{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.8rem;font-weight:700}.badge-checklist-status.done{color:#16a34a;font-weight:800}.badge-checklist-status.ongoing{color:#d97706;font-weight:800}.card-footer-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #f1f5f9}.btn-checklist-open{min-height:32px;padding:0 10px;background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:6px;font-size:.8rem;font-weight:800;cursor:pointer;transition:background .15s ease}.btn-checklist-open:hover{background:#dcfce7}.btn-danger-link{background:transparent;border:none;color:#ef4444;font-size:.8rem;font-weight:750;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s ease}.btn-danger-link:hover{background:#fee2e2}.empty-state-box{text-align:center;padding:48px 24px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:14px;color:#64748b;font-weight:600}.fiscalizacao-launch-panel{display:grid;gap:20px;max-width:960px;margin:0 auto;padding:10px 0}.launch-hero{text-align:center;padding:28px 20px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4,#f8fafc);border:1.5px solid #a7f3d0;border-radius:16px;box-shadow:0 4px 12px #10b98114}.launch-hero h2{margin:0 0 8px;font-size:1.5rem;font-weight:900;color:#065f46}.launch-hero p{margin:0;color:#047857;font-size:.96rem;font-weight:600}.launch-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.control-group{display:grid;gap:7px}.control-group label{font-size:.78rem;font-weight:850;text-transform:uppercase;color:#475569;letter-spacing:.03em}.control-group select{width:100%;min-height:48px;padding:0 14px;font-size:.96rem;font-weight:750;border-radius:10px;border:1.5px solid #cbd5e1;background:#fff;color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.control-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.launch-school-pill{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #00000008}.checklist-preview-card{background:#fff;border:1.5px solid #a7f3d0;border-radius:14px;padding:20px;box-shadow:0 4px 14px #10b98114;display:flex;flex-direction:column;gap:16px}.preview-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.preview-badge{font-size:.74rem;font-weight:850;text-transform:uppercase;color:#166534;background:#dcfce7;padding:4px 10px;border-radius:999px;letter-spacing:.03em}.preview-stat{font-size:.85rem;font-weight:800;color:#475569;background:#f1f5f9;padding:4px 12px;border-radius:8px}.preview-items-scroll{max-height:260px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;background:#f8fafc}.preview-item{padding:8px 12px;border-radius:6px;font-size:.88rem;display:flex;align-items:center;gap:8px}.preview-item.is-separator{background:#fff;font-weight:850;color:#1e293b;border-left:4px solid #64748b;text-transform:uppercase;font-size:.8rem;letter-spacing:.03em}.preview-item.is-point{background:#fff;color:#334155;border:1px solid #e2e8f0;font-weight:650}.launch-action-bar{display:flex;justify-content:center;padding-top:10px}.btn-launch-now{min-height:54px;padding:0 36px;font-size:1.15rem;font-weight:900;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;box-shadow:0 4px 16px #10b98166;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;gap:8px}.btn-launch-now:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98180}.no-checklist-selected{text-align:center;padding:36px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:14px;color:#64748b;font-weight:600}.tracking-form{display:grid;gap:14px;padding:20px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;margin-bottom:20px}.tracking-form.compact{margin-bottom:14px;padding:14px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.form-header h2{margin:0;color:var(--text);font-size:1.15rem;font-weight:850}.btn-close-form{width:32px;height:32px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:.9rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-close-form:hover{background:#f1f5f9;color:#0f172a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label:first-child{grid-column:1 / -1}.tracking-form.compact .form-grid label:first-child{grid-column:auto}.tracking-form label{display:grid;gap:6px;color:var(--text-muted);font-size:.76rem;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.tracking-form input,.tracking-form select,.tracking-form textarea{width:100%;min-height:42px;padding:0 12px;color:var(--text);font-size:.92rem;font-weight:650;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.tracking-form textarea{min-height:auto;padding:10px 12px;line-height:1.5;resize:vertical}.tracking-form input:focus,.tracking-form select:focus,.tracking-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.calendar-panel{display:grid;gap:16px}.calendar-header{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.calendar-header label{display:flex;align-items:center;gap:10px;font-weight:850;font-size:.84rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.calendar-header input{min-height:40px;padding:0 12px;border-radius:8px;border:1.5px solid #cbd5e1;font-weight:750;color:var(--text)}.calendar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{color:var(--text-muted);font-size:.76rem;font-weight:850;text-align:center;text-transform:uppercase;letter-spacing:.04em}.calendar-day{display:block;width:100%;min-height:116px;padding:10px;background:#fff;border:1px solid var(--border-soft);border-radius:10px;text-align:left;transition:all .18s ease;cursor:pointer}.calendar-day.empty{background:var(--surface-muted);cursor:default;border-color:transparent}.calendar-day:not(.empty):hover,.calendar-day.selected{background:var(--primary-soft);border-color:var(--primary-border);box-shadow:inset 0 0 0 1px var(--primary-border)}.calendar-day.today{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.day-number-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.day-number{color:var(--text);font-size:.85rem;font-weight:850}.day-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:var(--primary);color:#fff;font-size:.7rem;font-weight:900}.calendar-pins{display:grid;gap:5px}.calendar-pin{display:flex;align-items:center;gap:6px;min-width:0;padding:5px 7px;background:var(--primary-soft);color:var(--primary-hover);border-radius:6px;font-size:.72rem;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-pin.pin-realizada{background:#dcfce7;color:#15803d}.calendar-pin.pin-cancelada{background:#f1f5f9;color:#64748b}.calendar-pin.pin-agendada{background:#e0f2fe;color:#0369a1}.calendar-pin i{width:7px;height:7px;flex:0 0 auto;background:currentColor;border-radius:999px}.pin-more{color:var(--text-muted);font-size:.72rem;font-style:normal;font-weight:850;padding:2px 4px}.calendar-side{position:sticky;top:24px;display:grid;gap:14px;padding:16px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px}.calendar-side-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.calendar-side-header span{display:block;margin-bottom:4px;color:var(--text-muted);font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.calendar-side-header strong{color:var(--text);font-size:1.05rem;font-weight:900}.calendar-day-list{display:grid;gap:10px}.calendar-detail{display:grid;gap:6px;padding:12px;background:#fff;border:1px solid var(--border-soft);border-left:4px solid var(--primary);border-radius:8px}.calendar-detail.estado-realizada{border-left-color:#16a34a}.calendar-detail.estado-cancelada{border-left-color:#94a3b8}.calendar-detail.estado-agendada{border-left-color:#0284c7}.detail-top-row{display:flex;justify-content:space-between;align-items:center}.detail-time{font-size:.78rem;color:var(--text-muted);font-weight:700}.calendar-detail h3{margin:0;color:var(--text);font-size:.92rem;font-weight:850}.calendar-detail .detail-school{margin:0;color:var(--text-muted);font-size:.82rem;font-weight:750}.calendar-detail .detail-obj{margin:0;color:#475569;font-size:.8rem;font-weight:650;line-height:1.4;background:#f8fafc;padding:6px 8px;border-radius:6px}.checklist-panel{display:grid;gap:16px}.checklist-topbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:14px;align-items:end;padding:16px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px}.checklist-topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.checklist-topbar label,.checklist-add-item label{display:grid;gap:7px;min-width:0;color:var(--text-muted);font-size:.78rem;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.checklist-topbar select,.checklist-add-item select,.checklist-add-item input{width:100%;min-width:0;min-height:44px;padding:0 12px;color:var(--text);font-size:.94rem;font-weight:700;border:1.5px solid #cbd5e1;border-radius:8px;background:#fff}.checklist-workspace{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start}.checklist-overview,.checklist-items-card,.checklist-empty-panel{background:#fff;border:1px solid var(--border-soft);border-radius:12px;box-shadow:0 1px 3px #0000000a}.checklist-overview{position:sticky;top:18px;display:grid;gap:14px;padding:20px}.checklist-scope-badge{display:inline-block;color:var(--text-muted);font-size:.74rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.checklist-overview h2,.checklist-empty-panel h2{margin:0;color:var(--text);font-size:1.25rem;font-weight:900}.checklist-desc{margin:0;color:var(--text-muted);font-size:.9rem;font-weight:650;line-height:1.5}.checklist-progress-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.checklist-progress-stats .stat-card strong{display:block;color:var(--text);font-size:1.5rem;font-weight:900;line-height:1}.checklist-progress-stats .stat-card small{color:var(--text-muted);font-size:.78rem;font-weight:750}.checklist-actions{display:flex;flex-direction:column;gap:8px}.checklist-items-card{display:grid;gap:16px;padding:20px}.checklist-add-item{display:grid;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--border-soft)}.add-item-row{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr) auto;gap:10px;align-items:end}.checklist-items{display:grid;gap:10px}.checklist-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-height:72px;padding:14px 16px;background:#f8fafc;border:1px solid var(--border-soft);border-left:5px solid var(--primary);border-radius:9px}.checklist-item.type-separador{min-height:56px;background:#fff;border-left-color:#64748b}.checklist-item.type-separador p{color:#334155;font-weight:850;text-transform:uppercase;letter-spacing:.03em;font-size:.92rem}.checklist-item-content{display:flex;align-items:center;gap:12px}.checklist-item-type{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;font-size:.72rem;font-weight:900}.checklist-item-type.type-sep{background:#f1f5f9;color:#475569}.checklist-item-type.type-pt{background:var(--primary-soft);color:var(--primary-hover)}.checklist-item p{margin:0;color:var(--text);font-size:.98rem;font-weight:750;line-height:1.45}.item-remove{min-height:36px;padding:0 12px;background:#fff;color:var(--danger);border:1px solid #fecaca;border-radius:7px;font-size:.78rem;font-weight:850;cursor:pointer;transition:all .15s ease}.item-remove:hover{background:#fee2e2}.checklist-empty-panel{display:grid;justify-items:start;gap:12px;padding:32px}.inspection-mode{width:100%;max-width:1720px;min-height:calc(100vh - 44px);margin:0 auto;padding:18px}.inspection-header,.inspection-progress-card,.inspection-notes-card,.inspection-item{background:#fff;border:1px solid var(--border-soft);border-radius:14px;box-shadow:0 1px 3px #0000000a}.inspection-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px}.inspection-badge{display:inline-block;margin-bottom:5px;padding:4px 10px;background:#dcfce7;color:#166534;border-radius:999px;font-size:.74rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.inspection-header h1{margin:0;color:var(--text);font-size:1.55rem;font-weight:900}.inspection-header p{margin:6px 0 0;color:var(--text-muted);font-size:.95rem;font-weight:750}.inspection-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.inspection-progress-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(200px,1.5fr);gap:14px;margin:16px 0;padding:18px;align-items:center}.inspection-metric{padding:12px 16px;background:#f8fafc;border:1px solid var(--border-soft);border-radius:10px}.inspection-metric strong{display:block;color:var(--text);font-size:1.85rem;font-weight:900;line-height:1}.inspection-metric span{display:block;margin-top:5px;color:var(--text-muted);font-size:.74rem;font-weight:850;text-transform:uppercase}.metric-conforme strong{color:#16a34a}.metric-nao-conforme strong{color:#dc2626}.inspection-progress-bar-wrap{display:flex;flex-direction:column;gap:6px}.inspection-progress-label{font-size:.82rem;font-weight:850;color:var(--text)}.inspection-progress-bar{height:14px;overflow:hidden;background:#e2e8f0;border-radius:999px}.inspection-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:inherit;transition:width .25s ease}.inspection-notes-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin-bottom:16px;padding:18px}.inspection-notes-card label{display:grid;gap:8px;color:var(--text-muted);font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.inspection-notes-card textarea{width:100%;min-height:96px;padding:12px;color:var(--text);font-size:.98rem;font-weight:650;line-height:1.45;border:1.5px solid #cbd5e1;border-radius:8px;resize:vertical}.inspection-list{display:grid;gap:12px}.inspection-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:16px;align-items:center;min-height:110px;padding:16px 20px;border-left:6px solid var(--warning)}.inspection-item.conforme{border-left-color:#16a34a;background:#f0fdf4}.inspection-item.nao_conforme{border-left-color:#dc2626;background:#fef2f2}.inspection-item.separator{grid-template-columns:1fr;min-height:64px;background:#fff;border-left-color:#64748b}.inspection-item.separator p{color:#1e293b;font-size:1.15rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.inspection-item-text{display:flex;align-items:center;gap:12px}.inspection-point-num{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:999px;background:#fff;color:var(--primary);border:1.5px solid var(--primary-border);font-weight:900;font-size:.85rem;flex-shrink:0}.inspection-section-icon{font-size:1.3rem}.inspection-item p{margin:0;color:var(--text);font-size:1.05rem;font-weight:800;line-height:1.45}.inspection-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inspection-buttons button{min-height:68px;padding:0 14px;background:#fff;border-radius:12px;font-size:1.02rem;font-weight:900;cursor:pointer;transition:all .15s ease}.inspection-buttons .conforme{color:#16a34a;border:2px solid #bbf7d0}.inspection-buttons .nao-conforme{color:#dc2626;border:2px solid #fecaca}.inspection-buttons .selected.conforme{background:#16a34a;color:#fff;border-color:#16a34a;box-shadow:0 4px 12px #16a34a59}.inspection-buttons .selected.nao-conforme{background:#dc2626;color:#fff;border-color:#dc2626;box-shadow:0 4px 12px #dc262659}@media (max-width: 1280px){.activity-mode-grid,.dashboard-columns-grid{grid-template-columns:1fr}.tracking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tracking-toolbar{grid-template-columns:1fr 1fr}.school-context-display{grid-column:1 / -1}.calendar-layout,.checklist-workspace{grid-template-columns:1fr}.calendar-side,.checklist-overview{position:static}.inspection-progress-card{grid-template-columns:repeat(3,minmax(0,1fr))}.inspection-progress-bar-wrap{grid-column:1 / -1}}@media (max-width: 768px){.activity-mode-grid,.dashboard-columns-grid,.tracking-summary-grid,.tracking-toolbar,.tracking-date-range,.form-grid,.add-item-row,.checklist-topbar,.inspection-progress-card,.inspection-notes-card,.inspection-buttons{grid-template-columns:1fr}.panorama-header{flex-direction:column}.panorama-toolbar{width:100%;flex-direction:column;align-items:stretch}.search-box{min-width:100%}.acompanhamento-header{flex-direction:column}.acompanhamento-header .header-actions{width:100%;justify-content:stretch}.acompanhamento-header .header-actions button{flex:1}.inspection-item{grid-template-columns:1fr}.calendar-grid{gap:4px}.calendar-day{min-height:80px;padding:6px}}.ajuda-page{width:100%;max-width:1720px;margin:0 auto}.ajuda-header{align-items:flex-start}.ajuda-header p{margin:6px 0 0;color:var(--text-muted);font-size:.95rem}.help-band,.help-section,.help-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.help-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:16px;padding:20px}.help-band h2,.help-section-heading h2{margin:3px 0 0;color:var(--text);font-size:1.12rem;font-weight:850}.help-band p{max-width:760px;margin:8px 0 0;color:var(--text-muted);font-size:.92rem;line-height:1.55}.section-eyebrow{color:var(--primary);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.help-pill-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:420px}.help-pill-list span{padding:7px 10px;background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary-border);border-radius:999px;font-size:.8rem;font-weight:850}.help-section{display:grid;gap:14px;margin-bottom:16px;padding:18px}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.help-card{display:grid;align-content:start;gap:14px;padding:18px}.help-table-scroll{overflow-x:auto}.help-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.84rem}.help-table th,.help-table td{padding:10px 11px;border-bottom:1px solid var(--border-soft);color:var(--text);text-align:left;vertical-align:top}.help-table th{background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:850}.help-table tr:last-child td{border-bottom:0}.help-check-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.help-check-list li{position:relative;padding-left:18px;color:var(--text-muted);font-size:.88rem;line-height:1.48}.help-check-list li:before{position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--primary);border-radius:50%;content:""}.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.rule-card{min-height:92px;padding:13px;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:7px}.rule-card strong{display:block;color:var(--text);font-size:.86rem;line-height:1.35}.rule-card span{display:block;margin-top:8px;color:var(--text-muted);font-size:.82rem;line-height:1.4}.help-note{margin:0;padding:12px;background:var(--surface-muted);border:1px dashed var(--border);border-radius:7px;color:var(--text-muted);font-size:.84rem;line-height:1.5}.source-list{display:grid;gap:9px}.source-list a,.source-list span{color:var(--text-muted);font-size:.86rem;line-height:1.45}.source-list a{color:var(--primary);font-weight:800;text-decoration:none}.source-list a:hover{text-decoration:underline}@media (max-width: 920px){.help-band,.help-grid{grid-template-columns:1fr}.help-pill-list{justify-content:flex-start}}@media (max-width: 640px){.help-band,.help-section,.help-card{padding:15px}}.loading{display:grid;place-items:center;height:100vh;color:var(--text-muted);font-size:1rem}:root{--font-family: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", "Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg: #f6f8fb;--surface: #ffffff;--surface-muted: #f9fafb;--border: #dfe5ec;--border-soft: #edf1f5;--text: #17202a;--text-muted: #64748b;--text-soft: #94a3b8;--primary: #0f766e;--primary-hover: #115e59;--primary-soft: #e6f4f1;--primary-border: #b7ddd8;--primary-shadow: 0 8px 18px rgba(15, 118, 110, .18);--accent: #2563eb;--success: #15803d;--success-soft: #ecfdf3;--danger: #b42318;--danger-soft: #fef3f2;--warning: #b54708;--warning-soft: #fffaeb;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 10px 28px rgba(15, 23, 42, .08);--radius: 8px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:var(--font-family);font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.012em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text);line-height:1.5}h1,h2,h3,h4,h5,h6{letter-spacing:-.024em}button{cursor:pointer;border:none;background:none;font-family:inherit;letter-spacing:inherit}input,select,textarea{font-family:inherit;letter-spacing:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring, 0 0 0 3px rgba(15, 118, 110, .12))}a{color:inherit;text-decoration:none}
