:root { --ink:#0a1e30; --gold:#b07d22; --line:#d9d4c8; --bg:#fbf9f4; --card:#fff; --err:#a32020; --ok:#1d6b3a; }
@media (prefers-color-scheme: dark) { :root { --ink:#f1ede4; --bg:#0d1824; --card:#13243a; --line:#2a3d55; --gold:#e0b878; } }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); }
.u { display:inline-block; width:.46em; height:3px; margin-left:.05em; vertical-align:-3px; background:var(--gold); }
.login { max-width:340px; margin:18vh auto; text-align:center; padding:0 16px; }
.login h1 { font:400 44px Georgia,serif; margin:0; }
.msg { color:var(--err); min-height:1.4em; }
.top { position:sticky; top:0; z-index:5; display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:10px 16px; background:var(--card); border-bottom:1px solid var(--line); }
.logo { font:400 24px Georgia,serif; margin-right:auto; }
.state { font-size:13px; opacity:.75; }
button { font:inherit; padding:7px 14px; border:1px solid var(--ink); background:transparent; color:var(--ink); border-radius:6px; cursor:pointer; }
button.primary { background:var(--ink); color:var(--bg); }
button.link { border:0; text-decoration:underline; padding:7px 4px; }
button:disabled { opacity:.45; cursor:default; }
.layout { display:grid; grid-template-columns:220px 1fr; gap:24px; max-width:1100px; margin:0 auto; padding:20px 16px 80px; }
nav { position:sticky; top:70px; align-self:start; display:flex; flex-direction:column; gap:2px; }
nav a { padding:7px 10px; border-radius:6px; color:inherit; text-decoration:none; cursor:pointer; }
nav a.on { background:var(--card); border:1px solid var(--line); font-weight:600; }
section.sec { margin-bottom:34px; scroll-margin-top:80px; }
section.sec > h2 { font:600 20px Georgia,serif; margin:0 0 12px; }
.field { margin:0 0 14px; }
.field > label, .lab { display:block; font-size:13px; font-weight:600; margin-bottom:4px; }
input[type=text], input[type=email], input[type=tel], textarea { width:100%; font:inherit; padding:8px 10px; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--ink); }
textarea { min-height:84px; resize:vertical; }
.item { border:1px solid var(--line); background:var(--card); border-radius:8px; padding:12px; margin-bottom:10px; }
.item-head { display:flex; gap:6px; align-items:center; margin-bottom:10px; }
.item-head b { margin-right:auto; }
.item-head button { padding:3px 9px; }
.img-row { display:flex; gap:12px; align-items:center; }
.img-row img { width:84px; height:84px; object-fit:cover; border-radius:6px; border:1px solid var(--line); background:#8883; }
.img-row img.round { border-radius:50%; }
.chips .chip { display:flex; gap:6px; margin-bottom:6px; }
.toast { position:fixed; left:50%; bottom:20px; transform:translateX(-50%); background:var(--ink); color:var(--bg); padding:10px 18px; border-radius:8px; opacity:0; transition:opacity .2s; pointer-events:none; max-width:90vw; }
.toast.show { opacity:1; } .toast.bad { background:var(--err); color:#fff; }
@media (max-width:760px) { .layout { grid-template-columns:1fr; } nav { position:static; flex-direction:row; flex-wrap:wrap; } }
