*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,sans-serif;background:#f6f3ee;color:#2b2622}
a{color:#8a4b2d}h1{font-size:1.5rem;margin:.2rem 0 1rem}h2{font-size:1.05rem;margin:0 0 .6rem}
main{max-width:1100px;margin:0 auto;padding:1.2rem 1rem 3rem}footer{text-align:center;color:#9a9086;font-size:12px;padding:1rem}
.card{background:#fff;border:1px solid #e4ddd2;border-radius:10px;padding:1rem;margin-bottom:1rem}.narrow{max-width:420px;margin:3rem auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}
.stat{text-decoration:none;color:inherit;display:flex;flex-direction:column}.stat b{font-size:2rem}.muted{color:#8b8279;font-size:13px}
table{border-collapse:collapse;width:100%}td,th{padding:.4rem .5rem;border-bottom:1px solid #eee7dc;text-align:left;vertical-align:top}th{font-size:12px;color:#8b8279;text-transform:uppercase}
.struck td{text-decoration:line-through;color:#9a9086}.pill{font-size:12px;border-radius:99px;padding:.1rem .6rem;background:#eee;white-space:nowrap}
.pill.pending_payment{background:#fde9c8}.pill.paid{background:#d6efd8}.pill.cancelled{background:#eee}.pill.refunded{background:#dde6f5}
label{display:block;margin:.6rem 0;font-size:13px;color:#5d554d}input,select,textarea{display:block;width:100%;padding:.5rem;border:1px solid #d6cdbf;border-radius:7px;font:inherit;margin-top:.2rem;background:#fff}
.check{display:flex;gap:.5rem;align-items:center}.check input{width:auto;margin:0}
.btn{background:#8a4b2d;color:#fff;border:0;border-radius:7px;padding:.5rem 1rem;font:inherit;cursor:pointer;margin:.3rem 0}.btn.ghost{background:#fff;color:#8a4b2d;border:1px solid #8a4b2d}
.btn.danger{background:#b3261e}.btn.small{padding:.2rem .6rem;font-size:13px}.link{background:none;border:0;color:#8a4b2d;cursor:pointer;font:inherit}
.row{display:flex;gap:.5rem;align-items:center}.row select{width:auto}.bar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.bar input,.bar select{width:auto;margin:0;flex:1;min-width:160px}
.flash{padding:.6rem .9rem;border-radius:8px;margin-bottom:1rem;background:#d6efd8}.flash.error{background:#f8d7d3}
.full td:last-child{text-align:right}.compact td:last-child,.compact th:last-child{text-align:right}@media(max-width:640px){.full{font-size:13px}}
.rbar{display:flex;gap:.3rem;margin-top:.2rem;flex-wrap:wrap}.rbar button{border:1px solid #d6cdbf;background:#faf7f2;border-radius:6px;padding:.15rem .5rem;cursor:pointer;font:inherit;font-size:13px}
.redit{min-height:110px;border:1px solid #d6cdbf;border-radius:7px;padding:.5rem;background:#fff;margin-top:.3rem;font-size:15px;color:#2b2622}
.imgs{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0}.img{width:140px;border:1px solid #e4ddd2;border-radius:8px;padding:.3rem;background:#faf7f2}.img img{width:100%;height:90px;object-fit:cover;border-radius:5px}
.img input{font-size:12px;padding:.2rem;margin:.2rem 0}.mv{display:flex;gap:.2rem;justify-content:space-between}.mv button{flex:1;cursor:pointer;border:1px solid #d6cdbf;background:#fff;border-radius:5px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media(max-width:640px){.two{grid-template-columns:1fr}}
.inl{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.inl input,.inl select{width:auto;margin:0}.inl label{margin:0}
.pill.open{background:#d6efd8}.pill.full{background:#fde9c8}.pill.closed{background:#eee}.pill.off{background:#eee;color:#8b8279}
.dt{border-bottom:1px solid #eee7dc;padding:.5rem 0}.dt.past{opacity:.6}.dt input[type=date],.dt input[type=time]{padding:.3rem}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem}.g{padding:.5rem;margin:0}.g.off{opacity:.55}.g img{width:100%;height:130px;object-fit:cover;border-radius:6px}.g input:not([type=checkbox]){font-size:12px;padding:.25rem;margin:.2rem 0}
fieldset.card{margin:1rem 0}details{width:100%}.pr{border-bottom:0}

/* ---- Mise en page v0.9.4 : onglets à deux niveaux ---- */
body{font-size:15px}
.top{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e4ddd2;padding:0}
.bar1{display:flex;align-items:center;gap:1rem;padding:.4rem 1rem;max-width:1200px;margin:0 auto}
.brand{font-weight:700;text-decoration:none;color:#2b2622;white-space:nowrap}.brand small{font-weight:400;color:#8b8279}
.tabs{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar,.subtabs::-webkit-scrollbar{display:none}
.tabs a{padding:.55rem .9rem;border-radius:8px;text-decoration:none;color:#5d554d;font-weight:600;white-space:nowrap}
.tabs a:hover{background:#f6f3ee}.tabs a.on{background:#8a4b2d;color:#fff}
.grow{flex:1}.lnk{text-decoration:none;font-size:13px;white-space:nowrap}
.subtabs{display:flex;gap:.3rem;overflow-x:auto;padding:.45rem 1rem;max-width:1200px;margin:0 auto;border-top:1px solid #f0e9de;scrollbar-width:none}
.subtabs a{padding:.3rem .8rem;border-radius:99px;text-decoration:none;color:#5d554d;background:#f6f3ee;white-space:nowrap;font-size:14px}
.subtabs a.on{background:#2b2622;color:#fff}.subtabs a:hover:not(.on){background:#eee7dc}
.badge{font-style:normal;font-size:11px;font-weight:700;background:#b3261e;color:#fff;border-radius:99px;padding:0 .4rem;margin-left:.25rem;display:inline-block;min-width:1.2rem;text-align:center}
main{max-width:1200px}
.card{overflow-x:auto}
h1{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
@media(max-width:760px){
  .bar1{flex-wrap:wrap;gap:.2rem .6rem;padding:.4rem .6rem}.brand small,.lnk{display:none}.grow{display:none}
  .tabs{order:3;width:100%}.tabs a{flex:1;text-align:center;padding:.5rem .4rem}
  .bar1 form{margin-left:auto}.subtabs{padding:.4rem .6rem}
  main{padding:.8rem .6rem 3rem}
  input,select,textarea{font-size:16px}.btn{padding:.65rem 1rem}.btn.small{padding:.45rem .8rem}
  .card{padding:.8rem}.inl>*{flex:1 1 auto}.inl input[type=checkbox]{flex:none}
  .full td,.full th{padding:.45rem .3rem}.full{min-width:520px}.full.compact{min-width:0;font-size:13px}.full.compact td:nth-child(2) .muted{word-break:break-all}
  .cols,.two{grid-template-columns:1fr}
}
/* ---- Comptabilité ---- */
.acc-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.acc-head h1{margin:.2rem 0}
.seg{display:flex;gap:.3rem;overflow-x:auto;margin:.6rem 0 1rem;scrollbar-width:none}
.seg a{padding:.4rem .9rem;border-radius:8px;background:#fff;border:1px solid #e4ddd2;text-decoration:none;color:#5d554d;white-space:nowrap;font-size:14px}
.seg a.on{background:#2b2622;color:#fff;border-color:#2b2622}
.kpi{margin-bottom:1rem}.stat.pos b{color:#1f7a3a}.stat.neg b{color:#b3261e}.stat span{color:#6d645b}
.amt-in{color:#1f7a3a;white-space:nowrap;text-align:right}.amt-out{color:#b3261e;white-space:nowrap;text-align:right}
.compact td:nth-child(2):last-child,.compact td.amt-in,.compact td.amt-out{font-variant-numeric:tabular-nums}
.addrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem .8rem;align-items:end}.addrow .wide{grid-column:span 2}.addrow label{margin:0}
.addrow .btn{margin:0}
details.edit summary{cursor:pointer;color:#8a4b2d;font-size:13px;white-space:nowrap}details.edit[open]{position:relative}
details.edit .addrow{background:#faf7f2;border:1px solid #e4ddd2;border-radius:8px;padding:.7rem;margin:.5rem 0;min-width:min(520px,86vw)}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:#f6f3ee;border:1px solid #e4ddd2;border-radius:99px;padding:.15rem .3rem .15rem .8rem;margin:.2rem .3rem .2rem 0}
.chip button{border:0;background:none;cursor:pointer;color:#8b8279;font-size:13px}.chip button:hover{color:#b3261e}
@media(max-width:760px){.addrow .wide{grid-column:auto}}
/* ---- Onglets de page, barre d'enregistrement, listes ---- */
[hidden]{display:none!important}
.savebar{position:sticky;bottom:0;z-index:20;background:rgba(255,255,255,.96);border:1px solid #e4ddd2;border-radius:10px;padding:.6rem .9rem;margin:1rem 0;display:flex;gap:.8rem;align-items:center;box-shadow:0 -4px 14px rgba(0,0,0,.06)}
.savebar .btn{margin:0}.savebar .muted{flex:1}
.pageh{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.pageh h1{margin:.2rem 0}
.crumb{font-size:13px;margin:.2rem 0}
.rowlist .row2{display:flex;gap:.8rem;align-items:center;padding:.6rem 0;border-bottom:1px solid #eee7dc}.rowlist .row2:last-child{border:0}
.rowlist .row2 .main{flex:1;min-width:0}.rowlist .row2 .main b{display:block}
.thumb{width:54px;height:54px;border-radius:8px;object-fit:cover;background:#eee;flex:none}
.hint{font-size:13px;color:#8b8279;margin:.2rem 0 .6rem}
.fs{border:1px solid #e4ddd2;border-radius:10px;padding:.2rem 1rem 1rem;margin:0 0 1rem;background:#fff}.fs legend{font-weight:700;padding:0 .4rem}
.searchbar{margin:.5rem 0 1rem}.searchbar input{max-width:420px}

/* ---- Modale et bouton + ---- */
.listbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:.6rem 0 1rem}
.fab{width:44px;height:44px;border-radius:50%;border:0;background:#8a4b2d;color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);flex:none}
.fab:hover{background:#753d23}
dialog.modal{border:0;border-radius:14px;padding:1.2rem;width:min(560px,calc(100vw - 2rem));box-shadow:0 12px 40px rgba(0,0,0,.3);color:#2b2622}
dialog.modal::backdrop{background:rgba(30,20,10,.45)}

dialog.modal{max-height:90vh;overflow:auto}
dialog.modal .addrow{grid-template-columns:1fr 1fr}.modal .addrow .wide{grid-column:1/-1}
dialog.modal h2{margin:0 0 .4rem}
@media(max-width:480px){dialog.modal .addrow{grid-template-columns:1fr}}
.addbtn{display:inline-flex;align-items:center;gap:.4rem}

.rowlist .row2{flex-wrap:wrap}.rowlist .row2 details.edit{flex-basis:100%}
/* ---- Photos : appareil photo + éditeur ---- */
.pp{margin:.3rem 0}.pp-btns{display:flex;gap:.5rem;flex-wrap:wrap}.pp-btns .btn{margin:0}
.pp-list{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.pp-it{position:relative;width:72px;height:72px}.pp-it img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid #e4ddd2}
.pp-it button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#2b2622;color:#fff;font-size:12px;cursor:pointer;line-height:1}
dialog.pe{width:min(660px,calc(100vw - 1.2rem));padding:1rem}
.pe-wrap{display:flex;justify-content:center;background:#2b2622;border-radius:10px;padding:.6rem;touch-action:none}
.pe-stage{position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.pe-view{display:block}
.pe-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.55);cursor:move;touch-action:none}
.pe-box i{position:absolute;width:30px;height:30px;touch-action:none}
.pe-box i[data-h=nw]{left:-2px;top:-2px;border-top:5px solid #fff;border-left:5px solid #fff;cursor:nwse-resize}
.pe-box i[data-h=ne]{right:-2px;top:-2px;border-top:5px solid #fff;border-right:5px solid #fff;cursor:nesw-resize}
.pe-box i[data-h=sw]{left:-2px;bottom:-2px;border-bottom:5px solid #fff;border-left:5px solid #fff;cursor:nesw-resize}
.pe-box i[data-h=se]{right:-2px;bottom:-2px;border-bottom:5px solid #fff;border-right:5px solid #fff;cursor:nwse-resize}
.pe-tools{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.7rem}.pe-tools .btn{margin:0}
.pe-ratios{display:inline-flex;gap:.25rem;flex-wrap:wrap}.pe-ratios button{border:1px solid #d6cdbf;background:#fff;border-radius:99px;padding:.3rem .7rem;cursor:pointer;font:inherit;font-size:13px}
.pe-ratios button.on{background:#2b2622;color:#fff;border-color:#2b2622}
.pe-foot{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.8rem}.pe-foot .btn{margin:0}
.pe-hint{margin:.5rem 0 0}
.pp-miss .pp-btns{outline:2px solid #c0392b;outline-offset:4px;border-radius:8px}
