:root{
  --ink:#1a212c; --ink-2:#232c3a; --ink-soft:#fff1e9;
  --brand:#ef6728; --brand-hover:#f97a3d; --brand-strong:#c94b0c; --brand-soft:#fff1e9; --brand-line:#f8cdb4;
  --sun:var(--brand);
  --bg:#f6f7f9; --surface:#ffffff; --line:#e1e6eb; --line-2:#cfd7de;
  --text:#14212b; --muted:#5f6f7c;
  --ok:#157347; --ok-bg:#e7f6ee; --err:#b42318; --err-bg:#fdecea; --warn-bg:#fff4dd;
  --r-sm:6px; --r-md:10px; --r-lg:16px;
  --font-head:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;
  --font-body:'Instrument Sans','Segoe UI',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--text);background:var(--bg)}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;line-height:1.2;margin:0;color:var(--text)}
p{margin:0 0 .75em}
a{color:var(--brand-strong)}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--brand-strong);outline-offset:2px}
.muted{color:var(--muted)}
.small{font-size:13px}
.right{text-align:right}
.ic{flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--r-sm);border:1px solid transparent;font:600 14.5px/1.2 var(--font-body);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.btn-primary{background:var(--brand);color:var(--ink)}
.btn-primary:hover{background:var(--brand-hover)}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--brand-soft);border-color:var(--brand)}
.btn-danger{background:#fff;color:var(--err);border-color:#f1c4c0}
.btn-danger:hover{background:var(--err-bg);border-color:var(--err)}
.btn-sm{padding:6px 10px;font-size:13px}
.btn-block{width:100%}

/* forms */
.field{margin-bottom:16px}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font:400 15px var(--font-body);color:var(--text)}
input:disabled,select:disabled{background:#f0f3f5;color:var(--muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-strong);box-shadow:0 0 0 3px rgba(239,103,40,.22)}
textarea{resize:vertical}
.hint{display:block;margin-top:5px;font-size:12.5px;color:var(--muted)}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:84px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:var(--ink-soft);color:var(--ink);font:600 12.5px var(--font-body);padding:6px 10px;border-radius:5px;cursor:pointer}
.pw-toggle:hover{background:#ffe0cf}
.check{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:14.5px;cursor:pointer}
.check input{width:17px;height:17px;flex:none;accent-color:var(--brand);padding:0}

/* alerts and pills */
.alert{padding:12px 14px;border-radius:var(--r-sm);margin-bottom:16px;font-size:14.5px;border:1px solid transparent;word-break:break-word}
.alert-success{background:var(--ok-bg);color:#0f5132;border-color:#bfe3cf}
.alert-error{background:var(--err-bg);color:#8a1c14;border-color:#f3c5c0}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12.5px;font-weight:600}
.pill-active{background:var(--ok-bg);color:var(--ok)}
.pill-inactive{background:#eceff2;color:#5a6772}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
