* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Segoe UI", system-ui, -apple-system, Arial, sans-serif; background:#eef1f6; color:#1f2937; min-height:100vh; }
a { color:#1d4ed8; }
.topbar { background:#0B1E3A; color:#fff; display:flex; justify-content:space-between; align-items:center; padding:10px 20px; position:sticky; top:0; z-index:50; box-shadow:0 2px 8px rgba(11,30,58,.25); }
.tbrand { display:flex; align-items:center; gap:12px; }
.tbrand .mono { width:38px; height:38px; border-radius:9px; background:#F5C451; color:#0B1E3A; font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; }
.tname { font-size:17px; font-weight:700; }
.tname small { display:block; font-size:11px; font-weight:400; color:#9fb3cc; letter-spacing:1.2px; text-transform:uppercase; }
.tright { display:flex; align-items:center; gap:14px; font-size:13px; color:#cbd5e1; }
.tright a { color:#F5C451; text-decoration:none; font-weight:600; }
.chip { display:inline-flex; align-items:center; gap:6px; background:rgba(245,196,81,.15); color:#F5C451; border:1px solid rgba(245,196,81,.4); padding:4px 10px; border-radius:99px; font-size:12px; font-weight:600; }
.shell { display:flex; align-items:flex-start; }
.side { width:212px; flex-shrink:0; background:#12294d; min-height:calc(100vh - 59px); position:sticky; top:59px; padding:14px 10px 20px; display:flex; flex-direction:column; gap:2px; }
.side .grp { font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; color:#7d93b5; padding:14px 10px 5px; }
.side a { color:#c3d0e2; text-decoration:none; font-size:13.5px; padding:8px 10px; border-radius:8px; display:flex; align-items:center; gap:9px; }
.side a svg { width:17px; height:17px; flex-shrink:0; }
.side a:hover { background:rgba(255,255,255,.08); color:#fff; }
.side a.on { background:#F5C451; color:#0B1E3A; font-weight:700; }
.side a.sub { padding:5px 10px 5px 27px; font-size:12.5px; color:#9fb2cc; }
.side a.sub::before { content:'›'; margin-right:-3px; opacity:.6; }
.side a.sub:hover { color:#fff; }
.side a.sub.on { background:rgba(245,196,81,.16); color:#F5C451; font-weight:700; }
.advsearch { background:#fff; border:1px solid #e2e8f2; border-radius:12px; padding:12px 14px; margin:0 0 14px; }
.advsearch summary { cursor:pointer; font-size:14px; padding:2px 0 8px; }
.condrow { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.4fr; gap:8px; margin:8px 0; }
@media (max-width: 760px) { .condrow { grid-template-columns:1fr; } }
.main { flex:1; padding:24px 28px 36px; min-width:0; max-width:1280px; }
.head h2 { font-size:24px; color:#0B1E3A; }
.sub { font-size:13.5px; color:#64748b; margin:4px 0 18px; }
section { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:16px 20px 12px; margin-bottom:20px; box-shadow:0 1px 2px rgba(15,23,42,.04); }
section h3 { font-size:14px; color:#0B1E3A; text-transform:uppercase; letter-spacing:.6px; padding-bottom:11px; border-bottom:1px solid #eef2f7; display:flex; align-items:center; gap:9px; }
section h3 svg { width:18px; height:18px; color:#b98a1c; }
section h3 .sp { margin-left:auto; }
table.grid { width:100%; border-collapse:collapse; font-size:13.5px; margin-bottom:12px; }
table.grid th { text-align:left; color:#64748b; font-weight:600; padding:10px 8px; border-bottom:1px solid #e2e8f0; font-size:12px; text-transform:uppercase; letter-spacing:.4px; }
table.grid td { padding:9px 8px; border-bottom:1px solid #f1f5f9; vertical-align:top; }
.dashwrap { display:flex; gap:20px; align-items:flex-start; }
.dashmain { flex:1; min-width:0; }
.railstats { width:300px; flex-shrink:0; display:flex; flex-direction:column; gap:14px; }
.winstat { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:13px 16px; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.winstat .wt { font-size:13px; font-weight:700; color:#0B1E3A; }
.winstat .wt span { color:#94a3b8; font-weight:400; font-size:12px; }
.winstat table { width:100%; border-collapse:collapse; font-size:13px; margin-top:6px; }
.winstat td { padding:3px 0; color:#475569; }
.winstat td.v { text-align:right; font-weight:600; color:#1e3a5f; }
.chipok { background:#dcfce7; color:#166534; padding:2px 9px; border-radius:99px; font-size:12px; font-weight:700; }
.chipbad { background:#fee2e2; color:#991b1b; padding:2px 9px; border-radius:99px; font-size:12px; font-weight:700; }
.chipwarn { background:#fef3c7; color:#92400e; padding:2px 9px; border-radius:99px; font-size:12px; font-weight:700; }
.chipmut { background:#e2e8f0; color:#475569; padding:2px 9px; border-radius:99px; font-size:12px; font-weight:700; }
.btn { display:inline-block; background:#0B1E3A; color:#fff !important; text-decoration:none; padding:5px 12px; border-radius:7px; font-size:12.5px; font-weight:600; border:0; cursor:pointer; }
.btn.big { padding:9px 16px; font-size:13.5px; }
.btn:hover { background:#1d3a66; }
.btn.gold { background:#b98a1c; } .btn.gold:hover { background:#a67c16; }
.btn.ghost { background:#fff; color:#0B1E3A !important; border:1px solid #cbd5e1; }
.btn.danger { background:#b91c1c; } .btn.danger:hover { background:#991b1b; }
.bigbtn { background:#b98a1c; color:#fff; border:0; padding:12px 22px; border-radius:9px; font-size:15px; font-weight:700; cursor:pointer; }
.bigbtn:hover { background:#a67c16; }
.notice { background:#fffbeb; border:1px solid #fde68a; color:#92400e; border-radius:10px; padding:12px 16px; font-size:13.5px; margin-bottom:16px; }
.notice.ok { background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }
.notice.err { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.muted { color:#64748b; font-size:12.5px; }
.stats { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:14px; padding:4px 0 14px; }
.stat { background:#f8fafc; border:1px solid #e8eef5; border-radius:10px; padding:14px 16px; }
.stat .sl { font-size:12px; color:#64748b; text-transform:uppercase; letter-spacing:.5px; }
.stat .sv { font-size:24px; font-weight:700; color:#0B1E3A; margin-top:4px; }
.stat .ss { font-size:12px; color:#64748b; margin-top:2px; }
form.f { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:13px 18px; padding:14px 0 6px; }
form.f .full { grid-column:1 / -1; }
label.fl { display:block; font-size:12.5px; font-weight:600; color:#475569; margin-bottom:5px; }
input.in, select.in, textarea.in { width:100%; padding:9px 11px; border:1px solid #cbd5e1; border-radius:8px; font-size:14px; background:#fff; color:#1f2937; }
input.in:focus, select.in:focus, textarea.in:focus { outline:2px solid #F5C451; border-color:#b98a1c; }
.checkline { display:flex; align-items:center; gap:8px; font-size:13.5px; padding-top:22px; }
.toolbar { display:flex; gap:10px; align-items:center; margin-bottom:14px; flex-wrap:wrap; }
.toolbar .grow { flex:1; }
.searchbox { display:flex; gap:8px; }
.searchbox input { width:280px; }
.loginwrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:#0B1E3A; padding:20px; }
.logincard { background:#fff; border-radius:16px; padding:34px 36px; width:380px; max-width:100%; box-shadow:0 18px 50px rgba(0,0,0,.35); }
.logincard .mono { width:52px; height:52px; border-radius:12px; background:#F5C451; color:#0B1E3A; font-weight:800; font-size:20px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.logincard h1 { font-size:21px; color:#0B1E3A; }
.logincard p { font-size:13px; color:#64748b; margin:4px 0 18px; }
.logincard .fld { margin-bottom:13px; }
.logincard button { width:100%; }
.foot { font-size:12px; color:#94a3b8; text-align:center; padding:0 16px 22px; }
pre.codeview { background:#0B1E3A; color:#dbeafe; padding:16px; border-radius:10px; overflow:auto; font-size:12px; line-height:1.55; margin:12px 0; max-height:520px; }
.card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; overflow:hidden; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.card h4 { background:#0B1E3A; color:#fff; font-size:12px; letter-spacing:.8px; text-transform:uppercase; padding:11px 16px; }
.card dl { padding:8px 16px 12px; }
.card dt { font-size:12px; color:#64748b; margin-top:10px; }
.card dd { font-size:14px; font-weight:600; color:#1e3a5f; margin-top:1px; word-break:break-word; }
.bar { display:block; height:7px; background:#e2e8f0; border-radius:99px; overflow:hidden; }
.bar i { display:block; height:100%; background:#F5C451; }
.dot { width:9px; height:9px; border-radius:50%; display:inline-block; flex-shrink:0; }
.up { background:#22c55e; } .down { background:#ef4444; }
.tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(225px, 1fr)); gap:4px 18px; padding:8px 0 6px; }
.tile { display:flex; gap:12px; align-items:center; padding:10px 8px; border-radius:10px; text-decoration:none; color:inherit; }
.tile:hover { background:#f6f8fb; }
.tic { width:42px; height:42px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; flex-shrink:0; }
.tic svg { width:22px; height:22px; }
.tile .tt { font-size:14.5px; font-weight:600; color:#1e3a5f; display:flex; align-items:center; gap:7px; }
.tile .td { font-size:12.5px; color:#64748b; display:block; margin-top:1px; }
@media (max-width: 980px) { .railstats { display:none; } }
@media (max-width: 760px) { .side { width:60px; } .side a span, .side .grp { display:none; } .main { padding:16px 12px 28px; } }
