*{box-sizing:border-box}
body{margin:0;background:#f3f4f7;color:#252936;font:14px Arial,sans-serif}
header{height:68px;background:#31353d;display:flex;align-items:center;justify-content:space-between;padding:0 5%;box-shadow:0 2px 8px #0002}
.brand{color:#fff;text-decoration:none;font-size:21px;font-weight:800}.brand span{color:#b000b5}
nav{display:flex;gap:8px}nav a{color:#e9e9ed;text-decoration:none;padding:10px 15px;border-radius:7px}nav a:hover{background:#454a54}
main{max-width:1050px;margin:auto;padding:28px 18px}.heading h1{margin:0;font-size:28px}.heading p,.muted{color:#707680}
.panel{background:#fff;border:1px solid #ddd;border-radius:5px;margin:18px 0;box-shadow:0 1px 3px #0000000c;overflow:hidden}
.panel>h2,.section-title{background:#a000a6;color:#fff;font-size:16px;font-weight:700;padding:14px 18px;margin:0;text-align:center}
.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.full{grid-column:1/-1}
label{display:block;font-weight:700;margin-bottom:7px}input,select{width:100%;height:40px;border:1px solid #d4d7dc;border-radius:4px;padding:0 11px;background:#fff;font-size:14px}
button{border:0;border-radius:4px;padding:10px 17px;background:#333a43;color:#fff;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.08)}
.config-grid button{background:#a000a6}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.cards div{background:#fff;border:1px solid #ddd;border-radius:5px;padding:16px}.cards small{color:#707680}.cards strong{display:block;font-size:20px;margin-top:8px}
.highlight{text-align:center}.big{font-size:24px;font-weight:800;padding:18px}.progress-row{display:flex;justify-content:space-between;padding:18px 20px 8px}.progress{height:18px;background:#e4e5e8;margin:0 20px 20px;border-radius:20px;overflow:hidden}.progress div{height:100%;background:#a000a6;transition:.25s}
table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid #e1e2e5;text-align:left}th{background:#f0f1f3}.current{background:#f8e8fa}.current-tag{color:#a000a6;font-weight:800}.actions{display:flex;gap:7px}.win{background:#28a745}.loss{background:#d43a45}.danger{background:#6f2630}.table-wrap{overflow:auto}.empty{text-align:center;color:#777}.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.sim-grid div{padding:18px;text-align:center;border-bottom:1px solid #eee}.sim-grid span{display:block;color:#666}.sim-grid strong{font-size:20px;margin-top:6px;display:block}.flash{padding:12px 15px;margin-bottom:12px;border-radius:5px;background:#fff;border:1px solid #ddd}.flash.success{border-left:5px solid #28a745}.flash.error{border-left:5px solid #d43a45}.inline{display:flex;gap:10px;padding:20px}.inline input{max-width:280px}
@media(max-width:800px){.cards,.config-grid,.sim-grid{grid-template-columns:1fr}.full{grid-column:auto}}

.meta-card{max-width:650px;margin-left:auto;margin-right:auto}
.meta-head{padding:14px;text-align:center;border-bottom:1px solid #ddd;font-size:16px}
.meta-body{padding:20px;text-align:center}
.meta-progress{height:17px;background:#e3e3e3;overflow:hidden;margin-bottom:12px}
.meta-progress div{height:100%;background:#1683df;transition:.3s}
.meta-percent{font-size:29px;margin:5px 0 22px}
.meta-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin-bottom:18px}
.meta-values div{background:#f7f7f8;border:1px solid #ddd;padding:12px;border-radius:4px}
.meta-values small{display:block;color:#666;margin-bottom:5px}
.meta-values strong{font-size:17px}
.new-meta{background:#a000a6}

.auth-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-card {
    width: min(440px, 100%);
    padding: 32px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .08);
}

.auth-card h1 {
    margin-top: 0;
}

.auth-card form {
    display: grid;
    gap: 10px;
    margin-top: 24px;
}

.auth-card input {
    width: 100%;
    box-sizing: border-box;
}

.auth-card button,
.auth-card .button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.auth-actions {
    display: grid;
    gap: 12px;
    margin: 25px 0;
}

.auth-card .secondary {
    opacity: .85;
}

.plan-card {
    margin: 25px 0;
    padding: 22px;
    border: 1px solid #ddd;
    border-radius: 12px;
}

.plan-card h2 {
    margin-top: 0;
}