:root{--ink:#061c3d;--ink2:#0c2d5a;--blue:#0979e9;--cyan:#20c9f3;--paper:#f5f8fc;--white:#fff;--muted:#64748b;--line:#dbe5f1;--red:#e44e51;--red-bg:#fff1f1;--green:#168266;--shadow:0 12px 30px rgba(8,38,80,.09)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eaf4ff 0,#f7f9fc 360px);font-family:'Be Vietnam Pro',sans-serif;color:var(--ink);font-size:15px}.app-shell{width:min(100%,760px);margin:auto;padding:env(safe-area-inset-top,18px) 20px 110px}.topbar{height:60px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:'Space Grotesk',sans-serif;letter-spacing:.8px;display:flex;gap:9px;align-items:center;font-size:17px}.brand b{font-weight:500;color:#40709f}.brand-mark{background:var(--ink);color:white;border-radius:8px;font-weight:700;padding:5px 8px}.avatar,.icon-button{border:0;background:#dceeff;color:var(--ink);font-weight:700}.avatar{width:38px;height:38px;border-radius:50%}.install-button{margin-left:auto;margin-right:12px;border:1px solid #a7cff8;border-radius:10px;background:white;color:#0875dd;font:600 12px inherit;padding:8px 10px}.intro{padding:27px 0 19px;display:flex;justify-content:space-between}.eyebrow,.section-kicker{font-size:11px;letter-spacing:1.1px;color:#6281a1;font-weight:700;margin:0 0 7px}.intro h1,.team-summary h2,.section-head h2{font-size:25px;letter-spacing:-.8px;line-height:1.15;margin:0;font-weight:800}.muted{color:var(--muted);margin:7px 0 0;font-size:14px}.icon-button{height:42px;width:42px;border-radius:13px;font-size:25px}.progress-card{background:var(--ink);box-shadow:0 16px 26px rgba(4,27,62,.24);border-radius:22px;color:white;padding:23px;overflow:hidden;position:relative}.progress-card:after{content:"";position:absolute;right:-68px;top:-78px;width:240px;height:240px;border:1px solid rgba(65,203,255,.27);border-radius:50%;box-shadow:0 0 0 29px rgba(65,203,255,.05),0 0 0 59px rgba(65,203,255,.04)}.progress-head{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.progress-head span{font-size:13px;color:#bbd2ed}.progress-head strong{font:700 42px/1 'Space Grotesk',sans-serif;display:block;margin:8px 0 4px}.progress-head small{font-size:12px;color:#b5c9e1}.radial{height:76px;width:76px;border:7px solid rgba(255,255,255,.15);border-top-color:#2ce0ef;border-right-color:#2ce0ef;border-radius:50%;display:grid;place-items:center;font:bold 15px 'Space Grotesk';transform:rotate(45deg)}.radial span{transform:rotate(-45deg);color:white}.bar{height:7px;margin-top:22px;background:#26476f;border-radius:100px;overflow:hidden}.bar i{display:block;width:78%;height:100%;background:linear-gradient(90deg,#159ff5,#26dedf);border-radius:inherit}.progress-foot{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:12px;color:#b9d7ef}.progress-foot button,.text-button{border:0;background:transparent;color:#4edcf4;font:600 12px inherit}.team-summary{display:flex;justify-content:space-between;align-items:end;margin:31px 0 16px}.team-summary h2{font-size:21px}.member-count{font-size:12px;color:var(--muted);display:block;margin-top:7px}.member-count:first-letter{color:#22b78b}.outline{border:1px solid #bfd1e5;background:#fff;border-radius:10px;padding:9px 11px;color:#38526f;font:600 12px inherit}.stats-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:10px}.stats-grid article{background:white;border:1px solid #e4ebf4;border-radius:14px;padding:14px 12px;min-height:94px;box-shadow:0 4px 12px rgba(26,50,85,.03)}.stats-grid span{color:#778ba2;display:block;font-size:11px}.stats-grid strong{display:block;margin:7px 0 4px;font:700 19px 'Space Grotesk',sans-serif;letter-spacing:-.5px}.stats-grid small{color:var(--green);font-size:10px}.stats-grid .rank small{color:#778ba2}.alert-card{display:flex;align-items:center;gap:12px;padding:13px;margin:21px 0 29px;background:var(--red-bg);border:1px solid #ffd9d9;border-radius:14px}.alert-icon{width:27px;height:27px;display:grid;place-items:center;background:var(--red);color:white;border-radius:9px;font-weight:800}.alert-card strong{font-size:13px;color:#bc3034}.alert-card p{margin:3px 0 0;color:#a65d61;font-size:11px}.alert-card button{margin-left:auto;border:0;background:transparent;color:#bb3338;font:700 12px inherit}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head h2{font-size:20px}.text-button{color:#0878df;font-size:13px;padding:7px}.filter-row{display:flex;gap:8px;margin:16px 0 11px;overflow:auto}.chip{white-space:nowrap;border:1px solid var(--line);padding:8px 13px;background:white;color:#668099;border-radius:100px;font:600 12px inherit}.chip.active{background:#dceeff;border-color:#b9ddfb;color:#086bc9}.member-list{background:white;border:1px solid #e3ebf4;border-radius:17px;overflow:hidden}.member{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid #edf1f6}.member:last-child{border-bottom:0}.rank-num{font:700 12px 'Space Grotesk';width:14px;color:#9badc0}.person-avatar{height:37px;width:37px;border-radius:12px;display:grid;place-items:center;font:700 12px 'Space Grotesk';color:#fff;background:#3878b8}.member.low .person-avatar{background:#d3595d}.person{flex:1;min-width:0}.person strong{font-size:13px;display:block}.person small{font-size:11px;color:#71859a;display:block;margin-top:3px}.steps{text-align:right}.steps strong{font:700 15px 'Space Grotesk';display:block}.steps small{font-size:10px;color:var(--green)}.member.low{background:#fff9f9}.member.low .steps strong,.member.low .steps small{color:#d34b50}.bottom-nav{position:fixed;z-index:4;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);background:rgba(255,255,255,.96);border-top:1px solid #dce6f1;backdrop-filter:blur(16px);display:flex;justify-content:space-around;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}.nav-item{border:0;background:transparent;color:#70879d;font:500 10px inherit;display:grid;gap:3px;place-items:center;min-width:60px;padding:3px}.nav-item span{font-size:20px;line-height:20px}.nav-item.active{color:#0879e3}.nav-item.active span{font-weight:800}dialog{border:0;border-radius:19px;padding:0;width:min(calc(100% - 36px),420px);box-shadow:0 24px 70px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(3,20,45,.55)}.modal-body{padding:24px}.modal-body h2{font-size:21px;margin:0 0 6px}.modal-body p{color:#64748b;font-size:13px;line-height:1.55}.modal-close{float:right;border:0;background:#eef4fa;border-radius:8px;height:28px;width:28px}.source-option,.request-row{border:1px solid #dce7f1;border-radius:12px;padding:13px;margin-top:11px;display:flex;align-items:center;gap:11px}.source-option button,.primary{margin-left:auto;border:0;background:#0879e3;color:#fff;border-radius:9px;padding:9px 10px;font:600 12px inherit}.source-logo{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#eff6ff;font-weight:800;color:#0879e3}.source-option strong,.request-row strong{font-size:13px;display:block}.source-option small,.request-row small{color:#71859a;font-size:11px}.form-row{display:grid;gap:7px;margin-top:14px}.form-row label{font-size:12px;font-weight:700}.form-row input{border:1px solid #cbd9e8;padding:11px;border-radius:10px;font:14px inherit}.full{width:100%;margin:17px 0 0}.request-row{justify-content:space-between}.request-row button{border:0;border-radius:8px;padding:7px 9px;font:600 11px inherit;background:#dff5ee;color:#08745b}.request-row button.reject{background:#fff0f1;color:#c83f48}.rule-panel{background:#f5f9fd;border-radius:12px;padding:13px;margin-top:13px}.rule-panel b{display:block;font-size:13px}.rule-panel input{width:100%;margin-top:9px;border:1px solid #cbd9e8;border-radius:8px;padding:9px;font:13px inherit}.toast{position:fixed;left:50%;bottom:88px;transform:translate(-50%,20px);background:#08254b;color:white;padding:10px 14px;border-radius:10px;font-size:12px;opacity:0;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:640px){.app-shell{padding-left:30px;padding-right:30px}.member{padding:15px 17px}}@media(max-width:370px){.stats-grid strong{font-size:16px}.stats-grid article{padding:11px 9px}.intro h1{font-size:22px}}
