:root {
    --sd-page-bg:#f6f9fc;
    --sd-border:#e3e9f2;
    --sd-brand:#0f766e;
    --sd-brand-dark:#0b4f4a;
    --sd-accent:#dfa667;
    --sd-muted:#5d6678;
}

* { box-sizing:border-box; }

body {
    margin:0;
    font-family:"Poppins","Segoe UI",Arial,sans-serif;
    background:linear-gradient(180deg,#fff 0%,var(--sd-page-bg) 58%,#eef7f6);
    color:#101828;
}

.sd-topbar { border-bottom:1px solid var(--sd-border); background:#fff; }
.sd-topbar-inner { width:min(1180px,100%); margin:0 auto; padding:16px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.sd-brand { display:inline-flex; align-items:center; gap:10px; color:var(--sd-brand-dark); font-family:"Aldrich","Segoe UI",Arial,sans-serif; font-size:22px; text-decoration:none; }
.sd-brand img { width:38px; height:38px; object-fit:contain; border-radius:8px; }
.sd-nav { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.sd-nav a { color:var(--sd-brand-dark); border:1px solid #b7d7d4; border-radius:6px; background:#eef7f6; font-size:12px; font-weight:900; line-height:1; padding:9px 12px; text-decoration:none; }
.sd-nav a:hover { border-color:var(--sd-brand); color:var(--sd-brand-dark); }
.sd-nav a.sd-home-link { position:relative; display:inline-flex; align-items:center; gap:7px; min-height:34px; background:linear-gradient(180deg,#fff 0%,#eef7f6 100%); box-shadow:0 8px 18px rgba(12,95,90,.12); font-size:11px; letter-spacing:.5px; padding:8px 12px; }
.sd-nav a.sd-home-link:before { content:""; display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:var(--sd-brand); box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); }
.sd-nav a.sd-home-link:after { content:""; position:absolute; left:18px; top:50%; width:6px; height:6px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:translateY(-50%) rotate(45deg); }
.sd-nav a.sd-home-link:hover { border-color:var(--sd-brand); box-shadow:0 10px 24px rgba(12,95,90,.18); transform:translateY(-1px); }
.sd-shell { width:min(1080px,100%); margin:0 auto; padding:24px 22px 42px; }
.sd-header p { max-width:760px; color:var(--sd-muted); font-weight:600; }
.sd-eyebrow { margin:0 0 8px; color:var(--sd-accent); font-size:12px; font-weight:900; text-transform:uppercase; }
h1 { margin:0 0 8px; font-family:"Aldrich","Segoe UI",Arial,sans-serif; font-size:30px; font-weight:400; }
h2 { margin:0 0 12px; font-size:20px; }
.sd-panel { margin-top:18px; background:#fff; border:1px solid var(--sd-border); border-radius:8px; box-shadow:0 16px 38px rgba(16,24,40,.09); padding:22px; }
.sd-grid { width:100%; border-collapse:collapse; table-layout:fixed; }
.sd-grid th,.sd-grid td { border-bottom:1px solid #edf1f6; padding:10px 11px; text-align:left; vertical-align:top; overflow-wrap:anywhere; font-size:13px; }
.sd-grid th { color:#475569; font-size:12px; font-weight:800; text-transform:uppercase; background:#eef7f6; }
.sd-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.sd-table-wrap { overflow-x:auto; background:#fff; border:1px solid var(--sd-border); border-radius:8px; box-shadow:0 14px 30px rgba(16,24,40,.08); }
.sd-history-table { width:100%; min-width:900px; border-collapse:collapse; table-layout:auto; }
.sd-history-table th,.sd-history-table td { border-bottom:1px solid var(--sd-border); padding:13px 14px; text-align:left; vertical-align:top; color:#334155; overflow-wrap:anywhere; font-size:13px; font-weight:600; }
.sd-history-table th { color:#334155; font-size:12px; font-weight:900; text-transform:uppercase; background:#f8fafc; }
.sd-status-paid { color:#047857; font-weight:900; }
.sd-status-pending { color:#92400e; font-weight:900; }
.sd-receipt-link { color:var(--sd-brand); font-weight:900; text-decoration:none; }
.sd-download-button { display:inline-flex; align-items:center; justify-content:center; min-height:34px; border:0; border-radius:4px; background:var(--sd-brand); color:#fff; font-size:12px; font-weight:900; padding:8px 12px; text-decoration:none; white-space:nowrap; }
.sd-download-button.disabled { background:#cbd5e1; color:#475569; pointer-events:none; }
.sd-empty { padding:26px; background:#fff; border:1px solid var(--sd-border); border-radius:8px; color:#64748b; font-weight:700; }
.sd-field { margin-bottom:13px; }
label { display:block; margin-bottom:6px; color:#334155; font-size:13px; font-weight:800; }
input[type="text"], input[type="password"], input[type="email"], input[type="file"], textarea, select { width:100%; min-height:38px; border:1px solid #b8c5d3; border-radius:7px; padding:9px 11px; background:#fff; color:#101828; font:inherit; font-size:13px; }
textarea { min-height:120px; resize:vertical; }
.sd-button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; border:0; border-radius:4px; background:var(--sd-brand); color:#fff; font-size:13px; font-weight:900; padding:0 14px; cursor:pointer; text-decoration:none; box-shadow:0 10px 24px rgba(15,118,110,.16); }
.sd-button:hover { background:var(--sd-brand-dark); color:#fff; text-decoration:none; }
.sd-secondary { background:var(--sd-accent); }
.sd-message { display:block; margin:10px 0; color:#334155; font-weight:800; }
.sd-message.error { color:#b42318; }
.sd-message.success { color:#047857; }
.sd-answer { white-space:pre-wrap; border:1px solid #dbe7e5; border-radius:8px; background:#f8fafc; padding:14px; line-height:1.6; }
.sd-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sd-plan { border:1px solid var(--sd-border); border-radius:8px; padding:18px; background:#f8fafc; }
.sd-plan strong { display:block; font-size:26px; color:var(--sd-brand-dark); }
.sd-receipt-shell { width:min(820px,100%); margin:0 auto; padding:28px 22px 42px; }
.sd-receipt { background:#fff; border:1px solid var(--sd-border); border-radius:8px; box-shadow:0 16px 38px rgba(16,24,40,.09); overflow:hidden; }
.sd-receipt-head { padding:22px; border-top:4px solid var(--sd-accent); border-bottom:1px solid var(--sd-border); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.sd-receipt-brand { display:inline-flex; align-items:center; gap:10px; color:var(--sd-brand-dark); font-family:"Aldrich","Segoe UI",Arial,sans-serif; font-size:22px; }
.sd-receipt-brand img { width:38px; height:38px; object-fit:contain; border-radius:8px; }
.sd-receipt-body { padding:22px; }
.sd-receipt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sd-receipt-item { border:1px solid var(--sd-border); border-radius:8px; padding:14px; background:#f8fafc; }
.sd-receipt-item span { display:block; color:var(--sd-muted); font-size:12px; font-weight:900; text-transform:uppercase; }
.sd-receipt-item strong { display:block; margin-top:4px; overflow-wrap:anywhere; }
.sd-receipt-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
@media print { .sd-receipt-actions { display:none; } body { background:#fff; } }
@media (max-width:640px) { .sd-receipt-head { align-items:flex-start; flex-direction:column; } .sd-receipt-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .sd-topbar-inner { align-items:flex-start; flex-direction:column; } .sd-form-grid,.sd-plans { grid-template-columns:1fr; } }
