
:root{
    --line:rgba(255,255,255,.09);
    --text:#f5f8ff;
    --muted:#a9b4ca;
    --primary:#f49d01;
    --primary2:#d88900;
    --shadow:0 16px 45px rgba(0,0,0,.35);
    --radius:24px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
    font-family:Arial,Helvetica,sans-serif;
    color:var(--text);
    background:radial-gradient(circle at top right, rgba(244,157,1,.15), transparent 28%), linear-gradient(180deg, #04070d 0%, #07101f 100%);
    min-height:100vh;
}
a{text-decoration:none}
.page{width:min(1100px, calc(100% - 32px));margin:40px auto 60px}
.hero{
    background:linear-gradient(120deg, rgba(244,157,1,.12), rgba(255,255,255,.02));
    border:1px solid var(--line);
    border-radius:30px;
    padding:30px;
    box-shadow:var(--shadow);
}
.hero h1{margin:0 0 12px;font-size:54px;line-height:1.03;letter-spacing:-1px}
.hero p{margin:0;color:var(--muted);font-size:21px;line-height:1.5}
.hero-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.badge{display:inline-block;padding:10px 16px;border-radius:999px;background:rgba(244,157,1,.14);border:1px solid rgba(244,157,1,.28);color:#ffd98d;font-size:14px;margin-bottom:16px}
.single-col{margin-top:24px}
.single-col.narrow{max-width:560px;margin-inline:auto}
.card{
    background:linear-gradient(180deg, rgba(12,20,39,.96) 0%, rgba(10,16,31,.98) 100%);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px;
    box-shadow:var(--shadow);
}
.form-card{max-width:760px;margin:0 auto}
h2{font-size:26px;margin:0 0 10px}
.muted{color:var(--muted)}
.form-intro{margin-bottom:22px;line-height:1.6}
.form-grid{display:grid;gap:18px}
.field label{display:block;margin-bottom:10px;font-size:15px;font-weight:700}
input,select,button{
    width:100%;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.10);
    background:#161f33;
    color:#fff;
    padding:16px;
    font-size:17px;
    outline:none;
}
input:focus,select:focus{border-color:rgba(244,157,1,.8);box-shadow:0 0 0 4px rgba(244,157,1,.12)}
select{
    background:#161f33 !important;
    color:#fff !important;
    appearance:none;
    -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    padding-right:48px;
}
select option{background:#161f33 !important;color:#fff !important}
.help-text{color:#ffd98d;font-size:14px;margin-top:10px;line-height:1.5}
.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;justify-content:center;align-items:center;font-weight:800;cursor:pointer;transition:.2s ease;border:none}
.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg, var(--primary) 0%, var(--primary2) 100%);color:#151515}
.btn-secondary{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.1)}
.btn-danger{background:linear-gradient(180deg, #df5252 0%, #b92f2f 100%);color:#fff}
.large-link{margin-top:18px;min-height:58px}
.alert,.success{border-radius:18px;padding:15px 16px;margin-bottom:14px;line-height:1.5}
.alert{background:rgba(214,66,66,.12);border:1px solid rgba(214,66,66,.22);color:#ffd0d0}
.success{background:rgba(38,185,109,.12);border:1px solid rgba(38,185,109,.22);color:#b7f5d2}
.rules-box{margin-top:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:18px}
.danger-box{background:rgba(214,66,66,.07);border-color:rgba(214,66,66,.15)}
.rules-title{font-size:18px;font-weight:800;margin-bottom:10px}
.rules-list{margin:0;padding-left:20px;color:var(--muted);line-height:1.7}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.spacing{margin-top:18px}
.stat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.stat-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:18px}
.stat-item strong{display:block;font-size:28px;margin-bottom:6px}
.stat-item span{color:var(--muted);line-height:1.4}
.group-list{display:grid;gap:16px}
.group-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:18px}
.group-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.group-panel{font-size:22px;font-weight:800}
.group-master{color:var(--muted);margin-top:6px}
.capsules{display:flex;flex-wrap:wrap;gap:8px}
.capsule{background:rgba(244,157,1,.12);color:#ffd98d;border:1px solid rgba(244,157,1,.22);padding:8px 12px;border-radius:999px;font-size:13px;white-space:nowrap}
.member-mini-list{display:grid;gap:10px}
.member-mini{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.05)}
.inline-badge{display:inline-block;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}
.status-pendente{background:rgba(240,180,72,.14); color:#ffd98d}
.status-aprovado{background:rgba(38,185,109,.16); color:#b7f5d2}
.status-recusado{background:rgba(214,66,66,.16); color:#ffd0d0}
.table-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}
.table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:18px}
table{width:100%;border-collapse:collapse;min-width:1060px;background:rgba(255,255,255,.02)}
th,td{padding:14px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;vertical-align:top}
th{background:rgba(255,255,255,.03)}
.action-stack{display:grid;gap:10px;min-width:170px}
.small-btn{padding:12px 14px;font-size:14px}
.full-btn{width:100%}
.empty-state{color:var(--muted);padding:6px 0}
.top-btn{padding:14px 18px}
@media (max-width:900px){
    .hero h1{font-size:38px}
    .hero p{font-size:18px}
    .admin-grid{grid-template-columns:1fr}
    .group-head,.hero-row,.table-head{flex-direction:column}
    .page{width:min(100% - 20px, 1100px);margin:20px auto 40px}
    .card,.hero{padding:22px}
    input,select,button{font-size:16px}
}
