:root{color:#243128;background:#f3f5f1;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh;display:flex}.sidebar{color:#dce9d5;background:#17261d;flex-direction:column;width:250px;padding:25px 15px;display:flex}.brand{padding:7px 10px;font-size:23px;font-weight:850}.env{letter-spacing:1.5px;color:#8eaf8b;padding:0 10px 25px;font-size:11px}.sidebar nav{gap:7px;display:grid}.nav{color:#c6d8c1;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:12px;font-size:14px}.nav:hover,.nav.active{color:#fff;background:#2b4934}.sidebar-foot{border-top:1px solid #3a5540;margin-top:auto;padding-top:14px}.danger-button{color:#ffb8ad}.content{flex:1;width:100%;max-width:1500px;margin:auto;padding:30px}.top{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.top p{letter-spacing:1.4px;color:#7a8677;margin:0;font-size:11px}.top h1{color:#1e3024;margin:5px 0 0}.status{color:#507e51;font-size:13px}.status.bad,.error{color:#b94538}.login-card{background:#fff;border:1px solid #dde4dc;border-radius:14px;max-width:480px;margin:90px auto;padding:28px;box-shadow:0 15px 40px #15261b12}.login-card input,.detail input,.detail select,textarea,.toolbar input{width:100%;font:inherit;background:#fff;border:1px solid #d5dfd2;border-radius:8px;margin:7px 0;padding:11px}textarea{min-height:128px;font-family:ui-monospace,monospace}.actions,.pair{gap:10px;display:flex}.actions>*{flex:1}button{color:#fff;cursor:pointer;background:#3f7b4c;border:0;border-radius:8px;padding:10px 15px;font-weight:700}button:hover{filter:brightness(1.08)}.ghost,.icon{color:#34543a;background:#e7eee4}.delete{background:#b84c40}.hidden{display:none}.metrics{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.metrics article,.panel{background:#fff;border:1px solid #dde5dc;border-radius:12px;padding:20px;box-shadow:0 7px 20px #203a1b08}.metrics span{color:#758273;font-size:13px;display:block}.metrics strong{color:#213b29;margin-top:8px;font-size:34px;display:block}.two-cols,.split{grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px;display:grid}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbar input{max-width:360px;margin:0}.toolbar p{color:#6f7b70}.detail h2,.panel h2{color:#27412d;margin-top:0}.list{padding:0;overflow:hidden}.list table{margin:0}table{border-collapse:collapse;width:100%}th{text-align:left;letter-spacing:.6px;color:#718071;text-transform:uppercase;background:#f7f9f6;font-size:11px}th,td{border-bottom:1px solid #edf0ec;padding:13px}small{color:#859083;margin-top:3px;display:block}.badge{color:#427247;background:#edf4e9;border-radius:12px;padding:4px 7px;font-size:11px}.ok{color:#357d47;font-weight:700}.icon{padding:6px 9px;font-size:12px}.toggle{color:#526052;margin:12px 0;display:block}.toggle input{width:auto;margin-right:6px}#recentPlayers p{border-bottom:1px solid #edf1ec;justify-content:space-between;margin:0;padding:10px 0;display:flex}#recentPlayers span{color:#7e897d;font-size:13px}@media (width<=900px){.sidebar{width:64px;padding:16px 7px}.brand span,.env,.nav{font-size:0}.nav{text-align:center;font-size:18px}.content{padding:18px}.metrics{grid-template-columns:repeat(2,1fr)}.two-cols,.split{grid-template-columns:1fr}}@media (width<=560px){.sidebar{display:none}.metrics{grid-template-columns:1fr}.content{padding:14px}.top{margin-bottom:15px}.toolbar{flex-direction:column;align-items:stretch}.toolbar input{max-width:none}.actions,.pair{flex-direction:column}table{font-size:12px}}body{color:#243128;background:#f3f5f1}.content,.panel,.metrics article,.login-card{color:#243128}.panel p,.login-card p,.toolbar p{color:#536553}.detail label{color:#314532;font-weight:600}.detail input,.detail select,.detail textarea,.toolbar input,.login-card input{color:#17241a;background:#fff;border-color:#afc3ae}.detail input::placeholder,.toolbar input::placeholder,.login-card input::placeholder{color:#687d69;opacity:1}.sidebar,.sidebar .brand{color:#fff}.sidebar .nav{color:#d6e7d2}.sidebar .nav.active{color:#fff;background:#3f704a}.sidebar .nav:hover{color:#fff;background:#315e3d}.status{color:#246b35;font-weight:700}.status.bad,.error{color:#b2352b;font-weight:700}.top h1{color:#172c1c}th{color:#4c604d}td{color:#263a29}.ghost{color:#234d2d;background:#e2ece0;border:1px solid #a9c4a8}.delete{color:#fff}
