:root{font-family:PingFang SC,Microsoft YaHei,sans-serif;color:#1d302b;background:#f5f3ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ca794e;outline-offset:2px}h1,h2,p{margin-top:0}h1,h2{font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-weight:600}h1{font-size:clamp(30px,3.4vw,44px);line-height:1.2;letter-spacing:.02em;margin-bottom:12px}h2{font-size:23px;line-height:1.3}.eyebrow{font-family:ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.15em;color:#8b5d48;margin-bottom:18px}.eyebrow.light{color:#d6b899}.intro{color:#66736b;line-height:1.7;font-size:14px;margin-bottom:0}.mono{font-family:ui-monospace,monospace;overflow-wrap:anywhere}.brand-mark{font-family:Georgia,serif;font-size:31px;font-weight:700;line-height:1;color:#f4f1e7}.brand-mark span{color:#d08c68}.button{border:1px solid transparent;min-height:44px;padding:10px 17px;font-size:14px;font-weight:650;transition:background .15s,color .15s,border-color .15s}.button.primary{background:#294e40;color:#fff}.button.primary:hover:not(:disabled){background:#183c30}.button.secondary{background:#fff;color:#294e40;border-color:#c7d2c9}.button.secondary:hover:not(:disabled){border-color:#294e40}.button.quiet{background:transparent;color:#456055}.button.quiet:hover:not(:disabled){background:#e8ede6}.button.danger{color:#a6442d}.button.danger-fill{background:#a6442d;color:#fff}.button.full{width:100%;display:flex;align-items:center;justify-content:space-between}.align-start{align-self:flex-start}.login-page{min-height:100dvh;background:#1d302b;color:#f4f1e7;padding:clamp(24px,5vw,64px);display:flex;flex-direction:column;position:relative;overflow:hidden}.login-page:after{content:"";position:absolute;width:640px;height:640px;border:1px solid #ffffff12;border-radius:50%;right:-250px;top:-260px;pointer-events:none;box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff04}.login-brand{display:flex;align-items:center;gap:14px;letter-spacing:.1em;font-size:12px;font-weight:700;z-index:1}.login-brand i{font-style:normal;color:#bd9176;margin:0 5px}.login-layout{max-width:1160px;width:100%;margin:auto;display:grid;grid-template-columns:1fr minmax(340px,440px);gap:clamp(48px,8vw,120px);align-items:center;padding:60px 0;z-index:1}.login-intro h1{font-size:clamp(46px,6vw,78px);line-height:1.18;margin:0 0 26px}.login-intro h1 em{font-style:normal;color:#d2b99d}.login-intro>p:not(.eyebrow){max-width:320px;color:#bac9bd;line-height:1.9;font-size:15px}.login-index{margin-top:66px;border-top:1px solid #ffffff34;padding-top:18px;display:flex;justify-content:space-between;max-width:340px;color:#a7b7aa;font:11px ui-monospace,monospace;letter-spacing:.1em}.login-card{background:#f8f7f1;color:#1d302b;padding:clamp(28px,4vw,48px);box-shadow:0 22px 60px #0f201a38}.login-card h2{font-size:30px;margin:0 0 8px}.login-card .form-stack{margin-top:34px}.login-foot{margin:30px 0 0;padding-top:20px;border-top:1px solid #d9dfd5;color:#79857b;font-size:12px}.login-footer{display:flex;justify-content:space-between;color:#a2b3a7;font:10px ui-monospace,monospace;letter-spacing:.13em;z-index:1}.workspace{min-height:100dvh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#1d302b;color:#f4f1e7;min-height:100dvh;padding:32px 22px;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:14px;padding:0 8px 42px}.side-brand strong,.side-brand small{display:block}.side-brand strong{font-size:15px;letter-spacing:.12em}.side-brand small{color:#a9b9ac;font-size:12px;margin-top:4px}.side-caption{padding:0 8px 14px;color:#9cad9f;letter-spacing:.14em;font:10px ui-monospace,monospace}.side-nav{display:grid;gap:4px}.side-nav button{display:grid;grid-template-columns:32px 1fr auto;align-items:center;text-align:left;min-height:48px;background:transparent;color:#ecf1e8;border:0;padding:0 12px;font-size:14px}.side-nav button:hover{background:#ffffff12}.side-nav button>span:last-child{color:#95a89a}.nav-number{font:10px ui-monospace,monospace;color:#bd9176}.side-bottom{margin-top:auto;border-top:1px solid #ffffff2b;padding:24px 8px 0;display:grid;gap:18px}.side-bottom>span{color:#9cad9f;font:10px ui-monospace,monospace;letter-spacing:.1em}.logout{color:#f5f1e8;background:none;border:0;padding:0;min-height:44px;text-align:left}.side-error{color:#ffd3c7;font-size:13px}.workarea{min-width:0;display:flex;flex-direction:column}.topbar{min-height:80px;padding:16px clamp(24px,5vw,64px);display:flex;justify-content:space-between;align-items:center;background:#fbfaf5;border-bottom:1px solid #d9dfd5}.topbar strong,.topbar-overline{display:block}.topbar strong{font-size:15px}.topbar-overline{font:10px ui-monospace,monospace;color:#879389;letter-spacing:.12em;margin-bottom:5px}.topbar-status{font-size:12px;color:#64756a;white-space:nowrap}.topbar-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7c9a7c;margin-right:5px}.tabs{display:flex;overflow:auto;border-bottom:1px solid #d9dfd5;background:#fbfaf5;padding-left:clamp(12px,4vw,52px);min-height:51px}.tab{display:flex;flex-shrink:0;align-items:center;border-bottom:2px solid transparent}.tab.selected{border-color:#a6442d}.tab button{min-height:48px;background:none;border:0;color:#708077;font-size:13px;padding:0 8px 0 14px;white-space:nowrap}.tab.selected button:first-child{color:#1d302b;font-weight:700}.tab .tab-close{font-size:19px;padding:0;width:44px;color:#879389}.tab-empty{font-size:13px;color:#78877b;padding:16px}.content{width:100%;max-width:1150px;padding:clamp(30px,5vw,64px);flex:1}.workspace-footer{border-top:1px solid #d9dfd5;padding:22px clamp(24px,5vw,64px);display:flex;justify-content:space-between;color:#88958a;font:10px ui-monospace,monospace;letter-spacing:.1em}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:38px}.section-heading .button{flex-shrink:0}.filters{display:flex;align-items:end;gap:12px;padding:20px;background:#eaece4;margin-bottom:38px}.field{display:grid;gap:8px;color:#344b40;font-size:13px;font-weight:700;min-width:0}.field.grow{flex:1}.field b{color:#a6442d}.field input,.field select,.field textarea{width:100%;min-height:44px;background:#fff;border:1px solid #cbd4ca;border-radius:0;padding:10px 12px;color:#1d302b;font-weight:400}.field textarea{resize:vertical}.field input:disabled{background:#ecefe9;color:#6c7b70}.field small{color:#748277;font-size:12px;font-weight:400;line-height:1.5}.form-stack{display:grid;gap:22px;margin-top:32px}.form-stack h2{margin:12px 0 0}.form-actions{margin-top:8px}.list-heading{display:flex;justify-content:space-between;border-bottom:1px solid #98aa9c;padding:0 0 14px;font-size:12px;font-weight:700;color:#53665a}.list-heading span:last-child{font-family:ui-monospace,monospace;font-weight:400;color:#7d8b80}.records,.grant-list{list-style:none;padding:0;margin:0}.records li,.grant-list li{border-bottom:1px solid #d9dfd5}.record{background:none;border:0;width:100%;min-height:82px;text-align:left;display:flex;align-items:center;gap:20px;padding:15px 6px;color:#1d302b}.record:hover{background:#edf0e9}.record-main{display:grid;gap:7px;flex:1;min-width:0}.record-main strong{font-size:15px}.record-main small{font:12px ui-monospace,monospace;color:#7b897e;overflow-wrap:anywhere}.state{font-size:12px;white-space:nowrap;padding:5px 9px}.state.active{background:#e1ebe0;color:#345d43}.state.disabled{background:#eee5dd;color:#8c5c4e}.arrow{font-size:18px;color:#8a998c}.value{font-size:12px;color:#66736b}.empty{padding:35px 4px;color:#718075;font-size:14px;line-height:1.7}.empty-feature{padding:42px 25px;background:#eaece4;border-left:3px solid #8ea992}.empty-feature strong{color:#344c3d}.empty-feature p{margin:8px 0 0}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;color:#7d8b80;font-size:12px}.pagination>div{display:flex}.narrow{max-width:720px}.title-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.title-line h1{margin-bottom:0}.details{margin:36px 0;border-top:1px solid #9cab9f}.details>div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #d9dfd5;font-size:14px}.details dt{color:#748277}.details dd{margin:0;line-height:1.6;overflow-wrap:anywhere}.action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.confirm-box,.notice,.editor-panel{margin:24px 0;padding:20px;background:#e8ede5;border-left:3px solid #7a9a7d;font-size:14px;line-height:1.7}.confirm-box{background:#f5eae3;border-color:#a6442d}.confirm-box p,.notice p{margin:8px 0 12px;color:#617166}.confirm-box p{color:#745b50}.editor-panel{background:#eceee6}.editor-panel h2{margin-bottom:0}.editor-panel .form-stack{margin-top:20px}.checks{border:0;padding:0;margin:0;display:flex;gap:14px;flex-wrap:wrap}.checks legend{font-size:13px;font-weight:700;margin-bottom:10px}.checks label,.check-line{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}.checks input,.check-line input{width:18px;height:18px;accent-color:#294e40}.check-line{align-items:flex-start;line-height:1.6}.check-line input{flex-shrink:0;margin-top:3px}.grant-list li{padding:18px 4px;display:flex;justify-content:space-between;gap:20px;align-items:center}.grant-list p{font-size:12px;color:#748277;margin:6px 0 0}.grant-actions{display:flex;align-items:center;flex-wrap:wrap}.message{padding:12px 15px;font-size:13px;line-height:1.6;margin:20px 0}.message.error{background:#f8e7e1;color:#893b29;border-left:3px solid #a6442d}.message.success{background:#e2ede2;color:#315f3c;border-left:3px solid #68916d}@media(max-width:760px){.login-page{padding:24px 20px}.login-layout{grid-template-columns:1fr;gap:32px;padding:48px 0}.login-intro h1{font-size:43px}.login-intro>p:not(.eyebrow){font-size:14px}.login-index{margin-top:28px}.login-card{padding:28px 24px}.workspace{display:block}.sidebar{min-height:0;padding:18px 20px 10px}.side-brand{padding:0 0 14px}.side-caption,.side-bottom>span{display:none}.side-nav{display:flex;overflow-x:auto;border-top:1px solid #ffffff29}.side-nav button{display:flex;gap:7px;white-space:nowrap;padding:0 10px}.side-nav button>span:last-child{display:none}.side-bottom{position:absolute;right:20px;top:14px;border:0;padding:0;margin:0}.logout{font-size:13px}.topbar{min-height:64px;padding:12px 20px}.topbar-overline{font-size:9px}.tabs{padding-left:8px}.content{padding:32px 20px}.workspace-footer{padding:20px}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:28px}.filters{display:grid;grid-template-columns:1fr 1fr;padding:16px;gap:12px;margin-bottom:30px}.filters .grow{grid-column:1/-1}.filters .button{align-self:end}.details>div{grid-template-columns:90px 1fr}.grant-list li{align-items:flex-start;flex-direction:column;gap:8px}.grant-actions{gap:4px}.record{gap:10px}.record-main small{font-size:11px}.login-footer{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.history{margin-top:48px}.history-caption{color:#748277;font-size:12px;line-height:1.6;margin:12px 0}.history-list{list-style:none;margin:0;padding:0}.history-list li{padding:18px 4px;border-bottom:1px solid #d9dfd5}.history-list p{margin:7px 0;color:#617166;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.history-meta{display:flex;justify-content:space-between;gap:16px;color:#344b40;font-size:13px}.history-meta span{color:#627b67;font-size:12px}.video-filters[data-v-d78c6caa]{display:flex;gap:16px;flex-wrap:wrap}.video-filters .field[data-v-d78c6caa]{flex:1;min-width:180px}.video-tag[data-v-d78c6caa]{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:16px}.video-tag input[data-v-d78c6caa]{width:20px;height:20px}.video-list[data-v-d78c6caa]{list-style:none;padding:0}.video-list li[data-v-d78c6caa]{border-bottom:1px solid var(--line, #d9dfd5);padding:20px 0}.video-list p[data-v-d78c6caa]{margin:8px 0;color:#66736b}.video-title[data-v-d78c6caa]{font:inherit;font-size:20px;font-weight:600;text-align:left;background:none;border:0;padding:8px 0;color:#294e40;cursor:pointer}fieldset[data-v-d78c6caa]{border:1px solid #d9dfd5}.video-player[data-v-f5d8bb5b]{display:block;width:100%;max-height:60vh;background:#15241f;margin-top:24px;border-radius:8px}
