/* Wrapped in a cascade layer so the Foldery redesign's Tailwind utilities
   (loaded only on redesigned pages) override these element-level rules.
   On pages without tailwind.css this is the only stylesheet, so a single
   layer changes nothing. */
@layer legacy {
:root{--fg:#1a2233;--muted:#5b6b7c;--bg:#f7f8fa;--card:#fff;--accent:#1f3864;--line:#dde3ea}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--fg);background:var(--bg)}
a{color:var(--accent)}img{max-width:100%}
.container{max-width:1000px;margin:0 auto;padding:1rem}
.site-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.75rem 1rem;background:var(--card);border-bottom:1px solid var(--line)}
.site-header .brand{display:flex;gap:.5rem;align-items:center;font-weight:700;text-decoration:none;color:var(--fg)}
.site-header nav{display:flex;gap:1rem;flex-wrap:wrap}
.site-header .search{margin-left:auto;display:flex;gap:.25rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0}
.tiles a{display:block;padding:1.25rem;background:var(--card);border:1px solid var(--line);border-radius:10px;text-align:center;font-weight:600;text-decoration:none}
.hero{padding:1.5rem 0}.search-lg{display:flex;gap:.5rem;margin:1rem 0}.search-lg input{flex:1;padding:.6rem}
.flash{padding:.6rem .9rem;border-radius:8px;margin:.5rem 0}
.flash-success{background:#e7f5ec;border:1px solid #b6e0c4}.flash-error{background:#fdecec;border:1px solid #f4c0c0}.flash-info{background:#eef3fb;border:1px solid #c5d6f0}
.badge{display:inline-block;font-size:.75rem;padding:.1rem .5rem;border:1px solid var(--line);border-radius:999px;background:var(--bg)}
table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--line);padding:.5rem;text-align:left}
.filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:1rem 0;padding:1rem;background:var(--card);border:1px solid var(--line);border-radius:10px}
.pagination{display:flex;gap:.35rem;margin:1rem 0}.pagination .current{font-weight:700;padding:.2rem .5rem;border:1px solid var(--accent)}
.site-footer{max-width:1000px;margin:2rem auto;padding:1rem;color:var(--muted);font-size:.9rem}
form label{display:block;margin:.5rem 0}input,select,textarea{font:inherit;padding:.4rem;max-width:100%}
button{font:inherit;padding:.45rem .9rem;background:var(--accent);color:#fff;border:0;border-radius:8px;cursor:pointer}
.admin-shell{display:flex;min-height:100vh}
.admin-nav{width:200px;background:#12203a;padding:1rem}
.admin-nav a{display:block;color:#cdd8ea;text-decoration:none;padding:.4rem 0}
.admin-main{flex:1;padding:1.5rem;max-width:900px}
}

/* Password show/hide toggle (app/views/partials/password_toggle.php).
   Lives here rather than in admin.css because the partial is shared by the
   public sign-in form and the admin change-password form. */
.pw-wrap{position:relative}
.pw-wrap input{padding-right:2.75rem}
.pw-toggle{position:absolute;inset-block:0;right:0;display:flex;align-items:center;
  padding:0 .8rem;background:none;border:0;box-shadow:none;color:#98a7bd;cursor:pointer}
.pw-toggle:hover{color:#2e3092;background:none}
.pw-toggle svg.hidden{display:none}
