/* School competitions: compact manager design-system extension. */

/* Publishing settings use the existing Manager panels and restrained accent. */
.competition-publication-block{background:var(--surface-soft,#f9faf7);padding:17px 19px;margin:15px 0;border:1px solid var(--line,#dde5e0);border-radius:10px}
.competition-publication-block h3{margin-bottom:5px}
.competition-publication-block .competition-public-url{font-size:13px;direction:ltr;text-align:left;max-width:650px;margin:7px 0;background:#fff}
.competition-publish-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}
.competition-public-link{color:var(--teal,#14725f);font-weight:700;text-decoration:underline}
.competitions-shell .competition-consent{display:flex;align-items:flex-start;gap:9px;margin:15px 0;font-weight:400;line-height:1.8;max-width:780px}
.competitions-shell .competition-consent input{width:18px;height:18px;flex:0 0 18px;min-width:18px;margin-top:6px}

.competitions-shell { margin: 22px 0 40px; padding: 24px; border: 1px solid var(--line,#dde5e0); border-radius: 14px; background: var(--surface,#fff); color: var(--ink,#1e2824); }
.competitions-shell button,.competitions-shell input,.competitions-shell select,.competitions-shell textarea { font: inherit; }
.competitions-shell input,.competitions-shell select,.competitions-shell textarea { background: #fff; color: var(--ink,#1e2824); padding: 9px 11px; border: 1px solid var(--line-strong,#cad6d0); border-radius: 9px; min-width: 0; width: 100%; }
.competitions-shell :is(input,select,textarea):focus-visible { outline: 2px solid var(--teal,#14725f); outline-offset: 1px; }
.competitions-shell :is(input,select,textarea):disabled { background: var(--surface-soft,#f9faf7); opacity: .65; }
.competitions-shell h2,.competitions-shell h3 { margin: 0; }
.competitions-shell h3 { font-size: 1.15rem; }
.competitions-shell label { display: grid; gap: 6px; font-weight: 700; font-size: .98rem; }
.competitions-shell button { min-height: 39px; cursor: pointer; }
.competitions-shell button:disabled { opacity: .5; cursor: not-allowed; }
.competitions-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--line,#dde5e0); }
.competitions-header h2 { font-size: 1.52rem; }
.competitions-kicker { display: block; font-size: .86rem; color: var(--muted,#69756f); padding-bottom: 5px; }
.competitions-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:22px 0; }
.competitions-toolbar p { margin: 0; color: var(--muted,#69756f); }
.competitions-shell .small-btn { background:var(--teal,#14725f); border:1px solid var(--teal,#14725f); color:#fff; border-radius:9px; padding:8px 16px; font-weight:700; }
.competitions-shell .small-btn:hover { background: var(--teal-dark,#0f5d4e); color:#fff; }
.competitions-shell .competition-back { color:var(--teal,#14725f); background:#fff; border-color:var(--line,#dde5e0); }
.competitions-shell .competition-back:hover { background:var(--teal-soft,#e4f1ed); color:var(--teal-dark,#0f5d4e); }
.competitions-filter { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.competitions-filter select { max-width:220px; }
.competitions-rows { border:1px solid var(--line,#dde5e0); border-radius:11px; overflow:hidden; }
.competition-row { display:flex; align-items:center; gap:14px; width:100%; border:0; background:#fff; text-align:right; padding:14px 16px; border-bottom:1px solid var(--line,#dde5e0); color:inherit; }
.competition-row:last-child { border-bottom:0; }
.competition-row:hover,.competition-row:focus-visible { background:var(--surface-soft,#f9faf7); }
.competition-row[hidden] { display:none; }
.competition-row-main { flex:1; display:grid; gap:3px; }
.competition-row-main strong { font-size:1.07rem; }
.competition-row-main small { font-size:.88rem; color:var(--muted,#69756f); }
.competition-row-state { background:var(--teal-soft,#e4f1ed); color:var(--teal-dark,#0f5d4e); padding:4px 10px; border-radius:7px; font-size:.88rem; }
.competition-row-action { color:var(--teal,#14725f); font-size:.9rem; }
.competitions-empty { padding: 20px; margin:0; color:var(--muted,#69756f); }
.competitions-honors { margin-top:26px; padding-top:16px; border-top:1px solid var(--line,#dde5e0); }
.competition-honor { padding:12px 0; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line,#dde5e0); }
.competition-honor span { color:var(--muted,#69756f); }

.competition-options { margin:16px 0; border:1px solid var(--line,#dde5e0); border-radius:9px; padding:12px; }
.competition-options summary { cursor:pointer; font-weight:700; color:var(--teal,#14725f); }
.competition-options .competition-add-form { margin-top:12px; }
.competition-member-list { margin-top:7px; border:1px solid var(--line,#dde5e0); border-radius:9px; max-height:230px; overflow:auto; padding:4px 10px; }
.competitions-shell .competition-member-item { display:flex; gap:10px; align-items:center; min-height:38px; padding:6px 0; border-bottom:1px solid var(--line,#dde5e0); font-weight:400; }
.competitions-shell .competition-member-item:last-child { border-bottom:0; }
.competitions-shell .competition-member-item input[type="checkbox"] { flex:none; width:18px; height:18px; }
.competition-form { margin-top:24px; max-width:720px; display:grid; gap:18px; }
.competition-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.competition-form > button { justify-self:start; }
.competition-help { margin:8px 0; color:var(--muted,#69756f); font-size:.9rem; line-height:1.8; }
.competition-meta { display:flex; gap:8px; flex-wrap:wrap; margin:20px 0; }
.competition-meta > span { border:1px solid var(--line,#dde5e0); border-radius:7px; background:var(--surface-soft,#f9faf7); padding:5px 9px; font-size:.9rem; }
.competitions-block { padding:20px 0; border-bottom:1px solid var(--line,#dde5e0); }
.competitions-block > h3 { margin-bottom:12px; }
.competition-person { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--line,#dde5e0); }
.competition-link { background:transparent; color:var(--teal,#14725f); border:0; padding:2px 8px; white-space:nowrap; }
.competition-link:hover { text-decoration:underline; }
.competition-add-form { display:flex; align-items:end; gap:10px; margin-top:14px; max-width:700px; flex-wrap:wrap; }
.competition-add-form label { flex:1; min-width:190px; }
.competition-team-form { display:grid; align-items:start; max-width:580px; }
.competition-team-form select[multiple] { min-height:136px; }
.competition-team-form > button { justify-self:start; }
.competition-match { margin-bottom:12px; padding:15px; border:1px solid var(--line,#dde5e0); border-radius:10px; display:grid; gap:10px; }
.competition-match-head { display:flex; justify-content:space-between; color:var(--muted,#69756f); font-size:.9rem; }
.competition-match-score { display:grid; grid-template-columns:minmax(90px,1fr) 76px 16px 76px minmax(90px,1fr); gap:8px; align-items:center; text-align:center; }
.competition-match-score input { text-align:center; }
.competition-match-score strong { overflow-wrap:anywhere; font-size:.96rem; }
.competition-match > button { justify-self:start; }
.competition-tie { max-width:360px; }
.competition-points { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 0; border-bottom:1px solid var(--line,#dde5e0); }
.competition-points > strong { min-width:130px; flex:1; }
.competition-points label { max-width:130px; }
.competition-ranking { border:1px solid var(--line,#dde5e0); border-radius:9px; }
.competition-ranking > div { display:flex; justify-content:space-between; gap:8px; padding:11px 14px; border-bottom:1px solid var(--line,#dde5e0); }
.competition-ranking > div:last-child { border-bottom:0; }
.competition-ranking span { color:var(--muted,#69756f); }
.competition-award-form { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin-top:12px; }
.competition-award-form label { min-width:180px; flex:1; }
.competition-winner-list { margin:14px 0 22px; }
.competition-print { display:none; }
.competitions-loading { padding:35px; color:var(--muted,#69756f); }
@media(max-width:650px) {
  .competitions-shell { padding:14px; margin:12px 0 24px; }
  .competitions-header h2 { font-size:1.25rem; }
  .competitions-header { gap:8px; }
  .competitions-toolbar { align-items:stretch; flex-direction:column; }
  .competition-fields { grid-template-columns:1fr; }
  .competition-row { align-items:start; flex-wrap:wrap; gap:8px; }
  .competition-row-main { flex-basis:100%; }
  .competition-row-action { margin-inline-start:auto; }
  .competition-match-score { grid-template-columns:minmax(55px,1fr) 48px 12px 48px minmax(55px,1fr); gap:4px; }
  .competition-match { padding:10px; }
  .competition-match-score input { padding:8px 3px; }
  .competition-person { flex-wrap:wrap; }
  .competition-honor { flex-direction:column; align-items:start; }
}
@media print {
  body * { visibility:hidden!important; }
  .competition-print,.competition-print * { visibility:visible!important; }
  .competition-print { display:block!important; position:fixed; inset:0; width:100%; background:#fff; color:#1e2824; padding:14mm; direction:rtl; }
  .competition-certificate { border:4px double #14725f; padding:25mm 15mm; min-height:170mm; text-align:center; display:flex; flex-direction:column; justify-content:center; gap:8mm; }
  .competition-certificate h1 { font-size:30pt; }
  .competition-certificate h2 { font-size:24pt; }
  .competition-certificate h3 { font-size:19pt; }
  @page { size:A4 landscape; margin:8mm; }
}
