@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color:#1a202c;background-color:#f7fafc;--primary: #3182ce;--primary-dark: #2c5282;--surface: #ffffff;--soft: #f7fafc;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--border: #e2e8f0;--radius: .5rem}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f7fafc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{font-weight:600;color:#2d3748;margin-top:0;line-height:1.25}button{border-radius:var(--radius);border:none;padding:.75rem 1.5rem;font-weight:500;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;cursor:pointer;background:var(--primary);color:#fff;transition:all .2s ease;font-size:.95rem;box-shadow:0 1px 3px #0000001a}button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-primary{background:#1e293b;color:#fff;border:1px solid #1e293b;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500;border-radius:8px;box-shadow:0 1px 2px #0000000d;transition:all .2s ease}.btn-primary:active{transform:translateY(0)}input,select,textarea{padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:#fff;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4299e133}textarea{min-height:100px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.5}to{transform:scale(2);opacity:0}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.app-sidebar{position:fixed;left:0;top:0;height:100vh;background:linear-gradient(180deg,#1e293b,#0f172a);border-right:1px solid #334155;display:flex;flex-direction:column;gap:0;padding:0;z-index:200;transition:width .3s cubic-bezier(.4,0,.2,1);width:var(--sidebar-width, 280px);overflow:hidden;box-shadow:0 0 40px #0003;-webkit-user-select:none;user-select:none}.app-sidebar.collapsed{width:72px}.app-sidebar.collapsed .sidebar-brand,.app-sidebar.collapsed .brand-text,.app-sidebar.collapsed .sidebar-profile,.app-sidebar.collapsed .profile-info,.app-sidebar.collapsed .sidebar-divider,.app-sidebar.collapsed .sidebar-section,.app-sidebar.collapsed .sidebar-section-header,.app-sidebar.collapsed .sidebar-section-title{pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.app-sidebar.collapsed .sidebar-nav-item .nav-copy{display:none}.app-sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:1rem 0}.app-sidebar.expanded{width:280px}.app-sidebar.expanded .sidebar-brand,.app-sidebar.expanded .brand-text,.app-sidebar.expanded .sidebar-profile,.app-sidebar.expanded .profile-info,.app-sidebar.expanded .sidebar-divider,.app-sidebar.expanded .sidebar-section,.app-sidebar.expanded .sidebar-nav-item .nav-copy{pointer-events:auto;opacity:1;visibility:visible;transition:opacity .3s ease .1s,visibility .3s ease .1s}.sidebar-header-toggle{display:flex;justify-content:center;align-items:center;padding:1rem;min-height:60px;flex-shrink:0}.app-sidebar.expanded .sidebar-header-toggle{justify-content:flex-start;padding-left:1.5rem}.hamburger-button{background:transparent;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.hamburger-button:hover{background:#ffffff1a}.sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:-1.8rem;padding:.4rem .5rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;transition:all .28s ease;min-height:auto}.brand-logo-container{width:100%;display:flex;justify-content:center;align-items:center;padding:0;transition:all .42s cubic-bezier(.33,1,.68,1)}.sidebar-logo{width:160px;height:160px;object-fit:contain;flex-shrink:0;transition:all .42s cubic-bezier(.33,1,.68,1)}.app-sidebar.expanded .sidebar-logo{width:192px;height:192px}.brand-text{width:100%;text-align:center;transition:all .42s cubic-bezier(.33,1,.68,1)}.brand-text h1{margin:-.4rem 0 0;font-size:1.4rem;font-weight:700;color:#fff;line-height:1.3;letter-spacing:-.3px}.sidebar-profile{padding:1rem;margin:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;display:flex;align-items:center;gap:.75rem;flex-shrink:0;transition:all .42s cubic-bezier(.33,1,.68,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #00000026}.profile-avatar-container{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.user-circle{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#475569,#334155);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0;font-size:1.1rem;border:2px solid rgba(255,255,255,.15)}.profile-info{display:flex;flex-direction:column;gap:-.05rem;min-width:0;flex:1;align-items:flex-start;justify-content:flex-start}.profile-name{font-size:.95rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-badge{font-size:.8rem;color:#fff;padding:.2rem .25rem;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:inline-flex;align-items:center;justify-content:center;margin-top:-.1rem;line-height:1;min-width:2.2rem;height:1.2rem;text-align:center}.profile-badge[data-role=super_admin],.profile-badge[data-role=administrador_tecnico]{background:linear-gradient(135deg,#ef4444f2,#dc2626e6);border:1px solid rgba(239,68,68,.6)}.profile-badge[data-role=admin_orgao],.profile-badge[data-role=gestor_orgao]{background:linear-gradient(135deg,#f97316f2,#ea580ce6);border:1px solid rgba(249,115,22,.6)}.profile-badge[data-role=consultor]{background:linear-gradient(135deg,#facc15f2,#eab308e6);border:1px solid rgba(250,204,21,.6);color:#333}.profile-badge[data-role=coordenador]{background:linear-gradient(135deg,#3b82f6f2,#2563ebe6);border:1px solid rgba(59,130,246,.6)}.profile-badge[data-role=executor]{background:linear-gradient(135deg,#facc15f2,#eab308e6);border:1px solid rgba(250,204,21,.6);color:#333}.profile-badge[data-role=gestor_projeto]{background:linear-gradient(135deg,#22c55ef2,#16a34ae6);border:1px solid rgba(34,197,94,.6)}.sidebar-divider{height:1px;background:#ffffff1a;transition:all .28s ease}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:1rem;flex-shrink:0}.sidebar-nav-item{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;border:none;background:transparent;color:#fffc;padding:.8rem .75rem;border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s cubic-bezier(.33,1,.68,1);min-width:0;font-size:.95rem;position:relative;width:100%;text-align:left;text-decoration:none}.sidebar-nav-item:hover{background:#ffffff1a;color:#fff}.sidebar-nav-item.active{background:#ffffff26;color:#fff;box-shadow:inset 0 0 0 1px #ffffff26}.sidebar-nav-item.active:after{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:#94a3b8;border-radius:0 2px 2px 0}.nav-icon{font-size:1.3rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.nav-label{font-size:.95rem;font-weight:700;color:inherit}.nav-desc{font-size:.75rem;color:#fff9;line-height:1.2}.sidebar-section{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 1rem;border-top:1px solid rgba(255,255,255,.08);flex:1;overflow-y:auto}.sidebar-section-header{display:flex;flex-direction:column;gap:.5rem}.sidebar-section-title{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.8px;opacity:.7;color:#fffc;font-weight:700}.sidebar-section-summary{font-size:.8rem;color:#fff9;line-height:1.3;font-style:italic}.sidebar-filter{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}.sidebar-filter span{font-size:.8rem;color:#ffffffbf;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.sidebar-filter select,.sidebar-filter input{border:1.5px solid rgba(255,255,255,.15);border-radius:10px;padding:.65rem .85rem;font-size:.9rem;color:#172b4d;background:#fff;transition:all .2s ease}.sidebar-filter select:hover,.sidebar-filter input:hover{border-color:#fff3;background:#fafbfc}.sidebar-filter select:focus,.sidebar-filter input:focus{outline:none;border-color:#0052cc;background:#fff;box-shadow:0 0 0 2px #0052cc26}.sidebar-footer{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.btn-access-footer,.btn-logout-footer{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;border-radius:10px;padding:.9rem 1rem;cursor:pointer;font-weight:700;font-size:1rem;white-space:nowrap;min-height:44px;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.btn-access-footer:hover,.btn-logout-footer:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003;background:#ffffff1f;border-color:#fff3}.btn-access-footer.collapsed,.btn-logout-footer.collapsed{width:40px;height:40px;padding:0}.btn-logout-footer{background:#dc262626;border-color:#dc26264d}.btn-logout-footer:hover{background:#dc262640;border-color:#dc262680}.btn-access-footer:disabled{opacity:.5;cursor:not-allowed;background:#64646426}.access-icon-footer,.logout-icon{font-size:1.1rem}.access-label-footer,.logout-label{font-weight:700;font-size:.9rem}.app-layout{display:flex;min-height:100vh;background-color:#f8f9fa;font-family:Inter,system-ui,-apple-system,sans-serif}.main-content{margin-left:var(--sidebar-width, 72px);flex:1;display:flex;flex-direction:column;transition:margin-left .3s ease;width:calc(100% - var(--sidebar-width, 72px))}.content-wrapper{padding:1rem 1.5rem;overflow-y:auto;height:100%}.home-dashboard{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;min-height:calc(100vh - 100px);font-family:Inter,system-ui,-apple-system,sans-serif!important}.axes-section{display:flex;flex-direction:column}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.section-header h2{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0}.btn-primary{background:#1e293b;color:#fff;border:1px solid #1e293b;padding:.625rem 1.125rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.btn-primary:hover{background:#0f172a;border-color:#0f172a;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.axes-grid{display:flex;flex-direction:column;gap:.75rem;overflow:visible;padding-right:.5rem}.axis-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;padding:1rem 1.5rem;box-shadow:0 1px 3px #00000014;text-decoration:none;color:inherit;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid #0a5cc800;position:relative;overflow:hidden;min-height:80px}.axis-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;min-height:100%;background:#475569;opacity:0;transition:opacity .3s ease}.axis-card:hover:before{opacity:1}.axis-card:hover{padding:1.5rem 1.75rem;transform:translate(4px);box-shadow:0 4px 6px #0000001a;background:#fff;border-color:#cbd5e1;height:fit-content!important;min-height:150px;max-height:350px}.axis-card h3{margin:0;font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1.2;letter-spacing:-.025em}.axis-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.axis-card-title-section{flex:1;min-width:0;font-family:Inter,system-ui,-apple-system,sans-serif!important;font-weight:500!important;font-size:1.2rem!important}.axis-description{margin:.5rem 0 0;font-size:.85rem;color:#718096;line-height:1.4;text-overflow:ellipsis;overflow:hidden;max-height:0;opacity:0;transition:all .3s ease}.axis-card:hover .axis-description{max-height:100px;opacity:1;margin-top:.5rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3}.axis-progress-badge{width:52px;height:52px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.95rem;font-weight:700;flex-shrink:0;box-shadow:0 2px 8px #00000026;line-height:1}.axis-progress-badge.progress-high{background:linear-gradient(135deg,#48bb78,#38a169)}.axis-progress-badge.progress-medium,.axis-progress-badge.progress-low{background:linear-gradient(135deg,#e5bb13 0% 100%)}.axis-progress-badge.progress-minimal{background:linear-gradient(135deg,#718096,#4a5568)}.axis-card.progress-high{border-color:#48bb78!important}.axis-card.progress-medium{border-color:#fbbf24!important}.axis-card.progress-low{border-color:#e5bb13!important}.axis-card.progress-minimal{border-color:#718096!important}.axis-card-footer{display:flex;justify-content:space-between;align-items:center;max-height:0;opacity:0;overflow:hidden;transition:all .3s ease}.axis-card:hover .axis-card-footer{max-height:50px;opacity:1;margin-top:.5rem}.axis-metadata{display:flex;gap:.75rem;font-size:.8rem;color:#718096;align-items:center}.metadata-item{display:flex;align-items:center;gap:.3rem;line-height:1}.metadata-item svg{display:block;flex-shrink:0}.metadata-item span{line-height:1}.progress-bar-container{background:#e9ecef;border-radius:6px;height:6px;overflow:hidden;max-height:0;opacity:0;position:relative}.axis-card:hover .progress-bar-container{margin:.5rem 0;max-height:none;opacity:1}.progress-bar{background:linear-gradient(90deg,#48bb78,#38a169);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:6px;position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{font-size:.875rem;font-weight:600;color:#48bb78;display:flex;align-items:center;gap:.25rem;line-height:1}.progress-text svg{display:block;flex-shrink:0}.progress-text span{line-height:1}.tasks-sidebar{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;border:1px solid #f0f0f0}.tasks-sidebar h2{font-size:1.35rem;font-weight:700;margin-bottom:1rem;color:#1a202c;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.tasks-list{overflow-y:auto;flex:1;padding-right:.5rem}.task-item{padding:.875rem;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;transition:background .2s ease;border-radius:6px;margin-bottom:.25rem}.task-item:hover{background:#f8f9fa}.task-item:last-child{border-bottom:none}.task-item h4{margin:0;font-size:.95rem;font-weight:500;color:#2d3748}.status-badge{font-size:.75rem;font-weight:600;padding:.35rem .75rem;border-radius:6px;background:#edf2f7;color:#718096;white-space:nowrap;text-transform:uppercase;letter-spacing:.025em}.status-badge.CONCLUÍDO{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);color:#22543d}.status-badge.EM.ANDAMENTO{background:linear-gradient(135deg,#bee3f8,#90cdf4);color:#2a4365}.status-badge.PLANEJADO{background:linear-gradient(135deg,#e2e8f0,#cbd5e0);color:#4a5568}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.axes-grid>*{animation:fadeInUp .4s ease-out backwards}.axes-grid>*:nth-child(1){animation-delay:.05s}.axes-grid>*:nth-child(2){animation-delay:.1s}.axes-grid>*:nth-child(3){animation-delay:.15s}.axes-grid>*:nth-child(4){animation-delay:.2s}.axes-grid>*:nth-child(5){animation-delay:.25s}.axes-grid>*:nth-child(6){animation-delay:.3s}.axes-grid>*:nth-child(n+7){animation-delay:.35s}.axes-grid::-webkit-scrollbar,.tasks-list::-webkit-scrollbar{width:6px}.axes-grid::-webkit-scrollbar-track,.tasks-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.axes-grid::-webkit-scrollbar-thumb,.tasks-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.axes-grid::-webkit-scrollbar-thumb:hover,.tasks-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)}.modern-modal-overlay{position:fixed;inset:0;background-color:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease-out}.modern-modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;position:relative;animation:slideUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden;border:1px solid rgba(226,232,240,.8)}.modern-modal-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;background:#f8fafc}.modern-modal-title{margin:0;font-size:1.25rem;font-weight:700;color:#0f172a;letter-spacing:-.025em;display:flex;align-items:center;gap:.75rem}.modern-modal-close{background:transparent;border:none;color:#64748b;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.modern-modal-close:hover{background:#e2e8f0;color:#0f172a}.modern-modal-body{padding:1.5rem;overflow-y:auto;color:#334155;line-height:1.6}.modern-modal-footer{padding:1.25rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem}.modern-modal-body::-webkit-scrollbar{width:8px}.modern-modal-body::-webkit-scrollbar-track{background:transparent}.modern-modal-body::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px}.modern-modal-body::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.modern-modal-sm{max-width:400px}.modern-modal-md{max-width:600px}.modern-modal-lg{max-width:900px}.modern-modal-xl{max-width:1200px}.modern-modal-form-group{margin-bottom:1.25rem}.modern-modal-label{display:block;font-size:.875rem;font-weight:600;color:#475569;margin-bottom:.5rem}.modern-modal-input,.modern-modal-select,.modern-modal-textarea{width:100%;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.95rem;transition:all .2s;background:#fff;color:#1e293b}.modern-modal-input:focus,.modern-modal-select:focus,.modern-modal-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modern-modal-btn{padding:.625rem 1.25rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;border:1px solid transparent;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.modern-modal-btn-primary{background:#0f172a;color:#fff}.modern-modal-btn-primary:hover{background:#1e293b;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.modern-modal-btn-secondary{background:#fff;color:#475569;border-color:#e2e8f0}.modern-modal-btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.modern-modal-btn-danger{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.modern-modal-btn-danger:hover{background:#fecaca;color:#b91c1c}.axis-view{height:100%;display:flex;flex-direction:column}.axis-header-card{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.axis-header-content{width:100%}.axis-header-main{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.axis-title-section{flex:1}.axis-title{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;line-height:1.2;letter-spacing:-.025em}.axis-description{font-size:1rem;color:#64748b;margin:0;line-height:1.5;max-width:800px}.axis-actions{display:flex;gap:.75rem;flex-shrink:0}.axis-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500;border-radius:8px;border:1px solid;cursor:pointer;transition:all .2s ease;white-space:nowrap}.axis-btn svg{flex-shrink:0}.axis-btn-edit{background:#fff;color:#475569;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000d}.axis-btn-edit:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.axis-btn-delete{background:#fff;color:#dc2626;border-color:#fecaca;box-shadow:0 1px 2px #0000000d}.axis-btn-delete:hover{background:#fef2f2;border-color:#fca5a5;color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 6px #dc262626}.axis-btn:active{transform:translateY(0)}.goals-section{display:flex;flex-direction:column;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.goals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .25rem}.goals-header h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.goals-list{display:flex;overflow-x:auto;gap:1rem;padding:.5rem .25rem .75rem;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.goals-list::-webkit-scrollbar{height:6px}.goals-list::-webkit-scrollbar-track{background:transparent}.goals-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.goals-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.goal-card{min-width:260px;max-width:300px;background:#fff;padding:1rem 1.25rem;border-radius:10px;box-shadow:0 1px 3px #00000014;cursor:pointer;border:1px solid #e2e8f0;transition:all .2s ease;flex-shrink:0}.goal-card h4{font-size:1rem;font-weight:600;color:#1e293b;margin:0;line-height:1.4}.goal-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a;border-color:#cbd5e1}.goal-card.selected{border-color:#475569;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 0 0 2px #47556933,0 4px 6px #0000001a}.kanban-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.kanban-board-modern{display:flex;gap:1.5rem;overflow-x:auto;padding:1.5rem 0;height:100%;min-height:600px}.kanban-board-modern::-webkit-scrollbar{height:8px}.kanban-board-modern::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.kanban-board-modern::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.kanban-board-modern::-webkit-scrollbar-thumb:hover{background:#94a3b8}.kanban-column-modern{min-width:320px;max-width:320px;background:linear-gradient(to bottom,var(--column-bg) 0%,#ffffff 100%);border-radius:12px;display:flex;flex-direction:column;max-height:100%;border:2px solid var(--column-color);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s ease}.kanban-column-modern:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.kanban-column-modern.drag-over{background:var(--column-bg);border-color:var(--column-color);box-shadow:0 0 0 4px #6366f133;transform:scale(1.02)}.kanban-header-modern{padding:1.25rem 1.5rem;border-bottom:2px solid var(--column-color);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--column-bg) 0%,rgba(255,255,255,.9) 100%);border-top-left-radius:10px;border-top-right-radius:10px}.header-title{display:flex;align-items:center;gap:.75rem}.header-icon{display:flex;align-items:center;justify-content:center;color:var(--column-color)}.header-icon svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.kanban-header-modern h3{margin:0;font-size:1.125rem;color:#1e293b;font-weight:700;letter-spacing:-.025em}.count-badge-modern{background:var(--column-color);color:#fff;border-radius:999px;padding:.375rem .75rem;font-size:.875rem;font-weight:700;min-width:32px;text-align:center;box-shadow:0 2px 4px #0000001a}.kanban-body-modern{padding:1rem;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.kanban-body-modern::-webkit-scrollbar{width:6px}.kanban-body-modern::-webkit-scrollbar-track{background:transparent}.kanban-body-modern::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#94a3b8;text-align:center}.empty-icon{display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;opacity:.3;color:#94a3b8}.empty-state p{margin:0;font-size:.875rem;font-weight:500}.kanban-card-modern{background:#fff;padding:1.25rem;border-radius:8px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;cursor:grab;border-left:4px solid var(--column-color);transition:all .2s ease;position:relative;overflow:hidden}.kanban-card-modern:active{cursor:grabbing}.kanban-card-modern:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--column-color),transparent);opacity:0;transition:opacity .2s ease}.kanban-card-modern:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px) scale(1.02)}.kanban-card-modern:hover:before{opacity:1}.kanban-card-modern.overdue{border-left-color:#ef4444;background:linear-gradient(to right,#fef2f2,#fff)}.card-header{margin-bottom:1rem}.card-title{margin:0 0 .5rem;font-size:1rem;color:#1e293b;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-description{margin:0;font-size:.875rem;color:#64748b;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem}.assignee{display:flex;align-items:center;gap:.625rem}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--column-color),#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.assignee-name{font-size:.875rem;color:#475569;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dates{display:flex;gap:.5rem;flex-wrap:wrap}.date-badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:#f1f5f9;border-radius:6px;font-size:.75rem;color:#475569;font-weight:500;border:1px solid #e2e8f0}.date-badge svg{flex-shrink:0}.date-badge.overdue{background:#fef2f2;color:#dc2626;border-color:#fecaca}.add-card-btn-modern{margin:1rem;padding:.75rem 1rem;background:#fff;border:2px dashed var(--column-color);color:var(--column-color);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:center;font-weight:600;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.add-card-btn-modern svg{transition:transform .2s ease}.add-card-btn-modern:hover{background:var(--column-bg);border-style:solid;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.add-card-btn-modern:hover svg{transform:rotate(90deg)}.add-card-btn-modern:active{transform:translateY(0)}@media(max-width:768px){.kanban-board-modern{gap:1rem;padding:1rem 0}.kanban-column-modern{min-width:280px;max-width:280px}.card-title{font-size:.9375rem}}.kanban-card-modern{animation:slideIn .3s ease}.permission-notification-wrapper{position:fixed;top:20px;right:20px;z-index:9999;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.permission-notification{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff8e1,#fffde7);border:2px solid #fbc02d;border-left:4px solid #ff9800;border-radius:12px;padding:16px 20px;box-shadow:0 8px 24px #ff980033;max-width:420px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideOut .3s ease-out 3.7s forwards}.permission-notification-icon{font-size:28px;flex-shrink:0;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.permission-notification-content{flex:1;display:flex;flex-direction:column;gap:4px}.permission-notification-message{margin:0;font-size:14px;font-weight:500;color:#f57f17;line-height:1.4}.permission-notification-close{flex-shrink:0;background:transparent;border:none;color:#ff9800;font-size:18px;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;opacity:.7}.permission-notification-close:hover{background:#ff98001a;opacity:1}.permission-notification-close:active{transform:scale(.9)}@media(max-width:640px){.permission-notification-wrapper{top:12px;right:12px;left:12px}.permission-notification{max-width:calc(100vw - 24px);padding:14px 16px}.permission-notification-icon{font-size:24px}.permission-notification-message{font-size:13px}}@media(prefers-color-scheme:dark){.permission-notification{background:linear-gradient(135deg,#ff980026,#ffc1071a);border-color:#ff9800;border-left-color:#ffb74d}.permission-notification-message,.permission-notification-close{color:#ffb74d}.permission-notification-close:hover{background:#ff980033}}.permission-button{transition:all .3s ease;position:relative}.permission-button:disabled,.permission-button-disabled{opacity:.6;cursor:not-allowed!important;filter:grayscale(.5)}.permission-button:disabled:after,.permission-button-disabled:after{content:"🔒";position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:14px;opacity:.8}.btn-add-project:disabled,.btn-add-project.permission-button-disabled{background:linear-gradient(135deg,#ccc,#b3b3b3)!important;color:#666!important;box-shadow:none!important}.btn-add-project:disabled:hover,.btn-add-project.permission-button-disabled:hover{transform:none!important;box-shadow:none!important}.btn-add-project:disabled:active,.btn-add-project.permission-button-disabled:active{transform:none!important}button:disabled,button.permission-button-disabled{pointer-events:none}button:disabled:hover,button.permission-button-disabled:hover{background-color:inherit}.permission-button-disabled[title]{position:relative}@media(hover:hover){.permission-button-disabled[title]:hover:before{content:attr(title);position:absolute;bottom:-40px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:10000;box-shadow:0 4px 12px #0000004d;pointer-events:none}.permission-button-disabled[title]:hover:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #333;z-index:10000}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;width:90%;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-btn:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:30px 20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:.95rem}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:15px;font-size:.95rem;border-left:4px solid #c33}.success-message{background-color:#efe;color:#3c3;padding:12px;border-radius:6px;margin-bottom:15px;font-size:.95rem;border-left:4px solid #3c3}.confirmation-step{text-align:center;padding:20px 0}.success-icon{width:60px;height:60px;background-color:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#4caf50;margin:0 auto 20px}.confirmation-text{font-size:1rem;color:#333;margin-bottom:15px}.info-text{font-size:.9rem;color:#666;margin-bottom:10px;line-height:1.5}.info-text.secondary{font-size:.85rem;color:#999;font-style:italic}.modal-actions{display:flex;gap:10px;margin-top:25px}.btn-cancel,.btn-confirm{flex:1;padding:12px;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background-color:#f0f0f0;color:#333}.btn-cancel:hover:not(:disabled){background-color:#e0e0e0}.btn-confirm{background-color:#007bff;color:#fff}.btn-confirm:hover:not(:disabled){background-color:#0056b3}.btn-cancel:disabled,.btn-confirm:disabled{opacity:.6;cursor:not-allowed}@media(prefers-color-scheme:dark){.modal-content{background:#2a2a2a;color:#e0e0e0}.modal-header{border-bottom-color:#444}.modal-header h2{color:#e0e0e0}.close-btn{color:#999}.close-btn:hover{background-color:#444;color:#e0e0e0}.form-group label{color:#e0e0e0}.form-group input{background-color:#333;color:#e0e0e0;border-color:#555}.form-group input:focus{border-color:#007bff}.form-group input:disabled{background-color:#444}.error-message{background-color:#3a2a2a;color:#ff6b6b;border-left-color:#ff6b6b}.success-message{background-color:#2a3a2a;color:#6bff6b;border-left-color:#6bff6b}.confirmation-text,.info-text{color:#e0e0e0}.info-text.secondary{color:#999}.btn-cancel{background-color:#444;color:#e0e0e0}.btn-cancel:hover:not(:disabled){background-color:#555}}.auth-container{display:flex;min-height:100vh;width:100vw;background:linear-gradient(135deg,#0f172a,#1e293b);position:fixed;inset:0;overflow:hidden;align-items:center;justify-content:center}.auth-container:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.12) 18%,transparent 42%),linear-gradient(rgba(255,255,255,.08) 8%,transparent 26%);background-size:2px 32px,1px 22px;background-repeat:repeat;mix-blend-mode:screen;opacity:.18;pointer-events:none;animation:matrixRain 10s linear infinite;z-index:0}.auth-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1200px;height:1200px;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.6),transparent 38%),radial-gradient(circle at 50% 60%,rgba(255,255,255,.5),transparent 45%);opacity:1;pointer-events:none;z-index:1;animation:watermarkRotate 25s linear infinite}.auth-watermark:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;border:3px dashed rgba(255,255,255,.25);border-radius:50%;animation:digitalPulse 6s ease-in-out infinite;box-shadow:0 0 30px #fff3,inset 0 0 20px #ffffff1a;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.08) 0deg 3deg,transparent 3deg 6deg)}.auth-watermark:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;border:2px dotted rgba(255,255,255,.2);border-radius:50%;animation:digitalPulse 9s ease-in-out infinite reverse;box-shadow:0 0 40px #ffffff2e,inset 0 0 30px #ffffff14;background:repeating-conic-gradient(from 45deg,rgba(255,255,255,.06) 0deg 5deg,transparent 5deg 10deg)}.prefeitura-fixed{position:fixed;right:1rem;bottom:1rem;z-index:6;width:360px;height:auto;pointer-events:none;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));animation:prefeituraPulse 4.5s ease-in-out infinite}.prefeitura-fixed img{width:100%;height:auto;display:block}@keyframes prefeituraPulse{0%{transform:scale(1);opacity:.95}40%{transform:scale(1.06);opacity:1}70%{transform:scale(1.03);opacity:.98}to{transform:scale(1);opacity:.95}}@media(max-width:480px){.prefeitura-fixed{width:240px;right:.6rem;bottom:.6rem}}@keyframes watermarkRotate{0%{transform:translate(-50%,-50%) rotate(0) scale(1)}50%{transform:translate(-50%,-50%) rotate(180deg) scale(1.05)}to{transform:translate(-50%,-50%) rotate(360deg) scale(1)}}@keyframes matrixRain{0%{background-position:0 -40px,0 -28px}to{background-position:0 40px,0 28px}}@keyframes digitalPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.08);opacity:.5}}.auth-left{display:flex;flex-direction:column;padding:1.25rem 2.5rem 1.75rem;background:#fff;position:relative;z-index:2;width:100%;max-width:500px;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px #0006;border-radius:24px;margin:2rem}@media(max-width:1024px){.auth-left{max-width:90%;max-height:92vh;padding:1.5rem 1.5rem 2rem;margin:1rem;border-radius:16px}}.auth-logo-section{text-align:center;margin-bottom:.6rem;padding-bottom:.6rem;border-bottom:2px solid #e8f1ff}.prefeitura-logo-container{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.4rem}.prefeitura-logo{height:45px;width:auto;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(26,115,232,.2))}.prefeitura-title{font-size:1.5rem;font-weight:700;color:#1a73e8;margin:0;letter-spacing:.5px;text-transform:uppercase}.gestao-logo{filter:drop-shadow(0 2px 8px rgba(26,115,232,.3));margin-bottom:1rem}.gestao-logo-main{width:100%;max-width:240px;height:auto;object-fit:contain;margin:.4rem auto;display:block;filter:drop-shadow(0 4px 16px rgba(26,115,232,.3))}.app-title{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#1a73e8,#0d47a1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:.5rem 0 .25rem;letter-spacing:-.5px}.app-subtitle{font-size:.95rem;color:#5f6368;margin:.3rem 0 0;font-weight:500}.auth-content{flex:1;display:flex;flex-direction:column}.auth-content h2{font-size:1.3rem;font-weight:600;color:#202124;margin-bottom:.2rem}.subtitle-text{color:#5f6368;font-size:.8rem;margin-bottom:.5rem}.auth-form{flex:1;display:flex;flex-direction:column;gap:.5rem}.form-group{display:flex;flex-direction:column;gap:.2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.form-group label{font-size:.85rem;font-weight:500;color:#202124}.form-group input{padding:.55rem;border:1px solid #dadce0;border-radius:4px;font-size:.9rem;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.form-group input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81a;background:#f8f9fa}.form-group small{font-size:.75rem;color:#80868b;margin-top:-.25rem}.error-banner{background:#fce8e6;border-left:4px solid #d33b27;padding:.7rem;border-radius:4px;color:#c5221f;font-size:.875rem;margin-bottom:.7rem;animation:slideIn .3s ease}.error-banner strong{display:block;margin-bottom:.25rem}.error-banner p{margin:.25rem 0 0}.success-banner{background:#e6f4ea;border-left:4px solid #1e8e3e;padding:.7rem;border-radius:4px;color:#137333;font-size:.875rem;margin-bottom:.7rem;animation:slideIn .3s ease}.success-banner strong{display:block;margin-bottom:.5rem}.success-banner p{margin:.25rem 0 0}.success-banner small{display:block;margin-top:.5rem;opacity:.8}.auth-btn{padding:.6rem;border:none;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.auth-btn-primary{background:linear-gradient(135deg,#1a73e8,#0d47a1);color:#fff;box-shadow:0 2px 4px #1a73e84d;border:2px solid white}.auth-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #1a73e866}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-secondary{background:transparent;color:#1a73e8;border:2px solid #1a73e8;text-decoration:none;display:flex;align-items:center;justify-content:center}.auth-btn-secondary:hover:not(:disabled){background:#1a73e81a;transform:translateY(-2px)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{text-align:center;color:#5f6368;font-size:.85rem;margin:.4rem 0;position:relative}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:48%;height:1px;background:#dadce0}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-links{text-align:center;margin-top:.4rem;display:flex;flex-direction:column;gap:.5rem}.link-primary,.link-secondary{text-decoration:none;font-weight:500;font-size:.95rem;transition:color .2s ease}.link-primary{color:#000}.link-primary:hover{color:#333;text-decoration:underline}.link-secondary{color:#000}.link-secondary:hover{color:#333;text-decoration:underline}.btn-link{background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.auth-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid #dadce0;text-align:center;color:#000;font-size:.95rem;font-weight:500}.auth-footer p{margin:0;color:#000}.auth-footer-logo{position:fixed;bottom:2rem;right:2rem;display:flex;gap:2rem;z-index:1;opacity:.4;transition:opacity .3s ease}.auth-footer-logo:hover{opacity:.7}@media(max-width:1024px){.auth-footer-logo{display:none}}.auth-footer-logo img{width:60px;height:60px;object-fit:contain;filter:brightness(0) invert(1)}.auth-right{position:absolute;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:1;pointer-events:none}@media(max-width:1024px){.auth-right{display:none}}.auth-graphic{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3rem;padding:4rem}.graphic-circle{position:absolute;opacity:.35;border-radius:50%;overflow:visible}.graphic-circle:after{content:"";position:absolute;inset:-45%;background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(255,255,255,.2) 45%,transparent 75%);border-radius:50%;filter:blur(22px);opacity:.7;transform:scale(1);mix-blend-mode:screen;pointer-events:none;animation:smokeTrail 7s ease-out infinite}@keyframes smokeTrail{0%{opacity:.7;transform:scale(.85) rotate(0)}35%{opacity:.32;transform:scale(1.2) rotate(35deg)}65%{opacity:.18;transform:scale(1.35) rotate(70deg)}to{opacity:.06;transform:scale(1.5) rotate(95deg)}}.circle-1{width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.7) 0%,rgba(255,255,255,.46) 28%,transparent 72%);top:15%;left:15%;animation:atomOrbit1 6s linear infinite;animation-delay:0s;border:3px solid rgba(255,255,255,.8);box-shadow:0 0 60px #ffffff8c,inset 0 0 45px #ffffff4d}.circle-2{width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.72) 0%,rgba(255,255,255,.48) 28%,transparent 72%);bottom:20%;left:18%;animation:atomOrbit2 6s linear infinite;animation-delay:1s;border:3px solid rgba(255,255,255,.8);box-shadow:0 0 55px #ffffff85,inset 0 0 42px #ffffff47}.circle-3{width:210px;height:210px;background:radial-gradient(circle,rgba(255,255,255,.68) 0%,rgba(255,255,255,.44) 28%,transparent 72%);top:50%;right:10%;animation:atomOrbit3 6s linear infinite;animation-delay:2s;border:3px solid rgba(255,255,255,.8);box-shadow:0 0 58px #ffffff8a,inset 0 0 44px #ffffff47}.circle-4{width:190px;height:190px;background:radial-gradient(circle,rgba(255,255,255,.74) 0%,rgba(255,255,255,.5) 28%,transparent 72%);top:25%;right:20%;animation:atomOrbit4 6s linear infinite;animation-delay:3s;border:3px solid rgba(255,255,255,.8);box-shadow:0 0 52px #ffffff80,inset 0 0 40px #ffffff42}@keyframes atomOrbit1{0%{transform:rotate(0) translate(190px) rotate(0)}to{transform:rotate(360deg) translate(190px) rotate(-360deg)}}@keyframes atomOrbit2{0%{transform:rotate(60deg) translate(175px) rotate(-60deg)}to{transform:rotate(-300deg) translate(175px) rotate(360deg)}}@keyframes atomOrbit3{0%{transform:rotate(120deg) translate(205px) rotate(-120deg)}to{transform:rotate(480deg) translate(205px) rotate(-480deg)}}@keyframes atomOrbit4{0%{transform:rotate(180deg) translate(170px) rotate(-180deg)}to{transform:rotate(-180deg) translate(170px) rotate(180deg)}}.logo-orbit-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;pointer-events:none;z-index:1}.logo-orbit-container:has(.logo-duque-orbit:hover) .logo-duque-orbit,.logo-orbit-container:has(.logo-duque-orbit:hover) .ouvidoria-orbit,.logo-orbit-container:has(.ouvidoria-orbit:hover) .logo-duque-orbit,.logo-orbit-container:has(.ouvidoria-orbit:hover) .ouvidoria-orbit{animation-play-state:paused}.logo-orbit-path{position:absolute;width:1000px;height:1000px;top:50%;left:50%;transform:translate(-50%,-50%);border:2px dashed rgba(255,255,255,.1);border-radius:50%}.logo-duque-orbit{position:absolute;width:200px;height:200px;top:50%;left:50%;animation:logoOrbitMotion 35s linear infinite;animation-delay:-31.5s;pointer-events:auto;cursor:pointer;transition:transform .3s ease}.logo-duque-orbit:hover{transform:translate(-50%,-50%) scale(1.15);z-index:10}.ouvidoria-orbit{position:absolute;width:180px;height:70px;top:50%;left:50%;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:auto;cursor:pointer}.ouvidoria-orbit-1{animation:logoOrbitMotion 35s linear infinite;animation-delay:0s}.ouvidoria-orbit-2{animation:logoOrbitMotion 35s linear infinite;animation-delay:-3.8889s}.ouvidoria-orbit-3{animation:logoOrbitMotion 35s linear infinite;animation-delay:-7.7778s}.ouvidoria-orbit-4{animation:logoOrbitMotion 35s linear infinite;animation-delay:-11.6667s}.ouvidoria-orbit-5{animation:logoOrbitMotion 35s linear infinite;animation-delay:-15.5556s}.ouvidoria-orbit-6{animation:logoOrbitMotion 35s linear infinite;animation-delay:-19.4445s}.ouvidoria-orbit-7{animation:logoOrbitMotion 35s linear infinite;animation-delay:-23.3334s}.ouvidoria-orbit-8{animation:logoOrbitMotion 35s linear infinite;animation-delay:-27.2223s}.ouvidoria-orbit-9{animation:logoOrbitMotion 35s linear infinite;animation-delay:-31.1112s}@keyframes logoOrbitMotion{0%{transform:translate(-50%,-50%) rotate(0) translate(500px) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg) translate(500px) rotate(-360deg)}}.logo-duque-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 15px rgba(255,255,255,.4)) drop-shadow(0 0 30px rgba(255,255,255,.2));opacity:.85;transition:all .4s ease}.logo-duque-orbit:hover .logo-duque-image{filter:drop-shadow(0 0 30px rgba(255,255,255,.9)) drop-shadow(0 0 60px rgba(255,255,255,.6)) drop-shadow(0 0 90px rgba(255,255,255,.4));opacity:1}.ouvidoria-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;text-shadow:0 0 8px rgba(255,255,255,.4),0 2px 4px rgba(0,0,0,.3);padding:0;transition:all .4s ease}.ouvidoria-orbit:hover .ouvidoria-text{text-shadow:0 0 20px rgba(255,255,255,.9),0 0 40px rgba(255,255,255,.6),0 0 60px rgba(255,255,255,.4),0 4px 8px rgba(0,0,0,.5);transform:scale(1.2);font-weight:800;letter-spacing:1px}.graphic-quote{position:relative;z-index:2;text-align:center;padding:3rem;max-width:600px}.graphic-quote-logo{margin-bottom:3rem;display:flex;justify-content:center;align-items:center}.graphic-quote-logo img{height:120px;width:auto;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 8px 24px rgba(0,0,0,.3));animation:logoFloat 6s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.graphic-quote strong{font-size:2.5rem;color:#fff;line-height:1.3;display:block;margin-bottom:2rem;font-weight:800;text-shadow:0 4px 12px rgba(0,0,0,.2);letter-spacing:-.5px}.graphic-quote span{font-size:1.25rem;color:#fffffff2;display:block;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.15);letter-spacing:.3px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.logo-orbit-container,.graphic-circle{display:none}}@media(max-width:768px){.auth-container{flex-direction:column;padding:1rem}.auth-left{max-width:100%;width:100%;padding:1.5rem;margin:0;max-height:none;border-radius:16px}.auth-logo-section{margin-bottom:1rem;padding-bottom:1rem}.gestao-logo-main{max-width:250px}.prefeitura-logo{height:50px}.prefeitura-title{font-size:1.2rem}.auth-content h2{font-size:1.25rem}.subtitle-text{font-size:.8rem}.app-title{font-size:1.5rem}.gestao-logo{width:60px;height:60px}.form-row{grid-template-columns:1fr;gap:.75rem}.form-group{margin-bottom:.75rem}.form-group label{font-size:.85rem;margin-bottom:.35rem}.form-group input{padding:.7rem;font-size:.9rem}.auth-btn{padding:.75rem;font-size:.9rem}.auth-form{gap:.75rem}.auth-footer{padding-top:1rem;font-size:.9rem}.link-primary,.link-secondary{font-size:.9rem}.error-banner,.success-banner{padding:.75rem;font-size:.8rem}.auth-watermark{width:800px;height:800px}}@media(max-width:480px){.auth-left{padding:1rem;border-radius:12px}.auth-logo-section{margin-bottom:.75rem;padding-bottom:.75rem}.gestao-logo-main{max-width:200px}.prefeitura-logo-container{flex-direction:column;gap:.5rem}.prefeitura-logo{height:40px}.prefeitura-title{font-size:1rem}.auth-content h2{font-size:1.1rem}.subtitle-text{font-size:.75rem;margin-bottom:1rem}.form-group input{padding:.65rem;font-size:.85rem}.auth-btn{padding:.7rem;font-size:.85rem}.auth-footer,.link-primary,.link-secondary{font-size:.85rem}}@media(prefers-color-scheme:dark){.auth-container{background:#1f1f1f}.auth-left{background:#252526;color:#e8eaed}.auth-content h2{color:#e8eaed}.subtitle-text,.auth-footer{color:#9aa0a6}.form-group label{color:#e8eaed}.form-group input{background:#323234;border-color:#5f6368;color:#e8eaed}.form-group input:focus{border-color:#4d96ff;background:#3d3d3e;box-shadow:0 0 0 3px #4d96ff1a}.error-banner{background:#5c2d2b;border-left-color:#f8bfbd;color:#f8bfbd}.success-banner{background:#2d5a2d;border-left-color:#81c995;color:#81c995}.auth-divider{color:#5f6368}.auth-divider:before,.auth-divider:after{background:#5f6368}.auth-footer{border-top-color:#5f6368}}.login-new-form{display:flex;flex-direction:column;gap:15px;background-color:#fffffff2;padding:3em 2.5em;border-radius:25px;transition:.4s ease-in-out;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:100%;max-width:400px;margin:0 auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-new-form:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.login-new-heading{color:#1e293b;padding-bottom:1.5em;text-align:center;font-weight:800;font-size:1.5-rem;margin:0;letter-spacing:-.5px}.login-new-input{border-radius:12px;border:1px solid #e2e8f0;background-color:#f8fafc;outline:none;padding:1rem;transition:.3s ease-in-out;font-size:1rem;color:#334155}.login-new-input::placeholder{color:#94a3b8}.login-new-input:hover{border-color:#cbd5e1}.login-new-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.login-new-btn{margin-top:1.5em;align-self:center;padding:1rem;border-radius:12px;border:none;color:#fff;transition:.3s ease-in-out;box-shadow:0 4px 6px -1px #0000001a;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#1d4ed8);width:100%;font-size:1rem}.login-new-btn:hover{box-shadow:0 10px 15px -3px #3b82f64d;transform:translateY(-2px)}.login-new-btn:active{transition:.1s;transform:translateY(0);box-shadow:none}.login-new-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.admin-container{padding:2rem;background:#fff;min-height:100vh}.admin-header{margin-bottom:2rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;padding:2rem;border-radius:12px;color:#1e293b;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}.admin-header-left{display:flex;align-items:center;gap:1.5rem;flex:1}.btn-back{background:#fff;color:#475569;border:1px solid #cbd5e1;padding:.625rem 1.125rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.btn-back:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-back:active{transform:translateY(0)}.admin-header>div:first-child{flex:1}.admin-header-actions{display:flex;gap:1rem}.admin-header-actions .btn-primary{background:#1e293b;color:#fff;border:1px solid #1e293b;padding:.625rem 1.125rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.admin-header-actions .btn-primary:hover{background:#0f172a;border-color:#0f172a;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.admin-header h2{margin:0 0 .5rem;font-size:1.8rem;font-weight:700;color:#1e293b}.admin-header p{margin:0;color:#64748b;font-size:1rem}.admin-alert{padding:1rem;margin-bottom:1.5rem;border-radius:8px;border:1px solid;font-weight:500;animation:slideIn .3s ease}.alert-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert-success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;background:#1e293b;border-radius:12px;box-shadow:0 2px 4px #0000001a}.tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:#ffffffb3;border-radius:8px;transition:all .3s ease}.tab-btn:hover{color:#fff;background:#ffffff1a}.tab-btn.active{color:#1e293b;background:#fff;box-shadow:0 2px 4px #0000001a}.admin-orgao-selector{margin-bottom:2rem;display:flex;align-items:center;gap:1rem;background:#f8fafc;padding:1.5rem;border-radius:12px;border:2px solid #cbd5e1;box-shadow:0 2px 6px #0000000d}.admin-orgao-selector label{font-weight:600;color:#1e293b}.admin-orgao-selector select{flex:1;max-width:300px;padding:.625rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem}.admin-selectors{margin-bottom:2rem;display:flex;gap:1.5rem;background:linear-gradient(135deg,#e2e8f0,#f8fafc);padding:1.5rem;border-radius:12px;border:1px solid #cbd5e1;box-shadow:0 1px 3px #00000014;flex-wrap:wrap;align-items:flex-end}.selector-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:300px}.selector-group label{font-weight:600;color:#1e293b;font-size:.95rem}.selector-group select{padding:.75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;transition:border-color .3s ease;background:#fff;cursor:pointer}.selector-group select:hover{border-color:#94a3b8}.selector-group select:focus{outline:none;border-color:#475569;box-shadow:0 0 0 3px #4755691a}.selector-group select:disabled{background-color:#f1f5f9;cursor:not-allowed;color:#94a3b8}.admin-table{width:100%;border-collapse:collapse;background:#f8fafc;border-radius:12px;overflow:hidden;border:1px solid #cbd5e1;box-shadow:0 4px 12px #00000014}.admin-table thead{background:#1e293b;color:#fff}.admin-table th{padding:1rem;text-align:left;font-weight:600;color:#fff}.admin-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#475569;background:#fff}.admin-table tbody tr:hover td{background:#f8fafc}.badge{display:inline-block;padding:.4rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600;text-transform:uppercase}.badge-administrador_tecnico{background:#ec4899;color:#fff}.badge-administrador{background:#ef4444;color:#fff}.badge-gestor_orgao{background:#f97316;color:#fff}.badge-analista{background:#3b82f6;color:#fff}.status-badge{display:inline-block;padding:.4rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.btn-edit,.btn-toggle{padding:.4rem .8rem;margin-right:.5rem;border:1px solid;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.btn-edit{background:#fff;color:#475569;border-color:#cbd5e1}.btn-edit:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-toggle{background:#fff;color:#f59e0b;border-color:#fde68a}.btn-toggle:hover{background:#fffbeb;border-color:#fcd34d;transform:translateY(-1px);box-shadow:0 2px 4px #f59e0b33}.empty-state{text-align:center;padding:3rem 1rem;color:#64748b;font-size:1.1rem}.admin-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:40px;z-index:9999;animation:fadeIn .2s ease}.admin-modal{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 20px 60px #0000004d;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.admin-modal-content{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000001a;padding:1rem 1.25rem;color:#1e293b;width:90%;max-width:1000px;max-height:90vh;overflow:auto}.admin-modal-content h2,.admin-modal-content h3,.admin-modal-content p{color:#1e293b}.admin-modal-header{padding:1.5rem;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.admin-modal-header h3{margin:0;font-size:1.3rem;font-weight:700;color:#1e293b}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;transition:color .2s ease}.btn-close:hover{color:#1e293b}.admin-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#1e293b}.form-group.checkbox-group,.checkbox-group{display:flex;align-items:center;gap:.75rem}.form-group.checkbox-group label,.checkbox-group label{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.form-group input[type=text],.form-group select{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;transition:border-color .2s ease}.form-group input[type=text]:focus,.form-group select:focus{outline:none;border-color:#475569;box-shadow:0 0 0 3px #4755691a}.form-group input[type=checkbox]{margin-right:.5rem;cursor:pointer;width:1.1rem;height:1.1rem}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.permission-card{border:1px solid #e2e8f0;border-radius:8px;padding:1rem;background:#f8fafc}.permission-card h4{margin:0 0 .75rem;font-size:.95rem;color:#1e293b;text-transform:capitalize}.permission-card label{display:flex;align-items:center;margin-bottom:.5rem;font-weight:400;font-size:.9rem;cursor:pointer}.permission-card input[type=checkbox]{margin-right:.5rem}.admin-modal-footer{padding:1rem 1.5rem;border-top:2px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:1px solid;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.95rem}.btn-cancel{background:#fff;color:#475569;border-color:#cbd5e1}.btn-cancel:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.btn-save{background:#1e293b;color:#fff;border-color:#1e293b}.btn-save:hover:not(:disabled){background:#0f172a;border-color:#0f172a;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-cancel:disabled,.btn-save:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.admin-container{padding:1rem}.admin-modal{width:95%;max-height:95vh}.permissions-grid{grid-template-columns:1fr}.admin-table th,.admin-table td{padding:.75rem .5rem;font-size:.9rem}.btn-edit,.btn-toggle{padding:.3rem .6rem;font-size:.8rem;margin-right:.25rem}}.confirm-box{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffcc80;padding:2.5rem;border-radius:16px;margin-bottom:2rem;text-align:center;box-shadow:0 12px 32px #ffa72626;animation:slideDown .4s cubic-bezier(.16,1,.3,1);position:sticky;top:0;z-index:10}.confirm-box p{color:#e65100!important;font-weight:700;font-size:1.15rem;margin-bottom:1.5rem;line-height:1.5}.confirm-actions{display:flex;justify-content:center;gap:1.5rem}.btn-confirm-yes{background:#dc3545!important;color:#fff!important;padding:.8rem 2.5rem;border-radius:8px;border:none;font-weight:700;cursor:pointer;transition:all .2s ease;font-size:1rem}.btn-confirm-yes:hover{background:#c82333!important;transform:scale(1.05);box-shadow:0 4px 8px #dc35454d}.btn-confirm-no{background:#6c757d!important;color:#fff!important;padding:.8rem 2.5rem;border-radius:8px;border:none;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-confirm-no:hover{background:#5a6268!important}.confirm-box.error{background:#fff5f5;border-color:#feb2b2;box-shadow:0 8px 16px #dc35451a}.confirm-box.error p{color:#c53030!important}.orgaos-list-table{width:100%;border-collapse:separate;border-spacing:0 8px;margin-top:.5rem}.orgaos-list-table th{padding:12px 16px;color:#5e6c84;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #ebecf0;text-align:left;font-family:Inter,system-ui,-apple-system,sans-serif!important}.orgao-row{background:#fff;transition:all .2s ease;box-shadow:0 2px 4px #091e420d}.orgao-row:hover{transform:translateY(-2px);box-shadow:0 4px 8px #091e421f;background:#fbfbff}.orgao-row td{padding:16px;border-top:1px solid #ebecf0;border-bottom:1px solid #ebecf0;font-family:Segoe UI,Roboto,sans-serif!important}.orgao-row td:first-child{border-left:1px solid #ebecf0;border-radius:8px 0 0 8px;font-weight:600;color:#172b4d;font-size:.95rem}.orgao-row td:last-child{border-right:1px solid #ebecf0;border-radius:0 8px 8px 0;text-align:right}.sigla-badge{background:#e6effc;color:#0052cc;padding:4px 10px;border-radius:4px;font-weight:700;font-size:.8rem;font-family:Courier New,Courier,monospace}.action-buttons{display:flex;gap:8px;justify-content:flex-end}.btn-action{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1.1rem}.btn-action.edit{background:#f4f5f7;color:#42526e}.btn-action.edit:hover{background:#0052cc;color:#fff;transform:scale(1.1)}.btn-action.delete{background:#dc3545;color:#fff;box-shadow:0 2px 4px #dc354540}.btn-action.delete:hover{background:#c82333;color:#fff;transform:scale(1.15);box-shadow:0 4px 12px #dc354566}.orgao-form-container{padding:2.5rem;background:#fff;border-radius:12px;border:1px solid #ebecf0;box-shadow:0 4px 20px #00000014;animation:slideDown .3s ease-out}.orgao-form-container h4,.form-group label{font-family:Segoe UI,Roboto,sans-serif!important}.orgao-form-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:1.5rem}.orgao-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #ebecf0}.app-shell{min-height:100vh;display:flex;background:linear-gradient(180deg,#eef2ff,#f7f8fc);margin-left:var(--sidebar-width, 72px);transition:margin-left .42s cubic-bezier(.33,1,.68,1)}.app-shell.sidebar-expanded{margin-left:280px}.app-main{flex:1;display:flex;flex-direction:column;padding:1.5rem;gap:1rem}.tab-nav{display:none}main{flex:1;padding:.75rem;overflow:auto}.page{display:flex;flex-direction:column;gap:1.25rem;height:100%;font-size:1.05rem}.card{background:var(--surface);padding:1.5rem 1.75rem;border-radius:18px;box-shadow:var(--shadow);border:1px solid rgba(9,30,66,.08);font-size:1.05rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.form-grid form{display:flex;flex-direction:column;gap:.75rem}.field-label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#5e6c84}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.mindmap-wrapper{border-radius:12px;overflow:hidden;border:1px solid rgba(9,30,66,.1)}.node{padding:.5rem;border-radius:12px;width:200px;height:120px;min-width:200px;min-height:120px;max-width:200px;max-height:120px;background:var(--surface);border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:.25rem;color:#172b4d;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;text-align:justify;text-transform:uppercase;font-size:.75rem}.node strong{text-align:justify;word-break:break-word;line-height:1.3}.node span{text-align:justify;word-break:break-word;line-height:1.2}.node p{text-align:justify;margin:0;line-height:1.2}.goal-node{background:#fefae0}.action-node{background:#e3fcef}.objective-node{background:#dfeafc}.badge{padding:.2rem .65rem;border-radius:999px;color:#fff;font-size:.75rem;background:var(--primary)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.kpi-card{background:var(--soft);padding:1rem;border-radius:12px;display:flex;flex-direction:column;gap:.25rem;border:1px solid rgba(3,95,255,.08)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem;border-bottom:1px solid rgba(9,30,66,.08);font-size:.9rem}th{color:#5e6c84;font-weight:600}.status-tag{padding:.2rem .55rem;border-radius:999px;font-size:.75rem;text-transform:capitalize}.status-concluida{background:#36b37e;color:#fff}.status-em_andamento{background:#ffab00;color:#172b4d}.status-planejado{background:#6554c0;color:#fff}.status-cancelada{background:#de350b;color:#fff}.gantt-container{width:100%;overflow-x:auto}.add-project-section{text-align:center;padding:3rem 1.5rem}.btn-add-project{background:linear-gradient(135deg,#0052cc,#0065ff);color:#fff;border:none;padding:1.2rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px #0052cc4d;transition:all .3s ease}.btn-add-project:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0052cc66}.btn-add-project:active{transform:translateY(0)}.section-header-highlight{background:linear-gradient(135deg,#f4f5f7,#e4e7eb);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border-left:4px solid #0052cc}.section-header-highlight h3{color:#0052cc;margin:0 0 .5rem;font-size:1.5rem}.section-header-highlight p{color:#6b778c;margin:0;font-size:.9rem}.planning-hierarchy-table{width:100%;border-collapse:collapse;margin-top:1rem}.planning-hierarchy-table thead{background:#f4f5f7;position:sticky;top:0;z-index:10}.planning-hierarchy-table th{padding:1rem;text-align:left;font-weight:600;color:#172b4d;border-bottom:2px solid #dfe1e6;text-transform:uppercase;letter-spacing:.5px}.planning-hierarchy-table td{padding:.75rem 1rem;border-bottom:1px solid #dfe1e6;vertical-align:middle;text-align:left;text-transform:uppercase;font-size:.85rem}.row-objective{background:#e3f2fd;font-weight:500}.row-goal{background:#fff3e0}.row-action{background:#fff9e6!important}.entity-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.entity-objective{background:#1976d2;color:#fff}.entity-goal{background:#f57c00;color:#fff}.entity-action{background:#f0a202;color:#fff}.table-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete{padding:.4rem .8rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.btn-edit{background:#0052cc;color:#fff}.btn-edit:hover{background:#0065ff}.btn-delete{background:#de350b;color:#fff}.btn-delete:hover{background:#bf2600}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:95vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #dfe1e6}.modal-header h2{margin:0;color:#172b4d;font-size:1.5rem}.modal-close{background:none;border:none;font-size:2rem;color:#6b778c;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f4f5f7;color:#172b4d}.modal-content form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid #dfe1e6}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions button[type=button]{background:#f4f5f7;color:#172b4d}.modal-actions button[type=button]:hover{background:#dfe1e6}.modal-actions button[type=submit]{background:#0052cc;color:#fff}.modal-actions button[type=submit]:hover{background:#0065ff}.planning-table{display:flex;flex-direction:column;gap:1rem}.planning-card{border:1px solid rgba(9,30,66,.1);border-radius:12px;padding:1rem;background:var(--soft)}.planning-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.planning-card header h3{margin:0}.planning-card .actions{display:flex;gap:.35rem}.planning-card .actions .danger{background:#de350b}.planning-meta{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.planning-goal{padding:.75rem;border-radius:10px;background:#fff;border:1px solid rgba(9,30,66,.08)}.planning-goal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.planning-actions{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.planning-actions li{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem;border-radius:8px;background:#f4f5f7;border:1px dashed rgba(9,30,66,.1)}.btn-voltar{background:#6c757d;color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;cursor:pointer;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:background .2s ease}.btn-voltar:hover{background:#5a6268}.btn-voltar:active{transform:translateY(1px)}@media(max-width:768px){.tab-nav{margin:.75rem 1rem}main{padding:0 1rem 1rem}.page{gap:1rem}.card{padding:1rem;border-radius:12px}.form-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.section-header .actions,.section-header .actions button{width:100%}.node{width:180px;min-width:180px;max-width:180px;height:100px;min-height:100px;max-height:100px}}@media(max-width:480px){.tab-nav{margin:.5rem;gap:.25rem}.tab-nav button{padding:.5rem .75rem;font-size:.85rem}main{padding:0 .5rem .5rem}.page{gap:.75rem}.card{padding:.75rem;border-radius:10px}.section-header h2,.section-header h3{font-size:1rem}.section-header p{font-size:.8rem}.kpi-grid{grid-template-columns:1fr;gap:.5rem}.node{width:150px;min-width:150px;max-width:150px;height:90px;min-height:90px;max-height:90px;font-size:.65rem}.badge{font-size:.65rem;padding:.15rem .5rem}}
