@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Roboto:wght@400;500;700&display=swap";:root{--color-primary:#2563eb;--color-primary-dark:#1e40af;--color-secondary:#0f766e;--color-bg:#f8fafc;--color-surface:#fff;--color-border:#e2e8f0;--color-text:#0f172a;--color-muted:#64748b;--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--shadow-soft:0 18px 45px #0f172a14;--font-sans:"Roboto", Arial, sans-serif;--font-display:"Playfair Display", Georgia, serif}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-sans);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}.loading-screen,.loading-inline{min-height:180px;color:var(--color-muted);place-items:center;display:grid}.app-shell{min-height:100vh}.topbar{z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.topbar-left,.topbar-right,.brand-mark,.logout-button,.sidebar-link,.page-header,.page-actions,.form-actions,.filter-bar,.user-chip,.card-icon{align-items:center;display:flex}.topbar-left,.topbar-right{gap:16px}.brand-mark{gap:12px}.brand-icon{color:#fff;background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 25px #2563eb38}.brand-mark strong,.login-brand h1{font-family:var(--font-display)}.brand-mark strong{font-size:1.35rem;line-height:1;display:block}.brand-mark small,.user-chip small,.card p,.page-header p,.empty-state span,.field small{color:var(--color-muted)}.user-chip{text-align:right;flex-direction:column;align-items:flex-end;gap:2px}.user-chip span{font-weight:700}.icon-button,.logout-button,.button{border:0;border-radius:12px;transition:all .18s}.icon-button{width:40px;height:40px;color:var(--color-text);background:#eef2ff;place-items:center;display:inline-grid}.icon-button:hover{background:#dbeafe}.icon-button.danger{color:var(--color-danger);background:#fee2e2}.logout-button,.button{vertical-align:middle;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:700;line-height:1;display:inline-flex}.logout-button,.button-light{color:var(--color-text);background:#f1f5f9}.logout-button:hover,.button-light:hover{background:#e2e8f0}.button-primary{color:#fff;background:var(--color-primary);box-shadow:0 12px 25px #2563eb3d}.button-primary:hover{background:var(--color-primary-dark)}.button-secondary{color:var(--color-primary-dark);background:#dbeafe}.button-secondary:hover{background:#bfdbfe}.sidebar{z-index:15;color:#cbd5e1;background:#0f172a;width:82px;padding:20px 14px;transition:width .2s,transform .2s;position:fixed;top:72px;bottom:0;left:0}.sidebar.expanded{width:260px}.sidebar-nav ul,.sidebar-submenu{margin:0;padding:0;list-style:none}.sidebar-nav>ul{gap:6px;display:grid}.sidebar-link{color:#cbd5e1;border-radius:14px;gap:12px;min-height:46px;padding:0 12px;font-weight:700;position:relative}.sidebar-link:hover,.sidebar-link.active{color:#fff;background:#2563eb40}.sidebar-icon{place-items:center;min-width:22px;font-size:1.15rem;display:grid}.chevron{margin-left:auto;transition:transform .18s}.chevron.open{transform:rotate(180deg)}.sidebar-submenu{gap:4px;margin:4px 0 8px 38px;display:grid}.submenu-link{color:#94a3b8;border-radius:10px;padding:9px 12px;font-size:.92rem;display:block}.submenu-link.active,.submenu-link:hover{color:#fff;background:#0f766e59}.system-switcher{border-top:1px solid #94a3b840;gap:8px;padding-top:16px;display:grid;position:absolute;bottom:18px;left:14px;right:14px}.system-switcher span{color:#94a3b8;text-transform:uppercase;font-size:.78rem;font-weight:700}.system-switcher a{background:#ffffff0f;border-radius:10px;padding:9px 10px}.system-switcher a:hover{background:#ffffff1f}.main-content{min-height:100vh;margin-left:82px;padding:96px 28px 40px;transition:margin-left .2s}.sidebar.expanded~.main-content{margin-left:260px}.app-shell:has(.sidebar.expanded) .main-content{margin-left:260px}.breadcrumb{color:var(--color-muted);margin-bottom:18px;font-size:.9rem}.breadcrumb a{color:var(--color-primary-dark);font-weight:700}.breadcrumb-separator{margin:0 8px}.page-header{justify-content:space-between;gap:20px;margin-bottom:22px}.page-header h1{font-family:var(--font-display);margin:0;font-size:clamp(2rem,4vw,3rem)}.page-header p{max-width:760px;margin:8px 0 0}.card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:22px;margin-bottom:18px;padding:22px}.card h2,.card h3{margin:0 0 10px}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.hero-card{color:#fff;background:linear-gradient(135deg,#1e40af,#0f766e);grid-column:span 3}.hero-card p,.hero-card .eyebrow{color:#ffffffc7}.eyebrow{letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:700;display:inline-block}.card-icon{width:44px;height:44px;color:var(--color-primary);background:#dbeafe;border-radius:14px;justify-content:center;margin-bottom:14px;font-size:1.35rem}.login-page{background:radial-gradient(circle at top left, #2563eb33, transparent 34%), radial-gradient(circle at bottom right, #0f766e33, transparent 34%), var(--color-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--color-border);width:min(100%,960px);box-shadow:var(--shadow-soft);background:#fff;border-radius:30px;grid-template-columns:1fr 420px;display:grid;overflow:hidden}.login-brand{color:#fff;background:linear-gradient(145deg,#1e40af,#0f766e);padding:56px}.login-brand span{letter-spacing:.08em;text-transform:uppercase;font-weight:700}.login-brand h1{margin:32px 0 10px;font-size:4rem}.login-brand p{color:#ffffffc7;max-width:420px;font-size:1.1rem}.login-form{align-content:center;gap:18px;padding:44px;display:grid}.field,.login-form label{color:var(--color-text);gap:8px;font-weight:700;display:grid}input,select,textarea{width:100%;min-height:42px;color:var(--color-text);border:1px solid var(--color-border);background:#fff;border-radius:12px;outline:none;padding:0 12px}textarea{resize:vertical;min-height:100px;padding-top:10px}select[multiple]{min-height:120px;padding:10px}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}.input-with-icon{position:relative}.input-with-icon svg{color:var(--color-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-with-icon input{padding-left:40px}.form-grid,.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid.compact,.filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.person-header-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.filter-bar{align-items:end}.search-field,.people-tags-filter{grid-column:span 2}.people-filter-bar>.button{align-self:start;margin-top:30px}.form-actions{justify-content:flex-end;gap:12px;margin:20px 0}.form-actions.inside-modal{margin-bottom:0}.form-tabs{border-bottom:1px solid var(--color-border);gap:6px;margin:-4px 0 18px;padding:4px 0;display:flex;overflow-x:auto}.form-tab{min-height:44px;color:var(--color-muted);white-space:nowrap;border-radius:12px 12px 0 0;align-items:center;padding:0 14px;font-weight:700;display:inline-flex;position:relative}.form-tab:hover{color:var(--color-primary-dark);background:#eff6ff}.form-tab.active{color:var(--color-primary-dark);background:#dbeafe}.form-tab.active:after{content:"";background:var(--color-primary);border-radius:999px;height:3px;position:absolute;bottom:-5px;left:12px;right:12px}.form-tab.disabled{color:#94a3b8;cursor:not-allowed;background:0 0}.form-tab.disabled:hover{color:#94a3b8;background:0 0}.checkbox-field{align-items:center;gap:10px;font-weight:700;display:flex}.checkbox-field input{width:18px;min-height:18px}.alert{border-radius:14px;margin-bottom:16px;padding:13px 14px;font-weight:700}.alert-danger{color:#991b1b;background:#fee2e2}.alert-info{color:#1e40af;background:#dbeafe}.table-wrapper{overflow-x:auto}.pagination-bar{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding-top:16px;display:flex}.pagination-info,.pagination-actions,.pagination-size{align-items:center;gap:10px;display:flex}.pagination-info,.pagination-actions span,.pagination-size{color:var(--color-muted);font-weight:700}.pagination-size select{width:auto;min-width:88px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:14px 12px}th{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}.actions-column{text-align:right;white-space:nowrap;width:120px}.actions-column .icon-button{margin-left:8px}.empty-state{text-align:center;place-items:center;gap:6px;padding:40px 16px;display:grid}.status-pill{border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.status-pill.active{color:#166534;background:#dcfce7}.status-pill.inactive,.status-pill.status-pendente{color:#92400e;background:#fef3c7}.status-pill.status-em_analise{color:#1e40af;background:#dbeafe}.status-pill.status-aprovado{color:#166534;background:#dcfce7}.status-pill.status-recusado{color:#991b1b;background:#fee2e2}.status-pill.status-duplicado{color:#475569;background:#e2e8f0}.modal-backdrop{z-index:50;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(100%,560px);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:22px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-header h2{margin:0}@media (width<=1100px){.home-grid{grid-template-columns:1fr 1fr}.hero-card{grid-column:span 2}}@media (width<=900px){.topbar{padding:0 14px}.sidebar,.sidebar.expanded,.sidebar.collapsed{width:260px;transform:translate(-100%)}.sidebar.drawer-open{transform:translate(0)}.main-content{margin-left:0;padding:92px 16px 32px}.app-shell:has(.sidebar.expanded) .main-content{margin-left:0;padding:92px 16px 32px}.user-chip,.logout-button span{display:none}.login-panel{grid-template-columns:1fr}.login-brand{padding:36px}.login-brand h1{font-size:3rem}.home-grid,.hero-card,.form-grid,.form-grid.compact,.filter-bar,.search-field,.people-tags-filter,.submission-field-grid{grid-column:auto;grid-template-columns:1fr}.pagination-bar,.pagination-actions{flex-direction:column;align-items:stretch}.page-header{flex-direction:column;align-items:flex-start}}.tag-preview{color:var(--tag-color);background:color-mix(in srgb, var(--tag-color) 14%, white);border:1px solid color-mix(in srgb, var(--tag-color) 30%, white);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-weight:700;display:inline-flex}.tag-preview:before{content:"";background:var(--tag-color);border-radius:999px;width:8px;height:8px}.color-chip,.color-input-row{align-items:center;gap:10px;display:flex}.color-chip span{border:1px solid var(--color-border);border-radius:8px;width:22px;height:22px}.color-input-row input[type=color]{width:54px;min-width:54px;padding:4px}.section-title-row,.repeatable-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.section-title-row{margin-bottom:16px}.section-title-row h2{margin:0}.repeatable-box{border:1px solid var(--color-border);background:#f8fafc;border-radius:18px;gap:16px;margin-top:14px;padding:16px;display:grid}.repeatable-header strong{font-size:.95rem}.muted-text{color:var(--color-muted);margin:0}.tag-autocomplete{gap:10px;display:grid;position:relative}.tag-search-box{position:relative}.tag-search-box svg{color:var(--color-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tag-search-box input{padding-left:40px}.tag-suggestions{z-index:35;border:1px solid var(--color-border);max-height:260px;box-shadow:var(--shadow-soft);background:#fff;border-radius:16px;padding:8px;display:grid;position:absolute;top:74px;left:0;right:0;overflow:auto}.tag-suggestion-item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.tag-suggestion-item:hover{background:#f1f5f9}.tag-color-dot{border-radius:999px;width:12px;height:12px}.tag-suggestion-muted,.tag-suggestion-error{color:var(--color-muted);padding:10px}.tag-suggestion-error{color:var(--color-danger)}.selected-tags-list{flex-wrap:wrap;gap:8px;display:flex}.selected-tag-chip{color:var(--tag-color);background:color-mix(in srgb, var(--tag-color) 13%, white);border:1px solid color-mix(in srgb, var(--tag-color) 30%, white);border-radius:999px;align-items:center;gap:8px;padding:7px 9px 7px 11px;font-weight:700;display:inline-flex}.selected-tag-chip button{width:22px;height:22px;color:inherit;cursor:pointer;background:#ffffffb3;border:0;border-radius:999px;place-items:center;display:inline-grid}.municipio-autocomplete,.municipio-search-box{position:relative}.municipio-search-box svg{color:var(--color-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.municipio-search-box input{padding-left:40px;padding-right:42px}.municipio-clear-button{width:28px;height:28px;color:var(--color-muted);background:0 0;border:0;border-radius:999px;place-items:center;display:inline-grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.municipio-clear-button:hover{color:var(--color-text);background:#f1f5f9}.municipio-suggestions{z-index:35;border:1px solid var(--color-border);max-height:260px;box-shadow:var(--shadow-soft);background:#fff;border-radius:16px;padding:8px;display:grid;position:absolute;top:74px;left:0;right:0;overflow:auto}.municipio-suggestion-item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.municipio-suggestion-item:hover{background:#f1f5f9}.municipio-suggestion-item span,.municipio-suggestion-muted,.municipio-suggestion-error{color:var(--color-muted)}.municipio-suggestion-muted,.municipio-suggestion-error{padding:10px}.municipio-suggestion-error{color:var(--color-danger)}.submission-details{gap:14px;max-height:70vh;padding-right:4px;display:grid;overflow:auto}.submission-detail-section{border:1px solid var(--color-border);background:#f8fafc;border-radius:18px;padding:16px}.submission-detail-section h3{color:var(--color-text);margin:0 0 12px;font-size:.95rem}.submission-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.submission-field{gap:4px;min-width:0;display:grid}.submission-field span{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:700}.submission-field strong{min-width:0;color:var(--color-text);overflow-wrap:anywhere;font-size:.95rem;font-weight:700}.submission-contact-list{gap:10px;display:grid}.submission-contact-card{border:1px solid var(--color-border);background:#fff;border-radius:14px;padding:12px}.public-captacao-page{width:min(100%,980px);min-height:100vh;margin:0 auto;padding:34px 18px 46px}.public-captacao-hero{color:#fff;box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#1e40af,#0f766e);border-radius:28px;align-items:center;gap:18px;margin-bottom:18px;padding:28px;display:flex}.public-captacao-hero h1{font-family:var(--font-display);margin:0;font-size:clamp(2rem,5vw,3.4rem)}.public-captacao-hero p{color:#ffffffc7;max-width:680px;margin:8px 0 0}.public-captacao-form{gap:2px;display:grid}.type-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.type-toggle label{cursor:pointer;border:1px solid var(--color-border);border-radius:16px;align-items:center;gap:10px;min-height:56px;padding:0 16px;font-weight:700;display:flex}.type-toggle label.active{color:var(--color-primary-dark);background:#dbeafe;border-color:#93c5fd}.type-toggle input{width:18px;min-height:18px}.turnstile-box{min-height:74px}.public-unavailable-card{text-align:center}.public-unavailable-card h2{margin-bottom:8px}@media (width<=900px){.type-toggle,.public-captacao-hero{grid-template-columns:1fr}.public-captacao-hero{flex-direction:column;align-items:flex-start}}
