:root{--navy:#102f2b;--teal:#166b5b;--cream:#f5f1e8;--paper:#fffdfa;--ink:#173530;--muted:#72807b;--line:#dfe4df;--gold:#c49b58;--danger:#a5453d;--shadow:0 20px 55px rgba(16,47,43,.09)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}.hidden{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:white;padding:25px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;padding:0 8px 26px;border-bottom:1px solid rgba(255,255,255,.1)}.brand>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e8d1a6;color:var(--navy);font-family:Georgia,serif;font-size:22px}.brand div{display:flex;flex-direction:column}.brand b{font-family:Georgia,serif}.brand small{font-size:9px;color:#9db4ae;margin-top:4px}.sidebar nav{display:grid;gap:7px;margin-top:24px}.sidebar nav a{color:#b8ccc7;text-decoration:none;border-radius:10px;padding:12px 14px;font-size:12px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:white}.privacy{margin-top:auto;background:rgba(255,255,255,.07);border-radius:13px;padding:15px}.privacy b{font-size:10px;color:#dbc18b}.privacy p{font-size:9px;color:#9fb7b1;line-height:1.6;margin:7px 0 0}main{margin-left:250px;min-height:100vh}header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 42px;background:rgba(245,241,232,.9);backdrop-filter:blur(15px);position:sticky;top:0;z-index:20}header>div:first-of-type p,.section-head p,.eyebrow{margin:0 0 4px;color:#a8744d;font-size:9px;letter-spacing:.18em;font-weight:800}header h1{font-family:Georgia,"Songti SC",serif;font-size:25px;font-weight:500;margin:0}.admin-chip{margin-left:auto;display:flex;align-items:center;gap:10px}.admin-chip>span{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:12px}.admin-chip div{display:flex;flex-direction:column}.admin-chip b{font-size:11px}.admin-chip small{font-size:8px;color:var(--muted);margin-top:2px}#menu{display:none}.loading{min-height:55vh;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted);font-size:12px}.loading>span{width:30px;height:30px;border:3px solid #d5ded8;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#dashboard{padding:32px 42px 70px;max-width:1500px;margin:auto}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metrics article{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:0 10px 30px rgba(16,47,43,.04);display:flex;flex-direction:column}.metrics span{font-size:10px;color:var(--muted)}.metrics strong{font-family:Georgia,serif;font-size:34px;font-weight:500;margin:8px 0 4px}.metrics small{font-size:9px;color:#96a19d}.members-section{margin-top:24px;background:var(--paper);border:1px solid var(--line);border-radius:21px;padding:25px;box-shadow:var(--shadow)}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head h2{font-family:Georgia,"Songti SC",serif;font-size:28px;font-weight:500;margin:0 0 5px}.section-head>div>span{font-size:10px;color:var(--muted)}.section-head button,.primary{border:0;background:var(--navy);color:#fff;border-radius:10px;padding:12px 16px;font-size:11px;font-weight:700;cursor:pointer}.filters{display:flex;gap:10px;margin:24px 0 13px}.filters input,.filters select,.modal input{border:1px solid var(--line);background:#faf9f5;border-radius:10px;padding:11px 13px;outline:none;color:var(--ink)}.filters input{width:min(300px,60%)}.filters input:focus,.modal input:focus{border-color:#68a293;box-shadow:0 0 0 3px #dceae5}.filters select{margin-left:auto}.user-list{display:grid}.user-row{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(130px,.9fr) 1fr 1fr 90px;gap:18px;align-items:center;border-top:1px solid var(--line);padding:15px 8px;cursor:pointer;transition:.15s}.user-row:hover{background:#f7f8f4}.user-main{display:flex;align-items:center;gap:11px;min-width:0}.user-avatar{width:38px;height:38px;border-radius:11px;background:#dfeae4;color:var(--teal);display:grid;place-items:center;font-weight:800;flex:0 0 auto}.user-main>div{display:flex;flex-direction:column;min-width:0}.user-main b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-main small,.progress-cell small,.last-seen{font-size:9px;color:var(--muted);margin-top:3px}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:#3aa679}.status.disabled:before{background:#b7bdb9}.progress-cell{display:flex;flex-direction:column}.progress-cell>span{display:flex;align-items:center;gap:8px;font-size:10px}.mini{width:70px;height:5px;border-radius:4px;background:#e5e9e5;overflow:hidden}.mini i{display:block;height:100%;background:var(--teal)}.open-arrow{font-size:18px;color:#9aa5a1;text-align:center}.empty{text-align:center;padding:55px 20px}.empty>span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#e5eee9;color:var(--teal);font-size:22px;margin:auto}.empty h3{font-family:Georgia,"Songti SC",serif;font-size:22px;font-weight:500;margin:15px 0 6px}.empty p{font-size:11px;color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(7,25,22,.62);backdrop-filter:blur(5px);z-index:80;display:grid;place-items:center;padding:20px}.modal-card,.detail-card{width:min(620px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:22px;padding:30px;box-shadow:0 40px 110px rgba(0,0,0,.3);position:relative}.close{position:absolute;right:18px;top:16px;border:0;width:34px;height:34px;border-radius:50%;background:#ecefe9;color:#5f6d68;font-size:20px;cursor:pointer}.modal h2{font-family:Georgia,"Songti SC",serif;font-size:28px;font-weight:500;margin:0 0 7px}.modal-card>p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0 0 22px}.modal label{font-size:10px;font-weight:700;display:block}.modal label>input:not([type=checkbox]){width:100%;margin-top:7px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-card>label{margin-top:15px}fieldset{border:0;padding:0;margin:22px 0 0}legend{font-size:10px;font-weight:700;margin-bottom:9px}fieldset label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:12px;margin-top:8px;cursor:pointer}fieldset input{accent-color:var(--teal)}fieldset span{display:flex;flex-direction:column}fieldset small{color:var(--muted);font-weight:400;margin-top:3px}.primary{width:100%;margin-top:21px;padding:14px}.message{font-size:10px;border-radius:8px;padding:9px 11px;margin:12px 0 0}.message.error{color:#8d332f;background:#f5dfdc}.detail-head{display:flex;gap:14px;align-items:center;padding-bottom:21px;border-bottom:1px solid var(--line)}.detail-head .user-avatar{width:50px;height:50px;font-size:16px}.detail-head h2{font-size:25px;margin:0}.detail-head p{font-size:10px;color:var(--muted);margin:4px 0 0}.detail-section{margin-top:23px}.detail-section>h3{font-size:11px;letter-spacing:.08em;margin:0 0 12px}.detail-progress{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-progress article{background:#f4f6f1;border-radius:13px;padding:15px}.detail-progress article>span{font-size:9px;color:var(--muted)}.detail-progress strong{display:block;font-family:Georgia,serif;font-size:26px;margin:5px 0}.detail-progress p{font-size:9px;color:var(--muted);margin:0;line-height:1.55}.detail-form{display:grid;gap:13px}.detail-form>label{font-size:10px;font-weight:700}.detail-form input[type=text],.detail-form input[type=password]{width:100%;margin-top:6px}.plan-checks{display:flex;gap:9px}.plan-checks label{flex:1;display:flex;gap:7px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:9px;font-size:9px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-actions button{border:0;border-radius:9px;padding:10px 12px;font-size:10px;cursor:pointer;background:#e5eee9;color:var(--teal)}.detail-actions button.danger{background:#f2dfdc;color:var(--danger)}.detail-actions button.primary-small{background:var(--navy);color:white}.legacy-note{background:#fff4de;border:1px solid #efd7a6;border-radius:11px;padding:12px;font-size:10px;color:#715735;line-height:1.6;margin-top:12px}@media(max-width:980px){.metrics{grid-template-columns:repeat(2,1fr)}.user-row{grid-template-columns:minmax(170px,1.2fr) .8fr 1fr 70px}.user-row .progress-cell:nth-of-type(2){display:none}}@media(max-width:720px){.sidebar{transform:translateX(-101%);transition:.2s;box-shadow:20px 0 70px rgba(0,0,0,.3)}.sidebar.open{transform:translateX(0)}main{margin-left:0}header{height:78px;padding:0 17px}#menu{display:block;border:0;background:transparent;margin-right:12px;font-size:20px}header h1{font-size:21px}.admin-chip div{display:none}#dashboard{padding:18px 14px 45px}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metrics article{padding:15px}.metrics strong{font-size:28px}.members-section{padding:17px;border-radius:17px}.section-head{align-items:flex-start;gap:12px}.section-head h2{font-size:24px}.section-head>div>span{display:none}.section-head button{padding:10px 11px;white-space:nowrap}.filters{margin-top:18px}.user-row{grid-template-columns:1fr 80px 30px;gap:8px}.user-row>.status,.user-row>.progress-cell:nth-of-type(2){display:none}.last-seen{display:none}.two,.detail-progress{grid-template-columns:1fr}.modal-card,.detail-card{padding:24px 18px}.detail-card{height:calc(100vh - 20px)}.plan-checks{flex-direction:column}}
