*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;background:#f0f2f5;font-size:14px;color:#333}a{text-decoration:none;color:inherit}button{cursor:pointer}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#036,#0a4d8c)}.login-box{width:360px;background:#fff;padding:40px 34px;border-radius:8px;box-shadow:0 10px 30px #0003}.login-box h1{font-size:22px;color:#036;text-align:center;margin-bottom:6px}.login-box .sub{text-align:center;color:#999;font-size:13px;margin-bottom:24px}.login-box .f{margin-bottom:16px}.login-box label{display:block;margin-bottom:6px;color:#555;font-size:13px}.login-box input{width:100%;height:40px;border:1px solid #ddd;border-radius:4px;padding:0 12px;font-size:14px;outline:none}.login-box input:focus{border-color:#036}.login-box .btn{width:100%;height:42px;background:#036;color:#fff;border:none;border-radius:4px;font-size:15px;margin-top:8px}.login-box .btn:hover{background:#00407d}.login-box .err{color:#e33;font-size:13px;margin-top:10px;text-align:center}.layout{display:flex;min-height:100vh}.sidebar{width:200px;background:#036;color:#fff;padding-top:20px;flex-shrink:0}.sidebar .brand{padding:0 20px 20px;font-size:17px;font-weight:700;border-bottom:1px solid #1a5a9e;display:flex;align-items:center;gap:8px}.sidebar .brand-logo{width:28px;height:28px;display:block}.sidebar .brand-text{color:#fff}.sidebar .brand span{color:#ffd166}.sidebar .menu a{display:block;padding:13px 22px;color:#cfe0f2}.sidebar .menu a:hover,.sidebar .menu a.router-link-active{background:#00488f;color:#fff}.main{flex:1;padding:20px}.card{background:#fff;border-radius:6px;padding:20px;box-shadow:0 1px 4px #0000000d;margin-bottom:16px}.card h2{font-size:16px;color:#036;margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}.stat-card{background:#fff;border-radius:6px;padding:16px;text-align:center;box-shadow:0 1px 4px #0000000d}.stat-card .num{font-size:26px;font-weight:700;color:#036}.stat-card .lbl{color:#888;font-size:13px;margin-top:4px}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid #f0f0f0;text-align:left;font-size:13px}th{background:#f8fafb;color:#555;font-weight:600}tr:hover td{background:#fafcfe}.btn{padding:6px 14px;border:1px solid #ddd;background:#fff;border-radius:4px;font-size:13px;margin-right:6px}.btn-primary{background:#036;color:#fff;border-color:#036}.btn-danger{color:#e33;border-color:#ecc}.btn-primary:hover{background:#00407d}.form-row{margin-bottom:14px}.form-row label{display:block;margin-bottom:5px;color:#555;font-size:13px}.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:8px 10px;font-size:13px;outline:none}.form-row textarea{min-height:120px;font-family:inherit}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#036}.toolbar{display:flex;gap:10px;margin-bottom:16px;align-items:center}.toolbar input{height:36px;border:1px solid #ddd;border-radius:4px;padding:0 10px;width:300px}.pagination{margin-top:14px;display:flex;gap:6px}.pagination button{padding:5px 11px;border:1px solid #ddd;background:#fff;border-radius:3px;font-size:13px}.pagination button.active{background:#036;color:#fff;border-color:#036}.status-pill{padding:2px 8px;border-radius:3px;font-size:12px}.status-published{background:#e6f7e6;color:#2a7d2a}.status-draft{background:#fff3e0;color:#c77700}.empty-row{text-align:center;color:#aaa;padding:30px}
