:root{--color-primary: #e0212a;--color-primary-dark: #b81b23;--color-gold: #b7902f;--color-gold-light: #f6ecd7;--color-ink: #1c1917;--color-dark: #14110e;--color-bg: #f7f5f2;--color-surface: #ffffff;--color-border: #e7e2da;--color-muted: #756f66;--font-display: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--color-dark);color:var(--color-ink)}#root{max-width:480px;margin:0 auto;min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}main{flex:1;padding:16px 16px 80px}h1{font-family:var(--font-display);font-size:1.3rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;margin:0 0 16px;color:var(--color-ink)}strong{font-family:var(--font-display);font-weight:700}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:16px;margin-bottom:12px}.card.alert{border-color:var(--color-primary);background:#fdeceb}button,.button{display:inline-block;background:var(--color-primary);color:#fff;border:none;border-radius:10px;padding:12px 20px;font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.01em;cursor:pointer;text-align:center;text-decoration:none;width:100%;transition:background-color .15s ease}button:hover:not(:disabled),.button:hover{background:var(--color-primary-dark)}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--color-surface);color:var(--color-dark);border:1.5px solid #d8d2c8}button.secondary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-dark)}button.danger{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}button.danger:hover:not(:disabled){background:#fdeceb}input,select{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-body);font-size:1rem;margin-bottom:10px;background:var(--color-surface);color:var(--color-ink)}input:focus,select:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-light)}label{display:block;font-size:.8rem;font-weight:600;margin-bottom:4px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.field{margin-bottom:12px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.badge.active{background:#e3f7e8;color:#1c8a3c}.badge.pending_payment,.badge.pending{background:var(--color-gold-light);color:var(--color-gold)}.badge.cancelled,.badge.inactive,.badge.aucun{background:#f0eee9;color:var(--color-muted)}.app-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;min-height:76px;background:var(--color-dark)}.app-header__title{text-align:center;font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-gold)}.app-header__icon-clip{width:58px;height:48px;overflow:hidden;display:flex;align-items:center;flex-shrink:0}.app-header__icon-clip img{height:48px;width:auto;max-width:none;display:block}nav.tabbar{display:flex;border-top:1px solid #2a241d;background:var(--color-dark);position:sticky;bottom:0}nav.tabbar a{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;min-height:64px;padding:12px 4px;font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#a39a8d;text-decoration:none;transition:background-color .15s ease,color .15s ease}nav.tabbar a.active{color:var(--color-gold);background:#b7902f1f}.error{color:var(--color-primary);font-size:.9rem;margin:8px 0}.muted{color:var(--color-muted);font-size:.9rem}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);min-width:240px;max-width:90vw;padding:12px 20px;border-radius:8px;color:#fff;font-family:var(--font-display);font-size:.9rem;font-weight:600;text-align:center;box-shadow:0 4px 16px #00000040;z-index:200;animation:toast-in .2s ease-out}.toast.success{background:#1c8a3c}.toast.error{background:var(--color-primary)}
