:root {
    --blue: #0033b5;
    --text: #101828;
    --muted: #667085;
    --line: #e7ecf3;
    --soft: #f5f8ff;
    --green: #0a8f2a;
    --red: #ff1111;
    --orange: #ff6b00;
}
* {
    box-sizing: border-box;
}
body {
    margin: 0;
    background: #f7f9fc;
    color: var(--text);
    font-family:
        Inter,
        system-ui,
        -apple-system,
        Segoe UI,
        Roboto,
        Arial,
        sans-serif;
}
.app {
    max-width: 520px;
    margin: 0 auto;
    min-height: 100vh;
    background: #fff;
}
.top {
    padding: 22px 18px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-bottom: 1px solid var(--line);
}
.logo {
    width: 58px;
    height: 58px;
    border: 3px solid var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--blue);
    font-weight: 900;
    font-size: 18px;
}
.brand {
    font-size: 34px;
    font-weight: 900;
    color: var(--blue);
    letter-spacing: 0.5px;
}
.tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 5;
	box-shadow: 0 9px 10px -13px rgba(0, 0, 0, 0.3);
}
.tab {
    border: 0;
    background: #fff;
    padding: 15px 6px 13px;
    font-size: 16px;
    color: #303846;
    position: relative;
}
.tab.active {
    color: var(--blue);
    font-weight: 800;
}
.tab.active:after {
    content: "";
    height: 4px;
    background: var(--blue);
    border-radius: 6px 6px 0 0;
    left: 22%;
    right: 22%;
    bottom: 0;
    position: absolute;
}
.page {
    padding: 18px 12px 28px;
	background:#efefef61;
}
.section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #082a92;
    font-size: 21px;
    font-weight: 900;
    margin: 6px 6px 15px;
}
.card {
    background: #fff;
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.06);
}
.match-card {
    padding: 13px 12px;
    margin-bottom: 12px;
}
.match-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.match-no {
    color: var(--blue);
    font-size: 23px;
    font-weight: 900;
}
.match-no sup {
    font-size: 13px;
}
.match-group {
    font-size: 12px;
    color: #475467;
    font-weight: 800;
    margin-left: 7px;
}
.status {
    font-size: 12px;
    font-weight: 900;
    padding: 8px 11px;
    border-radius: 8px;
}
.status.result {
    color: var(--green);
    background: #eaf9ef;
}
.status.live {
    color: var(--red);
    background: #fff0f0;
}
.status.yet {
    color: var(--orange);
    background: #fff4eb;
}
.status.nr {
    color: #555;
    background: #eee;
}
.teams-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    margin-top: 6px;
}
.teamline {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 7px 0;
}
.team-name {
    font-size: 15px;
    font-weight: 700;
}
.scoreline div{
    font-size: 15px;
	font-weight:600;
    line-height: 1.85;
    text-align: right;
	
	display: flex;
    align-items: center;
    gap: 9px;
    margin: 9px 0;
}
.result-text {
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    margin-top: 7px;
}
.venue-time {
    font-size: 12px;
    color: #667085;
    text-align: center;
    margin-top: 5px;
}
.shield {
    width: 45px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	border-radius:4px;
    /*clip-path: polygon(50% 0, 92% 13%, 84% 77%, 50% 100%, 16% 77%, 8% 13%);
    box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.13);*/
}
.group-card {
    padding: 17px 14px;
    margin-bottom: 16px;
}
.group-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--blue);
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 12px;
}
.group-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
    font-size: 18px;
    font-weight: 800;
}
.group-item:last-child {
    border-bottom: 0;
}
.notice {
    display: flex;
    gap: 12px;
    align-items: center;
    background: #eef5ff;
    color: #07319b;
    border-radius: 12px;
    padding: 16px;
    margin-top: 18px;
    font-weight: 700;
}
.points-card {
    padding: 14px;
    margin-bottom: 18px;
}
.points-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}
.points-table th {
    background: #edf5ff;
    text-align: center;
    padding: 10px 6px;
    font-size: 13px;
}
.points-table td {
    padding: 10px 6px;
    border-bottom: 1px solid var(--line);
    text-align: center;
}
.points-table td:first-child,
.points-table th:first-child {
    text-align: left;
}
.loading {
    text-align: center;
    padding: 40px;
    color: #667085;
    font-weight: 700;
}
.bottom-space {
    height: 20px;
}
@media (max-width: 380px) {
    .brand {
        font-size: 29px;
    }
    .team-name,
    .scoreline {
        font-size: 15px;
    }
    .match-no {
        font-size: 20px;
    }
    .tab {
        font-size: 15px;
    }
}

.round-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 18px 0 12px;
}

.round-title-row .round-title {
    margin: 0;
}

.schedule-refresh-btn {
    border: 0;
    outline: 0;
    padding: 8px 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffb703, #ff7a00);
    color: #111;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(255, 122, 0, 0.28);
    cursor: pointer;
    white-space: nowrap;
}

.schedule-refresh-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.match-card.match-completed {
    /*background: linear-gradient(135deg, #10281d, #071b13) !important;*/
    background: #f1f6ff !important;
    /*border-color: rgba(37, 211, 102, 0.45) !important;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.12);*/
}

.match-card.match-completed .status-badge,
.match-card.match-completed .match-status {
    background: rgba(37, 211, 102, 0.16);
    color: #25d366;
}

.match-card.match-live {
    border-color: rgb(255 3 3) !important;
	    background: #ff878714;
    /*border-color: rgba(255, 183, 3, 0.55) !important;
    box-shadow: 0 8px 24px rgba(255, 183, 3, 0.14);*/
}


/* Visitor UI refresh */
body{background:radial-gradient(circle at top,#dce9ff 0,#f7f9fc 38%,#eef2f7 100%)}
.app{max-width:760px;background:rgba(255,255,255,.88);box-shadow:0 20px 70px rgba(15,23,42,.12)}
.top{background:linear-gradient(135deg,#071b5d,#123bbb);color:#fff;border-bottom:0;border-radius:0 0 22px 22px}
.logo{border-color:#fff;color:#fff;background:rgba(255,255,255,.12)}
.brand{color:#fff}
.tabs{max-width:760px;margin:0 auto;border-bottom:0;border-radius:0 0 18px 18px}
.page{background:transparent;padding:18px 14px 34px}
.card{border-color:#dce5f3;border-radius:18px;box-shadow:0 12px 34px rgba(15,23,42,.08)}
.match-card{padding:15px 14px;margin-bottom:14px}
.match-no{font-size:22px}
.status{border-radius:999px}
.shield{border-radius:4px;box-shadow:none}
.result-text{padding-top:8px;border-top:1px dashed #e3e9f3}
.match-card.match-live{box-shadow:0 12px 30px rgba(230,41,41,.12)}
.group-card,.points-card{border-radius:18px}
@media(min-width:700px){.teams-row{grid-template-columns:1fr 180px}.team-name{font-size:17px}.scoreline div{font-size:17px}.page{padding:24px}.match-card{padding:18px}.top{padding:28px 24px 22px}}
@media(max-width:420px){.app{max-width:100%}.top{padding:18px 14px}.logo{width:50px;height:50px}.brand{font-size:29px}.teams-row{gap:8px}.shield{width:40px;height:28px}.team-name{font-size:14px}.scoreline div{font-size:14px}.points-table{font-size:13px}.points-table th,.points-table td{padding:8px 4px}}


/* Requested visitor updates */
.top{
    justify-content:space-between;
    gap:12px;
}
.logo{display:none}
.brand{
    font-size:clamp(20px,4.5vw,34px);
    line-height:1.15;
}
.home-link{
    width:42px;
    height:42px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.16);
    color:#fff;
    text-decoration:none;
    font-size:26px;
    font-weight:900;
    flex:0 0 auto;
    transition:transform .18s ease, background .18s ease;
}
.home-link:active{transform:scale(.94)}
.home-link:hover{background:rgba(255,255,255,.24)}
.shield{
    border-radius:4px !important;
    box-shadow:none !important;
    text-shadow:none;
}
.status-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.live-refresh-btn{
    padding:8px 12px;
    background:#fff;
    color:#c1121f;
    border:1px solid rgba(193,18,31,.22);
    box-shadow:0 8px 20px rgba(193,18,31,.12);
}
.status.live{
    position:relative;
    padding-left:26px;
    overflow:visible;
}
.status.live:before{
    content:"";
    position:absolute;
    left:10px;
    top:50%;
    width:8px;
    height:8px;
    margin-top:-4px;
    border-radius:50%;
    background:#ff1111;
    box-shadow:0 0 0 0 rgba(255,17,17,.7);
    animation:livePulse 1.2s infinite;
}
.match-card.match-live{
    position:relative;
    border:2px solid #ff3131 !important;
    animation:liveBorderPulse 1.8s ease-in-out infinite;
}
.match-card.match-live:before{
    content:"";
    position:absolute;
    inset:-2px;
    border-radius:inherit;
    pointer-events:none;
    border:2px solid rgba(255,49,49,.35);
    animation:liveRing 1.8s ease-in-out infinite;
}
@keyframes livePulse{
    0%{box-shadow:0 0 0 0 rgba(255,17,17,.7)}
    70%{box-shadow:0 0 0 8px rgba(255,17,17,0)}
    100%{box-shadow:0 0 0 0 rgba(255,17,17,0)}
}
@keyframes liveBorderPulse{
    0%,100%{box-shadow:0 12px 30px rgba(230,41,41,.12)}
    50%{box-shadow:0 12px 36px rgba(230,41,41,.3)}
}
@keyframes liveRing{
    0%,100%{opacity:.28; transform:scale(1)}
    50%{opacity:.75; transform:scale(1.01)}
}
@media(max-width:420px){
    .home-link{width:38px;height:38px;font-size:23px}
    .brand{font-size:20px}
    .match-head{align-items:flex-start}
    .status-actions{gap:6px}
    .live-refresh-btn{padding:7px 10px}
}
