/* Administrator Qietu skin — shared visual language with the new game client. */
:root{
  --admin-blue:#168fe5;--admin-blue-deep:#1266ad;--admin-sky:#dff4ff;--admin-ink:#25577c;
  --admin-muted:#6e94ae;--admin-gold:#e7ad38;--admin-orange:#f39525;--admin-green:#35bd8f;
  --admin-red:#df655c;--admin-line:#9bd7f5;--admin-panel:rgba(244,251,255,.95);
  --q2-popup-shell:url('../assets/themes/qietu-v2/runtime/agent-earnings-dialog-shell.png');
  --q2-popup-info:url('../assets/themes/qietu-v2/runtime/popup-info-panel.png');
  --q2-popup-header:url('../assets/themes/qietu-v2/runtime/popup-header-rail.png');
  --q2-small-green:url('../assets/themes/qietu-v2/runtime/small-button-green.png');
  --q2-small-blue:url('../assets/themes/qietu-v2/runtime/small-button-blue.png');
  --q2-small-yellow:url('../assets/themes/qietu-v2/runtime/small-button-yellow.png');
  color:#fff;background:#070b0e;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;
}
html,body{min-height:100%;background:#070b0e}
body{
  position:relative;color:var(--admin-ink);
  background:#070b0e url('../assets/themes/qietu-v1/runtime/登录页/背景.png') center top/cover fixed no-repeat;
}
body::before{
  content:"";position:fixed;z-index:0;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(3,14,19,.84),rgba(5,22,31,.48) 42%,rgba(3,13,18,.7)),linear-gradient(0deg,rgba(4,12,17,.84),rgba(4,17,23,.18) 58%);
}
.admin-shell{position:relative;z-index:1;grid-template-columns:254px minmax(0,1fr)}
.sidebar{
  padding:24px 17px;border-right:2px solid rgba(246,198,91,.72);
  background:linear-gradient(180deg,rgba(5,22,30,.96),rgba(7,36,48,.93));
  box-shadow:12px 0 34px rgba(0,0,0,.28),inset -1px 0 rgba(255,242,181,.3);backdrop-filter:blur(14px);
}
.brand{min-height:94px;margin:0 0 17px;padding:5px 4px 19px;flex-direction:column;align-items:flex-start;gap:7px;border-bottom:1px solid rgba(241,197,89,.45)}
.brand-logo{display:block;width:188px;height:52px;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 5px rgba(0,0,0,.5))}
.brand>span{padding-left:8px}.brand b{color:#fff4c8;font-size:14px;letter-spacing:.09em;text-shadow:0 2px 2px #000}.brand small{color:#78c9e9;font-size:9px;letter-spacing:.18em}
.brand-mark{display:none}
.sidebar nav{gap:9px}
.nav-item{
  position:relative;height:54px;padding:0 17px 0 11px;gap:12px;border:1px solid rgba(119,205,241,.42);border-radius:27px;
  color:#d9f3ff;background:linear-gradient(180deg,rgba(52,146,191,.29),rgba(10,74,106,.35));
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 5px 13px rgba(0,0,0,.15);font-weight:700;letter-spacing:.02em;
}
.nav-item::after{content:"";position:absolute;right:13px;width:7px;height:7px;border-radius:50%;background:rgba(133,202,225,.45);box-shadow:0 0 0 2px rgba(0,33,49,.5)}
.nav-item span{
  width:38px;height:38px;flex:0 0 38px;border:1px solid #ffe493;border-radius:50%;background:rgba(247,253,255,.94);
  box-shadow:0 2px 5px rgba(0,26,39,.34),inset 0 0 0 3px rgba(62,177,219,.22);
}
.nav-item span img{display:block;width:31px;height:31px;object-fit:contain}
.nav-item:hover{color:#fff;background:linear-gradient(180deg,rgba(73,178,221,.56),rgba(12,91,126,.6));transform:translateX(3px)}
.nav-item.active{
  color:#fff;border-color:#ffdd73;background-image:url('../assets/themes/qietu-v1/runtime/登录页/蓝色按钮.png');background-position:center;background-size:100% 100%;
  box-shadow:0 6px 17px rgba(0,42,71,.42),inset 0 1px rgba(255,255,255,.45);text-shadow:0 2px 2px #246d9e;
}
.nav-item.active::after{background:#ffe55e;box-shadow:0 0 9px #fff284,0 0 0 2px #307ca8}
.nav-item.active span{background:#fff;border-color:#fff0a6;box-shadow:0 2px 6px rgba(24,87,125,.32),inset 0 0 0 3px #c8f0ff}
.sidebar-footer{margin:18px 4px 0;padding:13px 12px;border:1px solid rgba(238,198,97,.35);border-radius:18px;color:#d7f3ee;background:rgba(2,35,47,.68)}
.sidebar-footer img{width:13px;height:13px;object-fit:contain}.sidebar-footer i{display:none}
main{min-width:0;padding:24px clamp(20px,2.6vw,42px) 46px;background:linear-gradient(90deg,rgba(215,242,253,.06),rgba(255,255,255,.02))}
.topbar{
  position:relative;min-height:86px;margin:0 0 19px;padding:15px 19px 15px 25px;border:2px solid rgba(255,222,121,.8);border-radius:28px;
  background:linear-gradient(180deg,rgba(99,199,241,.94),rgba(31,138,202,.95));
  box-shadow:0 9px 26px rgba(0,15,27,.38),inset 0 0 0 4px rgba(225,247,255,.28),inset 0 1px #fff;
}
.topbar::before{content:"";position:absolute;left:34px;right:34px;bottom:8px;height:1px;background:linear-gradient(90deg,transparent,#ffe496 20% 80%,transparent)}
.eyebrow{color:#dff7ff;font-size:9px;letter-spacing:.2em;text-shadow:0 1px 1px rgba(17,78,116,.5)}
.topbar h1{color:#fff8d7;font-size:25px;text-shadow:0 2px 2px #247aad,0 1px #815a1c}
.top-actions{position:relative;z-index:1;gap:9px}
.connection{
  height:42px;padding:0 16px;border:1px solid rgba(255,242,181,.88);border-radius:22px;color:#e9f9ff;background:rgba(11,83,119,.52);
  box-shadow:inset 0 1px rgba(255,255,255,.18);text-shadow:0 1px rgba(0,52,82,.65);
}
.connection.online{color:#fff}.connection.online i{background:#71f2ae;box-shadow:0 0 10px #71f2ae}
.primary,.secondary,.danger{
  min-height:42px;padding:0 20px;border:0;border-radius:21px;color:#fff;cursor:pointer;font-weight:800;text-shadow:0 1px 2px rgba(0,55,86,.58);
  background-position:center;background-size:100% 100%;box-shadow:0 5px 10px rgba(0,32,55,.2);transition:transform .14s ease,filter .14s ease;
}
.primary{background-color:#1e9ddb;background-image:url('../assets/themes/qietu-v1/runtime/登录页/蓝色按钮.png')}
.secondary{color:#fff;background-color:#24af81;background-image:url('../assets/themes/qietu-v1/runtime/登录页/绿色按钮.png');text-shadow:0 1px 2px rgba(21,103,53,.6)}
.danger{background:linear-gradient(180deg,#ff9b65,#dc5d55 82%);box-shadow:0 5px 0 #a84843,0 7px 13px rgba(64,41,28,.2)}
.primary:hover,.secondary:hover,.danger:hover{transform:translateY(-2px);filter:brightness(1.06)}
.primary:active,.secondary:active,.danger:active{transform:translateY(1px)}
.notice{
  margin:-4px 13px 17px;padding:12px 18px;border:1px solid #ffd66f;border-radius:22px;color:#755017;background:rgba(255,243,195,.97);
  box-shadow:0 5px 16px rgba(0,25,42,.22);
}
.notice.error{border-color:#ff9a8c;color:#9c3b36;background:rgba(255,230,225,.98)}
.metric-grid{gap:13px;margin-bottom:14px}
.metric-card{
  position:relative;min-height:132px;padding:21px 21px 18px;border:2px solid rgba(143,211,244,.9);border-radius:24px;
  background:radial-gradient(circle at 92% 12%,rgba(123,211,248,.18),transparent 30%),linear-gradient(145deg,rgba(249,253,255,.98),rgba(214,240,253,.96));
  box-shadow:0 11px 27px rgba(0,33,54,.27),inset 0 0 0 4px rgba(255,255,255,.52);overflow:hidden;
}
.metric-card::after{content:"";position:absolute;right:-24px;top:-31px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#8edcff 0 4%,rgba(80,188,234,.16) 5% 52%,transparent 53%)}
.metric-card p{position:relative;z-index:1;color:#5685a4;font-weight:700}.metric-card strong{position:relative;z-index:1;color:#1e6f9e;font-size:30px;text-shadow:0 1px #fff;overflow-wrap:anywhere;min-width:0}.metric-card small{position:relative;z-index:1;color:#6b91aa}
.metric-card.accent strong{color:#16a479}.metric-card.warn strong,.metric-card.gold strong{color:#d38a17}
.dashboard-grid{gap:14px}
.panel{
  position:relative;min-width:0;padding:25px 21px 21px;border:2px solid rgba(147,214,246,.92);border-radius:30px 22px 30px 22px;
  background:radial-gradient(circle at 50% -18%,rgba(91,195,239,.2),transparent 34%),linear-gradient(160deg,rgba(248,253,255,.97),rgba(215,240,252,.96));
  box-shadow:0 15px 34px rgba(0,27,45,.3),inset 0 0 0 4px rgba(255,255,255,.42);color:var(--admin-ink);
}
.panel::before{
  content:"";position:absolute;z-index:2;left:50%;top:0;width:112px;height:37px;pointer-events:none;
  background:url('../assets/themes/qietu-v1/runtime/admin-components-v1/panel-cloud-crest-v1@2x.png') center/contain no-repeat;
  filter:drop-shadow(0 2px 3px rgba(19,101,145,.24));transform:translate(-50%,-42%);
}
.panel.full{min-height:calc(100vh - 148px)}
.panel-heading{margin-bottom:15px;padding:0 5px 14px;border-bottom:1px solid rgba(74,158,202,.35)}
.panel .eyebrow,.dialog-heading .eyebrow{color:#5d9abd;text-shadow:none}.panel h2{color:#245e84;font-size:19px}.link-button{color:#168fd1;font-weight:800}
.status-list{gap:10px}.status-row{
  min-height:62px;padding:10px 15px;border:1px solid #acdff5;border-radius:20px;background:rgba(249,253,255,.75);
  box-shadow:inset 0 1px #fff;
}
.status-row b{color:#2f688d}.status-row small{color:#7798ad}.status-value{color:#287aa8}.status-value.green{color:#16a478}.status-value.gold{color:#d68a14}
#economy-flow .status-row,#economy-top .status-row{grid-template-columns:minmax(0,1fr) fit-content(65%)}
#economy-flow .status-value,#economy-top .status-value{min-width:0;overflow-wrap:anywhere;text-align:right}
.filters{gap:8px}input,select,textarea{
  border:1px solid #9ed7f1;border-radius:19px;color:#285e82;background:rgba(252,254,255,.96);outline:0;
  box-shadow:inset 0 2px 5px rgba(60,145,190,.08);
}
input,select{height:42px;padding:0 15px}textarea{padding:12px 15px;border-radius:17px}input::placeholder,textarea::placeholder{color:#89aabd}
input:focus,select:focus,textarea:focus{border-color:#35a8df;box-shadow:0 0 0 4px rgba(61,180,232,.17),inset 0 1px #fff}
.table-wrap{border:1px solid rgba(125,199,233,.72);border-radius:20px;background:rgba(255,255,255,.48);overflow:auto}
table{border-collapse:separate;border-spacing:0}th,td{padding:14px 13px;border-bottom:1px solid rgba(113,183,217,.31)}
th{color:#356f93;background:linear-gradient(180deg,#d7f1fd,#c4e8f8);font-size:10px}th:first-child{border-radius:18px 0 0}th:last-child{border-radius:0 18px 0 0}
td{color:#315f7c;font-size:12px;background:rgba(255,255,255,.26)}tbody tr:hover td{background:rgba(191,232,249,.48)}tbody tr:last-child td{border-bottom:0}
.avatar{width:38px;height:38px;border:2px solid #f4cc67;border-radius:50%;color:#fff;background:linear-gradient(145deg,#5cc9ed,#177bb8);box-shadow:inset 0 0 0 3px #e9f8ff,0 3px 7px rgba(23,91,128,.25)}
.subtle,.count,.json{color:#7295aa}.badge{padding:6px 10px;border-color:#8cd5bd;color:#16795e;background:#e1f8ef}.badge.suspended{border-color:#efaaa3;color:#a44640;background:#ffe8e5}.badge.playing{border-color:#ebc365;color:#9a6916;background:#fff3ce}
.mini{
  height:32px;padding:0 11px;border:1px solid #8dcfee;border-radius:16px;color:#176d9e;background:linear-gradient(#eefaff,#ccebf8);font-weight:700;
  box-shadow:inset 0 1px #fff;
}
.mini:hover{border-color:#249fd7;color:#0d608e;filter:brightness(1.03)}.mini.alert{border-color:#efa9a0;color:#aa4740;background:linear-gradient(#fff3f0,#ffdcd7)}
.empty{color:#718fa3}.skeleton{border-radius:18px;background:linear-gradient(90deg,#d5edf8,#f5fcff,#d5edf8);background-size:200% 100%}
dialog{
  width:min(560px,calc(100vw - 28px));padding:0;border:0;border-radius:0;color:#2d6385;
  background:transparent var(--q2-popup-shell) center/100% 100% no-repeat;
  box-shadow:none;filter:drop-shadow(0 30px 42px rgba(0,9,16,.56));overflow:visible;
}
dialog::backdrop{background:rgba(2,9,13,.66);backdrop-filter:blur(5px)}dialog form{padding:22px 27px 25px}.dialog-heading{min-height:50px;margin:-7px 0 23px;align-items:center}
.dialog-heading h2{color:#fff7d3;font-size:21px;text-shadow:0 2px 2px #2a7aa7,0 1px #8a641e}.dialog-heading .eyebrow{display:none}
dialog::before{
  content:"";position:absolute;left:50%;top:11px;width:min(420px,72%);height:22px;transform:translateX(-50%);
  background:transparent var(--q2-popup-header) center/100% 100% no-repeat;pointer-events:none;opacity:.9;
}
.ops-dialog,.wide-dialog{
  max-height:calc(100vh - 28px);overflow:auto;overscroll-behavior:contain;
}
.ops-dialog form,.wide-dialog form{
  max-height:calc(100vh - 28px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;
}
.icon-button{
  width:46px;height:46px;flex:0 0 46px;margin-right:0;margin-top:0;border:0;border-radius:50%;color:transparent;
  background:transparent url('../assets/themes/qietu-v1/runtime/关闭.png') center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 3px 3px rgba(44,96,127,.3));
}
dialog label{color:#437697;font-weight:700}.hint,.action-copy{color:#6f91a8}.dialog-actions{justify-content:center;gap:12px}.dialog-actions .primary,.dialog-actions .secondary,.dialog-actions .danger{min-width:132px}
.dialog-actions .primary{background-image:var(--q2-small-yellow)}
.dialog-actions .secondary{background-image:var(--q2-small-blue)}
.dialog-actions .danger{background-image:var(--q2-small-green)}
.wide-dialog{width:min(960px,calc(100vw - 28px))}.round-summary{gap:10px}.round-summary>div{border:0;border-radius:0;background:transparent var(--q2-popup-info) center/100% 100% no-repeat}.round-summary small{color:#7699ae}.timeline{border-left-color:#6dbfe6}.timeline-entry::before{border-color:#effaff;background:#39b991;box-shadow:0 0 0 1px #288bb8}.timeline-entry p{color:#6f91a8}
@media(max-width:1050px){
  .admin-shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding-inline:10px}.brand{align-items:center}.brand-logo{width:64px;object-position:center}.brand>span{display:none}
  .nav-item{padding:0;justify-content:center}.nav-item::after{display:none}.nav-item span{width:42px;height:42px;flex-basis:42px}.sidebar-footer{justify-content:center;padding:12px}.sidebar-footer span{display:none}
}
@media(max-width:720px){
  body{background-position:center top}.admin-shell{display:block}.sidebar{height:72px;padding:7px 8px;border:1px solid rgba(255,220,112,.74);border-radius:25px 25px 0 0;background:rgba(6,42,58,.96)}
  .sidebar nav{grid-template-columns:repeat(6,1fr);gap:4px}.nav-item{height:56px;border-radius:20px}.nav-item span{width:38px;height:38px;flex-basis:38px}.nav-item span img{width:31px;height:31px}
  main{padding:13px 10px 88px}.topbar{min-height:76px;padding:11px 13px 11px 18px;border-radius:23px}.topbar h1{font-size:21px}.top-actions{gap:5px}.top-actions .primary,.top-actions .secondary{min-height:38px;padding:0 12px;font-size:12px}
  .metric-grid{gap:8px}.metric-card{min-height:108px;padding:15px;border-radius:20px}.panel{padding:21px 13px 13px;border-radius:24px 18px}.panel::before{width:88px;height:30px}.panel.full{min-height:auto}.table-wrap{border-radius:16px}
  .filters input{width:100%}.icon-button{margin-right:0}.dialog-heading{gap:8px}.dialog-heading>div{min-width:0}
}
@media(prefers-reduced-motion:reduce){.primary,.secondary,.danger,.nav-item{transition:none!important}}
