@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#172638;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.layout{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:#0b1725;color:white;display:flex;flex-direction:column;padding:28px 15px;gap:32px}.logo{display:flex;align-items:center;gap:12px;padding-left:13px;color:#fff;text-decoration:none}.logo .brand-logo{height:42px;width:auto;object-fit:contain;display:block}.logo .brand-name{font-size:24px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.logo span{color:inherit}.eyebrow{font-size:10px;letter-spacing:2px;color:#77949c;font-weight:800}.nav{display:grid;gap:5px}.nav button{border:0;background:none;color:#9cabb8;border-radius:10px;text-align:left;padding:12px 14px;display:flex;align-items:center;gap:11px;font-size:14px;font-weight:600}.nav button:hover,.nav button.active{background:#173543;color:#65e1cd}.sidefoot{margin-top:auto;border-top:1px solid #223246;padding:17px 9px 0;overflow-wrap:anywhere;font-size:12px;color:#9cabb8}.sidefoot strong{display:block;color:#fff;margin-bottom:5px}.main{min-width:0}.topbar{background:#fff;border-bottom:1px solid #e6ebf0;min-height:79px;padding:18px 36px;display:flex;justify-content:space-between;align-items:center;gap:18px}.topbar .brand{font-weight:800;color:#123044}.top-actions{display:flex;align-items:center;gap:14px}.top-actions button{background:#f1f5f8;border:1px solid #e6ebef;padding:9px 12px;border-radius:9px}.content{max-width:1370px;margin:auto;padding:34px 36px 65px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}.pagehead h1{font-size:30px;letter-spacing:-1px;margin:5px 0}.pagehead p{color:#7a8997;margin:0}.btn{border:0;border-radius:10px;padding:11px 18px;background:#102a3b;color:white;font-weight:700}.btn:hover{filter:brightness(1.1)}.btn.primary{background:#087c73}.btn.light{background:#eaf0f4;color:#213647}.btn.danger{background:#fff0ef;color:#b83434}.btn.small{padding:7px 11px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.stat,.panel{border:1px solid #e5ebf0;background:#fff;border-radius:16px;box-shadow:0 3px 13px #12253605}.stat{padding:22px}.stat small{color:#8392a1;font-size:13px}.stat strong{display:block;font-size:31px;margin-top:12px;letter-spacing:-1px}.panel{padding:24px;margin-bottom:18px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.panelhead h2{margin:0;font-size:17px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#81919f;background:#f8fafb}td,th{padding:15px 13px;border-bottom:1px solid #edf1f4}td{font-size:13px}tr:last-child td{border-bottom:0}.muted{color:#82909c}.tag{display:inline-flex;border-radius:99px;padding:6px 10px;background:#edf2f6;color:#546477;font-weight:700;font-size:11px}.tag.live{background:#e0f7f1;color:#008771}.tag.draft{background:#fff2dc;color:#956414}.actions{display:flex;gap:7px;flex-wrap:wrap}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.filters input,.filters select{max-width:280px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{color:#4a5d6c;font-size:12px;font-weight:800}input,select,textarea{border:1px solid #dce4e9;border-radius:9px;padding:11px 12px;background:#fff;color:#192c3b;width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #9be8db;border-color:#0c9a87}textarea{min-height:86px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rule-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:11px}.modal-backdrop{position:fixed;inset:0;background:#06121cb3;display:grid;place-items:center;padding:15px;z-index:5}.modal{background:#fff;border-radius:18px;width:min(880px,100%);max-height:91vh;overflow:auto;padding:26px;box-shadow:0 22px 70px #0005}.modal h2{margin:0 0 6px}.modal .subtitle{margin:0 0 23px;color:#81919f}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0;border-bottom:1px solid #e3eaf0;padding-bottom:9px}.tabs button{border:0;background:#eef3f6;color:#526877;border-radius:8px;padding:9px 12px;font-weight:700;font-size:12px}.tabs button.active{background:#0c736b;color:#fff}.toast{position:fixed;right:22px;bottom:20px;background:#112b39;color:white;padding:13px 18px;border-radius:11px;z-index:10;box-shadow:0 10px 35px #0004}.empty{padding:36px;text-align:center;color:#8a99a6}.boot{padding:50px;text-align:center}.hint{background:#f2f8fa;border-left:3px solid #138c83;border-radius:6px;padding:13px;color:#607483;font-size:12px;margin:12px 0}.stack{display:grid;gap:12px}.section-title{font-size:13px;font-weight:800;color:#2b4254;margin:12px 0}.num{font-variant-numeric:tabular-nums}.selectable{cursor:pointer}.selectable:hover{background:#f7fafb}@media(max-width:960px){.layout{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding:23px 9px}.logo{padding-left:2px;justify-content:center}.logo .brand-logo{height:36px}.logo .brand-name{display:none}.sidebar .nav-label,.sidefoot,.sidebar .eyebrow{display:none}.nav button{justify-content:center;font-size:18px}.topbar{padding:14px 18px}.content{padding:23px 17px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}}@media(max-width:550px){.layout{display:block}.sidebar{padding:12px;gap:10px}.logo{justify-content:flex-start}.logo .brand-logo{height:34px}.logo .brand-name{display:inline-block;font-size:20px}.nav{display:flex;overflow-x:auto}.nav button{white-space:nowrap;font-size:14px}.pagehead{align-items:flex-start;flex-direction:column}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:23px}.panel{padding:14px}.formgrid{grid-template-columns:1fr}.rule-row{grid-template-columns:1fr 1fr}.modal{padding:16px}.topbar .brand{display:none}}

.team-cell{display:flex;align-items:center;gap:12px;min-width:190px}
.team-avatar{width:42px;height:42px;flex:0 0 42px;object-fit:cover;border-radius:11px;background:#e9eff2}
.team-avatar-placeholder{display:grid;place-items:center;color:#7b94a0;font-size:22px}
.team-photo-preview{display:block;width:110px;height:78px;object-fit:cover;border-radius:10px;margin-top:10px}

.team-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.team-upload input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}
.team-upload-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap}
.team-upload input[type="file"]:focus-visible + .team-upload-button{outline:3px solid #138c83;outline-offset:3px}
.team-upload .muted{font-size:12px;overflow-wrap:anywhere}
.captain-field{margin-top:18px;max-width:450px}

.datetime24-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.datetime24-time{display:flex;align-items:center;gap:5px;border:1px solid #dce4e9;background:#fff;border-radius:9px;padding:0 7px}
.datetime24-time select{border:0;background:transparent;outline-offset:-3px;width:66px;padding:11px 5px;font-variant-numeric:tabular-nums}
.datetime24-time span{font-weight:700;color:#627787}
@media(max-width:550px){.datetime24-controls{grid-template-columns:1fr}.datetime24-time{justify-content:center}.datetime24-time select{flex:1;max-width:110px}}

.tournament-images-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.tournament-image-card{padding:20px;border:1px solid #e2e8eb;border-radius:14px;background:#fff;min-width:0}
.tournament-image-head h3{font-size:16px;margin:0 0 6px}
.tournament-image-head p{font-size:12px;min-height:30px;margin:0 0 14px}
.tournament-image-preview{width:100%;height:170px;margin:14px 0;border:1px dashed #ced9df;border-radius:12px;background:#f5f8f9;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;color:#72838f;font-size:13px;overflow:hidden}
.tournament-image-preview.wide{aspect-ratio:16/7;height:auto;min-height:130px}
.tournament-image-preview.square{aspect-ratio:1/1;width:min(100%,205px);height:auto}
.tournament-image-preview.vertical{aspect-ratio:2/3;width:min(100%,170px);height:auto}
.tournament-image-preview img{width:100%;height:100%;object-fit:contain}
.tournament-image-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tournament-image-input{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}
.tournament-image-input:focus-visible+label{outline:3px solid #138c83;outline-offset:3px}
.tournament-image-upload label{cursor:pointer}
.tournament-image-filename{font-size:12px;overflow-wrap:anywhere}
.tournament-image-hint{font-size:12px;margin:8px 0 0}
.tournament-image-card.image-hidden .tournament-image-upload,.tournament-image-card.image-hidden .tournament-image-hint{display:none}
@media(max-width:700px){.tournament-images-grid{grid-template-columns:1fr}}
.rule-row.speciesRow{grid-template-columns:minmax(160px,1.4fr) minmax(150px,1fr) minmax(95px,1fr) auto auto}
.fish-billfish-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;color:#48677d;white-space:nowrap;padding:10px 0}
.fish-billfish-label input{width:16px;height:16px;accent-color:#0c8db2}
@media(max-width:950px){.rule-row.speciesRow{grid-template-columns:repeat(2,minmax(0,1fr))}.fish-billfish-label{align-self:center}}

.report-actions{display:flex;align-items:center;gap:16px;margin-bottom:25px;flex-wrap:wrap}.report-title h1{font-size:27px;margin:0}.report-title h2{font-size:19px;margin:6px 0}.report-title p{color:#718596}.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:23px 0}.report-metric{border:1px solid #e2e9ee;border-radius:11px;padding:16px}.report-metric span{display:block;font-size:12px;color:#6e8799}.report-metric strong{display:block;font-size:23px;margin-top:8px}.report-section{margin-top:26px;break-inside:avoid}.report-section h2{font-size:17px}.report-section table{width:100%}.report-section th,.report-section td{padding:8px;font-size:11px}@media print{body{background:white!important}.sidebar,.topbar,.pagehead,.tabs,.report-actions,.toast{display:none!important}.layout{display:block}.main,.content,.panel{padding:0!important;margin:0!important;max-width:none!important;box-shadow:none!important;border:0!important}.report-section{break-inside:auto}.report-section thead{display:table-header-group}.report-section tr{break-inside:avoid}@page{size:A4;margin:12mm}}@media(max-width:700px){.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media print{#detailBody{display:block!important}.report-wrapper{display:block!important}.report-actions{display:none!important}.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
