/* Screen interface only. No rules target the approved licence artwork or print document.
   styles.css is retained byte for byte: it also contains historical print dependencies. */
@media screen  {
  body {
    background:var(--dc-page)
  }
  .login-screen,.app-shell {
    font-family:var(--dc-font);
    color:var(--dc-text);
    font-size:14px;
    line-height:1.5
  }
  .login-screen {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    place-items:center;
    min-height:100dvh;
    padding:32px 16px;
    background:var(--dc-page)
  }
  .login-panel {
    width:100%;
    max-width:440px;
    min-height:0;
    padding:32px;
    border:1px solid var(--dc-border);
    border-radius:16px;
    background:var(--dc-white);
    box-shadow:var(--dc-shadow)
  }
  .login-brand {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:28px
  }
  .login-panel .brand-mark {
    width:48px;
    height:48px;
    border:1px solid var(--dc-border);
    border-radius:12px;
    box-shadow:none
  }
  .login-brand strong {
    font-size:16px;
    letter-spacing:.02em
  }
  .login-brand small {
    display:block;
    color:var(--dc-muted);
    font-size:12px
  }
  .login-panel h1,.login-panel h2 {
    font-size:24px;
    line-height:1.25;
    color:var(--dc-navy);
    margin:0 0 8px;
    letter-spacing:-.02em;
    text-transform:none
  }
  .login-panel p {
    color:var(--dc-muted);
    font-size:14px;
    line-height:1.5;
    margin:0
  }
  .login-form {
    gap:16px;
    margin-top:24px
  }
  .login-field {
    gap:6px
  }
  .login-field span {
    color:var(--dc-text);
    font-size:14px;
    font-weight:600
  }
  .login-field input {
    min-width:0;
    width:100%;
    min-height:44px;
    background:var(--dc-white);
    color:var(--dc-text);
    border:1px solid var(--dc-control-border);
    padding:10px 12px;
    border-radius:8px
  }
  .login-field input:focus {
    border-color:var(--dc-blue);
    box-shadow:none;
    outline:2px solid var(--dc-blue);
    outline-offset:2px
  }
  .login-panel .offline-consent {
    font-size:12px;
    line-height:1.5;
    color:var(--dc-muted);
    gap:10px
  }
  .offline-consent input {
    width:18px;
    height:18px;
    margin:2px 0 0;
    accent-color:var(--dc-blue)
  }
  .login-actions {
    display:grid;
    gap:8px;
    margin-top:16px
  }
  .login-panel .login-sync-note {
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid var(--dc-border);
    color:var(--dc-muted);
    font-size:12px
  }
  .login-panel .login-error {
    color:var(--dc-danger);
    font-size:13px
  }
  .login-error:empty {
    display:none
  }
  .login-panel .btn {
    width:100%
  }
  /* Shell and navigation */
  .app-shell {
    width:100%;
    min-height:100dvh;
    margin:0;
    display:grid;
    grid-template-columns:var(--dc-sidebar) minmax(0,1fr);
    background:var(--dc-page);
    box-shadow:none
  }
  .app-shell .main {
    min-width:0
  }
  .app-shell .sidebar {
    position:sticky;
    top:0;
    align-self:start;
    width:var(--dc-sidebar);
    height:100dvh;
    min-height:0;
    overflow-y:auto;
    padding:24px 16px;
    background:var(--dc-navy);
    color:var(--dc-white);
    box-shadow:none;
    display:flex;
    flex-direction:column;
    gap:20px
  }
  .sidebar .brand-block {
    margin:0;
    gap:10px
  }
  .sidebar .brand-mark {
    width:40px;
    height:40px;
    border-radius:10px;
    box-shadow:none
  }
  .sidebar .brand-title strong {
    color:var(--dc-white);
    font-size:14px;
    line-height:1.3
  }
  .sidebar .brand-title span {
    color:#B9C7DC;
    font-size:11px;
    margin-top:3px
  }
  .sidebar .side-context {
    margin:0;
    padding:12px;
    border-radius:8px;
    border:1px solid #30405A;
    background:#14243E;
    gap:8px
  }
  .sidebar .side-context .crest {
    width:32px;
    height:32px
  }
  .sidebar .side-context span {
    color:#B9C7DC;
    font-size:11px;
    font-weight:500
  }
  .sidebar .side-context strong {
    color:var(--dc-white);
    font-size:12px;
    font-weight:600;
    overflow-wrap:anywhere
  }
  .sidebar .nav-caption {
    color:#A5B5CD;
    font-size:10px;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin:0 12px -12px
  }
  .sidebar .side-nav {
    display:grid;
    gap:4px
  }
  .sidebar .nav-link {
    display:flex;
    width:100%;
    min-height:40px;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    margin:0;
    background:transparent;
    border-radius:8px;
    color:#C9D5E7;
    font-size:13px;
    font-weight:500;
    text-align:left;
    box-shadow:none;
    cursor:pointer
  }
  .sidebar .nav-link .icon {
    width:18px;
    height:18px
  }
  .sidebar .nav-link.active {
    background:var(--dc-blue);
    color:var(--dc-white);
    box-shadow:none;
    font-weight:600
  }
  .sidebar .nav-link:hover {
    color:var(--dc-white);
    background:#253858
  }
  .sidebar .nav-link.active:hover {
    background:var(--dc-blue-hover)
  }
  .sidebar .sidebar-footer {
    margin-top:auto;
    padding-top:16px;
    border-top:1px solid #30405A
  }
  .sidebar .sidebar-totals {
    display:flex;
    justify-content:space-between;
    gap:8px;
    color:#B9C7DC;
    font-size:12px;
    padding:0 8px 12px
  }
  .sidebar-totals strong {
    color:var(--dc-white);
    margin-right:4px;
    font-size:14px
  }
  .sidebar .nav-close,.nav-backdrop {
    display:none
  }
  .app-shell .topbar {
    position:sticky;
    top:0;
    z-index:10;
    height:72px;
    padding:12px 24px;
    display:flex;
    align-items:center;
    gap:16px;
    justify-content:space-between;
    background:var(--dc-white);
    color:var(--dc-navy);
    border-bottom:1px solid var(--dc-border);
    box-shadow:none
  }
  .topbar .topbar-title {
    min-width:0;
    gap:12px
  }
  .topbar .topbar-title h1 {
    font-size:18px;
    font-weight:650;
    line-height:1.3;
    margin:0;
    color:var(--dc-navy)
  }
  .topbar .topbar-title p {
    font-size:12px;
    margin:3px 0 0;
    color:var(--dc-muted)
  }
  .topbar .topbar-actions {
    display:flex;
    align-items:center;
    gap:12px
  }
  .topbar .context-pill {
    background:var(--dc-page);
    color:var(--dc-text);
    border-color:var(--dc-border);
    font-size:12px;
    min-height:32px;
    font-weight:500
  }
  .topbar .sync-pill {
    color:var(--dc-muted);
    background:var(--dc-page);
    border:1px solid var(--dc-border);
    font-size:11px;
    font-weight:600;
    padding:6px 10px
  }
  .topbar .nav-toggle {
    display:none
  }
  .app-shell .content {
    width:100%;
    max-width:1488px;
    padding:24px;
    margin:0 auto;
    min-width:0
  }
  .app-shell .screen {
    animation:none
  }
  .app-shell .mobile-nav {
    display:none
  }
  .skip-link {
    position:fixed;
    left:260px;
    top:-60px;
    z-index:60;
    padding:10px 16px;
    color:var(--dc-white);
    background:var(--dc-navy);
    border-radius:8px
  }
  .skip-link:focus {
    top:8px
  }
  /* Common controls. Descendant exclusions protect licence typography. */
  :is(.app-shell,.login-panel) .btn {
    min-height:var(--dc-control);
    max-width:100%;
    padding:8px 14px;
    border:1px solid transparent;
    border-radius:8px;
    font-size:13px;
    line-height:1.4;
    font-weight:600;
    box-shadow:none;
    gap:8px;
    white-space:normal;
    text-align:center;
    justify-content:center;
    cursor:pointer;
    transform:none
  }
  :is(.app-shell,.login-panel) .btn .icon {
    width:17px;
    height:17px
  }
  :is(.app-shell,.login-panel) .btn-primary {
    background:var(--dc-blue);
    border-color:var(--dc-blue);
    color:var(--dc-white)
  }
  :is(.app-shell,.login-panel) .btn-primary:hover {
    background:var(--dc-blue-hover)
  }
  :is(.app-shell,.login-panel) .btn-secondary {
    background:var(--dc-white);
    color:var(--dc-text);
    border-color:var(--dc-control-border)
  }
  :is(.app-shell,.login-panel) .btn-secondary:hover {
    background:var(--dc-page)
  }
  .app-shell .btn-danger {
    color:var(--dc-danger);
    border-color:var(--dc-danger);
    background:var(--dc-white)
  }
  :is(.app-shell,.login-panel) .btn:disabled {
    background:#EFF2F6;
    color:var(--dc-muted);
    border-color:var(--dc-border);
    opacity:1;
    cursor:not-allowed;
    box-shadow:none
  }
  .app-shell .icon-button {
    width:36px;
    height:36px;
    min-width:36px;
    padding:8px;
    border:1px solid var(--dc-border);
    border-radius:8px;
    color:var(--dc-text);
    background:var(--dc-white)
  }
  .content :is(h2,h3):not(:where(.license-pro *,.print-document *,.dashboard-license-preview *)) {
    color:var(--dc-text);
    font-size:18px;
    line-height:1.35;
    letter-spacing:-.015em;
    margin:0 0 8px
  }
  .content h3:not(:where(.license-pro *,.print-document *,.dashboard-license-preview *)) {
    font-size:15px
  }
  .content p:not(:where(.license-pro *,.print-document *,.dashboard-license-preview *)) {
    color:var(--dc-muted);
    font-size:13px;
    line-height:1.55;
    margin:4px 0 12px;
    font-weight:400
  }
  .content .eyebrow {
    color:var(--dc-muted);
    font-size:10px;
    font-weight:650;
    letter-spacing:.08em
  }
  .content :is(.panel,.form-card,.module-panel,.academy-card,.list-card,.logo-editor,.player-row,.mini-license,.empty-state) {
    background:var(--dc-white);
    border:1px solid var(--dc-border);
    border-radius:12px;
    box-shadow:none
  }
  .content :is(.panel,.form-card,.module-panel) {
    padding:20px
  }
  .content :is(.home-v13,.team-workspace,.licenses-workspace,.print-studio,.academies-screen,.logos-screen) {
    display:grid;
    gap:20px
  }
  .content .section-title {
    align-items:center;
    gap:16px;
    margin-bottom:16px
  }
  .content :is(.heading-actions,.hero-actions,.team-hero-actions,.form-actions,.player-actions-row,.player-read-actions,.player-edit-actions,.module-actions,.academy-card-actions) {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px
  }
  .content :is(.field,.form-grid,.module-form,.module-panel,.logo-editor-content) {
    min-width:0
  }
  .content :is(.field label,.module-form label,.module-panel>label) {
    color:var(--dc-muted);
    font-size:12px;
    line-height:1.5;
    font-weight:600
  }
  .content :is(.field input,.field select,.field textarea,.module-form input,.module-form select,.module-form textarea,.module-panel>label input,.simple-doc-state-block select) {
    width:100%;
    min-width:0;
    min-height:40px;
    padding:8px 10px;
    border:1px solid var(--dc-control-border);
    border-radius:8px;
    background:var(--dc-white);
    color:var(--dc-text);
    font:inherit;
    box-shadow:none
  }
  .content input[type="color"] {
    padding:4px;
    max-width:80px
  }
  :is(.login-screen,.content) input::placeholder,:is(.login-screen,.content) textarea::placeholder {
    color:var(--dc-muted);
    opacity:1
  }
  :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:2px solid var(--dc-blue);
    outline-offset:3px
  }
  .sidebar :is(button,a):focus-visible {
    outline-color:var(--dc-gold)
  }
  .content .search-box {
    min-height:40px;
    min-width:0;
    padding:8px 12px;
    background:var(--dc-white);
    border:1px solid var(--dc-control-border);
    border-radius:8px;
    color:var(--dc-muted);
    box-shadow:none;
    flex:1 1 240px
  }
  .search-box input {
    min-width:0;
    color:var(--dc-text);
    font-size:13px
  }
  .content :is(.toolbar,.license-filter-grid,.roster-toolbar) {
    position:static;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    background:transparent;
    backdrop-filter:none;
    padding:0;
    border:0;
    box-shadow:none
  }
  .content .license-filter-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .content :is(.tabs,.player-file-tabs,.team-category-switcher) {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    overflow:visible
  }
  .content .tab {
    min-height:36px;
    padding:7px 12px;
    border-radius:8px;
    font-size:12px;
    line-height:1.4;
    font-weight:600;
    background:var(--dc-white);
    color:var(--dc-muted);
    border:1px solid var(--dc-control-border);
    white-space:normal
  }
  .content .tab.active,.content .category-chip.active {
    color:var(--dc-blue-hover);
    background:var(--dc-tint);
    border-color:var(--dc-blue)
  }
  .content .category-chip {
    background:var(--dc-white);
    color:var(--dc-text);
    border:1px solid var(--dc-border);
    border-radius:8px;
    padding:8px 12px;
    font-size:12px
  }
  .content .category-chip span {
    color:var(--dc-muted);
    font-size:11px
  }
  .content .status {
    color:var(--dc-muted);
    background:#EFF2F6;
    border:0;
    font-size:11px;
    font-weight:650;
    padding:5px 8px;
    border-radius:6px;
    min-height:0
  }
  .content .status.valid {
    background:var(--dc-success-bg);
    color:var(--dc-success)
  }
  .content .status.pending {
    background:var(--dc-warning-bg);
    color:var(--dc-warning)
  }
  .content .status.blocked {
    background:var(--dc-danger-bg);
    color:var(--dc-danger)
  }
  .content :is(.empty-state,.module-empty) {
    padding:24px;
    text-align:center;
    background:var(--dc-page);
    color:var(--dc-muted);
    font-size:13px
  }
  .content [role="alert"] {
    color:var(--dc-danger);
    background:var(--dc-danger-bg);
    padding:12px;
    border-radius:8px
  }
  /* Dashboard */
  .content .dashboard-hero {
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
    gap:24px;
    padding:24px;
    border:1px solid var(--dc-border);
    border-radius:12px;
    background:var(--dc-white);
    box-shadow:none;
    overflow:visible
  }
  .dashboard-hero::before {
    content:none
  }
  .content .dashboard-hero-copy h2 {
    font-size:26px;
    line-height:1.2;
    margin:8px 0 12px
  }
  .dashboard-hero-copy p {
    max-width:52ch
  }
  .content .hero-status-row {
    margin:16px 0;
    gap:8px
  }
  .content .hero-status-row span {
    color:var(--dc-muted);
    background:var(--dc-page);
    border:1px solid var(--dc-border);
    padding:5px 8px;
    border-radius:6px;
    font-size:11px;
    font-weight:500
  }
  .hero-status-row .icon {
    width:14px;
    height:14px
  }
  .dashboard-hero-card {
    min-width:0;
    padding:0;
    background:none;
    border:0;
    box-shadow:none
  }
  .dashboard-hero-card .dashboard-academy-summary {
    padding:0 0 12px;
    min-height:0;
    background:none;
    border:0
  }
  .dashboard-academy-summary .crest {
    width:32px;
    height:32px
  }
  .dashboard-academy-summary strong {
    color:var(--dc-text);
    font-size:12px
  }
  .dashboard-academy-summary span {
    color:var(--dc-muted);
    font-size:11px
  }
  .ui-license-preview {
    position:relative;
    width:100%;
    aspect-ratio:88 / 50
  }
  .ui-license-artboard {
    position:absolute;
    top:0;
    left:0;
    width:88mm;
    transform:scale(var(--preview-scale,0));
    transform-origin:top left
  }
  .ui-license-artboard>.license-card {
    width:920px;
    max-width:none
  }
  .content :is(.metric-grid,.team-stats-row) {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px
  }
  .content .metric-card {
    min-height:0;
    padding:16px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    border:1px solid var(--dc-border);
    border-radius:12px;
    background:var(--dc-white);
    box-shadow:none
  }
  .metric-card::after {
    content:none
  }
  .content .metric-icon {
    width:36px;
    height:36px;
    border-radius:8px;
    background:var(--dc-tint);
    color:var(--dc-blue)
  }
  .content .metric-card strong {
    font-size:24px;
    line-height:1.2;
    color:var(--dc-text)
  }
  .content .metric-card span,.content .metric-card small {
    color:var(--dc-muted);
    font-size:11px;
    font-weight:500
  }
  .content .dashboard-columns {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px
  }
  .content .quick-actions-grid {
    gap:8px
  }
  .content .quick-action-card {
    min-height:72px;
    padding:12px;
    grid-template-columns:36px minmax(0,1fr);
    gap:10px;
    border-color:var(--dc-border);
    border-radius:8px
  }
  .content :is(.quick-action-card,.attention-row,.print-option-card):hover {
    border-color:var(--dc-blue);
    transform:none
  }
  .content :is(.quick-action-card,.print-option-card,.attention-row) strong {
    color:var(--dc-text);
    font-size:13px
  }
  .content :is(.quick-action-card,.print-option-card,.attention-row) small {
    color:var(--dc-muted);
    font-size:11px;
    font-weight:400
  }
  .content .quick-action-icon,.content .category-icon {
    width:36px;
    height:36px;
    border-radius:8px;
    background:var(--dc-tint);
    color:var(--dc-blue)
  }
  .content .team-focus-score {
    width:64px;
    height:64px;
    background:var(--dc-tint);
    border-radius:10px;
    color:var(--dc-blue-hover)
  }
  .content .team-focus-score span,.content .team-focus-details span {
    color:var(--dc-muted);
    font-size:11px
  }
  .content .team-focus-details strong {
    color:var(--dc-text);
    font-size:15px
  }
  .content :is(.academy-progress,.doc-progress-bar) {
    background:#E8EDF4;
    height:4px
  }
  .content :is(.academy-progress,.doc-progress-bar) span {
    background:var(--dc-blue)
  }
  .content .attention-row {
    border-color:var(--dc-border);
    border-radius:8px
  }
  .content .timeline-item strong {
    color:var(--dc-text);
    font-size:13px
  }
  .content .timeline-item small,.content .timeline-item time {
    color:var(--dc-muted);
    font-size:11px
  }
  /* Academies, teams and profile */
  .content .academy-overview {
    gap:12px
  }
  .content .academy-overview article {
    padding:12px 16px;
    background:var(--dc-white);
    border:1px solid var(--dc-border);
    border-radius:8px
  }
  .content .academy-overview span {
    color:var(--dc-muted);
    font-size:11px
  }
  .content .academy-overview strong {
    color:var(--dc-text);
    font-size:22px
  }
  .content .academy-grid {
    grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
    gap:16px
  }
  .content .academy-card {
    padding:16px;
    gap:16px
  }
  .content .academy-card .crest {
    width:48px;
    height:48px
  }
  .content .academy-status {
    color:var(--dc-blue-hover);
    background:var(--dc-tint);
    font-size:11px
  }
  .content .academy-metrics span {
    background:var(--dc-page);
    color:var(--dc-muted);
    font-size:11px;
    padding:8px
  }
  .content .academy-metrics strong {
    color:var(--dc-text);
    font-size:16px
  }
  .content :is(.team-hero,.licenses-hero,.print-studio-hero) {
    padding:20px;
    gap:16px;
    background:var(--dc-white);
    color:var(--dc-text)
  }
  .content :is(.team-hero,.licenses-hero,.print-studio-hero) h2 {
    font-size:22px;
    line-height:1.25
  }
  .content .team-hero-main .crest {
    width:48px;
    height:48px
  }
  .content .team-hero-actions {
    flex:0 0 auto;
    max-width:260px
  }
  .content :is(.roster-head,.pro-player-row) {
    grid-template-columns:minmax(160px,1.4fr) minmax(100px,1fr) minmax(100px,1fr) 90px 72px;
    gap:12px
  }
  .content .roster-head {
    color:var(--dc-muted);
    font-size:11px;
    font-weight:600;
    padding:8px 12px
  }
  .content .pro-player-row {
    padding:12px;
    border-color:var(--dc-border);
    box-shadow:none;
    border-radius:8px
  }
  .content :is(.player-info-cell strong,.player-info-cell span,.license-number,.player-main-cell strong) {
    color:var(--dc-text);
    font-size:13px
  }
  .content :is(.player-doc-cell small,.player-info-cell small,.player-main-cell small) {
    color:var(--dc-muted);
    font-size:11px
  }
  .content .player-profile-layout {
    grid-template-columns:280px minmax(0,1fr);
    gap:16px
  }
  .content .player-identity-card {
    padding:0 0 16px
  }
  .content .player-identity-cover {
    min-height:100px;
    padding:16px;
    background:var(--dc-tint);
    border-bottom:1px solid var(--dc-border)
  }
  .content .player-identity-cover .crest {
    width:48px;
    height:48px
  }
  .content .player-identity-body {
    padding:0 16px;
    gap:12px
  }
  .content .player-identity-body .avatar {
    width:80px;
    height:96px;
    border-radius:10px;
    box-shadow:none
  }
  .content .player-identity-body h2 {
    font-size:19px
  }
  .content .pro-info-grid {
    margin:16px
  }
  .content .pro-info-grid span {
    color:var(--dc-muted);
    font-size:12px
  }
  .content .pro-info-grid strong {
    color:var(--dc-text);
    font-size:12px
  }
  .content .profile-quick-actions {
    margin:0 16px
  }
  .content .player-file-tabs {
    padding-bottom:12px;
    margin-bottom:16px;
    border-color:var(--dc-border)
  }
  .content :is(.player-read-card,.player-info-summary-card,.simple-doc-row,.simple-verification-card,.verification-summary) {
    background:var(--dc-page);
    border-color:var(--dc-border);
    border-radius:8px;
    padding:12px
  }
  .content :is(.player-read-card,.player-info-summary-card,.simple-doc-row,.simple-verification-card) strong {
    color:var(--dc-text);
    font-size:13px
  }
  .content :is(.player-read-card,.player-info-summary-card,.simple-doc-row,.simple-verification-card) :is(span,small,label) {
    color:var(--dc-muted);
    font-size:12px
  }
  .content .simple-doc-state-block {
    flex-wrap:wrap;
    gap:8px
  }
  .content .simple-doc-state-block input {
    accent-color:var(--dc-blue)
  }
  .content :is(.player-read-grid,.player-edit-grid) {
    gap:12px;
    align-items:start
  }
  .content .player-read-card {
    align-content:start;
    gap:6px
  }
  .content .player-read-card :is(span,small) {
    margin:0
  }
  .content .player-read-card b {
    font-size:10px;
    letter-spacing:.03em
  }
  .content .player-secondary-menu {
    background:var(--dc-danger-bg);
    border-color:#E4B5BC;
    padding:12px;
    border-radius:8px
  }
  /* Licence centre and print chrome; never the artwork */
  .content .license-hero-stats {
    gap:8px
  }
  .content .license-hero-stats>span {
    background:var(--dc-page);
    color:var(--dc-muted);
    font-size:11px;
    padding:8px 12px;
    border:1px solid var(--dc-border);
    border-radius:8px
  }
  .content .license-hero-stats strong {
    color:var(--dc-text);
    font-size:20px
  }
  .content .license-board-grid {
    grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);
    gap:20px
  }
  .content .pro-license-grid {
    grid-template-columns:1fr
  }
  .content .pro-mini-license {
    border-color:var(--dc-border);
    box-shadow:none
  }
  .content .pro-mini-license strong {
    color:var(--dc-text)
  }
  .content .pro-mini-license small {
    color:var(--dc-muted)
  }
  .content .print-studio-grid {
    grid-template-columns:minmax(240px,.65fr) minmax(0,1fr);
    gap:20px
  }
  .content .print-studio-grid>* {
    min-width:0
  }
  .content .print-option-grid {
    align-content:start;
    gap:8px
  }
  .content .print-option-card {
    padding:16px;
    min-height:76px;
    border-color:var(--dc-border);
    border-radius:8px;
    box-shadow:none
  }
  .content .print-live-preview {
    padding:20px;
    background:var(--dc-white);
    border:1px solid var(--dc-border);
    border-radius:12px
  }
  .print-studio .license-table {
    display:table;
    table-layout:fixed;
    width:100%;
    min-width:0;
    font-size:11px;
    margin-top:16px
  }
  .print-studio .license-table th,.print-studio .license-table td {
    padding:8px 4px;
    overflow-wrap:anywhere;
    color:var(--dc-text);
    border-color:var(--dc-border)
  }
  .print-studio .license-table th {
    color:var(--dc-muted);
    background:var(--dc-page);
    font-size:10px
  }
  .print-studio .license-table img {
    max-width:24px
  }
  .content .print-preview-actions {
    top:72px;
    background:var(--dc-white);
    backdrop-filter:none;
    border-color:var(--dc-border)
  }
  /* Identity editors and competition/intake modules */
  .content .logo-editor-grid {
    grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));
    gap:16px
  }
  .content .logo-editor {
    padding:16px;
    gap:16px;
    grid-template-columns:120px minmax(0,1fr)
  }
  .content .logo-dropzone,.content .logo-editor-preview {
    min-height:160px;
    background:var(--dc-page);
    border-color:var(--dc-control-border);
    border-radius:8px;
    color:var(--dc-muted)
  }
  .content .logo-editor-preview .crest {
    width:80px;
    height:80px
  }
  .content .logo-editor .form-grid.compact {
    grid-template-columns:minmax(0,1.5fr) minmax(60px,.7fr) 72px;
    gap:8px
  }
  .content .logo-editor-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px
  }
  .content .logo-editor-actions .btn {
    min-width:0
  }
  .content .module-panel {
    margin:0 0 16px;
    min-width:0
  }
  .content .module-form {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
    align-items:end;
    gap:12px
  }
  .module-form label {
    display:grid;
    gap:6px
  }
  .content .module-form button {
    justify-self:start
  }
  .content .module-actions {
    margin:16px 0
  }
  .module-table-wrap {
    max-width:100%
  }
  .module-table {
    width:100%;
    border-collapse:collapse;
    font-size:12px
  }
  .module-table th,.module-table td {
    padding:10px 12px;
    text-align:left;
    border-bottom:1px solid var(--dc-border);
    overflow-wrap:anywhere;
    color:var(--dc-text)
  }
  .module-table th {
    background:var(--dc-page);
    color:var(--dc-muted);
    font-size:11px;
    font-weight:600
  }
  .module-table .btn {
    min-height:32px;
    padding:6px 8px;
    font-size:11px
  }
  .module-panel details {
    margin-top:12px;
    border:1px solid var(--dc-border);
    border-radius:8px;
    background:var(--dc-white)
  }
  .module-panel details summary {
    padding:12px 16px;
    cursor:pointer;
    font-weight:600;
    color:var(--dc-text)
  }
  .module-panel details[open] summary {
    border-bottom:1px solid var(--dc-border)
  }
  .module-panel details .module-form {
    padding:16px
  }
  #toast {
    max-width:calc(100% - 32px);
    width:max-content;
    color:var(--dc-white);
    background:var(--dc-navy);
    border-radius:8px;
    box-shadow:var(--dc-shadow);
    font:500 13px/1.5 var(--dc-font);
    padding:12px 16px;
    pointer-events:none
  }
  #toast:empty {
    display:none
  }
  @media(max-width:1180px) {
    .content .dashboard-hero {
      grid-template-columns:minmax(0,1fr) minmax(0,.9fr)
    }
    .content .license-board-grid {
      grid-template-columns:minmax(0,1fr)
    }
    .content .license-preview-panel {
      position:static
    }
    .content .player-profile-layout {
      grid-template-columns:240px minmax(0,1fr)
    }
    .content .roster-head {
      display:none
    }
    .content .pro-player-row {
      grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto
    }
    .pro-player-row .player-doc-cell {
      grid-column:1 / 3
    }
    .topbar .context-pill {
      display:none
    }
  }
  @media(max-width:1023px) {
    .app-shell {
      grid-template-columns:minmax(0,1fr)
    }
    .app-shell .sidebar {
      position:fixed;
      left:0;
      top:0;
      z-index:50;
      display:flex;
      transform:translateX(-100%);
      visibility:hidden
    }
    body.nav-open .sidebar {
      transform:translateX(0);
      visibility:visible
    }
    body.nav-open {
      overflow-y:hidden
    }
    body.nav-open .nav-backdrop {
      display:block;
      position:fixed;
      inset:0;
      z-index:40;
      border:0;
      background:#0B173080
    }
    .sidebar .nav-close {
      display:grid;
      position:absolute;
      right:8px;
      top:6px;
      width:28px;
      height:28px;
      place-items:center;
      background:transparent;
      color:var(--dc-white)
    }
    .topbar .nav-toggle {
      display:inline-flex
    }
    .app-shell .content {
      padding:20px
    }
    .skip-link {
      left:16px
    }
  }
  @media(max-width:760px) {
    .app-shell .topbar {
      height:64px;
      padding:12px 16px;
      gap:8px
    }
    .topbar .topbar-title h1 {
      font-size:16px
    }
    .topbar .topbar-title p,.topbar .sync-pill {
      display:none
    }
    .topbar .topbar-actions {
      gap:8px
    }
    .topbar .btn {
      min-height:36px;
      padding:8px;
      font-size:12px
    }
    .app-shell .content {
      padding:16px 12px 88px
    }
    .content :is(.dashboard-hero,.dashboard-columns,.print-studio-grid) {
      grid-template-columns:minmax(0,1fr)
    }
    .content :is(.dashboard-hero,.panel,.form-card,.module-panel) {
      padding:16px
    }
    .content .dashboard-hero-copy h2 {
      font-size:24px
    }
    .content :is(.metric-grid,.team-stats-row) {
      grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .content .metric-card {
      padding:12px;
      gap:8px
    }
    .content .metric-icon {
      width:28px;
      height:28px
    }
    .content .metric-card strong {
      font-size:22px
    }
    .content :is(.section-title,.team-hero,.licenses-hero,.print-studio-hero) {
      flex-direction:column;
      align-items:stretch;
      gap:12px
    }
    .content .team-hero-actions {
      max-width:none
    }
    .content .team-hero-main {
      gap:12px
    }
    .content :is(.team-hero,.licenses-hero,.print-studio-hero) h2 {
      font-size:20px
    }
    .content .license-hero-stats {
      display:flex;
      flex-wrap:wrap
    }
    .content .player-profile-layout {
      grid-template-columns:minmax(0,1fr);
      grid-template-areas:"identity" "file" "license"
    }
    .content .player-identity-card {
      padding:0 0 16px
    }
    .content .player-read-grid {
      grid-template-columns:minmax(0,1fr)
    }
    .content .player-read-card {
      min-width:0
    }
    .content .simple-doc-row {
      display:flex;
      flex-direction:column;
      align-items:stretch;
      gap:12px
    }
    .content .simple-doc-state-block {
      justify-content:flex-start
    }
    .content .license-filter-grid {
      grid-template-columns:minmax(0,1fr)
    }
    .content .logo-editor {
      grid-template-columns:80px minmax(0,1fr);
      padding:12px;
      gap:12px
    }
    .content .logo-editor-preview {
      min-height:112px
    }
    .content .logo-editor-preview .crest {
      width:56px;
      height:56px
    }
    .content .logo-editor .form-grid.compact {
      grid-template-columns:minmax(0,1fr)
    }
    .content .logo-editor-preview span {
      font-size:11px
    }
    .content .academy-overview {
      grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .content .pro-player-row {
      grid-template-columns:minmax(0,1fr) auto
    }
    .pro-player-row .player-info-cell,.pro-player-row .player-doc-cell {
      grid-column:1 / -1
    }
    .app-shell .mobile-nav {
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      position:fixed;
      bottom:0;
      left:0;
      right:0;
      z-index:20;
      padding:6px 4px calc(6px + env(safe-area-inset-bottom));
      border-top:1px solid var(--dc-border);
      border-radius:0;
      background:var(--dc-white);
      box-shadow:none
    }
    .mobile-nav button {
      min-width:0;
      min-height:48px;
      color:var(--dc-muted);
      font-size:10px;
      font-weight:500
    }
    .mobile-nav button.active {
      color:var(--dc-blue-hover);
      background:var(--dc-tint);
      border-radius:8px
    }
    .mobile-nav .icon {
      width:18px;
      height:18px
    }
    #toast {
      bottom:80px
    }
    .module-table thead {
      display:none
    }
    .module-table tr {
      display:block;
      border:1px solid var(--dc-border);
      border-radius:8px;
      margin-bottom:8px;
      padding:4px 8px
    }
    .module-table td {
      display:grid;
      grid-template-columns:96px minmax(0,1fr);
      gap:8px;
      padding:8px 0;
      border:0
    }
    .module-table td::before {
      content:attr(data-label);
      color:var(--dc-muted);
      font-size:11px;
      font-weight:600
    }
    .module-table td:last-child {
      border-bottom:0
    }
    .content .print-preview-actions {
      top:64px
    }
    .content .form-grid {
      grid-template-columns:minmax(0,1fr)
    }
    .login-screen {
      padding:16px 12px
    }
    .login-panel {
      padding:24px 20px
    }
  }
  @media(prefers-reduced-motion:reduce) {
    #toast {
      transition:none
    }
  }
}
/* Modal chrome is outside the app shell, so it is explicitly themed. */
@media screen  {
  .ui-dialog {
    width:min(440px,calc(100% - 24px));
    max-height:calc(100dvh - 32px);
    overflow-y:auto;
    border:1px solid var(--dc-border);
    padding:24px;
    border-radius:12px;
    color:var(--dc-text);
    background:var(--dc-white);
    box-shadow:0 16px 48px #0B173025;
    font:14px/1.5 var(--dc-font)
  }
  .ui-dialog::backdrop {
    background:#0B173080
  }
  .ui-dialog-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
  }
  .ui-dialog h2 {
    font-size:20px;
    margin:0
  }
  .ui-dialog p {
    color:var(--dc-muted);
    font-size:13px
  }
  .ui-score-fields {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:12px;
    align-items:center;
    margin:24px 0
  }
  .ui-score-fields label {
    display:grid;
    gap:8px;
    font-size:12px;
    color:var(--dc-muted)
  }
  .ui-score-fields input {
    width:100%;
    min-width:0;
    min-height:44px;
    padding:8px 12px;
    font:600 24px var(--dc-font);
    border:1px solid var(--dc-control-border);
    border-radius:8px;
    color:var(--dc-text);
    background:var(--dc-white)
  }
  .ui-dialog-actions {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px
  }
  .ui-dialog button {
    min-height:40px;
    padding:8px 12px;
    border:1px solid var(--dc-control-border);
    border-radius:8px;
    background:var(--dc-white);
    color:var(--dc-text);
    font:600 13px var(--dc-font);
    cursor:pointer
  }
  .ui-dialog .ui-confirm {
    background:var(--dc-blue);
    color:var(--dc-white);
    border-color:var(--dc-blue)
  }
  .ui-dialog .icon-button {
    width:32px;
    height:32px;
    min-height:32px;
    padding:6px
  }
  .content .logo-editor-preview .brand-mark {
    width:72px;
    height:72px;
    border-radius:12px;
    box-shadow:none
  }
  .content .logo-settings-grid {
    gap:16px
  }
  .content .metric-card {
    overflow:visible
  }
  .content .metric-card .metric-icon,.content .quick-action-icon {
    background:var(--dc-tint);
    color:var(--dc-blue)
  }
}
@media screen  {
  .content .toolbar {
    flex-direction:row;
    align-items:center
  }
  .content .simple-doc-score {
    background:var(--dc-tint);
    color:var(--dc-blue-hover)
  }
  .content .doc-progress strong {
    color:var(--dc-muted);
    font-size:11px
  }
  .ui-settings {
    border:1px solid var(--dc-border);
    background:var(--dc-white);
    border-radius:12px
  }
  .ui-settings>summary {
    padding:16px 20px;
    font-size:13px;
    font-weight:600;
    color:var(--dc-text);
    cursor:pointer
  }
  .ui-settings>.panel {
    border:0
  }
  .content .player-read-card {
    align-content:start;
    grid-auto-rows:min-content
  }
  .content .player-read-card>span {
    gap:4px
  }
  .content .logo-editor-wide {
    grid-template-columns:120px minmax(0,1fr)
  }
}
@media print {
  .nav-backdrop,.skip-link,.ui-dialog {
    display:none!important
  }
}
@media screen {
  .content strong:not(:where(.license-pro *,.print-document *,.crest *,.avatar *,.brand-mark *,.status *,.simple-doc-state *)) {
    color:var(--dc-text)
  }
}
@media screen  {
  .content .player-identity-cover {
    min-height:64px;
    align-items:center
  }
  .content .player-identity-cover .crest {
    width:32px;
    height:32px
  }
  .content .player-identity-body {
    margin:0;
    padding:16px;
    grid-template-columns:64px minmax(0,1fr);
    align-items:center;
    gap:12px
  }
  .content .player-identity-body>div {
    min-width:0
  }
  .content .player-identity-body .avatar {
    width:64px;
    height:76px;
    border:0;
    border-radius:8px
  }
  .content .player-identity-body h2 {
    font-size:17px;
    margin:4px 0;
    line-height:1.25;
    overflow-wrap:anywhere
  }
  .content .player-identity-body p {
    font-size:11px;
    margin:0
  }
  .content .pro-info-grid {
    padding:0;
    margin:0 16px 16px
  }
  .content .profile-quick-actions {
    padding:0
  }
  .content .photo-edit-card {
    background:var(--dc-page);
    border:1px solid var(--dc-border);
    border-radius:8px;
    box-shadow:none
  }
  .content .photo-edit-card span {
    color:var(--dc-muted);
    font-size:12px
  }
}
@media screen {
  :is(.app-shell,.login-panel) .btn {
    transition:none
  }
}
@media screen  {
  .content .category-card {
    padding:16px;
    border:1px solid var(--dc-border);
    border-radius:12px;
    background:var(--dc-white);
    box-shadow:none
  }
  .content .category-meta-grid>span {
    background:var(--dc-page);
    border-color:var(--dc-border);
    border-radius:8px;
    padding:12px
  }
  .content .category-meta-grid small,.content .category-header .list-content>span {
    color:var(--dc-muted);
    font-size:11px;
    font-weight:500
  }
  .content .category-card-actions {
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px
  }
  .content .category-card-actions .btn {
    flex:0 1 auto;
    min-width:100px
  }
  .content .logo-editor-wide {
    grid-template-columns:120px minmax(0,1fr)
  }
  @media(max-width:760px) {
    .content .logo-editor-wide {
      grid-template-columns:minmax(0,1fr)
    }
  }
}
@media screen and (max-width:760px) {
  .login-field input,.content :is(.field input,.field select,.field textarea,.module-form input,.module-form select,.module-form textarea,.search-box input) {
    font-size:16px
  }
  :is(.app-shell,.login-panel) .btn,.ui-dialog button {
    min-height:44px
  }
  .content .tab {
    min-height:40px
  }
}
@media screen {
  #toast { visibility:hidden; transform:translateX(-50%); }
  #toast.visible { visibility:visible; transform:translateX(-50%); }
}
@media screen {
  .content .timeline-icon { background:var(--dc-tint); color:var(--dc-blue); }
  .content .timeline-row :is(span,time),.content .list-content>span { color:var(--dc-muted); font-size:11px; }
}
