@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#faf7f2;--cream-dark:#f0ebe1;--brown:#5c3d2e;--brown-light:#8b6355;--brown-pale:#d4b8a8;--green:#2d5a27;--green-light:#4a7c44;--green-pale:#e8f0e7;--gold:#c9922a;--gold-light:#f0c96b;--gold-pale:#fdf3dc;--red:#b54040;--red-pale:#fdeaea;--gray:#6b7280;--gray-light:#e5e7eb;--white:#fff;--shadow-sm:0 1px 3px #5c3d2e14;--shadow-md:0 4px 16px #5c3d2e1f;--shadow-lg:0 8px 32px #5c3d2e29;--radius:12px;--radius-sm:8px;--radius-lg:20px}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--brown);min-height:100vh;font-family:DM Sans,sans-serif;line-height:1.6}h1,h2,h3,h4{font-family:Playfair Display,serif;line-height:1.2}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--cream-dark);padding:1.5rem}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-label{color:var(--brown);letter-spacing:.02em;text-transform:uppercase;font-size:.8125rem;font-weight:600}.form-input,.form-select{border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);color:var(--brown);background:var(--cream);outline:none;width:100%;padding:.625rem .875rem;font-family:DM Sans,sans-serif;font-size:.9375rem;transition:all .2s}.form-input:focus,.form-select:focus{border-color:var(--green);background:var(--white);box-shadow:0 0 0 3px #2d5a271a}.form-input::placeholder{color:var(--brown-pale)}.form-hint{color:var(--gray);font-size:.75rem}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--green);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--green-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--cream-dark);color:var(--brown);border:1.5px solid var(--brown-pale)}.btn-secondary:hover:not(:disabled){background:var(--brown-pale)}.btn-danger{background:var(--red);color:var(--white)}.btn-danger:hover:not(:disabled){background:#943535}.btn-gold{background:var(--gold);color:var(--white)}.btn-gold:hover:not(:disabled){background:#b07e22}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-full{width:100%}.badge{border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-aguardando{background:var(--gold-pale);color:var(--gold)}.badge-selecionada{background:var(--green-pale);color:var(--green)}.badge-nao_selecionada{background:var(--red-pale);color:var(--red)}.badge-cancelada{background:var(--gray-light);color:var(--gray)}.badge-dupla_pre_formada{color:#3b5bdb;background:#e8f0ff}.badge-dupla_formada_professora{color:#7c3aed;background:#f3e8ff}.badge-solo{background:var(--cream-dark);color:var(--brown-light)}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.alert-error{background:var(--red-pale);color:var(--red);border:1px solid #f5c2c2}.alert-success{background:var(--green-pale);color:var(--green);border:1px solid #c2ddbf}.alert-info{background:var(--gold-pale);color:var(--gold);border:1px solid #f5dfa0}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--brown-light);border-bottom:2px solid var(--cream-dark);background:var(--cream);padding:.75rem 1rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--cream-dark);vertical-align:middle;padding:.875rem 1rem;font-size:.875rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--cream)}.spinner{border:3px solid var(--cream-dark);border-top-color:var(--green);border-radius:50%;width:40px;height:40px;margin:2rem auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.section-title{color:var(--brown);font-size:1.25rem}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.grid-2{grid-template-columns:1fr}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--brown-pale);border-radius:3px}
