:root{font-family:PingFang SC,Noto Sans SC,sans-serif;color:#0f172a;background:linear-gradient(180deg,#eef4ff,#f8fbff 55%,#f2f7ff)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef4ff,#f8fbff 55%,#f2f7ff)}#app{width:100%}.m-layout{padding:12px 12px 22px;min-height:100vh}.m-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.m-header h1{margin:0;font-size:18px}.m-header small{color:#607197}.m-nav{display:flex;gap:8px;overflow:auto;margin-bottom:10px;padding-bottom:2px}.m-nav button{white-space:nowrap;flex:0 0 auto;background:#eaf2ff;color:#1f458f;border:1px solid #d8e6ff;box-shadow:0 2px 8px #1f458f14}.m-nav button.active{background:#2f6ff3;color:#fff}.message{background:#eaf2ff;border:1px solid #d4e4ff;border-radius:10px;padding:10px 12px;margin-bottom:10px;color:#1f458f}.card{border:1px solid #dde8ff;border-radius:14px;background:#fff;padding:14px;margin-bottom:12px;box-shadow:0 8px 24px #1c386e14}.m-login{max-width:480px;margin:50px auto 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.section-head h3,.section-head h4{margin:0}.m-label{display:block;font-size:13px;color:#334d7b;margin:8px 0 4px;font-weight:600}input,select,textarea{width:100%;border:1px solid #d6e2f7;border-radius:12px;padding:10px 12px;margin-bottom:8px;background:#fff;font-size:15px;color:#12203b}input,select{min-height:44px}input[type=datetime-local]{text-align:center;font-variant-numeric:tabular-nums}input[type=datetime-local]::-webkit-date-and-time-value{text-align:center}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#3f5e96 50%),linear-gradient(135deg,#3f5e96 50%,transparent 50%),linear-gradient(to right,#dbe6fb,#dbe6fb);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px),calc(100% - 36px) 50%;background-size:6px 6px,6px 6px,1px 22px;background-repeat:no-repeat;padding-right:44px}select:focus,input:focus,textarea:focus{outline:0;border-color:#7da6ff;box-shadow:0 0 0 3px #2f6ff31f}input[type=checkbox]{width:22px;height:22px;margin:0;accent-color:#2f6ff3;border-radius:6px}textarea{resize:vertical;min-height:72px}button{border:0;border-radius:12px;background:#2f6ff3;color:#fff;min-height:42px;padding:0 14px;font-size:14px;font-weight:600;transition:transform .08s ease,filter .12s ease}button:active:not(:disabled){transform:translateY(1px);filter:brightness(.98)}button:disabled{opacity:.6}button.warn{background:#f59e0b}button.danger{background:#dc3f4f}button.subtle{background:#6b8bd6}.btn-logout{background:#dc3f4f}.m-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.m-actions>button{flex:1 1 120px}.m-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.m-stats{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px}.m-stats>div{background:linear-gradient(180deg,#f7faff,#eef4ff);border:1px solid #ccddff;border-radius:8px;padding:8px;text-align:center;font-size:13px;font-weight:600}.m-check-all{display:flex;align-items:center;gap:8px;color:#2b4675;font-size:14px;margin:8px 0;padding:8px 10px;background:#f4f8ff;border:1px solid #d9e5ff;border-radius:10px}.m-list{display:grid;gap:8px}.m-item{border:1px solid #dce8ff;border-radius:12px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:8px;background:linear-gradient(180deg,#fff,#f8fbff)}.m-item-main{min-width:0}.m-item-actions{grid-column:1 / span 2;display:flex;flex-wrap:wrap;gap:8px}.m-item-actions>button{flex:1 1 110px}.m-title{font-weight:600;margin-bottom:4px}.m-meta{font-size:12px;color:#62759e;margin-bottom:2px}.m-topic-stats{display:flex;flex-wrap:wrap;gap:8px 12px}.m-empty{font-size:13px;color:#62759e;padding:10px;border:1px dashed #cfdefc;border-radius:10px;background:#f9fbff}.m-check{padding-top:2px}.avatar-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;border:1px solid #d6e2f7}.topic-help{border:1px solid #cfe0ff;background:#f4f8ff;border-radius:10px;padding:10px;margin-bottom:8px;color:#2a426e;font-size:12px;line-height:1.55}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px;margin-top:10px;padding:10px 8px;border:1px solid #dbe7ff;border-radius:10px;background:#f9fbff}.pager label{display:inline-flex;align-items:center;gap:6px;color:#3b4f7d;font-size:13px;white-space:nowrap;order:1}.pager label select{width:86px;margin:0;min-height:36px;padding-left:12px;padding-right:28px;background-position:calc(100% - 14px) calc(50% - 3px),calc(100% - 8px) calc(50% - 3px),calc(100% - 24px) 50%;background-size:5px 5px,5px 5px,1px 18px}.pager>button{min-height:34px;padding:0 12px;border-radius:10px;font-size:13px}.pager>button:first-of-type{order:2}.pager>button:last-of-type{order:3}.pager span{color:#3b4f7d;font-size:12px;order:4;flex:0 0 100%;text-align:center;line-height:1.2}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:12px;z-index:1000}.modal-card{width:100%;max-width:760px;max-height:calc(100vh - 24px);background:#fff;border:1px solid #d6e2f7;border-radius:12px;padding:10px;overflow:hidden}.modal-body{overflow:auto;max-height:calc(100vh - 120px)}table{display:none}@media (min-width: 768px){.m-layout{max-width:860px;margin:0 auto}.m-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 420px){.m-grid{grid-template-columns:1fr}.m-stats{grid-template-columns:1fr 1fr}.m-stats>button{grid-column:1 / span 2}}
