.mask-layer[data-v-7c4dd632]{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(31,45,61,.45);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.mask-panel[data-v-7c4dd632]{background:#fff;border-radius:12px;width:360px;padding:28px 32px 22px;box-shadow:0 12px 40px rgba(0,0,0,.18)}.mask-title[data-v-7c4dd632]{text-align:center;font-size:20px;font-weight:600}.mask-sub[data-v-7c4dd632]{color:var(--text-sub);text-align:center;margin:8px 0 18px;font-size:12px;line-height:1.6}.field[data-v-7c4dd632]{border:1px solid var(--border);border-radius:6px;outline:none;width:100%;height:40px;margin-bottom:12px;padding:0 12px;font-size:14px}.field[data-v-7c4dd632]:focus{border-color:var(--accent)}.remember-row[data-v-7c4dd632]{color:var(--text-sub);cursor:pointer;align-items:center;gap:6px;margin-bottom:6px;font-size:13px;display:flex}.err[data-v-7c4dd632]{color:var(--danger);margin:4px 0 6px;font-size:13px}.btn-row[data-v-7c4dd632]{gap:12px;margin-top:8px;display:flex}.btn[data-v-7c4dd632]{border:1px solid var(--border);cursor:pointer;height:38px;color:var(--text-main);background:#fff;border-radius:6px;flex:1;font-size:14px}.btn.primary[data-v-7c4dd632]{background:var(--accent);border-color:var(--accent);color:#fff}.btn[data-v-7c4dd632]:disabled{opacity:.6;cursor:not-allowed}.free-tip[data-v-7c4dd632]{text-align:center;color:var(--ok);margin-top:10px;font-size:12px}.forgot-tip[data-v-7c4dd632]{text-align:center;color:var(--text-sub);margin-top:6px;font-size:12px}.app-shell[data-v-fe961e8f]{flex-direction:column;min-height:100%;display:flex}.month-row[data-v-fe961e8f]{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.mtip[data-v-fe961e8f]{color:var(--faint);font-size:11px}.mask-badge[data-v-fe961e8f]{letter-spacing:2px}.head-side[data-v-fe961e8f]{align-items:center;gap:8px;display:flex;position:absolute;top:16px;right:24px}.app-head[data-v-fe961e8f]{position:relative}.uname[data-v-fe961e8f]{color:var(--muted);font-size:12px}.uname.guest[data-v-fe961e8f]{color:var(--gold)}.tabs[data-v-fe961e8f]{justify-content:center;margin:18px 0 6px;display:flex}.tab[data-v-fe961e8f]{border-radius:var(--r-pill);letter-spacing:2px;max-width:200px;color:var(--muted);background:var(--card);border:1px solid var(--line-s);cursor:pointer;flex:0 0 200px;justify-content:center;align-items:center;margin:0 8px;padding:11px 0;font-size:15px;font-weight:600;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px rgba(23,38,31,.07)}.tab+.tab[data-v-fe961e8f]{margin-left:0}.tab .tab-ico[data-v-fe961e8f]{align-items:center;margin-right:8px;display:inline-flex}.tab .tab-ico svg[data-v-fe961e8f]{width:17px;height:17px;display:block}.tab[data-v-fe961e8f]:hover{color:var(--gold);border-color:var(--gold);background:var(--g2);box-shadow:0 3px 12px rgba(185,138,46,.18)}.tab.active[data-v-fe961e8f]{color:#fff;background:linear-gradient(135deg, var(--green2), var(--green));border-color:var(--green2);box-shadow:0 4px 14px rgba(15,157,106,.35)}.tab.active .tab-ico[data-v-fe961e8f]{color:#f2d492}.tab.active[data-v-fe961e8f]:hover{color:#fff}.page-body[data-v-fe961e8f]{flex:1;padding-top:14px}.mi[data-v-fe961e8f]{align-items:center;display:inline-flex}.mi[data-v-fe961e8f] svg,.mi svg[data-v-fe961e8f]{width:19px;height:19px;display:block}@media (max-width:1100px){.tabs[data-v-fe961e8f]{display:none}.head-side[data-v-fe961e8f]{justify-content:center;margin-top:10px;position:static}}@media (min-width:1600px){.tab[data-v-fe961e8f]{letter-spacing:3px;flex-basis:260px;max-width:260px;padding:15px 0;font-size:18px}.tab .tab-ico svg[data-v-fe961e8f]{width:21px;height:21px}.tabs[data-v-fe961e8f]{margin:24px 0 10px}}:root{--bg:#eef2ee;--bg2:#e6ece7;--card:#fff;--card-bg:#fff;--line:#dbe4dd;--line-s:#c4d3c8;--border:#dbe4dd;--txt:#17261f;--muted:#5d7266;--faint:#8ba092;--text-main:#17261f;--text-sub:#5d7266;--accent:#b98a2e;--green:#0f9d6a;--green2:#0c7d55;--gold:#b98a2e;--gold2:#9a6f1e;--blue:#2478bc;--red:#c94f44;--teal:#1e8f88;--purple:#7a5cc9;--purple2:#9d84d6;--danger:#c94f44;--ok:#0f9d6a;--g1:rgba(15,157,106,.06);--g2:rgba(185,138,46,.06);--headgrad:linear-gradient(180deg,#20301f 20%,#b98a2e 90%);--hover:rgba(23,38,31,.07);--bar-track:rgba(23,38,31,.08);--shadow-2:0 12px 40px rgba(23,38,31,.16);--sp-2:8px;--sp-3:12px;--sp-4:14px;--sp-5:16px;--sp-7:22px;--r-sm:8px;--r-md:10px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--font-cn:"PingFang SC","Microsoft YaHei",sans-serif;--font-num:"Barlow Semi Condensed","Bahnschrift","DIN Alternate","Segoe UI",sans-serif}body.dark{--bg:#0a1612;--bg2:#0d1c16;--card:rgba(17,34,27,.72);--card-bg:rgba(17,34,27,.72);--line:rgba(126,184,152,.16);--line-s:rgba(126,184,152,.32);--border:rgba(126,184,152,.16);--txt:#e9f2ec;--muted:#9db9a9;--faint:#7f9d89;--text-main:#e9f2ec;--text-sub:#8aa698;--green:#35c98f;--green2:#7fe0b6;--gold:#e3b85c;--gold2:#f2d492;--blue:#4fa8e8;--red:#e0685c;--teal:#3fb8af;--purple:#b18ce8;--purple2:#d0b6f2;--danger:#e0685c;--ok:#35c98f;--g1:rgba(53,201,143,.14);--g2:rgba(227,184,92,.08);--headgrad:linear-gradient(180deg,#fdfdf8 20%,#e3b85c 90%);--hover:rgba(126,184,152,.08);--bar-track:rgba(126,184,152,.1);--shadow-2:0 12px 40px rgba(0,0,0,.5)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--font-cn);background-color:var(--bg);background-image:radial-gradient(1200px 500px at 20% -10%, var(--g1), transparent), radial-gradient(1000px 460px at 90% -10%, var(--g2), transparent);color:var(--txt);font-size:13.5px;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:.2px}.r{text-align:right}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wrap{max-width:1440px;margin:0 auto;padding:0 24px 30px}.bento{grid-template-columns:repeat(12,1fr);gap:14px;display:grid}.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c12{grid-column:span 12}.kpis{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.kpis-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:1100px){.bento,.kpis,.kpis-4{display:block}.bento>*,.kpis>*,.kpis-4>*{margin-bottom:14px}.wrap{padding:0 12px 24px}.card{max-width:100%;overflow-x:auto}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:16px 18px 14px;position:relative}body.dark .card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card.hoverable{transition:transform .2s,border-color .2s}.card.hoverable:hover{border-color:var(--line-s);transform:translateY(-2px)}.card-title{letter-spacing:1.5px;align-items:center;gap:8px;margin-bottom:12px;font-size:14.5px;font-weight:600;display:flex}.card-title:before{content:"";background:linear-gradient(180deg, var(--gold), var(--green));border-radius:2px;width:4px;height:15px}.card-title .note{color:var(--faint);letter-spacing:0;margin-left:auto;font-size:11px;font-weight:400}.corner:after{content:"";border-top:2px solid var(--gold);border-right:2px solid var(--gold);opacity:.6;border-radius:0 4px 0 0;width:14px;height:14px;position:absolute;top:8px;right:8px}.one{border-radius:var(--r-lg);border-left:3px solid var(--gold);background:linear-gradient(90deg,rgba(185,138,46,.1),rgba(185,138,46,.02) 60%,transparent);flex-wrap:wrap;align-items:center;gap:14px;padding:13px 22px;display:flex}.one .tag{letter-spacing:3px;color:var(--gold);border-right:1px solid var(--line-s);flex-shrink:0;padding-right:14px;font-size:11px}.one .txt{color:var(--muted);flex:1;min-width:200px;font-size:13.5px;line-height:1.7}.one .txt b{color:var(--txt)}.one.blue{border-left-color:var(--blue);background:linear-gradient(90deg,rgba(36,120,188,.1),rgba(36,120,188,.02) 60%,transparent)}.one.blue .tag{color:var(--blue)}.one.green{border-left-color:var(--green);background:linear-gradient(90deg,rgba(15,157,106,.1),rgba(15,157,106,.02) 60%,transparent)}.one.green .tag{color:var(--green)}.dq{border:1px dashed var(--line-s);border-radius:var(--r-lg);color:var(--faint);flex-wrap:wrap;align-items:center;gap:6px 0;padding:11px 18px;font-size:11px;display:flex}.dq .seg{border-right:1px solid var(--line);padding:0 10px}.dq .seg:last-child{border-right:none}.dq b{color:var(--muted);font-weight:600}.dq .warn-ico{color:var(--gold);margin-right:6px}table.dt{border-collapse:collapse;width:100%}table.dt th{color:var(--faint);text-align:left;border-bottom:1px solid var(--line-s);letter-spacing:1px;padding:7px 10px;font-size:12px;font-weight:400}table.dt td{border-bottom:1px solid var(--line);padding:8px 10px;font-size:13px}table.dt tbody tr{transition:background .15s}table.dt tbody tr:hover{background:var(--hover)}table.dt .r{text-align:right}.row-warn{background:rgba(185,138,46,.07)}.row-risk{background:rgba(201,79,68,.08)}.ch-tag{border-radius:var(--r-pill);border:1px solid;padding:1px 9px;font-size:11px;line-height:18px;display:inline-block}.ch-tag.B{color:var(--blue);border-color:var(--blue)}.ch-tag.G{color:var(--green);border-color:var(--green)}.ch-tag.C{color:var(--purple);border-color:var(--purple)}.ch-tag.pend{color:var(--gold);border-style:dashed;border-color:var(--gold)}.pill{border-radius:var(--r-pill);padding:1px 8px;font-size:11px;line-height:18px;display:inline-block}.pill.ok{color:var(--green);border:1px solid var(--green)}.pill.bad{color:var(--red);border:1px solid var(--red)}.pill.gold{background:linear-gradient(135deg, var(--gold), var(--gold2));color:#fff;border:none}.btn{border:1px solid var(--line-s);color:var(--txt);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:6px 16px;font-size:13px;transition:border-color .2s,color .2s}.btn:hover{border-color:var(--gold);color:var(--gold)}.btn.primary{background:linear-gradient(135deg, var(--gold), var(--gold2));color:#fff;border:none;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}input.inp,select.inp,textarea.inp{background:var(--card-bg);border:1px solid var(--line-s);border-radius:var(--r-sm);color:var(--txt);outline:none;padding:7px 12px;font-size:13px}input.inp:focus,select.inp:focus,textarea.inp:focus{border-color:var(--gold)}.chart{width:100%}.empty{min-height:120px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.empty:before{content:"◇";color:var(--faint);opacity:.7;font-size:34px}.empty .hint{color:var(--faint);font-size:11px;font-style:italic}.app-head{text-align:center;padding-top:22px}.app-head .eyebrow{letter-spacing:4px;color:var(--faint);font-size:10px}.app-head .eyebrow-sub{color:var(--faint);letter-spacing:2px;margin-top:2px;font-size:10px}.app-head h1{font-size:max(18px,min(5.5vw,27px));font-size:27px \9 ;letter-spacing:7px;background:var(--headgrad);-webkit-text-fill-color:transparent;color:var(--gold) \9 ;-webkit-background-clip:text;background-clip:text;margin:6px 0 4px;font-weight:700}.app-head .sub{color:var(--faint);letter-spacing:2px;font-size:12px}.deco{justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex}.deco .l{background:linear-gradient(90deg, transparent, var(--gold));width:140px;height:1px}.deco .l2{background:linear-gradient(90deg, var(--gold), transparent);width:140px;height:1px}.deco .d{background:var(--gold);width:7px;height:7px;transform:rotate(45deg)}.mobile-tabs{display:none}@media (max-width:1100px){.mobile-tabs{background:var(--card-bg);border-top:1px solid var(--line);z-index:30;height:56px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tabs a{color:var(--muted);cursor:pointer;border-radius:12px 12px 0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;margin-top:4px;font-size:12px;display:flex}.mobile-tabs a .mi{margin-bottom:2px}.mobile-tabs a .mt{letter-spacing:1px}.mobile-tabs a.active{color:#fff;background:linear-gradient(180deg, var(--green2), var(--green));font-weight:600}body{padding-bottom:64px}}body.dark .mobile-tabs a{color:#a9c9b6}body.dark .mobile-tabs a.active{color:#eafff4;background:linear-gradient(#0d7a54,#095c3e)}@media (min-width:1600px){.wrap{max-width:1840px;padding:0 40px 36px}body{font-size:16px}.app-head{padding-top:30px}.app-head h1{letter-spacing:10px;font-size:38px}.app-head .eyebrow,.app-head .eyebrow-sub{font-size:12px}.app-head .sub{font-size:15px}.month-row{gap:14px}.month-row select.inp{padding:9px 14px;font-size:15px}.mtip{font-size:14px}.mask-badge{font-size:13px}.card{padding:20px 24px 18px}.card-title{margin-bottom:16px;font-size:18px}.card-title .note,.one .tag{font-size:14px}.one .txt{font-size:16px}.dq{font-size:14px}table.dt th{padding:9px 12px;font-size:14px}table.dt td{padding:10px 12px;font-size:15px}.empty{font-size:15px}.empty .hint{font-size:13px}.btn{font-size:15px}.ch-tag,.pill{font-size:13px}.head-side .btn,.head-side .uname{font-size:14px!important}}
