
:root{--azul:#06499b;--azul2:#0865c8;--roxo:#982aa8;--roxo2:#b63ab0;--vermelho:#ff3b4f;--laranja:#ffae16;--verde:#18b66b;--texto:#24345d;--muted:#687596;--bg:#f4f7fc;--linha:#e1e7f2;--shadow:0 8px 22px rgba(20,39,90,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Segoe UI,Arial,sans-serif;color:var(--texto);font-size:13px}.header{height:116px;background:linear-gradient(105deg,#062f75,#0749a6 48%,#07357f);color:white;display:flex;align-items:center;padding:0 26px;gap:24px}.brand{width:275px;border-right:2px solid rgba(255,255,255,.45);padding-right:22px}.brand .small{font-size:11px;letter-spacing:5px;font-weight:900}.brand .big{font-size:42px;font-weight:900;line-height:.9}.brand .toc{font-size:29px;font-weight:900;line-height:.9}.brand .tag{margin-top:6px;background:#b335a7;font-size:9px;letter-spacing:1.7px;padding:3px;text-align:center}.heart{background:#fff;color:#af28a2;border-radius:50%;display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;font-size:17px}.head-title{flex:1}.head-title h1{margin:0 0 7px;font-size:25px}.head-title p{margin:0;color:#dce9ff;font-weight:600}.top-actions{display:flex;gap:10px;align-items:center}.top-actions button,.filebtn{width:76px;height:74px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:8px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:800;cursor:pointer}.filebtn input{display:none}.userbox{width:205px;height:64px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;padding:10px}.avatar{width:38px;height:38px;background:#e9fff7;color:#159663;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900}.userbox b{display:block}.userbox span{font-size:11px;color:#dce9ff}.shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 116px)}.sidebar{background:white;border-right:1px solid var(--linha);padding:20px 16px;display:flex;flex-direction:column}.nav button{width:100%;border:0;background:white;color:#253767;border-radius:8px;text-align:left;padding:13px 15px;margin:4px 0;font-weight:800;cursor:pointer}.nav button.active{background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:white}.version{margin-top:auto;border:1px solid var(--linha);border-radius:10px;text-align:center;padding:17px 10px}.badge{display:inline-block;background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:white;border-radius:8px;padding:5px 12px;font-weight:900;margin:8px}.main{padding:20px 22px 0}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:16px}.metric{background:white;border:1px solid var(--linha);border-radius:8px;box-shadow:var(--shadow);height:100px;padding:17px;display:flex;align-items:center;gap:14px}.circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:25px;font-weight:900}.purple{background:#9635c3}.blue{background:#5d73d6}.red{background:var(--vermelho)}.orange{background:var(--laranja)}.green{background:var(--verde)}.m-title{font-size:10px;text-transform:uppercase;color:#687394;font-weight:900}.m-number{font-size:28px;color:#073d97;font-weight:900;line-height:1}.m-sub{font-size:12px;color:#526080;font-weight:700}.dashboard{display:grid;grid-template-columns:1.05fr 1.15fr 2fr;gap:14px}.panel,.small-panel{background:white;border:1px solid var(--linha);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.panel-head,.detail-head{height:42px;background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:white;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-weight:900;font-size:15px}.head-btn{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:white;border-radius:5px;padding:5px 9px;font-size:11px;cursor:pointer}.table{width:100%;border-collapse:collapse}.table th{font-size:10px;text-transform:uppercase;color:#667291;padding:12px;border-bottom:1px solid var(--linha);text-align:left}.table td{padding:13px 12px;border-bottom:1px solid var(--linha);font-weight:800}.table tr{cursor:pointer}.table tr.selected{background:#f2dff1}.count{min-width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:white;font-size:11px;font-weight:900}.bg-red{background:var(--vermelho)}.bg-green{background:var(--verde)}.bg-orange{background:var(--laranja)}.bg-blue{background:#2e75d4}.footer-btn{margin:12px;border:1px solid var(--linha);height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#16469a;cursor:pointer}.search{padding:12px;display:flex}.search input{flex:1;border:1px solid var(--linha);border-radius:5px 0 0 5px;padding:10px}.search button{width:40px;border:1px solid var(--linha);border-left:0;background:white}.person{display:grid;grid-template-columns:42px 1fr auto 18px;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--linha);cursor:pointer}.person.selected{background:#f2e1f2;border-radius:6px;margin:0 10px 4px}.initial{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-weight:900}.person b{display:block}.person small{font-weight:700;color:#5d698a}.pill{border-radius:999px;color:white;font-size:10px;font-weight:900;padding:6px 9px;white-space:nowrap}.detail-body{padding:14px}.profile{display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:start}.profile h2{margin:0 0 7px;font-size:18px}.info-line{display:flex;gap:15px;flex-wrap:wrap;color:#667291;font-size:11px;font-weight:800}.edit-btn,.btn{border:0;border-radius:6px;padding:9px 14px;font-weight:900;cursor:pointer}.edit-btn{background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:white}.tabs{display:flex;gap:24px;margin-top:16px;border-bottom:1px solid var(--linha)}.tab{padding:10px 0;font-size:11px;font-weight:900;color:#526080;cursor:pointer}.tab.active{color:var(--roxo);border-bottom:3px solid var(--roxo)}.legend{display:flex;gap:25px;font-size:11px;font-weight:800;color:#526080;margin:13px 0}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:7px}.docs{width:100%;border-collapse:collapse;font-size:11px}.docs th{color:#64708f;text-transform:uppercase;font-size:10px;padding:9px;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}.docs td{border-bottom:1px solid var(--linha);padding:9px;font-weight:800}.type{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.type.obr{background:#f0d6ef;color:#9b2aa5}.type.extra{background:#fff0d0;color:#c56c00}.type.ctrl{background:#dbeafe;color:#0754bd}.switch{width:34px;height:18px;background:#dfe5ef;border-radius:999px;display:inline-flex;align-items:center;padding:2px;cursor:pointer}.switch:before{content:"";width:14px;height:14px;background:white;border-radius:50%;box-shadow:0 1px 2px #aaa}.switch.on{background:var(--verde);justify-content:flex-end}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.btn{background:#0c56bd;color:white}.btn.out{background:white;color:#16469a;border:1px solid var(--linha)}.btn.purple{background:linear-gradient(90deg,var(--roxo),var(--roxo2))}.lower{display:grid;grid-template-columns:1.05fr 1.15fr 1fr 1fr;gap:14px;margin-top:14px}.small-panel{height:190px;padding:14px}.small-title{font-size:15px;color:var(--roxo);font-weight:900;margin-bottom:10px;display:flex;justify-content:space-between}.link-row{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--linha)}.tiny-pill{font-size:9px;color:white;font-weight:900;border-radius:999px;padding:4px 7px}.donut-wrap{display:flex;align-items:center;gap:20px;height:130px}.donut{width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--vermelho) 0 58%,var(--laranja) 58% 82%,#2e75d4 82% 100%);position:relative}.donut:after{content:"";position:absolute;inset:32px;background:white;border-radius:50%}.quick-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--linha);font-weight:900;cursor:pointer}.bar-bg{height:5px;background:#e5eaf2;border-radius:999px;margin-top:6px}.bar-fill{height:5px;border-radius:999px;background:#20b78a}.bottom{height:43px;background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-weight:700;font-size:12px;margin:20px -22px 0}.modal{position:fixed;inset:0;background:rgba(13,22,45,.55);display:flex;align-items:center;justify-content:center;z-index:50}.modal.hidden{display:none}.modalbox{background:white;border-radius:14px;width:min(980px,92vw);max-height:90vh;overflow:auto;box-shadow:0 22px 70px rgba(0,0,0,.25)}.modalhead{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--linha)}.modalhead h2{margin:0;color:var(--roxo)}.modalhead button{border:0;background:white;font-size:28px;cursor:pointer}.modal-form{padding:18px}.modal-form label{display:block;margin-bottom:10px;font-weight:800}.modal-form input,.modal-form select,.modal-form textarea{width:100%;border:1px solid var(--linha);border-radius:8px;padding:10px;margin-top:4px}.modal-form textarea{min-height:100px}.doc-preview{background:#fff;padding:35px 44px;border:1px solid #ddd;font-family:Georgia,'Times New Roman',serif;color:#000;line-height:1.55}.doc-head{text-align:center;border-bottom:3px solid #06499b;margin-bottom:25px;padding-bottom:12px}.doc-head b{font-size:22px;color:#06499b}.doc-body{text-align:justify;white-space:pre-wrap}.doc-date{text-align:right;margin:26px 0}.signature{text-align:center;margin-top:38px}.signature .line{width:320px;border-top:1px solid #000;margin:0 auto 4px}.doc-footer{border-top:1px solid #000;margin-top:35px;padding-top:7px;text-align:center;font-size:11px}.toast{position:fixed;right:20px;bottom:20px;background:#163b68;color:white;border-radius:10px;padding:13px 18px;font-weight:800;z-index:100}.toast.hidden{display:none}.mobile-body{background:#e9f0f9}.phone-page{max-width:430px;margin:0 auto;background:#f8fafc;min-height:100vh}.mobile-header{background:linear-gradient(135deg,#063b8f,#0754bd);color:white;padding:22px}.mobile-header h1{margin:16px 0 5px}.progress{height:8px;background:rgba(255,255,255,.25);border-radius:999px}.progress div{height:100%;width:65%;background:#ffae16;border-radius:999px}.mobile-form{padding:16px}.card-mobile{background:white;border:1px solid var(--linha);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}.card-mobile h2{margin-top:0;color:#063b8f}.card-mobile label{display:block;margin:10px 0;font-weight:800}.required{color:var(--vermelho)}.card-mobile input,.card-mobile select,.card-mobile textarea{width:100%;border:1px solid var(--linha);border-radius:10px;padding:12px;margin-top:5px;font-size:16px}.card-mobile textarea{min-height:90px}.mobile-submit{width:100%;background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:white;border:0;border-radius:14px;padding:16px;font-size:16px;font-weight:900}.hidden{display:none}@media print{body *{visibility:hidden}.doc-preview,.doc-preview *{visibility:visible}.doc-preview{position:absolute;left:0;top:0;width:100%;border:0;padding:25mm 20mm}.modalhead,.modal .btn{display:none}.doc-body{text-align:justify}.doc-date{text-align:right}.signature{text-align:center}}@media(max-width:1200px){.header,.shell{min-width:1180px}}

/* v10 - ficha cadastral completa */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card-mobile fieldset{border:1px solid var(--linha);border-radius:10px;margin:12px 0;padding:10px}.card-mobile legend{font-weight:900;color:#063b8f}.card-mobile fieldset label{font-weight:700;margin:8px 0}.card-mobile input[type=radio]{width:auto;margin-right:6px}.ficha-preview{background:#fff;padding:18mm 18mm 16mm 18mm;border:1px solid #ddd;font-family:Arial,Helvetica,sans-serif;color:#000;font-size:11pt;line-height:1.32;width:210mm;min-height:297mm;box-sizing:border-box}.ficha-preview h2{text-align:center;font-size:12pt;margin:8px 0 12px;text-transform:uppercase}.ficha-preview h3{font-size:11pt;margin:12px 0 6px;text-transform:uppercase}.ficha-preview p{margin:4px 0;text-align:justify}.ficha-head{border-bottom:none;margin-bottom:8px;padding-bottom:0}.ficha-table{width:100%;border-collapse:collapse;margin:6px 0 10px}.ficha-table th,.ficha-table td{border:1px solid #000;padding:5px;text-align:left;font-size:10pt}.declara{text-align:justify;margin-top:12px}.sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ficha-preview .signature{break-inside:avoid;text-align:center;margin-top:22px}.ficha-preview .signature .line{width:260px;border-top:1px solid #000;margin:0 auto 4px}.ficha-preview .doc-footer{border-top:1px solid #000;margin-top:25px;padding-top:6px;text-align:center;font-size:9pt}
@media(max-width:520px){.grid2{grid-template-columns:1fr}.phone-page{max-width:100%}}
@media print{.ficha-preview,.ficha-preview *{visibility:visible}.ficha-preview{position:absolute;left:0;top:0;width:210mm;min-height:297mm;border:0;box-shadow:none;padding:16mm 17mm 14mm}.modalhead,.modal .btn{display:none!important}@page{size:A4;margin:0}}

/* v10.1 - layout oficial da ficha cadastral (PDF 6 páginas) */
.ficha-modal{background:#f3f5f8;overflow:auto}.ficha-doc{display:flex;flex-direction:column;gap:18px;align-items:center}.f-page{width:210mm;height:297mm;background:#fff;position:relative;box-sizing:border-box;padding:10mm 22mm 22mm 22mm;color:#111;font-family:"Times New Roman",Times,serif;font-weight:700;font-size:12.1pt;line-height:1.23;page-break-after:always;overflow:hidden}.f-main{position:relative;z-index:2}.f-header{height:28mm;display:flex;align-items:center;justify-content:center;gap:13mm;margin:0 0 2mm 0}.f-logo-pref{width:56mm;max-height:23mm;object-fit:contain}.f-logo-tj{width:26mm;max-height:23mm;object-fit:contain}.f-logo-nup{width:47mm;max-height:21mm;object-fit:contain}.f-side{position:absolute;top:0;bottom:0;width:8.5mm;z-index:1;background-size:8.5mm 18mm;background-repeat:repeat-y}.f-left{left:0;background-image:linear-gradient(180deg,#1f9dc9 0 22%,transparent 22% 28%,#0a65b8 28% 50%,transparent 50% 56%,#11a653 56% 78%,transparent 78% 84%,#f6a51c 84% 100%)}.f-right{right:0;background-image:linear-gradient(180deg,#11a653 0 22%,transparent 22% 28%,#0a65b8 28% 50%,transparent 50% 56%,#1f9dc9 56% 78%,transparent 78% 84%,#f6a51c 84% 100%)}.f-box{border:1.4px solid #111;border-bottom:0;margin:0}.f-box:last-child{border-bottom:1.4px solid #111}.f-section{background:#d9d9d9;border-bottom:1.4px solid #111;padding:2.2mm 2.4mm;text-transform:uppercase;font-weight:900;font-size:12.4pt;letter-spacing:.1px}.f-section.gray{background:#d9d9d9}.f-section span{font-size:10.5pt;text-transform:none}.f-content{padding:2.4mm 2.4mm}.f-content>div{margin:1.25mm 0}.f-line{margin:1.25mm 0}.titleonly{font-weight:900;text-transform:uppercase}.gap{margin-left:12mm}.f-mor{width:100%;border-collapse:collapse;table-layout:fixed}.f-mor th,.f-mor td{border:1.2px solid #111;text-align:center;vertical-align:middle;padding:2mm 1.4mm;font-size:9.7pt;height:18mm;word-break:break-word}.f-mor th{height:13mm}.f-mor th:nth-child(1){width:34%}.f-mor th:nth-child(2){width:9%}.f-mor th:nth-child(3){width:20%}.f-mor th:nth-child(4){width:16%}.f-mor th:nth-child(5){width:10%}.f-mor th:nth-child(6){width:11%}.f-areas{display:grid;grid-template-columns:1fr 1fr;column-gap:10mm}.f-declara{text-align:justify;margin:0 0 6mm 0}.f-date{text-align:right;margin:5mm 0 12mm 0}.f-sign{text-align:center;margin:8mm auto 3mm auto;break-inside:avoid}.f-sign div{width:68mm;border-top:1.2px solid #111;margin:0 auto 1.5mm auto}.f-space{margin-top:20mm}.f-footer{position:absolute;left:10mm;right:10mm;bottom:7mm;text-align:center;font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:10.2pt;line-height:1.25;z-index:2}.f-foot-line{border-top:1.1px solid #111;margin:0 0 2mm 0}.f-page-num{position:absolute;right:4mm;bottom:-5mm;font-size:16pt;font-weight:700;color:#111}.ficha-preview{display:none!important}
@media print{body *{visibility:hidden!important}.ficha-doc,.ficha-doc *{visibility:visible!important}.ficha-doc{display:block!important;position:absolute;left:0;top:0;width:210mm;background:#fff}.f-page{margin:0!important;border:0!important;box-shadow:none!important}.modalhead,.modal .btn,.toast{display:none!important}@page{size:A4;margin:0}}

/* === v10.2 FINAL PREFEITURA / ABNT ===
   Margens oficiais: superior 3cm, esquerda 3cm, inferior 2cm, direita 2cm.
   Aplicado a TODOS os documentos gerados e à ficha cadastral. */
.doc-preview{width:210mm!important;min-height:297mm!important;margin:20px auto!important;padding:3cm 2cm 2cm 3cm!important;box-sizing:border-box!important;background:#fff!important;color:#000!important;font-family:"Times New Roman",Times,serif!important;font-size:12pt!important;line-height:1.45!important}.doc-head{text-align:center!important;border-bottom:2px solid #06499b!important;margin-bottom:12mm!important;padding-bottom:5mm!important}.doc-head b{font-size:16pt!important;color:#06499b!important}.doc-head span{font-size:11pt!important;color:#000!important}.doc-body{text-align:justify!important;white-space:pre-wrap!important}.doc-date{text-align:right!important;margin:10mm 0 15mm 0!important}.doc-footer{border-top:1px solid #000!important;margin-top:18mm!important;padding-top:3mm!important;text-align:center!important;font-size:9pt!important;line-height:1.2!important}
.ficha-modal{background:#eef1f5!important}.ficha-doc{display:flex!important;flex-direction:column!important;gap:18px!important;align-items:center!important;background:#eef1f5!important}.f-page{width:210mm!important;height:297mm!important;margin:0 auto!important;padding:3cm 2cm 2cm 3cm!important;box-sizing:border-box!important;background:#fff!important;position:relative!important;color:#111!important;font-family:"Times New Roman",Times,serif!important;font-size:11.2pt!important;line-height:1.18!important;font-weight:700!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important}.f-page:last-child{break-after:auto!important;page-break-after:auto!important}.f-main{position:relative!important;z-index:2!important;width:100%!important}.f-header{height:22mm!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;gap:10mm!important;margin:0 0 4mm 0!important;position:relative!important;z-index:2!important}.f-logo-pref{width:54mm!important;max-height:20mm!important;object-fit:contain!important}.f-logo-tj{width:23mm!important;max-height:19mm!important;object-fit:contain!important}.f-logo-nup{width:48mm!important;max-height:19mm!important;object-fit:contain!important}.f-side{position:absolute!important;top:0!important;bottom:0!important;width:8mm!important;z-index:1!important;background-size:8mm 18mm!important;background-repeat:repeat-y!important}.f-left{left:0!important}.f-right{right:0!important}.f-box{border:1.2px solid #111!important;border-bottom:0!important;margin:0!important}.f-box:last-child{border-bottom:1.2px solid #111!important}.f-section{background:#d9d9d9!important;border-bottom:1.2px solid #111!important;padding:1.5mm 2mm!important;text-transform:uppercase!important;font-size:11.2pt!important;font-weight:900!important}.f-section span{font-size:9.6pt!important;text-transform:none!important}.f-content{padding:1.8mm 2mm!important}.f-content>div,.f-line{margin:.8mm 0!important}.f-mor th,.f-mor td{border:1px solid #111!important;padding:1.2mm .8mm!important;font-size:8.7pt!important;height:15mm!important;word-break:break-word!important}.f-mor th{height:10mm!important}.f-declara{text-align:justify!important;margin:0 0 5mm 0!important}.f-date{text-align:right!important;margin:5mm 0 11mm 0!important}.f-sign{text-align:center!important;margin:7mm auto 2mm auto!important;break-inside:avoid!important}.f-sign div{width:70mm!important;border-top:1.1px solid #111!important;margin:0 auto 1.2mm auto!important}.f-space{margin-top:18mm!important}.f-footer{position:absolute!important;left:30mm!important;right:20mm!important;bottom:9mm!important;text-align:center!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:400!important;font-size:8.2pt!important;line-height:1.2!important;z-index:2!important}.f-foot-line{border-top:1px solid #111!important;margin:0 0 2mm 0!important}.f-page-num{position:absolute!important;right:0!important;bottom:-6mm!important;font-size:14pt!important;font-weight:700!important;color:#111!important}
@media print{@page{size:A4;margin:0!important}html,body{width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}body *{visibility:hidden!important}.doc-preview,.doc-preview *{visibility:visible!important}.doc-preview{position:absolute!important;left:0!important;top:0!important;width:210mm!important;min-height:297mm!important;margin:0!important;padding:3cm 2cm 2cm 3cm!important;border:0!important;box-shadow:none!important}.ficha-doc,.ficha-doc *{visibility:visible!important}.ficha-doc{display:block!important;position:absolute!important;left:0!important;top:0!important;width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}.f-page{width:210mm!important;height:297mm!important;margin:0!important;padding:3cm 2cm 2cm 3cm!important;border:0!important;box-shadow:none!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important}.f-page:last-child{break-after:auto!important;page-break-after:auto!important}.modalhead,.modal .btn,.toast{display:none!important}}

/* === v10.3 - FICHA INTEGRADA TOTAL NO ADMIN === */
.admin-ficha-alert{background:#eef5ff;border:1px solid #b8d4ff;border-radius:8px;padding:10px 12px;color:#123c7c;margin-bottom:12px;font-size:13px;line-height:1.35}.admin-ficha-section{border:1px solid var(--line);border-radius:10px;background:#fff;margin:12px 0;padding:12px}.admin-ficha-section h3{margin:0 0 12px;color:var(--purple);font-size:15px}.admin-ficha-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 12px}.admin-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:900;color:#23386c}.admin-field span{line-height:1.25}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit;font-weight:700;color:#111;background:#fff}.admin-field textarea{min-height:70px;resize:vertical}.admin-field.wide{grid-column:1/-1}.admin-form-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin:14px 0}.admin-ficha-table-wrap{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:8px}.admin-ficha-table{width:100%;border-collapse:collapse;font-size:12px}.admin-ficha-table th{width:34%;text-align:left;background:#f4f6fb;color:#24345d;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.admin-ficha-table td{padding:8px;border-bottom:1px solid var(--line);white-space:pre-wrap;color:#111}@media(max-width:900px){.admin-ficha-grid{grid-template-columns:1fr}.admin-form-actions{justify-content:stretch;flex-direction:column}.admin-form-actions .btn{width:100%}}

/* v10.4 - título oficial da ficha: quebra igual Word e ajuste milimétrico */
.ficha-title-box{
  border:1.2px solid #111!important;
  border-bottom:0!important;
  margin:0!important;
}
.ficha-title-oficial{
  background:#d9d9d9!important;
  padding:2.2mm 2.8mm 2.4mm 2.8mm!important;
  font-family:"Times New Roman",Times,serif!important;
  font-weight:900!important;
  color:#000!important;
  text-transform:uppercase!important;
  letter-spacing:.15px!important;
}
.ficha-title-line{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  width:100%!important;
  white-space:nowrap!important;
  line-height:1.08!important;
  font-size:11.3pt!important;
}
.ficha-title-line-1{gap:7mm!important;margin-bottom:.4mm!important;}
.ficha-title-line-2{gap:3.4mm!important;}
.ficha-title-line-3{
  display:block!important;
  text-align:left!important;
  font-size:11.3pt!important;
  line-height:1.08!important;
  margin-top:.2mm!important;
  white-space:nowrap!important;
}
@media print{
  .ficha-title-oficial{padding:2.2mm 2.8mm 2.4mm 2.8mm!important;}
  .ficha-title-line,.ficha-title-line-3{font-size:11.3pt!important;}
}

/* === v10.5 FINAL ABSOLUTO - DECLARAÇÕES EM TEXTO CORRIDO ===
   Ficha cadastral permanece tabulada. Declarações recebem cabeçalho/rodapé/laterais iguais à ficha,
   mas com corpo em texto corrido, justificado, sem caixas/tabelas. */
.decl-modal{background:#eef1f5!important}.decl-doc{display:flex!important;flex-direction:column!important;gap:18px!important;align-items:center!important;background:#eef1f5!important}.decl-page{font-family:"Times New Roman",Times,serif!important;font-size:12pt!important;line-height:1.45!important;font-weight:400!important;color:#000!important}.decl-main{position:relative!important;z-index:2!important;width:100%!important;padding-top:2mm!important}.decl-title{text-align:center!important;font-weight:700!important;font-size:12pt!important;text-transform:uppercase!important;margin:0 0 10mm 0!important}.decl-text{text-align:justify!important;white-space:pre-wrap!important;font-size:12pt!important;line-height:1.5!important;font-weight:400!important}.decl-text b,.decl-text strong{font-weight:700!important}
/* assinatura em texto corrido: centraliza blocos de linhas e nomes quando vierem do modelo */
.decl-text{tab-size:4}.decl-text .signature,.decl-assinatura{text-align:center!important}.decl-page .f-header{margin-bottom:8mm!important}.decl-page .f-footer{left:30mm!important;right:20mm!important;bottom:9mm!important}.decl-page .f-page-num{right:0!important}
@media print{body *{visibility:hidden!important}.decl-doc,.decl-doc *{visibility:visible!important}.decl-doc{display:block!important;position:absolute!important;left:0!important;top:0!important;width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}.decl-page{width:210mm!important;height:297mm!important;margin:0!important;padding:3cm 2cm 2cm 3cm!important;border:0!important;box-shadow:none!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important}.decl-page:last-child{break-after:auto!important;page-break-after:auto!important}}
.decl-text p{margin:0 0 5mm 0;text-align:justify!important;text-indent:0}.decl-space{height:3mm}.decl-date-right{text-align:right!important;margin:8mm 0 13mm 0!important}.decl-sign-block{text-align:center!important;margin:12mm auto 8mm auto!important;break-inside:avoid!important}.decl-line{width:76mm!important;border-top:1.1px solid #000!important;margin:0 auto 1.5mm auto!important}.decl-sign-block b{font-weight:700!important}

/* === v10.6 PDF PRO - DECLARAÇÕES COM PAGINAÇÃO E PDF AUTOMÁTICO === */
.decl-doc{display:block!important;background:#eef1f5!important;padding:0!important;}
.decl-doc .f-page{page-break-after:always!important;break-after:page!important;}
.decl-doc .f-page:last-child{page-break-after:auto!important;break-after:auto!important;}
.decl-main{min-height:205mm!important;max-height:205mm!important;overflow:hidden!important;}
.decl-text{font-family:"Times New Roman",Times,serif!important;font-size:12pt!important;line-height:1.5!important;text-align:justify!important;color:#000!important;}
.decl-text p{margin:0 0 4.2mm 0!important;text-align:justify!important;text-indent:0!important;}
.decl-title-inline{display:block!important;text-align:center!important;font-weight:700!important;text-transform:uppercase!important;margin:0 0 10mm 0!important;}
.decl-space{height:2.2mm!important;}
.decl-date-right{text-align:right!important;margin:8mm 0 12mm 0!important;}
.decl-sign-block{text-align:center!important;margin:10mm auto 7mm auto!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.decl-line{width:76mm!important;border-top:1.1px solid #000!important;margin:0 auto 1.5mm auto!important;}
#downloadDoc{background:#0f766e!important;color:#fff!important;}
@media print{
  .decl-doc{display:block!important;position:absolute!important;left:0!important;top:0!important;width:210mm!important;margin:0!important;padding:0!important;background:#fff!important;}
  .decl-main{min-height:205mm!important;max-height:205mm!important;overflow:hidden!important;}
}

/* ===== v10.7 — EDITOR DE MODELOS ===== */
.modelos-editor{max-width:1100px}
.editor-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:10px}
.editor-grid label{font-weight:700;color:#25324a}
.editor-grid select,.editor-grid input{width:100%;padding:10px;border:1px solid #cfd7e6;border-radius:10px;background:#fff;font-size:14px;margin-top:4px}
.editor-note{background:#f6f8fc;border:1px solid #dce4f2;border-radius:12px;padding:10px 12px;margin:10px 0;color:#34415a;line-height:1.35}
.modelo-textarea{width:100%;min-height:420px;padding:14px;border:1px solid #c8d2e3;border-radius:12px;font-family:"Times New Roman",Times,serif;font-size:12pt;line-height:1.45;color:#000;background:#fff;resize:vertical;white-space:pre-wrap}
.editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.editor-vars{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#46536b}
.editor-vars span{background:#eef3fb;border:1px solid #d7e2f2;border-radius:999px;padding:5px 8px;font-family:Consolas,monospace;color:#25324a}
@media(max-width:800px){.editor-grid{grid-template-columns:1fr}.modelo-textarea{min-height:360px}}


/* ===== v10.8 — layout inicial, identidade e import/export ===== */
.head-title h1{font-size:24px;letter-spacing:.2px;line-height:1.15;margin-bottom:8px;}
.head-title #storageMode{margin-top:2px;color:#dce9ff;font-weight:700;}
.lower{display:grid;grid-template-columns:1.05fr 1.15fr 1fr 1fr;gap:14px;margin-top:0;margin-bottom:14px;}
.version{margin-top:18px!important;border:1px solid var(--linha);border-radius:10px;text-align:center;padding:14px 10px;background:#fff;line-height:1.25;}
.version b{display:block;}
.version .badge{display:inline-block;background:linear-gradient(90deg,var(--roxo),var(--roxo2));color:white;border-radius:8px;padding:5px 12px;font-weight:900;margin:8px 0;}
.top-actions .action-card{width:76px;height:74px;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-weight:900;cursor:pointer;background:rgba(255,255,255,.08);overflow:hidden;}
.top-actions .action-card img{width:34px;height:34px;object-fit:contain;display:block;margin:0 auto 2px auto;}
.top-actions .action-card span{font-size:12px;line-height:1;display:block;text-align:center;}
.top-actions .action-card.importar{background:rgba(22,163,74,.20);}
.top-actions .action-card.exportar{background:rgba(239,68,68,.20);}
.top-actions .action-card:hover{transform:translateY(-1px);box-shadow:0 6px 12px rgba(0,0,0,.18);}

/* ===== v11.0 — PDF ÚNICO + ASSINATURAS + POSICIONAMENTO DAS DECLARAÇÕES ===== */
.decl-doc{background:#eef1f5!important;display:block!important;padding:0!important;margin:0!important;}
.decl-page{
  width:210mm!important;
  height:297mm!important;
  min-height:297mm!important;
  margin:0 auto 0 auto!important;
  padding:14mm 20mm 20mm 30mm!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:#fff!important;
}
.decl-page .f-header{
  height:18mm!important;
  margin:0 0 6mm 0!important;
  align-items:flex-start!important;
}
.decl-page .f-logo-pref{width:50mm!important;max-height:17mm!important;}
.decl-page .f-logo-tj{width:20mm!important;max-height:16mm!important;}
.decl-page .f-logo-nup{width:44mm!important;max-height:16mm!important;}
.decl-main{
  min-height:228mm!important;
  max-height:228mm!important;
  overflow:hidden!important;
  padding-top:0!important;
}
.decl-text p.decl-title-inline{
  display:block!important;
  text-align:center!important;
  text-align-last:center!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  margin:0 0 8mm 0!important;
  font-size:12pt!important;
  line-height:1.25!important;
}
.decl-text p:not(.decl-title-inline){
  text-align:justify!important;
  text-align-last:auto!important;
  margin:0 0 4mm 0!important;
}
.decl-date-right{margin:7mm 0 9mm 0!important;text-align:right!important;}
.decl-signatures-group{
  break-inside:avoid!important;
  page-break-inside:avoid!important;
  text-align:center!important;
  margin-top:6mm!important;
}
.decl-signatures-group .decl-sign-block{
  margin:6mm auto 5mm auto!important;
  page-break-inside:avoid!important;
  break-inside:avoid!important;
}
.decl-sign-block{margin:6mm auto 5mm auto!important;}
.decl-line{width:76mm!important;}
.pdf-export-clean{background:#fff!important;display:block!important;gap:0!important;}
.pdf-export-clean .decl-page{margin:0!important;break-after:page!important;page-break-after:always!important;}
.pdf-export-clean .decl-page:last-child{break-after:auto!important;page-break-after:auto!important;}
@media print{
  .decl-doc{display:block!important;position:absolute!important;left:0!important;top:0!important;width:210mm!important;margin:0!important;padding:0!important;background:#fff!important;gap:0!important;}
  .decl-page{width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:14mm 20mm 20mm 30mm!important;box-shadow:none!important;border:0!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important;}
  .decl-page:last-child{break-after:auto!important;page-break-after:auto!important;}
  .decl-main{min-height:228mm!important;max-height:228mm!important;overflow:hidden!important;}
}

/* v11.4 - ajustes ficha: moradores, exclusão, campos bloqueados e dinheiro */
.hint{font-size:12px;color:#526080;margin:4px 0 10px 0;line-height:1.35}
.morador-card{border:1px solid #d8deea;border-radius:10px;padding:10px;margin:10px 0;background:#fbfcff}
.morador-card legend{font-weight:800;color:#16346b;padding:0 6px}
.morador-detalhes{display:none;margin-top:8px}
.admin-ficha-form .morador-detalhes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}
input:disabled,select:disabled,textarea:disabled{background:#eef1f6!important;color:#8b95a7!important;cursor:not-allowed}
.f-mor td{vertical-align:middle;text-align:center;font-weight:700;word-break:break-word}

/* v11.4 - consolidação final para testes reais */
.person-select-doc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.person-select-doc .btn{text-align:left;white-space:normal;line-height:1.25}.person-select-doc small{font-weight:600;opacity:.8}
