.primary-btn,.secondary-btn,.danger-btn,.icon-btn,.icon-action-btn{border-radius:10px;font:inherit;font-weight:500;cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease,border-color .12s ease,color .12s ease}.primary-btn,.secondary-btn,.danger-btn{padding:9px 12px}.primary-btn{border:1px solid transparent;background:var(--primary, #1e7a5a);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-btn:hover:not(:disabled){background:var(--primary-strong, #145a42)}.secondary-btn{border:1px solid var(--line, #d8c7aa);background:#fff;color:var(--text, #2f241a);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.secondary-btn:hover:not(:disabled){background:#fff2dd}.danger-btn{border:1px solid #d29b8a;background:#fff;color:var(--danger, #be4f2f);display:inline-flex;align-items:center;justify-content:center;gap:8px}.danger-btn:hover:not(:disabled){background:#ffe9e2}.icon-btn,.icon-action-btn,.danger-btn.danger-btn--icon{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.icon-btn{width:36px;height:36px;border:1px solid var(--line, #d8c7aa);background:#fff;color:var(--muted, #6c5a46);font-size:20px;line-height:1}.icon-btn:hover:not(:disabled){background:#fff1df}.icon-action-btn{border:1px solid var(--line, #d8c7aa);background:#fff;color:var(--primary-strong, #145a42)}.icon-action-btn:hover:not(:disabled){background:#fff2dd}.btn-glyph{display:inline-block;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;flex-shrink:0}.icon-home{-webkit-mask-image:url(/assets/icons/home.svg);mask-image:url(/assets/icons/home.svg)}.icon-people{-webkit-mask-image:url(/assets/icons/people.svg);mask-image:url(/assets/icons/people.svg)}.icon-trophy{-webkit-mask-image:url(/assets/icons/trophy.svg);mask-image:url(/assets/icons/trophy.svg)}.icon-repeat{-webkit-mask-image:url(/assets/icons/repeat.svg);mask-image:url(/assets/icons/repeat.svg)}.icon-user-id{-webkit-mask-image:url(/assets/icons/user-id.svg);mask-image:url(/assets/icons/user-id.svg)}.icon-trash{-webkit-mask-image:url(/assets/icons/trash.svg);mask-image:url(/assets/icons/trash.svg)}.icon-edit{-webkit-mask-image:url(/assets/icons/edit.svg);mask-image:url(/assets/icons/edit.svg)}.btn-glyph--md,.btn-glyph--sm{width:14px;height:14px}.danger-btn.danger-btn--icon{border-color:#b63d21;background:var(--danger, #be4f2f);color:#fff}.danger-btn.danger-btn--icon:hover:not(:disabled){background:#a93a1f}.primary-btn:disabled,.secondary-btn:disabled,.danger-btn:disabled,.icon-btn:disabled,.icon-action-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.data-grid-table{--data-grid-columns: minmax(0, 2fr) minmax(120px, .9fr) minmax(0, 1fr);border:1px solid var(--line, #d8c7aa);border-radius:14px;overflow:hidden;background:#fff}.data-grid-head,.data-grid-row{display:grid;grid-template-columns:var(--data-grid-columns)}.data-grid-head{background:#f3e4ce;border-bottom:1px solid var(--line, #d8c7aa)}.data-grid-row:not(:last-child){border-bottom:1px solid var(--line, #d8c7aa)}.data-grid-row--clickable{cursor:pointer;transition:background-color .1s ease}.data-grid-row--clickable:hover{background:#fff2dd}.data-grid-row:focus-visible{outline:2px solid rgba(30,122,90,.28);outline-offset:-2px}.data-grid-header-btn,.data-grid-header-label,.data-grid-cell{min-width:0;padding:12px}.data-grid-header-btn{border:0;background:transparent;color:var(--text, #2f241a);font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.data-grid-header-btn.active{color:var(--primary-strong, #145a42)}.data-grid-header-label{display:flex;align-items:center;font:inherit;font-size:13px;font-weight:700;color:var(--text, #2f241a)}.data-grid-header-btn--number,.data-grid-header-label--number,.data-grid-cell--number,.data-grid-header-label--actions,.data-grid-cell--actions{justify-content:center;text-align:center}.data-grid-cell{display:flex;align-items:center}.data-grid-cell--primary{justify-content:flex-start}.data-grid-name{font-size:14px;line-height:1.15;font-weight:700}.data-grid-subtext{color:var(--muted, #6c5a46);font-size:13px}.data-action-group{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.data-grid-row--skeleton{pointer-events:none}.data-skeleton-bar{display:inline-block;width:100%;height:12px;border-radius:999px;background:linear-gradient(90deg,#efe2cf 20%,#f7edde,#efe2cf 80%);background-size:200% 100%;animation:data-skeleton-shimmer 1.15s linear infinite}.data-skeleton-bar--title{max-width:180px;height:14px}.data-skeleton-bar--text{max-width:240px}.data-skeleton-bar--number{width:42px}.data-skeleton-bar--icon{width:24px;height:24px;border-radius:8px}@keyframes data-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:700px){.data-grid-table{overflow-x:auto}}html,body{margin:0;padding:0;font-family:Trebuchet MS,Segoe UI,sans-serif}html{overflow-y:scroll;scrollbar-gutter:stable}*{box-sizing:border-box}.page-header{margin-bottom:24px}app-home-page,app-player-list-page,app-player-details-page,app-tournament-list-page,app-tournament-details-page,app-tournament-form-page,app-tournament-cycle-list-page,app-user-admin-page,app-changelog-page,app-login-page{display:block;min-height:100dvh;background:transparent!important}
