:root{--blue:#0d4775;--blue2:#123d61;--light:#eef5fa;--border:#d8e2ea;--text:#20303c;--muted:#687985;--ok:#1f7a4c;--warn:#a36a00;--danger:#a43232;--white:#fff;--shadow:0 8px 30px rgba(16,45,68,.08)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f8fb;color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);background:#fff;border-radius:9px;padding:10px 14px;color:var(--text)}button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}button.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}button.small-btn{padding:7px 10px;font-size:.78rem}button.danger-outline{border-color:#e1b4b4;color:var(--danger);background:#fff}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,#0d4775,#0a2e4c)}.auth-card{width:min(430px,100%);background:#fff;padding:30px;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.brand-mark{display:inline-block;background:var(--blue);color:#fff;border-radius:8px;padding:6px 10px;font-weight:700;letter-spacing:.04em}.muted{color:var(--muted)}.stack{display:grid;gap:14px}.compact{margin-top:14px}.stack label,.form-grid label,.grid label{display:grid;gap:6px;font-size:.92rem;font-weight:600}.stack input,.form-grid input,.form-grid select,.form-grid textarea,.grid select,.grid input,.inline-form input,.inline-form select,.search,.filters select{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px;background:#fff}.auth-card details{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}
.topbar{height:64px;background:var(--blue2);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.topbar strong{font-size:1.05rem}.topbar span{margin-left:12px;font-size:.8rem;opacity:.8}.tabs{display:flex;gap:4px;background:#fff;border-bottom:1px solid var(--border);padding:8px 20px;overflow:auto;position:sticky;top:64px;z-index:4}.tabs button{border:0;background:transparent;white-space:nowrap}.tabs button.active{background:var(--light);color:var(--blue);font-weight:700}
.container{max-width:1200px;margin:0 auto;padding:24px}.tab{display:none}.tab.active{display:block}.hero,.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.hero h2,.panel h2,.panel h3{margin-top:0}.hero p{margin-bottom:0;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.kpis article,.panel{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.kpis article{padding:18px}.kpis span{display:block;color:var(--muted);font-size:.83rem}.kpis strong{display:block;font-size:2rem;margin-top:4px;color:var(--blue)}.panel{padding:20px;margin-bottom:18px}.pill{font-size:.75rem;background:var(--light);color:var(--blue);padding:5px 8px;border-radius:999px}
.cards{display:grid;gap:12px}.match-card{border:1px solid var(--border);border-radius:12px;padding:15px;background:#fff;display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center}.score{font-size:1.3rem;font-weight:800;color:var(--blue);text-align:center}.score small{display:block;font-size:.65rem;color:var(--muted);font-weight:500}.match-card h4{margin:0 0 5px}.meta{color:var(--muted);font-size:.86rem;line-height:1.45}.tag{display:inline-block;padding:4px 7px;border-radius:999px;background:#eef3f7;margin:2px;font-size:.72rem}.tag.ok{background:#e6f5ec;color:var(--ok)}.tag.warn{background:#fff3d9;color:var(--warn)}.card-actions{display:grid;gap:8px;justify-items:end}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.summary{margin-top:16px;padding:14px;background:var(--light);border-radius:10px;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .section-title,.form-grid .full{grid-column:1/-1}.form-grid fieldset{border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid legend{font-weight:700;color:var(--blue)}.form-note{margin:0;padding:12px 14px;background:#fff8e8;border:1px solid #eed9a5;border-radius:9px;color:#6c571d}.actions{display:flex;gap:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border);font-size:.87rem;vertical-align:top}th{background:#f3f7fa;color:var(--blue2)}.status{font-size:.72rem;padding:4px 7px;border-radius:999px;background:#e7f4eb;color:var(--ok);white-space:nowrap}.status-concluida,.status-trocou_fora{background:#eef1f4;color:#5d6972}.status-reservada{background:#fff3d9;color:var(--warn)}.status-cancelada{background:#fbeaea;color:var(--danger)}.search{flex:1 1 380px;min-width:300px;max-width:430px}.filters{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0;flex-wrap:wrap}.filters select{min-width:220px;flex:0 0 220px}.records-tools h2{flex:0 0 auto}.records-tools{width:100%}.inline-form{display:grid;grid-template-columns:1fr 160px auto;gap:10px;margin-bottom:15px}.list{display:grid;gap:8px}.list-row{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border);border-radius:9px}.list-row .user-state{display:flex;gap:8px;align-items:center}.empty{padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:10px}.empty-cell{text-align:center;color:var(--muted);padding:24px}.toast{position:fixed;right:20px;bottom:20px;z-index:20;background:#172b3a;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow)}
@media(max-width:800px){.kpis{grid-template-columns:1fr 1fr}.grid.two,.form-grid{grid-template-columns:1fr}.form-grid fieldset{grid-template-columns:1fr}.match-card{grid-template-columns:70px 1fr}.match-card>.card-actions{grid-column:2;justify-items:start}.inline-form{grid-template-columns:1fr}.container{padding:14px}.topbar{padding:0 14px}.tabs{padding:6px 10px}.section-title,.records-tools{align-items:stretch;flex-direction:column}.filters{flex-direction:column;align-items:stretch}.filters select,.search{max-width:none;min-width:0;flex:1 1 auto}}

.privacy-note{font-size:.78rem;font-weight:600;color:var(--muted);}
