/* Ported from the HTML prototype. Theme color = Sindur Jatra vermilion. */
:root{
  --bg:#ffffff; --line:#ececec; --ink:#111111; --ink-soft:#8a8a8a; --ink-faint:#c4c4c4;
  --marigold:#d6401f; --marigold-soft:#fce6de; --sat:#c4534a;
  --teal:#2e6b63; --teal-soft:#e9f2f0;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{ background:var(--bg); font-family:'Inter', sans-serif; color:var(--ink); min-height:100vh; -webkit-font-smoothing:antialiased; }
.app{ max-width:1180px; margin:0 auto; padding:0 20px 90px; }

.top-accent{ height:3px; margin:0 -20px; background:linear-gradient(90deg, #d6401f, #eb7a4a, #d6401f); }
.navbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 -20px; padding:15px 20px; position:sticky; top:0; z-index:30; background:rgba(255,255,255,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.nav-brand{ display:flex; align-items:center; gap:8px; font-weight:800; font-size:14.5px; text-decoration:none; color:var(--ink); }
.brand-mark{ width:10px; height:10px; border-radius:50%; background:var(--marigold); box-shadow:0 0 0 3px var(--marigold-soft); }
.nav-links{ display:none; flex:1; gap:24px; }
.nav-links a{ text-decoration:none; font-size:12.5px; font-weight:600; color:var(--ink-soft); padding:4px 0; border-bottom:2px solid transparent; }
.nav-links a.active{ color:var(--ink); border-color:var(--marigold); }
.nav-cta{ background:var(--ink); color:#fff; border:none; border-radius:999px; padding:8px 15px; font-size:11px; font-weight:700; text-decoration:none; }
@media (min-width:720px){ .nav-links{ display:flex; } }

.hero-lp{ padding:34px 0 6px; }
@media (min-width:720px){ .hero-lp{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; padding:56px 0 20px; } }
.hero-headline{ font-size:27px; font-weight:800; line-height:1.16; margin-bottom:10px; }
.hero-headline em{ color:var(--marigold); font-style:normal; }
.hero-sub{ font-size:13px; color:var(--ink-soft); line-height:1.6; max-width:360px; margin-bottom:26px; }
.stat-row{ display:flex; gap:22px; margin:22px 0 6px; flex-wrap:wrap; }
.stat-num{ font-size:21px; font-weight:800; color:var(--marigold); line-height:1; }
.stat-label{ font-size:9.5px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; font-weight:700; margin-top:4px; }

.hero-banner{ position:relative; overflow:hidden; color:#fff; border-radius:18px; padding:26px 20px 20px; min-height:190px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; }
.hero-eyebrow{ display:inline-flex; align-items:center; gap:7px; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; background:rgba(255,255,255,0.18); padding:6px 11px; border-radius:999px; width:fit-content; margin-bottom:14px; }
.pulse-dot{ width:6px; height:6px; border-radius:50%; background:#fff; animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.4; transform:scale(1.4);} }
.hero-title{ font-weight:700; font-size:22px; line-height:1.15; }
.hero-sub-title{ font-size:12.5px; opacity:.88; margin-top:3px; }
.hero-meta{ font-size:12px; opacity:.92; margin-top:12px; line-height:1.5; max-width:300px; }

.insight{ background:var(--teal-soft); border-radius:14px; padding:14px 16px; margin-bottom:18px; display:flex; gap:10px; align-items:flex-start; }
.ins-label{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--teal); }
.ins-text{ font-size:12.5px; color:#1e453f; line-height:1.5; margin-top:3px; }

.section-heading{ font-size:19px; font-weight:800; }
.section-sub{ font-size:12.5px; color:var(--ink-soft); margin-top:5px; line-height:1.5; }

.sheet-loc{ font-size:11px; color:var(--marigold); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.sheet-name{ font-weight:700; font-size:22px; margin-top:8px; }
.sheet-date{ display:inline-block; margin-top:12px; font-size:11.5px; font-weight:600; background:var(--marigold-soft); color:#8a5a0f; padding:5px 12px; border-radius:999px; }
.sheet-block{ margin-top:20px; }
.sheet-block h4{ font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); margin:0 0 8px; }
.sheet-block p{ font-size:13.5px; line-height:1.6; }
.chip-row{ display:flex; flex-wrap:wrap; gap:6px; }
.chip{ font-size:11.5px; border:1px solid var(--line); border-radius:999px; padding:5px 11px; color:var(--ink-soft); }
ul.plan-list{ margin:0; padding-left:18px; font-size:13.5px; line-height:1.7; }
.fest-row{ display:flex; align-items:center; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; }
.fr-name{ font-weight:600; font-size:13.5px; }
.fr-when{ font-size:10.5px; color:var(--ink-faint); margin-top:2px; }
.fr-arrow{ color:var(--ink-faint); }

.btn-primary{ background:var(--marigold); color:#fff; border:none; border-radius:8px; padding:9px 16px; font-size:12.5px; font-weight:600; cursor:pointer; text-decoration:none; display:inline-block; }
.btn-ghost{ background:none; border:none; color:var(--ink-soft); font-size:11.5px; font-weight:600; cursor:pointer; text-decoration:underline; }

.auth-card{ max-width:360px; margin:60px auto; }
.auth-form{ display:flex; flex-direction:column; gap:14px; margin-top:20px; }
.auth-form label, .content-form label{ display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:600; color:var(--ink-soft); }
.auth-form input, .content-form input, .content-form select, .content-form textarea{
  border:1px solid var(--line); border-radius:8px; padding:9px 10px; font-family:'Inter', sans-serif; font-size:13px; color:var(--ink);
}
.content-form{ display:flex; flex-direction:column; gap:14px; max-width:560px; }
.remember-row{ font-size:12px; color:var(--ink-soft); display:flex; align-items:center; gap:6px; }
.flash-status{ background:var(--teal-soft); color:var(--teal); padding:10px 14px; border-radius:10px; font-size:12.5px; margin:16px 0; }
.flash-error{ background:#fce6de; color:#a3341c; padding:10px 14px; border-radius:10px; font-size:12.5px; margin-bottom:12px; }

.dash-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.dash-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; flex-wrap:wrap; }
.dash-row-name{ font-weight:600; font-size:14px; }
.dash-row-meta{ font-size:11.5px; color:var(--ink-faint); margin-top:2px; }
.dash-row-actions{ display:flex; gap:12px; font-size:12px; }
.dash-row-actions a, .link-btn{ color:var(--marigold); text-decoration:none; background:none; border:none; font-size:12px; cursor:pointer; font-family:'Inter', sans-serif; }
.review-note{ width:100%; font-size:11.5px; background:var(--marigold-soft); color:#8a5a0f; padding:8px 12px; border-radius:8px; margin-top:8px; }

.status-badge{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:4px 10px; border-radius:999px; }
.status-draft{ background:#f2f2f2; color:var(--ink-soft); }
.status-pending_review{ background:var(--marigold-soft); color:#8a5a0f; }
.status-published{ background:var(--teal-soft); color:var(--teal); }

.review-actions{ display:flex; flex-direction:column; gap:16px; margin-top:28px; max-width:420px; }
.reject-form{ display:flex; flex-direction:column; gap:8px; }
.reject-form textarea{ border:1px solid var(--line); border-radius:8px; padding:10px; font-family:'Inter', sans-serif; font-size:12.5px; min-height:70px; }

.site-footer{ margin-top:52px; padding:28px 0 6px; border-top:1px solid var(--line); text-align:center; }
.f-brand{ font-weight:800; font-size:13px; }
.f-tag{ font-size:11px; color:var(--ink-faint); margin-top:8px; max-width:280px; margin:8px auto 0; }
.empty-note{ font-size:12.5px; color:var(--ink-faint); padding:20px 4px; text-align:center; }
