@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&display=swap');
:root{--black:#171411;--cream:#f6f0e4;--paper:#fffdf8;--gold:#c58a28;--orange:#bd6729;--brown:#6b4326;--green:#3f7f43;--muted:#81776b;--line:#e7ddce;--danger:#b74a3c;--shadow:0 10px 30px rgba(37,27,18,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--cream);color:var(--black)}a{text-decoration:none;color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:245px;background:var(--black);color:#fff;padding:24px 14px;position:fixed;inset:0 auto 0 0}.brand{padding:4px 12px 25px;border-bottom:1px solid #3a332b;margin-bottom:18px}.brand .eagle{font-size:34px}.brand strong{display:block;font-size:18px;letter-spacing:.5px}.brand small{color:#cbb89d}.nav a{display:flex;gap:12px;padding:12px 14px;border-radius:10px;color:#d9d1c6;margin:5px 0;font-size:14px}.nav a:hover,.nav a.active{background:linear-gradient(90deg,#a66d17,#c58a28);color:#fff}.rule{margin-top:28px;border:1px solid #6b4b20;border-radius:12px;padding:14px;color:#e9d5ac;font-size:12px;line-height:1.5}.main{margin-left:245px;width:calc(100% - 245px);padding:28px 32px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.top h1{margin:0;font-size:30px}.top small{color:var(--muted)}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.metric{padding:18px}.metric label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:700}.metric b{display:block;font-size:30px;margin-top:7px}.metric span{font-size:12px;color:var(--green)}.content{grid-template-columns:minmax(0,1fr) 310px;margin-top:18px}.section{padding:20px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section h2{font-size:18px;margin:0}.btn{border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-block}.btn.primary{background:var(--gold);color:#fff}.btn.dark{background:var(--black);color:#fff}.btn.light{background:#f1e7d7;color:var(--brown)}.btn.danger{background:var(--danger);color:#fff}.btn.wide{width:100%}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{background:#f1eadf;color:#695b4e;text-align:left;padding:11px}.table td{padding:11px;border-bottom:1px solid var(--line)}.status{display:inline-block;padding:5px 9px;border-radius:7px;font-size:10px;font-weight:800}.status.green{background:#dcefdc;color:#2f6e32}.status.yellow{background:#f8eac7;color:#8a651e}.status.red{background:#f5d8d3;color:#96372d}.bar{height:7px;background:#eee5d8;border-radius:20px;overflow:hidden;width:75px}.bar i{display:block;height:100%;background:var(--green);border-radius:20px}.side-list{display:flex;flex-direction:column;gap:12px}.event{border:1px solid var(--line);border-radius:10px;padding:12px}.event b{font-size:13px}.event small{display:block;color:var(--muted);margin-top:4px}.alertbox{padding:12px;border-radius:10px;background:#fff5df;margin-bottom:10px;font-size:12px}.player{display:grid;grid-template-columns:220px 1fr;gap:20px;margin-top:18px}.playerbox{padding:20px}.avatar{height:210px;background:linear-gradient(145deg,#d7c7ad,#f8f1e3);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:75px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:#f1e7d7;padding:6px 9px;border-radius:8px;font-size:11px}.mini{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:15px}.mini .card{padding:12px}.mini b{font-size:20px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#fffaf0,#e9ddc9)}.login-card{width:390px;background:#fffdf8;padding:34px;border-radius:18px;box-shadow:var(--shadow);border:1px solid var(--line)}.brand-mark{text-align:center;font-size:54px}.login-card h1{text-align:center;font-size:22px;margin:6px 0}.login-card p{text-align:center;color:var(--muted);margin-bottom:25px}.login-card label{display:block;font-size:12px;font-weight:700;margin:14px 0}.login-card input,.form input,.form select,.form textarea{width:100%;margin-top:7px;padding:11px;border:1px solid #d9cdbb;border-radius:8px;background:#fff;font:inherit}.alert{padding:10px;border-radius:8px;font-size:12px;margin:10px 0}.danger{background:#f7dddd;color:#8f3128}.actions{display:flex;gap:8px;align-items:center}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form{padding:20px}.form label{font-size:12px;font-weight:700}.form textarea{min-height:90px}.search{display:flex;gap:8px}.search input{padding:10px;border:1px solid var(--line);border-radius:8px}.pagination{display:flex;gap:5px;margin-top:15px}@media(max-width:1200px){.metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.sidebar{width:70px}.brand strong,.brand small,.nav span,.rule{display:none}.main{margin-left:70px;width:calc(100% - 70px);padding:18px}.content{grid-template-columns:1fr}.player{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.metrics,.formgrid{grid-template-columns:1fr}.main{padding:12px}.table{font-size:11px}.table th,.table td{padding:7px}}

.photo-grid{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;margin-bottom:18px}.photo-box{width:130px;height:150px;border-radius:12px;overflow:hidden;background:#f1e7d7;border:1px solid var(--line)}.photo-preview{width:100%;height:100%;object-fit:cover}.photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:42px}.muted{display:block;color:var(--muted);font-size:11px;margin-top:6px}.table-avatar{width:38px;height:38px;object-fit:cover;border-radius:50%;vertical-align:middle;margin-right:8px;border:2px solid #e7ddce}@media(max-width:600px){.photo-grid{grid-template-columns:1fr}}
.admin-bottom{position:absolute;bottom:18px;left:22px;right:12px}.admin-bottom a{color:#e2b965}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.stat-card b{display:block;font-size:25px;margin-top:4px}.stat-card small{color:var(--muted)}.notice{padding:18px;border-radius:14px;border:1px solid #e2c68f;background:#fff7e8}.notice.important{border-left:6px solid var(--orange)}.notice.urgent{border-left:6px solid var(--danger);background:#fff0ed}.notice h3{margin:0 0 7px}.photo-grid.two{grid-template-columns:130px 130px 1fr}.photo-grid.three{grid-template-columns:repeat(3,1fr)}.photo-caption{font-size:11px;color:var(--muted);margin-top:5px}.card-image{max-width:260px;max-height:170px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}.att-present{background:#dce9ff!important;color:#1856a6!important}.att-absent{background:#f8d9d5!important;color:#9b3027!important}.att-just{background:#f8eac7!important;color:#8a651e!important}.big-counts{display:flex;gap:10px;flex-wrap:wrap}.big-count{padding:12px 16px;border-radius:10px;font-weight:800}.blue-box{background:#dce9ff;color:#1856a6}.red-box{background:#f8d9d5;color:#9b3027}.gray-box{background:#eee7dc;color:#6f655a}.link-list{display:flex;gap:8px;flex-wrap:wrap}.link-list a{padding:8px 10px;background:#f1e7d7;border-radius:8px;font-size:12px;color:var(--brown)}.rank-1{background:#fff5d5}.rank-2{background:#f4f1e9}.rank-3{background:#f7e4d4}.player-hero{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}.avatar-large{width:170px;height:190px;border-radius:16px;object-fit:cover;background:#eadfce;border:1px solid var(--line)}.avatar-small{width:44px;height:44px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px}.result-win{color:#2f6e32;font-weight:800}.result-draw{color:#8a651e;font-weight:800}.result-loss{color:#96372d;font-weight:800}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.player-hero{grid-template-columns:1fr}.photo-grid.two{grid-template-columns:1fr 1fr}.photo-grid.three{grid-template-columns:1fr 1fr}}@media(max-width:600px){.stat-grid{grid-template-columns:1fr}.photo-grid.two{grid-template-columns:1fr}.photo-grid.three{grid-template-columns:1fr}}
.table-scroll{overflow-x:auto;max-width:100%;padding-bottom:5px}.table-scroll .table{min-width:1450px}.tiny-input{width:62px!important;margin:0!important;padding:7px!important}.confirmed-mini{margin-top:8px;display:flex;gap:5px;flex-wrap:wrap;max-width:420px}.confirmed-title{font-size:10px;color:var(--muted);font-weight:800;width:100%;margin-bottom:2px}.position-pill{background:#f1e7d7;color:var(--brown);border-radius:7px;padding:4px 7px;font-size:10px;font-weight:700}.attendance-select{font-weight:800}.position-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.position-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.position-card h4{margin:0 0 8px}.position-player{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line);font-size:12px}@media(max-width:800px){.position-grid{grid-template-columns:1fr}}
.field-mini{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbf7ef;display:flex;gap:5px;flex-wrap:wrap}.field-title{width:100%;font-size:10px;font-weight:800;color:var(--brown);margin-bottom:2px}

/* V9 portal navigation and visual polish */
.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--gold);text-transform:uppercase;margin-bottom:7px}.top-actions{display:flex;gap:10px;align-items:center}.online-badge{background:#edf7ed;color:#2f6e32;border:1px solid #cfe3cf;border-radius:999px;padding:9px 12px;font-size:11px;font-weight:800}.portal-view{scroll-margin-top:24px}.evaluation-summary{background:linear-gradient(135deg,#fffdf8 0%,#fbf4e7 100%)}.evaluation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px}.eval-row{padding:4px 0}.eval-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:13px}.eval-label span{font-weight:700;color:#5d554c}.eval-label b{font-size:16px;color:var(--brown)}.eval-track{height:9px;border-radius:999px;background:#e9dfd0;overflow:hidden}.eval-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--orange))}.eval-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.eval-footer b{color:var(--black)}[hidden]{display:none!important}.nav a{transition:background .15s ease,transform .15s ease}.nav a:hover{transform:translateX(2px)}.player-hero{background:linear-gradient(135deg,#fffdf8,#fbf5e9)}.stat-card{transition:transform .15s ease,border-color .15s ease}.stat-card:hover{transform:translateY(-2px);border-color:#d4b16a}@media(max-width:800px){.evaluation-grid{grid-template-columns:1fr}.top-actions{display:none}}
/* V10 - portal visual redesign */
body{background:linear-gradient(180deg,#f7f1e6 0%,#eee5d6 100%)}
.main{max-width:1500px}
.portal-hero{display:grid;grid-template-columns:130px 1fr 150px;gap:22px;align-items:center;padding:22px;margin-bottom:18px;background:linear-gradient(135deg,#fffdf8,#f6ead6);border:1px solid #dfc99f;position:relative;overflow:hidden}
.portal-hero:after{content:'🦅';position:absolute;right:22px;bottom:-35px;font-size:140px;opacity:.035;pointer-events:none}
.hero-avatar-wrap{width:130px;height:150px}.portal-avatar{width:130px;height:150px;object-fit:cover;border-radius:16px;border:3px solid #fff;box-shadow:0 8px 22px rgba(58,40,21,.16);display:block}.portal-avatar.placeholder{display:flex;align-items:center;justify-content:center;background:#eadfcf;font-size:58px}
.hero-copy h2{margin:0;font-size:29px}.hero-copy p{margin:5px 0 12px;color:var(--muted)}.strong-chip{background:#c58a28!important;color:#fff!important}.status-chip{background:#e1f0df!important;color:#34703a!important}.hero-highlight{background:#171411;color:#f6ead6;border-radius:16px;padding:16px;text-align:center;box-shadow:0 8px 18px rgba(20,15,10,.12)}.hero-highlight span{display:block;font-size:10px;letter-spacing:1px;color:#cdb996;font-weight:800}.hero-highlight b{display:block;font-size:38px;color:#e0ad4c;line-height:1.05;margin:6px 0}.hero-highlight small{color:#cfc2ae}
.dashboard-stats{grid-template-columns:repeat(5,1fr);margin-bottom:18px}.stat-card{background:rgba(255,253,248,.94)}.stat-card span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.stat-card.accent-blue{border-top:3px solid #4c7fc4}.best-card{border-top:3px solid var(--gold)}
.dashboard-columns{display:grid;grid-template-columns:1.35fr .9fr;gap:18px;margin-bottom:18px}.agenda-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffaf2;margin-bottom:10px}.date-box{width:52px;height:54px;border-radius:10px;background:#171411;color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center}.date-box b{font-size:19px;color:#e1b45f}.date-box span{font-size:9px;color:#d6c5aa}.agenda-info{flex:1}.agenda-info b{display:block}.agenda-info small{display:block;color:var(--muted);margin-top:3px}.notice-mini{padding:12px;border-radius:11px;background:#fff8e9;border:1px solid #e7d3a9;margin-bottom:10px}.notice-mini b{display:block}.notice-mini small{color:var(--muted);font-size:10px}.notice-mini p{font-size:12px;line-height:1.5;margin:7px 0 0;color:#544b41}
.profile-page{padding:24px}.profile-top{display:grid;grid-template-columns:210px 1fr;gap:26px;align-items:start}.profile-photo-panel{position:relative}.profile-photo{width:190px;height:230px;object-fit:cover;border-radius:18px;border:3px solid #fff;box-shadow:0 10px 25px rgba(47,32,18,.15);display:block}.profile-photo.placeholder{display:flex;align-items:center;justify-content:center;background:#eadfcf;font-size:70px}.photo-label{font-size:9px;font-weight:800;letter-spacing:1px;color:var(--muted);margin:8px 0 0 4px}.profile-summary h2{font-size:34px;margin:2px 0 3px}.profile-sub{color:var(--muted);margin:0 0 13px}.profile-data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.profile-data-grid>div{padding:12px;background:#faf4e9;border:1px solid var(--line);border-radius:11px}.profile-data-grid small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.profile-data-grid b{display:block;margin-top:4px;font-size:14px}.profile-links{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.profile-links h3{margin:0 0 12px}.profile-link{display:inline-flex;padding:9px 12px;border-radius:9px;background:#f0e4d0;color:var(--brown);font-size:12px;font-weight:700;margin:0 7px 7px 0}.profile-link:hover{background:#e4cfaa}
.event-modern{padding:16px;border-radius:14px;background:#fffdf8;margin-bottom:14px;box-shadow:0 5px 16px rgba(48,35,22,.05)}.event-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.event-head b{font-size:16px}.event-head small{display:block;color:var(--muted);margin-top:5px}.event-card{max-width:320px;max-height:190px;margin-top:12px}
.empty-state{padding:30px 12px;text-align:center;color:var(--muted);background:#fbf7ef;border-radius:12px;border:1px dashed #ddcfba}
@media(max-width:1100px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}.profile-data-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.portal-hero{grid-template-columns:95px 1fr}.hero-avatar-wrap,.portal-avatar{width:95px;height:115px}.hero-highlight{grid-column:1/-1}.dashboard-columns{grid-template-columns:1fr}.profile-top{grid-template-columns:1fr}.profile-photo{width:150px;height:185px}}
@media(max-width:600px){.dashboard-stats{grid-template-columns:1fr 1fr}.profile-data-grid{grid-template-columns:1fr}.profile-photo{width:130px;height:165px}.event-head{flex-direction:column}.agenda-card{align-items:flex-start}.agenda-card>.status{margin-left:auto}}
/* V11 - aligned player portal / profile / training detail */
:root{--nav:#151310;--nav2:#1d1914;--paper:#fffdf8;--cream:#f5eee2;--gold2:#d39a2b;--green2:#2e9b69}
body{background:#f4ede2;color:#181512}
.layout{min-height:100vh}
.sidebar{background:linear-gradient(180deg,#14120f,#191612);border-right:1px solid #30261b;box-shadow:4px 0 18px rgba(0,0,0,.06)}
.brand{padding:26px 20px 22px}.brand .eagle{font-size:32px;margin-bottom:5px}.brand strong{font-size:19px;display:block;letter-spacing:.2px}.brand small{display:block;color:#c9b99e;margin-top:3px}
.nav{padding:18px 12px}.nav a{border-radius:11px;padding:12px 14px;color:#eee6d9;margin:4px 0}.nav a.active{background:linear-gradient(90deg,#c98a22,#dda13b);color:#fff;box-shadow:0 7px 16px rgba(180,119,21,.22)}
.rule{margin:18px 12px;border:1px solid #8c611e;border-radius:13px;padding:16px;color:#f1dfbb;background:#17130f}.rule b:first-child{font-size:11px;color:#d6a64b;letter-spacing:.7px}
.main{padding:30px 34px 50px;max-width:1500px;margin:0 auto}.top{margin-bottom:22px}.top h1{font-size:36px;letter-spacing:-1px}.top small{color:#756b60}.card{background:rgba(255,253,248,.96);border:1px solid #e1d4c1;box-shadow:0 7px 24px rgba(69,50,29,.06);border-radius:16px}
.portal-hero{border-radius:18px}.hero-avatar-wrap{width:118px;height:135px}.portal-avatar{width:118px;height:135px;border-radius:14px}.hero-copy h2{font-size:30px}.dashboard-stats{gap:13px}.stat-card{min-height:95px;display:flex;flex-direction:column;justify-content:center}.stat-card b{font-size:28px}.dashboard-columns{align-items:start}.section{padding:20px}.section h2{font-size:20px}.agenda-card{position:relative;min-height:72px}.agenda-link{color:inherit;text-decoration:none;transition:.16s ease}.agenda-link:hover{transform:translateY(-1px);border-color:#d0a354;box-shadow:0 7px 15px rgba(69,50,29,.08)}.agenda-arrow{font-size:30px;color:#a87a2b;margin-left:5px;line-height:1}.date-box{background:#181512}.date-box b{color:#e1ad4d}
/* profile */
.profile-shell{display:flex;flex-direction:column;gap:18px}.profile-main-card{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:26px;background:var(--paper);border:1px solid #dfd2c0;border-radius:18px;box-shadow:0 8px 26px rgba(69,50,29,.07);align-items:center}.profile-photo-col{position:relative;width:200px}.profile-photo-v11{width:200px;height:220px;object-fit:cover;object-position:center top;border-radius:18px;border:3px solid #fff;box-shadow:0 10px 24px rgba(35,26,18,.15);display:block}.profile-photo-v11.placeholder{display:flex;align-items:center;justify-content:center;background:#e9dfd0;font-size:65px}.profile-photo-badge{position:absolute;left:12px;bottom:12px;background:#e8f4e8;color:#287044;border:1px solid #bdd7c0;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900;box-shadow:0 4px 10px rgba(0,0,0,.08)}.profile-info-col h2{font-size:34px;margin:0 0 2px;letter-spacing:-.7px}.profile-fullname{color:#756b60;margin:0 0 14px}.profile-position-row{display:flex;gap:24px;flex-wrap:wrap;padding:13px 0;border-top:1px solid #e9dfd0;border-bottom:1px solid #e9dfd0;color:#645b51}.profile-position-row b{display:inline-block;background:#f0e1c5;color:#6d4916;border-radius:7px;padding:5px 8px;margin-left:6px}.profile-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.profile-info-grid>div{padding:12px;border:1px solid #eadfce;border-radius:12px;background:#fbf7ef}.profile-info-grid span{display:block;color:#84796d;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.5px}.profile-info-grid b{display:block;margin-top:5px;font-size:13px}.profile-green{color:#287044}.profile-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-section-card{padding:20px}.identity-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.identity-list>div{padding:12px;background:#fbf7ef;border:1px solid #eadfce;border-radius:11px}.identity-list span{display:block;color:#857a6e;font-size:10px;text-transform:uppercase;font-weight:800}.identity-list b{display:block;margin-top:4px}.profile-link-list{display:flex;flex-direction:column;gap:8px}.profile-link-v11{display:grid;grid-template-columns:30px 1fr 18px;align-items:center;text-decoration:none;color:#3f3428;background:#fbf7ef;border:1px solid #eadfce;border-radius:11px;padding:11px 13px;font-weight:700;font-size:13px}.profile-link-v11:hover{border-color:#d3a14b;background:#f7eddb}.profile-link-v11 b{color:#a77725;font-size:22px}
/* training detail */
.training-detail-card{padding:24px}.training-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #e8dccb}.training-detail-head h2{font-size:30px;margin:2px 0 5px}.training-detail-head p{margin:0;color:#756b60}.training-card-media{text-align:center;padding:22px 0}.training-card-media img{max-width:720px;width:100%;max-height:390px;object-fit:contain;border-radius:14px;border:1px solid #e2d6c5;box-shadow:0 8px 22px rgba(50,36,22,.08)}.training-description{background:#fbf7ef;border:1px solid #e9ddca;border-radius:13px;padding:16px;margin-bottom:16px}.training-description h3{margin:0 0 7px}.training-description p{margin:0;color:#5f564c;line-height:1.65}.training-confirm-box{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;border-radius:14px;background:#181512;color:#f6eddf;margin-bottom:18px}.training-confirm-box small{display:block;color:#c9bba6;margin-top:4px}.field-modern{padding:18px;border:1px solid #e5d8c5;border-radius:14px;background:#fffaf2;margin-bottom:18px}.field-modern-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.field-modern-head h3{margin:0}.confirmed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.confirmed-player{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #eadfce;border-radius:11px;background:#fff}.confirmed-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f0e2ca}.confirmed-player b{display:block;font-size:12px}.confirmed-player small{display:block;color:#82776b;font-size:10px;margin-top:2px}
@media(max-width:1000px){.profile-main-card{grid-template-columns:170px 1fr}.profile-photo-col,.profile-photo-v11{width:170px}.profile-photo-v11{height:190px}.profile-info-grid{grid-template-columns:repeat(2,1fr)}.profile-two-col{grid-template-columns:1fr}.confirmed-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.main{padding:20px 14px 40px}.profile-main-card{grid-template-columns:1fr}.profile-photo-col,.profile-photo-v11{width:145px}.profile-photo-v11{height:165px}.profile-info-grid{grid-template-columns:1fr 1fr}.training-detail-head,.training-confirm-box{flex-direction:column;align-items:flex-start}.confirmed-grid{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:1fr 1fr}}

/* V14 - acessibilidade e polimento visual */
.btn{transition:filter .15s ease,transform .1s ease,box-shadow .15s ease}
.btn:hover{filter:brightness(1.08)}
.btn:active{transform:translateY(1px)}
button.btn{font:inherit}
.btn:focus-visible,.nav a:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d39a2b;outline-offset:2px}
input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(197,138,40,.15);outline:none}
.card{transition:box-shadow .18s ease}
.alert{display:flex;align-items:center;gap:8px}
.status{letter-spacing:.3px}
::selection{background:#e0ad4c;color:#171411}
.btn.danger{box-shadow:0 4px 10px rgba(183,74,60,.18)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* V15 - cards de treino/jogo com data ao lado + ver detalhes */
.training-card .event-head{display:flex;align-items:center;gap:14px}
.training-card .date-box{flex-shrink:0;width:52px;height:54px}
.event-title-col{flex:1;min-width:0}
.event-title-col b{display:block;font-size:15px}
.event-title-col small{display:block;color:var(--muted);margin-top:3px}
.training-card .actions{flex-wrap:wrap}
.training-card .actions .btn.light{display:inline-flex;align-items:center;gap:5px}
@media(max-width:500px){.training-card .event-head{flex-wrap:wrap}.training-card .status{margin-left:auto}}

/* V15 - edição de perfil do jogador */
.profile-edit-card{padding:22px}
.profile-edit-card .formgrid{grid-template-columns:repeat(2,1fr)}
.profile-edit-card textarea{min-height:70px}
@media(max-width:700px){.profile-edit-card .formgrid{grid-template-columns:1fr}}

/* V16 - blindagem: garante que os cards apareçam mesmo se algum cache antigo de CSS ficar pra trás */
.stat-grid,.dashboard-stats{display:grid !important}
.card,.stat-card{background:#fffdf8 !important;border:1px solid #e7ddce !important;border-radius:12px !important;box-shadow:0 6px 18px rgba(37,27,18,.06) !important}
.stat-card{padding:16px !important}
.stat-card b{display:block !important;font-size:24px !important;margin-top:4px !important;color:#171411 !important}
.stat-card small{display:block !important;color:#81776b !important;font-size:11px !important;text-transform:uppercase !important;font-weight:700 !important}
.stat-card span{display:block !important;color:#81776b !important;font-size:11px !important;margin-top:5px !important}

/* V16 - some com o "Sair" duplicado no desktop (fica só o do topo); no mobile ele volta, pois é o único visível lá */
@media(min-width:801px){.player-bottom-logout{display:none}}

/* V17 - blindagem e refinamento do cabeçalho do perfil (hero) */
.portal-hero{
  display:grid !important;
  grid-template-columns:130px 1fr 160px !important;
  gap:24px !important;
  align-items:center !important;
  padding:24px !important;
  margin-bottom:20px !important;
  background:linear-gradient(135deg,#fffdf8,#f6ead6) !important;
  border:1px solid #dfc99f !important;
  border-radius:18px !important;
  box-shadow:0 10px 28px rgba(58,40,21,.08) !important;
}
.hero-avatar-wrap{width:130px !important;height:150px !important}
.portal-avatar{width:130px !important;height:150px !important;border-radius:16px !important;object-fit:cover !important;border:3px solid #fff !important;box-shadow:0 8px 22px rgba(58,40,21,.16) !important}
.portal-avatar.placeholder{display:flex !important;align-items:center !important;justify-content:center !important;background:#eadfcf !important;font-size:58px !important}
.hero-copy .eyebrow{font-size:11px !important;font-weight:800 !important;letter-spacing:1.5px !important;color:#c58a28 !important;text-transform:uppercase !important;margin-bottom:6px !important}
.hero-copy h2{font-size:30px !important;margin:0 0 4px !important;font-weight:800 !important;letter-spacing:-.5px !important;color:#171411 !important}
.hero-copy p{margin:0 0 14px !important;color:#81776b !important;font-size:14px !important}
.hero-copy .chips{display:flex !important;flex-wrap:wrap !important;gap:8px !important}
.hero-copy .chip{display:inline-flex !important;align-items:center !important;background:#f1e7d7 !important;color:#6b4326 !important;padding:7px 13px !important;border-radius:999px !important;font-size:12px !important;font-weight:700 !important;border:none !important}
.hero-copy .chip.strong-chip{background:#c58a28 !important;color:#fff !important}
.hero-copy .chip.status-chip{background:#e1f0df !important;color:#2f6e32 !important}
.hero-highlight{
  background:#171411 !important;
  color:#f6ead6 !important;
  border-radius:16px !important;
  padding:18px !important;
  text-align:center !important;
  box-shadow:0 10px 22px rgba(20,15,10,.18) !important;
}
.hero-highlight span{display:block !important;font-size:10px !important;letter-spacing:1.5px !important;color:#cdb996 !important;font-weight:800 !important;text-transform:uppercase !important}
.hero-highlight b{display:block !important;font-size:36px !important;color:#e0ad4c !important;line-height:1.1 !important;margin:8px 0 !important}
.hero-highlight small{color:#cfc2ae !important;font-size:11px !important}
@media(max-width:800px){
  .portal-hero{grid-template-columns:95px 1fr !important}
  .hero-avatar-wrap,.portal-avatar{width:95px !important;height:115px !important}
  .hero-highlight{grid-column:1/-1 !important}
}

/* V18 - corrige overflow horizontal que empurrava o layout e sobrepunha o menu fixo */
html,body{overflow-x:hidden !important;max-width:100% !important}
.hero-copy{min-width:0 !important;overflow-wrap:anywhere !important}
.portal-hero{min-width:0 !important}
.main{overflow-x:hidden !important;min-width:0 !important}
.layout{min-width:0 !important}
.hero-copy p{overflow-wrap:anywhere !important}

/* V19 - correção definitiva: o menu lateral usava position:fixed (preso à janela,
   fora do fluxo da página), o que descolava ele do conteúdo sempre que a página
   ganhava rolagem horizontal (de propósito ou não). Trocado para "sticky", que
   acompanha a página normalmente e nunca fica dessincronizado. */
.layout{display:flex !important;width:100% !important;max-width:100vw !important;overflow-x:hidden !important;align-items:flex-start !important}
.sidebar{position:sticky !important;top:0 !important;height:100vh !important;flex-shrink:0 !important;inset:auto !important;margin:0 !important}
.main{margin-left:0 !important;width:auto !important;flex:1 1 0% !important;min-width:0 !important;max-width:100% !important}
html,body{overflow-x:hidden !important;width:100% !important}

/* V20 - resumo de presença e escalação automática do treino */
.position-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.position-card{border:1px solid #e7ddce;border-radius:12px;padding:12px;background:#fff}
.position-card h4{margin:0 0 8px;font-size:11px;color:#81776b;text-transform:uppercase;letter-spacing:.5px}
.position-player{display:flex;justify-content:space-between;align-items:center;padding:0;border-top:none;font-size:13px}
.position-player span{color:#81776b;font-size:10px}

/* V21 - link de confirmação por treino */
.share-link-row{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.share-link-row input{flex:1;min-width:220px;padding:8px 10px;border:1px solid #e7ddce;border-radius:8px;font-size:11px;color:#6f655a;background:#fbf7ef}

body{background:#10110e}.field-wrap{display:flex;flex-direction:column;gap:18px}.pitch{position:relative;min-height:780px;border-radius:22px;background:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(#216b2b,#2f7d36);background-size:50px 50px;padding:28px;overflow:hidden;border:2px solid #c28a25;box-shadow:0 20px 60px rgba(0,0,0,.3)}.pitch:before{content:"";position:absolute;inset:26px;border:2px solid rgba(255,255,255,.72);border-radius:8px}.half-line{position:absolute;left:26px;right:26px;top:50%;border-top:2px solid rgba(255,255,255,.7)}.center-circle{position:absolute;width:130px;height:130px;border:2px solid rgba(255,255,255,.7);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.box{position:absolute;left:50%;transform:translateX(-50%);width:300px;height:110px;border:2px solid rgba(255,255,255,.7)}.box.top{top:26px}.box.bottom{bottom:26px}.slot{position:absolute;transform:translate(-50%,-50%);width:128px;height:175px;border:1px dashed rgba(255,255,255,.55);border-radius:12px;background:rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center}.slot-label{color:#fff;font-weight:800;font-size:12px;opacity:.85}.s-ata1{left:40%;top:13%}.s-ata2{left:60%;top:13%}.s-me{left:13%;top:33%}.s-mc1{left:38%;top:33%}.s-mc2{left:62%;top:33%}.s-md{left:87%;top:33%}.s-vol{left:50%;top:49%}.s-zag1{left:28%;top:68%}.s-zag2{left:50%;top:68%}.s-zag3{left:72%;top:68%}.s-gol{left:50%;top:87%}.slot.over{background:rgba(201,142,34,.35);border-color:#ffd36b}.slot .fifa-card{transform:scale(.94);transform-origin:center}.bench{background:linear-gradient(180deg,#2a2116,#171310);border:1px solid #4a3a22;border-radius:18px;padding:16px 16px 10px}.bench h3{color:#f4ead4;margin:0 0 4px}.bench small{color:#aaa}.bench-players-row{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.bench-player{display:flex;align-items:center;gap:10px;flex-shrink:0;scroll-snap-align:start;width:180px;padding:9px 10px;border:1px solid #4a3a22;border-radius:12px;background:#20211c;cursor:grab;text-align:left}.bench-player img,.bench-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#3c3c32;flex-shrink:0}
.bench-player .bench-info{min-width:0;flex:1}
.bench-player b{color:#fff;font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bench-player span{display:block;color:#c9b98f;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bench-player .bench-time{color:#8a7a54;font-size:9px}.fifa-card{width:132px;height:180px;border-radius:16px;background:#2a2419;border:2px solid #c58a28;box-shadow:0 10px 24px rgba(0,0,0,.35),0 0 0 1px rgba(255,231,161,.25) inset;position:relative;overflow:hidden;color:#fff;text-align:left;box-sizing:border-box;cursor:grab;transition:transform .15s ease,box-shadow .15s ease}
.fifa-card:hover{box-shadow:0 14px 28px rgba(0,0,0,.4),0 0 0 1px rgba(255,231,161,.4) inset}
.fifa-card:before{content:"";position:absolute;left:0;right:0;bottom:0;height:84px;background:linear-gradient(to bottom,rgba(23,20,17,0),rgba(23,20,17,.5) 40%,rgba(23,20,17,.94));z-index:2;pointer-events:none}
.fifa-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 30%);z-index:1;pointer-events:none}
.fifa-rating{position:absolute;left:10px;top:10px;width:30px;height:30px;border-radius:50%;background:#171411;border:1.5px solid #c58a28;color:#e8c877;font-family:'Oswald',Inter,sans-serif;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 3px 8px rgba(0,0,0,.4)}
.fifa-pos{position:absolute;left:12px;bottom:15px;font-weight:600;font-size:10.5px;color:#d9a940;font-family:'Oswald',Inter,sans-serif;letter-spacing:.5px;z-index:3}
.fifa-photo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#2a2419}
.fifa-photo img{width:112%;height:112%;object-fit:cover;object-position:center 25%;margin:-6% 0 0 -6%}
.fifa-photo span{width:74px;height:74px;border-radius:50%;background:#3a3226;color:#e8c877;font-family:'Oswald',Inter,sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center}
.fifa-name{position:absolute;left:12px;bottom:30px;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:108px;font-family:'Oswald',Inter,sans-serif;letter-spacing:.2px;z-index:3;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.fifa-line{display:none}
.fifa-mini{position:absolute;left:12px;bottom:4px;font-size:7.5px;font-weight:700;letter-spacing:.6px;color:#b89a5c;font-family:'Oswald',Inter,sans-serif;z-index:3}.topbar-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.topbar-field h1{color:#f4ead4;margin:0}.topbar-field small{color:#aaa}.btn.gold{background:#c88e25;color:#fff}.saved{background:#d9f1dc;color:#246b2b;padding:10px 14px;border-radius:10px;margin-bottom:12px}.error{background:#f5d7d7;color:#8b2020;padding:10px 14px;border-radius:10px;margin-bottom:12px}.actions-field{display:flex;gap:10px;margin-top:14px}.position-order{color:#d5c7a7;font-size:12px;margin-top:12px}
@media(min-width:1001px) and (max-width:1024px){.pitch{min-height:640px;padding:20px}.slot{width:100px;height:137px}.slot .fifa-card{transform:scale(.75)}.bench-player{width:160px}}
@media(max-width:1000px){.pitch{min-height:700px}.slot{width:105px;height:144px}.slot .fifa-card{transform:scale(.79)}}

/* V22 - campo movido para o CSS global, usado no field.php (admin) e no portal.php (visão do jogador) */

/* V23 - elenco completo no painel do jogador */
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}
.roster-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 10px;background:#fff;border:1px solid #e7ddce;border-radius:14px}
.roster-photo{width:64px;height:64px;border-radius:50%;overflow:hidden;background:#eadfcf;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:8px}
.roster-photo img{width:100%;height:100%;object-fit:cover}
.roster-card b{font-size:13px}
.roster-pos{font-size:11px;color:var(--muted);margin:3px 0 6px}

/* V24 - aviso "ordem de chegada" e callout genérico (também corrige o .callout que faltava em Configurações) */
.callout{padding:14px 16px;border-radius:12px;background:#fff7e8;border:1px solid #e2c68f;color:#6b4326;font-size:13px;line-height:1.5}
.callout b{color:#171411}

/* V25 - ajustes gerais para celular */
@media(max-width:900px){
  /* Toda tabela vira rolável na horizontal sozinha, sem precisar de wrapper especial */
  .table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .table thead,.table tbody,.table tr{display:table;width:100%;table-layout:auto}
  .actions{flex-wrap:wrap}
  .top{flex-direction:column;align-items:flex-start;gap:10px}
  .top h1{font-size:24px}
  .section-head{flex-wrap:wrap;gap:8px}
  .big-counts{gap:8px}
  .big-count{padding:9px 12px;font-size:12px}
  .btn{padding:11px 14px;font-size:14px}
  .login-card{width:100%;padding:26px 20px}
  .photo-grid.two{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  .card.form,.card.section{padding:14px}
  .table-scroll .table{min-width:0}
  h1{word-break:break-word}
}
/* Campo/pitch em telas pequenas: cards menores e banco mais compacto */
@media(max-width:640px){
  .pitch{min-height:560px;padding:16px}
  .slot{width:82px;height:104px}
  .slot .fifa-card{transform:scale(.78)}
  .fifa-card{width:112px;height:153px}
  .bench-player{padding:7px}
  .bench-avatar{width:34px;height:34px}
}

/* V26 - estado "selecionado" pra montar escalação por toque (sem drag), essencial no celular */
.bench-player.picked{background:#2f2a1c;border-color:#d39a2b;box-shadow:0 0 0 2px #d39a2b inset}
.bench-player{cursor:pointer}
.fifa-card{cursor:pointer}

/* V27 - corrige bug antigo do menu lateral no celular: uma regra mais abaixo no arquivo
   (a que deixa "OS CARCARÁS FC" visível no menu cheio) vencia por ordem no CSS mesmo
   dentro da tela estreita, fazendo o texto vazar por cima do conteúdo. Isso afetava
   tanto o admin quanto a área do jogador, já que os dois usam a mesma .sidebar. */
@media(max-width:900px){
  .brand strong,.brand small,.nav span,.rule{display:none!important}
  .sidebar{width:70px!important;padding:18px 8px!important}
  .brand{padding:14px 2px!important;text-align:center;border-bottom:none!important;margin-bottom:6px!important}
  .brand .eagle{font-size:26px!important;margin:0!important}
  .nav{padding:6px!important}
  .nav a{justify-content:center;padding:12px 4px!important;margin:4px 0!important}
  .admin-bottom,.player-bottom-logout{position:static!important;margin-top:16px;padding:0 4px;text-align:center;font-size:9px;word-break:break-word}
}
@media(max-width:480px){
  .top-actions .online-badge{display:none}
}

/* V28 - caixa de confirmação em destaque (verde, centralizada) */
.confirmed-box{text-align:center;background:#e1f0df;border:1px solid #a8d5a2;border-radius:16px;padding:28px 20px;margin-bottom:16px}
.confirmed-box-icon{width:52px;height:52px;border-radius:50%;background:#2f6e32;color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.confirmed-box b{display:block;font-size:18px;color:#1f4d21;margin-bottom:4px}
.confirmed-box small{display:block;color:#3d6b3f;margin-bottom:4px}

/* V29 - card de torneio mais visual no painel do jogador */
.tournament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.tournament-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #e7ddce;border-radius:16px;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}
.tournament-card:hover{box-shadow:0 10px 24px rgba(58,40,21,.12);transform:translateY(-2px)}
.tournament-card-media{position:relative;height:120px;background:linear-gradient(135deg,#2a2419,#171411);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tournament-card-media img{width:100%;height:100%;object-fit:cover}
.tournament-card-placeholder{font-size:38px;opacity:.5}
.tournament-type-badge{position:absolute;top:10px;left:10px;font-size:10px;font-weight:800;letter-spacing:.3px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#171411}
.tournament-type-badge.copa{background:#c58a28;color:#fff}
.tournament-type-badge.misto{background:#5b7fb0;color:#fff}
.tournament-card-body{padding:14px}
.tournament-card-body b{display:block;font-size:15px;color:#171411}
.tournament-card-body small{display:block;color:var(--muted);font-size:12px;margin-top:3px;min-height:14px}
.tournament-card-stats{display:flex;gap:10px;margin-top:10px;font-size:12px;color:#6f655a}
.tournament-card-stats .s-v{color:#2f6e32;font-weight:700}
.tournament-card-stats .s-e{color:#8a651e;font-weight:700}
.tournament-card-stats .s-d{color:#96372d;font-weight:700}

/* V30 - toque melhor em tablet/celular no campo */
@media(max-width:1024px){.actions-field .btn,.actions-field button{padding:13px 18px;font-size:14px}.bench-player{min-height:52px}}

/* V30 - campo do torneio + lista lateral de confirmações */
.tournament-field{display:grid!important;grid-template-columns:minmax(0,1fr) 292px;gap:14px;align-items:start}
.tournament-field .pitch-panel{min-width:0}
.tournament-field .pitch{min-height:720px;width:100%;box-sizing:border-box}
.tournament-field .confirmation-list{height:720px;box-sizing:border-box;padding:13px 10px 10px;overflow:hidden;background:linear-gradient(180deg,#201a13,#12110e);border-color:#4d3a1f}
.confirmation-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:1px 5px 10px;border-bottom:1px solid #3a2e20;margin-bottom:8px}
.confirmation-list-head h3{font-size:12px;letter-spacing:.7px;margin:0;color:#f4ead4}
.confirmation-list-head small{display:block;color:#9c8d76;font-size:9px;margin-top:3px;line-height:1.2}
.confirmation-count{min-width:27px;height:27px;padding:0 7px;border:1px solid #c58a28;border-radius:9px;color:#f0c45d;background:#17130e;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.confirmation-player{width:auto!important;min-width:0;margin:0 0 6px;padding:6px 6px;border-radius:10px;gap:6px;background:rgba(32,33,28,.9);border-color:#352b20;cursor:default}
.confirmation-player .bench-avatar,.confirmation-player .bench-avatar img{width:34px!important;height:34px!important}
.confirmation-index{width:20px;height:20px;flex:0 0 20px;border:1px solid #9e6e1d;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#e5b54c;font-size:9px;font-weight:800;background:#17130e}
.confirmation-player .bench-info{min-width:0;flex:1}
.confirmation-player .bench-info b{font-size:11px;line-height:1.1}
.confirmation-player .bench-info span{font-size:9px;line-height:1.1;margin-top:2px}
.confirmation-player .bench-time{font-size:8.5px!important;color:#88785f!important;line-height:1.1;margin-top:3px}
.confirmation-check{width:17px;height:17px;flex:0 0 17px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#17351b;color:#74c77d;font-size:10px;font-weight:900}
.pitch-empty{min-height:720px;display:flex;align-items:center;justify-content:center;background:#171510;border:1px solid #3c3122;border-radius:18px}
@media(max-width:1050px){
  .tournament-field{grid-template-columns:minmax(0,1fr) 250px}
  .tournament-field .pitch{min-height:660px}
  .tournament-field .confirmation-list{height:660px}
  .tournament-field .slot .fifa-card{transform:scale(.82)}
}
@media(max-width:800px){
  .tournament-field{grid-template-columns:1fr}
  .tournament-field .confirmation-list{height:auto;max-height:none;overflow:visible}
  .tournament-field .pitch{min-height:620px}
  .confirmation-player{width:100%!important}
}

/* V31 - sidebar de confirmação também no ADM e banco de reservas no painel do jogador */
.admin-tournament-field .confirmation-list{height:720px;overflow:auto}
.player-tournament-sidebar{height:720px;overflow:auto}
.player-bench-section{margin-top:12px;padding-top:12px;border-top:1px solid #3a2e20}
.player-bench-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 5px 8px}
.player-bench-head h3{font-size:11px;letter-spacing:.6px;margin:0;color:#f4ead4}
.player-bench-head small{display:block;color:#9c8d76;font-size:8.5px;line-height:1.2;margin-top:3px}
.reserve-player{width:auto!important;min-width:0;margin:0 0 5px;padding:5px 6px;border-radius:9px;gap:7px;background:rgba(32,33,28,.72);border-color:#352b20}
.reserve-player .bench-avatar,.reserve-player .bench-avatar img{width:32px!important;height:32px!important}
.reserve-player .bench-info b{font-size:10px}
.reserve-player .bench-info span{font-size:8.5px}
.reserve-label{margin-left:auto;font-size:7.5px;font-weight:800;color:#c58a28;border:1px solid #6d501f;border-radius:999px;padding:3px 5px;white-space:nowrap}
.bench-empty{color:#88785f;font-size:9px;padding:6px 5px}
@media(max-width:1050px){.admin-tournament-field .confirmation-list,.player-tournament-sidebar{height:660px}}
@media(max-width:800px){.admin-tournament-field .confirmation-list,.player-tournament-sidebar{height:auto;max-height:none;overflow:visible}}


/* V32 - listas laterais: CONFIRMADOS à esquerda, CAMPO no centro, BANCO à direita */
.field-wrap,
.tournament-field{
  display:grid!important;
  grid-template-columns:260px minmax(620px,1fr) 260px!important;
  gap:14px;
  align-items:start;
}
.field-wrap > section,
.field-wrap > .pitch-panel,
.tournament-field > section,
.tournament-field > .pitch-panel{min-width:0;grid-column:2}
.field-wrap > .confirmation-list,
.tournament-field > .confirmation-list{grid-column:1;grid-row:1;height:720px;max-height:720px;overflow:auto;}
.field-wrap > .reserve-list,
.tournament-field > .reserve-list{grid-column:3;grid-row:1;height:720px;max-height:720px;overflow:auto;}
.side-list{background:linear-gradient(180deg,#201a13,#12110e);border:1px solid #4d3a1f;border-radius:18px;padding:13px 10px 10px;box-sizing:border-box;color:#f4ead4}
.side-list .bench-player{width:auto!important;min-width:0;margin:0 0 6px;padding:6px;border-radius:10px;gap:6px}
.reserve-list .reserve-player{width:auto!important;min-width:0}
.side-list .bench-players-row{display:block;overflow:visible;padding:0}
.side-list h3{color:#f4ead4;margin:0 0 4px;font-size:12px;letter-spacing:.7px}
.side-list small{color:#9c8d76;font-size:9px}
@media(max-width:1250px){
  .field-wrap,.tournament-field{grid-template-columns:220px minmax(500px,1fr) 220px!important}
  .field-wrap > .confirmation-list,.field-wrap > .reserve-list,.tournament-field > .confirmation-list,.tournament-field > .reserve-list{height:660px;max-height:660px}
}
@media(max-width:1000px){
  .field-wrap,.tournament-field{grid-template-columns:1fr!important}
  .field-wrap > section,.field-wrap > .pitch-panel,.tournament-field > section,.tournament-field > .pitch-panel{grid-column:1;grid-row:2}
  .field-wrap > .confirmation-list,.tournament-field > .confirmation-list{grid-column:1;grid-row:1;height:auto;max-height:none}
  .field-wrap > .reserve-list,.tournament-field > .reserve-list{grid-column:1;grid-row:3;height:auto;max-height:none}
}

/* V24 - gestão visual dos treinos + banner no portal do jogador */
.training-success{background:#dcefdc;color:#2f6e32;margin-bottom:16px}.training-create-card{overflow:hidden}.banner-upload-label{display:block;margin-top:16px;font-size:12px;font-weight:700}.banner-upload-label span{display:block;color:var(--muted);font-size:10px;font-weight:500;margin-top:3px}.banner-preview{height:190px;margin-top:10px;border:1px dashed #d8c7ad;border-radius:14px;background:#f8f1e5;overflow:hidden;display:flex;align-items:center;justify-content:center}.banner-preview.empty{color:#8b7d6c;text-align:center;padding:18px}.banner-preview img{width:100%;height:100%;object-fit:cover}.admin-training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-training-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(37,27,18,.07)}.admin-training-banner{height:180px;position:relative;overflow:hidden;background:#171411}.admin-training-banner img{width:100%;height:100%;object-fit:cover;display:block}.admin-training-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.25))}.admin-training-banner.no-banner{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#4a3921,#171411 70%);color:#e5c06f}.admin-training-banner.no-banner>div{text-align:center;position:relative;z-index:1}.admin-training-banner.no-banner span{font-size:42px;display:block}.admin-training-banner.no-banner b{display:block;letter-spacing:1.5px}.admin-training-banner.no-banner small{display:block;color:#bda984;margin-top:4px}.training-type-badge{position:absolute;left:14px;top:14px;z-index:2;background:rgba(23,20,17,.86);color:#f1cb78;padding:7px 10px;border:1px solid rgba(229,192,111,.35);border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.admin-training-body{padding:16px}.admin-training-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin-training-title h3{margin:0;font-size:18px}.admin-training-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.attendance-counts{display:flex;gap:5px;flex-shrink:0}.training-note-preview{font-size:12px;line-height:1.55;color:#655b50;background:#fbf7ef;border-radius:9px;padding:10px 12px}.admin-training-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.delete-training-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.delete-training-form .btn{font-size:11px;padding:8px 10px}.training-edit-dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;border:0;border-radius:18px;padding:0;background:#fffdf8;color:#171411;box-shadow:0 30px 90px rgba(0,0,0,.35)}.training-edit-dialog::backdrop{background:rgba(15,13,11,.72);backdrop-filter:blur(3px)}.edit-training-form{padding:22px;overflow:auto;max-height:90vh}.edit-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.edit-dialog-head h2{margin:2px 0 0;font-size:24px}.dialog-close{width:38px;height:38px;border:0;border-radius:50%;background:#eee4d4;font-size:25px;cursor:pointer}.remove-banner-check{display:flex!important;align-items:center;gap:8px;margin-top:10px;color:#8b342c}.remove-banner-check input{width:auto!important;margin:0!important}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.training-card .event-card{display:block;width:100%;max-width:none;height:210px;max-height:none;object-fit:cover;border-radius:12px;margin:14px 0 4px;border:1px solid #e0d3c0;box-shadow:0 7px 20px rgba(37,27,18,.09)}.training-card-media img{object-fit:cover}.training-list-section{overflow:hidden}
@media(max-width:1000px){.admin-training-grid{grid-template-columns:1fr}}
@media(max-width:600px){.admin-training-banner{height:150px}.admin-training-title{flex-direction:column}.training-card .event-card{height:165px}.training-edit-dialog .formgrid{grid-template-columns:1fr}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%;text-align:center}}


/* V33 - arquivamento, presença sincronizada e banco vertical */
.training-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 18px}.training-tabs .btn b{margin-left:5px}.inline-training-action{display:inline-flex;margin:0}.attendance-help{margin-bottom:12px;background:#eef6ea;color:#315c31}.attendance-table-wrap{overflow-x:auto}.attendance-table .attendance-time{display:block;color:var(--muted);font-size:10px;margin-top:4px}.attendance-select{min-width:130px;padding:9px 10px;border:1px solid #d9cdbb;border-radius:8px;background:#fff}.field-wrap.field-bank-layout{display:grid!important;grid-template-columns:minmax(620px,1fr) 290px!important;gap:16px!important;align-items:start}.field-wrap.field-bank-layout>section{grid-column:1!important;grid-row:1!important}.field-wrap.field-bank-layout>.field-bank{grid-column:2!important;grid-row:1!important;height:780px;max-height:780px;overflow:auto}.bench-vertical{display:flex;flex-direction:column;gap:7px;padding-top:10px}.field-bank .bench-player{display:flex;width:100%!important;margin:0!important;min-height:58px}.field-bank .bench-avatar,.field-bank .bench-avatar img{width:38px!important;height:38px!important;object-fit:cover;border-radius:50%}.field-bank.bench-over{border-color:#d39a2b;box-shadow:0 0 0 3px rgba(211,154,43,.25) inset}.fifa-card .return-bench{position:absolute;z-index:8;right:4px;top:4px;border:1px solid #f0bd55;background:#15110b;color:#ffd978;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:900;letter-spacing:.3px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.45)}.fifa-card .return-bench:hover{background:#c58a28;color:#fff}.bench-player[hidden]{display:none!important}.training-list-head{margin-bottom:12px}
@media(max-width:1150px){.field-wrap.field-bank-layout{grid-template-columns:minmax(520px,1fr) 240px!important}.field-wrap.field-bank-layout>.field-bank{height:660px;max-height:660px}}
@media(max-width:900px){.field-wrap.field-bank-layout{grid-template-columns:1fr!important}.field-wrap.field-bank-layout>section{grid-column:1!important;grid-row:1!important}.field-wrap.field-bank-layout>.field-bank{grid-column:1!important;grid-row:2!important;height:auto;max-height:none}.bench-vertical{max-height:480px;overflow:auto}.attendance-select{min-width:120px}}

.compact-description{margin:10px 0!important;padding:10px 12px!important;font-size:12px}.compact-description p{margin:0}.tournament-note-preview{display:block;margin-top:5px;line-height:1.35}


/* Exportação de escalação / WhatsApp */
.whatsapp-btn{background:#147a43!important;color:#fff!important;border-color:#147a43!important}
.whatsapp-btn:hover{filter:brightness(1.06)}
@media print{
  @page{size:A4 portrait;margin:9mm}
  body.print-lineup{background:#fff!important;color:#111!important}
  body.print-lineup .sidebar,
  body.print-lineup .nav,
  body.print-lineup .topbar-field .btn,
  body.print-lineup .top .btn,
  body.print-lineup .actions-field,
  body.print-lineup .position-order,
  body.print-lineup .return-bench,
  body.print-lineup .saved,
  body.print-lineup .error,
  body.print-lineup .alert{display:none!important}
  body.print-lineup .layout{display:block!important}
  body.print-lineup .main{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
  body.print-lineup .topbar-field,
  body.print-lineup .top{margin:0 0 8mm!important;padding:0!important;border:0!important;background:#fff!important;color:#111!important}
  body.print-lineup .topbar-field h1,
  body.print-lineup .top h1{color:#111!important;font-size:22px!important}
  body.print-lineup .topbar-field small,
  body.print-lineup .top small{color:#555!important}
  body.print-lineup .field-wrap.field-bank-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 190px!important;gap:8mm!important;align-items:start!important}
  body.print-lineup .pitch{height:650px!important;min-height:650px!important;break-inside:avoid!important;box-shadow:none!important}
  body.print-lineup .field-bank{display:block!important;background:#fafafa!important;color:#111!important;border:1px solid #ddd!important;box-shadow:none!important}
  body.print-lineup .field-bank h3,
  body.print-lineup .field-bank small,
  body.print-lineup .bench-info b,
  body.print-lineup .bench-info span,
  body.print-lineup .bench-time{color:#111!important}
  body.print-lineup .bench-player{break-inside:avoid!important;background:#fff!important;border:1px solid #ddd!important}
  body.print-lineup .reserve-label{color:#333!important}
  body.print-lineup #campo{border:0!important;box-shadow:none!important;padding:0!important}
  body.print-lineup #campo>.section-head{display:none!important}
  body.print-lineup #campo~*{display:none!important}
}
