:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #334155;--text: #f1f5f9;--muted: #94a3b8;--accent: #22c55e;--accent-hover: #16a34a;--danger: #ef4444;--border: #334155}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;background:var(--panel-2);color:var(--text);transition:background .15s}button:hover{background:#475569}button.primary{background:var(--accent);color:#052e13;font-weight:600}button.primary:hover{background:var(--accent-hover)}button.danger{background:transparent;color:var(--danger);padding:4px 8px}button:disabled{opacity:.5;cursor:not-allowed}input,select{font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}.login{min-height:100%;display:grid;place-items:center;padding:24px}.login-card{background:var(--panel);padding:32px;border-radius:12px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0 0 8px;font-size:24px}.error{color:var(--danger);font-size:14px}.shell{display:grid;grid-template-rows:auto 1fr;min-height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.topbar .brand{font-weight:700;letter-spacing:.5px}.topbar nav{display:flex;gap:8px;flex-wrap:wrap}.topbar nav button{background:transparent;color:var(--muted);padding:6px 12px}.topbar nav button.active{color:var(--text);background:var(--panel-2)}.pos{display:grid;grid-template-columns:1fr 380px;gap:16px;padding:16px;height:100%;min-height:0}.user-chip{display:flex;align-items:center;gap:12px;color:var(--muted)}.pos-main,.pos-side{background:var(--panel);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0}.scan-row{display:grid;grid-template-columns:1fr auto;gap:8px}.results{overflow:auto;display:flex;flex-direction:column;gap:6px}.result-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 12px;background:var(--panel-2);border-radius:8px}.result-row .qr{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted)}.cart{flex:1;overflow:auto;display:flex;flex-direction:column;gap:6px}.cart-empty{color:var(--muted);font-style:italic;padding:16px 4px}.cart-line{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px;background:var(--panel-2);border-radius:8px}.cart-line small{color:var(--muted);font-family:ui-monospace,monospace}.totals{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:6px}.totals .line{display:flex;justify-content:space-between}.totals .grand{font-size:22px;font-weight:700}.pay-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.pay-methods button.active{background:var(--accent);color:#052e13}.badge{padding:2px 8px;border-radius:999px;font-size:11px;background:var(--panel-2);color:var(--muted)}.badge.sold{background:#7f1d1d;color:#fecaca}.badge.stock{background:#14532d;color:#bbf7d0}.placeholder{padding:40px;text-align:center;color:var(--muted)}.page{padding:16px;display:flex;flex-direction:column;gap:16px;overflow:auto;min-height:0}.card{background:var(--panel);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.card h2{margin:0;font-size:16px;font-weight:600}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.form-grid label.full{grid-column:1 / -1}.form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.success{color:var(--accent);font-size:14px}.search-row{display:flex;gap:8px;flex:1;max-width:420px}.search-row input{flex:1}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.table th{color:var(--muted);font-weight:500;background:var(--panel-2)}.table tr:last-child td{border-bottom:none}.mono{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted)}.badge.consigned{background:#1e3a8a;color:#bfdbfe}.badge.returned,.badge.expired{background:#78350f;color:#fde68a}.badge.role-gerant{background:#4c1d95;color:#ddd6fe}.badge.role-vendeur{background:#1e3a8a;color:#bfdbfe}.badge.role-stagiaire{background:var(--panel-2);color:var(--muted)}.badge.dep-active{background:#14532d;color:#bbf7d0}.badge.dep-completed{background:var(--panel-2);color:var(--muted)}.badge.dep-expired{background:#78350f;color:#fde68a}.items-draft{display:flex;flex-direction:column;gap:6px;margin-top:8px}.items-draft-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:6px;align-items:center}.items-draft-row button{padding:8px 12px}.detail-row td{background:#0f172a99;padding:12px}.detail-block{display:flex;flex-direction:column;gap:12px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:600px){.items-draft-row{grid-template-columns:1fr 1fr auto}.items-draft-row input:first-child{grid-column:1 / -1}}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}.hint{font-size:13px;color:var(--muted);margin:0;padding:8px 12px;background:var(--panel-2);border-radius:6px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:960px){.pos{grid-template-columns:1fr;grid-template-rows:auto auto;overflow:auto;height:auto}.pos-main,.pos-side{min-height:auto}.cart{max-height:320px}}@media(max-width:768px){.topbar{padding:10px 14px}.topbar nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:thin}.topbar nav button{flex:0 0 auto;white-space:nowrap}.user-chip{font-size:13px}.form-grid{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:stretch}.search-row{max-width:none}.page{padding:12px}.pos{padding:12px;gap:12px}.pos-main,.pos-side{padding:12px}}@media(max-width:480px){.topbar{padding:8px 10px;gap:8px}.topbar .brand{font-size:14px}.user-chip{gap:8px}.user-chip span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button{padding:10px 12px}.pay-methods{grid-template-columns:1fr}.totals .grand{font-size:18px}.table th,.table td{padding:8px}}
