:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#172536;background:#fbfbf9;font-synthesis:none;--teal:#155366;--muted:#727e8b;--line:#e5e9e9;--surface:#f3f5f4}*{box-sizing:border-box}body{margin:0;font-size:calc(14px * var(--font-scale, 1));line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,.button{border:1px solid #c7d2d6;background:#fff;border-radius:6px;padding:9px 16px;cursor:pointer;color:var(--teal);text-decoration:none;display:inline-block;line-height:1.5}button:hover,.button:hover{background:#eaf1f1}button:disabled{cursor:wait;opacity:.65}.primary{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.primary:hover{background:#103f50}h1,h2,h3,p{margin:0}h1{font-size:calc(25px * var(--font-scale, 1))}h2{font-size:calc(24px * var(--font-scale, 1));line-height:1.45}h3{font-size:calc(18px * var(--font-scale, 1));line-height:1.5}p{margin:7px 0}small{color:var(--muted);font-size:calc(12px * var(--font-scale, 1));display:block;line-height:1.7}a{color:var(--teal);text-underline-offset:4px}.app{display:flex;min-height:100vh}.sidebar{width:224px;flex-shrink:0;position:fixed;inset:0 auto 0 0;background:#f6f7f5;border-right:1px solid var(--line);padding:30px 24px;display:flex;flex-direction:column}.env{display:inline-block;background:#dce9ec;color:#356376;border-radius:5px;font-size:calc(12px * var(--font-scale, 1));padding:3px 10px;margin-top:8px;width:fit-content}.sidebar nav{display:grid;gap:10px;margin:36px -10px 0}.sidebar nav button{text-align:left;background:none;border:none;font-size:calc(15px * var(--font-scale, 1));padding:11px 20px;color:#3a4858}.sidebar nav button.active{background:#d6e7e9;color:var(--teal);font-weight:700}.sidebar .future{border-top:1px solid #dde2e2;margin-top:36px;padding-top:22px;font-size:calc(13px * var(--font-scale, 1));color:var(--muted)}.future b{display:block;font-size:calc(14px * var(--font-scale, 1));margin:18px 0 3px;font-weight:500;color:#354657}.sidebarbottom{margin-top:auto;padding-top:50px}.sidebarbottom button{padding:5px 0;border:0;background:none;color:#687482;font-size:calc(12px * var(--font-scale, 1))}.workspace{margin-left:224px;width:calc(100% - 224px);padding:30px 28px}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.top h2{font-size:calc(23px * var(--font-scale, 1));letter-spacing:.2px}.top p{font-size:calc(12px * var(--font-scale, 1));color:#7b8590;margin:9px 0 0}.sourcehead{display:grid;border-left:1px solid var(--line);padding-left:25px;font-size:calc(13px * var(--font-scale, 1));min-width:160px}.sourcehead span{font-size:calc(12px * var(--font-scale, 1));color:var(--muted)}.columns{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:22px}.columns>main{min-width:0}.hero{background:#f1f4f3;border-radius:10px;padding:24px 25px 26px;min-height:230px}.herohead{display:flex;align-items:center;justify-content:space-between;gap:12px}.herohead h3{font-size:calc(20px * var(--font-scale, 1))}.tag{font-size:calc(11px * var(--font-scale, 1));background:#dfeaec;color:#456576;padding:3px 9px;border-radius:4px;white-space:nowrap}.hero h2{font-size:calc(25px * var(--font-scale, 1));margin-top:18px;line-height:1.9}.badge{display:inline-block;white-space:nowrap;font-size:calc(12px * var(--font-scale, 1));font-weight:500;line-height:1.4;padding:5px 9px;border-radius:5px;vertical-align:middle;margin-left:4px}.badge.red{background:#f9ddda;color:#a13d35}.badge.rose{background:#ffe0df;color:#ac423b}.badge.teal{background:#e0eded;color:#276679}.badge.gray{background:#edf0f2;color:#68717f}.badge.blue{background:#e2eaf5;color:#3e627c}.badge.amber{background:#fbefdc;color:#94642c}.hero .next{font-size:calc(17px * var(--font-scale, 1));margin:12px 0 22px}.actions{display:flex;gap:10px;flex-wrap:wrap}.hero .actions button{min-width:145px;padding:11px 22px}.sectiontitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:23px 0 13px}.sectiontitle>h3{font-size:calc(21px * var(--font-scale, 1))}.sectiontitle button{padding:5px 10px;font-size:calc(12px * var(--font-scale, 1))}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{border:none;background:#eff1f2;border-radius:25px;color:#63707e;padding:7px 12px;font-size:calc(12px * var(--font-scale, 1))}.filters button.selected{color:#fff;background:var(--teal)}input,select,textarea{border:1px solid #d6dddf;border-radius:5px;background:#fff;color:#203342;padding:9px 11px;min-width:0;max-width:100%}.toolbar>input{width:252px;font-size:calc(12px * var(--font-scale, 1))}textarea{resize:vertical}table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:calc(12px * var(--font-scale, 1))}th{background:#f1f2f1;color:#5c6976;font-weight:500;text-align:left;padding:13px 9px}th:first-child{width:19%}th:nth-child(2){width:10%}th:nth-child(3){width:14%}th:nth-child(4){width:25%}th:nth-child(5){width:23%}th:last-child{width:9%}td{padding:22px 9px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}td .badge{margin:0;padding:5px 7px}td p{margin:0 0 5px}td small{font-size:calc(11px * var(--font-scale, 1))}.rowlink{display:block;border:none;background:none;padding:0;text-align:left;color:inherit;width:100%;font-size:calc(12px * var(--font-scale, 1))}.rowlink:hover{background:none;color:var(--teal);text-decoration:underline}.rowlink strong{display:block;font-size:calc(14px * var(--font-scale, 1))}.rowlink span{display:block;margin-top:4px;font-size:calc(12px * var(--font-scale, 1))}.nowrap{white-space:nowrap}.rightcol{display:grid;align-content:start;gap:17px}.rightcol>section{border:1px solid #e5e9e7;border-radius:9px;padding:18px 17px;background:#fcfcfb}.rightcol h3{font-size:calc(16px * var(--font-scale, 1));margin-bottom:18px}.rightcol .sectiontitle{margin:0 0 16px}.rightcol .sectiontitle h3{margin:0;font-size:calc(16px * var(--font-scale, 1))}.textbutton{padding:1px 3px!important;border:0;background:none;font-size:calc(12px * var(--font-scale, 1))}.weekdays{display:flex;justify-content:space-between;gap:2px;margin:19px -4px 14px}.weekdays>div{text-align:center;font-size:calc(12px * var(--font-scale, 1))}.weekdays span{display:block;color:#8a9098;margin-bottom:4px}.weekdays b{display:block;font-weight:400;padding:4px 5px;border-radius:20px;background:#e7eff0;color:#48646e;font-size:calc(11px * var(--font-scale, 1))}.weekdays .today{background:var(--teal);color:#fff}.quota{margin:18px 0 23px}.quota>div:first-child{display:flex;justify-content:space-between;font-size:calc(14px * var(--font-scale, 1))}.quota span{font-size:calc(12px * var(--font-scale, 1));color:#75808c}.meter{height:7px;background:#e2e6e8;border-radius:10px;margin-top:10px;overflow:hidden}.meter>div{background:var(--teal);height:100%;border-radius:10px}.footnote{font-size:calc(11px * var(--font-scale, 1));color:#84909a;line-height:1.8;margin-top:15px}.source{display:flex;justify-content:space-between;font-size:calc(12px * var(--font-scale, 1));margin:13px 0}.source b{font-weight:500}.source span{color:#87919a}.rightcol>.focus{background:#f0f4f3;border:0}.focus p{font-size:calc(12px * var(--font-scale, 1));padding-left:0;margin:8px 0;color:#576675}.bottomnote{font-size:calc(11px * var(--font-scale, 1));color:#969fa4;margin-top:30px;padding-top:16px;border-top:1px solid var(--line)}.pagetitle{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:10px 0 30px}.pagetitle p{font-size:calc(13px * var(--font-scale, 1));color:var(--muted)}.record{border-bottom:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;gap:15px}.record h3{font-size:calc(17px * var(--font-scale, 1));margin:3px 0 8px}.record p{font-size:calc(14px * var(--font-scale, 1));white-space:pre-wrap}.record>.actions{align-content:center;flex-shrink:0;flex-direction:column}.record>button{align-self:center}.record .actions button{font-size:calc(12px * var(--font-scale, 1));padding:6px 10px}.empty{text-align:center;color:var(--muted);padding:35px}.emptylarge{padding:70px 25px;text-align:center;border:1px dashed #cad7d9;border-radius:8px;color:#7b8b96}.emptylarge h3{color:#476472}.emptylarge button{margin-top:15px}.history article{padding:17px 0;border-bottom:1px solid var(--line)}.history article>div{display:flex;justify-content:space-between;gap:12px;font-size:calc(13px * var(--font-scale, 1))}.history article span{font-size:calc(11px * var(--font-scale, 1));color:#8a929b}.history p{font-size:calc(13px * var(--font-scale, 1));color:#6c7681}.history small{font-size:calc(11px * var(--font-scale, 1))}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f25365c;z-index:30;display:flex;align-items:center;justify-content:center;padding:25px}.dialog{background:#fcfdfc;box-shadow:0 15px 60px #0d233922;border-radius:10px;max-height:90vh;overflow-y:auto;width:680px;max-width:100%;padding:24px 28px}.dialog>header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:22px}.dialog h2{font-size:calc(21px * var(--font-scale, 1))}.dialog h3{font-size:calc(16px * var(--font-scale, 1));margin:22px 0 10px}.detailmeta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.detailmeta>span:last-child{color:var(--muted);font-size:calc(12px * var(--font-scale, 1))}.detailnext{font-size:calc(19px * var(--font-scale, 1));color:var(--teal)}.detailactions{margin:23px 0}.linkrow{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.danger{color:#a4514b;border-color:#e4c6c3;margin-top:25px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px}.field{display:flex;flex-direction:column;gap:6px;font-size:calc(13px * var(--font-scale, 1))}.field input,.field select,.field textarea{width:100%;font-size:calc(14px * var(--font-scale, 1))}.field:has(textarea),.full{grid-column:1/-1}.check{display:flex;align-items:center;gap:9px;font-size:calc(13px * var(--font-scale, 1))}.formfooter{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:19px}.copytext{width:100%;min-height:300px;font-size:calc(13px * var(--font-scale, 1));margin:15px 0}.muted{color:var(--muted)}.error{color:#a33f36;background:#fbe8e4;padding:10px 14px;border-radius:5px;font-size:calc(13px * var(--font-scale, 1))}.banner{display:flex;justify-content:space-between;margin-bottom:20px;gap:15px}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#173b48;color:#fff;padding:13px 24px;border-radius:7px;z-index:100;font-size:calc(13px * var(--font-scale, 1));max-width:90vw}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px;background:#f0f4f2}.loginbox{background:#fff;border:1px solid #dce5e3;border-radius:12px;padding:45px;max-width:450px;width:100%}.loginbox h1{font-size:calc(32px * var(--font-scale, 1));margin:12px 0}.eyebrow{font-size:calc(11px * var(--font-scale, 1));letter-spacing:2px;color:#6c8d94}.loginbox .primary{width:100%;margin:23px 0 5px}.mobiletoggle{display:none}@media(min-width:1550px){.workspace{padding:32px 40px}.columns{grid-template-columns:minmax(0,1fr) 320px;gap:26px}.hero h2{font-size:calc(29px * var(--font-scale, 1))}td{font-size:calc(13px * var(--font-scale, 1));padding-top:27px;padding-bottom:27px}.hero{min-height:250px}.hero .next{font-size:calc(19px * var(--font-scale, 1))}}@media(max-width:1250px){.sidebar{width:190px;padding-left:20px;padding-right:20px}.sidebar h1{font-size:calc(22px * var(--font-scale, 1))}.workspace{margin-left:190px;width:calc(100% - 190px);padding:25px 22px}.columns{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.hero h2{font-size:calc(21px * var(--font-scale, 1))}.tag{font-size:calc(10px * var(--font-scale, 1))}.toolbar{align-items:flex-start;flex-wrap:wrap}.toolbar input{width:100%}.top h2{font-size:calc(20px * var(--font-scale, 1))}.sourcehead{font-size:calc(11px * var(--font-scale, 1));min-width:130px}.hero{padding:21px}.herohead{align-items:flex-start;flex-direction:column}.record{flex-direction:column}.record>.actions{flex-direction:row}.hero .next{font-size:calc(15px * var(--font-scale, 1))}th:nth-child(4){width:25%}th:last-child{display:none}td:last-child{display:none}}@media(max-width:1000px){.columns{grid-template-columns:minmax(0,1fr)}.rightcol{grid-template-columns:1fr 1fr}.herohead{flex-direction:row}.hero h2{font-size:calc(25px * var(--font-scale, 1))}.tag{font-size:calc(11px * var(--font-scale, 1))}}@media(max-width:700px){.sidebar{display:none}.sidebar.open{display:flex;z-index:20;box-shadow:8px 0 25px #122c3222;width:220px}.workspace{margin:0;width:100%;padding:18px 16px}.mobiletoggle{display:block;padding:6px 10px;font-size:calc(12px * var(--font-scale, 1))}.top{gap:10px;margin-bottom:18px;justify-content:flex-start}.top h2{font-size:calc(16px * var(--font-scale, 1))}.top p{font-size:calc(10px * var(--font-scale, 1));margin-top:3px}.sourcehead,.desktoponly{display:none}.hero{padding:20px 17px;min-height:0}.herohead{gap:9px;flex-direction:column}.herohead h3{font-size:calc(18px * var(--font-scale, 1))}.hero h2{font-size:calc(22px * var(--font-scale, 1));line-height:1.6;margin-top:14px}.hero h2 .badge{font-size:calc(10px * var(--font-scale, 1))}.hero .next{font-size:calc(14px * var(--font-scale, 1))}.hero .actions button{min-width:0;padding:9px 15px}.sectiontitle>h3{font-size:calc(19px * var(--font-scale, 1))}.toolbar{gap:12px}.tablewrap{width:100%}table{table-layout:fixed}th,td{padding:14px 5px}th:first-child{width:38%}th:nth-child(2){width:15%}th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4){display:none}th:nth-child(5){width:47%}td .badge{font-size:calc(10px * var(--font-scale, 1));padding:4px 5px}.rowlink strong{font-size:calc(12px * var(--font-scale, 1))}.rowlink span{font-size:calc(11px * var(--font-scale, 1))}.rightcol{grid-template-columns:1fr;gap:14px;margin-top:15px}.rightcol>section{padding:17px 18px}.rightcol .quota{margin:13px 0}.pagetitle{align-items:flex-start;gap:10px}.pagetitle h2{font-size:calc(22px * var(--font-scale, 1))}.pagetitle p{font-size:calc(12px * var(--font-scale, 1))}.pagetitle>button{font-size:calc(12px * var(--font-scale, 1));white-space:nowrap}.overlay{padding:10px}.dialog{padding:19px;max-height:94vh}.formgrid{grid-template-columns:1fr;gap:13px}.formfooter{position:sticky;bottom:-19px;background:#fcfdfc;padding-bottom:12px}.history article>div{flex-direction:column;gap:3px}.dialog h2{font-size:calc(19px * var(--font-scale, 1))}.detailmeta{gap:6px}.dialog .sectiontitle{align-items:flex-start}.detailnext{font-size:calc(17px * var(--font-scale, 1))}.dialog .sectiontitle>div{display:flex;gap:5px}.focus{margin-bottom:10px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s}}.changevalues{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px;font-size:calc(12px * var(--font-scale, 1));color:#6e7a84;line-height:1.65}.changevalues dt{font-weight:600}.changevalues dd{margin:0;overflow-wrap:anywhere}details{font-size:calc(12px * var(--font-scale, 1));color:#527385;margin:6px 0}summary{cursor:pointer}.fontcontrol{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0;font-size:calc(12px * var(--font-scale,1));color:#657681}.fontcontrol select{padding:6px 9px;font-size:calc(12px * var(--font-scale,1));width:145px}.top{flex-wrap:wrap}.sourcehead{margin-left:0}@media(max-width:700px){.fontcontrol{width:100%;justify-content:flex-end;margin-top:0}.fontcontrol select{width:160px}.top{row-gap:10px}}.rightcol,.rightcol>section{min-width:0}.weekdays>div{min-width:0;flex:1}.weekdays b{padding:4px 2px;font-size:calc(10px * var(--font-scale,1))}.rightcol small,.rightcol p{overflow-wrap:anywhere}.fontbuttons{display:flex;align-items:center;border:1px solid #cdd8db;border-radius:6px;background:#fff;overflow:hidden}.fontbuttons button{border:0;border-radius:0;width:38px;min-height:36px;padding:2px 8px;font-size:22px;line-height:1;font-weight:500}.fontbuttons button:disabled{cursor:default;color:#a6b0b5;background:#f4f6f6;opacity:1}.fontbuttons output{font-size:13px;min-width:57px;text-align:center;font-variant-numeric:tabular-nums;color:#476675}@media(max-width:700px){.fontbuttons button{min-height:40px;width:42px}}
