:root{color-scheme:light}
[hidden]{display:none!important}
body{background:#f4f7f5;color:#1d2e35}
.gate-view{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:28px;background:radial-gradient(circle at 20% 20%,#dde9e3,transparent 50%),#f0f4f2}
.gate-card{width:min(100%,500px);border:1px solid #d7e1dc;background:#fff;border-radius:20px;padding:36px;box-shadow:0 16px 70px #183a3123;display:grid;gap:16px}
.gate-brand{display:flex;align-items:center;gap:13px;font-size:12px;color:#576e67;line-height:1.5}
.gate-brand strong{display:block;font-size:17px;letter-spacing:-.3px;color:#183b31}
.gate-symbol,.team-mark{display:grid;place-items:center;background:#235a48;color:#fff;border-radius:13px;font-weight:800;width:48px;height:48px;flex:0 0 auto;font-size:24px}
.gate-card .eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px;color:#40735f;margin:20px 0 0}
.gate-card h1{font-size:31px;line-height:1.12;color:#193d31;margin:0;letter-spacing:-1px}
.gate-lead{font-size:14px;line-height:1.6;color:#53635e;margin:0 0 10px}
#loginForm{display:grid;gap:10px}
#loginForm label{font-weight:650;font-size:13px;color:#254338}
#loginForm input{width:100%;background:#fff;color:#172e28;border:1px solid #b7c8be;border-radius:9px;min-height:46px;padding:11px 13px;font:inherit;font-size:15px;outline-offset:2px}
#loginForm input:focus{border-color:#356c55;outline:2px solid #c6e4d2}
.gate-submit{margin-top:12px;padding:12px 16px;background:#27654b;border:1px solid #27654b;border-radius:10px;color:white;font-weight:750;font-size:14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.gate-submit:hover{background:#1c513b}.gate-submit:disabled{opacity:.6;cursor:wait}
#gateStatus{min-height:18px;color:#a33d36;font-size:13px;margin:0}
.gate-caption{border-top:1px solid #e6ece8;padding-top:17px;font-size:12px;color:#687970;line-height:1.5}
.team-bar{min-height:56px;display:flex;justify-content:space-between;align-items:center;background:#173b31;color:#fff;gap:16px;padding:8px 20px;position:relative;z-index:30}
.team-bar .team-identity,.team-bar .team-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.team-bar .team-mark{width:31px;height:31px;border-radius:8px;background:#3a8467;font-size:17px}
.team-bar .team-lock{color:#bfd9cd;font-size:12px}
.team-bar .team-code{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;border:1px solid #649e84;border-radius:6px;padding:0 8px;font-weight:800}
.team-sync{font-size:12px;color:#d6ede3}
.team-actions button,#closeTeam,.team-panel-body button{border:1px solid #9ebaa8;background:#fff;color:#224736;font:inherit;font-size:13px;font-weight:700;padding:8px 12px;border-radius:8px;cursor:pointer}
.team-actions button:hover,.team-panel-body button:hover{background:#e3f0e8}
#teamPanel{position:fixed;inset:0;z-index:500;background:#142b2799;display:flex;align-items:center;justify-content:center;padding:20px}
.team-panel{width:min(1100px,100%);max-height:92vh;overflow:auto;background:#f8faf9;border-radius:16px;border:1px solid #d1dfd6;box-shadow:0 24px 80px #132e2a55;color:#183b30}
.team-panel>header{padding:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid #e3eae6}
.team-panel>header h2{margin:0 0 6px;font-size:24px;color:#173b30}.team-panel>header p{margin:0;color:#60756b}
.team-panel-body{padding:22px;display:grid;gap:16px}
.team-scenario{background:#fff;border:1px solid #e2e8e5;border-radius:12px;padding:17px;display:grid;gap:10px}
.team-scenario h3{margin:0;font-size:16px}
.team-tags{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.team-tags .tag{padding:5px 10px;background:#f0f5f2;border-radius:7px;color:#385749;font-size:12px}
.team-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.team-values>div{padding:12px;background:#f7f9f8;border:1px solid #e5eee8;border-radius:9px}
.team-values span{display:block;font-size:11px;color:#687a71;margin-bottom:6px}
.team-values strong{font-size:16px;white-space:nowrap}
.team-warn{font-size:12px;color:#986129}.team-bad{color:#a63935}.team-good{color:#277147}
.team-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}
.team-table th,.team-table td{padding:10px;border-bottom:1px solid #edf1ee;text-align:left}
.team-table th{font-weight:750;background:#eaf0eb}
.team-table td:nth-child(n+2),.team-table th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.team-details{max-height:380px;overflow:auto;border:1px solid #dce9e0;border-radius:9px}
.team-details h4{margin:18px 12px 10px}
@media(max-width:650px){.gate-card{padding:23px}.team-values{grid-template-columns:1fr}.team-bar{padding:10px}.team-bar .team-lock{display:none}.team-panel{max-height:98vh}}

.team-panel-footer{border-top:1px solid #e2eae5;background:#fff;display:flex;align-items:center;gap:14px;padding:16px 24px;flex-wrap:wrap}.team-panel-footer button{background:#245c45;color:#fff;border:0;padding:11px 15px;border-radius:8px;font-weight:700;cursor:pointer}.team-panel-footer span{font-size:12px;color:#5d7066;max-width:600px}
.backup-dialog{position:fixed;inset:0;display:grid;place-items:center;z-index:800;background:#102a239c;padding:20px}.backup-form{max-width:420px;width:100%;padding:25px;background:#fff;color:#223c31;border-radius:14px;display:grid;gap:16px;box-shadow:0 20px 65px #0003}.backup-form h3{margin:0}.backup-form p{font-size:13px;color:#5b6a63;margin:0;line-height:1.5}.backup-form label{font-size:13px;font-weight:650;display:grid;gap:6px}.backup-form input{font:inherit;padding:10px;border-radius:8px;border:1px solid #adbbaf;background:white;color:#13261e}.backup-form .team-tags button{border:1px solid #789b85;background:#236148;color:white;font:inherit;font-weight:700;padding:10px 12px;border-radius:8px;cursor:pointer}.backup-form .team-tags button:first-child{color:#234436;background:#fff}.backup-form #backupError{color:#a23934;min-height:15px}

#passwordDialog{border:1px solid #bdced8;border-radius:14px;padding:0;width:min(500px,95vw);max-height:90vh;overflow:auto;background:white;color:#183847}#passwordDialog::backdrop{background:#18384799}
.team-view{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#d6ede3;font-weight:650}.team-view select{font:inherit;font-size:13px;font-weight:700;color:#224736;background:#fff;border:1px solid #9ebaa8;border-radius:8px;padding:7px 9px;max-width:230px}
.view-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:700;display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:min(920px,calc(100vw - 32px));background:#fff4d8;color:#4d3606;border:1px solid #e0b850;border-radius:12px;padding:11px 15px;font-size:13px;line-height:1.5;box-shadow:0 10px 35px #0002}.view-banner button{border:1px solid #9e7a1f;background:#fff;color:#4d3606;font:inherit;font-weight:700;padding:7px 11px;border-radius:8px;cursor:pointer}
