:root{--bg:#f8fafc;--text:#0f172a;--muted:#475569;--muted-2:#64748b;--surface:#fff;--surface-2:#f1f5f9;--control-hover:#e2e8f0;--control-active:#cbd5e1;--control-border-hover:#94a3b8;--border:#e5e7eb;--border-strong:#cbd5e1;--link:#1d4ed8;--link-hover:#1e40af;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#b91c1c;--danger-hover:#991b1b;--error:#991b1b;--error-bg:#fef2f2;--error-border:#fecaca;--focus:rgba(37,99,235,.9);--focus-soft:rgba(37,99,235,.15);--shadow-sm:0 1px 2px rgba(15,23,42,.06);--shadow-lg:0 8px 28px rgba(15,23,42,.1),0 1px 2px rgba(15,23,42,.06);--table-th:#334155;--table-border:#f1f5f9}html[data-theme=dark]{--bg:#0b1220;--text:#e2e8f0;--muted:#94a3b8;--muted-2:#94a3b8;--surface:#0f172a;--surface-2:#111827;--control-hover:rgba(148,163,184,.14);--control-active:rgba(148,163,184,.22);--control-border-hover:#475569;--border:#1f2937;--border-strong:#334155;--link:#93c5fd;--link-hover:#bfdbfe;--focus:rgba(96,165,250,.95);--focus-soft:rgba(96,165,250,.22);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 10px 34px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.25);--table-th:#cbd5e1;--table-border:#1f2937;--error:#fca5a5;--error-bg:rgba(127,29,29,.25);--error-border:rgba(239,68,68,.35)}body,html{padding:0;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;display:flex;flex-direction:column}*{box-sizing:border-box}a{color:var(--link);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--link-hover)}a:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:10px}main{max-width:1100px;margin:40px auto;padding:0 16px}body.tv-mode .app-footer,body.tv-mode .app-header{display:none}body.tv-mode main{max-width:none;margin:0;padding:0}.auth-header-bar{position:fixed;top:0;left:0;right:0;z-index:60;background:hsla(0,0%,100%,.75);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html[data-theme=dark] .auth-header-bar{background:rgba(15,23,42,.72)}.auth-header-bar-inner{max-width:1900px;margin:0 auto;padding:10px 16px;display:flex;justify-content:flex-end}.auth-shell{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding-top:56px}.auth-card.card{width:min(420px,92vw);padding:0;overflow:hidden}.auth-card.card:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border)}.auth-header{padding:20px 20px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(37,99,235,.1),rgba(37,99,235,.02))}html[data-theme=dark] .auth-header{background:linear-gradient(180deg,rgba(96,165,250,.14),rgba(96,165,250,.04))}.auth-brand{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.18);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}.auth-card .stack{display:flex;flex-direction:column;gap:12px;padding:16px 20px 20px}.btn-block{width:100%}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.75);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html[data-theme=dark] .app-header{background:rgba(15,23,42,.72)}.app-header-inner{max-width:1900px;margin:0 auto;padding:10px 16px}.app-brand,.app-header-inner{display:flex;align-items:center;gap:12px}.app-brand-link{text-decoration:none;font-weight:800;letter-spacing:-.02em}.app-brand-link,.app-brand-link:hover{color:var(--text)}.app-nav{display:flex;gap:8px;flex-wrap:wrap}.app-nav-link{text-decoration:none;color:var(--muted);padding:6px 10px;border-radius:999px;border:1px solid transparent}.app-nav-link:hover{color:var(--text);border-color:var(--border);background:var(--surface)}.app-nav-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app-header-right{margin-left:auto;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.app-header-center{flex:1 1;display:flex;justify-content:center;align-items:center}.app-footer{border-top:1px solid var(--border);margin-top:auto;padding:16px 0;flex-shrink:0}.app-footer,html[data-theme=dark] .app-footer{background:var(--surface)}.app-footer-inner{max-width:1100px;margin:0 auto;padding:0 16px;text-align:center;color:var(--muted);font-size:14px}h1{font-size:28px;letter-spacing:-.02em;line-height:1.2}h2{font-size:18px;letter-spacing:-.01em;line-height:1.3}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em;padding:2px 6px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}label{display:block;margin-top:12px;font-size:14px;color:var(--text)}input,select,textarea{width:100%;padding:10px 12px;font-size:16px;margin-top:6px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-soft)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button{margin-top:0;padding:10px 14px;font-size:16px;cursor:pointer;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}button:hover:not(:disabled){background:var(--control-hover);border-color:var(--control-border-hover)}button:active:not(:disabled){background:var(--control-active);border-color:var(--control-border-hover)}button:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-soft)}button:disabled{opacity:.6;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);text-decoration:none;line-height:1;color:var(--text)}.btn:hover{background:var(--control-hover)}.btn:active,.btn:hover{border-color:var(--control-border-hover)}.btn:active{background:var(--control-active)}.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-soft)}.btn-sm{padding:8px 10px;font-size:14px;border-radius:10px}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:active:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:active:not(:disabled),.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--control-hover)}.toolbar{gap:12px;align-items:flex-end}.actions,.toolbar{display:flex;flex-wrap:wrap}.actions{gap:8px}.table-wrap{width:100%}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;table-layout:fixed}th{text-align:left;border-bottom:1px solid var(--border);font-size:13px;color:var(--table-th)}td,th{padding:10px;white-space:nowrap}td{border-bottom:1px solid var(--table-border);vertical-align:top}.table td:first-child,.table th:first-child{width:40%}.table td:nth-child(2),.table td:nth-child(3),.table td:nth-child(4),.table th:nth-child(2),.table th:nth-child(3),.table th:nth-child(4){width:20%}.form-field.full-width{grid-column:1/-1}textarea.input{resize:vertical;min-height:80px;font-family:inherit}.casos-container{display:flex;flex-direction:column;gap:24px;max-width:1400px;margin:-8px auto 0;padding:0 20px 20px}.top-actions{display:flex;justify-content:flex-end;margin:0 0 16px}.casos-container .top-actions{margin-top:-6px;margin-bottom:8px}.top-actions .btn{font-size:14px;padding:8px 16px;display:inline-flex;align-items:center;gap:6px}.casos-container .table{table-layout:fixed;width:100%}.casos-container .table td:first-child,.casos-container .table th:first-child{width:180px;min-width:160px}.casos-container .table td:nth-child(2),.casos-container .table th:nth-child(2){width:120px;min-width:100px}.casos-container .table td:nth-child(3),.casos-container .table th:nth-child(3){width:140px;min-width:120px}.casos-container .table td:nth-child(4),.casos-container .table th:nth-child(4){width:200px;min-width:180px;max-width:250px;word-wrap:break-word;white-space:normal}.casos-container .table td:nth-child(5),.casos-container .table th:nth-child(5){width:280px;min-width:260px}.casos-container .table td,.casos-container .table th{padding:12px 8px;text-align:left;vertical-align:middle}.casos-container .table th{font-weight:600;border-bottom:2px solid var(--border)}.casos-container .table td{border-bottom:1px solid var(--border-light)}.casos-container .action-buttons{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.casos-container .action-buttons .btn{font-size:11px;padding:4px 8px;white-space:nowrap}@media (max-width:720px){.casos-container{gap:16px;padding:16px}.top-actions{margin-bottom:0}.form-grid,.search-grid{grid-template-columns:1fr}.casos-container .table{font-size:12px}.casos-container .table td:first-child,.casos-container .table th:first-child{width:120px;min-width:100px}.casos-container .table td:nth-child(2),.casos-container .table td:nth-child(3),.casos-container .table th:nth-child(2),.casos-container .table th:nth-child(3){width:80px;min-width:70px}.casos-container .table td:nth-child(4),.casos-container .table th:nth-child(4){width:120px;min-width:100px}.casos-container .table td:nth-child(5),.casos-container .table th:nth-child(5){width:160px;min-width:140px}.casos-container .action-buttons{flex-direction:column;gap:4px}}@media (min-width:1200px){.casos-container{max-width:1600px}.search-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1600px){.casos-container{max-width:1800px}.search-grid{grid-template-columns:repeat(4,1fr)}.form-grid{grid-template-columns:repeat(3,1fr)}}.pessoas-container{display:flex;flex-direction:column;gap:24px;max-width:1400px;margin:0 auto;width:100%}.card-header{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:20px}.card-header h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text)}.card-header p{margin:0;font-size:14px;color:var(--muted)}.search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px;margin-bottom:24px}.search-field{display:flex;flex-direction:column;gap:6px}.search-field label{font-weight:500;color:var(--text);font-size:14px}.search-field input,.search-field select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--surface);color:var(--text)}.search-field input:focus,.search-field select:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 2px rgba(37,99,235,.1)}.search-actions{display:flex;gap:12px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:20px;gap:20px;margin-bottom:24px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-weight:500;color:var(--text);font-size:14px}.form-field input{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--surface);color:var(--text)}.form-field input:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 2px rgba(37,99,235,.1)}.form-field input[required]:after{content:" *";color:var(--error)}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.pagination-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:16px 0;border-bottom:1px solid var(--border)}.page-info{font-size:14px;color:var(--muted);font-weight:500}.table-container{border:1px solid var(--border);border-radius:8px}.modal-body .table-container,.table-container{overflow-x:auto;margin-top:16px;width:100%;table-layout:fixed;flex-shrink:0}.modal-body .table-container{max-width:100%;overflow-y:hidden;box-sizing:border-box}.modal-body .table{max-width:100%;border-collapse:collapse;box-sizing:border-box}.modal-body .table,.modal-content.casos-modal .table{width:100%;table-layout:fixed}.modal-content.casos-modal .table td:first-child,.modal-content.casos-modal .table th:first-child{width:180px;min-width:160px}.modal-content.casos-modal .table td:nth-child(2),.modal-content.casos-modal .table th:nth-child(2){width:120px;min-width:100px}.modal-content.casos-modal .table td:nth-child(3),.modal-content.casos-modal .table th:nth-child(3){width:140px;min-width:120px}.modal-content.casos-modal .table td:nth-child(4),.modal-content.casos-modal .table th:nth-child(4){width:260px;min-width:200px;white-space:normal;overflow-wrap:anywhere}.modal-content.casos-modal .table td:nth-child(5),.modal-content.casos-modal .table th:nth-child(5){width:280px;min-width:260px}.modal-body .action-buttons{display:flex;gap:8px;flex-wrap:wrap;width:100%;box-sizing:border-box;min-width:0}.modal-body .action-buttons .btn{flex-shrink:0;box-sizing:border-box}.action-buttons{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.action-buttons .btn{flex-shrink:0}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state p:first-child{font-size:18px;margin-bottom:8px;color:var(--text)}.empty-state p:last-child{font-size:14px;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-content{background:var(--surface);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:95vw;max-height:90vh;width:100%;max-width:1400px;overflow:hidden;display:flex;flex-direction:column;flex-shrink:0}.modal-header{padding:24px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-shrink:0}.modal-header h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text)}.modal-header p{margin:0;font-size:14px;color:var(--muted)}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;padding:4px;border-radius:4px;color:var(--muted);transition:all .2s;flex-shrink:0}.modal-close:hover{background:var(--border);color:var(--text)}.modal-body{padding:24px;overflow-y:auto;flex:1 1;min-height:400px;max-height:calc(90vh - 120px);width:100%;box-sizing:border-box}@media (max-width:720px){.pessoas-container{gap:16px}.form-grid,.search-grid{grid-template-columns:1fr;gap:16px}.pagination-actions{align-items:stretch;text-align:center}.action-buttons,.pagination-actions{flex-direction:column}.modal-overlay{padding:16px}.modal-body,.modal-header{padding:20px}.modal-content{max-height:95vh}}@media (min-width:1200px){.search-grid{grid-template-columns:repeat(4,1fr)}.form-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1600px){.form-grid,.search-grid{grid-template-columns:repeat(4,1fr)}}.home-shell{display:flex;flex-direction:column;gap:16px}.home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.home-meta{display:flex;flex-wrap:wrap;gap:10px}.home-meta,.pill{align-items:center}.pill{display:inline-flex;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:12px}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.nav-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);padding:16px;min-height:96px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.nav-card:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:var(--shadow-lg)}.nav-card:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.nav-card-title{font-weight:700;font-size:16px;margin:0}.nav-card-desc{margin:8px 0 0;color:var(--muted);font-size:14px}@media (max-width:720px){main{margin:20px auto}.app-header-inner{align-items:flex-start}.auth-header-bar-inner{padding:0 12px}.home-top{flex-direction:column;align-items:stretch}.home-grid{grid-template-columns:1fr}.hide-sm{display:none!important}}