:root{--bg:#f4f3ee;--card:#ffffff;--text:#2b3322;--muted:#646b54;--line:#dcdfcc;--accent:#4c612f;--accent-ink:#ffffff;--accent-soft:#e6eed6;--danger:#9b3f30;--danger-soft:#f9e7df;--warn-soft:#fff4d6;--radius:12px;color:var(--text);font:400 15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg)}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:12px 20px;background:var(--accent)}.nav a{color:#e3ecd3;text-decoration:none}.nav a:hover{color:#fff}.nav .brand{color:#fff;font-weight:700;margin-right:6px}.nav .spacer{flex:1 1}.nav .who{color:#e3ecd3}.main{padding:20px 16px 48px;max-width:1200px;margin:0 auto}.main h1{font-size:1.35rem;margin:0 0 16px}.main h2{font-size:1.08rem;margin:26px 0 10px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stack{flex-direction:column;gap:12px}.row,.stack{display:flex}.row{flex-wrap:wrap;gap:10px;align-items:end}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px;align-items:start}.field{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted)}.field .hint{font-size:.82rem}.input,.select,.textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;background:#fff;padding:9px 11px;font:inherit;color:var(--text)}.textarea{min-height:90px;resize:vertical}.check{display:flex;gap:8px;align-items:center;color:var(--text)}.btn{display:inline-block;border:0;border-radius:8px;padding:9px 14px;background:var(--accent);color:var(--accent-ink);font:600 .92rem/1.3 inherit;font-family:inherit;cursor:pointer;text-decoration:none}.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}.btn.sm{padding:5px 10px;font-size:.84rem}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.6;cursor:default}.link-btn{background:none;border:0;padding:0;color:inherit;cursor:pointer;text-decoration:underline;font:inherit}.notice{padding:10px 12px;border-radius:8px;background:var(--warn-soft)}.notice.ok{background:var(--accent-soft)}.notice.error{background:var(--danger-soft);color:var(--danger)}.muted{color:var(--muted)}.small{font-size:.84rem}.table-wrap{overflow-x:auto}.t{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.t td,.t th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.t th{font-size:.82rem;color:var(--muted);font-weight:600}.t tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:600;background:#eeece3;color:var(--muted);white-space:nowrap}.badge.ok{background:var(--accent-soft);color:var(--accent)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.badge.warn{background:var(--warn-soft);color:#7a5600}.preview{width:100%;height:900px;border:1px solid var(--line);border-radius:var(--radius);background:#eeece3}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login .card{width:100%;max-width:360px}@media (max-width:640px){.main{padding:16px 12px 40px}.preview{height:640px}}