:root{--navy:#1f7a4d;--navy2:#2d9a62;--green:#2f8f57;--green-light:#eef7f0;--green-soft:#dcefe2;--gold:#f6d43a;--ink:#102033;--muted:#68768a;--bg:#f4f7f6;--card:#fff;--line:#dbe5df;--danger:#b42318;--success:#087443}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#1f7a4d 0%,#145c38 100%);width:240px;height:100vh;padding:20px 14px;position:sticky;top:0}.brand{padding:10px 12px 22px;font-size:22px;font-weight:800}.brand small{opacity:.75;letter-spacing:.08em;margin-top:4px;font-size:11px;display:block}.nav{flex-direction:column;gap:5px;display:flex}.nav a{color:#f3fff6;border-radius:9px;padding:12px 13px;font-size:14px;transition:all .15s}.nav a:hover,.nav a.active{color:#fff;background:#ffffff29}.sidebar-footer{opacity:.65;font-size:11px;position:absolute;bottom:18px;left:20px;right:20px}.main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:62px;padding:0 28px;display:flex}.topbar h1{color:var(--navy);margin:0;font-size:20px}.content{max-width:1500px;margin:0 auto;padding:26px}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 3px 12px #14462d0f}.card-title{color:var(--navy);margin-bottom:14px;font-size:14px;font-weight:800}.kpi{color:var(--navy);font-size:28px;font-weight:800}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--navy);color:#fff;text-align:left;padding:10px 9px;font-size:12px}td{border-bottom:1px solid var(--line);padding:9px}tr:nth-child(2n) td{background:#f7faf8}tr:last-child td{border-bottom:0}.rank-1 td{font-weight:800;background:#ffe36a!important}.rank-2 td{font-weight:700;background:#e6e8eb!important}.rank-3 td{font-weight:700;background:#e8c5a3!important}.section-title{background:var(--navy);color:#fff;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-weight:800}.subtle{color:var(--muted);font-size:13px}.btn{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:700;transition:all .15s}.btn:hover{background:var(--navy2);filter:none}.btn.secondary{background:var(--green-light);color:var(--navy);border:1px solid #c9dfcf}.btn.secondary:hover{background:var(--green-soft)}.btn.success{background:var(--success)}.btn.danger{background:var(--danger)}.btn.small{padding:7px 10px;font-size:12px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.field label{color:#42526a;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.field input,.field select,.field textarea{background:#fff;border:1px solid #cfd8e3;border-radius:7px;width:100%;padding:9px 10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2f8f571f}.field textarea{resize:vertical;min-height:80px}.alert{color:#5f4b00;background:#fff5d6;border:1px solid #f0d57a;border-radius:8px;padding:12px}.success-box{color:#0a6a3e;background:#e9f8ef;border:1px solid #a9dfbd;border-radius:8px;padding:12px}.bar-row{grid-template-columns:170px 1fr 60px;align-items:center;gap:10px;margin:8px 0;display:grid}.bar{background:#e5eee8;border-radius:999px;height:12px;overflow:hidden}.bar>span{background:var(--navy2);height:100%;display:block}.badge{background:var(--green-light);color:var(--navy);border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.badge.gold{color:#6d5600;background:#fff1a8}.movement.up{color:#087443;font-weight:800}.movement.down{color:#b42318;font-weight:800}.movement.same{color:#68768a}.movement.new{color:var(--navy2);font-weight:800}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head h2{color:var(--navy);margin:0 0 4px}.mobile-nav{display:none}@media (max-width:1000px){.sidebar{width:205px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.sidebar{display:none}.mobile-nav{display:block}.content{width:100%;max-width:100%;padding:14px;overflow-x:hidden}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.topbar{min-width:0;padding:0 14px}.topbar h1{font-size:17px}.actions{gap:5px}.table-wrap{-webkit-overflow-scrolling:touch;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.table-wrap table{width:100%;min-width:0}.card{width:100%;max-width:100%;overflow:hidden}.page-head{flex-direction:column}.page-head>*{max-width:100%}.bar-row{grid-template-columns:110px 1fr 45px}}@media (max-width:768px){.app-shell{flex-direction:column!important;width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important;overflow-x:hidden!important}.app-shell .mobile-nav{flex:none!important;width:100%!important;max-width:100%!important;display:block!important}.app-shell .main{flex:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important}}@media (max-width:720px){.competitions-table{width:100%;max-width:100%;overflow:hidden}.competitions-table table{table-layout:fixed;width:100%;min-width:0;max-width:100%}.competitions-table th,.competitions-table td{word-break:break-word;overflow-wrap:anywhere;padding:8px 4px;font-size:11px;line-height:1.2}.competitions-table th:first-child,.competitions-table td:first-child{white-space:nowrap;width:23%}.competitions-table th:nth-child(2),.competitions-table td:nth-child(2){width:29%}.competitions-table th:nth-child(3),.competitions-table td:nth-child(3){width:27%}.competitions-table th:nth-child(4),.competitions-table td:nth-child(4){text-align:center;width:21%}.competitions-table .btn{white-space:nowrap;padding:5px 6px;font-size:10px;display:inline-block}.handicap-card{width:100%;min-width:0;max-width:100%}.handicap-table{width:100%;max-width:100%;overflow-x:hidden}.handicap-table table{table-layout:fixed;width:100%;min-width:0;max-width:100%}.handicap-table th,.handicap-table td{padding:8px 3px;font-size:11px;line-height:1.2}.handicap-table th{white-space:nowrap}.handicap-table td{word-break:break-word}.handicap-table th:first-child,.handicap-table td:first-child{width:28%}.handicap-table th:nth-child(2),.handicap-table td:nth-child(2){text-align:center;width:13%}.handicap-table th:nth-child(3),.handicap-table td:nth-child(3){text-align:center;white-space:nowrap;width:20%}.handicap-table th:nth-child(4),.handicap-table td:nth-child(4){text-align:center;white-space:nowrap;width:19%}.handicap-table th:nth-child(5),.handicap-table td:nth-child(5){text-align:center;white-space:nowrap;width:20%}.handicap-table td:first-child{overflow-wrap:anywhere}.players-table{width:100%;max-width:100%;padding:10px;overflow-x:hidden}.players-table table{table-layout:fixed;width:100%;min-width:0}.players-table th,.players-table td{padding:8px 4px;font-size:11px;line-height:1.2}.players-table th{white-space:normal;word-break:normal}.players-table td{word-break:break-word}.players-table th:first-child,.players-table td:first-child{width:25%}.players-table th:nth-child(2),.players-table td:nth-child(2){width:22%}.players-table th:nth-child(3),.players-table td:nth-child(3),.players-table th:nth-child(4),.players-table td:nth-child(4){text-align:center;width:14%}.players-table th:nth-child(5),.players-table td:nth-child(5){text-align:center;width:12%}.players-table th:nth-child(6),.players-table td:nth-child(6){text-align:center;width:13%}.players-table td form{justify-content:center;align-items:center;display:flex;gap:4px!important}.players-table td input[type=number]{min-width:48px;padding:6px 3px;font-size:11px;width:48px!important}.players-table td button{white-space:nowrap;padding:6px 5px;font-size:10px}.players-table .badge{white-space:normal;padding:3px 5px;font-size:9px}}
