.fab-save{position:fixed;right:20px;top:5%;transform:translateY(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;background:linear-gradient(135deg,#6366f1f2,#8b5cf6f2);color:#fff;border:none;border-radius:14px;box-shadow:0 4px 20px #6366f166;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.04em;transition:transform .2s,box-shadow .2s,opacity .2s}.fab-save span{writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase}.fab-save:hover:not(:disabled){transform:translateY(calc(-50% - 3px));box-shadow:0 8px 30px #6366f18c}.fab-save:disabled{opacity:.55;cursor:not-allowed}.save-status-floating{position:fixed;right:20px;bottom:20px;z-index:1200;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;box-shadow:0 8px 24px #1118271f}.save-status-floating .dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:save-status-pulse 1s infinite}.save-status-floating.saving{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.save-status-floating.saved{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.save-status-floating.error{color:#991b1b;background:#fee2e2;border-color:#fca5a5}@keyframes save-status-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (max-width: 768px){.save-status-floating{right:12px;bottom:12px;max-width:calc(100vw - 24px)}}:root{--app-bg: #1b478e}html{margin:0;padding:0;width:100%;min-height:100%;box-sizing:border-box;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;background-color:var(--app-bg);-webkit-backface-visibility:hidden;backface-visibility:hidden;touch-action:manipulation;-webkit-user-scalable:no;font-size:16px;overflow-x:hidden}*,*:before,*:after{box-sizing:inherit}html body,html body *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}::selection{background:#b3d4fc;color:#102a43}img,svg,video,canvas{max-width:100%}body{margin:0;padding:0;width:100%;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;background-color:var(--app-bg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-scalable:no;-webkit-touch-callout:none;overflow-x:hidden}app-root{display:block;width:100%;max-width:100%;background-color:var(--app-bg);position:relative;z-index:1;overflow-x:hidden}.safe-area-fill{padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(0px,env(safe-area-inset-bottom));padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));box-sizing:border-box}app-tournament .gallery-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-color:#ffd46a8c;background:#ffd46a24;color:#ffd46a;text-decoration:none}app-tournament .gallery-tab:hover,app-tournament .gallery-tab:focus-visible{border-color:#ffd46a;background:linear-gradient(120deg,#ffd46a,#f3b942);color:#0a213f}app-tournament .gallery-tab svg{width:17px;height:17px;stroke-width:1.8}app-tournament .gallery-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}app-tournament .gallery-setting-row input{min-width:0}app-tournament .gallery-setting-row button{min-height:42px}@media (max-width: 720px){app-tournament .gallery-setting-row{grid-template-columns:minmax(0,1fr)}app-tournament .gallery-setting-row button{width:100%}}@media (max-width: 720px){html,body,app-root,.app-layout,.main-content{max-width:100%;overflow-x:clip}.main-content>*{min-width:0;max-width:100%}}app-tournament .player-management-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border-radius:12px;background:#081b31a8}app-tournament .player-management-heading>div{display:grid;gap:4px;min-width:0}app-tournament .player-management-heading strong{color:var(--registration-copy);font-size:15px}app-tournament .player-management-heading span{color:var(--registration-muted);font-size:12px;line-height:1.4}app-tournament .player-excel-button{min-height:44px;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;padding:9px 15px;border:1px solid rgba(99,215,172,.45);border-radius:10px;color:#b9f5df;background:#1b7e5c33;font:inherit;font-size:12px;font-weight:850;cursor:pointer}app-tournament .player-excel-button:hover{background:#2399704d}app-tournament .player-excel-button:focus-visible{outline:3px solid #8fc2ff;outline-offset:2px}app-tournament .player-excel-button:disabled{cursor:not-allowed;opacity:.5}app-tournament .player-excel-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 640px){app-tournament .player-management-heading{align-items:stretch;flex-direction:column}app-tournament .player-excel-button{width:100%}}
