:root{--bg: #eef4ef;--panel: #ffffff;--panel-2: #f1f7f2;--border: #d3e4d8;--green: #1f8a4c;--green-dark: #14663a;--green-darker: #0f5f2e;--green-light: #2fa862;--felt: #1f7a41;--text: #16261c;--muted: #5f7a6b;--gold: #d99a1f;--red: #cc4257;--blue: #3f86c4;--shadow: 0 6px 20px rgba(20, 80, 45, .1)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 15% -5%,#dcefe1 0%,transparent 40%),radial-gradient(circle at 90% 0%,#e2f1e6 0%,transparent 38%),var(--bg);color:var(--text);min-height:100vh}.app{max-width:1200px;margin:0 auto;padding:20px}.topbar{display:flex;align-items:center;gap:16px;padding:16px 24px;background:linear-gradient(135deg,#2a8f4f,#14663a);border:1px solid var(--green-dark);border-radius:16px;box-shadow:var(--shadow);margin-bottom:20px}.topbar .logo-img{width:68px;height:68px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.3))}.topbar h1{margin:0;font-size:28px;letter-spacing:1px;color:#fff}.topbar .subtitle{color:#cdeed7;font-size:13px;letter-spacing:4px}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tab{padding:10px 20px;background:var(--panel);border:1px solid var(--border);border-radius:10px;color:var(--muted);cursor:pointer;font-size:15px;font-weight:600;transition:all .15s}.tab:hover{color:var(--green-dark);border-color:var(--green-light)}.tab.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 10px #1f8a4c4d}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.panel h2{margin:0 0 14px;font-size:18px;color:var(--green-darker)}.panel h3{margin:0 0 10px;font-size:15px;color:var(--muted)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.kpi{background:linear-gradient(160deg,#ffffff,var(--panel-2));border:1px solid var(--border);border-radius:14px;padding:16px 18px;border-top:3px solid var(--green)}.kpi .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}.kpi .value{font-size:28px;font-weight:800;margin-top:6px;color:var(--green-darker)}.kpi .value.gold{color:var(--green)}.kpi .value.red{color:var(--red)}.kpi .sub{color:var(--muted);font-size:13px;margin-top:2px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}th{background:var(--felt);color:#fff;position:sticky;top:0;font-weight:700}td.name,th.name{text-align:left;font-weight:600}tbody tr:nth-child(2n) td{background:#f6faf7}tr:hover td{background:#1f8a4c1a}.total-cell{color:var(--green);font-weight:800;font-size:15px}.rank-cell{color:var(--muted);font-weight:700}.zero{color:#b3c6ba}.badge{font-size:10px;padding:2px 7px;border-radius:20px;margin-left:6px;vertical-align:middle}.badge.official{background:var(--green);color:#fff}.badge.guest{background:#e3f0e7;color:var(--green-dark);border:1px solid var(--green-light)}.medal{margin-right:4px}input,select{background:#fff;border:1px solid var(--border);border-radius:8px;padding:9px 11px;color:var(--text);font-size:14px}input:focus,select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #1f8a4c26}label{font-size:13px;color:var(--muted);display:block;margin-bottom:4px}.field{margin-bottom:12px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}button.btn{background:var(--green);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s}button.btn:hover{background:var(--green-dark)}button.btn.gold{background:var(--green);color:#fff}button.btn.gold:hover{background:var(--green-dark)}button.btn.danger{background:transparent;color:var(--green-dark);border:1px solid var(--border);padding:6px 12px}button.btn.danger:hover{background:var(--panel-2);border-color:var(--green-light)}button.btn:disabled{opacity:.5;cursor:not-allowed}.entry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.entry-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.entry-card.absent{opacity:.5}.entry-card .top{display:flex;justify-content:space-between;align-items:center}.entry-card input[type=number]{width:100%}.chk{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer}.muted{color:var(--muted)}.center{text-align:center}.loading{text-align:center;padding:60px;color:var(--muted);font-size:18px}.chart-box{width:100%;height:320px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:820px){.two-col{grid-template-columns:1fr}}.pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700}.pill.up{background:#1f8a4c24;color:var(--green-dark)}.pill.down{background:#cc425724;color:var(--red)}.list-clean{list-style:none;padding:0;margin:0}.list-clean li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.edit-banner{margin-top:12px;padding:10px 14px;background:#fff7e6;border:1px solid #e6c56a;border-left:4px solid var(--gold);border-radius:8px;font-size:13px;color:#6b5211}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--panel);border:1px solid var(--border);border-top:5px solid var(--green);border-radius:18px;box-shadow:0 12px 40px #14502d2e;padding:34px 30px;width:100%;max-width:360px;text-align:center}.login-logo{width:92px;height:92px;margin-bottom:6px}.login-card h1{margin:4px 0 0;color:var(--green-darker);letter-spacing:1px}.login-card .subtitle{color:var(--muted);font-size:13px;margin-bottom:20px}.login-card .field{text-align:left}.login-card input{width:100%}.login-error{background:#fdecee;border:1px solid #f2c1c8;color:var(--red);border-radius:8px;padding:8px 10px;font-size:13px;margin-bottom:8px}.user-box{margin-left:auto;text-align:right;color:#fff}.user-name{font-weight:700;font-size:15px}.user-role{font-size:12px;color:#cdeed7;margin-bottom:6px}.btn-logout{background:#ffffff26;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:8px;padding:5px 14px;font-size:13px;font-weight:600;cursor:pointer}.btn-logout:hover{background:#ffffff47}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px}.perm-item{display:flex;flex-direction:column;gap:4px}.perm-item select{width:100%}.player-name{position:relative;cursor:default}.player-name:hover{color:var(--green-dark)}.player-photo-pop{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #14502d40;padding:8px;z-index:50;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.player-photo-pop img{width:120px;height:120px;object-fit:cover;border-radius:10px;border:2px solid var(--green)}.player-photo-name{font-size:12px;font-weight:700;color:var(--green-darker);white-space:nowrap}.player-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--green);flex-shrink:0}.player-avatar-empty{width:42px;height:42px;border-radius:50%;background:var(--panel-2);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:18px;flex-shrink:0}.player-row-left{display:flex;align-items:center;gap:12px}.photo-actions{display:flex;flex-direction:column;gap:4px}.photo-btn{font-size:12px;color:var(--green-dark);cursor:pointer;background:none;border:none;padding:0;text-decoration:underline}.entry-summary{display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px}.entry-summary .pot-inline{color:var(--green-darker);font-size:16px}.entry-summary .pot-inline strong{color:var(--green)}.split-result{display:flex;gap:16px;flex-wrap:wrap;align-items:stretch;margin-top:18px}.split-pot{background:linear-gradient(160deg,#14663a,#0f5f2e);color:#fff;border-radius:14px;padding:18px 22px;display:flex;flex-direction:column;justify-content:center;min-width:200px}.split-pot .label{font-size:12px;letter-spacing:2px;color:#cdeed7}.split-pot .pot-value{font-size:34px;font-weight:800}.split-prizes{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.prize{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:10px;padding:12px}.prize.house{border-left-color:var(--gold)}.prize-pos{font-size:13px;color:var(--muted)}.prize-amount{font-size:22px;font-weight:800;color:var(--green-darker)}.prize.house .prize-amount{color:var(--gold)}.prize-who{font-size:13px;font-weight:600}
