:root{--bg-primary:#0b0813;--bg-secondary:#120e24;--bg-glow:radial-gradient(circle at 50% -20%, #4c1d95 0%, #0f172a 60%, #090514 100%);--glass-bg:#14102673;--glass-bg-hover:#1e1838a6;--glass-border:#ffffff14;--glass-border-focus:#a855f766;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--neon-purple:#a855f7;--neon-blue:#3b82f6;--neon-cyan:#06b6d4;--neon-green:#10b981;--neon-yellow:#f59e0b;--neon-red:#ef4444;--neon-purple-glow:#a855f740;--neon-blue-glow:#3b52f640;--font-sans:"Inter", system-ui, -apple-system, sans-serif;font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);background:var(--bg-primary);background-image:var(--bg-glow);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:var(--font-sans);margin:0;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0b0813cc}::-webkit-scrollbar-thumb{background:#a855f74d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a855f799}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.025em;font-weight:700}.app-container{flex-direction:column;flex-grow:1;gap:2rem;width:100%;max-width:1400px;margin:0 auto;padding:2.5rem 1.5rem;display:flex}.app-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.header-badge{border:1px solid var(--neon-purple);color:#dfadff;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(90deg,#a855f733 0%,#3b82f633 100%);border-radius:9999px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;animation:3s ease-in-out infinite pulse-glow;box-shadow:0 0 15px #a855f726}.app-header h1{background:linear-gradient(135deg,#fff 30%,#c084fc 70%,#60a5fa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:.5rem 0;font-size:3rem;font-weight:800;line-height:1.1}.subtitle{color:var(--text-secondary);max-width:600px;font-size:1.1rem}.stats-bar{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem;display:grid}.stats-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);border-radius:16px;align-items:center;gap:1.25rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.stats-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff0d 0%,#fff0 100%);width:100%;height:100%;position:absolute;top:0;left:0}.stats-card:hover{background:var(--glass-bg-hover);border-color:#a855f74d;transform:translateY(-4px);box-shadow:0 10px 25px -5px #0b081380,0 0 15px #a855f71a}.stats-card-purple:hover{border-color:#a855f766;box-shadow:0 10px 25px -5px #0b081380,0 0 20px #a855f726}.stats-card-blue:hover{border-color:#3b82f666;box-shadow:0 10px 25px -5px #0b081380,0 0 20px #3b82f626}.stats-card-cyan:hover{border-color:#06b6d466;box-shadow:0 10px 25px -5px #0b081380,0 0 20px #06b6d426}.stats-icon-wrapper{border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.stats-card-purple .stats-icon-wrapper{color:var(--neon-purple);background:#a855f726;border:1px solid #a855f74d}.stats-card-blue .stats-icon-wrapper{color:var(--neon-blue);background:#3b82f626;border:1px solid #3b82f64d}.stats-card-cyan .stats-icon-wrapper{color:var(--neon-cyan);background:#06b6d426;border:1px solid #06b6d44d}.stats-info{flex-direction:column;gap:.25rem;display:flex}.stats-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:500}.stats-value{font-size:1.8rem;font-weight:800;line-height:1}.stats-card-purple .stats-value{color:#f3f4f6;text-shadow:0 0 10px #a855f74d}.stats-card-blue .stats-value{color:#f3f4f6;text-shadow:0 0 10px #3b82f64d}.stats-card-cyan .stats-value{color:#f3f4f6;text-shadow:0 0 10px #06b6d44d}.main-layout{grid-template-columns:320px 1fr;align-items:start;gap:2rem;display:grid}@media (width<=1024px){.main-layout{grid-template-columns:1fr}}.sidebar-filters{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);border-radius:20px;flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex;box-shadow:0 8px 32px #0000004d}.sidebar-title-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.sidebar-title{color:#f3f4f6;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;display:flex}.clear-all-btn{color:var(--neon-purple);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:.85rem;font-weight:500;transition:all .2s}.clear-all-btn:hover{color:#dfadff;background:#a855f71a}.filter-group{flex-direction:column;gap:.6rem;display:flex}.filter-label{color:#e5e7eb;font-size:.9rem;font-weight:600}.search-box-wrapper{align-items:center;display:flex;position:relative}.search-box-wrapper input{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);background:#0003;border-radius:10px;padding:.75rem 1rem .75rem 2.5rem;font-family:inherit;font-size:.95rem;transition:all .2s}.search-box-wrapper input:focus{border-color:var(--neon-purple);background:#00000059;outline:none;box-shadow:0 0 10px #a855f733}.search-icon-svg{color:var(--text-secondary);pointer-events:none;transition:color .2s;position:absolute;left:.75rem}.search-box-wrapper input:focus+.search-icon-svg{color:var(--neon-purple)}.styled-select{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background:#0003 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") right .75rem center/1.25rem no-repeat;border-radius:10px;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.styled-select:focus{border-color:var(--neon-purple);background-color:#120e24f2;box-shadow:0 0 10px #a855f733}.range-inputs{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.range-input-wrapper{flex-direction:column;gap:.25rem;display:flex}.range-input-wrapper span{color:var(--text-secondary);font-size:.75rem}.range-input-wrapper input{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);background:#0003;border-radius:8px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;transition:all .2s}.range-input-wrapper input:focus{border-color:var(--neon-purple);box-shadow:0 0 8px #a855f733}.salary-preset-buttons{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.preset-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;transition:all .2s}.preset-btn:hover{color:#dfadff;background:#a855f71a;border-color:#a855f74d}.preset-btn.active{color:var(--text-primary);border-color:var(--neon-purple);background:#a855f733}.results-area{flex-direction:column;gap:1.5rem;display:flex}.results-header{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.results-count{color:var(--text-secondary);font-size:.95rem}.results-count strong{color:var(--text-primary)}.sorting-controls{align-items:center;gap:.75rem;display:flex}.sort-select-group{align-items:center;gap:.5rem;display:flex}.sort-select-group label{color:var(--text-secondary);white-space:nowrap;font-size:.85rem}.sort-select{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;appearance:none;background:#0003 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") right .5rem center/1rem no-repeat;border-radius:8px;outline:none;padding:.4rem 2rem .4rem .75rem;font-family:inherit;font-size:.85rem;transition:all .2s}.sort-select:focus{border-color:var(--neon-purple)}.sort-direction-btn{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.sort-direction-btn:hover{border-color:var(--neon-purple);background:#a855f726}.concursos-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.concurso-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);border-radius:16px;flex-direction:column;justify-content:space-between;gap:1.25rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026}.concurso-card:after{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff1a 0%,#fff0 50%,#a855f733 100%);border-radius:16px;padding:1.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.concurso-card:hover{background:var(--glass-bg-hover);border-color:#a855f74d;transform:translateY(-6px);box-shadow:0 15px 30px #0b081399,0 0 15px #a855f71a}.card-top{flex-direction:column;gap:.75rem;display:flex}.card-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.badge{letter-spacing:.02em;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.badge-aberto{color:#a7f3d0;background:#10b98126;border:1px solid #10b9814d;box-shadow:0 0 8px #10b9811a}.badge-previsto{color:#fde68a;background:#f59e0b26;border:1px solid #f59e0b4d;box-shadow:0 0 8px #f59e0b1a}.badge-encerrado{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.badge-superior{color:#e9d5ff;background:#a855f726;border:1px solid #a855f74d}.badge-medio{color:#bfdbfe;background:#3b82f626;border:1px solid #3b82f64d}.badge-tecnico{color:#cffafe;background:#06b6d426;border:1px solid #06b6d44d}.badge-fundamental{color:#e5e7eb;background:#6b728033;border:1px solid #6b728059}.orgao-name{color:var(--neon-purple);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.concurso-card-titulo{color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:52px;margin:.25rem 0;font-size:1.25rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.card-fields{border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;flex-direction:column;gap:.5rem;padding:.75rem 0;display:flex}.card-field{justify-content:space-between;font-size:.85rem;display:flex}.field-label{color:var(--text-secondary)}.field-value{color:#e5e7eb;font-weight:500}.field-value.highlight{color:#f3f4f6;background:linear-gradient(90deg,#c084fc 0%,#60a5fa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:700}.card-footer-buttons{gap:.75rem;width:100%;display:flex}.details-btn{color:var(--text-primary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.details-btn:hover{background:#ffffff14;border-color:#fff3}.apply-btn{background:linear-gradient(135deg, var(--neon-purple) 0%, #7c3aed 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #a855f740}.apply-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 16px #a855f766}.btn-icon-svg{width:1rem;height:1rem}.pagination-wrapper{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.85rem 1.25rem;display:flex}.pagination-pages-select{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.pagination-controls{align-items:center;gap:.4rem;display:flex}.page-btn{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:8px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 .5rem;font-family:inherit;font-size:.85rem;transition:all .2s;display:flex}.page-btn:hover:not(:disabled){border-color:var(--neon-purple);color:var(--text-primary);background:#a855f726}.page-btn.active{border-color:var(--neon-purple);color:#fff;background:#a855f740;font-weight:700;box-shadow:0 0 10px #a855f733}.page-btn:disabled{opacity:.35;cursor:not-allowed}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:999;background:#07050fbf;justify-content:center;align-items:center;padding:1.5rem;animation:.25s ease-out fade-in;display:flex;position:fixed;inset:0}.modal-content{-webkit-backdrop-filter:blur(24px);background:#120e26e6;border:1px solid #ffffff1f;border-radius:24px;flex-direction:column;width:100%;max-width:720px;max-height:90vh;animation:.3s cubic-bezier(.34,1.56,.64,1) zoom-in;display:flex;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #0009,0 0 30px #a855f733}.modal-close-x{color:var(--text-secondary);cursor:pointer;z-index:10;background:#ffffff0d;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-close-x:hover{color:#fca5a5;background:#ef444426;border-color:#ef44444d}.modal-body{flex-direction:column;gap:1.5rem;padding:2.25rem;display:flex}.modal-header-section{flex-direction:column;gap:.5rem;display:flex}.modal-orgao{color:var(--neon-purple);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:700}.modal-title{color:#fff;font-size:1.75rem;line-height:1.2}.modal-detail-badges{gap:.5rem;margin-top:.25rem;display:flex}.modal-section-title{color:#e5e7eb;border-left:3px solid var(--neon-purple);margin-bottom:.5rem;padding-left:.6rem;font-size:1.05rem;font-weight:700}.modal-desc-box{color:var(--text-primary);background:#0003;border:1px solid #ffffff0d;border-radius:12px;padding:1.25rem;font-size:.95rem;line-height:1.6}.ficha-tecnica-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=600px){.ficha-tecnica-grid{grid-template-columns:1fr}}.ficha-item{background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.ficha-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.ficha-value{color:#fff;font-size:.95rem;font-weight:600}.ficha-value.highlight{background:linear-gradient(90deg,#c084fc 0%,#60a5fa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.15rem;font-weight:800}.modal-footer{background:#0e0a1f80;border-top:1px solid #ffffff0f;border-bottom-right-radius:24px;border-bottom-left-radius:24px;justify-content:flex-end;gap:1rem;padding:1.5rem 2.25rem;display:flex}.modal-close-btn{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;padding:.65rem 1.25rem;font-family:inherit;font-weight:600;transition:all .2s}.modal-close-btn:hover{background:#ffffff1a}.modal-action-btn{background:linear-gradient(135deg, var(--neon-purple) 0%, #7c3aed 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.5rem;font-family:inherit;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #a855f740}.modal-action-btn:hover{filter:brightness(1.1);box-shadow:0 6px 16px #a855f766}.loading-wrapper{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:4rem 2rem;display:flex}.premium-spinner{border:3px solid #a855f726;border-top-color:var(--neon-purple);border-right-color:var(--neon-blue);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}.loading-text{color:var(--text-secondary);font-weight:500}.error-card{text-align:center;background:#ef44440d;border:1px solid #ef444433;border-radius:20px;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.error-icon-wrapper{width:60px;height:60px;color:var(--neon-red);background:#ef44441a;border:1px solid #ef44444d;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-size:1.75rem;display:flex}.error-card h3{color:#fca5a5;font-size:1.4rem}.error-card p{color:var(--text-secondary);max-width:450px;margin:0 auto;font-size:.95rem;line-height:1.5}.retry-button{color:#fca5a5;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:8px;margin-top:.5rem;padding:.6rem 1.25rem;font-family:inherit;font-weight:600;transition:all .2s}.retry-button:hover{color:#fff;background:#ef444440}.empty-card{background:var(--glass-bg);border:1px solid var(--glass-border);text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.empty-icon{margin-bottom:.5rem;font-size:2.5rem}.empty-card p{color:var(--text-secondary);font-size:1rem}.empty-card button{margin-top:.5rem}.app-footer-nav{text-align:center;color:var(--text-muted);border-top:1px solid #ffffff0d;padding:2.5rem 0 1rem;font-size:.85rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes zoom-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-glow{0%,to{border-color:#a855f766;box-shadow:0 0 15px #a855f726}50%{border-color:#a855f7cc;box-shadow:0 0 25px #a855f759}}
