.dlm-public{border:1px solid #ddd;border-radius:16px;padding:18px;margin:18px 0;background:#fff}.dlm-public table{width:100%;border-collapse:collapse}.dlm-public th,.dlm-public td{border-bottom:1px solid #eee;padding:10px;text-align:left}.dlm-note{font-size:.9em;opacity:.75}.dlm-slot{border:1px solid #eee;border-radius:12px;padding:12px;margin:10px 0}.dlm-slot form{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.dlm-slot button{padding:10px;border:0;border-radius:8px;background:#1f6feb;color:#fff;font-weight:700}

/* v0.2.0.0 Captain Portal + Roster Entry */
.dlm-front-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.dlm-front-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.dlm-button,.dlm-roster-form button{display:inline-block;background:#1d4ed8;color:#fff!important;border:0;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer}.dlm-roster-manager{margin-top:20px}.dlm-roster-manager .dlm-slot{display:grid;grid-template-columns:minmax(160px,1fr) 2fr;gap:12px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;margin:10px 0}.dlm-roster-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dlm-roster-form input{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:9px}.dlm-status{display:inline-block;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.dlm-note{color:#6b7280;font-size:.95rem}@media(max-width:720px){.dlm-roster-manager .dlm-slot{grid-template-columns:1fr}.dlm-roster-form{grid-template-columns:1fr}.dlm-roster-form button{width:100%}}

.dlm-match-list .dlm-front-card{margin-bottom:18px}
.dlm-scorecard{border:1px solid #d9e2ec;border-radius:16px;padding:16px;margin:16px 0;background:#fff}
.dlm-event-row{border:1px solid #eef2f7;border-radius:14px;padding:12px;margin:12px 0;background:#f8fafc}
.dlm-event-row h4{margin:0 0 10px;font-size:16px}
.dlm-event-row select,.dlm-event-row input,.dlm-scorecard textarea{width:100%;max-width:100%;padding:9px;border:1px solid #ccd6e0;border-radius:10px;margin-top:6px}
.dlm-scorecard textarea{min-height:90px}
.dlm-button.secondary{background:#6b7280}
.dlm-error{border-left:4px solid #dc2626;background:#fef2f2;padding:10px;border-radius:8px;color:#7f1d1d}
@media (max-width: 720px){.dlm-event-row .dlm-form-grid{grid-template-columns:1fr}.dlm-scorecard{padding:12px}.dlm-button{display:block;width:100%;text-align:center;margin:8px 0}}

.dlm-allstar-entry{margin-top:18px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.dlm-allstar-table{width:100%;border-collapse:collapse;margin-top:10px}
.dlm-allstar-table th,.dlm-allstar-table td{padding:8px;border-bottom:1px solid #eef0f3;text-align:left;vertical-align:top}
.dlm-allstar-table select,.dlm-allstar-table input{width:100%;max-width:100%;box-sizing:border-box}
@media (max-width:760px){.dlm-allstar-table,.dlm-allstar-table thead,.dlm-allstar-table tbody,.dlm-allstar-table th,.dlm-allstar-table td,.dlm-allstar-table tr{display:block}.dlm-allstar-table thead{display:none}.dlm-allstar-table tr{padding:10px 0;border-bottom:1px solid #e5e7eb}.dlm-allstar-table td{border:0;padding:6px 0}}

/* v0.5.0.0 Official Scorecard UX Polish */
.dlm-official-card{background:#ffffff;border:1px solid #d7dee8;border-radius:18px;padding:0;overflow:hidden;box-shadow:0 8px 28px rgba(15,23,42,.06)}
.dlm-card-header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;background:linear-gradient(180deg,#f8fafc,#eef4fb);border-bottom:1px solid #dce5ef}
.dlm-card-header h3{margin:4px 0 2px;font-size:clamp(20px,4vw,30px);line-height:1.1}.dlm-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:#475569}.dlm-total-badge{background:#0f172a;color:#fff;border-radius:16px;padding:12px 16px;text-align:center;min-width:110px}.dlm-total-badge strong{display:block;font-size:28px;line-height:1}.dlm-total-badge span{font-size:11px;opacity:.75;text-transform:uppercase;letter-spacing:.06em}.dlm-scorecard-meta,.dlm-section-totals,.dlm-review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding:14px 18px}.dlm-scorecard-meta div,.dlm-section-totals div,.dlm-review-list div{background:#f8fafc;border:1px solid #e5ebf2;border-radius:14px;padding:11px}.dlm-section-totals span,.dlm-review-list span{display:block;margin-top:4px;font-weight:800;color:#0f172a}.dlm-scorecard>.dlm-note{margin:14px 18px}.dlm-scorecard-section{margin:16px 18px;padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.dlm-scorecard-section>h4,.dlm-scorecard-section>h3{margin:0 0 12px}.dlm-official-event{background:#f8fafc;border:1px solid #e8eef5}.dlm-event-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.dlm-event-title span{font-size:12px;color:#64748b}.dlm-card-grid{display:grid;grid-template-columns:1.4fr 1.4fr .75fr .75fr .9fr;gap:10px;align-items:end}.dlm-team-column select{margin-bottom:6px}.dlm-signature-panel{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:12px;margin:16px 18px;padding:14px;background:#f8fafc;border:1px solid #e5ebf2;border-radius:16px}.dlm-signature-panel input,.dlm-signature-panel textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccd6e0;border-radius:10px;margin-top:6px}.dlm-sticky-submit{position:sticky;bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:14px 18px;background:rgba(255,255,255,.94);border-top:1px solid #e5ebf2;backdrop-filter:blur(8px)}.dlm-approval-card .dlm-review-list{padding-top:18px}.dlm-allstar-review{margin:14px 18px;padding:14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa}
@media (max-width:900px){.dlm-card-grid{grid-template-columns:1fr 1fr}.dlm-card-grid label:last-child{grid-column:1/-1}}@media (max-width:680px){.dlm-card-header{align-items:flex-start;flex-direction:column}.dlm-total-badge{width:100%;box-sizing:border-box}.dlm-card-grid,.dlm-signature-panel{grid-template-columns:1fr}.dlm-sticky-submit{display:block}.dlm-sticky-submit .dlm-button{width:100%;margin:6px 0}.dlm-scorecard-section,.dlm-signature-panel{margin-left:10px;margin-right:10px}.dlm-scorecard-meta,.dlm-section-totals,.dlm-review-list{padding-left:10px;padding-right:10px}}

/* v0.7.0.0 Playoff Brackets */
.dlm-bracket-public{display:flex;gap:16px;overflow-x:auto;padding:8px 0}.dlm-bracket-round{min-width:230px}.dlm-bracket-round h3{margin:0 0 8px}.dlm-bracket-match{background:#fff;border:1px solid #ddd;border-radius:12px;padding:10px;margin-bottom:10px}.dlm-bracket-match div{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:6px 0}.dlm-bracket-match div:last-of-type{border-bottom:0}.dlm-bracket-match small{display:inline-block;margin-top:6px;color:#667085}

/* v0.8.0.0 Eligibility */
.dlm-eligibility table{width:100%;border-collapse:collapse;}
.dlm-eligibility th,.dlm-eligibility td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;}

/* v0.9.0.0 Public League Portal Foundation */
.dlm-portal { --dlm-border:#dfe3ea; --dlm-muted:#64748b; --dlm-bg:#f8fafc; --dlm-ink:#0f172a; --dlm-accent:#1d4ed8; color:var(--dlm-ink); }
.dlm-portal a { color:var(--dlm-accent); text-decoration:none; }
.dlm-portal a:hover { text-decoration:underline; }
.dlm-portal-hero { display:flex; justify-content:space-between; gap:18px; align-items:stretch; padding:22px; margin:0 0 18px; background:linear-gradient(135deg,#ffffff,#f1f5f9); border:1px solid var(--dlm-border); border-radius:18px; box-shadow:0 10px 30px rgba(15,23,42,.06); }
.dlm-portal-hero h2 { margin:4px 0 6px; font-size:clamp(1.55rem,2.6vw,2.35rem); line-height:1.1; }
.dlm-portal-hero p { margin:0; color:var(--dlm-muted); }
.dlm-portal-status { min-width:180px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; padding:14px 16px; border-radius:14px; background:#fff; border:1px solid var(--dlm-border); }
.dlm-portal-status strong { font-size:1.25rem; }
.dlm-portal-status span { color:var(--dlm-muted); font-size:.88rem; }
.dlm-portal-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.dlm-chip { display:inline-flex; align-items:center; min-height:34px; padding:7px 12px; border-radius:999px; border:1px solid var(--dlm-border); background:#fff; color:var(--dlm-ink)!important; font-weight:700; font-size:.9rem; }
.dlm-chip.is-active { background:var(--dlm-accent); border-color:var(--dlm-accent); color:#fff!important; }
.dlm-portal-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.dlm-portal-stats div { background:#fff; border:1px solid var(--dlm-border); border-radius:16px; padding:16px; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.dlm-portal-stats strong { display:block; font-size:1.7rem; line-height:1; }
.dlm-portal-stats span { color:var(--dlm-muted); font-size:.88rem; }
.dlm-portal-section { margin:18px 0; padding:18px; background:#fff; border:1px solid var(--dlm-border); border-radius:18px; box-shadow:0 8px 24px rgba(15,23,42,.04); }
.dlm-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; }
.dlm-section-heading h3 { margin:0; font-size:1.25rem; }
.dlm-section-heading span { color:var(--dlm-muted); font-size:.88rem; }
.dlm-responsive-table { width:100%; overflow-x:auto; }
.dlm-responsive-table table { width:100%; border-collapse:collapse; }
.dlm-responsive-table th, .dlm-responsive-table td { padding:11px 10px; border-bottom:1px solid var(--dlm-border); text-align:left; vertical-align:top; }
.dlm-responsive-table th { font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:#475569; background:#f8fafc; }
.dlm-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.dlm-team-card { border:1px solid var(--dlm-border); border-radius:16px; padding:15px; background:var(--dlm-bg); }
.dlm-team-card h4 { margin:0 0 8px; font-size:1.05rem; }
.dlm-team-card p { margin:5px 0; color:#334155; }
@media (max-width: 800px) {
  .dlm-portal-hero { flex-direction:column; }
  .dlm-portal-status { align-items:flex-start; min-width:0; }
  .dlm-portal-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dlm-team-grid { grid-template-columns:1fr; }
  .dlm-responsive-table table, .dlm-responsive-table thead, .dlm-responsive-table tbody, .dlm-responsive-table th, .dlm-responsive-table td, .dlm-responsive-table tr { display:block; }
  .dlm-responsive-table thead { display:none; }
  .dlm-responsive-table tr { border:1px solid var(--dlm-border); border-radius:14px; padding:8px; margin:0 0 10px; background:#fff; }
  .dlm-responsive-table td { border:0; display:flex; justify-content:space-between; gap:16px; padding:8px; }
  .dlm-responsive-table td::before { content:attr(data-label); font-weight:700; color:#475569; }
}
@media (max-width: 520px) { .dlm-portal-stats { grid-template-columns:1fr; } }

/* v0.9.1.0 Public Match Center */
.dlm-mini-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--dlm-accent,#1d4ed8);background:#fff;color:var(--dlm-accent,#1d4ed8)!important;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:800;text-decoration:none!important;white-space:nowrap}
.dlm-mini-button:hover{background:#eff6ff;text-decoration:none!important}.dlm-match-hero .dlm-portal-status strong{font-size:1.7rem}.dlm-match-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dlm-public-scorecard .dlm-muted,.dlm-muted{color:#64748b;font-size:.88rem}.dlm-print-actions{display:flex;justify-content:flex-end;margin:0 0 12px}.dlm-note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.dlm-note-grid>div{border:1px solid var(--dlm-border,#dfe3ea);background:#f8fafc;border-radius:14px;padding:14px}.dlm-note-grid h4{margin:0 0 8px}.dlm-note-grid p{margin:0 0 8px}@media print{body *{visibility:hidden}.dlm-public-scorecard,.dlm-public-scorecard *{visibility:visible}.dlm-public-scorecard{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none}.dlm-print-actions,.dlm-portal-nav,.dlm-mini-button{display:none!important}.dlm-responsive-table table,.dlm-responsive-table thead,.dlm-responsive-table tbody,.dlm-responsive-table tr,.dlm-responsive-table th,.dlm-responsive-table td{display:table-row-group}.dlm-responsive-table table{display:table}.dlm-responsive-table thead{display:table-header-group}.dlm-responsive-table tr{display:table-row}.dlm-responsive-table th,.dlm-responsive-table td{display:table-cell}.dlm-responsive-table td::before{content:none!important}}
@media(max-width:800px){.dlm-match-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dlm-print-actions{justify-content:stretch}.dlm-print-actions .dlm-button{width:100%;text-align:center}}
@media(max-width:520px){.dlm-match-stats{grid-template-columns:1fr}}

/* v0.9.2.0 Public Playoff Portal */
.dlm-playoff-card-grid,.dlm-champion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.dlm-playoff-card,.dlm-champion-card{border:1px solid var(--dlm-border,#dfe3ea);border-radius:16px;padding:16px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}.dlm-playoff-card h4,.dlm-champion-card h4{margin:5px 0 7px;font-size:1.1rem}.dlm-playoff-card p,.dlm-champion-card p{margin:7px 0;color:#334155}.dlm-playoff-card-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.dlm-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#f1f5f9;border:1px solid #dbe3ef;color:#334155;font-size:.78rem;font-weight:800}.dlm-status-pill.status-active,.dlm-status-pill.status-ready,.dlm-status-pill.status-published{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.dlm-status-pill.status-draft,.dlm-status-pill.status-pending{background:#f8fafc;color:#475569}.dlm-status-pill.status-eligibility_warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.dlm-status-pill.status-completed{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.dlm-playoff-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dlm-public-bracket{display:flex;gap:16px;overflow-x:auto;padding:6px 0 12px;scroll-snap-type:x proximity}.dlm-public-bracket-round{min-width:260px;scroll-snap-align:start}.dlm-public-bracket-round h4{margin:0 0 10px}.dlm-public-bracket-match{border:1px solid var(--dlm-border,#dfe3ea);border-radius:16px;padding:12px;margin:0 0 12px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}.dlm-public-bracket-match.status-ready{border-color:#93c5fd}.dlm-public-bracket-match.status-completed{border-color:#c7d2fe}.dlm-public-bracket-match.status-bye,.dlm-public-bracket-match.status-auto_advanced{border-style:dashed;background:#f8fafc}.dlm-bracket-match-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px}.dlm-bracket-match-title span{font-size:.78rem;font-weight:800;color:#475569;background:#f1f5f9;border-radius:999px;padding:3px 8px}.dlm-bracket-team{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #eef2f7}.dlm-bracket-team.is-winner span,.dlm-bracket-team.is-winner strong{font-weight:900;color:#166534}.dlm-bye-label,.dlm-winner-label{margin:8px 0 0;font-size:.86rem;color:#475569}.dlm-champion-banner{background:linear-gradient(135deg,#fff7ed,#ffffff);border-color:#fed7aa}.dlm-champion-banner h3{font-size:1.8rem;margin:4px 0 6px}.dlm-champion-card{background:linear-gradient(135deg,#ffffff,#f8fafc)}@media(max-width:800px){.dlm-playoff-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dlm-public-bracket{display:block;overflow:visible}.dlm-public-bracket-round{min-width:0;margin-bottom:16px}}@media(max-width:520px){.dlm-playoff-stats{grid-template-columns:1fr}.dlm-playoff-card-grid,.dlm-champion-grid{grid-template-columns:1fr}}

/* v1.1.0.0 Blind Lineup System */
.dlm-blind-lineup-panel{border:1px solid #c7d2fe;background:#f8faff;border-radius:16px;padding:14px;margin:14px 0}.dlm-blind-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.dlm-blind-heading strong{display:block;font-size:1.05rem}.dlm-blind-heading span{display:inline-flex;margin-top:4px;border-radius:999px;background:#eef2ff;color:#3730a3;padding:3px 9px;font-size:.8rem;font-weight:800}.dlm-blind-heading small{color:#64748b}.dlm-blind-event{display:grid;grid-template-columns:minmax(170px,1fr) 90px repeat(3,minmax(130px,1fr));gap:8px;align-items:center;border-top:1px solid #e0e7ff;padding:10px 0}.dlm-blind-event select,.dlm-blind-notes textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:9px}.dlm-blind-event span{color:#64748b;font-size:.86rem}.dlm-blind-notes{display:block;margin:10px 0}.dlm-blind-notes textarea{min-height:74px;margin-top:6px}.dlm-blind-revealed{background:#fff;border:1px solid #e0e7ff;border-radius:14px;padding:12px}.dlm-blind-revealed p{margin:8px 0}@media(max-width:760px){.dlm-blind-heading{display:block}.dlm-blind-event{display:block}.dlm-blind-event select{margin-top:7px}}

.dlm-allstar-engine table td:nth-child(5),
.dlm-allstar-engine table th:nth-child(5) {
  font-weight: 700;
}
