:root{
  color-scheme:light;
  --bg:#FAFCFB; --surface:#E4F1EC; --card:#FFFFFF;
  --text:#0C1F1D; --muted:#47605B; --line:#C9DDD6;
  --pine:#0F4C47; --pine-deep:#0A3834; --pine-line:#2F6B64;
  --on-pine:#FAFCFB; --on-pine-muted:#BAD8D1;
  --gold:#FFC233; --on-gold:#0C1F1D;
  --link:#0F4C47; --focus:#0F4C47; --error:#B3261E;
  --ok:#1E7A4C; --ok-bg:#DCEEE5; --warn:#8A5B00; --warn-bg:#FFF3D6; --info:#2B4C9B; --info-bg:#E6ECF8;
  --display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:"Newsreader",Georgia,"Times New Roman",serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#071412; --surface:#0D2925; --card:#0B2421;
    --text:#E6F1EE; --muted:#9FBAB3; --line:#1F4A44;
    --link:#8FE0CE; --focus:#FFC233; --error:#FFB4AB;
    --ok:#5FD6A0; --ok-bg:#103A2C; --warn:#F2C14E; --warn-bg:#3A2E0C; --info:#9DB8FF; --info-bg:#172A4A;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#071412; --surface:#0D2925; --card:#0B2421;
  --text:#E6F1EE; --muted:#9FBAB3; --line:#1F4A44;
  --link:#8FE0CE; --focus:#FFC233; --error:#FFB4AB;
  --ok:#5FD6A0; --ok-bg:#103A2C; --warn:#F2C14E; --warn-bg:#3A2E0C; --info:#9DB8FF; --info-bg:#172A4A;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:1.0625rem;line-height:1.5}
h1,h2,.big{font-family:var(--display);line-height:1.1;letter-spacing:-.02em;margin:0}
h2{font-size:1.2rem}
p{margin:0}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.wrap{max-width:640px;margin:0 auto;padding:16px;display:grid;gap:14px}
.mut{color:var(--muted);font-size:.9rem}

/* shared top bar */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem 0 .5rem}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:700;font-size:1.0625rem;color:var(--text);text-decoration:none}
.mark{width:1.65rem;height:1.65rem;flex:none;color:var(--pine)}
.topbar__link{font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--muted);text-decoration:none}
.topbar__link:hover{color:var(--text)}

/* cards & forms */
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:10px}
label{display:grid;gap:4px;font-size:.9rem;color:var(--muted);font-family:var(--display);font-weight:600}
input,select,textarea,button{font:inherit;color:inherit}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font-family:var(--body);font-weight:400}

/* buttons */
.btn,button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--text);font-family:var(--display);font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:transform .12s ease,background-color .12s ease}
.btn.pri,button.pri{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.btn.pri:hover,button.pri:hover{background:#FFD25E}
.btn.pri:active,button.pri:active{transform:scale(.98)}
.btn.bad,button.bad{color:var(--error);border-color:var(--error);background:transparent}
.btn.lk,button.lk{border:0;background:none;color:var(--link);text-decoration:underline;min-height:36px}
button:disabled{opacity:.55;cursor:not-allowed}

/* shared layout bits */
.row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(min-width:620px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.stat .big{font-size:1.5rem}

/* status badges */
.badge{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--surface);color:var(--muted)}
.s-inquiry{background:var(--surface);color:var(--muted)}
.s-quoted{background:var(--info-bg);color:var(--info)}
.s-progress{background:var(--warn-bg);color:var(--warn)}
.s-delivered{background:var(--ok-bg);color:var(--ok)}
.s-paid{background:var(--pine);color:var(--on-pine)}

/* toast */
#toast{position:fixed;left:12px;right:12px;bottom:12px;padding:12px 14px;border-radius:10px;background:var(--text);color:var(--bg);display:none;z-index:99;font-family:var(--display);font-weight:600}
#toast.show{display:block}
