:root{--blue:#23486d;--teal:#138985;--orange:#b96925;--paper:#f2f5f7}*{box-sizing:border-box}body{margin:0;font:15px Arial,sans-serif;color:#19374f;background:var(--paper)}header{padding:20px 28px;background:white;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--teal)}header strong{font-size:28px}header span{margin-left:18px;color:#667b89}.notice{background:#fff2d5;padding:10px 28px;font-size:12px;color:#735424}nav{display:flex;gap:8px;padding:18px 28px;background:white;flex-wrap:wrap}button{cursor:pointer;border:1px solid #c4d0d7;border-radius:7px;padding:11px 16px;font:inherit;background:white;color:var(--blue)}nav button,.primary{background:var(--teal);color:white;border:none}nav button.active{background:var(--blue)}main{padding:22px 28px;max-width:1600px;margin:auto}.period{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}label{display:flex;gap:8px;align-items:center}input,select{padding:11px;border:1px solid #bdcbd5;border-radius:6px;font:inherit;background:white;color:var(--blue)}#search{flex:1;min-width:230px}h1{font-size:27px;margin:8px 0 20px}h2{font-size:20px}.hero{background:var(--teal);color:white;padding:25px;border-radius:9px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.hero strong{font-size:42px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.card{padding:20px;background:var(--blue);color:white;border-radius:8px}.card strong{display:block;font-size:25px;margin-top:10px}.card.orange{background:var(--orange)}.card.purple{background:#7957a0}.scroll{overflow:auto;background:white;border-radius:8px;margin:15px 0}table{width:100%;border-collapse:collapse;white-space:nowrap}th{background:var(--blue);color:white;text-align:left;padding:14px}td{padding:12px;border-bottom:1px solid #dfe5e9}tr:nth-child(even){background:#f3f7fa}.num{text-align:right;font-variant-numeric:tabular-nums}.sale{background:#d6ebd8!important}.purchase{background:#ffe2c0!important}.reserve{background:#f7df9b!important}.salary{background:#e1eaf8!important}.expense{background:#f0e4f5!important}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.muted{color:#647785;font-size:13px;line-height:1.5}.ok{background:#e0efdf;padding:12px;border-radius:7px;color:#2d6838}.tag{font-size:12px;border-radius:12px;background:#e7edef;padding:5px 9px}details{background:white;border:1px solid #dbe3e7;border-radius:8px;padding:16px;margin:10px 0}summary{cursor:pointer;font-weight:bold}.empty{padding:35px;text-align:center}dialog{border:none;border-radius:12px;max-width:520px;width:95%;padding:25px;box-shadow:0 20px 70px #0005}dialog::backdrop{background:#122f4666}form label{display:grid;grid-template-columns:155px 1fr;margin:12px 0}form input,form select{min-width:0;width:100%}.buttons{display:flex;gap:12px;justify-content:flex-end}#error{color:#ae2525}@media(max-width:700px){main{padding:14px}header{padding:15px}header span{display:block;margin:4px 0}nav{padding:12px;gap:6px}nav button{padding:10px;font-size:13px}.cards{grid-template-columns:1fr}.hero{display:block}.hero strong{display:block;font-size:34px;margin-top:10px}.period input{max-width:160px}#search{max-width:none;width:100%}form label{grid-template-columns:1fr;gap:6px}td,th{padding:10px}h1{font-size:23px}}@media print{header button,nav,.period,.notice,.toolbar button{display:none}body{background:white}main{padding:0}.hero strong{font-size:30px}.scroll{overflow:visible}table{white-space:normal;font-size:10px}th,td{padding:6px}.cards{grid-template-columns:repeat(3,1fr)}details{break-inside:avoid}header{padding:10px}tr{break-inside:avoid}}

/* Disposition compacte, soldes immédiatement visibles dans la caisse. */
body{font-size:13px}header{padding:12px 20px}header strong{font-size:23px}.notice{padding:7px 20px}nav{padding:10px 20px}button{padding:9px 12px}main{padding:14px 20px}.period{gap:9px;margin-bottom:12px}input,select{padding:8px}h1{font-size:23px;margin:6px 0 12px}.hero{padding:16px;margin-bottom:10px}.hero strong{font-size:32px}.cards{gap:10px;margin-bottom:14px}.card{padding:12px}.card strong{font-size:22px;margin-top:6px}th{padding:9px}td{padding:8px}.scroll{margin:10px 0}.ok{padding:8px}.balance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.balance-strip>div{background:white;border-left:4px solid var(--teal);border-radius:6px;padding:9px 12px}.balance-strip span{display:block;color:#647785;font-size:12px}.balance-strip strong{display:block;margin-top:5px;font-size:19px}.guide{padding:10px 12px}.guide li{margin:8px 0}.entry-help{padding:10px;background:#e2f2ee;border-radius:6px;line-height:1.4}dialog h2{margin-top:0}form label{margin:9px 0}@media(min-width:1100px){.balance-strip{grid-template-columns:repeat(8,minmax(0,1fr))}.balance-strip strong{font-size:16px}}@media(max-width:700px){main{padding:12px}.balance-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.hero strong{font-size:28px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:9px;font-size:11px}.card strong{font-size:15px}.toolbar{flex-wrap:wrap}.toolbar>div{display:flex;gap:7px;flex-wrap:wrap}.toolbar>div button{margin:0}}
dialog{max-height:94vh;overflow:auto;padding:20px}dialog.wide{max-width:1080px;width:96%}.buttons{position:sticky;bottom:-20px;background:white;padding:12px 0;border-top:1px solid #dce4e9;z-index:2}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.help-grid section{background:white;padding:14px;border-radius:7px;line-height:1.5}.help-grid h3{margin:0;font-size:14px}.purchase-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.purchase-meta label{grid-template-columns:140px 1fr}.category-buttons{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.category-buttons button{padding:8px;background:#e5edf2;border:none}.category-buttons .active{background:var(--teal);color:white}#purchaseGrid .scroll{max-height:42vh;overflow:auto}#purchaseGrid th{position:sticky;top:0;z-index:1}#purchaseGrid input{width:130px}#purchaseGrid td:first-child{min-width:230px}.purchase-total{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff0d6;border-radius:7px}.purchase-total strong{font-size:21px}#presenceRows .scroll{max-height:50vh}#presenceRows select{min-width:140px}small{font-size:11px;color:#647785}.toolbar p{flex:1;min-width:180px}#view>.scroll{max-height:62vh;overflow:auto}#view>.scroll th{position:sticky;top:0}#view:has(.balance-strip)>.scroll{max-height:calc(100vh - 380px)}@media(max-width:700px){.help-grid,.purchase-meta{grid-template-columns:1fr}.purchase-meta label{grid-template-columns:1fr}dialog{padding:15px}.purchase-total{font-size:12px;gap:8px}.purchase-total strong{font-size:18px}#purchaseGrid input{width:95px}#view:has(.balance-strip)>.scroll{max-height:55vh}}@media print{#view>.scroll{max-height:none!important;overflow:visible}#view>.scroll th{position:static}.help-grid{display:block}.guide,.buttons{display:none}}

.balance-section h2{font-size:13px;margin:10px 0 7px}.initial-balances .balance-strip>div{background:#fff4d8;border-left-color:#b68a22}.initial-balances .balance-strip strong{font-size:15px}.current-balances .balance-strip>div{background:#e6f3f0}.envelope-balances{padding:8px 12px;margin:9px 0}#view:has(.balance-section)>.scroll{max-height:calc(100vh - 455px);min-height:180px}@media(max-width:700px){#view:has(.balance-section)>.scroll{max-height:55vh}}

.login{max-width:560px;margin:50px auto;background:white;border-radius:12px;padding:30px}.login input{width:100%;min-width:0}a{color:#097f7b}nav button{padding:8px 10px;font-size:12px}@media print{body:has(dialog[open])>header,body:has(dialog[open])>nav,body:has(dialog[open])>main,body:has(dialog[open])>.notice{display:none}dialog[open]{position:static;width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none;border:none;padding:0}dialog .buttons,#printPurchaseNow{display:none}dialog .scroll{overflow:visible}dialog table{font-size:11px}}
