:root{--tp-bright-blue:#00bdf2;--tp-corporate-blue:#023f88;--tp-white:#fff;--tp-pink:#f067a6;--tp-green:#8dc63f;--tp-orange:#f58220;--tp-subtle-blue:#b9e5fb;--tp-yellow:#fd0;--tp-red:red;--tp-black:#000;--tp-dark-grey:#4a4a4a;--tp-medium-grey:#777;--tp-light-grey:#e5e5e5;--tp-subtle-grey:#f6f6f6;--verde-principal:#425c4d;--verde-secundario:#2f4036;--cinza-claro:#f0e8dd;--amarelo-suave:#e1c59c;--dourado:#9f865d;--rose:#aba089;--branco:#fff;--cinza:#777;--app-bg:var(--cinza-claro);--card-bg:var(--branco);--text:var(--verde-principal);--muted:var(--cinza);--border:var(--amarelo-suave);--sidebar-bg:var(--verde-secundario);--sidebar-text:var(--branco);--sidebar-muted:#f6f6f6;--sidebar-hover:var(--rose);--sidebar-active-bg:var(--branco);--sidebar-active-text:var(--verde-principal);--header-height:52px;--header-bg:var(--sidebar-bg);--header-text:var(--branco);--header-divider:#ffffff1a;--focus:var(--amarelo-suave);--layout-gap:clamp(12px, 2vw, 18px);--panel-padding:clamp(10px, 2vw, 14px);--content-gap:clamp(12px, 2vw, 16px);--section-gap:clamp(10px, 1.8vw, 14px);--filters-min:200px;--filters-max:260px}*{box-sizing:border-box}html,body{height:100%}body{background:var(--app-bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.appFrame{flex-direction:column;min-height:100vh;display:flex}.appShell{flex:1;min-height:0;padding-left:68px;display:flex}.main{background:var(--app-bg);flex-direction:column;flex:1;gap:16px;min-height:0;padding:24px;display:flex;overflow:hidden}.contentSpace{flex:1;overflow-y:auto}.sidebarBackdrop{display:none}.sidebar{background:var(--sidebar-bg);width:80px;top:var(--header-height);z-index:40;border-right:1px solid #0000001a;flex-direction:column;padding:10px 2px 8px;display:flex;position:fixed;bottom:0;left:0;overflow:visible}.sidebar:before{content:"";border-top:1px solid var(--header-divider);position:absolute;top:0;left:2px;right:2px}.sidebarHeader{align-items:center;padding:6px 10px;display:flex}.nav{padding:6px 2px 10px}.navSectionTitle{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted);margin:12px 6px 8px;font-size:11px}.navItem{width:100%;color:var(--sidebar-text);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;transition:all .2s;display:flex}.navItem:hover{background:var(--sidebar-hover)}.navItemActive{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.navIcon{opacity:.9;width:18px;height:18px}.navLabel{font-size:12px;font-weight:700;line-height:1.1}.sidebarFooter{justify-content:center;align-items:center;margin-top:auto;padding:10px 2px 6px;display:flex;position:relative}.sidebarFooter:before{content:"";border-top:1px solid var(--header-divider);position:absolute;top:0;left:0;right:0}.appHeader{z-index:30;width:100%;height:var(--header-height);background:var(--header-bg);color:var(--header-text);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:0 16px;display:grid;position:sticky;top:0}.appHeaderLeft{align-items:center;display:flex}.appHeaderLogo{justify-content:flex-start;align-items:center;min-width:140px;display:flex}.appHeaderLogo svg{width:180px;height:auto}.appHeaderActions{justify-content:flex-end;align-items:center;gap:12px;min-width:120px;display:flex}.appHeaderUser{border:1px solid var(--header-divider);background:#ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;transition:all .2s;display:flex}.appHeaderUser:hover{background:#fff3}.appHeaderUserImage{background:var(--tp-white);border-radius:50%;width:24px;height:24px;padding:2px}.appHeaderUserText{color:var(--header-text);white-space:nowrap;font-size:13px;font-weight:600}.pageTitle{color:var(--verde-principal);margin:0;font-size:clamp(20px,2.6vw,22px);font-weight:700}.card{background:var(--card-bg);border-radius:16px;padding:16px;box-shadow:0 8px 24px #0000001a}.cardTransparent{box-shadow:none;background:0 0;padding:0}.actionBar{background:var(--card-bg);border-radius:16px;justify-content:space-between;align-items:center;min-height:56px;padding:12px 20px;display:flex;box-shadow:0 4px 12px #0000001a}.actionButtons{justify-content:space-between;align-items:center;width:100%;display:flex}.botaoPadrão{color:var(--branco);background-color:var(--verde-principal);cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-weight:700;transition:all .2s;display:inline-flex}.botaoPadrão:hover{background:var(--verde-secundario);transform:translateY(-1px)}.botaoPadrão:disabled{opacity:.6;cursor:not-allowed;transform:none}.iconButton{background:var(--rose);width:36px;height:36px;color:var(--sidebar-text);cursor:pointer;border:none;border-radius:10px;place-items:center;padding:0;transition:all .2s;display:grid}.iconButton:hover{background:var(--amarelo-suave)}.iconButton svg{width:20px;height:20px}.reportBadge{color:var(--tp-red);letter-spacing:.04em;text-transform:uppercase;background:#ffe5e5;border-radius:6px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.dataTableWrap{background:var(--card-bg);border-radius:16px;max-height:65vh;overflow:auto;box-shadow:0 8px 24px #0000000f}.dataTable{border-collapse:collapse;width:100%;font-size:13px}.dataTable th{background:var(--verde-principal);color:var(--branco);text-align:left;z-index:10;padding:12px 16px;font-weight:600;position:sticky;top:0}.dataTable td{border-bottom:1px solid var(--cinza-claro);color:var(--verde-principal);padding:5px 10px}.dataTable tr:last-child td{border-bottom:none}.dataTable tr:hover td{background:#f0e8dd4d}.formGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:16px 24px;display:grid}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.fieldLabel{color:var(--cinza);margin-left:2px;font-size:12px;font-weight:600}.select,.formInput{border:1px solid var(--amarelo-suave);background:var(--tp-white);width:100%;color:var(--verde-principal);border-radius:12px;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.select:focus,.formInput:focus{border-color:var(--verde-principal);outline:none;box-shadow:0 0 0 3px #425c4d1a}.select:disabled,.formInput:disabled{background:var(--tp-subtle-grey);cursor:not-allowed;opacity:.7}.checkboxField{align-items:center;padding-top:24px;display:flex}.checkboxLabel{cursor:pointer;color:var(--text);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.checkboxLabel input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--verde-principal)}.modalBackdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#2f403666;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modalContainer{background:var(--card-bg);border-radius:18px;flex-direction:column;width:100%;max-width:850px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) modalShow;display:flex;box-shadow:0 24px 64px #00000040}@keyframes modalShow{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modalHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modalTitle{color:var(--verde-principal);margin:0;font-size:20px;font-weight:700}.modalHeaderColumns{background:var(--cinza-claro);border-bottom:1px solid var(--border);gap:16px;padding:16px 24px;display:flex}.modalColumn{flex-direction:column;flex:1;gap:4px;display:flex}.modalBody{flex:1;padding:24px;overflow-y:auto}.modalFooter{background:var(--tp-subtle-grey);border-top:1px solid var(--border);border-radius:0 0 18px 18px;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.modalSection{background:var(--cinza-claro);border:1px solid var(--border);border-radius:14px;margin-bottom:24px;padding:20px}.modalSection:last-child{margin-bottom:0}.modalSectionHeader{border-bottom:1px solid var(--border);color:var(--verde-principal);align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;display:flex}.modalSectionTitle{color:var(--verde-principal);margin:0;font-size:15px;font-weight:700}.modalSectionContent{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 24px;display:grid}.modalField{flex-direction:column;gap:4px;display:flex}.modalLabel{text-transform:uppercase;letter-spacing:.06em;color:var(--cinza);font-size:11px;font-weight:600}.modalValue{color:var(--verde-principal);font-size:14px;font-weight:500}.modalHeaderValue{color:var(--verde-principal);margin-top:2px;font-size:18px;font-weight:700;display:block}.modalHeaderHighlight{color:var(--verde-secundario)}.modalAlert{border:1px solid #0000;border-radius:10px;grid-column:1/-1;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.modalAlertSuccess{color:#137333;background:#e6f4ea;border-color:#ceead6}.modalAlertError{color:#c5221f;background:#fce8e6;border-color:#fad2cf}.modalAlertWarning{color:#b06000;background:#fef7e0;border-color:#ffeeba}.modalLoading{color:var(--cinza);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.modalSpinner{border:3px solid var(--amarelo-suave);border-top-color:var(--verde-principal);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.paymentCard{background:var(--branco);border:1px solid var(--border);border-radius:12px;grid-column:1/-1;padding:16px 20px;box-shadow:0 2px 8px #0000000a}.paymentCardHeader{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.paymentCardType{text-transform:uppercase;letter-spacing:.06em;color:var(--verde-principal);background:var(--cinza-claro);border-radius:8px;padding:4px 12px;font-size:13px;font-weight:700}.paymentCardGrid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.paymentCardItem{flex-direction:column;gap:4px;display:flex}.paymentCardItemTotal{text-align:right}.paymentCardItemValueTotal{color:var(--verde-secundario);font-size:17px;font-weight:700}.paymentCardDiscount{color:var(--tp-orange);font-size:12px;font-weight:700}.paymentEditCard{background:var(--branco);border:1px solid var(--border);border-radius:12px;grid-column:1/-1;padding:20px;box-shadow:0 2px 8px #0000000a}.paymentEditCardHeader{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;display:flex}.paymentEditCardFields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 24px;display:grid}.settingsPopover{background:var(--card-bg);border:1px solid var(--border);z-index:100;border-radius:16px;width:280px;animation:.2s ease-out popoverFadeIn;position:absolute;bottom:20px;left:calc(100% + 12px);overflow:hidden;box-shadow:0 12px 32px #00000026}@keyframes popoverFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.settingsHeader{background:var(--cinza-claro);border-bottom:1px solid var(--border);color:var(--verde-principal);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.settingsBody{flex-direction:column;gap:16px;padding:16px;display:flex}.settingsHint{color:var(--muted);font-size:11px;line-height:1.4}@media (width<=860px){.sidebar{width:68px}.appShell{padding-left:68px}.main{padding:18px}}@media (width<=720px){body.noScroll{overflow:hidden}.sidebarBackdrop{z-index:45;background:#00000080;display:block;position:fixed;inset:0}.sidebar{z-index:50;max-width:85vw;height:100dvh;transition:transform .3s;top:0;transform:translate(-110%)}.sidebarMobileOpen{transform:translate(0)}.modalContainer{border-radius:0;width:100%;max-width:none;height:100%;max-height:100%}.modalFooter{border-radius:0}}.paginationWrap{justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:16px 0;display:flex}.paginationBtn{border:1px solid var(--border);background:var(--branco);min-width:36px;height:36px;color:var(--cinza);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.paginationBtn:hover:not(:disabled){border-color:var(--verde-principal);color:var(--verde-principal);background:var(--cinza-claro)}.paginationBtnActive{background:var(--verde-principal);color:var(--branco);border-color:var(--verde-principal)}.paginationBtnActive:hover{background:var(--verde-secundario);border-color:var(--verde-secundario);color:var(--branco)}.paginationBtn:disabled{opacity:.5;cursor:not-allowed;background:var(--cinza-claro)}.paginationInfo{color:var(--muted);margin-right:12px;font-size:13px}.loginPage{background:linear-gradient(135deg, var(--verde-secundario) 0%, var(--verde-principal) 50%, #5a7a65 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.loginContainer{flex-direction:column;align-items:center;width:100%;max-width:420px;display:flex}.loginLogoMain{filter:drop-shadow(0 4px 12px #0003);width:auto;height:80px;margin-bottom:32px}.loginCard{background:var(--card-bg);border-radius:24px;width:100%;padding:40px;animation:.4s cubic-bezier(.16,1,.3,1) modalShow;box-shadow:0 24px 64px #0000004d}.loginHeader{text-align:center;margin-bottom:32px}.loginTitle{color:var(--verde-principal);margin:0;font-size:26px;font-weight:700}.loginSubtitle{color:var(--cinza);margin:6px 0 0;font-size:14px}.loginForm{flex-direction:column;gap:4px;display:flex}.loginForm .field{margin-bottom:8px}.loginButton{justify-content:center;width:100%;margin-top:8px;padding:14px;font-size:15px}.userBadgeWrap{position:relative}.userDropdown{background:var(--card-bg);z-index:200;border:1px solid var(--border);border-radius:14px;min-width:220px;animation:.2s cubic-bezier(.16,1,.3,1) modalShow;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #0003}.userDropdownInfo{flex-direction:column;gap:2px;padding:14px 16px;display:flex}.userDropdownName{color:var(--verde-principal);font-size:14px;font-weight:700}.userDropdownEmail{color:var(--cinza);font-size:12px}.userDropdownDivider{background:var(--border);height:1px}.userDropdownItem{width:100%;color:var(--verde-principal);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.userDropdownItem:hover{background:var(--cinza-claro)}.userDropdownItemDanger{color:#c5221f}.userDropdownItemDanger:hover{background:#fce8e6}.secondarySidebar{top:var(--header-height);background:var(--branco);border-right:1px solid var(--border);z-index:1000;flex-direction:column;width:240px;animation:.2s ease-out slideInLeft;display:flex;position:fixed;bottom:0;left:80px;box-shadow:10px 0 30px #0000001a}.secondarySidebarBackdrop{top:var(--header-height);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background:#0006;animation:.2s ease-out fadeIn;position:fixed;bottom:0;left:80px;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.secondarySidebarHeader{padding:24px 16px 12px}.secondarySidebarTitle{text-transform:uppercase;letter-spacing:.1em;color:var(--cinza);margin:0;font-size:12px;font-weight:700}.secondaryNav{flex-direction:column;gap:4px;padding:8px;display:flex}.secondaryNavItem{color:var(--verde-principal);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.secondaryNavItem:hover{background:var(--cinza-claro)}.secondaryNavItem.active{background:var(--verde-principal);color:var(--branco);font-weight:600}.secondaryNavIcon{justify-content:center;align-items:center;width:20px;display:flex}.mobileMenuButton{color:var(--header-text);cursor:pointer;background:0 0;border:none;border-radius:8px;margin-right:12px;padding:8px;display:none}.mobileMenuButton:hover{background:#ffffff1a}@media (width<=1024px){.formGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (width<=768px){.appShell{padding-left:0}.main{gap:12px;padding:16px}.sidebar{width:240px;padding-top:16px;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translate(-100%)}.sidebarOpen{transform:translate(0);box-shadow:4px 0 16px #0003}.sidebarBackdrop{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:block;position:fixed;inset:0}.navItem{text-align:left;flex-direction:row;justify-content:flex-start;gap:16px;padding:12px 16px}.navLabel{font-size:14px}.mobileMenuButton{display:block}.appHeader{gap:8px;padding:0 12px}.appHeaderLogo svg{width:130px}.appHeaderUserText{display:none}.appHeaderUser{padding:4px 8px}.dataTableWrap{width:100%;box-shadow:none;background:0 0;border-radius:12px;max-height:none;margin:0;overflow:visible}.dataTable,.dataTable tbody,.dataTable tr,.dataTable td{width:100%;display:block}.dataTable thead{display:none}.dataTable tr{border:1px solid var(--border);background:var(--branco);border-radius:12px;margin-bottom:16px;overflow:hidden;box-shadow:0 4px 12px #0000000d}.dataTable td{text-align:right;border-bottom:1px solid var(--cinza-claro);white-space:normal;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;display:flex}.dataTable td:last-child{background:var(--cinza-claro);border-bottom:none;justify-content:center}.dataTable td:before{content:attr(data-label);color:var(--verde-secundario);text-align:left;flex-shrink:0;margin-right:12px;font-weight:700}.modalContainer{border-radius:12px 12px 0 0;max-height:95vh;margin-top:auto}.modalHeaderColumns{flex-direction:column;gap:8px}.modalSectionContent{grid-template-columns:1fr}.formGrid{grid-template-columns:1fr;gap:12px}.actionBar{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.actionButtons{flex-direction:column;align-items:stretch;gap:12px}.actionButtons>div{width:100%;justify-content:stretch!important}.actionButtons button,.actionButtons select,.actionButtons input{width:100%;max-width:none!important}}@media (width<=480px){.actionButtons button{min-width:100%}}.confirmModalContainer{max-width:480px!important}@media (width<=768px){.confirmModalContainer{border-radius:16px!important;max-height:max-content!important;margin:auto!important}}
