:root{font:15px/1.5 "PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#1a2330;background:#f1f4f9;--blue:#2889ee;--line:#e6eaf0;--muted:#66758a}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.22}h2{font-size:20px}h3{font-size:16px}a{color:#2472b9}small,.muted{color:var(--muted)}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid transparent;background:#fff;color:inherit;border-radius:6px;padding:8px 14px;font-weight:600}button:hover:not(:disabled){filter:brightness(.965)}button:disabled{opacity:.52;cursor:default}input:not([type=checkbox]),textarea,select{width:100%;min-width:0;padding:9px 10px;border:1px solid #ccd6e2;border-radius:6px;background:#fff;color:#1a2330}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #2878d1;outline-offset:2px}
.primary,.green,.danger{color:white}.primary{background:#2477c9}.green{background:#168148}.danger{background:#b63143}.outline{color:#2469ae;border:1px solid #cbd9e9;background:white;text-decoration:none;border-radius:6px;padding:8px 14px}.mini{font-size:13px;padding:5px 9px;white-space:nowrap}.fill{flex:1}.red{color:#bb2b44!important}.row,.spread,.toolbar{display:flex;gap:8px;align-items:center}.spread{justify-content:space-between}.form,.stack{display:grid;gap:12px}.form label,.modal>label{display:grid;gap:4px}.form>button{justify-self:start}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{background:#fff;padding:14px;border-radius:9px;border:1px solid var(--line);min-width:0;overflow-wrap:anywhere}.message,.demo{padding:7px 11px;border-radius:7px;font-size:13px;overflow-wrap:anywhere}.demo{background:#fdf5e2;color:#735320}.message.bad{background:#ffe9ed;color:#8f1d31}.message.good{background:#e0f6e9;color:#166039}.tag{display:inline-block;padding:2px 7px;border-radius:5px;color:#506274;background:#eef2f7;font-size:12px;white-space:nowrap}.tag.open{color:#805710;background:#fff0cd}.tag.late{color:#a02436;background:#ffe5eb}.tag.paid{color:#146b35;background:#dff3e5}.item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.item:last-child{border-bottom:0}.empty{padding:24px 0;color:var(--muted);text-align:center}.pre{white-space:pre-wrap}.proof{display:block;max-width:100%;max-height:60vh;object-fit:contain;border:1px solid var(--line);border-radius:5px}
dl{display:grid;grid-template-columns:minmax(95px,1fr) minmax(0,1.5fr);row-gap:9px;margin:12px 0;overflow-wrap:anywhere}dt,dd{margin:0}dd{text-align:right}
.mobile{width:min(100%,440px);min-height:100vh;margin:0 auto;background:#f4f6fa;position:relative;box-shadow:0 0 30px #21314b18;padding-bottom:76px}.m-head{padding:17px 15px 7px;display:flex;flex-wrap:wrap;align-items:center;gap:7px}.m-head strong{font-size:20px}.m-head small{width:100%}.back{font-size:26px;line-height:1;padding:0 8px}.m-main{padding:5px 11px;display:grid;gap:11px}.m-main .card{padding:13px}.m-main .card h3{margin-bottom:6px}.m-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,440px);padding:4px 0 max(5px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:white;border-top:1px solid var(--line);z-index:3}.m-nav button{font-size:12px;color:#4e5d71;background:none;padding:4px}.m-nav strong{display:block;font-size:22px;font-weight:500}.m-nav .active{color:#1e70be}
.hero{border-radius:14px;background:linear-gradient(135deg,#157df0,#3399f7);color:#fff;padding:21px 15px 12px;display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;box-shadow:0 7px 13px #3b8fea29}.hero.done{background:linear-gradient(135deg,#15974c,#23b963)}.hero small{color:#eef6ff}.hero-symbol{width:64px;height:64px;display:grid;place-items:center;background:#ffffff29;border:2px solid #ffffff70;border-radius:19px;transform:rotate(-8deg);font-size:33px;font-weight:800}.hero h1{margin-top:3px;overflow-wrap:anywhere}.pill{grid-column:1/-1;border-radius:99px;justify-self:center;min-width:min(100%,210px);color:#1c68b3}.hero.done .pill{color:#156633}.hero-foot{grid-column:1/-1;text-align:center}.ticker{background:#fff8e9;color:#825a20;border-radius:99px;padding:6px 13px;font-size:12px}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tiles button{border:1px solid var(--line);border-radius:12px;padding:10px 4px;font-size:12px;font-weight:500}.tiles span{display:grid;place-items:center;margin:0 auto 4px;width:43px;height:43px;border-radius:100%;font-size:21px;color:#fff}.orange{background:#ee720d}.lime{background:#79a931}.sky{background:#0e93de}.pink{background:#ce477c}.purple{background:#7850bd}.amber{background:#bc780d}.hints{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;text-align:center;font-size:12px;color:#286dac}.hints b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;margin:4px auto;background:#dff2ff;color:#3e99dc}.about{text-align:center;padding:20px!important}.about p{font-size:13px;color:var(--muted)}
.blue-head{margin:-13px -13px 12px;padding:10px 12px;background:#2789ea;color:white;border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.period{margin-top:10px;padding:8px 8px 8px 10px;border:1px solid var(--line);border-left:4px solid #2889ee;border-radius:6px;font-size:13px}.period strong{color:#1a65b0}.period.late{border-left-color:#d54a59}.period.paid{border-left-color:#23a75c}.document{min-height:330px}.document h2{text-align:center;margin:12px 0}.document p{white-space:pre-wrap}.document-mark{text-align:center;color:#74511d;background:#fff2d9;padding:6px}.channel-preview{text-align:center;padding:17px 7px;background:#f2f7ff;border:1px dashed #a5c3e6;border-radius:6px}.profile{display:flex;align-items:center;gap:12px}.avatar{width:44px;height:44px;border-radius:50%;background:#eef2f7;color:#9baabb;display:grid;place-items:center}.menu{padding-block:0!important}.menu button{width:100%;text-align:left;border-bottom:1px solid var(--line);border-radius:0;padding:12px 1px;font-weight:500}.menu button:last-child{border-bottom:0}.menu b{float:right;color:#7e8b9c}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:15px;background:#eef4fb}.login-card{width:min(100%,420px);padding:24px}.desk{display:grid;grid-template-columns:194px minmax(0,1fr);min-height:100vh}.sidebar{background:white;border-right:1px solid var(--line)}.sidebar h2{padding:16px 14px}.sidebar nav{display:grid}.sidebar button{text-align:left;border-radius:0;padding:12px 16px}.sidebar button.active{background:#eaf3ff;color:#1b6bb4;border-right:3px solid #3189e5}.desk-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line)}.desk-main{padding:14px;display:grid;gap:11px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-grid h2{color:#2276c9;margin-top:8px}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.trend{width:100%;display:block;max-height:230px;margin:8px 0}.toolbar{flex-wrap:wrap;margin-bottom:12px}.toolbar input:not([type=checkbox]){width:min(100%,290px)}.toolbar select{width:auto}.scroll{overflow-x:auto}.scroll table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.scroll td,.scroll th{padding:9px 8px;border:1px solid var(--line)}.scroll th{background:#f7faff;white-space:nowrap;color:#4d6077}.actions{min-width:180px}.actions button{margin:2px}.setting-tabs{display:flex;gap:4px;overflow:auto;margin-bottom:15px}.setting-tabs button{white-space:nowrap}.setting-tabs .active{color:#2376c9;border-bottom:2px solid #368ae4}.settings form{max-width:670px}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#18233180;padding:12px;z-index:10}.modal{width:min(100%,610px);max-height:91vh;overflow:auto;display:grid;gap:12px}.modal dl{margin:0}.detail-plan{max-height:280px}.form .check{display:flex;align-items:center}
@media(max-width:800px){.desk{grid-template-columns:minmax(0,1fr)}.sidebar h2{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar button{white-space:nowrap;padding:8px 10px}.sidebar button.active{border-right:0;border-bottom:2px solid #3189e5}.overview-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desk-head{padding-inline:11px}}
@media(max-width:370px){.two{grid-template-columns:1fr}.hero{grid-template-columns:52px minmax(0,1fr)}.hero-symbol{width:50px;height:50px;font-size:26px}}
