
:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#264654;background:#e3eaed;font-size:13px;--line:#c7d5dc;--muted:#627a86;--blue:#305d73;--gold:#a6833d}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bb903d;outline-offset:2px}button,.control{border:1px solid #a8c2d1;background:linear-gradient(#dfedf6,#bdd9e9);color:#244657;border-radius:6px;padding:9px 12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover{filter:brightness(.97)}button.primary{background:#305d73;color:white;border-color:#305d73}button.flat{background:transparent;border-color:#c7d5dc}svg.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}header{background:#233f4d;color:#f6f9fa;border-bottom:3px solid #b59b5e;padding:15px max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:12px}header img{width:44px;height:44px;border-radius:8px;border:1px solid #9caea6}header h1{font-size:18px;margin:0 0 3px;letter-spacing:.2px}header small{color:#b8cbd4}header .preview{margin-left:auto;border:1px solid #7b9198;border-radius:20px;padding:5px 9px;font-size:10px;letter-spacing:1px;color:#e8dbb7}header button{color:white;border-color:#718894!important}main{max-width:1220px;margin:auto;padding:20px}.topline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:13px}.eyebrow{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:750}.topline p{margin:5px 0 0;font-size:12px;color:var(--muted)}.date{font-size:12px;white-space:nowrap;display:flex;gap:7px;align-items:center}nav{display:flex;gap:6px;margin-bottom:16px}nav button{min-width:120px;padding:10px 18px}nav button[aria-selected=true]{color:white;background:#305d73;border-color:#305d73}.pane[hidden]{display:none}.panel{background:#f9fbfc;border:1px solid #bccdd6;border-radius:9px;box-shadow:0 3px 10px #24465708;overflow:hidden}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}h2{font-size:14px;margin:0;display:flex;align-items:center;gap:8px}h3{font-size:13px;margin:0 0 12px}.sub{color:var(--muted);font-size:11px;margin:5px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #bccdd6;background:#f9fbfc;border-radius:9px;margin-bottom:14px;overflow:hidden}.stat{padding:17px 18px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.stat strong{font-size:27px;display:block;margin:7px 0 4px;font-weight:750;letter-spacing:-1px}.stat small{color:#537868;font-size:10px}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin-bottom:14px}.padded{padding:16px}.chart{width:100%;height:155px}.axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:0 9px}.legend{display:flex;gap:16px;font-size:10px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#54849b;margin-right:4px}.gold{background:#ba9b56}.bars{display:grid;gap:16px;margin-top:7px}.barline{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}.track{height:7px;background:#e3eaed;border-radius:5px;overflow:hidden}.track i{display:block;background:#527e91;height:100%;border-radius:5px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}th{background:#edf3f6;font-size:10px;color:var(--muted);text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.5px}td,th{padding:11px 16px;border-bottom:1px solid #dde5e9}tbody tr:last-child td{border-bottom:0}td.player{font-weight:650}.avatar{width:28px;height:28px;display:inline-grid;place-items:center;background:#e1eaf0;border:1px solid #c3d1d7;border-radius:6px;margin-right:9px;color:#537582;vertical-align:middle}.status{font-size:10px;padding:3px 7px;border:1px solid #cbdbd2;border-radius:12px;color:#4b705d;background:#eef5f0}.status.off{background:#edf1f3;color:#6c7e85;border-color:#d6e0e4}.num{text-align:right;font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.search{min-width:180px}input,select,textarea{border:1px solid #bbccd5;border-radius:5px;padding:9px;background:white;color:#284c5f;min-width:0}textarea{resize:vertical;width:100%;min-height:90px}label.field{display:block;color:#5c7380;font-size:11px;font-weight:650;margin:0 0 6px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.formrow input,.formrow select{width:100%}.formsection{margin-bottom:12px}.bodygrid{display:grid;grid-template-columns:1fr 1fr;gap:0}.bodygrid>section{padding:18px}.bodygrid>section+section{border-left:1px solid var(--line)}.notice{padding:10px 14px;background:#edf3f6;border-bottom:1px solid var(--line);font-size:11px;color:#5c7380;display:flex;align-items:center;gap:7px}.recipient{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:9px 0}.recipient:last-child{border:0}.recipient input{accent-color:#305d73}.recipient small{color:var(--muted);margin-left:auto;font-size:10px}.recipientlist{max-height:166px;overflow:auto;margin-bottom:12px}.resources{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.resources button{padding:10px 3px;display:flex;flex-direction:column;font-size:10px;gap:5px}.resources button[aria-pressed=true]{outline:2px solid #537e94;background:#e2eef5}.resources svg{color:#5f7c65;width:24px;height:24px}.resourceqty{display:flex;align-items:center;justify-content:space-between;margin:14px 0;gap:10px}.resourceqty input{width:105px}.footerrow{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.hint{font-size:10px;color:var(--muted)}.health{display:flex;gap:18px;padding:12px 16px;flex-wrap:wrap;background:#f9fbfc;border:1px solid var(--line);border-radius:7px;margin-bottom:14px;font-size:11px}.health span{display:flex;align-items:center;gap:6px}.health i{width:6px;height:6px;background:#6d9980;border-radius:100%}.activity{padding:0 16px}.activityrow{padding:12px 0;display:flex;gap:10px;border-bottom:1px solid var(--line);font-size:11px}.activityrow:last-child{border:0}.activityrow time{margin-left:auto;color:var(--muted);white-space:nowrap}.muted{color:var(--muted)}.tag{font-size:9px;background:#e8eef1;border-radius:3px;padding:3px 5px;color:#617982}.amount{font-variant-numeric:tabular-nums}.revenuechart{height:205px}.money {color:#2e5b49}footer{max-width:1180px;margin:0 auto;padding:0 0 20px;display:flex;justify-content:space-between;color:#738690;font-size:10px;gap:14px}dialog{border:1px solid #adc4d2;border-radius:9px;padding:0;max-width:420px;width:calc(100% - 30px);color:#264654;background:#f8fbfc;box-shadow:0 20px 70px #15293644}dialog::backdrop{background:#182e3c70}dialog .close{width:30px;height:30px;padding:0;font-size:19px}.reviewbody{white-space:pre-wrap;line-height:1.7;padding:16px;margin:0;font:12px system-ui}.dialogactions{padding:0 16px 16px;display:flex;justify-content:flex-end;gap:8px}#toast{position:fixed;bottom:20px;left:20px;max-width:350px;padding:12px 16px;border-radius:7px;border:1px solid #a4c0ce;background:#eaf4fa;box-shadow:0 3px 20px #26465425;color:#274b5b;z-index:10}.filter{font-size:11px}.empty{text-align:center;color:var(--muted);padding:20px}@media(max-width:720px){main{padding:12px}header{padding:12px}header h1{font-size:15px}header img{width:36px;height:36px}header .preview{font-size:8px;padding:4px 6px}header small{font-size:10px}header button span{display:none}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat{padding:12px}.stat strong{font-size:23px}.split,.bodygrid{grid-template-columns:1fr}.bodygrid>section+section{border-left:0;border-top:1px solid var(--line)}nav button{flex:1;min-width:0;padding:10px}td,th{padding:10px}.panelhead{padding:12px;flex-wrap:wrap}.topline{align-items:flex-start}.date{font-size:10px}.topline p{font-size:10px}footer{padding:0 12px 18px}.health{gap:10px}.resources{grid-template-columns:repeat(4,1fr)}}

.login-shell{min-height:100dvh;display:grid;place-items:center}.login-panel{width:min(380px,90vw);padding:26px}.login-panel img{width:56px;border-radius:9px}.login-panel h1{font-size:22px}.login-panel p{line-height:1.6}.login-panel button{width:100%}.live-message{margin:10px 0;color:#617783;font-size:12px}.error{color:#a03333}.product-empty{padding:35px 16px;color:#617783;text-align:center}.chart-bar{display:inline-flex;align-items:flex-end;flex:1;height:145px;gap:1px}.chart-bar i{width:48%;min-height:1px;background:#527e91}.chart-bar i.new{background:#ba9b56}.live-chart{display:flex;gap:4px;height:155px;align-items:flex-end}.activityrow span{overflow-wrap:anywhere}.resourceqty{flex-wrap:wrap}.tablewrap input{width:16px}.date input{max-width:145px} .stats .stat strong{font-size:25px}
.admin-chat-messages{height:min(60vh,560px);overflow:auto;padding:0 16px}.admin-chat-line{padding:12px 0;border-bottom:1px solid var(--line)}.admin-chat-line>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-chat-line time{margin-left:auto;font-size:10px;color:var(--muted)}.admin-chat-line p{margin:6px 0 0;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}#chatSearch{width:min(230px,60vw)}

.admin-chat-compose{padding:14px 16px;border-top:1px solid var(--line)}.admin-chat-compose .formrow{margin-bottom:8px}.admin-chat-compose textarea{min-height:70px}
