*,:after,:before{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;line-height:1.5;color:#1e293b;background:#f8fafc}a{color:#0f766e}.local-banner{margin:0;padding:.75rem 1.5rem;background:#fef3c7;color:#92400e;font-weight:600;font-size:.875rem;border-bottom:1px solid #fcd34d}.public-page{padding:2rem 1.5rem 3rem;max-width:960px;margin:0 auto}.public-hero{margin-bottom:2.5rem}.public-eyebrow{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#0f766e;text-transform:uppercase;letter-spacing:.04em}.public-lead{max-width:42rem;color:#475569}.public-section-header{margin-bottom:1.5rem}.public-section h2{margin-top:0}.detail-actions,.public-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.25rem}.btn{display:inline-block;padding:.625rem 1rem;border-radius:.5rem;font-weight:600;text-decoration:none;border:1px solid transparent}.btn-primary{background:#0f766e;color:#fff}.btn-secondary{background:#fff;color:#0f766e;border-color:#99f6e4}.btn-disabled,.btn-disabled:disabled{background:#e2e8f0;color:#64748b;border-color:#cbd5e1;cursor:not-allowed}.checkout-page{padding:2rem 1.5rem 3rem;max-width:720px;margin:0 auto}.checkout-lead{color:#475569}.checkout-notice{margin:0;padding:.75rem 1.5rem;background:#fee2e2;color:#991b1b;border-bottom:1px solid #fecaca;font-size:.875rem}.checkout-status-grid{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:1.5rem 0}.checkout-status-grid dt{font-weight:600;color:#64748b}.checkout-status-grid dd{margin:0}.checkout-line-items{list-style:none;padding:0;margin:1.5rem 0}.checkout-line-item{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.75rem}.checkout-qty{display:block;font-size:.875rem;color:#64748b}.checkout-line-prices{text-align:right;font-size:.875rem}.checkout-subtotal{font-size:1.0625rem}.checkout-payment-panel{margin:1.5rem 0;padding:1rem 1.25rem;background:#f1f5f9;border:1px dashed #94a3b8;border-radius:.5rem}.checkout-payment-panel h2{margin-top:0;font-size:1rem}.checkout-meta{font-size:.875rem;color:#64748b}.member-page{padding:2rem 1.5rem 3rem;max-width:720px;margin:0 auto}.member-lead{color:#475569}.member-notice{margin:0;padding:.75rem 1.5rem;background:#dbeafe;color:#1e40af;border-bottom:1px solid #93c5fd;font-size:.875rem}.member-status-grid{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:1.5rem 0}.member-status-grid dt{font-weight:600;color:#64748b}.member-status-grid dd{margin:0}.member-dashboard-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:1.5rem 0}.member-card{padding:1rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem}.member-card h2{margin-top:0;font-size:1rem}.member-meta{display:block;font-size:.875rem;color:#64748b}.member-link-list{margin:0;padding-left:1.25rem}.member-cert-list,.member-course-list{list-style:none;padding:0;margin:1.5rem 0}.member-cert-item,.member-course-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.75rem}.member-course-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#64748b;text-align:right}.member-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:999px;background:#e2e8f0;color:#475569}.member-badge-completed{background:#d1fae5;color:#065f46}.member-badge-available{background:#dbeafe;color:#1e40af}.member-badge-upcoming{background:#fef3c7;color:#92400e}.member-login-panel,.member-profile-panel{margin:1.5rem 0;padding:1rem 1.25rem;background:#f1f5f9;border:1px dashed #94a3b8;border-radius:.5rem}.member-login-panel h2,.member-profile-panel h2{margin-top:0;font-size:1rem}.member-field{display:block;margin-bottom:1rem}.member-field span{display:block;margin-bottom:.35rem;font-size:.875rem;font-weight:600;color:#64748b}.member-field input{width:100%;max-width:24rem;padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:.375rem;background:#f8fafc}.admin-page{padding:2rem 1.5rem 3rem;max-width:800px;margin:0 auto}.admin-lead{color:#475569}.admin-notice{margin:0;padding:.75rem 1.5rem;background:#fce7f3;color:#9d174d;border-bottom:1px solid #f9a8d4;font-size:.875rem}.admin-status-grid{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:1.5rem 0}.admin-status-grid dt{font-weight:600;color:#64748b}.admin-status-grid dd{margin:0}.admin-dashboard-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:1.5rem 0}.admin-card{padding:1rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem}.admin-card h2{margin-top:0;font-size:.9375rem}.admin-metric-value{font-size:1.5rem;font-weight:700;margin:.25rem 0}.admin-meta{display:block;font-size:.875rem;color:#64748b}.admin-table-list{list-style:none;padding:0;margin:1.5rem 0}.admin-table-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.75rem}.admin-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;font-size:.875rem}.admin-badge{display:inline-block;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:999px;background:#e2e8f0;color:#475569}.admin-badge-fixture-paid,.admin-badge-published-placeholder{background:#d1fae5;color:#065f46}.admin-badge-draft-placeholder,.admin-badge-fixture-pending{background:#fef3c7;color:#92400e}.admin-badge-completed-placeholder,.admin-badge-fixture-cancelled{background:#e2e8f0;color:#475569}.admin-export-panel,.admin-login-panel,.admin-settings-panel{margin:1.5rem 0;padding:1rem 1.25rem;background:#f1f5f9;border:1px dashed #94a3b8;border-radius:.5rem}.admin-export-panel h2,.admin-login-panel h2{margin-top:0;font-size:1rem}.admin-field{display:block;margin-bottom:1rem}.admin-field span{display:block;margin-bottom:.35rem;font-size:.875rem;font-weight:600;color:#64748b}.admin-field input[type=email],.admin-field input[type=text]{width:100%;max-width:24rem;padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:.375rem;background:#f8fafc}.admin-export-list{list-style:none;padding:0;margin:0 0 1rem}.admin-export-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.admin-export-list li:last-child{border-bottom:none}.text-link{display:inline-block;margin-top:.75rem}.course-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.course-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem 1.25rem}.course-card-topic{margin:0 0 .25rem;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase}.course-card-title{margin:0 0 .5rem;font-size:1.125rem}.course-card-title a{color:#0f172a;text-decoration:none}.course-card-desc{margin:0 0 .75rem;color:#475569;font-size:.9375rem}.course-card-meta{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0 0 .75rem;font-size:.875rem}.course-card-meta dt{font-weight:600;color:#64748b}.course-card-meta dd{margin:0}.course-card-status{margin:0 0 .75rem;font-size:.8125rem;color:#64748b}.course-card-link{font-weight:600}.detail-meta{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;max-width:28rem;margin:1.5rem 0}.detail-meta dt{font-weight:600;color:#64748b}.detail-meta dd{margin:0}.checkout-disabled{font-size:.875rem;color:#64748b;font-style:italic}.empty-state{padding:2rem;background:#fff;border:1px dashed #cbd5e1;border-radius:.75rem;color:#64748b}.scaffold-banner{margin:0;padding:.75rem 1.5rem;background:#fef3c7;color:#92400e;font-weight:600;font-size:.875rem;border-bottom:1px solid #fcd34d}.scaffold-main{padding:2rem 1.5rem;max-width:42rem}.scaffold-main h1{margin-top:0;font-size:1.5rem}.scaffold-meta{color:#64748b;font-size:.875rem}@media (max-width:640px){.public-page{padding:1.25rem 1rem 2rem}}