/* Estilo compartilhado — Registro Geral da Cavalaria */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;800&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--ink:#2d281e;--forest:#172820;--forest2:#263b2c;--gold:#b78a3c;--goldlight:#e5c983;--paper:#f2e6cc;--edge:#cbb68d;--muted:#70624d;--red:#822e27}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 50% 0,#3a4739,#101d18 76%);font-family:Georgia,'Libre Baskerville',serif}.wrap{max-width:1260px;margin:36px auto 70px;padding:0 20px}.paper{background:linear-gradient(120deg,rgba(123,79,25,.08),transparent 25%,rgba(92,60,12,.07) 100%),repeating-linear-gradient(0deg,rgba(80,58,22,.015) 0 1px,transparent 1px 6px),var(--paper);border:1px solid #987647;box-shadow:0 0 0 7px #28362c,0 26px 70px #070f0b90;padding:40px 44px 54px;position:relative}.paper:before{content:'';position:absolute;inset:10px;border:1px solid #b79c6c;pointer-events:none}.masthead{text-align:center;position:relative}.eyebrow{font:700 11px 'Cinzel',Georgia,serif;letter-spacing:4px;color:#765b32;text-transform:uppercase}.badge-star{width:102px;height:102px;margin:16px auto 0;filter:drop-shadow(0 3px 2px #49371833)}h1{font:800 clamp(26px,4vw,45px)/1.18 'Cinzel',Georgia,serif;text-transform:uppercase;letter-spacing:2px;margin:13px 0 6px}.subtitle{font:600 14px 'Cinzel',serif;letter-spacing:2px;text-transform:uppercase;color:#795b31}.rule{display:flex;align-items:center;gap:12px;margin:22px 0;color:#a57a3b}.rule:before,.rule:after{content:'';height:2px;flex:1;background:linear-gradient(90deg,transparent,#997342,transparent)}.intro{text-align:center;max-width:750px;margin:0 auto 28px;font-size:14px;line-height:1.8}.stamp{display:inline-block;font:700 11px 'Cinzel',serif;letter-spacing:1px;border:1px solid #916c35;padding:7px 13px;transform:rotate(-2deg);color:#6c4b22;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:24px 0}.stat{border:1px solid #baa279;background:#fbf2dfb8;text-align:center;padding:16px 6px 13px}.stat strong{display:block;font:700 29px 'Cinzel',serif}.stat span{display:block;font:700 10px 'Cinzel',serif;letter-spacing:.7px;color:#6f6049;text-transform:uppercase;line-height:1.5}.toolbar{background:var(--forest);padding:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;border-top:3px solid var(--gold)}.toolbar input,.toolbar select,.toolbar button{font:13px Georgia,serif;border-radius:0;min-height:39px}.toolbar input{flex:1;min-width:185px;background:#fff7e8;color:var(--ink);border:1px solid #ab9a76;padding:0 11px}.toolbar select{padding:0 9px;background:#fff7e8;border:1px solid #ab9a76;color:#322b20}.btn{border:1px solid #c6aa70;background:#b78a3c;color:#161e19;font-weight:bold!important;cursor:pointer;padding:0 12px}.btn.secondary{background:#2d4537;color:#f3e5c4}.btn:hover{filter:brightness(1.12)}.hint{color:#6b5d48;font-size:12px;line-height:1.6;margin:5px 0 26px}.section{margin:28px 0 32px;scroll-margin-top:20px}.sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;background:var(--forest);padding:15px 18px;color:#f6e6c4;border-left:5px solid var(--gold)}.sectionhead h2{font:700 21px 'Cinzel',serif;text-transform:uppercase;letter-spacing:1px;margin:0}.sectionhead small{display:block;color:#c9b88f;font-size:12px;margin-top:5px}.counter{font:600 12px 'Cinzel',serif;white-space:nowrap;color:#edcf91}.tablewrap{overflow-x:auto;border:1px solid #c2ac82;border-top:0}table{width:100%;border-collapse:collapse;min-width:920px}th{background:#e3d1ac;color:#4c402b;text-align:left;text-transform:uppercase;font:700 10px 'Cinzel',serif;letter-spacing:.6px;padding:12px 9px;border-bottom:2px solid #b89d6a}td{padding:9px;border-bottom:1px solid #d1bc96;font-size:13px}tr:nth-child(even) td{background:#f8efddb0}tr:hover td{background:#eedbb6}th:first-child,td:first-child{width:42px;text-align:center;color:#856942}.name{font-weight:bold;min-width:180px}.status,.dest,.notes{width:100%;font:12px Georgia,serif;background:#fff8ea;border:1px solid #cbb793;color:var(--ink);padding:7px;min-height:34px}.notes{min-width:180px}.status{min-width:140px}.dest{min-width:145px}.footnote{font-size:12px;color:#6f6049;margin:12px 0}.footer{border-top:2px solid #a98a5a;margin-top:40px;padding-top:22px;text-align:center}.footer strong{font:700 14px 'Cinzel',serif}.signatures{display:flex;gap:24px;margin:46px 12px 8px}.signatures div{flex:1;border-top:1px solid #826d4d;text-align:center;padding-top:8px;font-size:12px;color:#685840}.hide{display:none!important}.empty{padding:24px;text-align:center;color:#786849}.warning{margin:14px 0;background:#ecddbd;padding:12px 15px;border-left:3px solid #ae793a;font-size:12px;line-height:1.65}a{color:inherit}@media(max-width:720px){.wrap{padding:0 8px;margin:12px auto}.paper{padding:25px 17px 30px}.paper:before{inset:6px}.stats{grid-template-columns:repeat(2,1fr)}.stat:first-child{grid-column:1/-1}.sectionhead h2{font-size:16px}.toolbar>*{flex:1}.signatures{flex-direction:column;gap:46px}}@media print{body{background:white}.wrap{max-width:none;margin:0;padding:0}.paper{box-shadow:none;border:0;padding:12px 15px}.paper:before{display:none}.toolbar,.hint,.warning,.no-print{display:none!important}.section{break-before:page}.section:first-of-type{break-before:auto}tr{break-inside:avoid}input,select{appearance:none;-webkit-appearance:none;background:transparent!important;border:0!important;font-size:11px!important}.notes{overflow:visible}.sectionhead{print-color-adjust:exact;-webkit-print-color-adjust:exact}.signatures{break-inside:avoid}@page{size:A4 landscape;margin:12mm}}


.login-screen{max-width:430px;margin:30px auto;padding:25px;background:#f9edcf;border:1px solid #aa8652}.login-screen h2{font:700 22px 'Cinzel',serif}.login-screen input{display:block;width:100%;height:44px;margin:10px 0 16px;border:1px solid #aa8e60;padding:10px;background:#fff9ef}.login-screen label{font-size:12px;font-weight:bold}.login-screen button{width:100%;height:42px}.sessionbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:15px 0;padding:10px 15px;background:#213b2c;color:#ecd8b0;font-size:12px}.sessionbar button{min-height:33px}.system-msg{margin:14px auto;padding:10px 14px;border:1px solid #aa8751;background:#ffefc9;font-size:13px}.system-msg.error{background:#f6d5d1;border-color:#ad4840}.system-msg.success{background:#dfe9cf;border-color:#7e9c61}.stamp-red{border:3px double #8b221b;color:#8b221b;font:800 12px 'Cinzel',serif;padding:6px 8px;display:inline-block;transform:rotate(-6deg);letter-spacing:1px}.executed td{background:#edd1c8!important}.executed .name{text-decoration:line-through;text-decoration-color:#8b221b}.exec-action{background:#7b281f;color:white;border:1px solid #692017;padding:8px;cursor:pointer;font:700 11px Georgia;min-width:110px}.exec-action:disabled{opacity:.5;cursor:not-allowed}.history-button{background:transparent;border:1px solid #8b7149;cursor:pointer;font:12px Georgia;padding:7px 10px}.busy{opacity:.7}.small{font-size:11px;color:#7a6548}.pill{color:#eed8a4;font:12px 'Cinzel',serif}.status-line{font-size:12px;margin:8px 0;color:#704d2d}.history{background:#f8e9ca;border:1px solid #c6a779;padding:15px;margin:12px 0}.history-entry{padding:8px 0;border-bottom:1px solid #d8c29a;font-size:12px}.history-entry:last-child{border-bottom:0}.status,.dest{min-width:130px}.notes{min-width:170px}.action-cell{min-width:160px}.saved-mark{color:#437347;font-size:11px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd9c49;outline-offset:2px}
.server-logo{border-radius:50%;object-fit:cover;object-position:center;border:4px solid #b78a3c;padding:3px;background:#172820;box-shadow:0 5px 12px rgba(45,40,30,.28);filter:none}.revert-action{background:#315b42;border-color:#244632;margin-top:7px}.session-actions{display:flex;gap:8px;flex-wrap:wrap}.password-panel{max-width:430px;margin:0 0 15px auto;padding:15px;background:#f9edcf;border:1px solid #aa8652}.password-panel label{display:block;font-size:12px;font-weight:bold;margin-top:10px}.password-panel input{display:block;width:100%;height:40px;margin-top:5px;border:1px solid #aa8e60;padding:8px;background:#fff9ef}.password-actions{display:flex;gap:8px;margin-top:14px}.password-actions .btn{flex:1;min-height:38px}
@media(max-width:720px){.sessionbar{display:block}.sessionbar button{margin:10px 0}.toolbar{gap:8px}}@media print{.sessionbar,.login-screen,.history-button,.exec-action,.status-line{display:none!important}.stamp-red{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* ---------- Tela de login ---------- */
body.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.login-card{width:100%;max-width:450px;padding:34px 34px 26px;text-align:center}
.login-card .badge-star{margin-top:12px}
.login-card h1{font-size:30px;margin:12px 0 4px}
.login-card form{text-align:left;margin-top:22px}
.field{display:block;margin-bottom:16px}
.field>span:first-child{display:block;font:700 11px 'Cinzel',serif;letter-spacing:1px;text-transform:uppercase;color:#5d4c31;margin-bottom:6px}
.field input,.field select{display:block;width:100%;height:44px;border:1px solid #aa8e60;padding:10px;background:#fff9ef;font:15px Georgia,serif;color:var(--ink)}
.login-card .btn{width:100%;height:46px;font:700 14px 'Cinzel',serif;letter-spacing:1px}
.login-card .system-msg{text-align:left}
.login-card .footnote{margin:20px 0 0}

/* ---------- Barra de sessão / troca de senha ---------- */
.server-logo{border-radius:50%;object-fit:cover;object-position:center;border:4px solid #b78a3c;padding:3px;background:#172820;box-shadow:0 5px 12px rgba(45,40,30,.28);filter:none}
.revert-action{background:#315b42;border-color:#244632;margin-top:7px}
.session-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.session-actions a.btn{display:inline-flex;align-items:center;min-height:33px;text-decoration:none}
.password-panel{max-width:430px;margin:0 0 15px auto;padding:15px;background:#f9edcf;border:1px solid #aa8652}
.password-panel .field{margin:12px 0 0}
.password-panel .field input{height:40px}
.password-actions{display:flex;gap:8px;margin-top:14px}.password-actions .btn{flex:1;min-height:38px}

/* ---------- Gestão de contas ---------- */
.panel-box{background:#f9edcf;border:1px solid #aa8652;padding:18px 20px;margin:18px 0}
.panel-box h2{font:700 18px 'Cinzel',serif;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px}
.account-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.account-form .field{margin:0}
.account-form .btn{min-height:44px}
.password-row{display:flex;gap:6px}.password-row input{flex:1}.password-row .btn{min-height:44px;white-space:nowrap}
.credential{margin-top:14px;padding:12px 14px;background:#dfe9cf;border:1px solid #7e9c61;font-size:13px;line-height:1.7}
.credential code{font:700 14px 'Courier New',monospace;background:#fff9ef;padding:2px 6px;border:1px solid #b5c99a}
.accounts td input,.accounts td select{width:100%;font:12px Georgia,serif;background:#fff8ea;border:1px solid #cbb793;color:var(--ink);padding:7px;min-height:34px}
.accounts .row-actions{display:flex;gap:6px;flex-wrap:wrap}
.accounts .row-actions .btn{min-height:32px;font-size:12px}
.accounts tr.no-access td{color:#8a7a62}
.accounts tr.no-access .name{text-decoration:line-through}
.tag-me{font:700 10px 'Cinzel',serif;color:#315b42;margin-left:6px}
@media(max-width:720px){.login-card{padding:26px 18px 20px}.account-form{grid-template-columns:1fr}}

/* ---------- Menu principal ---------- */
.mainnav{display:flex;flex-wrap:wrap;gap:0;margin:-15px 0 18px;background:#263b2c;border-top:1px solid #3d5544}
.mainnav a{flex:1;min-width:120px;text-align:center;padding:11px 10px;color:#e8d6ad;text-decoration:none;font:700 12px 'Cinzel',serif;letter-spacing:1px;text-transform:uppercase;border-right:1px solid #3d5544}
.mainnav a:last-child{border-right:0}
.mainnav a:hover{background:#2f4a37;color:#fff3d6}
.mainnav a.active{background:var(--gold);color:#161e19}

/* ---------- Treinamentos ---------- */
.topic-form .field{margin-bottom:12px}
.topic-form textarea{display:block;width:100%;min-height:130px;border:1px solid #aa8e60;padding:10px;background:#fff9ef;font:14px/1.6 Georgia,serif;color:var(--ink);resize:vertical}
.video-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.video-row{display:flex;gap:6px}.video-row input{flex:1}
.video-row .btn{min-height:44px}
.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.form-actions .btn{min-height:42px;padding:0 18px}
.topic{background:#fbf2df;border:1px solid #c2ac82;border-left:5px solid var(--gold);padding:20px 22px;margin:0 0 18px}
.topic h3{font:700 22px/1.3 'Cinzel',serif;margin:0}
.topic .topic-sub{font:italic 15px Georgia,serif;color:#6f5a3a;margin:6px 0 0}
.topic .topic-meta{font-size:11px;color:#7a6548;margin:10px 0 0}
.topic .topic-body{font-size:14px;line-height:1.75;margin:14px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.topic .videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:16px}
.topic .video-embed{position:relative;aspect-ratio:16/9;background:#172820;border:1px solid #8b7149}
.topic .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.topic .video-link{display:flex;align-items:center;gap:8px;padding:12px;background:#f3e4c4;border:1px solid #c2ac82;color:#3b2f1d;font-size:13px;overflow-wrap:anywhere}
.topic .topic-actions{display:flex;gap:8px;margin-top:16px}
.topic .topic-actions .btn{min-height:34px;font-size:12px}
.btn.danger{background:#7b281f;border-color:#692017;color:#fff}
.topic-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:6px 0 18px}
.topic-toolbar input{flex:1;min-width:200px;height:40px;border:1px solid #ab9a76;padding:0 11px;background:#fff7e8;font:13px Georgia,serif}
.topic-toolbar .btn{min-height:40px;padding:0 16px}

/* ---------- Em construção ---------- */
.construction{text-align:center;padding:48px 20px;border:2px dashed #b89d6a;background:#f8ecd2;margin:10px 0 20px}
.construction h2{font:700 24px 'Cinzel',serif;text-transform:uppercase;letter-spacing:2px;margin:0 0 10px}
.construction p{max-width:520px;margin:0 auto;color:#6b5d48;line-height:1.7}
@media(max-width:720px){.mainnav a{min-width:45%}.topic{padding:16px}}

/* ---------- Recrutamento ---------- */
.tabs{display:flex;gap:0;margin:0 0 18px;border-bottom:2px solid var(--gold)}
.tab{flex:1;background:#e9d8b4;border:1px solid #c2ac82;border-bottom:0;padding:12px 10px;cursor:pointer;font:700 13px 'Cinzel',serif;letter-spacing:1px;text-transform:uppercase;color:#4c402b}
.tab.active{background:var(--forest);color:#f6e6c4}
.script-step{background:#fbf2df;border:1px solid #c2ac82;border-left:5px solid var(--gold);padding:16px 20px;margin:0 0 14px;font-size:14px;line-height:1.7}
.script-step h3{font:700 18px 'Cinzel',serif;margin:0 0 8px}
.script-step ul,.script-step ol{margin:6px 0;padding-left:22px}
.script-step li{margin:4px 0}
.script-step code{background:#efe0bf;padding:1px 6px;border:1px solid #cdb68a}
.announce{display:flex;gap:12px;align-items:center;background:#f3e4c4;border:1px dashed #b89d6a;padding:10px 12px;margin:8px 0}
.announce p{flex:1;margin:0}
.announce .btn{min-height:36px;white-space:nowrap}
.record-header{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.candidate{border:1px solid #b89d6a;background:#fffaf0;margin:0 0 14px;padding:0 16px 12px}
.candidate summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;cursor:pointer;font:700 16px 'Cinzel',serif}
.candidate summary .btn{min-height:30px;font-size:11px}
.candidate h5{font:700 13px 'Cinzel',serif;text-transform:uppercase;letter-spacing:1px;margin:16px 0 8px;color:#5d4c31;border-bottom:1px solid #d8c29a;padding-bottom:4px}
.candidate textarea{min-height:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.record details{margin-top:12px}
.record details summary{cursor:pointer;font-weight:bold;color:#5d4c31}
.candidate-detail{border-top:1px solid #d8c29a;margin-top:12px;padding-top:10px}
.candidate-detail h4{font:700 15px 'Cinzel',serif;margin:0 0 8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px;margin:0 0 10px}
.facts dt{font:700 10px 'Cinzel',serif;text-transform:uppercase;color:#7a6548}
.facts dd{margin:0;font-size:13px;overflow-wrap:anywhere}
.qa{margin:8px 0}.qa .q{margin:0;font-size:12px;color:#6f5a3a;font-style:italic}.qa .a{margin:2px 0 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.result{display:inline-block;font:700 10px 'Cinzel',serif;text-transform:uppercase;letter-spacing:.5px;padding:3px 7px;border:1px solid}
.result.ok{color:#2f5b33;border-color:#7e9c61;background:#dfe9cf}
.result.bad{color:#8b221b;border-color:#ad4840;background:#f6d5d1}
.result.wait{color:#6c4b22;border-color:#b89d6a;background:#f3e4c4}
@media(max-width:720px){.record-header,.form-grid{grid-template-columns:1fr}.announce{flex-direction:column;align-items:stretch}}

/* ---------- Investigações ---------- */
.inv-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}
.inv-toolbar input{flex:1;min-width:220px;height:40px;border:1px solid #ab9a76;padding:0 11px;background:#fff7e8;font:13px Georgia,serif}
.inv-toolbar select{height:40px;border:1px solid #ab9a76;background:#fff7e8;font:13px Georgia,serif;padding:0 8px}
.inv-toolbar .btn{min-height:40px;padding:0 16px}
.inv-count{font:700 12px 'Cinzel',serif;color:#5d4c31}
.inv-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:12px;color:#5d4c31;margin:0 0 8px}
.inv-legend label{margin-left:auto;display:flex;gap:6px;align-items:center}
.dot{display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #8b7149;vertical-align:-1px}
.dot.critico{background:#c0392b}.dot.medio{background:#e08a1e}.dot.baixo{background:#2e9e6a}
.group-glyph{font-style:normal;font-weight:bold;color:#3d5544}
.map-wrap{position:relative;border:2px solid #8b7149;box-shadow:0 4px 14px rgba(45,40,30,.25)}
#map{height:560px;background:#d8c49a}
#map.picking{cursor:crosshair}
.pick-hint{position:absolute;left:12px;bottom:12px;z-index:500;background:#172820;color:#f6e6c4;border:1px solid var(--gold);padding:8px 12px;font-size:12px}
.map-credit{font-size:11px;color:#7a6548;margin:6px 0 18px}
.group-marker{display:flex!important;align-items:center;justify-content:center;background:#263b2c;color:#f6e6c4;border:2px solid var(--gold);border-radius:6px;font:700 17px Georgia,serif;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.preview-marker{display:flex!important;align-items:center;justify-content:center;color:#8b221b;font:700 26px Georgia,serif;text-shadow:0 0 3px #fff,0 0 6px #fff}
.inv-popup{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;min-width:190px;font:13px Georgia,serif}
.inv-popup strong{font:700 16px 'Cinzel',serif}
.inv-popup .btn{margin-top:6px;min-height:30px;font-size:12px}
.popup-photo{width:180px;height:120px;object-fit:cover;border:2px solid #8b7149;margin-bottom:4px}
.popup-photo.no-photo{display:none}
.threat-text{font-weight:bold}.threat-text.critico{color:#c0392b}.threat-text.medio{color:#c47612}.threat-text.baixo{color:#2e8a5e}
.group-text{color:#3d5544;font-weight:bold}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid .wide{grid-column:1/-1}
.coords-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
.coords-row .field{margin:0;flex:1;min-width:130px}
.coords-row .btn{min-height:44px}
.inv-table td{vertical-align:middle}
.table-photo{width:42px;height:42px;object-fit:cover;border:1px solid #8b7149;display:inline-flex;align-items:center;justify-content:center;background:#e9d8b4;font-size:20px}
.target-name{display:block}.inv-table .name small{display:block;font-weight:normal;color:#7a6548}
.inv-table .coords{font-family:'Courier New',monospace;white-space:nowrap}
.inv-table .desc{max-width:260px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.inv-table .row-actions{display:flex;gap:4px}
.inv-table .row-actions .btn{min-height:30px;min-width:32px;padding:0 8px}
.threat{display:inline-block;font:700 10px 'Cinzel',serif;text-transform:uppercase;padding:3px 8px;border:1px solid;letter-spacing:.5px}
.threat.critico{color:#8b221b;border-color:#ad4840;background:#f6d5d1}
.threat.medio{color:#7a4a0c;border-color:#c48a3c;background:#f8e3c2}
.threat.baixo{color:#2f5b33;border-color:#7e9c61;background:#dfe9cf}
.group-pill{display:inline-block;padding:3px 8px;border:1px solid #3d5544;background:#e3ead9;color:#263b2c;font-size:12px;white-space:nowrap}
@media(max-width:720px){#map{height:420px}.form-grid.three{grid-template-columns:1fr}.inv-legend label{margin-left:0}}
/* A barra superior do painel é fixa: rolagens automáticas param abaixo dela. */
#map,#targetEditor,#groupEditor{scroll-margin-top:110px}
.investigation-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:4px 0 12px;padding:10px 12px;background:#f3e4c4;border:1px dashed #b89d6a}
.investigation-row .check{display:flex;gap:8px;align-items:center;font-size:13px;min-height:44px}
.investigation-row .field{margin:0;min-width:180px}
.dot.pessoa{background:#7d8a94}
.muted-text{color:#8a7a62;font-style:italic}
.investigated{display:inline-block;font:700 10px 'Cinzel',serif;text-transform:uppercase;color:#263b2c;margin-right:4px}
#tab-mapa,#tab-pessoas,#tab-grupos{padding-top:4px}

/* ---------- Investigações: lugares e grafo ---------- */
.place-marker{display:flex!important;align-items:center;justify-content:center;background:#fbf2df;border:3px solid #b78a3c;border-radius:50%;font-size:16px;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.place-marker.critico{border-color:#c0392b}.place-marker.medio{border-color:#e08a1e}.place-marker.baixo{border-color:#2e9e6a}
.place-glyph{font-style:normal}
.popup-icon{font-size:40px;line-height:1}
.graph-box{background:#121916;border:2px solid #8b7149;padding:16px 18px 10px;margin:4px 0 22px;color:#e9dcc0}
.graph-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}
.graph-head h2{font:700 18px 'Cinzel',serif;text-transform:uppercase;letter-spacing:1px;margin:0;color:#f6e6c4}
.graph-head .small{color:#b9ab8e;max-width:720px}
.graph-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px}
.graph-actions .btn{min-height:36px;padding:0 14px}
#graph{height:600px;margin-top:12px;border:1px solid #2c3a32;background:radial-gradient(circle,#1b2620 1px,transparent 1px) 0 0/22px 22px,#0f1512}
.graph-summary{font-size:12px;color:#b9ab8e;margin:8px 0 0}
.link-pill{display:inline-block;padding:3px 8px;border:1px solid;background:#fffaf0;font:700 11px Georgia,serif;white-space:nowrap}
div.vis-tooltip{white-space:pre-line;font:12px Georgia,serif;background:#fbf2df;border:1px solid #8b7149;color:#2d281e}
@media(max-width:720px){#graph{height:440px}}
