*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f5f6f8;color:#1f2430}.app-shell{display:flex;min-height:100vh}nav.sidebar{width:220px;background:#1f2430;color:#fff;padding:24px 16px}nav.sidebar h1{font-size:20px;margin-bottom:32px}nav.sidebar a{display:block;color:#cfd3dc;text-decoration:none;padding:10px 12px;border-radius:6px;margin-bottom:4px}nav.sidebar a.active,nav.sidebar a:hover{background:#343b4d;color:#fff}main.content{flex:1;padding:32px}.card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 3px #00000014;margin-bottom:20px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #ebedf1;font-size:14px}button{background:#16a34a;color:#fff;border:none;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:14px}button.secondary{background:#e5e7eb;color:#1f2430}button.danger{background:#dc2626}input,select{padding:8px 10px;border:1px solid #d7dae0;border-radius:6px;font-size:14px;width:100%}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh}.login-box{background:#fff;padding:32px;border-radius:10px;width:320px;box-shadow:0 2px 8px #0000001a}.login-box h1{margin-top:0;font-size:22px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;margin-bottom:4px;color:#555}.error-msg{color:#dc2626;font-size:13px;margin-top:8px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge-confirmado{background:#dcfce7;color:#166534}.badge-pendente{background:#fef9c3;color:#854d0e}.badge-cancelado{background:#fee2e2;color:#991b1b}.badge-concluido{background:#e0e7ff;color:#3730a3}.badge-nao_compareceu{background:#f3f4f6;color:#374151}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-row{display:flex;gap:12px}.form-row>*{flex:1}.landing{background:#fff;color:#1f2430;min-height:100vh}.landing a{text-decoration:none}.landing-header{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:24px 24px 0}.landing-logo{font-weight:800;font-size:20px;color:#1f2430}.landing-hero{max-width:760px;margin:0 auto;padding:90px 24px 60px;text-align:center}.landing-eyebrow{display:inline-block;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#0d9488;background:#0d948814;border:1px solid rgba(13,148,136,.25);padding:6px 14px;border-radius:999px;margin-bottom:22px}.landing-hero h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.15;margin:0 0 18px;font-weight:800;letter-spacing:-.5px}.landing-hero h1 span{background:linear-gradient(135deg,#16a34a,#0d9488);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero p{font-size:1.1rem;color:#5b6271;max-width:560px;margin:0 auto 32px;line-height:1.6}.landing-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.landing .btn-primary{display:inline-block;background:linear-gradient(135deg,#16a34a,#34d399);color:#fff;padding:13px 26px;border-radius:10px;font-weight:600;font-size:15px;box-shadow:0 10px 30px -10px #16a34a66}.landing .btn-ghost{display:inline-block;background:transparent;color:#1f2430;border:1px solid #d7dae0;padding:13px 26px;border-radius:10px;font-weight:600;font-size:15px}.landing-section{max-width:1100px;margin:0 auto;padding:60px 24px}.landing-section-alt{background:#f8f8fb;max-width:none;border-radius:0}.landing-section-title{text-align:center;margin-bottom:40px}.landing-section-title h2{font-size:1.7rem;margin:0 0 10px;font-weight:700}.landing-section-title p{color:#5b6271;margin:0}.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.landing-card{background:#f8f8fb;border:1px solid #ebedf1;border-radius:16px;padding:26px 22px}.landing-icon{font-size:26px;margin-bottom:14px}.landing-card h3{margin:0 0 8px;font-size:1.05rem}.landing-card p{margin:0;color:#5b6271;font-size:.92rem;line-height:1.55}.landing-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;max-width:1100px;margin:0 auto;padding:0 24px}.landing-step{text-align:center}.landing-step-numero{width:40px;height:40px;border-radius:999px;background:linear-gradient(135deg,#16a34a,#0d9488);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 14px}.landing-step p{color:#5b6271;font-size:.95rem;margin:0}.landing-footer{border-top:1px solid #ebedf1;padding:32px 24px;text-align:center;color:#5b6271;font-size:13px}
