:root{font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;color:#333;background:#f2f3f5;font-synthesis:none;--nav:#1b2237;--nav-text:#9ba1a9;--primary:#337ab7;--line:#e6e6e6}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible{outline:2px solid #409eff;outline-offset:2px}input,select,textarea{color:#444;border:1px solid #dcdfe6;border-radius:3px;background:white;padding:8px 10px;width:100%;min-height:36px}input:focus,select:focus,textarea:focus{outline:none;border-color:#409eff}input[type=checkbox]{min-height:0;width:16px;height:16px;vertical-align:middle;accent-color:var(--primary)}label{display:block;font-size:13px;color:#555}label>input,label>select,label>textarea{margin-top:8px}button,.button{border:1px solid #dcdfe6;border-radius:3px;color:#555;background:#fff;padding:8px 15px;line-height:18px}button:hover{background:#f4f7fb;color:#337ab7;border-color:#bfd6eb}.primary{background:#337ab7;border-color:#337ab7;color:white}.primary:hover{background:#286090;color:white;border-color:#286090}.success{background:#5cb85c;border-color:#4cae4c;color:white}.text-button{color:#337ab7;border:0;background:none;padding:3px 6px}.danger-text{color:#d9534f}.muted{color:#909399}.fine{font-size:12px;color:#909399;line-height:1.8}.error{color:#d9534f}h1,h2,h3,p{margin-top:0}h1{font-size:20px;font-weight:500;margin-bottom:0}h2{font-size:15px;font-weight:500;margin-bottom:0}h3{font-size:14px;font-weight:500}.login{min-height:100vh;display:grid;place-items:center;background:#eef1f6}.login-card{background:white;width:min(400px,calc(100% - 32px));padding:35px;border:1px solid #e0e4eb;border-radius:5px;box-shadow:0 4px 18px #18223b0c}.login-card .brand-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--nav);color:white;font-size:24px;border-radius:4px;margin-bottom:18px}.login-card h1{font-size:21px;margin-bottom:12px}.login-card label{margin:20px 0}.login-card .primary{width:100%;margin-top:6px}#sidebar{position:fixed;inset:0 auto 0 0;width:234px;background:var(--nav);overflow-y:auto;z-index:30;padding:0 12px 20px}.sidebar-brand{height:66px;margin:0 -12px 6px;padding:14px 24px;color:#f6f6f6;line-height:20px;font-size:17px;background:#171e30;letter-spacing:1px}.sidebar-brand span{display:block;font-size:10px;letter-spacing:2px;color:#8991a3}.nav-parent{width:100%;height:46px;display:flex;align-items:center;text-align:left;gap:16px;border:0;padding:0 13px;border-radius:4px;margin:3px 0 5px;background:transparent;color:var(--nav-text);font-weight:normal}.nav-parent svg{height:20px;width:20px;flex:none;fill:currentColor;stroke:currentColor}.nav-parent .arrow{margin-left:auto;font-size:10px}.nav-parent:hover{background:#32394e;color:white;border:0}.nav-parent[aria-expanded=true]{background:white;color:#1b2237;font-weight:600}.nav-parent.home-link.active{background:#3e4455;color:#e1e3e8;font-weight:600}.nav-submenu{list-style:none;padding:0;margin:0 0 8px}.nav-submenu button{width:100%;display:block;border:0;text-align:left;background:none;color:#969caa;border-radius:4px;padding:12px 14px 12px 35px;margin:3px 0;font-size:13px}.nav-submenu button:before{content:'•';color:#727b8b;margin-right:11px}.nav-submenu button:hover,.nav-submenu button.active{background:#3e4455;color:#f1f2f5;font-weight:600}.logout{margin-top:8px}.main-shell{margin-left:234px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:55px;flex:none;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 24px;color:#555}.icon-button{border:0;background:none;font-size:19px;padding:4px}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:#777}.topbar-user strong{font-weight:normal}.online-dot{width:6px;height:6px;border-radius:50%;background:#5cb85c}.breadcrumb{height:40px;display:flex;align-items:center;padding:0 26px;background:#fff;border-bottom:1px solid var(--line);color:#999;font-size:12px}.breadcrumb button{padding:0;border:0;background:none;font-size:12px;color:#888}.breadcrumb #breadcrumb-path:not(:empty):before{content:'/';margin:0 10px;color:#ccc}main{padding:20px 24px;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.page-heading h1{font-size:18px}.page-heading>button{font-size:12px;padding:5px 12px}.notice{border:1px solid #faebcc;background:#fcf8e3;padding:10px 14px;color:#8a6d3b;border-radius:3px;line-height:1.7;margin-bottom:17px;font-size:13px}.notice button{margin-left:12px;padding:0;border:0;background:none;color:#967428;text-decoration:underline}.panel{background:white;border:1px solid #e6e6e6;border-radius:3px;margin-bottom:18px}.panel-title{padding:14px 18px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;min-height:49px}.panel-title small{font-size:12px;color:#999;font-weight:normal}.panel-body{padding:18px}.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:18px;border-bottom:1px solid #eee;background:#fdfdfd}.filters label{font-size:12px;min-width:120px}.filters label input,.filters label select{width:160px;height:34px;min-height:34px;margin-top:7px}.filters .keyword input{width:235px}.filters .filter-actions{display:flex;gap:8px}.filters button{font-size:12px;height:34px;padding:6px 15px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;gap:10px}.table-toolbar span{color:#999;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{background:#f7f8fa;border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5;color:#606266;font-weight:500;text-align:left;padding:12px 15px}td{padding:13px 15px;border-bottom:1px solid #ebeef5;color:#606266}tbody tr:hover{background:#fafbfc}td small{display:block;font-size:11px;color:#a2a5aa;margin-top:5px}.index-col{width:55px;color:#999}td .text-button{font-size:12px}.tag{display:inline-block;border-radius:3px;padding:3px 8px;font-size:12px;line-height:18px;background:#fff8e6;color:#c09235;border:1px solid #faedcd}.tag.confirmed,.tag.enabled{background:#ecf5ff;border-color:#d9ecff;color:#409eff}.tag.completed{background:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.tag.cancelled,.tag.disabled{background:#f4f4f5;border-color:#e9e9eb;color:#909399}.empty-row{height:170px;text-align:center;color:#a0a5ae;white-space:normal}.empty-row svg{width:34px;height:34px;display:block;margin:0 auto 10px;color:#c0c4cc}.empty-row p{margin:5px 0;font-size:12px;color:#aaa}.pagination{padding:13px 18px;display:flex;align-items:center;justify-content:flex-end;gap:9px;font-size:12px;color:#999}.pagination .page-number{background:#337ab7;color:#fff;border-color:#337ab7}.pagination button{font-size:12px;padding:3px 9px}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.summary-card{background:#fff;border:1px solid #e6e6e6;padding:19px;display:flex;align-items:center;gap:15px;border-radius:3px}.summary-icon{height:47px;width:47px;border-radius:4px;background:#e9f3fc;display:grid;place-items:center;color:#5a9ddd;flex:none}.summary-icon svg{width:25px;height:25px;fill:currentColor}.summary-card:nth-child(2) .summary-icon{background:#fdf5e9;color:#d8a253}.summary-card:nth-child(3) .summary-icon{background:#edf8f1;color:#72b184}.summary-card:nth-child(4) .summary-icon{background:#f1eef9;color:#9a87bd}.summary-card strong{display:block;font-size:26px;font-weight:400;color:#555;margin-top:6px}.summary-card span{font-size:12px;color:#92979f}.home-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.shortcut{border:1px solid #ebedf1;background:#fafbfc;border-radius:3px;text-align:center;padding:21px 8px;font-size:13px}.shortcut svg{display:block;width:23px;height:23px;margin:0 auto 10px;color:#7c94ac;fill:currentColor}.check-item{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #f1f1f1;font-size:13px;color:#606266}.check-item:last-child{border:0}.chart-row{display:flex;align-items:center;gap:14px;margin:17px 0;font-size:12px;color:#888}.chart-label{width:46px;flex:none}.chart-track{background:#f3f6f9;height:15px;flex:1;position:relative}.chart-bar{position:absolute;left:0;top:0;height:100%;background:#7eadd7;min-width:0}.chart-value{min-width:30px;text-align:right}.form-layout{max-width:720px;padding:25px}.form-row{display:grid;grid-template-columns:115px 1fr;gap:20px;align-items:start;margin-bottom:22px}.form-row>label{text-align:right;padding-top:9px}.form-row>.field>input,.form-row>.field>select{margin:0}.form-row .hint{font-size:12px;line-height:1.7;margin:7px 0 0;color:#999}.required{color:#f56c6c;margin-right:4px}.form-actions{margin-left:135px;display:flex;gap:10px}.inline-check{display:flex;align-items:center;gap:8px;min-height:36px}.inline-check input{margin:0}.toggle{display:flex;gap:12px;align-items:center}.category-list{max-width:650px}.category-row{display:flex;align-items:center;gap:12px;margin-bottom:11px}.category-row input{flex:1}.category-row>span{width:24px;text-align:center;color:#999;font-size:12px}.category-row button{font-size:12px}.placeholder-page{padding:70px 25px;text-align:center}.placeholder-page svg{width:44px;height:44px;fill:currentColor;color:#a9b0ba;margin-bottom:18px}.placeholder-page h2{font-size:17px;margin-bottom:12px;color:#606266}.placeholder-page p{font-size:13px;color:#9299a3;line-height:1.8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.form-grid label>input,.form-grid label>textarea,.form-grid label>select{margin-top:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:17px;border-top:1px solid #eee}dialog{border:1px solid #ddd;border-radius:4px;width:min(660px,calc(100% - 32px));padding:0;color:#444;box-shadow:0 5px 25px #0002}dialog::backdrop{background:#0006}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid #eee;margin:0}.dialog-heading h2{font-size:16px}.close-button{border:0;background:none;font-size:23px;padding:0 3px;color:#aaa}.dialog-heading .close-button:hover{background:none;color:#444}#editor-body,#detail-body{padding:23px}.detail-row{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid #eee;padding:12px 0;font-size:13px}.detail-row span:first-child{color:#999}.detail-row span:last-child{overflow-wrap:anywhere}.actions{display:flex;gap:10px;margin-top:22px}.mobile-only{display:none}footer{text-align:center;font-size:11px;color:#aaa;padding:17px}#toast{position:fixed;top:25px;left:50%;transform:translateX(-50%);background:#fff;box-shadow:0 3px 15px #0002;border:1px solid #dfe6ef;padding:12px 23px;border-radius:3px;color:#47647e;max-width:90%;z-index:100}.sidebar-collapsed #sidebar{transform:translateX(-234px)}.sidebar-collapsed .main-shell{margin-left:0}@media(max-width:1100px){.summary-cards{gap:10px}.summary-card{padding:14px;gap:10px}.summary-icon{width:38px;height:38px}.home-columns{grid-template-columns:1fr}.topbar{padding:0 16px}main{padding:18px}}@media(max-width:760px){#sidebar{box-shadow:3px 0 15px #0003}.main-shell{margin-left:0}.topbar>span{font-size:12px}.topbar-user{font-size:11px;gap:5px}.summary-cards{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr;gap:8px}.form-row>label{text-align:left;padding:0}.form-actions{margin-left:0}.form-layout{padding:18px}.form-grid{grid-template-columns:1fr}.filters{gap:12px}.filters label input,.filters label select,.filters .keyword input{width:100%}.filters label{flex:1;min-width:130px}.shortcuts{grid-template-columns:repeat(2,1fr)}main{padding:14px}.breadcrumb{padding:0 16px}.topbar{gap:12px}.pagination{justify-content:center}}
