:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}body{font-family:sans-serif;background:#f5f5f0;color:#333;overflow-x:hidden}.app{display:flex;height:100vh;max-width:100vw;overflow-x:hidden;position:relative;flex-direction:column}.main{flex:1;display:flex;flex-direction:column;overflow:auto;min-width:0;width:100%}.sidebar{position:fixed;top:0;left:0;height:100vh;width:260px;background:#fff;border-right:1px solid #e5e5e0;display:flex;flex-direction:column;overflow-y:auto;z-index:200;transform:translate(-100%);transition:transform .25s ease;box-shadow:2px 0 16px #00000026}.sidebar.ouverte{transform:translate(0)}.sidebar-logo{padding:16px;border-bottom:1px solid #e5e5e0}.nav-section{font-size:10px;font-weight:600;color:#aaa;letter-spacing:.08em;text-transform:uppercase;padding:14px 16px 4px}.nav-item{display:flex;align-items:center;gap:8px;padding:9px 16px;font-size:13px;color:#555;cursor:pointer}.nav-item.sous-item{padding-left:28px;font-size:12px;color:#666;border-left:2px solid #e5e5e0;margin-left:16px;margin-right:8px;border-radius:0 6px 6px 0}.nav-item:hover{background:#f5f5f0;color:#333}.nav-item.active{background:#e8f0fe;color:#1a56db;font-weight:500}.topbar{background:#fff;border-bottom:1px solid #e5e5e0;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.topbar h1{font-size:18px;font-weight:600;color:#1a1a1a}.btn{padding:7px 16px;border-radius:8px;font-size:13px;cursor:pointer;border:1px solid #ddd;background:#fff;color:#555}.btn:hover{background:#f5f5f0}.content{flex:1;overflow:auto;padding:20px 24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-card{background:#fff;border-radius:10px;border:1px solid #e5e5e0;padding:14px 18px}.stat-card label{font-size:12px;color:#888;display:block}.stat-card span{font-size:24px;font-weight:600;color:#1a1a1a}.ticket-caisse{display:none}table{width:auto;border-collapse:collapse;font-size:13px;table-layout:auto}thead tr{background:#f9f9f7}th{padding:7px 12px;text-align:left;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;border:1px solid #ddd6c8;white-space:nowrap}td{padding:4px 12px;color:#333;border:1px solid #ddd6c8;white-space:nowrap}tbody tr:nth-child(2n) td{background:#f6f6f1}tbody tr:nth-child(odd) td{background:#fff}tr:hover td{background:#eaf1ff}@media print{.sidebar{display:none!important}body *{visibility:hidden}.ticket-caisse,.ticket-caisse *{visibility:visible}.ticket-caisse{display:block;position:absolute;top:0;left:0;width:80mm;font-family:Courier New,monospace;font-size:12px}.ticket-header,.ticket-merci,.ticket-date{text-align:center}.ticket-lignes,.ticket-tva{width:100%;border-collapse:collapse;margin-top:6px}.right{text-align:right}.ticket-total-ligne{display:flex;justify-content:space-between;font-weight:700;margin-top:4px}.ticket-ref,.ticket-table{margin-top:6px}@page{margin:0;size:80mm auto}}.mobile-topbar{display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid #e5e5e0;padding:10px 16px;flex-shrink:0}.mobile-topbar button{background:none;border:1px solid #ddd;border-radius:8px;font-size:18px;padding:4px 10px;cursor:pointer;color:#1a1a1a}.sidebar-overlay{display:none}.sidebar-overlay.visible{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;touch-action:none}.sidebar{z-index:1001}@media (max-width: 768px){.content{padding:14px}}
