:root{--blue:#0b6ef6;--navy:#0a1a3f;--gray:#6b7280;--line:#e3e7ee;--bg:#f5f7fb;--red:#c62828;--amber:#a15c00;--green:#12733a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--navy);font:15px/1.5 Heebo,Segoe UI,Arial,sans-serif}a{color:var(--blue);text-decoration:none}header.top{background:#fff;border-bottom:1px solid var(--line);padding:8px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}header.top img{height:44px;display:block}header.top nav{display:flex;flex-wrap:wrap;gap:2px;flex:1 1}header.top nav a{padding:6px 10px;border-radius:8px;color:var(--navy);font-weight:500}header.top nav a:hover{background:var(--bg)}main{max-width:1150px;margin:0 auto;padding:16px}h1{font-size:22px;margin:6px 0 14px}h2{font-size:17px;margin:0 0 10px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.card,.stats{margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.stat small{color:var(--gray);display:block}.stat b{font-size:22px}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:8px;text-align:start;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--gray);font-weight:500;font-size:13px;white-space:nowrap}form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;align-items:end}label{display:block;font-size:13px;color:var(--gray)}input,select,textarea{width:100%;padding:8px;border:1px solid #cbd2dd;border-radius:8px;font:inherit;color:var(--navy);background:#fff;margin-top:2px}button:focus-visible,input:focus,select:focus{outline:2px solid var(--blue);outline-offset:1px}.btn,button{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:9px 14px;font:inherit;font-weight:500;cursor:pointer;display:inline-block}button:disabled{opacity:.6;cursor:wait}.btn.ghost,button.ghost{background:#fff;color:var(--navy);border:1px solid #cbd2dd}button.danger{background:var(--red)}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.msg{padding:10px 14px;border-radius:8px;margin-bottom:14px}.msg.ok{background:#e6f6ec;color:var(--green)}.msg.error{background:#fdecec;color:var(--red)}.tag{display:inline-block;padding:1px 8px;border-radius:99px;font-size:12px;background:#eef1f6;white-space:nowrap}.tag.red{background:#fdecec;color:var(--red)}.tag.amber{background:#fff3e0;color:var(--amber)}.tag.green{background:#e6f6ec;color:var(--green)}.muted{color:var(--gray)}.pos{color:var(--green)}.neg,.pos{font-weight:600}.neg{color:var(--red)}.login{max-width:380px;margin:8vh auto;padding:16px}.login img{width:100%;margin-bottom:12px}.login form>*{margin-bottom:10px}.login button{width:100%}pre{white-space:pre-wrap;word-break:break-all;font-size:12px;background:var(--bg);padding:8px;border-radius:8px;max-height:220px;overflow:auto;direction:ltr;text-align:left}td input,td select{min-width:90px;margin:0}