*{box-sizing:border-box}
body{margin:0;background:#eef3f7;color:#2f3f4f;font:14px/1.6 Arial,"Microsoft YaHei",sans-serif}
a{color:#176fae;text-decoration:none}
a:hover{text-decoration:underline}
.la-shell{display:flex;min-height:100vh}
.la-sidebar{width:250px;background:#365f7d;color:#fff;flex:0 0 250px}
.la-brand{height:112px;display:flex;gap:14px;align-items:center;padding:22px 20px;background:#f7fbfe;color:#126294;border-right:1px solid #dde7ef}
.la-brand-mark{width:52px;height:52px;border:3px solid #1b7fbd;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}
.la-brand strong{display:block;font-size:22px;line-height:1.2}
.la-brand span{display:block;color:#6d7c89;margin-top:5px}
.la-nav{padding:12px 0 28px}
.la-nav-group{border-bottom:1px solid rgba(255,255,255,.07)}
.la-nav-title{width:100%;height:48px;border:0;background:#365f7d;color:#dbe9f2;text-align:left;padding:0 18px;font-size:15px;font-weight:700;cursor:pointer}
.la-nav-title:hover,.la-nav-group.open>.la-nav-title{background:#5e94c2;color:#fff}
.la-dot{display:inline-block;width:8px;height:8px;margin-right:10px;background:#c6d7e2;border-radius:50%}
.la-chevron{float:right;transform:rotate(0);transition:.15s}
.la-nav-group.open .la-chevron{transform:rotate(90deg)}
.la-nav-items{display:none;background:#5d91bd;padding:5px 0 9px}
.la-nav-group.open .la-nav-items{display:block}
.la-nav-items a{display:block;color:#fff;padding:9px 18px 9px 42px;border-left:3px solid transparent}
.la-nav-items a.active{background:#fff;color:#111;border-left-color:#111;text-decoration:none}
.la-main{flex:1;min-width:0}
.la-topbar{height:64px;background:#fff;border-bottom:1px solid #dde7ef;display:flex;align-items:center;justify-content:space-between;padding:0 22px}
.la-topbar strong{font-size:18px;color:#126294}
.la-topbar span{display:block;color:#7b8b99;font-size:12px}
.la-user{display:flex;align-items:center;gap:12px;color:#6b7785;white-space:nowrap}
.la-user b{color:#0f70ad}
.la-breadcrumb{margin:22px 22px 0;background:#f5f5f5;border:1px solid #e2e8ee;padding:14px 18px;color:#6d7781}
.la-alert{margin:14px 22px 0;padding:10px 14px;border:1px solid #b8d9f1;background:#eff8ff;color:#176fae}
.la-alert.error{border-color:#f2c5c5;background:#fff3f3;color:#a83232}
.la-alert.warning{border-color:#ecd69c;background:#fff9e8;color:#8a6417}
.la-content{padding:22px}
.la-panel{background:#fff;border:1px solid #dce5ed;margin-bottom:20px;min-width:0}
.la-panel-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6edf3;background:#fbfdff;padding:14px 18px}
.la-panel-head h2{margin:0;font-size:18px;color:#1f3f5a}
.la-panel-body{padding:18px}
.la-filter{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px 16px;align-items:end}
.la-filter label{display:block;font-weight:700;color:#425464}
.la-filter input,.la-filter select,.la-form input,.la-form select,.la-form textarea{width:100%;height:38px;border:1px solid #cfdbe5;padding:0 10px;background:#fff;color:#222}
.la-form textarea{height:78px;padding-top:8px}
.la-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin:0 0 12px}
.la-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid #1d7fbd;background:#1d7fbd;color:#fff;cursor:pointer;text-decoration:none;border-radius:2px}
.la-btn.secondary{background:#fff;color:#176fae}
.la-btn.ghost{border-color:#d5e0e8;background:#fff;color:#526272}
.la-btn:hover{text-decoration:none;filter:brightness(.97)}
.la-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e0e7ed;background:#fff;margin-bottom:20px}
.la-stat{padding:20px 24px;border-right:1px solid #e0e7ed}
.la-stat:last-child{border-right:0}
.la-stat strong{display:block;color:#1674b2;font-size:30px;line-height:1}
.la-stat span{display:block;margin-top:8px;color:#526272}
.la-table-wrap{overflow:auto;border:1px solid #e0e7ed;background:#fff}
.la-table{width:100%;border-collapse:collapse;min-width:880px}
.la-table th,.la-table td{border-bottom:1px solid #e7edf2;border-right:1px solid #edf2f6;padding:10px 12px;vertical-align:top}
.la-table th{background:#f6f8fa;color:#415566;font-weight:700;text-align:center;white-space:nowrap}
.la-table td{background:#fff}
.la-table tr:hover td{background:#fbfdff}
.la-book{display:flex;gap:14px;min-width:360px}
.la-cover{width:68px;height:92px;object-fit:cover;border:1px solid #e0e6ec;background:#f5f7f9}
.la-book h3{margin:0 0 5px;color:#126aa5;font-size:16px}
.la-book p{margin:2px 0;color:#5b6976}
.la-muted{color:#7d8994}
.la-tag{display:inline-block;padding:2px 8px;border:1px solid #b9d9ef;background:#edf8ff;color:#176fae;border-radius:10px;font-size:12px;white-space:nowrap}
.la-tag.gray{border-color:#d8dee4;background:#f5f7f9;color:#66727f}
.la-tag.green{border-color:#b7dec4;background:#effaf2;color:#287b42}
.la-pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:14px 0 0;flex-wrap:wrap}
.la-pagination span{margin-right:auto;color:#526272}
.la-pagination a,.la-pagination button{min-width:30px;height:30px;border:1px solid #d7e0e8;background:#fff;color:#176fae;text-align:center;padding:4px 8px}
.la-pagination a.active{background:#1d7fbd;color:#fff;border-color:#1d7fbd}
.la-pagination form{display:inline-flex;gap:4px;align-items:center}
.la-pagination input{width:48px;height:30px;border:1px solid #d7e0e8;text-align:center}
.la-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.la-two-col>*{min-width:0}
.la-side-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px}
.la-side-layout>*{min-width:0}
.la-category{background:#fff;border:1px solid #dce5ed}
.la-category a{display:flex;gap:10px;padding:9px 12px;border-bottom:1px solid #edf2f6;color:#30475b}
.la-category a.active{color:#176fae;font-weight:700}
.la-category b{width:22px;color:#111}
.la-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px 18px}
.la-form-grid .full{grid-column:1/-1}
@media (max-width:1100px){
  .la-sidebar{width:220px;flex-basis:220px}
  .la-filter{grid-template-columns:repeat(2,minmax(160px,1fr))}
  .la-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .la-side-layout{grid-template-columns:1fr}
}
