.login[data-v-c97c832d]{padding:30px 24px 36px}.hero[data-v-c97c832d]{width:240px;margin:0 auto 6px;filter:drop-shadow(0 0 22px rgba(139,92,246,.3))}.hero[data-v-c97c832d] svg{width:100%;height:auto}.slogan[data-v-c97c832d]{text-align:center}.slogan .sub[data-v-c97c832d]{color:var(--text2);font-size:13px;margin-top:4px;letter-spacing:2px}.wave-row[data-v-c97c832d]{display:flex;justify-content:center;align-items:flex-end;gap:5px;height:24px;margin:16px 0}.role-title[data-v-c97c832d]{text-align:center;font-size:22px;font-weight:900;letter-spacing:4px;margin:12px 0 18px}.tabs[data-v-c97c832d]{display:flex;gap:8px;margin:6px 0 14px}.tab[data-v-c97c832d]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 0;border-radius:10px;border:1px solid var(--line2);color:var(--text2);font-weight:700;font-size:14px;cursor:pointer;background:#ffffff05;transition:all .2s}.acct-list[data-v-c97c832d]{display:flex;flex-direction:column;gap:8px}.acct[data-v-c97c832d]{display:flex;align-items:center;gap:12px;padding:10px 12px;background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .2s,transform .12s}.acct[data-v-c97c832d]:active{transform:scale(.98);border-color:#00e5a080}.acct .info[data-v-c97c832d]{flex:1;min-width:0}.acct .nm[data-v-c97c832d]{font-weight:700;font-size:14px}.acct .role[data-v-c97c832d]{color:var(--text2);font-weight:400;font-size:12px}.acct .ph[data-v-c97c832d]{color:var(--text3);font-size:12px;margin-top:2px}.divider[data-v-c97c832d]{display:flex;align-items:center;gap:10px;margin:20px 0 12px;color:var(--text3);font-size:12px}.divider[data-v-c97c832d]:before,.divider[data-v-c97c832d]:after{content:"";flex:1;height:1px;background:var(--line)}.manual[data-v-c97c832d]{display:flex;flex-direction:column;gap:10px}.captcha-row[data-v-c97c832d]{display:flex;gap:10px;align-items:center}.captcha-canvas[data-v-c97c832d]{width:110px;height:40px;border-radius:8px;cursor:pointer;border:1px solid var(--line);flex-shrink:0;object-fit:contain;background:#1a1a2e}.remember-row[data-v-c97c832d]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 0}.remember-row .checkbox[data-v-c97c832d]{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.remember-row .checkbox.on[data-v-c97c832d]{background:linear-gradient(135deg,#8b5cf6,#00e5a0);border-color:transparent}.studio-info[data-v-c97c832d]{margin-top:20px;padding:12px 14px;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);border-radius:10px;display:flex;flex-direction:column;gap:6px}.info-line[data-v-c97c832d]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2)}.foot[data-v-c97c832d]{text-align:center;color:var(--text3);font-size:12px;margin-top:16px}.child-card[data-v-1a873ee8]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;background:linear-gradient(150deg,#ff3e8a24,#15151fe6 55%);border:1px solid rgba(255,62,138,.35);border-radius:16px;position:relative;overflow:hidden;box-shadow:0 0 30px #ff3e8a1a}.tag-row[data-v-1a873ee8]{display:flex;gap:6px;margin-bottom:8px}.name[data-v-1a873ee8]{font-size:26px;font-weight:900;font-style:italic}.pkg-name[data-v-1a873ee8]{color:var(--text2);font-size:13px;margin-top:2px}.remain[data-v-1a873ee8]{margin-top:10px;font-size:13px;color:var(--text2)}.remain b[data-v-1a873ee8]{font-size:30px;font-weight:900;color:#ff3e8a;margin-right:4px}.time-box[data-v-1a873ee8]{width:52px;text-align:center;background:#ff3e8a1a;border-radius:10px;padding:7px 0;flex-shrink:0}.time-box .t1[data-v-1a873ee8]{font-weight:800;font-size:14px}.time-box .t2[data-v-1a873ee8]{font-size:11px;color:var(--text3)}.row-info[data-v-1a873ee8]{flex:1;min-width:0}.row-info .nm[data-v-1a873ee8]{font-weight:700;font-size:14px}.row-info .sub[data-v-1a873ee8]{font-size:12px;color:var(--text2);margin-top:2px}.no-border[data-v-1a873ee8]{border-bottom:none}.lv-opt[data-v-1a873ee8]{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid var(--line2);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.lv-opt[data-v-1a873ee8]:active{transform:scale(.98)}.lv-dot[data-v-1a873ee8]{width:10px;height:10px;border-radius:50%;border:2px solid var(--text3);flex-shrink:0}.child-switcher[data-v-1a873ee8]{display:flex;gap:8px;margin:0 16px 12px;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.cs-item[data-v-1a873ee8]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px;border-radius:10px;cursor:pointer;transition:all .15s;flex-shrink:0}.cs-item.on[data-v-1a873ee8]{background:#ff3e8a26}.cs-avatar[data-v-1a873ee8]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff}.cs-name[data-v-1a873ee8]{font-size:11px;color:var(--text2);font-weight:600}.cs-item.on .cs-name[data-v-1a873ee8]{color:#ff3e8a}.wn-day.selected[data-v-1a873ee8],.mc-day.selected[data-v-1a873ee8]{background:linear-gradient(135deg,#ff3e8a,#ff7ab2)!important}.mc-day.today[data-v-1a873ee8]{border-color:#ff3e8a80;color:#ff7ab2}.day-label[data-v-1a873ee8]{font-size:13px;font-weight:700;color:var(--text2);margin-bottom:8px}.empty-state[data-v-1a873ee8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-ico[data-v-1a873ee8]{width:56px;height:56px;color:var(--text3)}.empty-ico svg[data-v-1a873ee8]{width:100%;height:100%}.today-card[data-v-53b618b4]{display:flex;align-items:center;gap:12px;cursor:pointer;transition:transform .12s,border-color .2s}.today-card[data-v-53b618b4]:active{transform:scale(.99)}.today-card[data-v-53b618b4]:hover{border-color:#00e5a066}.today-card.finished[data-v-53b618b4]{border-left:3px solid #00E5A0}.time-box[data-v-53b618b4]{width:54px;text-align:center;background:#00e5a01a;border-radius:10px;padding:7px 0;flex-shrink:0}.time-box .t1[data-v-53b618b4]{font-weight:800;font-size:15px}.time-box .t2[data-v-53b618b4]{font-size:11px;color:var(--text3)}.row-info[data-v-53b618b4]{flex:1;min-width:0}.row-info .nm[data-v-53b618b4]{font-weight:700;font-size:14px}.row-info .sub[data-v-53b618b4]{font-size:12px;color:var(--text2);margin-top:2px}.week-strip[data-v-53b618b4]{display:flex;gap:6px}.wday[data-v-53b618b4]{flex:1;text-align:center;padding:9px 0;border-radius:10px;background:var(--card);border:1px solid var(--line);cursor:pointer;transition:all .15s;position:relative}.wday .wd[data-v-53b618b4]{font-size:11px;color:var(--text2)}.wday .dd[data-v-53b618b4]{font-size:17px;font-weight:800;margin-top:2px}.wday .w-dot[data-v-53b618b4]{width:4px;height:4px;border-radius:50%;background:transparent;margin:3px auto 0}.wday.has-class .w-dot[data-v-53b618b4]{background:#00e5a0}.wday.today[data-v-53b618b4]{border-color:#00e5a08c;box-shadow:0 0 12px #00e5a026}.wday[data-v-53b618b4]:active{transform:scale(.96)}.stat-grid[data-v-53b618b4]{display:flex;flex-wrap:wrap;gap:10px}.stat-card[data-v-53b618b4]{flex:1 1 130px;min-width:0;padding:14px;background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:14px;text-align:center}.stat-card .sv[data-v-53b618b4]{width:34px;height:34px;margin:0 auto 6px;border-radius:10px;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.stat-card .sn[data-v-53b618b4]{font-size:26px;font-weight:900}.stat-card .sl[data-v-53b618b4]{font-size:12px;color:var(--text2);margin-top:2px}.stu-row[data-v-53b618b4]{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.stu-row[data-v-53b618b4]:last-of-type{border-bottom:none}.opts[data-v-53b618b4]{display:flex;gap:5px}.opt[data-v-53b618b4]{border:1px solid var(--line2);background:transparent;color:var(--text3);font-size:12px;font-weight:700;padding:6px 9px;border-radius:8px;cursor:pointer;transition:all .15s}.opt[data-v-53b618b4]:active{transform:scale(.95)}.no-border[data-v-53b618b4]{border-bottom:none}.empty-state[data-v-53b618b4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-ico[data-v-53b618b4]{width:56px;height:56px;color:var(--text3)}.empty-ico svg[data-v-53b618b4]{width:100%;height:100%}.hm-mask[data-v-2ebde036]{overflow-y:auto}.hm-body[data-v-2ebde036]{display:flex;flex-direction:column;gap:12px}.hm-title[data-v-2ebde036]{color:var(--c-warn);font-weight:800}.hm-close[data-v-2ebde036]{width:20px;height:20px;color:var(--text3);cursor:pointer}.hm-grid[data-v-2ebde036]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.hm-cell[data-v-2ebde036]{text-align:center;padding:10px 4px;background:var(--card2);border-radius:var(--r-sm)}.hm-val[data-v-2ebde036]{font-size:var(--fs-lg);font-weight:800;color:var(--text)}.hm-val-warn[data-v-2ebde036]{color:var(--c-warn)}.hm-val-success[data-v-2ebde036]{color:var(--c-success)}.hm-val-danger[data-v-2ebde036]{color:var(--c-danger)}.hm-val-info[data-v-2ebde036]{color:var(--c-info)}.hm-val-brand[data-v-2ebde036]{color:var(--c-brand)}.hm-cap[data-v-2ebde036]{font-size:10px;color:var(--text3)}.hm-actions[data-v-2ebde036]{display:flex;gap:6px;flex-wrap:wrap}.hm-btn-warn[data-v-2ebde036]{background:rgba(255,209,102,var(--tint-base));border:1px solid rgba(255,209,102,.4);color:var(--c-warn)}.hm-btn-danger[data-v-2ebde036]{background:#ff54701a;border:1px solid rgba(255,84,112,.4);color:var(--c-danger)}.hm-btn-success[data-v-2ebde036]{background:rgba(0,229,160,var(--tint-base));border:1px solid rgba(0,229,160,.4);color:var(--c-success)}.hm-btn-brand[data-v-2ebde036]{background:rgba(139,92,246,var(--tint-base));border:1px solid rgba(139,92,246,.4);color:#c4b5fd}.hm-hint[data-v-2ebde036]{font-size:var(--fs-xs);color:var(--text3)}.hm-warn[data-v-2ebde036]{font-size:var(--fs-xs);color:var(--c-danger);background:#ff54701a;border:1px solid rgba(255,84,112,.35);border-radius:var(--r-xs);padding:6px 10px}.hm-chips[data-v-2ebde036]{display:flex;gap:6px;flex-wrap:wrap}.chip.on-green[data-v-2ebde036]{border-color:var(--c-success);color:var(--c-success);background:rgba(0,229,160,var(--tint-base))}.chip.on-red[data-v-2ebde036]{border-color:var(--c-danger);color:var(--c-danger);background:rgba(255,84,112,var(--tint-base))}.hm-input-row[data-v-2ebde036]{display:flex;gap:8px}.hm-input[data-v-2ebde036]{flex:1}.hm-confirm[data-v-2ebde036]{background:linear-gradient(120deg,var(--c-warn),var(--c-orange));color:#04140e;border:none}.hm-section[data-v-2ebde036]{font-size:var(--fs-md);color:var(--text2);font-weight:700;margin-top:4px}.hm-list[data-v-2ebde036]{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.hm-item[data-v-2ebde036]{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 10px;background:var(--card2);border-radius:var(--r-xs);font-size:var(--fs-sm)}.hm-item-main[data-v-2ebde036]{flex:1;min-width:0}.hm-item-head[data-v-2ebde036]{display:flex;align-items:center;gap:6px;min-width:0}.hm-item-badge[data-v-2ebde036]{flex:0 0 auto}.hm-item-title[data-v-2ebde036]{color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-item-time[data-v-2ebde036]{color:var(--text3);font-size:var(--fs-xs);margin-top:3px}.hm-item-amt[data-v-2ebde036]{flex:0 0 auto;font-weight:800;font-size:var(--fs-md)}.hm-empty[data-v-2ebde036]{text-align:center;color:var(--text3);font-size:var(--fs-sm);padding:16px}.mon-warn-tip[data-v-e5f9c86f]{font-size:10px;line-height:1.6;margin-top:8px;padding:7px 9px;border-radius:8px;color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--c-warn) 25%,transparent)}.mon-jobs[data-v-e5f9c86f]{margin-top:12px}.mon-tag-bad[data-v-e5f9c86f]{color:var(--c-danger);font-weight:700}.mon-job-list[data-v-e5f9c86f]{display:flex;flex-direction:column;gap:2px}.mon-job[data-v-e5f9c86f]{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);padding:6px 0;border-bottom:1px solid var(--line)}.mon-job[data-v-e5f9c86f]:last-child{border-bottom:none}.mon-dot[data-v-e5f9c86f]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.mon-dot-ok[data-v-e5f9c86f]{background:var(--c-success)}.mon-dot-warn[data-v-e5f9c86f]{background:var(--c-warn)}.mon-dot-bad[data-v-e5f9c86f]{background:var(--c-danger);box-shadow:0 0 6px color-mix(in srgb,var(--c-danger) 50%,transparent)}.mon-job-name[data-v-e5f9c86f]{color:var(--text);font-weight:600;flex-shrink:0}.mon-job-msg[data-v-e5f9c86f]{flex:1;min-width:0;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mon-job-fail[data-v-e5f9c86f]{color:var(--c-danger);flex-shrink:0;font-weight:600}.mon-job-time[data-v-e5f9c86f]{color:var(--text3);flex-shrink:0;font-variant-numeric:tabular-nums}.mon-empty[data-v-e5f9c86f]{font-size:var(--fs-xs);color:var(--text3);padding:8px 0}.mon-time[data-v-e5f9c86f]{font-size:var(--fs-xs);color:var(--text3);font-weight:400;margin-left:8px}.mon-grid[data-v-e5f9c86f]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.mon-card[data-v-e5f9c86f]{padding:14px}.mon-head[data-v-e5f9c86f]{display:flex;align-items:center;gap:6px;margin-bottom:8px}.mon-ico[data-v-e5f9c86f]{width:14px;height:14px}.mon-name[data-v-e5f9c86f]{font-size:var(--fs-sm);color:var(--text2)}.mon-tag[data-v-e5f9c86f]{font-size:10px;color:var(--text3);margin-left:auto}.mon-big[data-v-e5f9c86f]{font-size:24px;font-weight:800;line-height:1.2}.mon-unit[data-v-e5f9c86f]{font-size:var(--fs-sm);color:var(--text3);font-weight:400}.mon-bar[data-v-e5f9c86f]{height:5px;background:#ffffff14;border-radius:3px;margin-top:8px;overflow:hidden}.mon-bar-in[data-v-e5f9c86f]{height:100%;border-radius:3px;transition:width .5s}.mon-bar-in-success[data-v-e5f9c86f]{background:linear-gradient(90deg,var(--c-success),#34D399)}.mon-bar-in-brand[data-v-e5f9c86f]{background:linear-gradient(90deg,var(--c-brand),#A78BFA)}.mon-bar-in-warn[data-v-e5f9c86f]{background:linear-gradient(90deg,var(--c-warn),#FFB347)}.mon-sub[data-v-e5f9c86f]{font-size:10px;color:var(--text3);margin-top:4px}.mon-sub-gap[data-v-e5f9c86f]{margin-top:6px}.mon-net[data-v-e5f9c86f]{display:flex;gap:12px;margin-top:4px}.mon-kv-label[data-v-e5f9c86f]{font-size:var(--fs-xs);color:var(--text3)}.mon-kv-val[data-v-e5f9c86f]{font-size:var(--fs-lg);font-weight:700}.mon-kv-unit[data-v-e5f9c86f]{font-size:10px;color:var(--text3);font-weight:400}.mon-lat[data-v-e5f9c86f]{display:flex;align-items:baseline;gap:6px}.mon-lat-num[data-v-e5f9c86f]{font-size:26px;font-weight:800;line-height:1.1}.mon-lat-tip[data-v-e5f9c86f]{font-size:var(--fs-xs)}.mon-stats[data-v-e5f9c86f]{display:flex;gap:14px;margin-top:8px;font-size:10px;color:var(--text3)}.mon-stats b[data-v-e5f9c86f]{color:var(--text)}.mon-pairs[data-v-e5f9c86f]{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:10px;color:var(--text3)}.mon-pairs b[data-v-e5f9c86f]{font-size:var(--fs-md);color:var(--text)}.mon-uptime[data-v-e5f9c86f]{display:flex;justify-content:space-between;align-items:center}.mon-uptime-val[data-v-e5f9c86f]{font-size:16px;font-weight:700;margin-top:2px}.mon-uptime-right[data-v-e5f9c86f]{text-align:right}.mon-load[data-v-e5f9c86f]{font-size:14px;font-weight:600;margin-top:2px;color:var(--text)}.mon-c-success[data-v-e5f9c86f]{color:var(--c-success)}.mon-c-brand[data-v-e5f9c86f]{color:var(--c-brand)}.mon-c-warn[data-v-e5f9c86f]{color:var(--c-warn)}.mon-c-info[data-v-e5f9c86f]{color:var(--c-info)}.mon-c-accent[data-v-e5f9c86f]{color:var(--c-accent)}.last-run[data-v-b708cdfa]{font-size:11px;color:var(--text2);margin-left:auto;text-align:right}.grid2[data-v-b708cdfa]{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.hint[data-v-b708cdfa]{font-size:11px;color:var(--text3);margin-top:10px;line-height:1.6}.list[data-v-b708cdfa]{max-height:42vh;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:8px}.empty[data-v-b708cdfa]{text-align:center;color:var(--text3);font-size:12px;padding:24px}.av-manual[data-v-b708cdfa]{background:linear-gradient(135deg,#22d3ee,#06b6d4)}.av-cron[data-v-b708cdfa]{background:linear-gradient(135deg,#ffd166,#ff8a3d)}.av-pre[data-v-b708cdfa]{background:linear-gradient(135deg,#8b5cf6,#35e0b8)}.act-restore[data-v-b708cdfa]{flex:1;color:var(--c-success);border:1px solid color-mix(in srgb,var(--c-success) 40%,transparent);background:color-mix(in srgb,var(--c-success) 8%,transparent)}.act-del[data-v-b708cdfa]{flex:1;color:var(--c-danger);border:1px solid color-mix(in srgb,var(--c-danger) 40%,transparent);background:color-mix(in srgb,var(--c-danger) 8%,transparent)}.empty-sub[data-v-cc245408]{font-size:12px;color:var(--text3);margin-top:4px}.row-actions[data-v-870511a3]{display:flex;gap:6px;flex-shrink:0}.act-approve[data-v-870511a3]{background:color-mix(in srgb,var(--c-success) 15%,transparent);border-color:color-mix(in srgb,var(--c-success) 50%,transparent);color:var(--c-success)}.act-reject[data-v-870511a3]{background:color-mix(in srgb,var(--c-danger) 12%,transparent);border-color:color-mix(in srgb,var(--c-danger) 50%,transparent);color:var(--c-danger)}.act-approve[data-v-870511a3],.act-reject[data-v-870511a3]{border-style:solid;border-width:1px}.chip.sm[data-v-870511a3]{font-size:10px;padding:1px 6px}.chip-green[data-v-870511a3]{border-color:var(--c-success);color:var(--c-success);background:color-mix(in srgb,var(--c-success) 10%,transparent)}.chip-red[data-v-870511a3]{border-color:var(--c-danger);color:var(--c-danger);background:color-mix(in srgb,var(--c-danger) 10%,transparent)}.btn-export[data-v-2cd802b6]{background:color-mix(in srgb,var(--c-success) 12%,transparent);border:1px solid color-mix(in srgb,var(--c-success) 30%,transparent);color:var(--c-success)}.cal-head[data-v-2cd802b6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cal-title[data-v-2cd802b6]{font-weight:800;font-size:14px;color:var(--text)}.day-bar[data-v-2cd802b6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.day-label[data-v-2cd802b6]{font-size:13px;color:var(--text2);font-weight:700}.chip-today[data-v-2cd802b6]{border-color:var(--purple);color:#c4b5fd;background:color-mix(in srgb,var(--purple) 15%,transparent);cursor:pointer}.chip-today.disabled[data-v-2cd802b6]{opacity:.35;cursor:not-allowed}.day-list[data-v-2cd802b6]{display:flex;flex-direction:column;gap:14px}.badge-orange-soft[data-v-2cd802b6]{background:color-mix(in srgb,var(--c-orange) 15%,transparent);color:var(--c-orange);border:1px solid color-mix(in srgb,var(--c-orange) 40%,transparent)}.stu-row[data-v-2cd802b6]{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.stu-cell[data-v-2cd802b6]{display:flex;flex-direction:column;align-items:center;gap:4px}.stu-name[data-v-2cd802b6]{font-size:11px;color:var(--text2)}.stu-empty[data-v-2cd802b6]{font-size:12px;color:var(--text3);margin-top:6px}.stu-expand[data-v-bfe11d2f]{padding:0 16px 14px;display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.stu-cell[data-v-bfe11d2f]{display:flex;flex-direction:column;align-items:center;gap:4px}.stu-name[data-v-bfe11d2f]{font-size:11px;color:var(--text2)}.stu-empty[data-v-bfe11d2f]{font-size:12px;color:var(--text3);padding:8px 0}.act-renew[data-v-bfe11d2f]{flex-shrink:0;background:color-mix(in srgb,var(--c-warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--c-warn) 40%,transparent);color:var(--c-warn)}.row-actions[data-v-bfe11d2f]{display:flex;gap:6px;flex-shrink:0}.act-approve[data-v-bfe11d2f]{background:color-mix(in srgb,var(--c-success) 15%,transparent);border:1px solid color-mix(in srgb,var(--c-success) 50%,transparent);color:var(--c-success)}.act-reject[data-v-bfe11d2f]{background:color-mix(in srgb,var(--c-danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--c-danger) 50%,transparent);color:var(--c-danger)}.filter-bar[data-v-bfe11d2f]{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.att-scroll[data-v-bfe11d2f]{max-height:320px;overflow-y:auto;-webkit-overflow-scrolling:touch}.lessons[data-v-bfe11d2f]{color:var(--c-orange);font-weight:700;margin-left:4px}.col[data-v-79e9a6f8]{padding:14px;display:flex;flex-direction:column;gap:12px}.logo-row[data-v-79e9a6f8]{display:flex;gap:8px;flex-wrap:wrap}.logo-thumb[data-v-79e9a6f8]{width:64px;height:40px;background:#0b0b10;border-radius:8px;overflow:hidden}.logo-thumb.custom[data-v-79e9a6f8]{border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text2);background:linear-gradient(135deg,color-mix(in srgb,var(--c-brand) 20%,transparent),color-mix(in srgb,var(--c-success) 20%,transparent))}.logo-img[data-v-79e9a6f8]{width:100%;height:100%;object-fit:contain;border-radius:8px}.logo-cap[data-v-79e9a6f8]{font-size:10px;color:var(--text2);margin-top:4px}.two-col[data-v-79e9a6f8]{display:flex;gap:10px}.act-locate[data-v-79e9a6f8]{color:var(--c-success);align-self:flex-start;border:1px solid color-mix(in srgb,var(--c-success) 35%,transparent);background:color-mix(in srgb,var(--c-success) 8%,transparent)}.tip-warn[data-v-79e9a6f8]{font-size:12px;color:var(--text2);line-height:1.8;background:color-mix(in srgb,var(--c-warn) 8%,transparent);border:1px solid color-mix(in srgb,var(--c-warn) 25%,transparent);border-radius:10px;padding:10px 12px}.tip-title[data-v-79e9a6f8]{font-weight:700;color:var(--c-warn);margin-bottom:4px}.tip-info[data-v-79e9a6f8]{font-size:11px;color:var(--text3);line-height:1.6;padding:8px 10px;background:color-mix(in srgb,var(--c-brand) 8%,transparent);border-radius:8px}.toggle-row[data-v-79e9a6f8]{display:flex;align-items:center;gap:10px}.toggle-label[data-v-79e9a6f8]{font-size:13px;color:var(--text2)}.toggle-state[data-v-79e9a6f8]{font-size:13px;color:var(--text2);margin-left:auto}.save-btn[data-v-79e9a6f8]{margin-top:16px}.search-row[data-v-cc2cd8f9]{display:flex;gap:8px;margin-bottom:10px}.add-btn[data-v-cc2cd8f9]{width:100%;margin-bottom:12px}.btn-add-teacher[data-v-cc2cd8f9]{background:linear-gradient(120deg,var(--c-success),#35E0B8);color:#04140e;border:none}.btn-add-room[data-v-cc2cd8f9]{background:linear-gradient(120deg,#22d3ee,#06b6d4);color:#04140e;border:none}.btn-add-course[data-v-cc2cd8f9]{background:linear-gradient(120deg,var(--c-warn),var(--c-orange));color:#04140e;border:none}.btn-add-style[data-v-cc2cd8f9]{background:linear-gradient(120deg,#f472b6,#ec4899);color:#fff;border:none}.add-row[data-v-cc2cd8f9]{display:flex;gap:8px;margin-bottom:12px}.list-col[data-v-cc2cd8f9]{display:flex;flex-direction:column;gap:10px}.list-col.tight[data-v-cc2cd8f9]{gap:8px}.stu-card[data-v-cc2cd8f9]{display:flex;align-items:center;gap:12px}.stu-actions[data-v-cc2cd8f9]{display:flex;gap:6px}.meta[data-v-cc2cd8f9]{color:var(--text3);font-size:12px}.badge.sm[data-v-cc2cd8f9]{font-size:10px;padding:2px 8px}.badge-year[data-v-cc2cd8f9]{background:color-mix(in srgb,var(--c-warn) 15%,transparent);color:var(--c-warn);border:1px solid color-mix(in srgb,var(--c-warn) 40%,transparent);font-size:10px;padding:2px 8px;margin-left:4px}.num-row[data-v-cc2cd8f9]{display:flex;align-items:baseline;gap:6px;margin-top:4px}.num-year[data-v-cc2cd8f9]{font-size:18px;font-weight:900;color:var(--c-warn)}.num-hours[data-v-cc2cd8f9]{font-size:22px;font-weight:900;color:var(--c-brand)}.num-total[data-v-cc2cd8f9]{font-size:12px;color:var(--text3)}.num-sub[data-v-cc2cd8f9]{font-size:11px;color:var(--text3);margin-top:2px}.pbar[data-v-cc2cd8f9]{margin-top:6px}.pfill-year[data-v-cc2cd8f9]{width:100%;background:linear-gradient(90deg,var(--c-warn),var(--c-orange))}.act-hours[data-v-cc2cd8f9]{color:var(--c-warn);border-color:color-mix(in srgb,var(--c-warn) 40%,transparent)}.act-edit[data-v-cc2cd8f9]{color:#c4b5fd;border-color:#c4b5fd66}.act-del[data-v-cc2cd8f9]{color:var(--c-danger);border-color:color-mix(in srgb,var(--c-danger) 40%,transparent)}.act-doc[data-v-cc2cd8f9]{color:#22d3ee;border-color:#22d3ee66}.act-teacher-edit[data-v-cc2cd8f9],.act-rehire[data-v-cc2cd8f9]{color:var(--c-success);border-color:color-mix(in srgb,var(--c-success) 40%,transparent)}.act-cyan[data-v-cc2cd8f9]{color:#22d3ee}.pwd-link[data-v-cc2cd8f9]{color:var(--c-success);text-decoration:none;font-weight:600;letter-spacing:.3px}.act-warn[data-v-cc2cd8f9]{color:var(--c-warn)}.act-pink[data-v-cc2cd8f9]{color:#f472b6}.act-brand-soft[data-v-cc2cd8f9]{color:#c4b5fd;border-color:#c4b5fd66}.teacher-card[data-v-cc2cd8f9]{display:flex;align-items:center;gap:12px}.teacher-card.inactive[data-v-cc2cd8f9]{opacity:.55}.item-card[data-v-cc2cd8f9]{display:flex;align-items:center;gap:10px;padding:12px 16px}.item-name[data-v-cc2cd8f9]{font-weight:700;flex:1}.item-meta[data-v-cc2cd8f9]{font-size:12px;color:var(--text3)}.chip-brand[data-v-cc2cd8f9]{border-color:var(--c-brand);color:#c4b5fd;background:color-mix(in srgb,var(--c-brand) 15%,transparent)}.chip-success[data-v-cc2cd8f9]{border-color:var(--c-success);color:var(--c-success);background:color-mix(in srgb,var(--c-success) 12%,transparent)}.chip-cyan[data-v-cc2cd8f9]{border-color:#22d3ee;color:#22d3ee;background:#22d3ee1f}.chip-warn[data-v-cc2cd8f9]{border-color:var(--c-warn);color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 12%,transparent)}.chip-pink[data-v-cc2cd8f9]{border-color:#f472b6;color:#f472b6;background:#f472b61f}.sf-title[data-v-bac755c9]{color:var(--c-brand);font-weight:800}.sf-close[data-v-bac755c9]{width:20px;height:20px;color:var(--text3);cursor:pointer}.sf-col[data-v-bac755c9]{display:flex;flex-direction:column;gap:10px}.sf-col-lg[data-v-bac755c9]{display:flex;flex-direction:column;gap:12px}.sf-row[data-v-bac755c9]{display:flex;gap:10px}.sf-row-end[data-v-bac755c9]{display:flex;gap:10px;align-items:flex-end}.sf-wrap[data-v-bac755c9]{display:flex;flex-wrap:wrap;gap:6px}.sf-gap4[data-v-bac755c9]{display:flex;gap:4px}.sf-gap6[data-v-bac755c9]{display:flex;gap:6px}.sf-hint[data-v-bac755c9]{font-size:12px;color:var(--text3)}.sf-empty[data-v-bac755c9]{text-align:center;font-size:12px;color:var(--text3);padding:12px}.sf-tip-year[data-v-bac755c9]{padding:10px 14px;border-radius:10px;font-size:12px;line-height:1.6;color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--c-warn) 30%,transparent)}.sf-parent[data-v-bac755c9]{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--c-brand) 8%,transparent);border:1px solid color-mix(in srgb,var(--c-brand) 20%,transparent)}.sf-parent-title[data-v-bac755c9]{font-size:13px;font-weight:700;color:#c4b5fd}.sf-parent-list[data-v-bac755c9]{max-height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:6px}.sf-parent-item[data-v-bac755c9]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:9px;cursor:pointer;background:var(--card2);border:1px solid var(--line)}.sf-parent-item-on[data-v-bac755c9]{border-color:var(--c-success);background:color-mix(in srgb,var(--c-success) 10%,transparent)}.sf-parent-name[data-v-bac755c9]{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-parent-meta[data-v-bac755c9]{font-size:11px;color:var(--text3);flex:0 0 auto}.sf-picked[data-v-bac755c9]{font-size:12px;color:var(--c-success);padding:7px 10px;border-radius:8px;background:color-mix(in srgb,var(--c-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--c-success) 30%,transparent)}.sf-kid[data-v-bac755c9]{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--c-success) 5%,transparent);border:1px solid color-mix(in srgb,var(--c-success) 15%,transparent)}.sf-kid-head[data-v-bac755c9]{display:flex;align-items:center;justify-content:space-between}.sf-kid-title[data-v-bac755c9]{font-size:13px;font-weight:700;color:#5eead4}.sf-kid-del[data-v-bac755c9]{width:18px;height:18px;color:var(--c-danger);cursor:pointer}.sf-year-note[data-v-bac755c9]{font-size:11px;color:var(--c-warn);font-weight:600}.sf-add-kid[data-v-bac755c9]{font-weight:700;color:#5eead4;background:color-mix(in srgb,var(--c-success) 10%,transparent);border:1px dashed color-mix(in srgb,var(--c-success) 40%,transparent)}.chip-brand-on[data-v-bac755c9]{border-color:var(--c-brand);color:#c4b5fd;background:color-mix(in srgb,var(--c-brand) 15%,transparent)}.chip-green-on[data-v-bac755c9]{border-color:var(--c-success);color:var(--c-success);background:color-mix(in srgb,var(--c-success) 12%,transparent)}.chip-pink-on[data-v-bac755c9]{border-color:var(--c-accent);color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 12%,transparent)}.chip-cyan-on[data-v-bac755c9]{border-color:#22d3ee;color:#22d3ee;background:#22d3ee1f}.batch-hint[data-v-01e10ea7]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;margin:8px 0;background:#00e5a014;border:1px solid rgba(0,229,160,.25);border-radius:10px;font-size:13px;color:#00e5a0}.batch-hint b[data-v-01e10ea7]{font-size:16px;font-weight:900}.back-top[data-v-01e10ea7]{position:fixed;right:16px;bottom:84px;z-index:90;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#181826eb;color:#f2f2f7;border:1px solid rgba(255,255,255,.16);box-shadow:0 6px 18px #00000059;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.back-top[data-v-01e10ea7]:active{transform:scale(.94)}.studio-home[data-v-64bf549c]{min-height:100vh;background:#0a0a12;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:32px 20px}.bg-glow[data-v-64bf549c]{position:absolute;border-radius:50%;filter:blur(90px);opacity:.3;pointer-events:none}.g1[data-v-64bf549c]{width:340px;height:340px;background:#8b5cf6;top:-100px;left:-80px}.g2[data-v-64bf549c]{width:300px;height:300px;background:#ff3e8a;bottom:-80px;right:-60px}.bg-grid[data-v-64bf549c]{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.sh-content[data-v-64bf549c]{position:relative;z-index:1;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:22px}.sh-logo[data-v-64bf549c]{width:260px;filter:drop-shadow(0 0 24px rgba(139,92,246,.25))}.sh-logo[data-v-64bf549c] svg{width:100%;height:auto}.sh-sub[data-v-64bf549c]{font-size:11px;color:#fff6;letter-spacing:3px}.sh-desc[data-v-64bf549c]{width:100%;text-align:center;font-size:13px;line-height:1.8;color:#ffffff8c;padding:0 10px;box-sizing:border-box}.sh-desc-text[data-v-64bf549c]{margin:0;white-space:pre-line}.sh-desc[data-v-64bf549c] b{color:#00e5a0;font-weight:600}.sh-entries[data-v-64bf549c]{width:100%;display:flex;flex-direction:column;gap:12px}.sh-entry[data-v-64bf549c]{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:16px;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.sh-entry[data-v-64bf549c]:active{transform:scale(.98)}.sh-entry.parent[data-v-64bf549c]{background:linear-gradient(135deg,#ff3e8a1f,#ff3e8a08);border-color:#ff3e8a40}.sh-entry.teacher[data-v-64bf549c]{background:linear-gradient(135deg,#00e5a01f,#00e5a008);border-color:#00e5a040}.sh-entry-ico[data-v-64bf549c]{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sh-entry.parent .sh-entry-ico[data-v-64bf549c]{background:#ff3e8a26;color:#ff3e8a}.sh-entry.teacher .sh-entry-ico[data-v-64bf549c]{background:#00e5a026;color:#00e5a0}.sh-entry-text[data-v-64bf549c]{flex:1}.sh-entry-title[data-v-64bf549c]{font-size:17px;font-weight:800;color:#fff}.sh-entry-desc[data-v-64bf549c]{font-size:12px;color:#ffffff73;margin-top:3px}.sh-entry-arrow[data-v-64bf549c]{color:#ffffff40;flex-shrink:0}.sh-info[data-v-64bf549c]{width:100%;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:7px}.sh-map-card[data-v-64bf549c]{width:100%;border-radius:14px;overflow:hidden;border:1px solid rgba(139,92,246,.2);cursor:pointer;transition:all .2s}.sh-map-card[data-v-64bf549c]:active{transform:scale(.98);border-color:#8b5cf680}.sh-map[data-v-64bf549c]{position:relative;width:100%;height:120px}.sh-map svg[data-v-64bf549c]{display:block;width:100%;height:100%}.sh-map-overlay[data-v-64bf549c]{position:absolute;bottom:8px;right:8px}.sh-map-nav[data-v-64bf549c]{display:flex;align-items:center;gap:4px;padding:5px 12px;background:#8b5cf6e6;color:#fff;font-size:11px;font-weight:600;border-radius:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.map-pulse-outer[data-v-64bf549c]{transform-origin:center;animation:mapPulse-64bf549c 2s ease-in-out infinite}@keyframes mapPulse-64bf549c{0%,to{r:14;opacity:.4}50%{r:22;opacity:.1}}.sh-info-row[data-v-64bf549c]{display:flex;align-items:center;gap:10px;font-size:12px;color:#fff9}.sh-admin-link[data-v-64bf549c]{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffffff4d;cursor:pointer;padding:7px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.06);transition:all .2s}.sh-admin-link[data-v-64bf549c]:active{color:#c4b5fd;border-color:#8b5cf659}.sh-footer[data-v-64bf549c]{font-size:10px;color:#ffffff40;text-align:center;letter-spacing:.5px}.fade-enter-active[data-v-f16f2d75],.fade-leave-active[data-v-f16f2d75]{transition:opacity .2s}.fade-enter-from[data-v-f16f2d75],.fade-leave-to[data-v-f16f2d75]{opacity:0}.install-fab[data-v-f16f2d75]{position:fixed;right:14px;bottom:14px;z-index:9990;display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;background:#081410eb;border:1px solid rgba(0,229,160,.45);color:#00e5a0;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 4px 20px #00e5a02e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.install-fab[data-v-f16f2d75]:active{transform:scale(.96);opacity:.85}.ios-mask[data-v-f16f2d75]{position:fixed;inset:0;z-index:9999;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.ios-box[data-v-f16f2d75]{width:100%;max-width:340px;background:#0e1620;border:1px solid rgba(0,229,160,.25);border-radius:18px;padding:18px;box-sizing:border-box;box-shadow:0 12px 48px #0009}.ios-title[data-v-f16f2d75]{display:flex;align-items:center;justify-content:space-between;font-size:16px;margin-bottom:14px}.ico-close[data-v-f16f2d75]{cursor:pointer;padding:4px;display:flex}.ios-step[data-v-f16f2d75]{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.08)}.ios-step[data-v-f16f2d75]:last-of-type{border-bottom:none}.step-num[data-v-f16f2d75]{flex:0 0 22px;height:22px;border-radius:50%;background:#00e5a026;border:1px solid rgba(0,229,160,.4);color:#00e5a0;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.step-text[data-v-f16f2d75]{flex:1;font-size:13px;color:#e2e8f0;line-height:1.5}.fade-enter-active[data-v-fdbcc52e],.fade-leave-active[data-v-fdbcc52e]{transition:opacity .18s}.fade-enter-from[data-v-fdbcc52e],.fade-leave-to[data-v-fdbcc52e]{opacity:0}.logout-tip[data-v-fdbcc52e]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999}.logout-border[data-v-fdbcc52e]{position:absolute;top:0;left:0;width:300px;height:64px;pointer-events:none}.logout-content[data-v-fdbcc52e]{position:relative;z-index:1;display:flex;align-items:center;gap:10px;background:#08121cf2;border-radius:14px;padding:14px 24px;color:#fff;font-size:15px;font-weight:600;width:300px;height:64px;box-sizing:border-box;box-shadow:0 8px 40px #00000080,0 0 20px #00ffb026}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--bg: #0B0B10;--bg2: #10101A;--card: #15151F;--card2: #1B1B28;--line: rgba(255, 255, 255, .08);--line2: rgba(255, 255, 255, .14);--text: #F2F2F7;--text2: #9A9AB2;--text3: #6A6A80;--c-success: #00E5A0;--c-danger: #FF5470;--c-warn: #FFD166;--c-info: #22D3EE;--c-brand: #8B5CF6;--c-accent: #FF3E8A;--c-orange: #FF8A3D;--green: var(--c-success);--red: var(--c-danger);--yellow: var(--c-warn);--cyan: var(--c-info);--purple: var(--c-brand);--pink: var(--c-accent);--orange: var(--c-orange);--tint-subtle: .06;--tint-base: .12;--tint-strong: .3;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 15px;--fs-lg: 17px;--fs-xl: 20px;--r-xs: 8px;--r-sm: 10px;--r-md: 12px;--r-lg: 14px;--r-xl: 20px;--r: var(--r-lg);--shadow: 0 8px 30px rgba(0, 0, 0, .5)}html,body{background:var(--bg)}body{color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:var(--fs-base);line-height:1.5;min-height:100vh;background:radial-gradient(900px 500px at 85% -10%,rgba(139,92,246,.16),transparent 60%),radial-gradient(800px 460px at -10% 30%,rgba(0,229,160,.1),transparent 55%),radial-gradient(700px 500px at 110% 80%,rgba(255,62,138,.1),transparent 60%),var(--bg);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:22px 22px}#app{position:relative;z-index:1}.app-shell{max-width:520px;margin:0 auto;min-height:100vh;position:relative}.font-graffiti{font-family:Arial Black,PingFang SC,sans-serif;font-weight:900;font-style:italic;letter-spacing:.5px}.tilt{transform:rotate(-1.2deg);display:inline-block}.card{background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--r);padding:16px;position:relative;overflow:hidden}.skew-badge{position:absolute;top:0;right:0;width:44px;height:44px;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.06) 50%);border-bottom-left-radius:10px}.neon-card{background:linear-gradient(160deg,#8b5cf61a,#15151fe6 45%);border:1px solid rgba(139,92,246,.4);box-shadow:0 0 24px rgba(139,92,246,var(--tint-base))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:var(--fs-base);color:var(--text);background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-md);padding:12px 18px;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease;-webkit-user-select:none;user-select:none;text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{color:#04140e;background:linear-gradient(120deg,var(--green),#35E0B8);border:none;box-shadow:0 0 18px #00e5a059}.btn-purple{color:#fff;background:linear-gradient(120deg,var(--purple),#A78BFA);border:none;box-shadow:0 0 18px #8b5cf666}.btn-pink{color:#fff;background:linear-gradient(120deg,var(--pink),#FF7AB2);border:none;box-shadow:0 0 18px #ff3e8a66}.btn-ghost{background:transparent}.btn-sm{padding:8px 14px;font-size:var(--fs-md);border-radius:var(--r-sm)}.input{width:100%;background:#00000059;border:1px solid var(--line2);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:var(--fs-base);padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #8b5cf62e}.input::placeholder{color:var(--text3)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239A9AB2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);font-weight:600;padding:3px 10px;border-radius:var(--r-xs);background:#ffffff14;color:var(--text2)}.badge-green{color:var(--green);background:rgba(0,229,160,var(--tint-base))}.badge-purple{color:#c4b5fd;background:rgba(139,92,246,var(--tint-base))}.badge-pink{color:var(--pink);background:rgba(255,62,138,var(--tint-base))}.badge-orange{color:var(--orange);background:rgba(255,138,61,var(--tint-base))}.badge-yellow{color:var(--yellow);background:rgba(255,209,102,var(--tint-base))}.badge-red{color:var(--red);background:rgba(255,84,112,var(--tint-base))}.badge-gray{color:var(--text3);background:#ffffff0f}.section-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:800;color:var(--text2);letter-spacing:1px;text-transform:uppercase;margin:20px 0 10px}.section-title .bar{width:4px;height:14px;background:linear-gradient(180deg,var(--purple),var(--pink));border-radius:2px;box-shadow:0 0 8px #8b5cf699}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;background:#0d0d14eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;padding:6px 6px calc(10px + env(safe-area-inset-bottom));z-index:50}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;color:var(--text3);font-size:var(--fs-xs);font-weight:600;cursor:pointer;border-radius:var(--r-md);transition:color .2s,background .2s;-webkit-user-select:none;user-select:none}.tab-item svg{width:22px;height:22px}.tab-item.active{color:var(--tab-accent, var(--green))}.tab-item.active{background:color-mix(in srgb,var(--tab-accent, var(--green)) 10%,transparent)}.page{padding:16px 16px calc(92px + env(safe-area-inset-bottom))}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px}.topbar .brand{display:flex;align-items:center;gap:10px}.topbar .brand-name{font-size:var(--fs-xl);font-weight:900;font-style:italic;letter-spacing:1px}.topbar .brand-name em{font-style:normal;color:var(--tab-accent, var(--green))}.avatar{width:42px;height:42px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;color:#04140e;background:linear-gradient(135deg,var(--green),#35E0B8);flex-shrink:0;transform:rotate(-2deg)}.avatar.sm{width:32px;height:32px;font-size:var(--fs-md);border-radius:9px}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .35s ease both}@keyframes pulseGlow{0%,to{box-shadow:0 0 14px #00e5a040}50%{box-shadow:0 0 26px #00e5a08c}}.pulse-glow{animation:pulseGlow 2.4s ease-in-out infinite}@keyframes waveMove{0%{transform:scaleY(.6)}50%{transform:scaleY(1)}to{transform:scaleY(.6)}}.wave-bar{display:inline-block;width:4px;border-radius:2px;background:var(--tab-accent, var(--green));animation:waveMove 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.ring-wrap{position:relative;width:120px;height:120px}.ring-wrap svg{transform:rotate(-90deg)}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal-mask{position:fixed;inset:0;z-index:100;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center}.modal{width:100%;max-width:520px;max-height:88vh;overflow-y:auto;background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:20px 16px calc(24px + env(safe-area-inset-bottom));animation:fadeUp .25s ease both;-webkit-overflow-scrolling:touch}.modal-title{font-size:var(--fs-lg);font-weight:800;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}.toast{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#141420f7,#1e1c30f7);border:1px solid var(--line2);color:var(--text);font-size:14px;font-weight:600;padding:12px 20px 12px 14px;border-radius:var(--r-lg);box-shadow:0 8px 32px #00000080,0 0 20px #00e5a026;animation:toastIn .3s cubic-bezier(.34,1.56,.64,1) both;max-width:90%;overflow:hidden}.toast-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green)}.toast-ico{width:20px;height:20px;flex-shrink:0;color:var(--green);display:inline-flex}.toast-ico :deep(svg){width:100%;height:100%;display:block}.toast-msg{flex:1;min-width:0}.toast-success .toast-bar{background:linear-gradient(180deg,#00e5a0,#35e0b8)}.toast-success .toast-ico{color:#00e5a0}.toast-warn .toast-bar{background:linear-gradient(180deg,#faad14,#ffc53d)}.toast-warn .toast-ico{color:#faad14}.toast-error .toast-bar{background:linear-gradient(180deg,#ff5470,#ff7890)}.toast-error .toast-ico{color:#ff5470}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.empty{text-align:center;padding:40px 20px;color:var(--text3);font-size:14px}.empty svg{width:46px;height:46px;opacity:.5;margin-bottom:10px}::-webkit-scrollbar{width:0;height:0}@media(min-width:900px){.app-shell.admin-mode{max-width:1100px}}.ico,.ico-lg,.ico-xl{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ico{width:18px;height:18px}.ico-lg{width:22px;height:22px}.ico-xl{width:40px;height:40px}.ico svg,.ico-lg svg,.ico-xl svg{width:100%;height:100%;display:block}.chip{display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-md);font-weight:600;padding:7px 14px;border-radius:var(--r-xs);border:1px solid var(--line2);color:var(--text2);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.chip:active{transform:scale(.96)}.chip.on{border-color:var(--purple);color:#c4b5fd;background:#8b5cf626}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-head .cal-title{font-size:var(--fs-base);font-weight:800}.cal-nav{width:32px;height:32px;border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;background:#ffffff0f;cursor:pointer;color:var(--text2)}.cal-nav:active{transform:scale(.92)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-wd{text-align:center;font-size:var(--fs-xs);font-weight:700;color:var(--text3);padding:4px 0}.cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--r-sm);font-size:var(--fs-md);font-weight:600;color:var(--text2);cursor:pointer;position:relative;transition:all .15s}.cal-day:hover{background:#ffffff0d}.cal-day.other{color:var(--text3);opacity:.4}.cal-day.today{background:#8b5cf62e;color:#c4b5fd;font-weight:800}.cal-day.selected{background:linear-gradient(135deg,var(--purple),#A78BFA);color:#fff;box-shadow:0 0 14px #8b5cf680}.cal-day .dot{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}.cal-day.selected .dot{background:#fff;box-shadow:none}.cal-day.today .dot{background:#c4b5fd}.logo-box{width:200px;margin:0 auto}.logo-box-sm{width:44px;height:44px;flex-shrink:0}.qr-box{width:220px;height:220px;margin:0 auto;background:#fff;border-radius:var(--r-lg);padding:12px;display:flex;align-items:center;justify-content:center}.qr-box img{width:100%;height:100%;object-fit:contain}.tabbar svg{width:24px!important;height:24px!important;display:block}.week-nav{display:flex;gap:5px;margin-bottom:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 6px}.wn-day{flex:1;text-align:center;padding:8px 2px;border-radius:var(--r-sm);cursor:pointer;transition:all .15s}.wn-day .wn-wd{font-size:var(--fs-xs);color:var(--text3)}.wn-day .wn-dd{font-size:16px;font-weight:800;margin-top:2px;color:var(--text2)}.wn-day .wn-dot{width:4px;height:4px;border-radius:50%;margin:3px auto 0;background:transparent}.wn-day.has-class .wn-dot{background:var(--green)}.wn-day.today{background:rgba(139,92,246,var(--tint-base))}.wn-day.today .wn-dd{color:#c4b5fd}.wn-day.selected{background:linear-gradient(135deg,var(--purple),#A78BFA)}.wn-day.selected .wn-wd,.wn-day.selected .wn-dd{color:#fff}.wn-day.selected .wn-dot{background:#fff}.month-cal{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;margin-bottom:12px}.mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mc-day{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);font-weight:600;color:var(--text2);border-radius:var(--r-sm);cursor:pointer;transition:all .15s}.mc-day:hover{background:#ffffff0f}.mc-day.out-month{color:#fff3;cursor:default}.mc-day.out-month:hover{background:transparent}.mc-day.today{border:1px solid var(--purple);color:#c4b5fd}.mc-day.selected{background:linear-gradient(135deg,var(--purple),#A78BFA);color:#fff;border:none}.mc-dot{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:transparent}.mc-day.has-class .mc-dot{background:var(--green)}.mc-day.selected .mc-dot{background:#fff}.cal-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--text3);cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-xs)}.cal-toggle:hover{background:#ffffff14;color:var(--text2)}.form-label{font-size:var(--fs-md);color:var(--text2);font-weight:700;margin-bottom:4px;display:block}.ios-toggle{width:52px;height:32px;border-radius:16px;background:var(--card2);border:1px solid var(--line);position:relative;transition:background .25s;cursor:pointer;flex-shrink:0}.ios-toggle.on{background:#00e5a0;border-color:transparent}.ios-toggle .knob{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:left .25s}.ios-toggle.on .knob{left:24px}.ios-toggle i{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:left .25s}.ios-toggle.on i{left:24px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-width:0;padding:14px;background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:14px;text-align:center}.stat-card .sv{width:34px;height:34px;margin:0 auto 6px;border-radius:10px;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.stat-card .sn{font-size:24px;font-weight:900}.stat-card .sl{font-size:12px;color:var(--text2);margin-top:2px}.row-info{flex:1;min-width:0}.row-info .nm{font-weight:700;font-size:14px}.row-info .sub{font-size:12px;color:var(--text2);margin-top:2px}.no-border{border-bottom:none}.pbar{height:6px;background:#ffffff12;border-radius:4px;margin:7px 0 5px;overflow:hidden}.pfill{height:100%;border-radius:4px}.sub-tabs{display:flex;gap:8px}.day-group{display:flex;flex-direction:column;gap:8px}.day-header{display:flex;align-items:center;gap:10px}.day-chip{display:flex;align-items:baseline;gap:6px;background:#8b5cf61f;border:1px solid rgba(139,92,246,.3);border-radius:10px;padding:5px 12px}.day-chip b{font-size:18px;font-weight:900;color:#c4b5fd}.day-chip span{font-size:12px;color:var(--text2)}.sc-card{padding:12px 14px}.time-box{width:52px;text-align:center;background:#8b5cf61a;border-radius:10px;padding:6px 0;flex-shrink:0}.time-box .t1{font-weight:800;font-size:14px}.time-box .t2{font-size:11px;color:var(--text3)}.logo-pick{width:76px;padding:6px 4px 7px;border-radius:10px;border:1.5px solid var(--line);background:var(--card2);text-align:center;cursor:pointer;transition:all .2s}.logo-pick.on{border-color:var(--c-brand);background:color-mix(in srgb,var(--c-brand) 12%,transparent)}.logo-pick:active{transform:scale(.97)}.logo-pick svg{width:100%;height:100%}.mc-wd{text-align:center;font-size:11px;font-weight:700;color:var(--text3);padding-bottom:2px}.child-card .left{flex:1;min-width:0}.topbar-actions{display:flex;gap:6px;flex-shrink:0}.topbar-actions .btn{padding:8px 10px;flex-shrink:0}.topbar-actions .btn .ico{width:16px;height:16px}
