*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f3f5f7;color:#18202a}.topbar,.public-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#17202a;color:white}.topbar a,.public-header a{color:white;margin-left:18px;text-decoration:none}.container{max-width:1400px;margin:24px auto;padding:0 16px}.card{background:white;border-radius:10px;padding:20px;margin-bottom:20px;box-shadow:0 1px 4px #0001}.button,button{display:inline-block;border:0;border-radius:6px;padding:9px 14px;background:#e7eaee;color:#17202a;text-decoration:none;cursor:pointer}.primary{background:#1f6feb!important;color:white!important}.button-row{display:flex;gap:10px;flex-wrap:wrap}.grid-form{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.grid-form .wide{grid-column:1/-1}label{font-weight:600}input,select,textarea{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid #ccd2d8;border-radius:5px;font:inherit}textarea{min-height:80px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid #e4e7ea}.small-input{width:100px}.inline{display:inline-flex;align-items:center;gap:5px;margin-left:8px;font-weight:400}.inline input,.check-row input{width:auto;margin:0}.error{padding:10px;background:#fee2e2;margin-bottom:12px}.success{padding:10px;background:#dcfce7;margin-bottom:12px}.login-wrap{max-width:460px;margin:8vh auto;padding:16px}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.check-row{display:flex;align-items:center;gap:8px;font-weight:500}.inline-form{display:flex;gap:8px;align-items:center}.inline-form input{min-width:150px;margin:0}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.grid-form,.metrics-grid{grid-template-columns:1fr}.public-header{align-items:flex-start;gap:12px;flex-direction:column}table{font-size:.9rem}.small-input{width:80px}}

.danger{background:#b42318!important;color:white!important}.table-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.table-actions form{margin:0}.inline-editor{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;margin:8px 0;align-items:center}.inline-editor input{margin:0}.round-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}.score-input{min-width:90px}.save-status{font-size:.85rem;color:#667085}@media(max-width:900px){.inline-editor{grid-template-columns:1fr}.round-header{display:block}}

.heat-card{padding:0;overflow:hidden}.heat-title{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#eef2f6;border-bottom:1px solid #dfe4ea}.heat-title h2{margin:0}.heat-title span{color:#667085;font-size:.9rem}.heat-card table{margin:0}.table-scroll{overflow-x:auto}.preview-title{margin-top:30px}

.order-controls{display:flex;align-items:center;gap:6px}.order-controls form{margin:0}.order-controls button{padding:5px 9px;min-width:34px}.order-controls span{min-width:22px;text-align:center;font-weight:600}

.score-filter-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.score-filter-form label{min-width:160px}.score-filter-form select{margin-top:5px}

.class-ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.class-ranking-block{border:1px solid #e4e7ea;border-radius:8px;padding:14px}.class-ranking-block h3{margin-top:0}@media(max-width:900px){.class-ranking-grid{grid-template-columns:1fr}}
