:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;color:#19283e;background:#f5f7fb;line-height:1.55;font-size:14px;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}
.shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:#172d50;color:#d3dded;min-height:100vh;padding:23px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:1px 8px 25px;color:white}.brand-icon{background:linear-gradient(145deg,#4c8cff,#1e63dd);height:38px;width:38px;display:grid;place-items:center;border-radius:11px;font-weight:800;font-size:18px}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:.4px}.brand small{font-size:10px;color:#a6b9d7;margin-top:3px;letter-spacing:1px}.nav-title{font-size:11px;color:#889dbb;letter-spacing:1.2px;margin:14px 11px 8px}.nav-item{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:9px;color:#c0d0e8;margin:2px 0;font-weight:500}.nav-item:hover{background:#294468;color:#fff}.nav-item.is-active{color:white;background:#3767b6;box-shadow:inset 3px 0 #77a9ff}.nav-icon{font-size:19px;min-width:21px;text-align:center}.side-bottom{margin-top:auto;border-top:1px solid #3b4c68;padding:19px 8px 3px;display:flex;align-items:center;gap:9px}.side-bottom strong,.side-bottom small{display:block}.side-bottom small{font-size:11px;color:#a9bbd0}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#4b72aa;color:white;flex:none}.link-button{border:0;background:none;color:#9dc5ff;margin-left:3px}.side-bottom form{margin-left:auto}
.main{min-width:0;display:flex;flex-direction:column}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #edf0f5;padding:0 36px}.top-label{color:#687b96;font-size:13px}.top-user{color:#596e88;display:flex;align-items:center;gap:8px;font-size:13px}.status-dot{width:7px;height:7px;background:#35b17d;border-radius:50%}.mobile-brand{display:none}.content{width:min(1210px,100%);padding:34px 38px 65px;margin:0 auto;flex:1}.footer{text-align:center;color:#9aabc1;font-size:12px;padding:16px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-heading h1{font-size:25px;letter-spacing:-.7px;margin:0;color:#1b304e;font-weight:750}.page-heading p{font-size:13px;color:#7c8da2;margin:7px 0 0}.page-heading>.btn{white-space:nowrap}
.card{background:#fff;border:1px solid #e8edf4;box-shadow:0 3px 15px rgba(26,54,97,.035);border-radius:13px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}.stat-card{background:#fff;display:flex;flex-direction:column;gap:11px;padding:24px 27px;border:1px solid #e8edf4;border-radius:13px;transition:transform .15s,box-shadow .15s}.stat-card:hover,.quick:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(28,67,122,.08)}.stat-card span{color:#7688a2;font-size:13px}.stat-card strong{font-size:34px;color:#213c67;line-height:1}.stat-card small{color:#3971c3;font-size:12px;margin-top:3px}.section-title{display:flex;justify-content:space-between;align-items:baseline;margin:27px 0 15px;gap:12px}.section-title h2,.card h2{font-size:16px;color:#223d5e;margin:0}.section-title p{font-size:12px;color:#8495aa;margin:0}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.quick{padding:24px 18px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;transition:all .16s}.quick strong{font-size:15px;margin-top:5px}.quick small{color:#8293a9;font-size:12px}.quick-ico{font-size:22px;display:grid;place-items:center;width:43px;height:43px;border-radius:12px}.quick-ico.blue{background:#e8f0ff;color:#347bda}.quick-ico.purple{background:#f0eaff;color:#8469c5}.quick-ico.orange{background:#fff0e2;color:#e38b43}.quick-ico.gray{background:#edf4f8;color:#547e9d}
.btn{border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;min-height:38px;padding:9px 16px;border:1px solid transparent;white-space:nowrap;transition:background .12s,color .12s}.btn.primary{background:#306cbe;color:#fff}.btn.primary:hover{background:#20599e}.btn.secondary{background:#edf4ff;color:#2964b6;border-color:#d8e6fb}.btn.secondary:hover{background:#e1eefe}.btn.ghost{background:#fff;border-color:#dfe5ee;color:#5f718a}.btn.ghost:hover{background:#f5f8fb}.btn.small{min-height:30px;padding:5px 12px;font-size:12px}.btn.wide{width:100%}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:650px;text-align:left}.table-wrap th{color:#70829d;background:#f9fbfe;font-weight:600;font-size:12px;white-space:nowrap}.table-wrap th,.table-wrap td{padding:14px 18px;border-bottom:1px solid #eef1f6}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover{background:#fbfcff}.table-toolbar{padding:17px 19px;display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #eef1f6}.table-toolbar span{font-size:12px;color:#899aae}.code-cell{color:#6e86a2;font-size:12px;white-space:nowrap}.table-link{font-weight:600;color:#306cbe}.table-link:hover{text-decoration:underline}.empty{text-align:center;padding:34px 16px!important;color:#90a0b4}.tag{display:inline-flex;padding:3px 9px;white-space:nowrap;border-radius:24px;font-size:11px;font-weight:600;background:#f2f5f9;color:#6b7c91}.tag.success{color:#148359;background:#e5f7ee}.tag.warn{color:#b16c16;background:#fff3df}.tag.danger{color:#b54455;background:#feeced}.tag.muted{color:#466a99;background:#eef4fc}
.filters{padding:20px;margin-bottom:20px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.filter-grid label,.search-tools label{display:flex;flex-direction:column;gap:7px;color:#6d7d92;font-size:12px}.filter-actions{display:flex;gap:8px;margin-top:17px}.field{display:flex;flex-direction:column;gap:8px;min-width:0;color:#52667f;font-size:13px;font-weight:600}.field>span{display:block}.field input,.field textarea,.field select,.filter-grid input,.filter-grid select,.search-tools input,.search-section-head select,.inline-row input,.field-config input,.field-config textarea,.search-input input{width:100%;min-width:0;border:1px solid #dfe6f0;background:#fff;color:#22364f;border-radius:8px;padding:10px 12px;outline:0;font-weight:400;box-shadow:0 1px 2px rgba(15,40,80,.025)}.field input:focus,.field textarea:focus,.field select:focus,.filter-grid input:focus,.filter-grid select:focus,.search-input input:focus{border-color:#6d9ee1;box-shadow:0 0 0 3px #e9f1ff}.field textarea{resize:vertical;line-height:1.65}.required{color:#d64d5d}.form-card{padding:28px 31px;max-width:980px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 23px}.full{grid-column:1/-1}.form-card .section-title{border-bottom:1px solid #eef1f5;padding-bottom:12px;margin-top:27px;margin-bottom:20px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;border-top:1px solid #eef1f5;padding-top:23px;margin-top:28px}.ai-box{border:1px solid #dbe7ff;border-radius:11px;background:linear-gradient(128deg,#f4f8ff,#fafcff);padding:21px;margin-bottom:23px}.ai-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:13px}.ai-top strong{font-size:14px;color:#254771}.ai-top small{margin-left:10px;font-size:12px;color:#7b93b1}.ai-symbol{font-size:18px;color:#5185e9;margin-right:8px}.ai-chip{background:#e7f0ff;color:#3975c4;padding:4px 9px;border-radius:20px;font-size:11px;height:25px;white-space:nowrap}.ai-input{border:1px solid #dce6f5;border-radius:8px;padding:12px 14px;resize:vertical;width:100%;line-height:1.65;outline:0}.ai-input:focus{border-color:#7badee}.ai-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:10px}.ai-status{color:#7c8da6;font-size:12px}.ai-status.success{color:#17855b}.ai-status.error{color:#bc4254}.hint{color:#8494a9;font-size:12px;line-height:1.7;margin:12px 0 0}.check{display:flex;gap:8px;align-items:center;font-size:12px;color:#6e8197;cursor:pointer}.check input{accent-color:#3475c9;flex:none}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:21px;align-items:start}.detail-card,.timeline-card{padding:25px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px;margin:0}.detail-grid>div{min-width:0;border-bottom:1px solid #eef1f5;padding-bottom:12px;overflow-wrap:anywhere}.detail-grid dt{color:#90a0b2;font-size:12px;margin-bottom:6px}.detail-grid dd{color:#253a54;margin:0;line-height:1.65}.timeline{padding:16px 0 0 5px}.event{padding:0 0 24px 24px;border-left:1px solid #dce6f2;position:relative}.event:last-child{border-left-color:transparent;padding-bottom:0}.event-dot{width:11px;height:11px;border-radius:100%;background:#568ad6;position:absolute;left:-6px;top:3px;border:3px solid #ecf3ff;box-sizing:content-box}.event strong,.event time{display:block}.event strong{font-size:13px;color:#314968}.event time{color:#a0acbb;font-size:11px;margin-top:4px}.event p{margin:8px 0 0;color:#667d98;font-size:12px;overflow-wrap:anywhere}.process-box{margin-top:27px;border-top:1px solid #e8edf4;padding-top:22px}.process-box h3{font-size:14px;margin:0 0 18px}.process-box .btn{margin-top:20px}.review-banner{padding:18px 23px;background:#f0f6ff;display:flex;justify-content:space-between;gap:10px;border-radius:13px 13px 0 0;color:#345b91}.review-banner span{font-size:12px}.preview-card{max-width:840px;overflow:hidden}.preview-card .detail-grid{padding:25px}.preview-card .form-actions{margin:0 25px 25px}.preview-card .form-actions form{display:inline-flex}
.search-hero{padding:22px;margin-bottom:28px}.search-input{display:flex;align-items:center;gap:12px;border:1px solid #dce4ef;border-radius:10px;padding-left:15px;font-size:22px;color:#7390b3}.search-input input{border:0!important;box-shadow:none!important;padding:15px 10px;font-size:15px}.search-tools{display:flex;justify-content:flex-end;align-items:end;gap:12px;margin-top:15px}.search-tools label{flex-direction:row;align-items:center;white-space:nowrap}.search-tools input{width:150px}.search-results{margin-bottom:30px}.search-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.search-section-head h2{margin:0;font-size:17px}.count{color:#8a9db3;font-size:12px;font-weight:400}.search-section-head select{width:135px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;gap:16px;border-bottom:1px solid #edf1f7}.result-item:hover{background:#f9fbff}.result-item:last-child{border-bottom:none}.result-item strong,.result-item small{display:block}.result-item strong{font-size:14px}.result-item small{margin-top:4px;font-size:11px;color:#8b9cb2}.chevron{font-size:25px;color:#acbed2}.more-link{display:block;text-align:right;color:#326fbd;font-size:12px;margin-top:11px}
.tabs{display:flex;gap:8px;border-bottom:1px solid #e4eaf2;margin-bottom:20px;overflow-x:auto}.tab{white-space:nowrap;padding:11px 20px;color:#71849b;border-bottom:3px solid transparent}.tab.active{border-color:#3476c8;color:#2665b6;font-weight:700}.settings-card{padding:23px 24px;margin-bottom:20px}.settings-card .card-head{margin-bottom:13px}.settings-card .card-head small{color:#8798ac}.inline-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f0f3f7}.inline-row input{max-width:300px}.inline-row input[name="grade"]{max-width:160px}.inline-row .check{white-space:nowrap}.inline-row button{margin-left:auto}.new-row{border:0;background:#f9fbfe;padding:13px;border-radius:8px;margin-top:10px}.field-config{display:grid;grid-template-columns:150px minmax(160px,2fr) 90px 58px 58px 65px;gap:11px;align-items:center;padding:14px 0;border-bottom:1px solid #eef1f5}.field-config-name code{font-size:11px;color:#577797;background:#eef4f9;border-radius:4px;padding:4px}.field-config-name small{display:block;color:#94a5b7;font-size:10px;margin-top:6px}.field-config label{font-size:11px;color:#7c8fa5}.field-config input{padding:7px 8px;margin-top:3px}.field-config .wide-row{grid-column:2/-1}.field-config .check input{width:auto;margin:0}.divider-line{height:1px;background:#e8edf4;margin:23px 0}.settings-card h3{font-size:14px}.permissions-grid,.role-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.permissions-grid .check{font-size:13px;padding:8px 0}.role-option{background:#f8fafd;border:1px solid #e4eaf3;border-radius:8px;padding:11px;display:grid;grid-template-columns:18px 1fr;gap:3px 8px;cursor:pointer}.role-option input{grid-row:span 2;accent-color:#3575c6}.role-option strong{font-size:12px}.role-option small{font-size:10px;color:#95a4b6}.error-panel{padding:30px}.error-panel p{color:#7c8da3}.alert{padding:14px 17px;background:#e8f7ee;color:#287350;border:1px solid #cbead8;border-radius:8px;margin-bottom:19px}.alert.warn{background:#fff6e5;border-color:#f9dfac;color:#98712a}.alert.error{background:#fff0f1;border-color:#ffdadb;color:#a43b44}
.login-main{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 22% 15%,#daeaff,transparent 39%),linear-gradient(130deg,#ecf3ff,#f8fafc);padding:20px}.login-card{background:white;width:min(420px,100%);box-shadow:0 22px 80px rgba(24,59,112,.11);padding:38px 40px;border-radius:17px;text-align:center}.login-logo{margin:0 auto 17px;width:57px;height:57px;background:#306fbc;color:white;display:grid;place-items:center;font-size:25px;font-weight:700;border-radius:16px}.login-title{font-size:22px;font-weight:750}.login-card>p{color:#8b9bb0;margin:5px 0 29px}.login-card form{text-align:left;display:flex;flex-direction:column;gap:20px}.login-card .btn{margin-top:7px;height:44px}.login-foot{color:#a5b1c2;font-size:12px;margin-top:28px}
@media(max-width:1150px){.content{padding:28px 24px}.sidebar{width:220px}.shell{grid-template-columns:220px minmax(0,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}.field-config{grid-template-columns:110px 1fr 80px 50px 50px 60px}}
@media(max-width:820px){.shell{display:block}.sidebar{position:static;height:auto;min-height:0;padding:12px 14px;display:flex;flex-direction:row;align-items:center;gap:4px;flex-wrap:wrap}.sidebar .brand{padding:2px 10px 8px 0;margin-right:auto}.brand small,.nav-title,.side-bottom{display:none}.sidebar .nav-item{padding:8px 12px;font-size:12px}.nav-icon{display:none}.topbar{height:42px;padding:0 20px}.top-label{display:none}.mobile-brand{display:block;font-size:12px;color:#73859d}.content{padding:25px 18px}.detail-layout{grid-template-columns:1fr}.stat-grid{gap:9px}.stat-card{padding:19px}.stat-card strong{font-size:27px}.search-tools{flex-wrap:wrap}.form-card{padding:20px}}
@media(max-width:560px){.sidebar{padding:10px;gap:4px}.sidebar .brand{width:100%;padding:3px 8px 9px}.brand-icon{width:31px;height:31px;font-size:15px}.brand strong{font-size:14px}.sidebar .nav-item{font-size:12px;padding:8px 9px;margin:0;border-radius:7px}.sidebar .nav-item.is-active{box-shadow:none}.content{padding:18px 12px 40px}.page-heading{align-items:flex-start;margin-bottom:18px;gap:9px}.page-heading h1{font-size:21px}.page-heading p{font-size:12px}.page-heading>.btn{font-size:12px;padding:8px 10px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:7px}.stat-card{padding:14px 10px;gap:9px}.stat-card strong{font-size:23px}.stat-card span{font-size:11px}.stat-card small{font-size:10px}.quick-grid{grid-template-columns:repeat(2,1fr);gap:9px}.quick{padding:15px 12px}.quick small{font-size:10px}.quick strong{font-size:13px}.quick-ico{height:35px;width:35px;font-size:19px}.section-title{display:block}.section-title p{margin-top:4px}.filter-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.filters,.form-card,.settings-card{padding:15px}.form-card .full,.settings-card .full{grid-column:1}.ai-top small{display:block;margin:3px 0 0 26px}.ai-box{padding:14px}.ai-chip{font-size:10px}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}.table-wrap{margin:0}.detail-card,.timeline-card{padding:18px}.search-tools{justify-content:stretch}.search-tools label{width:calc(50% - 6px);font-size:10px}.search-tools input{width:100%}.search-tools .btn{width:100%}.search-input input{font-size:13px}.inline-row{flex-wrap:wrap}.inline-row input{width:100%;max-width:none!important}.inline-row button{margin-left:0}.field-config{grid-template-columns:1fr 1fr;gap:8px}.field-config .field-config-name{grid-column:1/-1}.field-config .wide-row{grid-column:1/-1}.permissions-grid,.role-choices{grid-template-columns:repeat(2,1fr)}.preview-card .detail-grid{padding:17px}.review-banner{padding:14px}.login-card{padding:28px 23px}.result-item{padding:14px 13px}.result-item .tag{font-size:10px}}

.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 0;color:#8193ab;font-size:12px}
