:root{--ink:#151515;--muted:#686868;--line:#deded9;--paper:#f4f4f1;--white:#fff;--accent:#ffdf00;--accent-dark:#e5c700;--soft:#fff7b8;--danger:#b33a32;--shadow:0 20px 60px rgba(0,0,0,.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--ink);font-family:Microsoft YaHei UI,Microsoft YaHei,微软雅黑,Segoe UI,Arial,sans-serif;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.ui-button{border:0;border-radius:10px;padding:11px 16px;font-weight:600;transition:transform .15s,background .15s;min-height:44px}.ui-button:hover{transform:translateY(-1px)}.ui-button-primary{color:white}.ui-button-secondary{color:var(--ink);background:#eef2f1}.ui-button-ghost{color:var(--muted);background:transparent}.ui-input{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 13px;background:var(--white);outline:none}.ui-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(13,118,110,.12)}.ui-panel{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(23,33,39,.03)}.ui-badge{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.ui-badge-neutral{background:#eef2f1;color:#657277}.ui-badge-success{background:#e4f4ed;color:#18714f}.ui-badge-warning{background:#fff1d9;color:#9a6418}.ui-badge-danger{background:#fde9e9;color:#a83939}.public-shell{min-height:100vh;background:#fff}.public-page{max-width:540px;margin:auto;padding:28px 20px 44px}.public-brand{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.public-visual{height:240px;margin:26px 0 22px;border-radius:22px;background:linear-gradient(140deg,#0e756c,#43a996 48%,#dbeee7);position:relative;overflow:hidden}.public-visual:after{content:"";position:absolute;right:-22px;bottom:-60px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.24)}.public-copy h1{font-size:30px;line-height:1.2;margin:0 0 12px;letter-spacing:-.04em}.public-copy p{color:var(--muted);line-height:1.65;margin:0}.legacy-content{color:var(--muted);line-height:1.6}.legacy-content img{max-width:100%;height:auto;display:block;margin:12px auto}.public-form{margin-top:28px;display:grid;grid-gap:16px;gap:16px}.public-field{display:grid;grid-gap:8px;gap:8px}.public-field label{font-weight:600;font-size:14px}.public-field input,.public-field select{width:100%;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}.public-submit{width:100%;margin-top:5px}.public-foot{color:#9ba6a9;font-size:12px;line-height:1.5;margin-top:22px;text-align:center}.blocked{display:grid;place-items:center;min-height:100vh;text-align:center;padding:24px}.blocked-inner{max-width:420px}.blocked-mark{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 22px;border-radius:18px;color:white;background:var(--accent);font-weight:700;font-size:24px}.blocked h1{font-size:28px;margin:0 0 12px}.blocked p{color:var(--muted);line-height:1.7}.auth-shell{min-height:100svh;isolation:isolate;overflow:hidden;place-items:center;padding:40px;background:#050505}.auth-shell,.auth-stage{position:relative;display:grid}.auth-stage{z-index:2;width:100%;place-items:center}.auth-corner-mark{position:absolute;z-index:3;top:20px;left:24px;width:50px;height:50px;object-fit:contain;mix-blend-mode:screen}.auth-footer{position:absolute;z-index:3;left:58px;right:58px;bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#f7f7f3}.auth-footer-logo{display:block;width:min(192px,24vw);height:auto;margin-left:-32px}.auth-footer span{font-size:22px;font-weight:400;letter-spacing:0;white-space:nowrap}.auth-card{width:min(430px,100%);min-height:452px;padding:48px 33px 38px;background:#fff;border:1px solid #e3e3df;color:#151515;box-shadow:0 18px 45px rgba(0,0,0,.28)}.auth-card h1{margin:0 0 8px;font-size:28px;line-height:1.25}.auth-card p{margin:0 0 30px;color:#686868}.auth-form{display:grid;grid-gap:16px;gap:16px}.auth-label{display:grid;grid-gap:8px;gap:8px;color:#252525;font-weight:600}.auth-error,.auth-label{font-size:13px}.auth-card .ui-input{color:#151515;background:#eaf0f1;border-color:#cbd4d5;border-radius:9px;min-height:47px}.auth-card .ui-input::placeholder{color:#7b8587}.auth-card .ui-input:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px rgba(255,223,0,.24)}.auth-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:18px}.app-shell{--app-side-width:248px;min-height:100vh;display:block}.app-side{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--app-side-width);height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:#122522;color:#dce9e5;padding:24px 14px}.app-logo{padding:0 12px 30px;font-weight:700;font-size:20px;letter-spacing:-.04em}.app-logo span{color:#8bd7c8}.app-nav-label{color:#8aa39d;font-size:11px;text-transform:uppercase;letter-spacing:.12em;padding:18px 12px 8px}.app-nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;color:#afc5bf;font-size:14px;margin:2px 0}.app-nav a.active,.app-nav a:hover{color:white;background:rgba(139,215,200,.14)}.app-main{min-width:0;min-height:100vh;margin-left:var(--app-side-width);width:calc(100% - var(--app-side-width))}.app-header{height:72px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.app-header h1{font-size:18px;margin:0}.app-user{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:white;font-weight:700}.app-content{padding:32px 36px 60px;max-width:1440px}.page-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-intro h2{margin:0 0 6px;font-size:28px;letter-spacing:-.04em}.page-intro p{margin:0;color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.toolbar .ui-input{width:180px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:22px}.stat{padding:18px}.stat-label{color:var(--muted);font-size:13px}.stat-value{display:block;margin-top:14px;font-size:30px;font-weight:700;letter-spacing:-.04em}.stat-detail{color:var(--accent);font-size:12px;margin-top:4px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table td,.data-table th{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;white-space:nowrap}.data-table th{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#fbfcfc}.data-table tr:hover td{background:#fbfdfc}.empty{padding:55px 22px;text-align:center;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.form-row{display:grid;grid-gap:8px;gap:8px}.form-row.full{grid-column:1/-1}.form-row label{font-size:13px;font-weight:600}.form-row textarea{min-height:340px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:14px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.toggle{width:44px;height:24px;border:0;border-radius:999px;background:#c8d1cf;padding:3px}.toggle i{display:block;width:18px;height:18px;border-radius:50%;background:white;transition:transform .18s}.toggle.on{background:var(--accent)}.toggle.on i{transform:translateX(20px)}@media (max-width:800px){.app-shell{--app-side-width:72px}.app-side{width:var(--app-side-width);padding:18px 8px}.app-logo{font-size:0;text-align:center;padding:0 0 24px}.app-logo span{font-size:20px}.app-nav a span,.app-nav-label{display:none}.app-nav a{justify-content:center;padding:13px 8px}.app-header{padding:0 18px}.app-content{padding:24px 18px 44px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.page-intro{align-items:start;flex-direction:column}.toolbar .ui-input{width:100%}}.legacy-home{width:100%;background:#ddd;font-family:Microsoft YaHei,微软雅黑,HELVETICA,Arial,sans-serif}.legacy-home,.legacy-home .sposp_container{min-height:100vh}.legacy-home .sposp_body{overflow:hidden}.legacy-article{width:100%}.legacy-article img{cursor:pointer}.legacy-loading{min-height:100vh;display:grid;place-items:center;color:#666}.legacy-form-message{margin:12px 0 0;color:#666;text-align:center;line-height:1.6}.legacy-home .tk-radio-group{display:flex;flex-wrap:nowrap;gap:6px}.legacy-home .tk-radio-option{position:relative;flex:1 1;min-width:0;height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid #ddd;border-radius:8px;font-size:12px;line-height:1.2;color:#555;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#fafafa;transition:all .15s;box-sizing:border-box;padding:0 3px;text-align:center;word-break:break-all}.legacy-home .tk-radio-option input{display:none}.legacy-home .tk-radio-group.tk-radio-lg .tk-radio-option{font-size:15px}.legacy-home .tk-radio-option.selected{border-color:#16b0a5;background:#16b0a5;color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(22,176,165,.25)}.legacy-home .tk-radio-option:focus-visible{outline:2px solid #16b0a5;outline-offset:2px}.legacy-home button:disabled{opacity:.65;cursor:wait}.app-shell{background:#f4f4f1;color:var(--ink);font-family:Microsoft YaHei UI,Microsoft YaHei,微软雅黑,Segoe UI,Arial,sans-serif}.app-shell img{-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-side{display:flex;flex-direction:column;background:#0b0b0b;color:#f8f8f4;border-right:1px solid #242424}.app-brand{flex:0 0 auto;display:flex;align-items:center;min-height:69px;padding:0 12px 30px}.app-logo-mark{display:block;width:34px;height:34px;object-fit:contain}.app-logo-footer{flex:0 0 auto;margin-top:auto;padding:24px 12px 4px}.app-logo-full{display:block;width:100px;height:auto;margin-left:0}.app-nav-label{color:#9a9a92;text-transform:none;letter-spacing:.04em}.app-nav a{color:#c5c5bd;border:1px solid transparent}.app-nav a.active,.app-nav a:hover{color:#111;background:var(--accent);border-color:var(--accent)}.app-header{background:#fff;border-bottom-color:var(--line)}.app-header-title{display:flex;align-items:baseline;gap:12px}.app-header-kicker{color:#9b8700;font-size:11px;font-weight:700;letter-spacing:.12em}.app-header h1{color:#111}.app-user{color:#656565}.app-user>button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;color:#222;background:#fff}.app-user>button:hover{color:#111;border-color:var(--accent-dark);background:var(--soft)}.avatar,.ui-button-primary{color:#111;background:var(--accent)}.ui-button-primary:hover{color:#111;background:var(--accent-dark)}.ui-button-secondary{color:#222;background:#fff5a8;border:1px solid #e4c900}.ui-button-secondary:hover{background:#ffed5b}.ui-button-ghost{color:#555}.ui-input:focus{border-color:#c6ab00;box-shadow:0 0 0 3px rgba(255,223,0,.26)}.ui-panel{border-color:var(--line);box-shadow:0 10px 30px rgba(0,0,0,.04)}.ui-badge-success,.ui-badge-warning{background:#fff1a6;color:#675500}.stat-detail{color:#7b6800}.auth-error{color:var(--danger)}.auth-shell img{-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.legacy-home{font-family:Malgun Gothic,맑은 고딕,Noto Sans KR,Apple SD Gothic Neo,sans-serif}.inline-error{margin:16px;padding:11px 13px;border:1px solid #e5b0aa;border-radius:8px;color:#8b2e27;background:#fff1ef;font-size:13px}.account-editor{margin-top:18px;padding:22px}.account-editor .page-intro{margin-bottom:20px}.editor-actions{display:flex;align-items:center;gap:14px;margin-top:22px}.save-confirm{color:#6e5c00;font-size:13px}@media (max-width:800px){.app-brand{justify-content:center}.app-logo-full{display:none}.app-logo-mark{display:block;width:34px;height:34px}.app-header-title{gap:0}.app-header-kicker{display:none}.account-editor{padding:16px}.auth-shell{padding:24px}.auth-corner-mark{top:16px;left:16px;width:45px;height:45px}.auth-footer{left:24px;right:24px;bottom:24px;align-items:flex-end}.auth-footer-logo{width:150px;max-width:45vw;margin-left:-16px}.auth-footer span{font-size:13px}.auth-card{min-height:0;padding:36px 24px 30px}.auth-card h1{font-size:25px}}@media (min-width:801px){.app-logo-mark{display:block}.auth-stage{transform:translateX(-6px)}}