/* ============================================================
   BackendSide design system — kept in sync with the main site's
   header.php inline <style>. Do not diverge: edit both together.
   ============================================================ */
:root{--white:#ffffff;--bg:#f7f7f5;--bg-warm:#f2f1ef;--surface:#ffffff;--surface-2:#f9f9f8;--border:#e4e2de;--border-dark:#ccc9c2;--ink:#1a1916;--ink-2:#3d3c38;--ink-3:#6b6860;--ink-4:#9e9b94;--accent:#2d5be3;--accent-dark:#1e45c0;--accent-light:#eef2fd;--accent-mid:#c5d3f8;--green:#1a7f5a;--green-light:#edf7f2;--amber:#92510a;--amber-light:#fef5e7;--font-display:'Fraunces',Georgia,serif;--font-body:'DM Sans',system-ui,sans-serif;--radius-sm:6px;--radius:10px;--radius-lg:16px;--shadow-xs:0 1px 3px rgba(26,25,22,0.07);--shadow-sm:0 2px 8px rgba(26,25,22,0.08);--shadow:0 4px 20px rgba(26,25,22,0.10);--shadow-lg:0 8px 40px rgba(26,25,22,0.12)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink-2);font-family:var(--font-body);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
.navbar{background:rgba(255,255,255,0.96)!important;backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:.6rem 0;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-xs)}
.navbar-brand img{height:34px;width:auto}
.navbar-nav .nav-link{color:var(--ink-3)!important;font-size:.875rem;font-weight:500;padding:.45rem .9rem!important;border-radius:var(--radius-sm);transition:color .15s,background .15s}
.navbar-nav .nav-link:hover{color:var(--ink)!important;background:var(--bg-warm)}
.navbar-nav .nav-link.active{color:var(--accent)!important;font-weight:600}
.btn-nav-ghost{font-size:.82rem;font-weight:600;color:var(--ink-2)!important;border:1px solid var(--border-dark)!important;border-radius:var(--radius-sm)!important;padding:.3rem .85rem!important;transition:all .15s;background:var(--white)!important}
.btn-nav-ghost:hover{background:var(--bg-warm)!important;border-color:var(--ink-4)!important;color:var(--ink)!important}
.btn-nav-solid{font-size:.82rem;font-weight:700;color:#fff!important;background:var(--accent)!important;border:1px solid var(--accent)!important;border-radius:var(--radius-sm)!important;padding:.3rem .85rem!important;transition:all .15s;opacity:1!important}
.btn-nav-solid:hover{background:var(--accent-dark)!important;border-color:var(--accent-dark)!important;color:#fff!important}
/* When the Sign In button also carries .nav-link, beat the .navbar-nav .nav-link colour. */
.navbar-nav .nav-link.btn-nav-solid,.navbar-nav .nav-link.btn-nav-solid:hover,.navbar-nav .nav-link.btn-nav-solid:focus{color:#fff!important}
.navbar-toggler{border-color:var(--border-dark);padding:4px 8px}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%233d3c38' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,2.5vw,1.85rem);font-weight:700}
h4{font-size:1.05rem;font-weight:700}
h6{font-size:.88rem;font-weight:600}
.lead{color:var(--ink-3);font-size:1rem;line-height:1.75}
p{color:var(--ink-3)}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dark);text-decoration:underline}
code{font-family:'Menlo','Consolas',monospace;font-size:.82em;background:var(--bg-warm);border:1px solid var(--border);color:var(--ink-2);padding:.1em .4em;border-radius:4px}
.btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;font-weight:600;border-radius:var(--radius-sm)!important}
.btn-primary:hover{background:var(--accent-dark)!important;border-color:var(--accent-dark)!important}
.btn-outline-secondary{border-color:var(--border-dark)!important;color:var(--ink-3)!important;border-radius:var(--radius-sm)!important}
.btn-outline-secondary:hover{background:var(--bg-warm)!important;color:var(--ink)!important}
.form-control,.form-select{background:var(--white)!important;border:1px solid var(--border-dark)!important;color:var(--ink)!important;border-radius:var(--radius-sm)!important;font-family:var(--font-body);font-size:.9rem;transition:border-color .15s,box-shadow .15s}
.form-control:focus,.form-select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(45,91,227,.12)!important;outline:none}
.form-control::placeholder{color:var(--ink-4)!important}
.container{max-width:1100px}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}

/* footer (mirrors main site footer.php) */
.site-footer{background:var(--white);border-top:1px solid var(--border);padding:2.5rem 0 1.5rem;margin-top:2rem}
.footer-link{color:var(--ink-4);font-size:.85rem;transition:color .15s;text-decoration:none}
.footer-link:hover{color:var(--ink);text-decoration:none}
