:root{--navy:#0b1e2d;--navy2:#17364a;--green:#2f7d59;--lime:#b8df72;--bg:#f4f6f2;--white:#fff;--ink:#17212b;--muted:#6b7784;--line:#dce3df;--warning:#f0a44b;--danger:#ce5c5c;--shadow:0 12px 35px rgba(14,32,43,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}body{margin:0}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 15%,rgba(184,223,114,.22),transparent 25%),linear-gradient(135deg,#091c2b,#153d3a);padding:20px}.login-card{background:#fff;width:min(440px,100%);border-radius:24px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--lime),#60bd8d);display:grid;place-items:center;color:var(--navy);font-weight:900}.login-card h1{margin:4px 0 6px;font-size:27px}.login-card label,.form-grid label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#53606a;margin-top:15px}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.topbar select,.actions input{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;outline:none}.login-card input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#64a781;box-shadow:0 0 0 3px rgba(47,125,89,.1)}.muted{color:var(--muted)}.overline{text-transform:uppercase;letter-spacing:.13em;font-size:10px!important;font-weight:850;color:var(--green)!important;margin:17px 0 0}.error{min-height:18px;color:var(--danger);font-size:12px}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:800}.login-card .btn{width:100%}.primary{background:var(--green);color:#fff}.primary:hover{background:#246447}.secondary{background:#edf3ef;color:var(--green)}.app{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:var(--navy);color:#fff;padding:25px 17px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 7px 25px}.brand strong{display:block;font-size:14px}.brand small{color:#9dafbc;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{border:0;background:transparent;color:#b4c2cd;text-align:left;border-radius:10px;padding:12px 14px;font-size:14px}.sidebar nav button span{margin-left:10px}.sidebar nav button:hover,.sidebar nav button.active{background:#1c3a4e;color:#fff}.account{margin-top:auto;border-top:1px solid #274558;padding:17px 5px 0;display:flex;align-items:center;gap:9px}.account>div:nth-child(2){min-width:0;flex:1}.account strong,.account small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account small{font-size:10px;color:#9dafbc}.account button{border:0;background:transparent;color:#9dafbc;font-size:20px}.avatar{width:35px;height:35px;border-radius:50%;background:var(--green);display:grid;place-items:center;color:#fff;font-weight:900}.topbar{height:76px;padding:0 31px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px;position:sticky;top:0;z-index:4}.topbar h2{margin:0;font-size:19px}.topbar span{color:var(--muted);font-size:11px}.topbar select{margin-left:auto;width:210px}.menu{display:none;border:0;background:transparent;font-size:22px}.content{padding:28px 31px 55px;max-width:1500px;margin:auto}.view{display:none}.view.active{display:block}.hero{background:linear-gradient(115deg,#102c42,#184a45);border-radius:22px;padding:28px 31px;color:#fff;display:flex;align-items:end;justify-content:space-between;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;right:-70px;top:-105px;width:260px;height:260px;border-radius:50%;border:50px solid rgba(184,223,114,.12)}.hero h1{margin:6px 0;font-size:30px;max-width:650px}.hero p{color:#d3dfe5;margin:0}.hero .overline{color:var(--lime)!important}.hero-week{z-index:1;text-align:center}.hero-week strong{font-size:48px;display:block;line-height:1}.hero-week span{font-size:10px;letter-spacing:.15em}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.metric,.card{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.metric{padding:18px}.metric span{color:var(--muted);font-size:11px}.metric strong{display:block;font-size:27px;margin:6px 0}.metric small{color:var(--green)}.split{display:grid;grid-template-columns:1.25fr 1fr;gap:17px}.card{padding:21px}.card.no-pad{padding:0}.card-head,.page-head{display:flex;justify-content:space-between;align-items:center}.card-head{margin-bottom:16px}.card-head h3{margin:0}.card-head span{color:var(--muted);font-size:11px}.province-row{display:grid;grid-template-columns:125px 1fr 52px;gap:12px;align-items:center;margin:14px 0;font-size:12px}.bar{height:9px;background:#e9efeb;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--lime));border-radius:10px}.status-list{display:grid;gap:11px}.status{padding:12px;border-radius:11px;background:#f3f6f4;display:flex;gap:10px}.status i{width:9px;height:9px;border-radius:50%;background:var(--green);margin-top:5px}.status.warning i{background:var(--warning)}.status strong{font-size:12px}.status p{margin:3px 0 0;color:var(--muted);font-size:11px}.page-head{margin-bottom:19px}.page-head h1{font-size:24px;margin:0}.page-head p{color:var(--muted);margin:4px 0}.actions{display:flex;gap:9px;align-items:center}.actions input{max-width:200px}.table-wrap{overflow:auto;border-radius:16px}.table-wrap table{width:100%;border-collapse:collapse;min-width:900px}.table-wrap table.wide{min-width:1270px}th{background:#edf3ef;color:#52625a;font-size:10px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:12px}td{padding:12px;border-top:1px solid #edf0ee;font-size:12px}tr:hover td{background:#fbfcfb}.badge{display:inline-block;padding:5px 8px;border-radius:20px;background:#e4f2e8;color:var(--green);font-size:10px;font-weight:850}.badge.warning{background:#fff1dc;color:#946018}.badge.danger{background:#feeaea;color:var(--danger)}.icon-btn{border:0;background:#edf3ef;color:var(--green);border-radius:8px;padding:7px 9px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.form-grid label{margin:0}.form-grid textarea{min-height:78px;resize:vertical}.span-2{grid-column:span 2}.observations{margin-top:18px}.attendance-input{width:68px;border:1px solid var(--line);border-radius:7px;padding:7px}.toggle{appearance:none;width:38px!important;height:22px;border:0!important;background:#dbe2de!important;border-radius:20px!important;position:relative;padding:0!important}.toggle:checked{background:var(--green)!important}.toggle:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.toggle:checked:after{left:19px}.chart{height:310px;display:flex;align-items:end;gap:18px;padding:25px 10px 0;border-bottom:1px solid var(--line)}.chart-col{flex:1;display:grid;align-content:end;text-align:center;gap:7px;color:var(--muted);font-size:10px;height:100%}.chart-col i{display:block;background:linear-gradient(var(--lime),var(--green));border-radius:9px 9px 2px 2px;min-height:4px}.team{display:grid;grid-template-columns:1fr 55px 45px;gap:8px;padding:11px 0;border-top:1px solid var(--line);font-size:12px}.tournament-matches{margin-top:17px}.match-score{display:flex;gap:5px;align-items:center}.match-score input{width:40px;padding:6px;border:1px solid var(--line);border-radius:7px;text-align:center}.toast{position:fixed;right:22px;bottom:22px;z-index:30;max-width:390px;background:var(--navy);color:#fff;padding:14px 17px;border-radius:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(80px);transition:.25s}.toast.show{opacity:1;transform:none}.toast.error{background:#8d3333}dialog{width:min(680px,calc(100% - 30px));border:0;border-radius:18px;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(7,21,29,.65);backdrop-filter:blur(4px)}dialog form{padding:23px}.dialog-head,.dialog-actions{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.dialog-head button{border:0;background:transparent;font-size:25px}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}fieldset{border:1px solid var(--line);border-radius:11px;margin-top:14px}legend{font-size:11px;font-weight:800;color:#53606a}.materials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.material-row{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;grid-template-columns:1fr 70px;gap:8px;align-items:center;font-size:12px}.material-row input[type=number]{width:65px;padding:6px;border:1px solid var(--line);border-radius:7px}@media(max-width:1050px){.app{grid-template-columns:78px 1fr}.brand>div:last-child,.sidebar nav span,.account>div:nth-child(2){display:none}.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:720px){.app{display:block}.sidebar{position:fixed;left:-270px;width:255px;z-index:10;transition:.25s}.sidebar.open{left:0}.brand>div:last-child,.sidebar nav span,.account>div:nth-child(2){display:block}.menu{display:block}.topbar{padding:0 15px}.topbar select{width:145px}.content{padding:19px 14px 45px}.hero{padding:22px}.hero h1{font-size:23px}.hero-week{display:none}.metrics,.form-grid,.materials-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-head{align-items:start;gap:12px}.actions{flex-wrap:wrap;justify-content:flex-end}.actions input{max-width:145px}}@media print{.sidebar,.topbar,.page-head .actions,.hero,.toast{display:none!important}.app{display:block}.content{padding:0}.view{display:none!important}#reports{display:block!important}.card,.metric{box-shadow:none}}
