:root{--green:#07533d;--green-2:#0d7652;--green-3:#1aa36d;--mint:#dff4e9;--cream:#f3f6f1;--ink:#13251f;--muted:#687870;--line:#dce6df;--white:#fff;--gold:#f1bd4c;--red:#b84b40;--shadow:0 16px 44px #0a372018;--display:'Barlow Condensed',Impact,sans-serif;--body:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:14px}button,input{font:inherit}button{cursor:pointer}.boot{min-height:100vh;display:grid;place-content:center;gap:12px;text-align:center;color:var(--green);font-weight:700}.ball{font-size:38px;animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--green);color:white;padding:25px 18px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:11px;padding:4px 7px 28px;color:white;text-decoration:none}.brand-mark{height:39px;width:39px;border-radius:13px;background:#ffffff1a;border:1px solid #ffffff40;display:grid;place-items:center;font-size:22px}.brand strong{display:block;font:800 22px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}.brand small{display:block;color:#cce9dc;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-top:5px}.nav-label{margin:12px 10px 9px;color:#a9cbbc;text-transform:uppercase;font-weight:700;font-size:10px;letter-spacing:.15em}.nav{display:grid;gap:6px}.nav button{width:100%;border:0;background:transparent;color:#e2f2e9;text-align:left;padding:12px;border-radius:12px;display:flex;align-items:center;gap:12px;font-weight:600}.nav button:hover,.nav button.active{background:#ffffff19;color:#fff}.nav-icon{width:22px;text-align:center;font-size:17px}.sidebar-foot{margin-top:auto;background:#ffffff12;border:1px solid #ffffff19;border-radius:15px;padding:14px;color:#d8eee3;font-size:12px;line-height:1.5}.sidebar-foot b{display:block;color:white;margin-bottom:4px}.main{margin-left:238px;min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);background:#ffffffd9;backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,55px);position:sticky;top:0;z-index:3}.crumb{font-size:12px;color:var(--muted)}.topbar h1{margin:3px 0 0;font:700 26px/1 var(--display);text-transform:uppercase;letter-spacing:.045em}.user-pill{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:white;border-radius:999px;padding:6px 13px 6px 6px;font-weight:700}.avatar{height:31px;width:31px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:12px;font-weight:800;text-transform:uppercase}.content{max-width:1320px;padding:28px clamp(20px,4vw,55px) 60px;margin:0 auto}.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.welcome h2{font:800 clamp(28px,3vw,40px)/.96 var(--display);text-transform:uppercase;letter-spacing:.025em;margin:0}.welcome p{margin:9px 0 0;color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--mint);color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.8fr);gap:20px}.stack{display:grid;gap:17px;align-content:start}.hero{position:relative;min-height:255px;background:linear-gradient(120deg,#073e30f4,#07533ddf 56%,#0d7652e0),repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 75px);border-radius:22px;padding:27px 30px;color:white;overflow:hidden;box-shadow:var(--shadow)}.hero:after{content:'CCF';font:800 190px/.8 var(--display);letter-spacing:-.05em;position:absolute;right:-9px;bottom:-31px;color:#ffffff0c;transform:rotate(-7deg)}.hero-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.hero-top span:first-child{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d1eee0}.hero .hero-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:28px;position:relative;z-index:1}.team-block{text-align:center}.team-crest{height:55px;width:55px;margin:0 auto 8px;border-radius:16px;background:#ffffff15;border:1px solid #ffffff3c;display:grid;place-items:center;font:800 16px var(--display);letter-spacing:.04em}.team-block b{font:700 16px var(--display);letter-spacing:.03em;text-transform:uppercase}.vs{font:800 29px var(--display);color:#bedbc9}.kickoff{text-align:center;margin-top:17px;color:#e2f3ea;font-size:12px;position:relative;z-index:1}.hero .btn{position:relative;z-index:1;margin-top:16px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:19px;box-shadow:0 4px 18px #0a372009}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.card-head h3{margin:0;font:700 21px/1 var(--display);text-transform:uppercase;letter-spacing:.035em}.muted{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.stat{border:1px solid var(--line);background:#fbfdfb;border-radius:14px;padding:13px}.stat strong{display:block;font:800 28px/.9 var(--display);color:var(--green)}.stat span{display:block;margin-top:7px;font-size:11px;color:var(--muted)}.list{display:grid;gap:9px}.fixture{border:1px solid var(--line);background:white;border-radius:16px;padding:15px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;transition:.15s;cursor:pointer}.fixture:hover{border-color:#98c8aa;box-shadow:0 7px 24px #0a37200d;transform:translateY(-1px)}.date-box{background:#f0f6f1;border-radius:12px;padding:8px 4px;text-align:center;color:var(--green);font-size:10px;font-weight:700;text-transform:uppercase}.date-box b{display:block;font:800 24px/.95 var(--display)}.match-teams{min-width:0}.match-teams strong{display:block;font:700 18px/1.1 var(--display);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-teams small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.fixture-right{text-align:right}.fixture-right b{font:800 20px var(--display);color:var(--green)}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;background:#edf7f0;color:var(--green);border-radius:999px;font-weight:700;font-size:10px;white-space:nowrap}.status.done{background:#e8edf0;color:#50605a}.status.live{background:#fff4d9;color:#936917}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.btn{border:0;border-radius:12px;background:var(--green);color:white;padding:11px 15px;font-weight:700;box-shadow:0 4px 10px #07533d22;transition:.15s}.btn:hover{background:var(--green-2);transform:translateY(-1px)}.btn.secondary{background:white;color:var(--green);border:1px solid var(--line);box-shadow:none}.btn.secondary:hover{background:var(--mint)}.btn.ghost{background:transparent;color:var(--green);box-shadow:none}.btn.small{padding:8px 11px;font-size:12px}.link-btn{color:var(--green);border:0;background:none;font-weight:700;padding:7px}.input{width:100%;border:1px solid #cad8ce;border-radius:11px;background:white;padding:11px 12px;color:var(--ink);outline:0}.input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #0d765218}.field{display:grid;gap:6px}.field label{font-size:11px;color:var(--muted);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row{display:flex;align-items:center;gap:10px}.score-input{width:74px;text-align:center;font:800 28px var(--display);padding:8px}.score-entry{display:flex;align-items:center;justify-content:center;gap:13px;margin:15px 0}.vs-small{font:700 17px var(--display);color:#84958d}.prediction{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 0;border-top:1px solid var(--line);align-items:center}.prediction:first-child{border-top:0}.prediction-name{display:flex;align-items:center;gap:9px;font-weight:600}.prediction-score{font:800 20px var(--display);color:var(--green);padding:2px 9px;border-radius:8px;background:#edf6ef}.point{font-size:10px;font-weight:800;color:#8b6410;background:#fff3d2;border-radius:99px;padding:4px 7px;margin-left:5px}.ranking{display:grid;gap:5px}.rank-row{display:grid;grid-template-columns:32px 1fr 34px;gap:10px;align-items:center;border-radius:11px;padding:8px}.rank-row:first-child{background:#f1f7f2}.rank-no{height:27px;width:27px;display:grid;place-items:center;background:#f0f4f1;color:var(--green);border-radius:9px;font:800 16px var(--display)}.rank-name{font-weight:700}.rank-pts{font:800 19px var(--display);color:var(--green);text-align:right}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.search{max-width:280px}.tabs{display:flex;gap:5px;background:#e8efea;padding:4px;border-radius:12px}.tabs button{border:0;background:transparent;color:#64736b;border-radius:9px;padding:8px 11px;font-weight:700;font-size:11px}.tabs button.selected{background:white;color:var(--green);box-shadow:0 2px 6px #0000000c}.full-width{grid-column:1/-1}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}.table td{padding:12px 8px;border-bottom:1px solid #edf1ee}.table tr:last-child td{border-bottom:0}.modal{border:0;border-radius:22px;padding:0;width:min(570px,calc(100vw - 26px));max-height:88vh;box-shadow:0 25px 100px #02180e55}.modal::backdrop{background:#09281fc0;backdrop-filter:blur(4px)}.modal-inner{padding:23px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-head h2{margin:0;font:800 28px/1 var(--display);text-transform:uppercase}.close{border:0;background:#edf3ef;border-radius:50%;width:34px;height:34px;font-size:20px;color:var(--green)}.modal-note{color:var(--muted);font-size:12px;line-height:1.5;margin:10px 0}.empty{border:1px dashed #b8cbbd;border-radius:15px;padding:28px 18px;text-align:center;background:#fbfdfb;color:var(--muted)}.empty b{display:block;color:var(--ink);margin:0 0 5px}.error-card{border:1px solid #efc8c4;background:#fff6f5;color:#8d332b;border-radius:14px;padding:14px}.admin-row{display:grid;grid-template-columns:minmax(150px,1fr) 150px 115px auto;align-items:center;gap:9px;border-top:1px solid var(--line);padding:11px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#10251e;color:white;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);z-index:20;transition:.2s;max-width:min(90vw,520px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.landing{min-height:100vh;background:radial-gradient(ellipse at 80% 10%,#1a825b 0,transparent 35%),linear-gradient(135deg,#063d2e,#0b6044);color:white;padding:24px;display:grid;place-items:center;position:relative;overflow:hidden}.landing:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 11%,#ffffff09 11.1% 11.3%);transform:perspective(400px) rotateX(35deg) scale(1.7);transform-origin:top}.landing-wrap{width:min(980px,100%);position:relative;z-index:1}.landing-brand{display:flex;align-items:center;gap:10px;margin:0 auto 32px;justify-content:center}.landing-brand .brand-mark{width:50px;height:50px;font-size:27px}.landing-brand strong{font:800 31px var(--display);text-transform:uppercase;letter-spacing:.07em}.landing-brand small{font-size:10px;color:#b9dcc9;letter-spacing:.2em}.landing-hero{text-align:center;margin-bottom:29px}.landing-hero .tag{background:#ffffff1c;color:#d7f2e3}.landing-hero h1{font:800 clamp(44px,8vw,78px)/.9 var(--display);text-transform:uppercase;margin:18px 0 10px;letter-spacing:.02em}.landing-hero p{color:#d0e9dc;max-width:520px;margin:0 auto}.landing-panel{width:min(460px,100%);margin:auto;background:#fff;color:var(--ink);border-radius:21px;padding:22px;box-shadow:0 20px 75px #001b1280}.landing-panel h2{font:800 27px/1 var(--display);text-transform:uppercase;margin:0 0 15px}.panel-switch{display:flex;gap:8px;margin-bottom:17px}.panel-switch button{flex:1}.landing-panel .field{margin-bottom:12px}.note{font-size:11px;color:var(--muted);line-height:1.5}.mobile-brand{display:none}.footer-note{text-align:center;color:#c4e0d0;font-size:11px;margin-top:20px}.shimmer{height:18px;border-radius:8px;background:linear-gradient(90deg,#e7eee9,#f7faf7,#e7eee9);background-size:200% 100%;animation:shine 1.1s infinite}@keyframes shine{to{background-position:-200% 0}}@media(max-width:900px){.sidebar{width:205px}.main{margin-left:205px}.layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.sidebar{inset:auto 0 0;width:auto;height:67px;padding:5px 9px;display:block;border-radius:17px 17px 0 0;box-shadow:0 -8px 30px #071e1420}.sidebar .brand,.nav-label,.sidebar-foot{display:none}.nav{display:flex;height:100%;justify-content:space-around;align-items:center;gap:2px}.nav button{display:grid;justify-items:center;align-content:center;gap:1px;padding:7px 3px;flex:1;font-size:9px}.nav-icon{font-size:17px}.main{margin:0}.topbar{height:64px;padding:0 17px}.topbar h1{font-size:22px}.crumb{font-size:10px}.user-pill{font-size:11px;padding-right:9px}.content{padding:21px 15px 92px}.welcome{align-items:flex-start;flex-direction:column;margin-bottom:16px}.welcome h2{font-size:34px}.hero{padding:20px 16px;min-height:237px;border-radius:19px}.hero .hero-score{gap:8px;margin-top:25px}.team-crest{height:45px;width:45px;font-size:13px}.team-block b{font-size:14px}.vs{font-size:24px}.card{padding:15px;border-radius:16px}.stats{gap:7px}.stat{padding:11px 9px}.stat strong{font-size:24px}.stat span{font-size:10px}.fixture{grid-template-columns:53px minmax(0,1fr) auto;gap:10px;padding:12px}.date-box b{font-size:22px}.match-teams strong{font-size:16px}.fixture-right b{font-size:17px}.search{max-width:none;flex:1}.toolbar{gap:7px}.tabs{width:100%;justify-content:space-between}.tabs button{flex:1;padding:8px 5px;font-size:10px}.admin-row{grid-template-columns:1fr auto;gap:8px}.admin-row .admin-result{grid-column:1/-1}.admin-row .btn{grid-column:1/-1}.form-grid{grid-template-columns:1fr 1fr}.table th,.table td{padding:9px 5px;font-size:11px}.landing{padding:18px}.landing-brand{margin-bottom:25px}.landing-brand strong{font-size:26px}.landing-hero h1{font-size:54px}.landing-panel{padding:19px}.prediction-name{font-size:12px}.modal-inner{padding:18px}}
.crowd-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:46px 1fr 34px;align-items:center;gap:12px;margin-top:14px;padding:15px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#064330,#0b7652);box-shadow:0 9px 22px #07533d28}.crowd-card:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background:repeating-linear-gradient(135deg,transparent 0 18px,#c4f2d4 18px 20px)}.crowd-stadium{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#ffffff18;border:1px solid #ffffff35;font-size:23px}.crowd-content>span{display:block;color:#d5f0df;font-size:9px;font-weight:800;letter-spacing:.14em}.crowd-content>strong{display:block;margin-top:3px;font:800 32px/.95 var(--display);letter-spacing:.02em}.crowd-content>p{margin:4px 0 9px;color:#e1f1e7;font-size:11px}.crowd-track{height:6px;border-radius:99px;overflow:hidden;background:#ffffff38}.crowd-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b3edc8,#f1bd4c);transition:width .35s ease}.crowd-ball{font-size:26px;filter:drop-shadow(0 3px 4px #00261a66)}
/* Identidad visual y componentes de pronóstico */
:root{--green:#064b37;--green-2:#087b54;--green-3:#22a36e;--mint:#e3f4e9;--cream:#f4f7f3;--gold:#e9b847;--shadow:0 18px 46px #082d1d17}
.brand-mark.crest-mark{background:#fff;border-color:#d9eee1;padding:3px;overflow:hidden}.crest-img{display:block;width:100%;height:100%;object-fit:contain}.landing-brand .brand-mark.crest-mark{height:54px;width:54px;padding:4px;box-shadow:0 7px 25px #001a1044}.team-crest.cordoba-crest{background:#fff;border-color:#ffffffaf;padding:3px;overflow:hidden}.team-crest-img{width:100%;height:100%;object-fit:contain;display:block}
.hero{border:1px solid #80c8a470;background:linear-gradient(125deg,#052f25f7,#07533deb 57%,#0a8058e5),repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 70px);box-shadow:0 19px 44px #07533d22}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 39px,#d4f6e0 40px 41px)}.hero:after{color:#ffffff12}.hero-top .status{background:#ffffff1c;color:#e4f4eb;border:1px solid #ffffff28}.card{transition:box-shadow .2s ease,border-color .2s ease}.card:hover{border-color:#c7ddcd;box-shadow:0 10px 28px #0a372014}.stat{background:linear-gradient(145deg,#fff,#f6faf6);border-top:3px solid #cfe8d7}.stat strong{color:#07583f}
.scorer-field{margin:4px 0 14px}.scorer-field small{color:var(--muted);font-size:10px;line-height:1.45}.pred-scorer{display:block;margin:5px 0 2px;color:#65776c;font-size:10px}.prediction-result{display:grid;justify-items:end;gap:3px}.points-earned{display:grid;justify-items:end;margin-top:3px}.points-earned b{color:#8b6410;font-size:11px}.points-earned small{color:var(--muted);font-size:9px;text-align:right}.point{display:inline-block}
.admin-row{grid-template-columns:minmax(165px,1.1fr) 146px minmax(210px,1fr) 100px auto}.admin-scorer{min-width:0}.admin-scorer label{font-size:10px}.admin-scorer label small{display:block;font-size:9px;font-weight:500}.admin-scorer .input{padding:9px;font-size:12px}.table{display:block;overflow-x:auto;white-space:nowrap}.table th{color:#557064}.table td:last-child b{display:inline-grid;min-width:32px;min-height:28px;place-items:center;padding:3px 7px;border-radius:9px;background:var(--mint);color:var(--green)}
@media(max-width:1050px){.admin-row{grid-template-columns:minmax(150px,1fr) 135px}.admin-row .admin-scorer{grid-column:1/-1}.admin-row .btn{grid-column:1/-1;justify-self:start}.admin-row .status{grid-column:2;grid-row:2}}
@media(max-width:650px){.hero{background:linear-gradient(140deg,#052f25f7,#07533deb 63%,#0a8058e5)}.brand-mark.crest-mark{height:36px;width:36px}.admin-row{grid-template-columns:minmax(0,1fr) auto}.admin-row .admin-result{grid-column:1/-1}.admin-row .admin-scorer{grid-column:1/-1}.admin-row .status{grid-column:1/-1;grid-row:auto}.admin-row .btn{grid-column:1/-1}.table{font-size:11px}.table th{font-size:9px}}
.admin-help{margin:0 0 14px;padding:10px 12px;border-radius:11px;background:#f3f8f4;border-left:3px solid var(--green-3)}
/* Mobile-first touch, readability and safe-area refinements */
.fixture:focus-visible,.calendar-match:focus-visible,.btn:focus-visible,.nav button:focus-visible,.link-btn:focus-visible{outline:3px solid #e9b847;outline-offset:2px}
.calendar-team-short{display:none}
@media(max-width:650px){
  html,body,#app{min-width:320px;max-width:100%;overflow-x:hidden}
  .main{min-width:0;width:100%}
  .sidebar{height:calc(72px + env(safe-area-inset-bottom));padding:5px 4px calc(5px + env(safe-area-inset-bottom));padding-bottom:calc(5px + env(safe-area-inset-bottom))}
  .nav{gap:0;justify-content:space-between}
  .nav button{min-width:0;min-height:58px;padding:6px 1px;gap:2px;font-size:clamp(8px,2.35vw,10px);line-height:1.05;touch-action:manipulation}
  .nav-icon{font-size:20px;line-height:1.1}
  .main{padding-bottom:env(safe-area-inset-bottom)}
  .content{padding:18px 12px calc(100px + env(safe-area-inset-bottom));}
  .topbar{gap:8px;padding-inline:13px}
  .topbar>div:first-child{min-width:0}
  .crumb{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .user-pill{max-width:42vw;min-width:0;gap:6px}
  .user-pill>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .welcome{gap:12px}
  .welcome h2{font-size:clamp(28px,8vw,36px);line-height:1.02}
  .welcome p{font-size:13px;line-height:1.5}
  .welcome>.btn{width:100%;min-height:46px}
  .card{padding:14px}
  .card-head{align-items:flex-start}
  .card-head h3{font-size:19px;line-height:1.1}
  .fixture{grid-template-columns:48px minmax(0,1fr);gap:9px;padding:11px;min-height:76px}
  .fixture-right{grid-column:2;display:flex;align-items:center;justify-content:flex-start;gap:7px;text-align:left;min-width:0}
  .fixture-right .status{white-space:normal}
  .match-teams strong{white-space:normal;overflow:visible;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.08}
  .match-teams small{font-size:11px;line-height:1.3}
  .calendar-card{padding:10px}
  .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
  .calendar-toolbar{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px}
  .calendar-toolbar .btn{min-width:44px;min-height:44px;padding:8px}
  .calendar-toolbar h3{font-size:clamp(17px,5vw,20px)}
  .calendar-weekdays>div{font-size:9px;letter-spacing:0;padding:8px 0}
  .calendar-cell{min-height:70px;padding:3px 2px}
  .calendar-day{width:22px;height:22px;margin-bottom:2px}
  .calendar-match{min-height:42px;padding:4px 2px;gap:2px;border-radius:6px}
  .calendar-match b{font-size:8px;white-space:nowrap}
  .calendar-team-full{display:none}
  .calendar-match .calendar-team-short{display:block;font-size:9px;line-height:1.1;overflow-wrap:anywhere}
  .calendar-foot{font-size:11px;line-height:1.4}
  .toolbar{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .search{width:100%;max-width:none;min-height:46px;font-size:16px}
  .tabs{max-width:100%;overflow-x:auto}
  .tabs button{min-height:42px;white-space:nowrap}
  .input{min-height:44px;font-size:16px}
  .score-input{min-height:48px;font-size:26px}
  .form-grid{gap:9px}
  .admin-row{grid-template-columns:minmax(0,1fr);gap:9px;padding:14px 0}
  .admin-row .admin-result,.admin-row .admin-scorer,.admin-row .status,.admin-row .btn{grid-column:1/-1;justify-self:stretch}
  .admin-row .admin-result{justify-content:flex-start}
  .admin-row .admin-result .score-input{width:min(30vw,90px)}
  .admin-row .admin-scorer .input{font-size:16px}
  .admin-row>.btn{min-height:46px}
  .table{min-width:620px}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .modal{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:18px}
  .modal-inner{padding:15px}
  .score-entry{gap:8px}
  .score-entry .field{min-width:0}
  .score-entry .input{width:100%;min-width:0}
  .scorer-field .input{font-size:16px}
  .btn,.link-btn{touch-action:manipulation}
  .landing-brand{gap:8px}
  .landing-brand .brand-mark{flex:0 0 46px}
  .landing-brand>div:last-child{min-width:0;text-align:left}
  .landing-brand strong{display:block;font-size:clamp(20px,6vw,24px);line-height:1}
  .landing-brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.12em;line-height:1.3}
  .landing-hero h1{font-size:clamp(39px,11vw,48px);line-height:.92;margin:14px 0 10px}
  .landing-panel{padding:17px}
}
@media(max-width:370px){
  .nav button{font-size:8px}
  .nav-icon{font-size:18px}
  .content{padding-inline:9px}
  .calendar-card{padding:7px}
  .calendar-cell{min-height:64px;padding-inline:1px}
  .calendar-match{padding-inline:1px}
  .calendar-match .calendar-team-short{font-size:8px}
  .user-pill{font-size:10px}
}
.calendar-card{padding:20px}.calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;margin-bottom:14px}.calendar-toolbar h3{margin:0;text-align:center;text-transform:capitalize;font:800 23px var(--display);color:var(--green)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-weekdays>div{text-align:center;padding:9px 3px;background:#f1f7f2;color:#577164;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-cell{min-width:0;min-height:112px;padding:7px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-cell.blank{background:#f8faf8}.calendar-day{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#596c61;font-size:11px;font-weight:700;margin-bottom:5px}.calendar-cell.today .calendar-day{background:var(--green);color:white}.calendar-match{display:grid;width:100%;gap:3px;margin-top:5px;padding:6px 7px;text-align:left;border:0;border-left:3px solid var(--green-3);border-radius:7px;background:#eaf5ed;color:var(--ink);cursor:pointer}.calendar-match b{font-size:9px;color:var(--green)}.calendar-match span{font-size:10px;line-height:1.2;font-weight:700;overflow-wrap:anywhere}.calendar-match small{font-size:10px;font-weight:800;color:#8c6414}.calendar-match.played{border-left-color:#9daaa2;background:#f0f2f0}.calendar-foot{margin:12px 0 0;color:var(--muted);font-size:11px;text-align:right}
@media(max-width:650px){.calendar-card{padding:12px}.calendar-toolbar{grid-template-columns:auto 1fr auto;gap:6px}.calendar-toolbar h3{font-size:19px}.calendar-toolbar .link-btn{grid-column:1/-1;justify-self:center;padding:3px}.calendar-weekdays>div{font-size:9px;padding:8px 1px}.calendar-cell{min-height:76px;padding:3px}.calendar-day{width:21px;height:21px;font-size:10px;margin-bottom:2px}.calendar-match{padding:4px 3px;margin-top:3px;border-left-width:2px}.calendar-match b{font-size:8px}.calendar-match span{font-size:8px;line-height:1.1}.calendar-match small{font-size:8px}.calendar-foot{text-align:center}.nav button{font-size:8px}}
