*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#faf9f7;--color-surface:#fff;--color-border:#e8e2d9;--color-text:#1a1a1a;--color-text-muted:#6b6560;--color-primary:#0055b3;--color-primary-hover:#003d82;--color-primary-light:#e6f0fa;--color-accent:#f0a500;--color-success:#2d7a4f;--color-success-bg:#eaf5ef;--color-warning:#b45309;--color-warning-bg:#fef3e2;--color-danger:#c0392b;--color-danger-bg:#fdecea;--color-pending:#6b6560;--color-pending-bg:#f0eeec;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 28px #0000001f;--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--font-serif:Georgia, "Times New Roman", serif}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}img{max-width:100%;display:block}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.btn{border-radius:var(--radius-sm);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,opacity .2s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-primary-light)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#a93226}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#236040}.btn:disabled{opacity:.6;cursor:not-allowed}.badge{text-transform:capitalize;border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-pending{background:var(--color-pending-bg);color:var(--color-pending)}.badge-confirmed{background:var(--color-success-bg);color:var(--color-success)}.badge-cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.badge-paid{background:var(--color-success-bg);color:var(--color-success)}.badge-failed{background:var(--color-danger-bg);color:var(--color-danger)}.badge-unpaid{background:var(--color-pending-bg);color:var(--color-pending)}
