:root{--bg:#081219;--panel:#0c1821;--panel2:#101f29;--line:#273c49;--text:#e6dccb;--muted:#8fa0aa;--gold:#c5a66a;--paper:#d8c8a8;--ink:#3a2a1a;--left:245px;--right:330px}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow:hidden}button,input,select,textarea{font:inherit}.app{height:100vh;display:grid;grid-template-rows:70px 1fr}.topbar{display:grid;grid-template-columns:220px 1fr auto;align-items:center;border-bottom:1px solid #20313c;background:#071018;padding:0 14px;gap:14px}.brand{display:flex;align-items:center;gap:10px;color:#dbc9aa}.brandmark{font-size:28px}.brand b,.brand small{display:block;font-family:Georgia,serif;letter-spacing:.08em}.brand small{font-size:10px}.topbar nav{display:flex;justify-content:center;gap:5px;min-width:0;overflow:auto}.navbtn,.ghost,.primary,.plus,.icon{border:1px solid transparent;border-radius:7px;cursor:pointer}.navbtn{background:transparent;color:#a99e8e;padding:8px 10px;font-size:12px}.navbtn:hover,.navbtn.active{background:#14232e;color:#f0e6d5;border-color:#263b49}.top-actions{display:flex;align-items:center;gap:7px}.datebox{display:flex;flex-direction:column;color:#718590;font-size:8px;text-transform:uppercase;gap:2px}.datebox input{background:#0b1720;border:1px solid #2b414f;color:#ddd2c0;border-radius:6px;padding:4px;color-scheme:dark}.ghost{background:#0d1b24;border-color:#293e4b;color:#c8c0b4;padding:7px 10px}.primary{background:#294861;border-color:#527493;color:white;padding:8px 13px}.filelabel{display:inline-flex;align-items:center}.filelabel input{display:none}.workspace{display:grid;grid-template-columns:var(--left) minmax(0,1fr) var(--right);min-height:0;transition:grid-template-columns .25s ease}.workspace.left-hidden{--left:0px}.workspace.right-hidden{--right:0px}.sidebar{background:var(--panel);position:relative;min-width:0;overflow:visible;border-color:#203541;border-style:solid}.sidebar.left{border-width:0 1px 0 0}.sidebar.right{border-width:0 0 0 1px}.left-hidden .left,.right-hidden .right{visibility:hidden}.side-scroll{height:100%;overflow:auto;padding:14px}.collapse{position:absolute;top:14px;width:26px;height:44px;background:#13242f;color:#d9cfbf;border:1px solid #34505e;z-index:20;cursor:pointer;font-size:24px}.left-collapse{right:-27px;border-radius:0 7px 7px 0}.right-collapse{left:-27px;border-radius:7px 0 0 7px}.left-hidden .left-collapse,.right-hidden .right-collapse{visibility:visible}.left-hidden .left-collapse{position:fixed;left:0;top:86px}.right-hidden .right-collapse{position:fixed;right:0;left:auto;top:86px}.sectionhead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1f303b;padding-bottom:8px;margin-bottom:8px}.sectionhead h2{font:700 16px Georgia,serif;margin:0}.plus{width:27px;height:27px;background:#142630;border-color:#2a4453;color:#d9caaa}.stack{display:flex;flex-direction:column;gap:6px}.rowcard{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #213642;background:#0e1d26;border-radius:7px;cursor:pointer}.rowcard:hover{border-color:#3b596a}.dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.rowcard span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.filterpill{border:1px solid #2d4553;background:#10202a;color:#bfc4c5;border-radius:999px;padding:5px 8px;font-size:10px;cursor:pointer}.filterpill.off{opacity:.32}.check{display:flex;align-items:flex-start;gap:7px;color:#a9b1b5;font-size:10px;line-height:1.4;margin:8px 0}.stage{min-width:0;min-height:0;display:grid;grid-template-rows:72px 1fr;background:#0a151d}.stagehead{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #20333e}.eyebrow{color:#6f8796;font-size:9px;letter-spacing:.14em}.stagehead h1{font:700 26px Georgia,serif;margin:2px 0 0}.content{min-height:0;overflow:auto;position:relative}.map{height:100%;min-height:620px;position:relative;background-color:#d4c5a5;background-image:radial-gradient(#7b684a22 1px,transparent 1px),linear-gradient(#fff3,#fff0);background-size:22px 22px;color:var(--ink);overflow:hidden}.map svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.family-zone{position:absolute;border:2px dashed;border-radius:28px;background:#ffffff18;pointer-events:none}.family-zone label{position:absolute;top:-13px;left:16px;color:#f7ead2;background:#2b3940;padding:4px 8px;border-radius:5px;font:700 11px Georgia,serif}.node{position:absolute;width:116px;transform:translate(-50%,-50%);text-align:center;cursor:pointer;z-index:4}.node-face{margin:auto;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#233844;border:3px solid var(--c,#6c8090);color:#eee1cc;font:700 20px Georgia,serif;box-shadow:0 4px 15px #0005}.node.selected .node-face{outline:4px solid #fff8;box-shadow:0 0 0 9px #2d5a7955}.node b{display:block;font:700 12px Georgia,serif;margin-top:4px}.node small{font-size:9px}.link{stroke-width:3;fill:none;pointer-events:stroke;cursor:pointer}.link.dim{opacity:.12}.link-hit{stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.link-label{font-size:10px;font-weight:700;paint-order:stroke;stroke:#dccdac;stroke-width:4;pointer-events:none}.empty-center{height:100%;display:grid;place-items:center;color:#5c513f;text-align:center}.empty-center button{margin-top:10px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:18px}.card{background:#101f29;border:1px solid #283d49;border-radius:10px;padding:14px;cursor:pointer;position:relative}.card:hover{border-color:#4a6778;transform:translateY(-1px)}.card h3{font:700 19px Georgia,serif;margin:0 0 4px}.card p{font-size:11px;color:#98a6ad;line-height:1.45}.meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.tag{border:1px solid #304856;background:#0b1820;border-radius:999px;padding:4px 7px;color:#aebcc4;font-size:9px}.timeline{padding:20px 24px}.timeline-row{display:grid;grid-template-columns:115px 18px 1fr;gap:14px;margin-bottom:16px}.time{text-align:right;color:#98a7ad;font:600 12px Georgia,serif;padding-top:10px}.pin{width:11px;height:11px;border-radius:50%;background:var(--c,#66839a);margin-top:11px;box-shadow:0 0 0 5px #0a151d}.timeline-card{background:#101f29;border:1px solid #293e4b;border-left:4px solid var(--c,#66839a);border-radius:8px;padding:10px 12px;cursor:pointer}.timeline-card b{font-family:Georgia,serif}.timeline-card p{color:#9aa8ae;font-size:11px}.empty-inspector{text-align:center;color:#81939e;padding:50px 12px}.empty-inspector div{font-size:34px}.empty-inspector h2{font:700 20px Georgia,serif;color:#d8cebf}.inspector-head{padding-bottom:12px;border-bottom:1px solid #223640}.inspector-head h2{font:700 24px Georgia,serif;margin:0}.inspector-head p{font-size:11px;color:#8d9ea8}.formsection{padding:13px 0;border-bottom:1px solid #1f323d}.formsection h3{font:700 15px Georgia,serif;margin:0 0 9px}.field{display:flex;flex-direction:column;gap:5px;margin:9px 0}.field label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#748b98}.field input,.field select,.field textarea,.formgrid input,.formgrid select,.formgrid textarea{width:100%;background:#09151d;border:1px solid #2b424f;color:#e6ddcf;border-radius:7px;padding:8px;outline:none}.field textarea{min-height:80px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.danger{background:#2a1316!important;border-color:#63353b!important;color:#e9b4b4!important}.savebar{display:flex;gap:7px;padding-top:14px}.savebar button{flex:1}.wealth{font:700 24px Georgia,serif;color:#d3b56f}.badge-list{display:flex;gap:5px;flex-wrap:wrap}.badge{border:1px solid #3c4e59;border-radius:999px;padding:5px 7px;font-size:10px}.level{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.level span{height:22px;display:grid;place-items:center;border:1px solid #2b414f;border-radius:4px;font-size:9px;color:#536a78}.level span.on{background:#294a61;color:#fff}.dialog-card{width:min(780px,calc(100vw - 24px));background:#0d1a23;border:1px solid #334b59;border-radius:12px;color:#e6dccb;padding:0}dialog{background:transparent;border:0}dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.dialog-head,.dialog-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #283c48}.dialog-foot{border-bottom:0;border-top:1px solid #283c48;justify-content:flex-end;gap:7px}.dialog-head h2{font:700 22px Georgia,serif;margin:0}.icon{background:transparent;color:#d5cbc0;font-size:16px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.formgrid label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#91a0a7}.formgrid label.wide{grid-column:1/-1}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#152932;border:1px solid #3b5966;border-radius:8px;padding:9px 13px;z-index:100;color:#ddd3c4;font-size:11px;box-shadow:0 7px 30px #0008}
@media(max-width:1050px){:root{--left:210px;--right:300px}.topbar{grid-template-columns:180px 1fr}.top-actions{display:none}.navbtn{padding:7px 6px;font-size:10px}}
@media(max-width:760px){:root{--left:0px;--right:0px}.left,.right{visibility:hidden}.topbar{grid-template-columns:150px 1fr}.brand small{display:none}.workspace{grid-template-columns:1fr}.collapse{visibility:visible!important;position:fixed!important;top:80px}.left-collapse{left:0;right:auto}.right-collapse{right:0;left:auto}.formgrid{grid-template-columns:1fr}.formgrid label.wide{grid-column:auto}}
.muted-mini{font-size:10px;color:#71838d;line-height:1.45}.fieldhint{font-size:9px;color:#71838d}.computed-box{display:flex;align-items:center;justify-content:space-between;border:1px solid #2b424f;background:#0b1820;border-radius:7px;padding:8px 10px;margin:9px 0;color:#b7c2c8}.computed-box b{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.computed-box span{font-family:Georgia,serif;color:#e0d3bc}.formsection h4{font:700 12px Georgia,serif;margin:13px 0 6px;color:#c6bba8}.tag.locked{border-color:#63353b;color:#d9a2a2;background:#281317}.family-struct{stroke-width:2.5}.navbtn[data-view="quests"]{white-space:nowrap}

/* V5 */
.side-scroll{overflow-y:scroll;scrollbar-width:auto;scrollbar-color:#527080 #0b171f}
.side-scroll::-webkit-scrollbar,.detail-scroll::-webkit-scrollbar,.map::-webkit-scrollbar{width:12px;height:12px}.side-scroll::-webkit-scrollbar-track,.detail-scroll::-webkit-scrollbar-track,.map::-webkit-scrollbar-track{background:#0b171f}.side-scroll::-webkit-scrollbar-thumb,.detail-scroll::-webkit-scrollbar-thumb,.map::-webkit-scrollbar-thumb{background:#456270;border:2px solid #0b171f;border-radius:10px}
.map{min-height:0;height:100%;overflow:auto;position:relative;background:#0a151d}.map-canvas{position:relative;min-width:100%;min-height:100%}.map-world{position:absolute;left:0;top:0;width:1600px;height:1000px;transform-origin:0 0;background-color:#d4c5a5;background-image:radial-gradient(#7b684a22 1px,transparent 1px),linear-gradient(#fff3,#fff0);background-size:22px 22px;color:var(--ink)}.map-world svg{position:absolute;inset:0;width:100%;height:100%}.zoom-tools{display:inline-flex;align-items:center;gap:5px;margin-right:8px}.zoom-tools .ghost{min-width:34px}.zoom-tools span{font-size:10px;color:#9fb0b9;min-width:43px;text-align:center}
.inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.open-full{font-size:9px;white-space:nowrap;padding:6px 8px}
.detail-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:22px;background:#061018dd}.detail-dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}.detail-card{width:min(1050px,calc(100vw - 40px));height:calc(100vh - 44px);margin:auto;background:#0c1821;border:1px solid #38515e;border-radius:14px;display:grid;grid-template-rows:62px 1fr;overflow:hidden;box-shadow:0 20px 80px #000c}.detail-top{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #28404d}.detail-top b{display:block;font:700 22px Georgia,serif;margin-top:2px}.detail-scroll{overflow-y:scroll;padding:18px 24px;scrollbar-width:auto;scrollbar-color:#527080 #0b171f}.detail-scroll .formsection,.detail-scroll .inspector-head{max-width:900px;margin-left:auto;margin-right:auto}.detail-scroll .field textarea{min-height:120px}.node{touch-action:none}

/* V6 — thème clair, défilement renforcé, sélecteurs de relations compacts */
:root{--bg:#efe4cf;--panel:#f7eedc;--panel2:#fffaf0;--line:#c9b99c;--text:#34291f;--muted:#756859;--gold:#9b7239;--paper:#e8d8bb;--ink:#35281d}
body{background:var(--bg);color:var(--text)}
.topbar{background:#e2d2b6;border-bottom-color:#bca989}.brand{color:#3b2b20}.navbtn{color:#685a4d}.navbtn:hover,.navbtn.active{background:#f7eedc;color:#2f241c;border-color:#bca98a}.datebox{color:#6f604f}.datebox input,.ghost{background:#f8f0df;border-color:#bca98a;color:#3a2d23;color-scheme:light}.primary{background:#6e5537;border-color:#6e5537;color:#fff}.sidebar{background:#f5ead5;border-color:#c7b493}.stage{background:#efe4cf}.stagehead{border-bottom-color:#cbb99a}.eyebrow{color:#806c55}.sectionhead{border-bottom-color:#d0bea0}.plus{background:#e7d4b3;border-color:#b79d77;color:#3c2c20}.rowcard{background:#fbf4e6;border-color:#d0bda0;color:#34291f}.rowcard:hover{border-color:#9f8767}.filterpill{background:#f5ead7;border-color:#c5ae8b;color:#58483b}.check{color:#625447}.collapse{background:#e8d6b7;color:#3b2c20;border-color:#b79e79}.empty-inspector{color:#806f5e}.empty-inspector h2{color:#3d3025}.inspector-head{border-bottom-color:#cbb899}.inspector-head p,.muted-mini,.fieldhint{color:#7a6a59}.formsection{border-bottom-color:#d2c0a3}.field label{color:#786551}.field input,.field select,.field textarea,.formgrid input,.formgrid select,.formgrid textarea{background:#fffaf0;border-color:#c4ad89;color:#35291f}.computed-box{background:#f7ecd8;border-color:#c4ad89;color:#4d3c2f}.wealth{color:#8e632d}.badge{border-color:#b9a17e}.level span{border-color:#c8b28e;color:#8b775e}.level span.on{background:#876640;color:#fff}.card,.timeline-card{background:#fff9ed;border-color:#c9b597;color:#362a20}.card p,.timeline-card p,.time{color:#776756}.tag{background:#f4e6cf;border-color:#c9b28e;color:#5b4a3c}.pin{box-shadow:0 0 0 5px #efe4cf}.dialog-card,.detail-card,.relation-card{background:#f8eedc;border-color:#bda784;color:#34291f}.dialog-head,.dialog-foot,.detail-top{border-color:#c8b493}.icon{color:#4b3a2d}.toast{background:#f5ead6;border-color:#bda987;color:#34291f}.detail-dialog{background:#bcae9666}.family-zone label{background:#67533d;color:#fff7e8}.node-face{background:#f5ead6;color:#34291f;box-shadow:0 4px 15px #6a543a33}.node.selected .node-face{outline-color:#7d5e3c55;box-shadow:0 0 0 9px #a47b4d33}.link-label{stroke:#e5d5b8}.side-scroll{height:auto;position:absolute;inset:0;overflow-y:scroll!important;overflow-x:hidden;padding:14px 16px 60px 14px;overscroll-behavior:contain}.sidebar{height:100%;min-height:0;overflow:hidden}.side-scroll::-webkit-scrollbar,.detail-scroll::-webkit-scrollbar,.relation-options::-webkit-scrollbar{width:13px}.side-scroll::-webkit-scrollbar-track,.detail-scroll::-webkit-scrollbar-track,.relation-options::-webkit-scrollbar-track{background:#eadcc4}.side-scroll::-webkit-scrollbar-thumb,.detail-scroll::-webkit-scrollbar-thumb,.relation-options::-webkit-scrollbar-thumb{background:#a78f6d;border:2px solid #eadcc4;border-radius:10px}.side-scroll,.detail-scroll,.relation-options{scrollbar-color:#a78f6d #eadcc4}
.relation-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:7px 0 10px}.relation-chip{display:inline-flex;align-items:center;gap:5px;background:#ead9bb;border:1px solid #c7ad84;border-radius:999px;padding:5px 8px;font-size:10px;color:#44352a}.relation-empty{font-size:10px;color:#877462;font-style:italic}.relation-edit{margin-left:auto;background:#f8f0df;border:1px solid #bca98a;color:#3a2d23;border-radius:7px;padding:6px 9px;cursor:pointer;font-size:10px}.relation-field{padding:7px 0}.relation-field>label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#786551;margin-bottom:5px}.relation-dialog{width:min(560px,calc(100vw - 30px));max-height:80vh}.relation-card{width:100%;height:min(680px,80vh);border:1px solid;border-radius:12px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.relation-tools{padding:12px 16px;border-bottom:1px solid #c8b493}.relation-tools input{width:100%;padding:9px 11px;border-radius:8px;border:1px solid #c4ad89;background:#fffaf0;color:#35291f}.relation-options{min-height:0;overflow-y:auto;padding:10px 16px}.relation-option{display:flex;align-items:center;gap:9px;padding:9px 6px;border-bottom:1px solid #e1d1b7;font-size:12px;cursor:pointer}.relation-option:hover{background:#f1e2c9}.relation-option input{width:16px;height:16px}.relation-option small{display:block;color:#887563;margin-top:2px}.relation-option .who{flex:1}.detail-scroll{background:#f8eedc}

/* V7 — sélecteurs compacts universels */
.picker-plus{margin-left:auto;min-width:32px;height:30px;padding:0 10px;font-size:18px;line-height:1;font-weight:700}.relation-summary .relation-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-summary{min-height:34px}.relation-options{max-height:52vh}.sectionhead .plus{white-space:nowrap}

/* V8 — panneaux rabattables robustes */
.workspace.left-hidden .sidebar.left,.workspace.right-hidden .sidebar.right{visibility:visible!important;border:0!important;overflow:visible!important;background:transparent!important}
.workspace.left-hidden .sidebar.left .side-scroll,.workspace.right-hidden .sidebar.right .side-scroll{display:none!important}
.workspace.left-hidden .left-collapse{display:block!important;visibility:visible!important;position:fixed!important;left:0!important;right:auto!important;top:86px!important;z-index:200}
.workspace.right-hidden .right-collapse{display:block!important;visibility:visible!important;position:fixed!important;right:0!important;left:auto!important;top:86px!important;z-index:200}
.workspace:not(.left-hidden) .left-collapse,.workspace:not(.right-hidden) .right-collapse{visibility:visible!important}
.navbtn[data-view="levels"]{white-space:nowrap}

/* V9 — panneaux rétractables, suppression sécurisée et liens synchronisés */
.workspace{position:relative}
.collapse{position:absolute;top:14px;z-index:250;transition:left .22s ease,right .22s ease,transform .22s ease;box-shadow:0 4px 14px #6a543a22}
.left-collapse{left:calc(var(--left) - 1px);right:auto;border-radius:0 8px 8px 0}
.right-collapse{right:calc(var(--right) - 1px);left:auto;border-radius:8px 0 0 8px}
.workspace.left-hidden .left-collapse{left:0!important;right:auto!important;position:absolute!important;top:14px!important}
.workspace.right-hidden .right-collapse{right:0!important;left:auto!important;position:absolute!important;top:14px!important}
.workspace.left-hidden .sidebar.left,.workspace.right-hidden .sidebar.right{visibility:hidden!important;pointer-events:none!important}
.workspace:not(.left-hidden) .sidebar.left,.workspace:not(.right-hidden) .sidebar.right{visibility:visible!important;pointer-events:auto!important}
.workspace.left-hidden .left-collapse,.workspace.right-hidden .right-collapse{visibility:visible!important;pointer-events:auto!important;background:#e8d6b7!important}
.delete-zone{display:flex;justify-content:flex-end;padding:16px 2px 4px}
.trash-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d2b8a6;border-radius:8px;background:transparent;color:#9c695c;cursor:pointer;opacity:.68;font-size:15px}
.trash-btn:hover{opacity:1;background:#f4dfd7;border-color:#b98272;color:#78473b}
.rowcard[data-jump="links"]{border-left:3px solid #9d7a55}
/* V11 — exploration des liens et carte extensible */
.link-category-results{margin:8px 0 14px;display:flex;flex-direction:column;gap:6px}
.category-head{display:flex;justify-content:space-between;align-items:center;padding:4px 2px;color:#574638;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.category-head span{color:#8a755e}
.category-link span{display:flex!important;flex-direction:column;align-items:flex-start;white-space:normal!important;line-height:1.25}
.category-link span b{font-family:Georgia,serif;font-size:11px}
.category-link span small{font-size:9px;color:#806f5d;margin-top:2px}
.filterpill.active-category{background:#fff8eb;box-shadow:0 0 0 2px #8e7657 inset;opacity:1;font-weight:700}
.character-link-group{margin:10px 0 13px}
.character-link-group h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 6px;font:700 12px Georgia,serif;border-bottom:1px solid #d5c5a9;padding-bottom:5px}
.character-link-group h4 span{font:600 9px Inter,sans-serif;border:1px solid currentColor;border-radius:999px;padding:2px 6px}
.story-tag{cursor:pointer}
.map-world{min-width:1600px;min-height:1000px}
.family-zone{transition:width .18s ease,height .18s ease}


/* V12 — Registre des propriétés */
.property-page{padding:4px 0 40px;display:grid;gap:18px}
.property-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.property-overview>div,.property-summary>div{background:#f4ead5;border:1px solid #cbb997;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 4px 18px rgba(74,55,32,.06)}
.property-overview small,.property-summary small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#776a55}.property-overview b,.property-summary b{font-family:Georgia,serif;font-size:20px;color:#332b21}.property-overview span{font-size:12px;color:#776a55}
.property-layout{display:grid;grid-template-columns:minmax(310px,.75fr) minmax(500px,1.7fr);gap:18px;align-items:start}.cadastre-ref{position:sticky;top:0;background:#f7efdf;border:1px solid #c8b58e;border-radius:16px;padding:10px;box-shadow:0 8px 24px rgba(74,55,32,.08)}.cadastre-ref img{width:100%;height:auto;display:block;border-radius:10px;filter:saturate(.78) sepia(.08)}.cadastre-ref p{margin:9px 4px 2px;font-size:12px;color:#766751;line-height:1.4}.property-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start}.property-card{position:relative;padding-top:26px}.parcel-number{position:absolute;right:12px;top:10px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dfc895;border:1px solid #aa8b56;color:#3b2e1d;font-family:Georgia,serif;font-weight:700;font-size:16px}.owner-line{margin:13px 0 0!important;padding-top:10px;border-top:1px solid #dccdad;color:#5e523f!important;font-weight:600}.property-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.positive{color:#46734e!important}.negative{color:#9b4938!important}
@media(max-width:1100px){.property-layout{grid-template-columns:1fr}.cadastre-ref{position:static}.property-overview,.property-summary{grid-template-columns:1fr}}

/* V13 — carte cadastrale interactive */
.cadastre-ref.interactive{padding:0;overflow:hidden;position:sticky;top:0}
.cadastre-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;background:#f3e4c8;border-bottom:1px solid #c8b58e}
.cadastre-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px}.cadastre-toolbar b{font:700 13px Georgia,serif;color:#3c3024}.cadastre-toolbar small{font-size:10px;color:#786853}
.cadastre-zoom{display:flex;align-items:center;gap:5px}.cadastre-zoom button{border:1px solid #bba37c;background:#fff8ea;color:#463527;border-radius:7px;height:28px;min-width:28px;padding:0 8px;cursor:pointer}.cadastre-zoom span{min-width:42px;text-align:center;font-size:10px;color:#655440}
.cadastre-scroll{overflow:auto;max-height:69vh;background:#dfcfad;scrollbar-color:#9e8663 #e8d9bc}.cadastre-canvas{position:relative;min-width:100%;line-height:0;transition:width .15s ease}.cadastre-canvas>img{width:100%;height:auto;display:block;border-radius:0!important;filter:saturate(.78) sepia(.08)}
.cadastre-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.parcel-hotspot{cursor:pointer;outline:none}.parcel-hotspot polygon{fill:#d9b45a0a;stroke:transparent;stroke-width:5;vector-effect:non-scaling-stroke;transition:fill .13s ease,stroke .13s ease}.parcel-hotspot circle{fill:#f4e2b7dd;stroke:#735735;stroke-width:2;opacity:0;transition:opacity .13s ease}.parcel-hotspot text{font:700 15px Georgia,serif;fill:#3e2d1d;opacity:0;pointer-events:none;transition:opacity .13s ease}
.parcel-hotspot.registered polygon{fill:#7f9b6516}.parcel-hotspot:hover polygon,.parcel-hotspot:focus polygon{fill:#d29b3b44;stroke:#76532c}.parcel-hotspot:hover circle,.parcel-hotspot:focus circle,.parcel-hotspot:hover text,.parcel-hotspot:focus text{opacity:1}.parcel-hotspot.selected polygon{fill:#c37a3155;stroke:#6f3f21}.parcel-hotspot.selected circle,.parcel-hotspot.selected text{opacity:1}.parcel-hotspot.selected circle{fill:#ffe6a8}
.cadastre-legend{display:flex;flex-wrap:wrap;gap:12px;padding:9px 12px;background:#f7efdf;border-top:1px solid #c8b58e;color:#766751;font-size:10px;line-height:1.3}.cadastre-legend span{display:inline-flex;align-items:center;gap:5px}.legend-swatch{width:11px;height:11px;border-radius:3px;border:1px solid #97754c}.legend-swatch.registered{background:#8da07166}.legend-swatch.free{background:#d6b25b1c}
@media(max-width:1100px){.cadastre-ref.interactive{position:static}.cadastre-scroll{max-height:60vh}}
.empty-properties-hint{grid-column:1/-1;border:1px dashed #bea77f;background:#f8efdd;border-radius:14px;padding:22px;text-align:center;color:#6f5d48}.empty-properties-hint b{font:700 15px Georgia,serif;color:#3f3124}.empty-properties-hint p{font-size:12px;margin:6px 0 0}

/* V14 — nouvelle carte des parcelles + plein écran */
.cadastre-fullscreen-btn{padding:0 10px!important;font-weight:700}.cadastre-canvas{cursor:zoom-in}.parcel-hotspot{cursor:pointer}.cadastre-dialog{width:96vw;max-width:none;height:94vh;max-height:none;padding:0;border:0;border-radius:18px;background:#f7efdf;box-shadow:0 24px 80px rgba(49,36,21,.35)}.cadastre-dialog::backdrop{background:rgba(38,29,20,.72)}.cadastre-fullscreen-card{height:94vh;display:flex;flex-direction:column;overflow:hidden}.cadastre-fullscreen-card>.detail-top{flex:0 0 auto;padding:14px 18px;background:#f1e2c4;border-bottom:1px solid #c8b58e}.cadastre-fullscreen-content{flex:1;min-height:0;overflow:hidden}.cadastre-fullscreen-content>.cadastre-toolbar{padding:10px 16px}.cadastre-fullscreen-content .fullscreen-scroll{height:calc(94vh - 112px);max-height:none;overflow:auto;background:#d8c6a1}.cadastre-fullscreen-content .cadastre-canvas{min-width:100%;cursor:default}.cadastre-fullscreen-content .cadastre-canvas>img{width:100%;height:auto}.cadastre-fullscreen-content .parcel-hotspot polygon{stroke-width:6}.cadastre-fullscreen-content .parcel-hotspot text{font-size:18px}.cadastre-fullscreen-content .parcel-hotspot circle{r:25}.cadastre-ref.interactive .cadastre-canvas img{cursor:zoom-in}

/* V20 — objets de collection disponibles selon les événements */
.collection-object-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:9px 10px;margin:7px 0;background:rgba(255,255,255,.38)}
.collection-object-main{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.collection-object-main b{font-size:13px}.collection-object-main small{font-size:11px;color:var(--muted);line-height:1.35}.collection-object-main:hover b{text-decoration:underline}

.review-mark{display:inline-flex;margin-left:7px;font-size:.72em;font-weight:800;opacity:.7;vertical-align:middle}.review-mark.done{color:#55765f}.review-mark.changes{color:#9a5d58}
.review-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px;padding:9px 11px;border:1px solid rgba(78,63,48,.14);border-radius:10px;background:rgba(255,255,255,.34);font-size:12px}.review-control>span{font-weight:700}.review-control label{display:inline-flex;align-items:center;gap:5px;margin:0;cursor:pointer}

/* V26 — Gazette MJ */
.gazette-dashboard{display:grid;gap:18px}
.gazette-kpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}
.gazette-kpis>div{background:#f7eddc;border:1px solid #cbb79a;border-radius:12px;padding:15px}
.gazette-kpis small{display:block;color:#7b6b5e}.gazette-kpis b{font-size:28px}
.gazette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.gazette-card{background:#f5e7cb;border:1px solid #bea47f;border-radius:10px;padding:17px;box-shadow:0 8px 20px #5b422415;cursor:pointer;position:relative;overflow:hidden}
.gazette-card:before{content:"";position:absolute;inset:7px;border:1px solid #d2b991;pointer-events:none}
.gazette-card-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.gazette-status{font-size:11px;padding:4px 8px;border-radius:999px}.gazette-status.draft{background:#ddd1c0}.gazette-status.scheduled{background:#e2d5a8}.gazette-status.published{background:#cfdcc7}.gazette-status.archived{background:#d3c9c7}
.gazette-mini-masthead{font-size:11px;letter-spacing:.18em;text-align:center;margin:18px 0 8px;color:#6f4d35;border-top:1px solid #b89972;border-bottom:1px solid #b89972;padding:5px}
.gazette-card h3{font-family:Georgia,serif;font-size:23px;text-align:center;margin:10px 0;color:#402f25}
.gazette-card p{font-family:Georgia,serif;line-height:1.45}
.gazette-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:18px}
.gazette-preview-side{position:sticky;top:0;align-self:start}
.gazette-preview{background:#efe0bd;color:#2d261f;border:1px solid #af9168;padding:26px 28px;box-shadow:0 12px 30px #4c351626;min-height:620px;font-family:Georgia,serif}
.gazette-masthead{text-align:center;font-size:28px;font-weight:800;letter-spacing:.08em;border-top:3px double #4f3d2c;border-bottom:3px double #4f3d2c;padding:8px 0}
.gazette-rule{height:1px;background:#6f5841;margin:7px 0}.gazette-meta{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:10px 0 18px}
.gazette-preview h1{text-align:center;font-size:34px;line-height:1.05;margin:10px 0}.gazette-preview h2{text-align:center;font-size:18px;font-style:italic;font-weight:normal;margin:0 0 18px}
.gazette-body{column-count:2;column-gap:24px;text-align:justify;line-height:1.55;font-size:15px}.gazette-body:first-letter{float:left;font-size:48px;line-height:.82;padding-right:5px;font-weight:bold}
.gazette-image-wrap{margin:14px 0}.gazette-image-wrap img{width:100%;max-height:240px;object-fit:cover;filter:sepia(.45) contrast(.92)}
.gazette-footer{border-top:1px solid #8d7255;margin-top:20px;padding-top:9px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.gazette-editor-layout{grid-template-columns:1fr}.gazette-preview-side{position:static}.gazette-body{column-count:1}.gazette-kpis{grid-template-columns:1fr 1fr}}

/* V27 — import photo Gazette */
.gazette-photo-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gazette-photo-tools input[type=file]{max-width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fffaf3}
.gazette-photo-current{margin:8px 0 14px;border:1px solid #c8b18f;border-radius:9px;padding:8px;background:#f5ead8}
.gazette-photo-current img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:6px;filter:sepia(.2)}
.gazette-photo-current span{display:block;margin-top:6px;font-size:11px;color:#77685a}

/* V28 — gestion des Cours */
.court-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.court-summary>div{background:#f5ead8;border:1px solid var(--line);border-radius:9px;padding:10px}

/* V29 — navigation verticale et sections rétractables */
:root{--left:270px}
.app{grid-template-rows:58px 1fr}
.topbar{grid-template-columns:1fr auto;padding:0 16px}
.topbar .brand{min-width:220px}
.top-actions{justify-self:end}
.workspace{grid-template-columns:var(--left) minmax(0,1fr) var(--right)}
.side-menu-section{padding-bottom:4px}
.side-nav{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px 0 15px}
.side-nav .navbtn{display:flex;justify-content:flex-start;align-items:center;width:100%;text-align:left;padding:8px 9px;border:1px solid #203642;background:#0e1d26;color:#b9b0a4}
.side-nav .navbtn:hover,.side-nav .navbtn.active{background:#1b3341;border-color:#4c6877;color:#f3e8d7}
.sidebar.left section{margin-bottom:10px}
.collapsible-head{cursor:pointer;user-select:none}
.collapsible-head:hover h2{color:#f0e5d4}
.section-tools{display:flex;align-items:center;gap:7px}
.chevron{font-size:13px;color:#8095a0;min-width:14px;text-align:center}
.collapsed-body{display:none!important}
.collapsible-head.is-collapsed{margin-bottom:0}
.collapsible-head.is-collapsed .chevron{color:#c5a66a}
#familyList{max-height:300px;overflow:auto;padding-right:2px}
@media(max-width:1050px){:root{--left:240px}.side-nav{grid-template-columns:1fr}}

/* V30 — photos Objets, Collections et Badges */
.media-section{padding-top:12px}
.entity-photo-preview{position:relative;background:#f1e5cf;border:1px solid #bba585;border-radius:10px;padding:8px}
.entity-photo-preview img{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:7px;background:#e7d8bd}
.entity-photo-preview button{margin-top:8px}
.entity-photo-empty{display:grid;place-items:center;min-height:105px;border:1px dashed #52636b;border-radius:9px;color:#82939a;font-size:11px;margin-bottom:8px}
.entity-photo-tools{display:flex;gap:8px;margin-top:8px}.entity-photo-tools .filelabel{cursor:pointer}
.card-photo{height:120px;margin:-5px -5px 12px;overflow:hidden;border-radius:7px;background:#d8c8a8}
.card-photo img{width:100%;height:100%;object-fit:cover;display:block}

.timeline-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:10px 12px;background:#f2e7d5;border:1px solid #c9b594;border-radius:10px}.timeline-toolbar label{display:flex;align-items:center;gap:9px;font-weight:700}.timeline-toolbar select{min-width:220px}

/* V32 — filtres combinés de chronologie */
.timeline-toolbar{align-items:flex-end}
.timeline-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.timeline-filters label{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#746656}
.timeline-filters select{min-width:210px}
.timeline-context-note{margin:0 20px 8px;padding:9px 12px;border-left:3px solid #9a7b51;background:#f0e3cf;color:#5d4a37;font-size:12px}
@media(max-width:850px){.timeline-toolbar{align-items:stretch;flex-direction:column}.timeline-filters{align-items:stretch}.timeline-filters label{width:100%}.timeline-filters select{width:100%;min-width:0}}

/* V33 — économie mensuelle */
.economy-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}
.economy-breakdown>div{background:#0b1820;border:1px solid #29404d;border-radius:8px;padding:9px}
.economy-breakdown small{display:block;color:#82939c;font-size:9px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.economy-breakdown b{font:700 15px Georgia,serif}

/* V34 — Banque par Cour */
.bank-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid #20333e;background:#0d1b24}
.bank-toolbar label{display:flex;flex-direction:column;gap:5px;color:#8ea0a9;font-size:10px;text-transform:uppercase}.bank-toolbar select{min-width:240px;background:#09151d;border:1px solid #2b424f;color:#e6ddcf;border-radius:7px;padding:8px}
.bank-court-total{text-align:right}.bank-court-total small,.bank-court-total span{display:block;color:#81929b}.bank-court-total b{display:block;font:700 24px Georgia,serif;color:#d3b56f}
.bank-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:13px;padding:18px}
.bank-player-card{background:#101f29;border:1px solid #2a414e;border-radius:11px;padding:15px;cursor:pointer}.bank-player-card:hover{border-color:#587485}
.bank-player-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.bank-player-head small{font-size:8px;color:#758a95;letter-spacing:.12em}.bank-player-head h3{margin:2px 0;font:700 20px Georgia,serif}.bank-player-head p{margin:3px 0;color:#94a4ab;font-size:11px}
.bank-balance{font:700 24px Georgia,serif;color:#8fc399;white-space:nowrap}.bank-balance.negative{color:#d98d87}
.bank-player-meta{display:flex;justify-content:space-between;gap:8px;margin-top:12px;padding-top:9px;border-top:1px solid #243944;color:#84969e;font-size:10px}
.bank-account-summary{display:grid;gap:3px;background:#0b1820;border:1px solid #29404d;border-radius:9px;padding:13px}.bank-account-summary small{text-transform:uppercase;color:#80939d;font-size:9px}.bank-account-summary b{font:700 27px Georgia,serif}.bank-account-summary span{color:#8d9da5;font-size:11px}
.bank-ledger{display:grid;gap:6px}.bank-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;border:1px solid #263c48;background:#0d1c25;border-radius:7px;cursor:pointer}.bank-entry:hover{border-color:#496573}.bank-entry b,.bank-entry small{display:block}.bank-entry small{margin-top:2px;color:#81939b;font-size:9px}.bank-entry strong{font:700 15px Georgia,serif}

/* V35 — base des vrais joueurs */
.player-registry-note{padding:10px;border:1px solid #324853;border-radius:8px;background:#0d1c25;color:#8fa0a8;font-size:11px}

/* V36 — Cours à horloge autonome */
.court-date-card{display:grid;gap:2px;margin:10px 0;padding:9px 10px;border:1px solid #2b414d;border-radius:8px;background:#0c1a23}
.court-date-card small{color:#81949e;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.court-date-card b{font:700 18px Georgia,serif;color:#d7bd7c}
.court-date-card span{font-size:9px;color:#8ea0a8}
.court-clock{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}
.court-clock>div{background:#0b1820;border:1px solid #29404d;border-radius:8px;padding:10px}
.court-clock small{display:block;color:#7f929c;font-size:8px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.court-clock b{font:700 16px Georgia,serif;color:#dccaa9}
@media(max-width:760px){.court-clock{grid-template-columns:1fr}}

/* V37 — objectifs, visibilité événements, recherche personnages */
.objective-progress-row{display:grid;grid-template-columns:1fr auto 34px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #253a45}.objective-progress-row:last-child{border-bottom:0}.objective-progress-row small{display:block;color:#80939d;font-size:9px}.objective-progress-row strong{color:#d5b46c;font:700 16px Georgia,serif}.icon-trash{border:0;background:transparent;opacity:.58;cursor:pointer;font-size:14px}.icon-trash:hover{opacity:1}

/* V38 — Boutique du Village */
.shop-kpis{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px;margin-bottom:16px}.shop-kpis>div{background:#0e1d26;border:1px solid #2a414d;border-radius:10px;padding:12px}.shop-kpis small{display:block;color:#82959e}.shop-kpis b{font:700 24px Georgia,serif;color:#d7b875}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.shop-card{background:#101f29;border:1px solid #2c4350;border-radius:11px;padding:14px;cursor:pointer}.shop-card:hover{border-color:#5e7a88}.shop-photo{height:145px;overflow:hidden;border-radius:8px;background:#0b161d;margin-bottom:10px}.shop-photo img{width:100%;height:100%;object-fit:cover}.shop-top{display:flex;justify-content:space-between}.shop-card h3{font:700 20px Georgia,serif;margin:10px 0 6px}.shop-card p{color:#9bacb3}.shop-price{font:700 27px Georgia,serif;color:#d6b66f;margin:10px 0}

/* V39 — effets multiples Boutique */
.shop-effect-row{position:relative;display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr 34px;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid #29404b}.shop-effect-row .wide{grid-column:1/5}.shop-effect-summary{grid-column:1/-1;color:#d2b36f;font-size:10px}.shop-effect-row .icon-trash{align-self:center}
@media(max-width:1050px){.shop-effect-row{grid-template-columns:1fr 1fr}.shop-effect-row .wide,.shop-effect-summary{grid-column:1/-1}}

/* V40 — filtre Histoire sur la carte des familles */
.map-story-filter{display:inline-flex;align-items:end}.map-story-filter label{display:flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#81949e}.map-story-filter select{min-width:210px;background:#0c1921;border:1px solid #2e4653;color:#e8dfd1;border-radius:7px;padding:7px 9px}
.node.story-dim{opacity:.18;filter:grayscale(.65)}.node.story-dim:hover{opacity:.55}

/* V41 — Boutique plus lisible */
.shop-card{background:#cbb391!important;border-color:#9d7d58!important;color:#2d251e!important}
.shop-card:hover{background:#d6c09f!important;border-color:#765b3f!important}
.shop-card h3{color:#3b2a1d!important}.shop-card p{color:#51483f!important}.shop-card .shop-price{color:#5b351d!important}
.shop-card .tag{background:#f1e3cb!important;color:#4a392d!important;border-color:#a8865d!important}
.shop-photo{background:#b69b78!important}
.shop-kpis>div{background:#bda584!important;border-color:#927452!important}.shop-kpis small{color:#493e35!important}.shop-kpis b{color:#4a2d1d!important}

/* V41 — Messagerie de la Mairie */
.mayor-message-layout{display:grid;grid-template-columns:minmax(320px,430px) 1fr;gap:16px}.mayor-compose,.mayor-history{background:#101f29;border:1px solid #2b4350;border-radius:12px;padding:16px}.mayor-compose h2,.mayor-history h2{font:700 22px Georgia,serif;color:#d5b46c}.mayor-message-card{position:relative;background:#152732;border:1px solid #304956;border-radius:9px;padding:12px 42px 12px 12px;margin:9px 0}.mayor-message-card>div{display:flex;justify-content:space-between;gap:10px}.mayor-message-card small{color:#81949e}.mayor-message-card p{white-space:pre-wrap;color:#d6dde0}.mayor-message-card .icon-trash{position:absolute;right:8px;top:8px}
@media(max-width:950px){.mayor-message-layout{grid-template-columns:1fr}}

/* V42 — filtres Liens */
.sidebar-filter-label{display:grid;gap:5px;margin:8px 0 10px;color:#aebbc1;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.sidebar-filter-label select{width:100%;background:#f0e2cb;color:#3f3127;border:1px solid #a98c68;border-radius:7px;padding:7px}

/* V42 — Banque claire */
.bank-toolbar{background:#cbb391!important;border-color:#9d7d58!important;color:#30261f!important}
.bank-toolbar label,.bank-toolbar small,.bank-toolbar span{color:#51463c!important}
.bank-toolbar select{background:#f5e8d3!important;color:#3c3027!important;border-color:#9d7d58!important}
.bank-court-total b{color:#4e301f!important}
.bank-player-card{background:#cbb391!important;border-color:#9d7d58!important;color:#30261f!important}
.bank-player-card:hover{background:#d7c19f!important;border-color:#765b3f!important}
.bank-player-head small,.bank-player-head p,.bank-player-meta{color:#584c41!important}
.bank-player-meta{border-color:#a78c69!important}
.bank-balance{color:#466246!important}.bank-balance.negative{color:#87483f!important}
.bank-account-summary{background:#d6bf9e!important;border-color:#9d7d58!important;color:#34291f!important}
.bank-account-summary small,.bank-account-summary span{color:#594b3d!important}
.bank-entry{background:#eadac1!important;border-color:#ad906d!important;color:#382d24!important}
.bank-entry:hover{background:#f0e2cd!important;border-color:#806345!important}
.bank-entry small{color:#6d5c4c!important}

/* V42 — Messagerie claire */
.mayor-compose,.mayor-history{background:#cbb391!important;border-color:#9d7d58!important;color:#30261f!important}
.mayor-compose h2,.mayor-history h2{color:#4b2f20!important}
.mayor-compose .muted-mini,.mayor-history .muted-mini{color:#655548!important}
.mayor-compose input,.mayor-compose select,.mayor-compose textarea{background:#f6ead8!important;color:#352a22!important;border-color:#9c7e5d!important}
.mayor-message-card{background:#e5d2b5!important;border-color:#a98b66!important;color:#332820!important}
.mayor-message-card b{color:#402d20!important}
.mayor-message-card small{color:#6c5949!important}
.mayor-message-card p{color:#3d332b!important}

/* V43 — Conseil municipal MJ */
.council-mj-toolbar{display:flex;gap:10px;flex-wrap:wrap;background:#cbb391;border:1px solid #9d7d58;border-radius:11px;padding:12px;margin-bottom:14px;color:#30261f}.council-mj-toolbar label{display:grid;gap:5px;min-width:230px}.council-mj-toolbar select{background:#f6ead7;color:#382c23;border:1px solid #9d7d58;border-radius:7px;padding:8px}
.council-mj-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.4fr);gap:14px;margin-bottom:14px}.council-mj-grid.lower{grid-template-columns:1fr 1fr}.council-panel{background:#cbb391;border:1px solid #9d7d58;border-radius:12px;padding:15px;color:#30261f}.council-panel h2{font:700 21px Georgia,serif;color:#4d301f}.council-panel label{display:grid;gap:5px;margin:8px 0}.council-panel input,.council-panel select,.council-panel textarea{background:#f6ead7;color:#382c23;border:1px solid #9d7d58;border-radius:7px;padding:8px}.council-panel .muted-mini{color:#665648!important}
.council-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.council-stat-row>div{background:#e7d4b7;border:1px solid #aa8c67;border-radius:8px;padding:9px}.council-stat-row small{display:block;color:#685749}.council-stat-row b{font:700 21px Georgia,serif;color:#4b301f}
.mj-popularity-list{display:grid}.mj-pop-row{display:grid;grid-template-columns:50px minmax(150px,1fr) 100px 120px 45px;gap:9px;align-items:center;padding:9px;border-bottom:1px solid #ad906c}.mj-pop-row .rank{font-family:Georgia,serif;font-weight:700}.mj-pop-row small{display:block;color:#6b5949}.mj-pop-row .stars{color:#704d35;letter-spacing:1px}.mj-pop-row strong{text-align:right}
.vote-detail{display:grid;grid-template-columns:minmax(180px,1fr) 1fr 1fr 34px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #ad906c}.vote-detail small{display:block;color:#6b5949}
.social-rel-row{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #ad906c}.social-rel-row small{display:block;color:#6b5949}.social-rel-actions{display:flex;gap:5px}
.social-reward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:9px}.social-reward-card{position:relative;background:#e6d2b4;border:1px solid #aa8c67;border-radius:9px;padding:11px 40px 11px 11px}.social-reward-card h3{font-family:Georgia,serif;margin:0 0 6px}.social-reward-card .icon-trash{position:absolute;right:7px;top:7px}
@media(max-width:1050px){.council-mj-grid,.council-mj-grid.lower{grid-template-columns:1fr}.mj-pop-row{grid-template-columns:45px 1fr 95px}.mj-pop-row span:nth-of-type(3),.mj-pop-row strong{display:none}.vote-detail{grid-template-columns:1fr 1fr}}

/* V44 — périodes du Conseil municipal */
.council-open-state{display:grid;gap:3px;margin:10px 0;padding:10px 12px;border-radius:9px;border:1px solid}
.council-open-state.is-open{background:#dbe7d5;border-color:#829873;color:#31422b}
.council-open-state.is-closed{background:#ead5ce;border-color:#a97868;color:#56372f}
.council-open-state span{font-size:11px}

/* V45 badges */
.badge-card-photo{background:transparent!important}.badge-card-photo img{object-fit:contain!important;max-height:175px}


/* V46 — Accès MJ sécurisé */
.staff-identity{font-size:10px;color:#6e5c49;white-space:nowrap;padding:0 5px}.staff-identity b{font-family:Georgia,serif}.mj-login-screen{min-height:100vh;display:grid;place-items:center;background:#efe4cf;padding:22px;color:#34291f}.mj-login-card{width:min(430px,100%);background:#fff9ed;border:1px solid #c9b597;border-radius:16px;padding:28px;box-shadow:0 18px 60px #5c43252b}.mj-login-card h1{font:700 28px Georgia,serif;margin:0 0 4px}.mj-login-card .eyebrow{display:block;margin-bottom:7px}.mj-login-card p{color:#776756;line-height:1.5}.mj-login-card label{display:grid;gap:6px;margin:13px 0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#786551}.mj-login-card input{width:100%;background:#fffaf0;border:1px solid #c4ad89;color:#35291f;border-radius:8px;padding:11px}.mj-login-card button{width:100%;margin-top:8px;padding:11px}.mj-login-error{min-height:20px;color:#9b4938;font-size:11px;margin-top:10px}.mj-security-note{margin-top:18px;padding-top:13px;border-top:1px solid #dfcfb4;font-size:10px;color:#887563}.mj-save-state{position:fixed;right:16px;bottom:14px;z-index:500;background:#fff8ea;border:1px solid #c5ae8b;border-radius:999px;padding:7px 11px;font-size:10px;color:#574638;box-shadow:0 4px 16px #5b432229}.mj-save-state.error{background:#f5dfd8;border-color:#c58f81;color:#81483c}.mj-save-state.saving{background:#f4ead5}.mj-readonly .primary,.mj-readonly .plus,.mj-readonly .trash-btn,.mj-readonly .relation-edit,.mj-readonly [data-add],.mj-readonly #villageDate,.mj-readonly #importLabel{display:none!important}.mj-readonly .field input,.mj-readonly .field select,.mj-readonly .field textarea{pointer-events:none;opacity:.75}
