:root{--color-bg:#f7f7f5;--color-surface:#fff;--color-text:#1f2430;--color-muted:#6b7280;--color-primary:#7a1f2b;--color-primary-hover:#5e1620;--color-secondary:#2b2f38;--color-border:#d8d8d4;--color-error:#b3261e;--color-paid-bg:#eef7f0;--color-paid-border:#bfe3c9;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-primary);color:#fff;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;box-shadow:0 2px 6px #00000026}.app-header-brand{align-items:center;gap:.75rem;display:flex}.app-header-shield{border-radius:4px;flex-shrink:0;width:auto;height:2.5rem}.app-header h1{text-align:left;margin:0;font-size:1.1rem}.app-main{flex:1;justify-content:center;padding:1rem;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:480px;padding:1.25rem}.card-wide{max-width:720px}form{flex-direction:column;gap:.75rem;display:flex}label{font-size:.9rem;font-weight:600}input:not([type=checkbox],[type=radio]){border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);border-radius:8px;padding:.6rem;font-size:1rem}input:not([type=checkbox],[type=radio]):focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #7a1f2b26}.date-parts{gap:.5rem;display:flex}.date-parts input{text-align:center;flex:none;width:3.5rem}.date-parts input.date-part-year{width:5rem}fieldset{border:1px solid var(--color-border);border-radius:8px;gap:1rem;display:flex}.checkbox{align-items:flex-start;gap:.5rem;font-weight:400;display:flex}.option-description{color:var(--color-muted);font-size:.85rem}button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.65rem 1rem;font-size:1rem}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){background:var(--color-primary-hover)}.wizard-nav{flex-wrap:wrap;gap:.5rem;display:flex}.wizard-nav button[type=button]:first-child{background:var(--color-secondary)}.wizard-nav-back{background:var(--color-secondary);order:-1}.wizard-step-indicator{color:var(--color-muted);margin:0 0 .5rem;font-size:.85rem}.error{color:var(--color-error);font-size:.9rem}.hint{background:#fff4e5;border:1px solid #f0c987;border-radius:8px;padding:.5rem;font-size:.9rem}.total-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:.35rem;margin:1rem 0;padding:.75rem 1rem;display:flex}.total-line{color:var(--color-muted);justify-content:space-between;gap:1rem;display:flex}.total-line.total-line-final{border-top:1px solid var(--color-border);color:var(--color-text);margin-top:.25rem;padding-top:.5rem;font-size:1.15rem;font-weight:700}.payment-actions{flex-direction:column;align-items:flex-start;gap:.5rem;margin:1rem 0;display:flex}.button-row{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.muted-note{color:var(--color-muted);margin:0;font-size:.85rem}.info-box{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-muted);border-radius:8px;margin:1rem 0;padding:.75rem 1rem;font-size:.85rem}.info-box p{margin:0 0 .4rem}.info-box ul{margin:0;padding-left:1.1rem}.info-box p:last-child,.info-box ul:last-child{margin-bottom:0}.legal-note{color:var(--color-muted);margin:4rem 0 0;font-size:.85rem}.page-loading{text-align:center;padding:2rem}.tireur-list,.summary-list{flex-direction:column;gap:.4rem;padding:0;list-style:none;display:flex}.tireur-row{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.4rem;display:flex}.row-actions{flex-shrink:0;gap:.4rem;display:inline-flex}.row-actions button{padding:.35rem .6rem;font-size:.85rem}button.danger{background:var(--color-error)}button.danger:hover:not(:disabled){background:#8c1d17}.modal-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:12px;width:100%;max-width:380px;padding:1.25rem;box-shadow:0 8px 24px #0000004d}.modal h3{margin-top:0}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.modal-actions button:first-child{background:var(--color-secondary)}section+section{margin-top:1.5rem}.compte-section{border:1px solid var(--color-border);border-radius:8px;margin-top:1rem;padding:.75rem 1rem}.compte-section-paid{background:var(--color-paid-bg);border-color:var(--color-paid-border)}.compte-section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.compte-section-header h3{word-break:break-all;margin:0;font-size:1rem}.compte-section .tireur-row:last-child{border-bottom:none;padding-bottom:0}.compte-reste{color:var(--color-primary);white-space:nowrap;font-weight:700}.badge{white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-paid{background:var(--color-paid-border);color:#1c5b34}.receipt-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:0;display:flex}.receipt-row:hover:not(:disabled){color:var(--color-primary);background:0 0}.cart-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.cart-item{border:1px solid var(--color-border);border-radius:8px;padding:.6rem .75rem}.cart-item-paid{background:var(--color-bg);color:var(--color-muted)}.cart-item-head{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.cart-item-paid .cart-item-head{cursor:not-allowed}.cart-item-name{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;font-weight:700;display:flex}.cart-item-cost{white-space:nowrap;font-weight:700}.cart-item-lines{color:var(--color-muted);margin:.25rem 0 0 1.6rem;padding:0;font-size:.85rem;list-style:none}.payment-group{border-top:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.payment-group-title{font-size:.9rem;font-weight:600}.payment-row{align-items:center;gap:.4rem;display:flex}.payment-row button{flex-shrink:0;padding:.5rem .7rem;line-height:1}.payment-group>button{align-self:flex-start}button.secondary{background:var(--color-secondary)}button.secondary:hover:not(:disabled){background:#16191f}.total-line-unbalanced span:last-child{color:var(--color-primary)}.app-burger{flex-shrink:0;position:relative}.app-burger-button{color:#fff;background:0 0;border:1px solid #fff9;padding:.4rem .7rem;font-size:1.1rem;line-height:1}.app-burger-button:hover{background:#ffffff26}.app-burger-dropdown{background:var(--color-surface);border:1px solid var(--color-border);z-index:10;border-radius:8px;flex-direction:column;min-width:200px;display:flex;position:absolute;top:calc(100% + .4rem);right:0;overflow:hidden;box-shadow:0 4px 12px #00000040}.app-burger-dropdown button{color:var(--color-text);text-align:left;background:0 0;border:none;border-radius:0;padding:.65rem 1rem}.app-burger-dropdown button:hover{background:var(--color-bg)}@media (width>=768px){.card{max-width:640px;padding:2rem}.card-wide{max-width:860px}.app-header h1{font-size:1.4rem}}
