.card,.class-card{margin:1rem 0;padding:1rem;background:#fff;border:1px solid #cbd5c4;border-bottom:4px solid #e3e9df;border-radius:15px}.card h2{margin:.1rem 0 .6rem;font-size:1.2rem}
.class-card summary{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;font-weight:850}.class-title{font-size:1.15rem;overflow-wrap:anywhere}
.badge{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.82rem;font-weight:850;border:1px solid #9ba994;background:#eef3e9;color:#30432a}.badge.archived{background:#f3f3f1;color:#4a4a44;border-color:#9b9b92}
.block{margin-top:1.1rem;padding-top:.8rem;border-top:1px solid #dce4da}.block h3{margin:0 0 .5rem;font-size:1.05rem}.hint{margin:.2rem 0;color:var(--muted);font-size:.9rem}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.6rem 1rem;align-items:end;margin:.4rem 0}.field{display:grid;gap:.3rem;font-weight:800}
.field input,.field select,.field textarea{min-height:44px;width:100%;padding:.55rem .7rem;border:1px solid #9ba994;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-weight:500}
.choice{display:flex;align-items:center;gap:.5rem;min-height:44px;font-weight:650}.choice input{width:1.15rem;height:1.15rem;accent-color:#375b25}
.stage-list,.people{display:grid;gap:.6rem;margin:.4rem 0;padding:0;list-style:none}.stage-row{display:grid;grid-template-columns:minmax(10rem,2fr) minmax(9rem,1fr) auto;gap:.5rem;align-items:end;padding:.6rem;background:#f5f8f2;border-radius:11px}
.person{display:grid;gap:.35rem;padding:.7rem;background:#f5f8f2;border-radius:11px}.person-name{font-weight:800;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.button{min-height:44px;padding:.55rem .85rem;border:1px solid #87977d;border-radius:10px;background:#fff;color:#30432a;font:inherit;font-weight:850;cursor:pointer;justify-self:start}.button.primary{background:#375b25;color:#fff;border-color:#375b25}.button.danger{color:#8a2e29;border-color:#c68e88}.button:disabled{opacity:.55;cursor:not-allowed}
.form-error{margin:.3rem 0;color:#7a241f;font-weight:750}.empty{margin:1rem 0;padding:1rem;border-left:4px solid #668e48;background:#edf5e8;border-radius:0 10px 10px 0}.status-panel.error{border-color:#b84036}
.button:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.class-card summary:focus-visible{outline:3px solid #195db5;outline-offset:2px}
@media(max-width:640px){.stage-row{grid-template-columns:1fr}.button{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.attendance{display:grid;gap:.4rem;margin:.6rem 0 0;padding:.7rem;border:1px solid #cbd5c4;border-radius:11px;background:#fff}.attendance legend{font-weight:850;padding:0 .3rem}.att-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;align-items:center;border-top:1px solid #dce4da;padding-top:.4rem}.att-choices{display:flex;gap:.8rem}#company-attendance{margin-top:2rem}
