:root{--bg:#f5f6f8;--bg-elevated:#fff;--sidebar:#2e6b3e;--sidebar-hover:hsla(0,0%,100%,.08);--sidebar-active:#b4ddb5;--text:#1e293b;--text-muted:#64748b;--accent:#317042;--accent-hover:#2d6340;--border:#d0d0d0;--border-subtle:#e5e7eb;--success:#16a34a;--danger:#dc2626;--radius:10px;--radius-sm:6px;--shadow:0 1px 3px rgba(0,0,0,.08);--shadow-modal:0 4px 20px rgba(0,0,0,.12);--transition:0.15s ease;--bg-card:#fff}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-kanit,var(--font-inter,"Inter")),"Kanit","Segoe UI",system-ui,-apple-system,sans-serif}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}button{cursor:pointer}button,input,select,textarea{font-family:inherit}select{background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .75rem center!important;background-size:1rem!important;color:#1e293b!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm);padding:.5rem 2rem .5rem .75rem;font-size:.875rem;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;overflow:visible;position:relative;z-index:1}select:hover{border-color:#9ca3af!important}select:focus{outline:none;border-color:var(--accent)!important}select option{background:#fff;color:#1e293b}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:600;color:var(--text);letter-spacing:-.02em}.card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle);font-weight:600;font-size:.9375rem;color:var(--text)}.sidebar-link:hover{background:var(--sidebar-hover)!important;color:var(--text)!important}.modalOverlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1.5rem;animation:modalOverlayIn .25s ease-out}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.modalContent{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:24px;box-shadow:0 12px 48px rgba(0,0,0,.12);padding:1.5rem 2rem;width:100%;max-width:580px;max-height:calc(100vh - 3rem);overflow:visible;animation:modalContentIn .28s ease-out}.modalContent.modalContent--wide{max-width:760px}.modalContent.modalContent--extraWide{max-width:1280px;width:96%;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;padding:1.25rem 2rem}.modalContent.modalContent--wideEquipamentos{max-width:min(1680px,98vw);width:98%;max-height:100vh}.modalContent.modalContent--extraWide.modalContent--wideEquipamentos .modalFormBody,.modalContent.modalContent--wideEquipamentos .modalFormBody{max-height:calc(100vh - 1.5rem)}.modalContent.modalContent--equipamentoDropdownOpen{max-height:100vh}.modalContent.modalContent--equipamentoDropdownOpen .modalFormBody{max-height:calc(100vh - 1rem)}.modalContent.modalContent--extraWide form{display:flex;flex-direction:column;min-height:0;flex:1 1}.modalContent.modalContent--extraWide .modalFormBody{display:grid;grid-template-columns:1fr 1fr;grid-gap:.875rem 1.75rem;gap:.875rem 1.75rem;align-content:start;overflow-y:auto;min-height:0;max-height:calc(100vh - 9rem);padding-right:.35rem;margin:0 -.35rem 0 0}.modalContent.modalContent--extraWide .modalFormBody .modalFormRow--full{grid-column:1/-1}.modalContent.modalContent--extraWide form .modalActions{margin-top:auto;flex-shrink:0}.modalTabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;margin:0 -.5rem 1rem 0;flex-shrink:0}.modalTab{padding:.6rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-muted,#64748b);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.modalTab:hover{color:var(--text,#334155)}.modalTabActive{color:var(--accent,#317042);border-bottom-color:var(--accent,#317042)}.modalTabPanel{display:grid;grid-template-columns:1fr 1fr;grid-gap:.875rem 1.75rem;gap:.875rem 1.75rem;align-content:start;min-height:0}.modalTabEmpty,.modalTabPanel .modalFormRow--full{grid-column:1/-1}.modalTabEmpty{margin:0;font-size:.875rem;color:var(--text-muted,#64748b)}.modalContent.modalContent--extraWide .modalFormBody .modalTabPanel{grid-column:1/-1}.modalGruposGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:.5rem 1.25rem;gap:.5rem 1.25rem;margin-top:.25rem}@keyframes modalContentIn{0%{opacity:0;transform:scale(.95) translateY(-12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modalContent h2{margin:0 0 .25rem;font-size:1.375rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.modalContent .modalSubtitle{margin:0 0 1.25rem;font-size:.875rem;color:var(--text-muted);line-height:1.4}.modalContent form{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem 1.5rem;gap:.75rem 1.5rem;align-content:start;overflow:visible}.modalContent form .modalFormRow{display:flex;flex-direction:column;min-width:0;overflow:visible}.modalContent form .modalActions,.modalContent form .modalFormRow--full{grid-column:1/-1}.modalContent label{display:block;margin-bottom:.3rem;font-size:.875rem;font-weight:600;color:var(--text)}.modalContent input[type=date],.modalContent input[type=datetime-local],.modalContent input[type=email],.modalContent input[type=number],.modalContent input[type=text],.modalContent textarea{width:100%;padding:.5rem .75rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:var(--text);font-size:.875rem;transition:border-color var(--transition)}.modalContent input:focus,.modalContent textarea:focus{outline:none;border-color:var(--accent)}.modalContent input::placeholder,.modalContent textarea::placeholder{color:var(--text-muted)}.modalContent select{width:100%;padding:.5rem 2rem .5rem .75rem;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .75rem center!important;background-size:1rem!important;color:var(--text)!important;border:1px solid #e5e7eb!important;border-radius:8px;font-size:.875rem;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;overflow:visible;position:relative;z-index:1}.modalContent select:focus{outline:none;border-color:var(--accent)!important}.modalContent select option{background:#fff;color:var(--text)}.modalContent .modalFormRow{margin-bottom:0}.modalContent form .modalActions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.modalBtnSecondary,.modalContent .modalBtnSecondary{padding:.625rem 1.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#475569;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.modalBtnSecondary:hover,.modalContent .modalBtnSecondary:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.modalBtnPrimary,.modalContent .modalBtnPrimary{padding:.625rem 1.5rem;background:linear-gradient(180deg,#317042,#2d6340);border:none;border-radius:10px;color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;box-shadow:0 2px 6px rgba(49,112,66,.35);transition:background .2s ease,box-shadow .2s ease,transform .1s ease}.modalBtnPrimary:hover:not(:disabled),.modalContent .modalBtnPrimary:hover:not(:disabled){background:linear-gradient(180deg,#3d7d4e,#317042);box-shadow:0 4px 12px rgba(49,112,66,.4)}.modalBtnPrimary:active:not(:disabled),.modalContent .modalBtnPrimary:active:not(:disabled){transform:translateY(1px)}.modalBtnPrimary:disabled,.modalContent .modalBtnPrimary:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.modalContent input[type=checkbox]{width:auto;accent-color:var(--accent)}.modalPermissoesList{display:flex;flex-direction:column;gap:.5rem;max-height:240px;overflow-y:auto;padding:.5rem 0;border:1px solid rgba(0,0,0,.08);border-radius:6px;background:#fafafa}.modalCheckboxLabel{display:flex!important;flex-direction:row;align-items:center;gap:.5rem;padding:0 .75rem;cursor:pointer;margin-bottom:0!important}.modalCheckboxLabel input[type=checkbox]{flex-shrink:0}.modalPermissaoDesc,.modalPermissoesEmpty{color:var(--text-muted);font-size:.875rem}.modalPermissoesEmpty{padding:0 .75rem}.toggleRow{display:flex!important;align-items:center;gap:.75rem;flex-direction:row!important}.toggleLabel{margin-bottom:0!important;flex-shrink:0}.toggleSwitch{position:relative;display:inline-flex;cursor:pointer;flex-shrink:0}.toggleSwitch__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toggleSwitch__track{display:block;width:2.75rem;height:1.5rem;background:#d1d5db;border-radius:9999px;transition:background var(--transition);box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}.toggleSwitch__track:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.1rem;height:1.1rem;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform var(--transition)}.toggleSwitch__input:checked+.toggleSwitch__track{background:var(--accent)}.toggleSwitch__input:checked+.toggleSwitch__track:after{transform:translateX(1.25rem)}.toggleSwitch__input:focus-visible+.toggleSwitch__track{outline:2px solid var(--accent);outline-offset:2px}