:root{--navy:#061f2e;--navy2:#0a3b4f;--teal:#00c6aa;--teal2:#0b6b63;--mint:#4ce0c7;--ink:#123e50;--muted:#64818c;--line:#dbe8ec;--bg:#eef5f6;--card:#fff;--warn:#f2a93b;--bad:#d64545;--ok:#14a37f;--star:#f5b700;--r:16px;--sh:0 10px 30px rgba(6,31,46,.08)}
*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}a{color:var(--teal2)}
.dz-top{position:sticky;top:0;z-index:30;background:var(--navy);color:#fff;display:flex;align-items:center;gap:14px;padding:12px 22px;box-shadow:0 2px 14px rgba(0,0,0,.25)}
.dz-top img{height:26px}.dz-top .brand{font-weight:800;letter-spacing:2px;font-size:11px;color:var(--mint);border-left:1px solid rgba(255,255,255,.2);padding-left:14px}.dz-top .sp{flex:1}
.dz-top .who{display:flex;align-items:center;gap:10px;font-size:13px}.dz-top .who .av{width:34px;height:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 18px;font-weight:700;cursor:pointer;background:var(--teal);color:#062a39;transition:.15s;white-space:nowrap;text-decoration:none}
.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.dark{background:var(--navy);color:#fff}.btn.light{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25)}.btn.bad{background:#fdecec;color:var(--bad)}.btn.sm{padding:7px 12px;font-size:13px;border-radius:10px}.btn.icon{padding:7px 9px}
.hero{background:linear-gradient(125deg,var(--navy) 0%,var(--navy2) 55%,var(--teal2) 100%);color:#fff;padding:28px 22px 74px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;border:60px solid rgba(76,224,199,.08)}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}.hero .wrap{padding:0}
.profile{display:flex;gap:22px;align-items:center;position:relative;z-index:1}
.av{width:84px;height:84px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--teal),var(--navy2));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;flex:none;border:3px solid rgba(255,255,255,.85);font-size:28px;overflow:hidden}
.av.s{width:44px;height:44px;font-size:15px;border-width:2px}.av.xs{width:30px;height:30px;font-size:11px;border-width:1px}
.profile h1{margin:0;font-size:28px;letter-spacing:-.3px}.profile .role{color:var(--mint);font-weight:700;margin:2px 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 12px;font-size:12.5px}.chip b{color:var(--mint);font-weight:700;margin-right:4px}
.tabs{max-width:1180px;margin:-50px auto 0;padding:0 22px;position:relative;z-index:2}
.tabs nav{display:flex;gap:4px;background:#fff;border-radius:16px;padding:6px;box-shadow:var(--sh);overflow-x:auto;scrollbar-width:none}.tabs nav::-webkit-scrollbar{display:none}
.tabs button{border:0;background:transparent;padding:11px 16px;border-radius:11px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;display:flex;gap:8px;align-items:center}
.tabs button.on{background:var(--navy);color:#fff}.tabs button .n{background:var(--teal);color:var(--navy);border-radius:99px;font-size:11px;padding:1px 7px}
main{max-width:1180px;margin:22px auto 30px;padding:0 22px;min-height:50vh}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:22px;margin-bottom:18px;border:1px solid rgba(219,232,236,.6)}
.card h2{margin:0 0 4px;font-size:19px}.card h3{margin:0 0 6px;font-size:16px}.sub{color:var(--muted);font-size:13.5px;margin:0 0 14px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--teal2)}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cta{background:linear-gradient(120deg,var(--navy),var(--navy2) 60%,#0d5f5a);color:#fff;border-radius:20px;padding:24px 26px;display:flex;gap:20px;align-items:center;position:relative;overflow:hidden;margin-bottom:18px;box-shadow:0 14px 34px rgba(6,31,46,.25)}
.cta:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--teal)}.cta .ic{width:62px;height:62px;border-radius:18px;background:rgba(0,198,170,.18);display:flex;align-items:center;justify-content:center;flex:none}
.cta h2{margin:0;font-size:21px}.cta p{margin:4px 0 0;color:#c9e3e6}.cta .sp{flex:1}
.kpi{border-radius:16px;padding:18px;background:#f6fafb;border:1px solid var(--line)}.kpi .v{font-size:30px;font-weight:800;color:var(--navy);letter-spacing:-.5px}.kpi .l{color:var(--muted);font-size:13px}
.meter{height:12px;border-radius:99px;background:#e4eef1;overflow:hidden;position:relative}.meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--mint));transition:width .4s}.meter.over i{background:linear-gradient(90deg,#f08a5d,var(--bad))}
.wbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.wbar .meter{flex:1;min-width:180px}.wbar .big{font-size:26px;font-weight:800}
.note{border-radius:12px;padding:12px 14px;font-size:14px;display:flex;gap:10px;align-items:flex-start}.note.info{background:#e8f7f5;color:#0b5b54}.note.warn{background:#fff5e5;color:#8a5a12}.note.bad{background:#fdecec;color:#8f2c2c}.note.ok{background:#e6f6ef;color:#106b50}
table.t{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.t th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:#f7fbfc}.t td{padding:13px 12px;border-bottom:1px solid #edf3f5;vertical-align:middle}.t tr:hover td{background:#fafdfd}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700;background:#eef3f5;color:#4a6572;white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.8}
.pill.ok{background:#e3f6ef;color:#0f8a68}.pill.warn{background:#fff3df;color:#b67512}.pill.bad{background:#fdecec;color:#c23b3b}.pill.info{background:#e5f4fb;color:#1f7aa6}.pill.dark{background:var(--navy);color:var(--mint)}
.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.subtabs button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 14px;font-weight:700;cursor:pointer;color:var(--muted)}.subtabs button.on{border-color:var(--teal);background:#e7f8f5;color:var(--teal2)}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sp{flex:1}.muted{color:var(--muted)}.small{font-size:12.5px}.right{text-align:right}
label.f{display:block;font-size:12.5px;font-weight:700;color:#3d5d6b;margin:0 0 12px}label.f>span{display:block;margin-bottom:6px}
.in,select.in,textarea.in{width:100%;font-weight:400;border:1px solid #cfdfe4;border-radius:11px;padding:11px 12px;background:#fff;outline:none;transition:.15s}.in:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,198,170,.18)}textarea.in{min-height:96px;resize:vertical}
.modal{position:fixed;inset:0;background:rgba(4,20,30,.55);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px;animation:fd .15s}
.modal .box{background:#fff;border-radius:20px;width:min(720px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.35)}.modal .box.w{width:min(1000px,100%)}
.modal header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start;position:sticky;top:0;background:#fff;z-index:2}.modal header h3{margin:2px 0 0;font-size:19px}.modal .bd{padding:22px 24px}.modal footer{padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;position:sticky;bottom:0;background:#fff}
.x{border:0;background:#eef3f5;border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:16px;margin-left:auto}
@keyframes fd{from{opacity:0}}
.choice{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.choice button{border:1.5px solid var(--line);background:#fff;border-radius:16px;padding:20px;text-align:left;cursor:pointer;transition:.15s}.choice button:hover{border-color:var(--teal);box-shadow:0 8px 20px rgba(0,198,170,.15)}.choice b{display:block;font-size:16px;margin:10px 0 4px}.choice .ic{width:44px;height:44px;border-radius:12px;background:#e7f8f5;display:flex;align-items:center;justify-content:center}
.lib{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px;display:flex;gap:12px;align-items:center;cursor:pointer}.lib:hover{border-color:var(--teal);background:#f5fcfb}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:13px 20px;border-radius:12px;z-index:200;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:92vw;font-weight:600}.toast.bad{background:#8f2c2c}
.obj{border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:14px;background:#fff}.obj .hd{display:flex;gap:12px;align-items:flex-start}.obj h4{margin:0;font-size:16px}.obj .w{background:var(--navy);color:var(--mint);font-weight:800;border-radius:10px;padding:4px 10px;font-size:13px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.side{background:#f6fafb;border-radius:12px;padding:14px;border:1px solid var(--line)}.side .lab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px}
.score{display:flex;align-items:center;gap:10px}.score input{width:110px;font-size:20px;font-weight:800;text-align:center}
.stars{display:flex;gap:4px}.stars button{border:0;background:none;cursor:pointer;font-size:30px;line-height:1;color:#d7e0e4;padding:0 2px}.stars button.on{color:var(--star);text-shadow:0 2px 6px rgba(245,183,0,.35)}
.sum{position:sticky;top:76px}.sum .final{font-size:46px;font-weight:900;color:var(--navy);letter-spacing:-1px;line-height:1}.cat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}
.scale{border-radius:14px;overflow:hidden;border:1px solid var(--line)}.scale div{display:flex;gap:10px;padding:9px 12px;font-size:12.5px;border-bottom:1px solid #edf3f5;align-items:center}.scale div b.r{background:var(--navy);color:var(--mint);border-radius:8px;padding:3px 8px;min-width:86px;text-align:center;font-size:12px}.scale div.on{background:#e7f8f5;box-shadow:inset 4px 0 0 var(--teal)}
.steps{display:flex;gap:0;margin:6px 0 4px}.steps div{flex:1;text-align:center;position:relative;font-size:12.5px;font-weight:700;color:var(--muted)}.steps div:before{content:"";display:block;width:28px;height:28px;border-radius:50%;margin:0 auto 6px;background:#e3edf0;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);position:relative;z-index:1}.steps div:after{content:"";position:absolute;top:14px;left:-50%;width:100%;height:3px;background:#e3edf0}.steps div:first-child:after{display:none}.steps div.done:before,.steps div.cur:before{background:var(--teal)}.steps div.done:after,.steps div.cur:after{background:var(--teal)}.steps div.cur{color:var(--navy)}
.drop{border:2px dashed #b9d6dc;border-radius:14px;padding:22px;text-align:center;color:var(--muted);cursor:pointer;background:#f8fcfc}.drop.on{border-color:var(--teal);background:#e9f9f6}
.trail{border-left:3px solid var(--teal);padding-left:16px}.trail div{margin-bottom:12px;font-size:13.5px}.trail code{font-size:11px;background:#eef3f5;padding:2px 6px;border-radius:6px;word-break:break-all}
.member{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;transition:.15s}.member:hover{border-color:var(--teal);box-shadow:0 10px 24px rgba(0,198,170,.12);transform:translateY(-1px)}
.chart{display:flex;align-items:flex-end;gap:14px;height:220px;padding:10px 4px 0;border-bottom:1px solid var(--line);overflow-x:auto}.chart .b{flex:1;min-width:54px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.chart .b i{width:100%;max-width:56px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,var(--mint),var(--teal2));display:block;position:relative}.chart .b span{font-weight:800;font-size:13px;margin-bottom:6px}.chart .lbl{display:flex;gap:14px;padding:8px 4px 0}.chart .lbl div{flex:1;min-width:54px;text-align:center;font-size:11.5px;color:var(--muted)}
.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty .ic{font-size:40px;margin-bottom:8px}
.foot{background:var(--navy);color:#a9c4cb;font-size:12.5px;padding:22px;text-align:center;line-height:1.7}.foot b{color:#fff}
.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}.login .l{background:linear-gradient(140deg,var(--navy),var(--navy2) 60%,var(--teal2));color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login .l:after{content:"";position:absolute;right:-160px;bottom:-160px;width:520px;height:520px;border-radius:50%;border:80px solid rgba(76,224,199,.08)}.login h1{font-size:46px;line-height:1.05;margin:18px 0 10px;letter-spacing:-1px}.login h1 em{font-style:normal;color:var(--mint)}.login .r{display:flex;align-items:center;justify-content:center;padding:40px}.login .r .box{max-width:380px;width:100%}
.gbtn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:1px solid #cfdfe4;background:#fff;border-radius:14px;padding:14px;font-weight:700;cursor:pointer;font-size:15px;text-decoration:none;color:var(--ink)}.gbtn:hover{border-color:var(--teal);box-shadow:0 6px 16px rgba(0,198,170,.15)}
.banner{background:#fff3df;color:#7a4c0c;text-align:center;padding:8px;font-size:13px;font-weight:700}.banner.sb{background:#e5f4fb;color:#155e82}
.skel{height:120px;border-radius:16px;background:linear-gradient(90deg,#eaf1f3,#f6fafb,#eaf1f3);background-size:200% 100%;animation:sk 1.2s infinite}@keyframes sk{to{background-position:-200% 0}}
.mob{display:none}
@media (max-width:860px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.cols{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login .l{padding:34px 26px;min-height:46vh}.login h1{font-size:34px}.sum{position:static}}
@media (max-width:640px){body{font-size:14.5px}.g2,.g3,.g4{grid-template-columns:1fr}.hero{padding:20px 16px 70px}.profile{flex-direction:column;align-items:flex-start;gap:12px}.profile h1{font-size:22px}.av{width:68px;height:68px}.wrap,main,.tabs{padding-left:14px;padding-right:14px}.card{padding:16px}.dz-top{padding:10px 14px}.dz-top .who .nm,.dz-top .brand{display:none}.dz-top .btn.sm{padding:6px 10px;font-size:12px}.cta{flex-direction:column;align-items:flex-start}.choice{grid-template-columns:1fr}
.t.resp thead{display:none}.t.resp tr{display:block;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:6px 4px;background:#fff}.t.resp td{display:flex;justify-content:space-between;gap:12px;border:0;padding:7px 12px;text-align:right}.t.resp td:before{content:attr(data-l);font-weight:700;color:var(--muted);font-size:12px;text-align:left}.t.resp td.full{display:block;text-align:left}.t.resp td.full:before{display:none}
.modal{padding:0;align-items:flex-end}.modal .box{border-radius:20px 20px 0 0;max-height:94vh}.score input{width:90px}.mob{display:block}.desk{display:none}}
