/* TORNULIO 4.0 – distinctive club identity layered over existing responsive layout */
:root{--navy:#142c2a;--navy2:#1d4541;--teal:#107f64;--tealDark:#0c6653;--gold:#b6de61;--paper:#f5f7f3;--white:#fff;--border:#dce6df;--muted:#64756d;--danger:#b83b40;--shadow:0 14px 38px rgba(24,52,46,.075);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:linear-gradient(#f5f7f3,#f9faf6);color:var(--navy)}
.topbar{position:relative;isolation:isolate;background:#122d2b;box-shadow:0 7px 24px rgba(20,44,42,.14)}
.topbar:after{content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;opacity:.45;background:radial-gradient(ellipse 360px 125px at 5% 5%,rgba(196,243,108,.18),transparent),repeating-linear-gradient(125deg,transparent 0 145px,rgba(255,255,255,.025) 146px,transparent 147px)}
.header-in{min-height:95px}.brand{gap:13px}.brand-logo-link{flex:none;display:grid;place-items:center;text-decoration:none;transition:transform .16s}.brand-logo-link:hover{transform:translateY(-2px)}.brand-logo{width:56px;height:56px;display:block;filter:drop-shadow(0 6px 8px #061d1b38)}
.brand-name{font-size:24px;letter-spacing:.035em;line-height:1.05;font-weight:950}.brand-name span{font-weight:520;letter-spacing:0;color:#d7e8d8;font-size:15px;margin-left:6px}.brand-caption{font-size:11px;margin-top:5px;color:#a9c1b9;letter-spacing:.045em}
.session .btn,.topbar .btn{background:#244942;color:#f5fff0;border-color:#3b655a}.topbar .btn:hover{background:#315b4f}
.app{padding-top:35px}.footer{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#65796f}.footer strong{letter-spacing:.12em;color:#203b35}.footer a{color:#386f5d;text-decoration:none;font-weight:650}.footer a:hover{text-decoration:underline}.footer-sep{color:#b7c4bb;margin:0 8px}
.eyebrow{color:#0b8c6c;letter-spacing:1.6px;font-size:10px;font-weight:950}.h1{font-size:clamp(27px,3.5vw,39px);letter-spacing:-1.6px;font-weight:870}.sub{color:#687c73}.page-top{margin-bottom:24px}
.panel,.tile,.tourney-card,.game{border:1px solid #dce8df;background:#fff;box-shadow:var(--shadow)}
.panel{border-radius:19px;padding:26px}.tile{border-radius:17px;padding:22px 23px;border-top:3px solid #c9e77c}.tile strong{font-weight:900;color:#183e34;font-size:31px}.tile span{color:#6e8077}.tourney-card{border-radius:18px;padding:23px;transition:transform .15s,box-shadow .15s;border-top:4px solid #c6ed76}.tourney-card:hover{transform:translateY(-2px);box-shadow:0 19px 35px rgba(20,48,39,.12)}
.btn{border-radius:11px;border-color:#cbd9d0;background:#fff;color:#244439;min-height:39px;transition:background .15s,border-color .15s,transform .15s}.btn:hover{filter:none;background:#f0f7f0;border-color:#a6c2ad;transform:translateY(-1px)}.btn.primary{color:#fff;background:#087e61;border-color:#087e61;box-shadow:0 4px 10px #11816519}.btn.primary:hover{background:#08634e;border-color:#08634e}.btn.dark{background:#1f4439;border-color:#1f4439}.btn.danger{color:#b23941;border-color:#e4bbbf}
input,select,textarea{border-color:#c9d9d1;border-radius:10px;min-height:40px;color:#1f3b32}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #b9ea81b5;outline-offset:1px}label{color:#47645a}.pill{background:#e1f6e8;color:#06724b}.pill.warn{background:#fff3d9;color:#936314}.pill.off{background:#e9eeeb;color:#63766e}.nav{background:#e7eee8;border:1px solid #dde7dd;padding:6px;border-radius:13px}.nav button{color:#647d70}.nav button.active{color:#08664d;box-shadow:0 2px 10px rgba(40,70,55,.10)}
.table th{background:#edf5ed;color:#64786d}.table td,.table th{border-bottom-color:#e8efe8}.qualify td:first-child{box-shadow:inset 4px 0 #78b848}.game{border-radius:15px}.game-head{color:#678273}.score{color:#183b30}.finals{border-left:5px solid #b9d958}.warning{background:#fff7e5;border-color:#f2dfb7}.success{background:#e8f7ea;border-color:#c2e7c8}.banner{background:#ecf7e9;border-color:#ceeac8}.banner strong{color:#17684e}.searchhelp{background:#eef6ef;color:#476559}.step-number{background:#138262}.toast{background:#193c32}.live-dot{background:#bbef72;box-shadow:0 0 0 4px #b6ec7133}
.login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:30px;align-items:stretch;margin:40px auto 70px;max-width:1100px}.login-shell .login{margin:0;max-width:none;align-self:center}.login-intro{background:linear-gradient(135deg,#13342d,#1f5040);border-radius:22px;min-height:490px;padding:clamp(28px,5vw,54px);position:relative;overflow:hidden;color:white;display:flex;flex-direction:column;justify-content:center}.login-intro:before{content:"";position:absolute;border:2px solid #c2f07524;right:-90px;top:-65px;width:370px;height:370px;border-radius:50%;box-shadow:0 0 0 54px #c2f0750a,0 0 0 118px #c2f0750a}.login-intro:after{content:"";position:absolute;right:32px;bottom:44px;width:95px;height:95px;border:2px solid #c7fa7980;border-radius:50%;background:linear-gradient(135deg,#b5f57a19,#c8ff6400)}.login-kicker{position:relative;font-size:11px;letter-spacing:.21em;font-weight:900;color:#c9f279;text-transform:uppercase}.login-intro h2{position:relative;font-size:clamp(43px,5vw,63px);letter-spacing:-2.8px;line-height:1.03;margin:18px 0 18px;max-width:460px}.login-intro h2 em{font-style:normal;color:#c9f279}.login-intro p{color:#bfd8cb;position:relative;max-width:390px;font-size:16px;line-height:1.7}.login-features{position:relative;display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.login-features span{background:#ffffff13;border:1px solid #ffffff20;color:#ebf8e8;border-radius:100px;padding:9px 12px;font-size:12px;font-weight:720}.login-shell .panel.login{padding:clamp(22px,3vw,40px)}.login-shell .login form{margin-bottom:20px}
.viewer .topbar{background:#112f29}.viewer .panel{box-shadow:0 6px 22px rgba(34,74,50,.045)}.viewer .game{background:#fff}.read-only{background:#ffffff14;border-color:#b7ea7761;color:#e1fbcf}.viewer .bigscore{color:#123c2c}.viewer .tiles .tile{border-top-color:#baea77}
@media(max-width:900px){.login-shell{grid-template-columns:1fr;max-width:620px;margin:12px auto 40px;gap:16px}.login-intro{min-height:240px;padding:30px}.login-intro h2{font-size:40px;max-width:500px}.login-intro p{font-size:14px;line-height:1.5}.login-intro:after{display:none}}
@media(max-width:620px){.header-in{min-height:75px}.brand-logo{width:44px;height:44px}.brand-name{font-size:18px}.brand-name span{display:block;font-size:11px;margin:4px 0 0}.brand-caption{display:none}.app{padding-top:22px}.panel{padding:17px}.login-shell{margin:4px auto 18px}.login-intro{min-height:195px;padding:24px;border-radius:16px}.login-intro h2{font-size:32px;margin:10px 0}.login-intro p{font-size:12px;margin:0}.login-features{margin-top:15px;gap:5px}.login-features span{font-size:10px;padding:6px 8px}.login-shell .panel.login{padding:21px}.footer{display:block;padding-bottom:22px;line-height:1.8}.footer-domain{display:block}.tile{padding:14px 10px}.tile strong{font-size:23px}.read-only{font-size:10px;padding:8px}}
@media print{.topbar,.footer,.login-intro{display:none!important}.panel,.tile,.tourney-card,.game{box-shadow:none}}

/* v4.1 logo refresh theme support */
.brand{gap:16px}.brand-logo-link:hover{transform:translateY(-2px)}.brand-logo-card{background:#ffffff;border:1px solid rgba(255,255,255,.22)}.brand-logo-wordmark{filter:none}.brand-copy{min-width:170px}.brand-caption{letter-spacing:.045em}.login-wordmark-wrap{background:#fff;border-radius:20px}.login-intro p{margin-top:0}.viewer .brand-logo-card{background:#fff}
@media(max-width:620px){.brand{align-items:center}.brand-copy{min-width:auto}.brand-caption{display:block}}

/* Tornulio 6.0 STRATO: updated owl football branding */
:root{--navy:#122d47;--navy2:#1d4765;--teal:#0a967a;--tealDark:#087d66;--paper:#f5f8f9;--border:#dae5e9;--muted:#617984;--gold:#3bc395}
.topbar,.viewer .topbar{background:linear-gradient(105deg,#0e2b45,#104a58)}
.brand-logo-card{background:#fff;border-color:#dce7e7;box-shadow:0 5px 21px rgba(0,13,33,.15);padding:6px 13px;border-radius:15px}
.brand-logo-wordmark{width:270px;max-height:none!important;height:auto!important}
.header-in{min-height:135px;padding:10px 0}
.brand-copy{min-width:auto}.brand-caption{color:#c6dfe2;font-weight:630}
.viewer .brand-live-chip{background:#0d9879}
.login-intro{background:linear-gradient(125deg,#102d47,#0b5a5b)}
.login-wordmark-wrap{padding:8px 12px;border-radius:16px;margin-bottom:5px;align-self:flex-start;max-width:100%}
.login-wordmark{width:300px;height:auto}
.login-intro h2 em{color:#7ef2b2}.login-features span{border-color:#e1fff33d}
@media(max-width:900px){.brand-logo-wordmark{width:215px}.header-in{min-height:110px}}
@media(max-width:620px){.brand-logo-wordmark{width:172px}.header-in{min-height:98px;gap:9px}.brand-logo-card{padding:6px 9px;border-radius:10px}.brand-copy{display:none}.viewer .brand-live-chip{font-size:10px;padding:6px 8px}.read-only{padding:6px 8px;font-size:10px}.login-wordmark{width:220px}}

/* Tornulio 6.0 – viewer timetable and field chips */
.viewer-jump{display:flex;flex-wrap:wrap;gap:10px;background:#eaf3f0;border:1px solid #d7e7df;padding:11px;margin:14px 0 24px;border-radius:13px}.viewer-jump a{text-decoration:none;color:#0a6958;font-size:13px;font-weight:800;padding:9px 13px;border:1px solid #d3e2db;background:white;border-radius:9px}.viewer-jump a:hover{background:#e8f8f1}.viewer-section{scroll-margin-top:22px;margin-bottom:28px}.viewer .viewer-section>.page-top{margin-bottom:15px}.viewer .viewer-section>.page-top .h1{font-size:clamp(22px,2.6vw,28px);letter-spacing:-.6px}.viewer-match .game-head{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}.viewer-match .match-field{font-size:13px;font-weight:900;color:#074c3d;background:#daf3e7;border:1px solid #b0dcc8;border-radius:8px;padding:6px 9px;white-space:nowrap}.viewer-match .match-time{font-weight:800;color:#244a62;white-space:nowrap}.viewer-match .match-phase{font-size:11px;font-weight:800}.viewer-match .match-status{text-align:right;color:#678477;font-size:11px;margin-top:8px}.viewer .round-head{margin-top:20px}.viewer .round-head h3{font-size:17px}.viewer .game-grid{gap:12px}.viewer .game{border:1px solid #dce9e4}.viewer .bigscore{color:#193e4e}
@media(max-width:620px){.viewer-jump{gap:6px;padding:8px}.viewer-jump a{font-size:11px;padding:8px}.viewer-match .match-field{font-size:12px}.viewer .round-head h3{font-size:15px}.viewer-match .game-head{justify-content:flex-start}.viewer-match .match-time{margin-left:auto}}


/* TORNULIO 6.0 - owl/football identity. Warm black, vibrant orange and white. */
:root{--navy:#181716;--navy2:#29221e;--teal:#ef7900;--tealDark:#c76000;--gold:#ff9000;--paper:#fff8f1;--white:#fff;--border:#eddfd3;--muted:#766c64;--danger:#b83b40;--shadow:0 12px 38px rgba(28,18,10,.07)}
body{background:linear-gradient(180deg,#fff8f1,#f7f3f0 480px,#faf9f7);color:#211b18}
.topbar,.viewer .topbar{background:linear-gradient(105deg,#151313,#29211e);border-bottom:4px solid #f5840a;box-shadow:0 6px 22px #17100c20}
.topbar:after{background:radial-gradient(ellipse 440px 120px at 10% 0%,#fe8b1438,transparent)}
.tornulio-brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;min-width:0}
.tornulio-owl{display:block;width:78px;height:69px;object-fit:contain;border-radius:13px;background:#fff;padding:2px;border:1px solid #f89a35;box-shadow:0 3px 12px #0005}
.tornulio-brand-name{display:flex;flex-direction:column;gap:3px;white-space:nowrap;line-height:1.05}
.tornulio-brand-name strong{font-size:29px;letter-spacing:.025em;line-height:1;font-weight:950;color:#fff}
.tornulio-brand-name small{font-size:13px;color:#ffad52;font-weight:720;letter-spacing:.04em}
.brand-live-chip{background:#ff8500;color:#211409;border:1px solid #ffaf4b;font-weight:950}
.read-only{color:#fff3df;background:#ffffff17;border-color:#ffa33a50}
.live-dot{background:#ff9a14;box-shadow:0 0 0 4px #ff941c3b}
.eyebrow{color:#b35b00}.h1{color:#251d18}.sub{color:#756b64}
.panel,.tile,.tourney-card,.game{border-color:#efdfd2;background:#fff;box-shadow:0 7px 25px rgba(41,24,12,.055)}
.tile,.tourney-card{border-top-color:#fc9016}.tile strong{color:#2b2019}
.btn.primary{background:#f47c00;border-color:#ee7900;color:#211507;box-shadow:0 5px 12px #df730022}
.btn.primary:hover{background:#fda02a;border-color:#fc9820}
.btn,.topbar .btn{border-color:#dac7b6;color:#2e231c}.btn:hover{border-color:#ee990f;background:#fff2e6}
.topbar .btn,.session .btn{background:#36302d;color:#fff;border-color:#815331}
.topbar .btn:hover{background:#513523}
.nav{background:#f6eade;border-color:#eadacb}.nav button{color:#75675c}.nav button.active{color:#a95000;box-shadow:0 2px 8px #5a290014}
input,select,textarea{border-color:#e2d1c1;color:#221915}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #ffa85278}
label{color:#625449}.pill{background:#fff0df;color:#aa5100}.pill.warn{background:#fff4d7;color:#8a6018}
.table th{background:#fff3e8;color:#7b5a43}.table td,.table th{border-bottom-color:#f2e9df}.qualify td:first-child{box-shadow:inset 4px 0 #ff890a}
.step-number{background:#f47c00;color:#1e1610}.warning{background:#fff6e8;border-color:#f6dcaf}.success{background:#fdf2df;border-color:#ffdbab;color:#8e4900}.banner{background:#fff4e7;border-color:#f2dbc0}.banner strong{color:#ad5400}
.game-head{color:#81614b}.score,.viewer .bigscore{color:#28201b}.finals{border-left-color:#ff8700}.toast{background:#201916}
.searchhelp{background:#fff1e5;color:#744d2d}.footer{border-top-color:#e8d5c5;color:#857365}.footer strong{color:#26201d}.footer a{color:#b0580b}
.login-intro{background:radial-gradient(circle at 92% 14%,#793f18,#28211e 42%,#171514 95%)}
.login-intro:before{border-color:#ff9e2229;box-shadow:0 0 0 54px #ff9a150b,0 0 0 118px #ff9a1508}
.login-intro:after{border-color:#ff901a74;background:linear-gradient(135deg,#ff981b28,#fb891500)}
.login-kicker{color:#ffae4b}.login-intro h2 em{color:#ff9b1a}.login-intro p{color:#ebd8c9}.login-features span{color:#fff4e6;border-color:#ffa63533}
.login-wordmark-wrap{display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #f89b32;border-radius:21px;padding:7px;max-width:260px;box-shadow:0 9px 30px #0005;margin-bottom:17px}
.login-wordmark{width:240px;max-width:100%;height:auto;display:block}
.viewer .tile{border-top-color:#f89119}.viewer .panel{box-shadow:0 4px 16px #41260709}
.viewer-jump a{border-color:#eed8c5!important;color:#a2530a!important;background:#fff7eb!important}
.match-field,.field-chip{background:#fff0df!important;color:#b35c00!important;border-color:#f5d9bd!important}
.ko-layout{background:linear-gradient(130deg,#fff9f4,#fff2e5);border-color:#efdbc9}
.ko-stage-heading{color:#342319}.ko-step{background:#f18a10;color:#211408}.ko-connector{color:#ec7c05}.ko-connector:before,.ko-connector:after{border-color:#eabb88}.ko-connector span{background:#fff2e5}
.ko-card{border-color:#ecd6c2;box-shadow:0 5px 18px #4924070b}.ko-card.ko-final{border-color:#f2880c;box-shadow:0 6px 22px #b86b0f24}
.ko-card-header{background:#fff0df;color:#793b00}.ko-final .ko-card-header{background:#f68b10;color:#211408}
.ko-participant,.ko-score{color:#281e18}.ko-participant.ko-win{color:#ad5100}.ko-card-footer{border-top-color:#f0e2d6;color:#806f64}
.ko-champion{background:#fff1df;border-color:#f5c58a;color:#923d00}.ko-note{color:#74665a}
@media(max-width:760px){.tornulio-owl{width:62px;height:56px}.tornulio-brand-name strong{font-size:24px}.tornulio-brand-name small{font-size:11px}}
@media(max-width:620px){.header-in{min-height:76px;gap:10px}.tornulio-brand{gap:7px}.tornulio-owl{width:49px;height:46px;border-radius:9px}.tornulio-brand-name strong{font-size:19px}.tornulio-brand-name small{font-size:9px}.brand-live-chip{padding:5px 7px;font-size:9px}.read-only{font-size:9px;padding:7px 9px}.login-wordmark-wrap{max-width:174px;border-radius:12px;padding:3px}.login-wordmark{width:166px}}
@media(max-width:390px){.tornulio-brand-name strong{font-size:17px}.tornulio-brand-name small{font-size:8px}.viewer .read-only{display:none}}
@media print{.tornulio-brand{color:#211408}.login-intro{display:none}}

/* Final branding refinements */
.login-wordmark-wrap{width:218px;min-height:200px;max-width:218px;margin-top:4px;margin-bottom:14px;overflow:hidden;flex:none}
.login-wordmark{width:198px;max-width:100%;max-height:208px;object-fit:contain}
.viewer-jump a:hover{background:#ffe4ca!important}
.ko-participant.ko-placeholder{color:#8c6b53}.ko-stage-heading,.ko-third-heading{color:#51321b}
@media(max-width:620px){.login-wordmark-wrap{width:154px;min-height:143px;max-width:154px}.login-wordmark{width:145px;max-height:145px}}

/* Public viewer contrast polish */
.viewer .tiles .tile{border-top-color:#fb8708}.viewer-jump{background:#fff0e2!important;border-color:#f0d9c6!important}.viewer .match-time{color:#8b460f}.viewer .match-phase{color:#885125}.viewer .round-head h3{color:#302016}.viewer .ko-stage-heading{color:#39271b}
