.zrs-box { border: 1px solid var(--border-light, #e2e2e2); border-radius: 8px; padding: 1.5rem; margin: 1.5rem 0; }
.zrs-box h3 { margin-top: 0; }
.zrs-table { width: 100%; border-collapse: collapse; margin: .75rem 0; }
.zrs-table th, .zrs-table td { padding: .5rem .6rem; border-bottom: 1px solid #e6e6e6; text-align: left; }
.zrs-table .zrs-num { text-align: right; white-space: nowrap; }
.zrs-table tfoot th { border-top: 2px solid #333; border-bottom: none; }

.zrs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1rem 0; }
.zrs-grid label { display: flex; flex-direction: column; font-size: .9rem; gap: .3rem; }
.zrs-grid input { padding: .5rem; border: 1px solid #ccc; border-radius: 4px; }

.zrs-btn { padding: .6rem 1.2rem; border: 0; border-radius: 4px; background: #1a4f8b; color: #fff; cursor: pointer; }
.zrs-btn:hover { background: #143c6b; }

.zrs-notice { padding: .75rem 1rem; border-radius: 4px; background: #f3f4f6; }
.zrs-notice.zrs-ok { background: #e6f4ea; }
.zrs-notice.zrs-ko { background: #fdecea; }
.zrs-ok { color: #00792a; }
.zrs-ko { color: #b32d2e; }
.zrs-muted { color: #666; font-weight: 400; }

.zrs-commande { border: 1px solid #eee; border-radius: 6px; padding: 1rem; margin-bottom: 1rem; }
.zrs-commande-head { display: flex; justify-content: space-between; align-items: center; }
.zrs-grand-total { font-size: 1.1rem; border-top: 2px solid #333; padding-top: .75rem; }
