:root{--w:#5b1a2b;--w2:#3b0f1b;--g:#c9a24a;--g2:#e8d29a;--cr:#fbf6ec;--ink:#2a1a1f;--mut:#7a6a6e;--ok:#2f7d4f;--no:#b3392f}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--cr)}
.top{background:linear-gradient(160deg,var(--w2),var(--w));color:#fff;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.top img{width:40px;height:40px;border-radius:50%;background:#fff;padding:3px}.top b{font:600 18px Georgia,serif}.top b span{color:var(--g2)}
.top nav{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.top nav a{color:#fff;text-decoration:none;border:1px solid #c9a24a88;border-radius:999px;padding:5px 13px;font-size:14px}
.top nav a:hover{background:var(--g);color:#2a1a1f}
.wrap{max-width:980px;margin:0 auto;padding:18px 14px 60px}
h1{font:600 26px Georgia,serif;color:var(--w);margin:14px 0 6px}h2{font:600 20px Georgia,serif;color:var(--w);margin:26px 0 8px}
.box{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 14px #5b1a2b14;border:1px solid #5b1a2b12;margin:12px 0}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.stat{background:#fff;border-radius:14px;padding:12px 14px;border:1px solid #5b1a2b12}.stat small{display:block;color:var(--mut);font-size:12px}.stat b{font:700 20px Georgia,serif;color:var(--w)}
label{display:block;font-size:13px;font-weight:600;margin:10px 0 3px;color:var(--w)}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid #5b1a2b33;border-radius:10px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--g);border-color:var(--g)}
.btn{display:inline-block;background:var(--g);color:#2a1a1f;font-weight:700;padding:11px 22px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;font-size:15px}
.btn:hover{background:var(--g2)}.btn.sec{background:#fff;border:1px solid var(--w);color:var(--w)}.btn.sm{padding:5px 12px;font-size:13px}.btn.red{background:var(--no);color:#fff}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.msg{padding:10px 14px;border-radius:10px;margin:10px 0;font-size:14px}.msg.err{background:#fbe6e3;color:var(--no)}.msg.ok{background:#e3f4ea;color:var(--ok)}.msg.warn{background:#fff3d6;color:#8a5a00}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid #5b1a2b14;vertical-align:top}th{color:var(--w);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.scroll{overflow-x:auto}.mut{color:var(--mut)}.r{text-align:right}
.tag{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;background:#eee;color:#444}
.tag.ok{background:#e3f4ea;color:var(--ok)}.tag.wait{background:#fff3d6;color:#8a5a00}.tag.no{background:#fbe6e3;color:var(--no)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.tabs button{border:1px solid var(--w);background:#fff;color:var(--w);border-radius:999px;padding:6px 16px;font-weight:600;cursor:pointer}.tabs button.on{background:var(--w);color:#fff}
.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline input,.inline select{width:auto;min-width:70px}
.copy{display:flex;flex-wrap:wrap;gap:8px}.copy input{flex:1}.copy textarea{flex:1 1 100%;width:100%;box-sizing:border-box;font:inherit;font-size:15px;line-height:1.4;padding:10px 12px;border:1px solid var(--line,#d9cfbd);border-radius:12px;background:#fff;resize:none;word-break:break-all;overflow-wrap:anywhere}
ul.tree{list-style:none;padding-left:18px;margin:2px 0}ul.tree li{margin:2px 0}
